:root{--color-primary: #f0e8d8;--color-secondary: #a09080;--color-tertiary: #2a2520;--color-tertiary-hover:#332d28;--color-border: #3a3228;--color-border-light: #342e28;--color-surface: #221e1a;--color-bg: #1a1612;--color-gold: #d4a853;--color-gold-muted: #b8882e;--color-gold-text: #1a1510;--color-brand: #5b9cf6;--color-brand-hover: #3b7dd8;--color-brand-light: rgba(91, 156, 246, .15);--font-base: "Roboto", sans-serif;--clr-gold: var(--color-gold);--clr-border: var(--color-border);--clr-surface-1: var(--color-surface);--clr-surface-2: var(--color-tertiary);--clr-text-1: var(--color-primary);--clr-text-2: var(--color-secondary);--clr-text-3: var(--color-secondary);color-scheme:dark}@media(prefers-color-scheme:light){:root:not([data-theme=dark]){--color-primary: #1a1a1a;--color-secondary: #555;--color-tertiary: #f5f5f5;--color-tertiary-hover:#e8e8e8;--color-border: #e0e0e0;--color-border-light: #ddd;--color-surface: #fafafa;--color-bg: #ffffff;--color-gold: #b8882e;--color-gold-muted: #9e7429;--color-gold-text: #ffffff;--color-brand: #2563eb;--color-brand-hover: #1d4ed8;--color-brand-light: rgba(37, 99, 235, .12);color-scheme:light}}[data-theme=light]{--color-primary: #1a1a1a;--color-secondary: #555;--color-tertiary: #f5f5f5;--color-tertiary-hover:#e8e8e8;--color-border: #e0e0e0;--color-border-light: #ddd;--color-surface: #fafafa;--color-bg: #ffffff;--color-gold: #b8882e;--color-gold-muted: #9e7429;--color-gold-text: #ffffff;--color-brand: #2563eb;--color-brand-hover: #1d4ed8;--color-brand-light: rgba(37, 99, 235, .12);color-scheme:light}[data-theme=dark]{--color-primary: #f0e8d8;--color-secondary: #a09080;--color-tertiary: #2a2520;--color-tertiary-hover:#332d28;--color-border: #3a3228;--color-border-light: #342e28;--color-surface: #221e1a;--color-bg: #1a1612;--color-gold: #d4a853;--color-gold-muted: #b8882e;--color-gold-text: #1a1510;--color-brand: #5b9cf6;--color-brand-hover: #3b7dd8;--color-brand-light: rgba(91, 156, 246, .15);color-scheme:dark}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-base);background:var(--color-bg);color:var(--color-primary);min-height:100vh}.puzzles-page__hero{background:var(--color-surface);padding:2.5rem 1.5rem 2rem;text-align:center;border-bottom:2px solid var(--color-gold)}.puzzles-page__hero h1{font-size:clamp(1.5rem,4vw,2.2rem);font-weight:900;color:var(--color-gold);letter-spacing:-.02em;margin-bottom:.5rem}.puzzles-page__hero p{color:var(--color-secondary);font-size:1rem;max-width:520px;margin:0 auto}.puzzles-page__content{max-width:1100px;margin:0 auto;padding:2rem 1.25rem 4rem;width:100%}.puzzles-page__status{text-align:center;color:var(--color-secondary);padding:3rem 0;font-size:1rem}.puzzles-page__error{text-align:center;color:#ff6b6b;padding:3rem 0}.puzzles-page__filters{display:flex;flex-wrap:wrap;gap:1rem 2rem;margin-bottom:.75rem}.filter-group{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.filter-group__label{font-size:.75rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--color-secondary);flex-shrink:0}.filter-group__pills{display:flex;flex-wrap:wrap;gap:.375rem}.filter-pill{font-family:inherit;font-size:.78rem;font-weight:600;padding:3px 12px;border-radius:999px;border:1px solid var(--color-border);background:transparent;color:var(--color-secondary);cursor:pointer;transition:border-color .12s,color .12s,background .12s;white-space:nowrap}.filter-pill:hover{border-color:var(--color-gold-muted);color:var(--color-primary)}.filter-pill--active{border-color:var(--color-gold);color:var(--color-gold);background:#d4a85314}.filter-pill--reset{margin-top:1rem;border-color:var(--color-border);color:var(--color-secondary)}.puzzles-page__count{font-size:.8rem;color:var(--color-secondary);margin-bottom:1.25rem}.puzzles-page__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1.5rem}@media(max-width:479px){.puzzles-page__grid{grid-template-columns:repeat(2,1fr);gap:.75rem}}.puzzle-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;overflow:hidden;cursor:pointer;text-decoration:none;color:inherit;display:flex;flex-direction:column;transition:border-color .15s,box-shadow .15s,transform .1s}.puzzle-card:hover{border-color:var(--color-gold-muted);box-shadow:0 4px 16px #0000004d;transform:translateY(-2px)}.puzzle-card__board-wrap{aspect-ratio:1 / 1;background:var(--color-tertiary);overflow:hidden;position:relative}.puzzle-card__board{width:100%;height:100%;object-fit:cover;display:block}.puzzle-card__info{padding:.75rem .875rem}.puzzle-card__difficulty-badge{position:absolute;top:6px;left:6px;background:#000000a6;color:var(--color-gold);font-size:.68rem;font-weight:700;padding:2px 6px;border-radius:4px;letter-spacing:.03em;pointer-events:none}.puzzle-card__title{font-size:.88rem;font-weight:600;color:var(--color-primary);line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.puzzle-card__tag{font-size:.72rem;color:var(--color-secondary);margin-top:.25rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.puzzles-page__empty{text-align:center;color:var(--color-secondary);padding:4rem 0}.puzzles-page__empty p{font-size:1rem;margin-bottom:.5rem}.puzzle-detail__centered{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 1.25rem;gap:1rem}.puzzle-detail{display:flex;flex-direction:row;gap:2.5rem;padding:2.5rem 1.25rem 4rem;max-width:760px;margin:0 auto;width:100%;align-items:flex-start}.puzzle-detail__board-col{flex-shrink:0}.puzzle-detail__board{display:block;border-radius:6px;border:1px solid var(--color-border)}.puzzle-detail__board .board{--board-size: 360px}.puzzle-detail__info-col{display:flex;flex-direction:column;gap:1.5rem;min-width:0}.puzzle-detail__title{font-size:clamp(1.25rem,3vw,1.75rem);font-weight:700;color:var(--color-gold);line-height:1.3}.puzzle-detail__difficulty{font-size:.8rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--color-gold-muted)}.puzzle-detail__description{font-size:.95rem;color:var(--color-secondary);line-height:1.6}.puzzle-detail__tags{display:flex;flex-wrap:wrap;gap:.5rem}.puzzle-detail__tag{font-size:.75rem;font-weight:600;background:var(--color-tertiary);color:var(--color-secondary);border:1px solid var(--color-border);border-radius:4px;padding:2px 8px}.puzzle-detail__actions{display:flex;flex-direction:column;gap:.75rem}.puzzle-detail__btn{display:flex;align-items:center;gap:.625rem;padding:.75rem 1.25rem;border-radius:8px;font-size:.95rem;font-weight:600;cursor:pointer;text-decoration:none;border:none;transition:background .15s,color .15s,border-color .15s;font-family:inherit}.puzzle-detail__btn--primary{background:var(--color-gold);color:#1a1612}.puzzle-detail__btn--primary:hover{background:var(--color-gold-muted)}.puzzle-detail__btn--secondary{background:var(--color-tertiary);color:var(--color-primary);border:1px solid var(--color-border)}.puzzle-detail__btn--secondary:hover{background:var(--color-tertiary-hover)}.puzzle-detail__btn--ghost{background:transparent;color:var(--color-secondary);border:1px solid var(--color-border)}.puzzle-detail__btn--ghost:hover{color:var(--color-primary);border-color:var(--color-secondary)}.puzzle-detail__related{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1.5rem;padding-top:1.25rem;border-top:1px solid var(--color-border)}.puzzle-detail__back{color:var(--color-secondary);text-decoration:none;font-size:.875rem;transition:color .15s}.puzzle-detail__back:hover{color:var(--color-primary)}@media(max-width:600px){.puzzle-detail{flex-direction:column;align-items:center;gap:1.5rem;padding:1.5rem 1rem 3rem}.puzzle-detail__board .board{--board-size: min(320px, calc(100vw - 2rem) )}}
