html,body{margin:0;padding:0;background:var(--g-bg);color:var(--g-ink);font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;font-size:18px;line-height:1.5}.g-header{background:var(--g-surface);border-bottom:1px solid var(--g-line)}.g-header-inner{max-width:680px;margin:0 auto;padding:12px 18px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:8px}.g-header-side{display:flex;align-items:center;gap:8px}.g-header-left{justify-content:flex-start}.g-header-right{justify-content:flex-end;position:relative}.g-header-date{color:var(--g-ink-soft);font-size:.95rem}.g-wordmark{margin:0;font-size:1.5rem;font-weight:800;letter-spacing:.5px;text-align:center;color:var(--g-ink)}.g-wordmark-mark{color:var(--g-accent)}.g-wordmark a{color:inherit;text-decoration:none}.g-icon-btn{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;border:1px solid var(--g-line);border-radius:10px;background:var(--g-surface);color:var(--g-ink);font-size:1.2rem;cursor:pointer}.g-icon-btn:hover{background:var(--g-accent-soft)}.g-icon-btn:focus-visible{outline:3px solid var(--g-focus);outline-offset:2px}.g-btn{min-height:48px;padding:12px 22px;font-size:1.05rem;font-weight:700;border:1px solid var(--g-line);border-radius:10px;background:var(--g-surface);color:var(--g-ink);cursor:pointer;text-decoration:none}.g-btn:hover{background:var(--g-accent-soft)}.g-btn:focus-visible{outline:3px solid var(--g-focus);outline-offset:2px}.g-btn[disabled]{opacity:.6;cursor:default}.g-btn-primary{background:var(--g-accent);color:var(--g-accent-ink);border-color:var(--g-accent)}.g-btn-primary:hover{background:var(--g-accent-hover)}.g-toast{position:fixed;left:50%;bottom:26px;transform:translate(-50%) translateY(12px);background:var(--g-toast-bg);color:var(--g-toast-ink);padding:10px 18px;border-radius:999px;font-size:.95rem;box-shadow:0 8px 24px #00000059;opacity:0;transition:opacity .2s ease,transform .2s ease;z-index:2147483647}.g-toast-in{opacity:1;transform:translate(-50%) translateY(0)}.g-menu{position:absolute;top:calc(100% + 6px);right:0;min-width:13rem;background:var(--g-surface);border:1px solid var(--g-line);border-radius:12px;box-shadow:0 12px 32px #0000002e;padding:6px;z-index:2147483646}.g-menu[hidden]{display:none}.g-menu-item{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;min-height:44px;padding:8px 12px;border:none;border-radius:8px;background:transparent;color:var(--g-ink);font:inherit;font-size:1rem;text-align:left;text-decoration:none;cursor:pointer}.g-menu-item:hover{background:var(--g-accent-soft)}.g-menu-item:focus-visible{outline:3px solid var(--g-focus);outline-offset:-2px}.g-menu-label{font-weight:600}.g-menu-state{color:var(--g-ink-soft);font-size:.9rem;font-weight:700}.g-menu-separator{height:1px;margin:6px;background:var(--g-line)}.g-modal-backdrop{position:fixed;inset:0;background:#0a081299;display:flex;align-items:flex-start;justify-content:center;overflow-y:auto;padding:16px;z-index:2147483647;overscroll-behavior:contain}html.g-scroll-locked{overflow:hidden;padding-right:var(--g-scrollbar-pad, 0)}.g-modal{position:relative;margin:auto;background:var(--g-surface);color:var(--g-ink);border:1px solid var(--g-line);border-radius:var(--g-radius);padding:26px 24px 22px;max-width:24rem;width:100%;box-shadow:0 16px 48px #00000047;text-align:center}.g-modal-title{margin:0 0 10px;font-size:1.4rem}.g-modal-summary{margin:0 0 18px;font-size:1.05rem;line-height:1.5}.g-modal-actions{display:flex;gap:10px;justify-content:space-between}.g-help-sketch{display:flex;align-items:center;justify-content:center;gap:10px;min-height:3.4rem;margin:4px 0 12px}.g-help-sketch[hidden]{display:none}.g-help-close{position:absolute;top:8px;right:8px;width:44px;height:44px;border:none;background:transparent;color:var(--g-ink-soft);font-size:1.6rem;line-height:1;border-radius:8px;cursor:pointer}.g-help-close:hover{color:var(--g-ink);background:var(--g-accent-soft)}.g-help-close:focus-visible{outline:3px solid var(--g-focus);outline-offset:2px}.g-help-dots{display:flex;justify-content:center;gap:8px;margin:0 0 18px}.g-help-dot{width:9px;height:9px;border-radius:50%;background:var(--g-line)}.g-help-dot-on{background:var(--g-accent)}@media (prefers-reduced-motion: reduce){.g-toast{transition:none}}@media (max-width: 480px){body{font-size:17px}}.g-modal.g-account{max-width:30rem;padding:32px 32px 28px}.g-account .g-modal-title{padding:0 30px}.g-account .g-modal-summary{max-width:26rem;margin-right:auto;margin-left:auto}.g-account-form{display:flex;flex-direction:column;gap:8px;margin:16px 0 4px}.g-account-label{font-weight:600;font-size:.95rem}.g-account-input{width:100%;min-height:56px;font:inherit;font-size:1.05rem;padding:12px 14px;border:1px solid var(--g-line);border-radius:var(--g-radius);background:var(--g-bg);color:var(--g-ink);min-width:0}.g-account-input:focus-visible{outline:3px solid var(--g-focus);outline-offset:1px}.g-account-code{min-height:64px;letter-spacing:.35em;font-size:1.4rem;text-align:center}.g-account-error{color:var(--g-error, var(--g-accent));min-height:1.2em;margin:4px 0 0;font-weight:600}.g-account-error:empty{display:none}.g-account-google{display:flex;justify-content:center;margin:14px 0 2px;min-height:44px}.g-account-divider{display:flex;align-items:center;gap:10px;margin:10px 0 2px;color:var(--g-ink-soft);font-size:.9rem}.g-account-divider:before,.g-account-divider:after{content:"";flex:1;border-top:1px solid var(--g-line)}.g-account-google[hidden],.g-account-divider[hidden]{display:none}.g-account-actions{display:grid;gap:10px;margin-top:14px}.g-account-actions-email{grid-template-columns:minmax(0,1fr)}.g-account-actions-code{grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,.9fr)}.g-account-actions .g-btn{width:100%;min-width:0;padding-right:14px;padding-left:14px;white-space:nowrap}@media (max-width: 560px){.g-modal.g-account{padding:28px 18px 22px}.g-account .g-modal-title{padding:0 24px}.g-account-actions-code{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.g-account-actions-code .g-account-submit{grid-column:1 / -1}}.g-account-panel{margin-top:6px}.g-account-subhead{font-weight:600;font-size:.95rem;color:var(--g-ink-soft);margin:6px 0 4px}.g-account-methods{margin-bottom:12px}.g-account-method{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:8px 0;border-top:1px solid var(--g-line)}.g-account-method-name{flex:1;min-width:0}.g-account-method-confirm .g-account-method-name{font-size:.95rem;color:var(--g-ink-soft)}.g-btn-small{padding:4px 12px;font-size:.9rem}.g-btn-danger{background:var(--g-error, #b3261e);color:#fff;border-color:var(--g-error, #b3261e)}.g-btn-danger:hover:not(:disabled){filter:brightness(1.08)}.g-btn-danger:disabled{opacity:.5;cursor:not-allowed}.g-account-danger-note{margin:4px 0 12px;padding:10px 12px;font-weight:600;color:var(--g-error, #b3261e);border:1px solid var(--g-error, #b3261e);border-radius:var(--g-radius);background:color-mix(in srgb,var(--g-error, #b3261e) 8%,transparent)}:root{--ink: #f4f5ff;--muted: #a9adc5;--paper: #141728;--white: #f9f9ff;--line: #373c58;--brand: #9298ff;--brand-soft: #202443;--lime: #d2e968;--coral: #ed6b4d;--red: #f05e64;--orange: #f49345;--green: #48aa6b;--blue: #56a4e5;--violet: #b17ae0;--gold: #dcae39;--accent: var(--blue);--accent-soft: #202b3d;--surface: #1c2035;--surface-raised: #23283f;--surface-soft: #2b3048;--field: #181c2f;--footer: #0d1020;--on-bright: #20233f;--on-accent: #111426;--error: #ff898d;--success: #69cf8c;--search-outline-0: #ff7378;--search-outline-1: #ffad5c;--search-outline-2: #e6cf52;--search-outline-3: #5bd18a;--search-outline-4: #4fc7c2;--search-outline-5: #5db2ff;--search-outline-6: #8790ff;--search-outline-7: #bd7af0;--search-outline-8: #f06ec5;--search-outline-9: #e8906e;--g-bg: var(--paper);--g-surface: var(--surface-raised);--g-ink: var(--ink);--g-ink-soft: var(--muted);--g-accent: var(--brand);--g-accent-ink: #111426;--g-accent-soft: var(--brand-soft);--g-accent-hover: #a8adff;--g-line: var(--line);--g-focus: var(--brand);--g-radius: 12px;--g-toast-bg: #f4f5ff;--g-toast-ink: #171a2c;--g-error: var(--error);color-scheme:dark;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}html[data-theme=light]{--ink: #20233f;--muted: #62657d;--paper: #f7f3ea;--line: #dddcd8;--brand: #5157c7;--brand-soft: #e9e6ff;--red: #d83b3b;--orange: #dc741d;--green: #26834a;--blue: #176db2;--violet: #7d3ba8;--gold: #d69c14;--accent-soft: #e8f2fa;--surface: #fff;--surface-raised: #fff;--surface-soft: #edf0f3;--field: #fff;--footer: #20233f;--error: #b32929;--success: #18743d;--search-outline-0: #c52f3a;--search-outline-1: #b65a00;--search-outline-2: #8a6a00;--search-outline-3: #14743b;--search-outline-4: #00736e;--search-outline-5: #0c64b5;--search-outline-6: #4a54c4;--search-outline-7: #7c35a6;--search-outline-8: #a92c78;--search-outline-9: #a8492b;--g-accent-ink: #fff;--g-accent-hover: #454bb7;--g-toast-bg: #20233f;--g-toast-ink: #fff;--on-accent: #fff;color-scheme:light}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--paper);font-size:17px;line-height:1.55}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid var(--brand);outline-offset:3px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.site-header{min-height:76px;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:12px clamp(18px,4vw,64px);color:var(--ink);background:var(--paper);border-bottom:1px solid var(--line)}.header-side{min-width:0;display:flex;align-items:center;gap:14px}.header-actions{display:flex;align-items:center;gap:7px}.header-button{min-height:42px;padding:8px 12px;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:999px;cursor:pointer;font-size:.8rem;font-weight:800;white-space:nowrap}.header-button:hover{background:var(--brand-soft)}.theme-toggle{width:42px;padding:0;font-size:1rem}.account-button[hidden]{display:none}.account-button-icon{width:20px;height:20px;display:none;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.9}.brand{display:inline-flex;align-items:center;gap:11px;color:var(--ink);font-size:1.25rem;font-weight:850;letter-spacing:-.03em;text-decoration:none;white-space:nowrap}.brand>span:last-child span{color:var(--brand);font-weight:700}.brand-mark{width:44px;height:44px;display:inline-grid;place-items:center;color:var(--on-bright);background:var(--lime);border:2px solid var(--ink);border-radius:50%}.brand-mark svg{width:100%;height:100%;overflow:visible}.brand-mark path{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:4}.brand-mark circle{fill:var(--coral);stroke:var(--ink);stroke-width:1.5}.game-nav{display:flex;align-items:center;gap:5px}.game-nav a{padding:9px 11px;color:var(--muted);border-radius:8px;font-size:.85rem;font-weight:700;text-decoration:none}.game-nav a:hover{color:var(--ink);background:var(--surface-soft)}.game-nav a[aria-current=page]{color:var(--on-accent);background:var(--brand)}.hub-main{overflow:hidden}.hub-hero{min-height:570px;position:relative;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(380px,.85fr);align-items:center;gap:clamp(35px,5vw,90px);padding:72px max(7vw,28px) 82px;color:var(--ink);background:var(--brand-soft)}.hub-hero:before{content:"";position:absolute;inset:0;opacity:.48;background-image:radial-gradient(circle,#c9c3eb 1.3px,transparent 1.3px);background-size:22px 22px;mask-image:linear-gradient(110deg,transparent 12%,#000 88%)}.hub-hero>*{position:relative;z-index:1}.eyebrow{margin:0 0 10px;color:var(--accent, var(--brand));font-size:.78rem;font-weight:850;letter-spacing:.14em;text-transform:uppercase}.hub-hero .eyebrow{color:var(--brand)}.hub-hero h1{max-width:760px;margin:0;font-size:clamp(2.8rem,7vw,6rem);line-height:.98;letter-spacing:-.065em}.hub-hero h1 span{color:var(--brand);box-shadow:inset 0 -.13em #d2e968d1}.hero-copy>p:not(.eyebrow){max-width:630px;margin:26px 0 30px;color:var(--muted);font-size:1.15rem}.hero-action{display:inline-flex;align-items:center;justify-content:center;gap:24px;min-height:50px;padding:12px 20px;color:var(--on-bright);background:var(--lime);border:2px solid var(--ink);border-radius:999px;box-shadow:0 5px 0 var(--ink);font-weight:800;text-decoration:none}.hero-action:hover{transform:translateY(-1px);box-shadow:0 6px 0 var(--ink)}.hero-card-stack{width:min(100%,560px);aspect-ratio:1.25;position:relative;justify-self:end;isolation:isolate}.hero-puzzle-card{--fan-x: 0%;--fan-y: 0px;--fan-rotate: 0deg;width:42%;height:76%;position:absolute;top:12%;left:29%;display:flex;flex-direction:column;min-width:0;overflow:hidden;padding:clamp(13px,2vw,22px);color:var(--ink);background:linear-gradient(155deg,color-mix(in srgb,var(--card) 20%,var(--surface-raised)) 0 38%,var(--surface-raised) 38%);border:2px solid color-mix(in srgb,var(--card) 62%,var(--line));border-radius:clamp(14px,2vw,22px);box-shadow:0 16px 28px #070a1957,inset 0 1px color-mix(in srgb,var(--white) 9%,transparent);text-decoration:none;transform:translate(var(--fan-x)) translateY(var(--fan-y)) rotate(var(--fan-rotate));transform-origin:50% 92%;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.stack-daily-word{--fan-y: -6px;z-index:5}.stack-daily-anagram{--fan-x: -34%;--fan-y: 4px;--fan-rotate: -5deg;z-index:4}.stack-word-chain{--fan-x: 34%;--fan-y: 4px;--fan-rotate: 5deg;z-index:4}.stack-word-train{--fan-x: -68%;--fan-y: 16px;--fan-rotate: -10deg;z-index:3}.stack-daily-wordsearch{--fan-x: 68%;--fan-y: 16px;--fan-rotate: 10deg;z-index:3}.hero-puzzle-card.is-recommended{z-index:6;border-color:var(--card)}.hero-puzzle-card:focus-visible{z-index:20;outline-color:var(--card);transform:translate(var(--fan-x)) translateY(calc(var(--fan-y) - 20px)) rotate(0) scale(1.04);box-shadow:0 24px 44px #070a1973,0 0 0 5px color-mix(in srgb,var(--card) 20%,transparent)}@media (hover: hover){.hero-puzzle-card:hover{z-index:20;border-color:var(--card);transform:translate(var(--fan-x)) translateY(calc(var(--fan-y) - 20px)) rotate(0) scale(1.04);box-shadow:0 24px 44px #070a1973,0 0 0 5px color-mix(in srgb,var(--card) 20%,transparent)}}.hero-card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.stack-daily-anagram .hero-card-top,.stack-word-train .hero-card-top{flex-direction:row-reverse}.stack-word-chain .hero-card-number,.stack-daily-wordsearch .hero-card-number{align-self:flex-end}.hero-card-status{color:var(--card);font-size:clamp(.52rem,1vw,.66rem);font-weight:900;letter-spacing:.08em;line-height:1.25;text-transform:uppercase}.hero-card-symbol{width:clamp(34px,4vw,48px);height:clamp(34px,4vw,48px);flex:0 0 auto;display:grid;place-items:center;color:var(--on-accent);background:var(--card);border-radius:50%;box-shadow:0 5px color-mix(in srgb,var(--card) 45%,var(--surface));font-size:clamp(.85rem,1.5vw,1.1rem);font-weight:950}.hero-card-number{margin-top:auto;color:color-mix(in srgb,var(--card) 54%,var(--muted));font-size:clamp(1.2rem,3vw,2.2rem);font-weight:950;line-height:1}.hero-puzzle-card>strong{margin-top:7px;font-size:clamp(.92rem,2vw,1.42rem);letter-spacing:-.04em;line-height:1.02}.hero-card-copy{margin-top:8px;color:var(--muted);font-size:clamp(.61rem,1.2vw,.78rem);line-height:1.38}.hero-card-play{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:14px;padding-top:10px;color:var(--card);border-top:1px solid var(--line);font-size:clamp(.62rem,1.2vw,.78rem);font-weight:900}.hero-puzzle-card.is-finished .hero-card-status{color:var(--success)}.today-set{width:min(1164px,calc(100% - 56px));position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,.9fr) minmax(380px,1.1fr);align-items:center;gap:clamp(28px,5vw,72px);margin:-38px auto 0;padding:28px clamp(24px,4vw,46px);background:var(--surface-raised);border:1px solid var(--line);border-radius:18px;box-shadow:0 18px 50px #0003}.today-set-copy .eyebrow{color:var(--brand)}.today-set-copy h2{margin:0;font-size:clamp(1.65rem,4vw,2.5rem);line-height:1.05;letter-spacing:-.04em}.today-set-copy h2 strong{color:var(--lime)}.today-set-copy>p:last-child{margin:10px 0 0;color:var(--muted)}.today-set-progress{min-width:0}.set-progress-track{height:11px;overflow:hidden;background:var(--field);border:1px solid var(--line);border-radius:999px}.set-progress-track>span{width:0;height:100%;display:block;background:linear-gradient(90deg,var(--red),var(--orange),var(--green),var(--blue),var(--violet));border-radius:inherit;transition:width .35s ease}.set-progress-stops{display:flex;justify-content:space-between;gap:8px;margin-top:14px}.set-progress-stops a{--card: var(--brand);width:38px;height:38px;display:grid;place-items:center;color:var(--muted);background:var(--field);border:2px solid var(--line);border-radius:50%;font-size:.82rem;font-weight:900;text-decoration:none;transition:transform .15s ease,border-color .15s ease,background .15s ease}.set-progress-stops a:hover{transform:translateY(-2px);border-color:var(--card)}.set-progress-stops a.is-started{color:var(--card);border-color:var(--card)}.set-progress-stops a.is-finished{color:var(--on-accent);background:var(--card);border-color:var(--card)}.set-progress-stops a.is-finished:not(.is-solved){color:var(--ink);background:color-mix(in srgb,var(--card) 35%,var(--surface))}.today-set-progress>p{margin:11px 0 0;color:var(--muted);font-size:.78rem;text-align:right}.today-set-progress>p strong{color:var(--brand);font-variant-numeric:tabular-nums}.today-set.is-complete{border-color:color-mix(in srgb,var(--lime),var(--line) 45%)}.today-set.is-complete .today-set-copy h2 strong{color:var(--success)}.game-catalog,.about-section{max-width:1220px;margin:0 auto;padding:96px 28px}.section-heading p{margin:0;color:var(--muted);font-size:.78rem;font-weight:850;letter-spacing:.13em;text-transform:uppercase}.section-heading h2,.about-section h2{margin:6px 0 34px;font-size:clamp(2rem,4vw,3.25rem);line-height:1.05;letter-spacing:-.045em}.game-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:18px}.game-card{--card: var(--blue);grid-column:span 2;min-height:345px;display:flex;flex-direction:column;padding:25px;background:var(--surface);border:1px solid var(--line);border-top:5px solid var(--card);border-radius:14px;box-shadow:0 10px 30px #1322380f}.game-card:nth-child(4),.game-card:nth-child(5){grid-column:span 3}.game-daily-word{--card: var(--red)}.game-daily-anagram{--card: var(--orange)}.game-word-chain{--card: var(--green)}.game-word-train{--card: var(--blue)}.game-daily-wordsearch{--card: var(--violet)}.card-top{display:flex;align-items:center;justify-content:space-between;color:var(--muted);font-size:.75rem;font-weight:800;text-transform:uppercase;letter-spacing:.09em}.card-top [data-card-status]{text-align:right}.card-symbol{width:38px;height:38px;display:grid;place-items:center;color:var(--on-accent);background:var(--card);border-radius:50%;font-size:1.1rem}.game-card h3{margin:24px 0 4px;font-size:1.6rem;letter-spacing:-.035em}.game-card>p{margin:0;color:var(--muted)}.game-card>a{margin-top:auto;display:flex;justify-content:space-between;padding-top:20px;color:var(--card);border-top:1px solid var(--line);font-weight:850;text-decoration:none}.game-card.is-started{background:color-mix(in srgb,var(--card) 5%,var(--surface))}.game-card.is-finished{border-color:color-mix(in srgb,var(--card),var(--line) 45%);box-shadow:0 12px 34px color-mix(in srgb,var(--card) 12%,transparent)}.game-card.is-finished .card-top [data-card-status]{color:var(--success)}.game-card.is-finished:not(.is-solved) .card-top [data-card-status]{color:var(--muted)}.card-preview{min-height:62px;display:flex;align-items:center;gap:5px;margin:19px 0}.card-preview span{width:39px;height:39px;display:grid;place-items:center;color:var(--muted);background:var(--surface-soft);border-radius:6px;font-weight:850}.card-preview span.hit{color:var(--on-accent);background:var(--card)}.card-preview span.warm{color:#fff;background:var(--gold)}.card-preview b,.card-preview i{padding:7px 10px;border-radius:5px;font-family:ui-monospace,monospace;font-size:.87rem;font-style:normal}.card-preview b{color:var(--muted);background:var(--surface-soft)}.card-preview i{color:var(--on-accent);background:var(--card)}.about-section{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(40px,8vw,110px);border-top:1px solid var(--line)}.about-section h2{margin-bottom:22px}.about-section>div>p:last-child{color:var(--muted);font-size:1.08rem}.faq-list{display:grid;gap:14px}.faq-list article{padding:20px 23px;background:var(--surface);border:1px solid var(--line);border-radius:10px}.faq-list h3{margin:0 0 5px;font-size:1.02rem}.faq-list p{margin:0;color:var(--muted);font-size:.94rem}.play-main{min-height:calc(100vh - 154px);padding:42px 20px 80px}.play-shell{--accent: var(--blue);--accent-soft: color-mix(in srgb, var(--accent) 14%, var(--surface));max-width:880px;margin:0 auto}.play-shell.game-daily-word{--accent: var(--red)}.play-shell.game-daily-anagram{--accent: var(--orange)}.play-shell.game-word-chain{--accent: var(--green)}.play-shell.game-word-train{--accent: var(--blue)}.play-shell.game-daily-wordsearch{--accent: var(--violet);max-width:1060px}.play-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:20px}.back-link{display:inline-block;margin-bottom:22px;color:var(--muted);font-size:.9rem;font-weight:750;text-decoration:none}.play-heading h1{margin:0;font-size:clamp(2.2rem,6vw,4.2rem);line-height:.95;letter-spacing:-.055em}.game-date{margin:12px 0 0;color:var(--muted)}.play-actions{display:flex;gap:8px}.play-actions button{min-height:44px;padding:8px 14px;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:8px;cursor:pointer;font-size:.86rem;font-weight:800}.play-actions button[hidden]{display:none}.daily-clock{margin:0 0 14px;color:var(--muted);font-size:.85rem;text-align:right}.daily-clock strong{color:var(--accent);font-variant-numeric:tabular-nums}.game-panel{padding:clamp(20px,5vw,42px);background:var(--surface);border:1px solid var(--line);border-top:6px solid var(--accent);border-radius:16px;box-shadow:0 15px 45px #13223814}.puzzle-message{min-height:30px;margin:20px auto 12px;color:var(--muted);font-weight:700;text-align:center}.puzzle-message.error{color:var(--error)}.puzzle-message.success{color:var(--success)}.word-grid{width:min(100%,350px);display:grid;gap:7px;margin:0 auto}.letter-row{display:grid;grid-template-columns:repeat(5,1fr);gap:7px}.letter-tile{aspect-ratio:1;display:grid;place-items:center;color:var(--ink);background:var(--field);border:2px solid var(--line);border-radius:7px;font-size:clamp(1.4rem,5vw,2rem);font-weight:900;text-transform:uppercase}.letter-tile.filled{border-color:var(--muted)}.letter-tile.correct,.keyboard button.correct{color:#fff;background:#248446;border-color:#248446}.letter-tile.present,.keyboard button.present{color:#fff;background:#c28a0c;border-color:#c28a0c}.letter-tile.absent,.keyboard button.absent{color:#fff;background:#687385;border-color:#687385}.letter-row.shake{animation:shake .35s ease}@keyframes shake{25%{transform:translate(-5px)}50%{transform:translate(5px)}75%{transform:translate(-3px)}}.keyboard{width:min(100%,600px);display:grid;gap:7px;margin:12px auto 0}.keyboard-row{display:flex;justify-content:center;gap:5px}.keyboard button{min-width:0;flex:1 1 42px;height:50px;padding:0 3px;color:var(--ink);background:var(--surface-soft);border:0;border-radius:6px;cursor:pointer;font-size:.83rem;font-weight:850}.keyboard button.wide{flex-basis:70px;font-size:.7rem}.chain-board,.train-board{width:min(100%,520px);margin:0 auto}.given-word{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:14px 18px;background:var(--accent-soft);border:2px solid color-mix(in srgb,var(--accent),#fff 55%);border-radius:9px}.given-word small{color:var(--accent);font-weight:850;text-transform:uppercase;letter-spacing:.1em}.given-word strong{font-family:ui-monospace,monospace;font-size:1.35rem;letter-spacing:.18em}.given-word.target{background:var(--surface-soft);border-color:var(--line)}.chain-arrow{height:28px;display:grid;place-items:center;color:var(--accent);font-weight:900}.entry-row{position:relative}.chain-entry,.train-entry{display:grid;grid-template-columns:1fr auto;gap:8px;padding:12px;background:var(--surface-raised);border:1px solid var(--line);border-radius:9px}.chain-entry label,.train-entry label{grid-column:1 / -1;color:var(--muted);font-size:.74rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase}.entry-row input{width:100%;min-height:47px;padding:7px 13px;color:var(--ink);background:var(--field);border:2px solid var(--line);border-radius:7px;font-family:ui-monospace,monospace;font-size:1.15rem;font-weight:850;letter-spacing:.14em;text-transform:uppercase}.entry-row input:disabled{color:var(--muted);background:var(--surface-soft)}.entry-row input.correct{color:var(--success);background:color-mix(in srgb,var(--green) 12%,var(--field));border-color:var(--green)}.entry-row input.incorrect{border-color:var(--red)}.entry-row button{min-height:44px;padding:7px 15px;color:var(--on-accent);background:var(--accent);border:0;border-radius:7px;cursor:pointer;font-size:.84rem;font-weight:850}.entry-row button:disabled{opacity:.48;cursor:not-allowed}.entry-row button.hint-button{color:var(--accent);background:var(--accent-soft);border:1px solid color-mix(in srgb,var(--accent),#fff 55%)}.train-entry{grid-template-columns:1fr auto auto}.train-link{width:4px;height:24px;margin:0 auto;background:var(--accent);opacity:.55}.theme-banner{display:flex;align-items:center;gap:12px;margin:0 auto 24px;padding:11px 15px;color:var(--accent);background:var(--accent-soft);border-radius:8px}.theme-banner span{font-size:.76rem;font-weight:850;letter-spacing:.1em;text-transform:uppercase}.theme-banner strong{color:var(--ink)}.theme-banner em{margin-left:auto;font-size:.82rem;font-style:normal;font-weight:750}.anagram-board{display:grid;gap:10px}.anagram-row{display:grid;grid-template-columns:118px 1fr auto auto;gap:8px;align-items:center;padding:12px;background:var(--surface-raised);border:1px solid var(--line);border-radius:9px}.scrambled{color:var(--accent);font-family:ui-monospace,monospace;font-size:1.15rem;font-weight:900;letter-spacing:.16em;text-align:center}.search-theme{align-items:flex-start;flex-direction:column}.search-layout{display:grid;grid-template-columns:minmax(0,440px) 220px;justify-content:center;gap:28px;align-items:start}.search-grid{position:relative;display:grid;justify-self:center;gap:3px;padding:8px;background:var(--line);border-radius:10px;touch-action:none;user-select:none}.search-grid-7{width:min(100%,340px);grid-template-columns:repeat(7,1fr)}.search-grid-8{width:min(100%,390px);grid-template-columns:repeat(8,1fr)}.search-grid-9{width:min(100%,440px);grid-template-columns:repeat(9,1fr)}.search-grid-10{width:min(100%,440px);grid-template-columns:repeat(10,1fr)}.search-word-overlay{position:absolute;inset:0;z-index:2;width:100%;height:100%;overflow:visible;pointer-events:none}.search-word-outline,.search-word-preview{fill:none;stroke:var(--found-color, var(--violet));stroke-width:3;vector-effect:non-scaling-stroke}.search-word-outline{filter:drop-shadow(0 1px 1px rgba(0,0,0,.4))}.search-word-preview{stroke:var(--violet);stroke-dasharray:5 4;opacity:.95}.found-color-0{--found-color: var(--search-outline-0)}.found-color-1{--found-color: var(--search-outline-1)}.found-color-2{--found-color: var(--search-outline-2)}.found-color-3{--found-color: var(--search-outline-3)}.found-color-4{--found-color: var(--search-outline-4)}.found-color-5{--found-color: var(--search-outline-5)}.found-color-6{--found-color: var(--search-outline-6)}.found-color-7{--found-color: var(--search-outline-7)}.found-color-8{--found-color: var(--search-outline-8)}.found-color-9{--found-color: var(--search-outline-9)}.search-grid button{position:relative;z-index:1;aspect-ratio:1;min-width:0;padding:0;color:var(--ink);background:var(--field);border:0;border-radius:4px;cursor:pointer;font-family:ui-monospace,monospace;font-size:clamp(.72rem,1.6vw,1.05rem);font-weight:850}.word-bank{padding:18px;background:var(--surface-raised);border:1px solid var(--line);border-radius:10px}.word-bank h2{margin:0 0 12px;font-size:1rem}.word-bank ul{display:grid;grid-template-columns:1fr 1fr;gap:7px 14px;margin:0;padding:0;list-style:none}.word-bank li{font-family:ui-monospace,monospace;font-size:.9rem;font-weight:750}.word-bank li.found{color:var(--found-color, var(--violet));text-decoration:line-through;text-decoration-thickness:2px}.puzzle-dialog{width:min(560px,calc(100vw - 30px));max-height:calc(100vh - 30px);z-index:2147483647;padding:0;color:var(--ink);background:transparent;border:0;overflow:visible}.puzzle-dialog::backdrop{z-index:2147483646;background:#0a1422c2;backdrop-filter:blur(3px)}.dialog-card{position:relative;max-height:calc(100vh - 30px);overflow:auto;padding:34px;background:var(--surface-raised);border:1px solid var(--line);border-radius:14px;box-shadow:0 25px 80px #0000004d}.dialog-card h2{margin:0 0 18px;font-size:1.8rem;letter-spacing:-.035em}.dialog-card ul{display:grid;gap:10px;padding-left:22px}.dialog-close{width:44px;height:44px;position:absolute;top:12px;right:12px;color:var(--muted);background:var(--surface-soft);border:0;border-radius:50%;cursor:pointer;font-size:1.6rem}.dialog-action{min-height:46px;padding:10px 18px;color:var(--on-accent);background:var(--brand);border:0;border-radius:8px;cursor:pointer;font-weight:850}.stats-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:20px 0 26px}.stats-grid div{padding:19px 10px;background:var(--surface-soft);border-radius:8px;text-align:center}.stats-grid strong,.stats-grid span{display:block}.stats-grid strong{font-size:1.8rem}.stats-grid span{color:var(--muted);font-size:.75rem;font-weight:750;text-transform:uppercase}.completion-dialog{--celebration-accent: var(--blue);--celebration-ink: var(--on-accent)}.completion-dialog.game-daily-word{--celebration-accent: var(--red)}.completion-dialog.game-daily-anagram{--celebration-accent: var(--orange);--celebration-ink: #111426}.completion-dialog.game-word-chain{--celebration-accent: var(--green)}.completion-dialog.game-word-train{--celebration-accent: var(--blue)}.completion-dialog.game-daily-wordsearch{--celebration-accent: var(--violet)}.completion-card{min-height:460px;display:flex;align-items:center;flex-direction:column;justify-content:center;padding:48px 38px 34px;background:radial-gradient(circle at 50% -12%,color-mix(in srgb,var(--celebration-accent) 24%,transparent),transparent 48%),var(--surface-raised);text-align:center}.completion-card>:not(.completion-confetti){position:relative;z-index:1}.completion-card .dialog-close{position:absolute;z-index:2}.completion-mark{width:82px;height:82px;display:grid;place-items:center;margin-bottom:22px;color:var(--celebration-ink);background:var(--celebration-accent);border:4px solid color-mix(in srgb,var(--celebration-accent),#fff 55%);border-radius:50%;box-shadow:0 0 0 9px color-mix(in srgb,var(--celebration-accent) 18%,transparent);font-size:2.35rem;font-weight:950;line-height:1;animation:completion-pop .55s cubic-bezier(.2,.9,.3,1.35) both}.completion-card.is-set-complete .completion-mark{width:96px;height:96px;font-size:1.65rem;letter-spacing:-.06em}.completion-card.is-finished-only .completion-mark{color:var(--ink);background:var(--surface-soft);border-color:var(--celebration-accent);box-shadow:0 0 0 9px color-mix(in srgb,var(--celebration-accent) 12%,transparent)}.completion-card .eyebrow{margin-bottom:8px;color:var(--celebration-accent)}.completion-card h2{max-width:440px;margin:0 0 12px;font-size:clamp(2rem,7vw,3.15rem);line-height:1}.completion-copy{max-width:430px;margin:0;color:var(--muted);font-size:1.05rem}.completion-streak-chip{display:inline-flex;align-items:center;gap:12px;margin:24px 0;padding:9px 14px;background:var(--surface-soft);border:1px solid var(--line);border-radius:999px}.completion-streak-chip span{color:var(--muted);font-size:.74rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.completion-streak-chip strong{color:var(--celebration-accent);font-variant-numeric:tabular-nums}.completion-actions{width:min(100%,430px);display:grid;grid-template-columns:1.35fr 1fr;gap:10px}.completion-actions.is-single{grid-template-columns:1fr}.completion-primary,.completion-secondary{min-height:50px;display:inline-flex;align-items:center;justify-content:center;gap:18px;padding:10px 16px;border-radius:9px;cursor:pointer;font-weight:850;text-decoration:none}.completion-primary{color:var(--celebration-ink);background:var(--celebration-accent);border:1px solid var(--celebration-accent)}.completion-primary:hover{filter:brightness(1.07)}.completion-secondary{color:var(--ink);background:var(--surface-soft);border:1px solid var(--line)}.completion-secondary:hover{background:var(--brand-soft)}.completion-links{display:flex;align-items:center;justify-content:center;gap:18px;margin-top:14px}.completion-links button,.completion-links a{padding:0;color:var(--muted);background:transparent;border:0;cursor:pointer;font-size:.82rem;font-weight:800;text-decoration:underline;text-underline-offset:3px}.completion-links button:hover,.completion-links a:hover{color:var(--ink)}.share-feedback{min-height:22px;margin:10px 0 0;color:var(--success);font-size:.8rem;font-weight:750}.completion-note{margin:2px 0 0;color:var(--muted);font-size:.78rem}.completion-confetti{position:absolute;inset:0;z-index:0;overflow:hidden;border-radius:inherit;pointer-events:none}.completion-confetti span{width:8px;height:15px;position:absolute;top:-20px;left:var(--confetti-x);background:var(--confetti-color);border-radius:2px;opacity:0;animation:completion-confetti 1.35s cubic-bezier(.12,.7,.25,1) var(--confetti-delay) both}.completion-confetti span:nth-child(3n){width:11px;height:11px;border-radius:50%}.completion-confetti span:nth-child(4n){width:6px;height:18px}@keyframes completion-pop{0%{opacity:0;transform:scale(.45) rotate(-10deg)}70%{opacity:1;transform:scale(1.08) rotate(2deg)}to{opacity:1;transform:scale(1) rotate(0)}}@keyframes completion-confetti{0%{opacity:0;transform:translate3d(0,-24px,0) rotate(0)}12%{opacity:1}82%{opacity:1}to{opacity:0;transform:translate3d(var(--confetti-drift),530px,0) rotate(var(--confetti-spin))}}.site-footer{min-height:78px;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px clamp(20px,5vw,70px);color:#b9c6d6;background:var(--footer);font-size:.85rem}.site-footer a{color:#fff;font-weight:750}.footer-brand{text-decoration:none}.message-page{min-height:calc(100vh - 78px);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px;text-align:center}.message-page>p:first-of-type{margin:24px 0 0;color:var(--red);font-weight:900}.message-page h1{margin:4px 0;font-size:clamp(2rem,6vw,4rem);letter-spacing:-.05em}.message-page .hero-action{margin-top:18px}@media (max-width: 900px){.site-header{align-items:flex-start;flex-direction:column}.header-side{width:100%}.game-nav{flex:1}.game-nav{width:100%;overflow-x:auto;padding-bottom:3px}.game-nav a{flex:0 0 auto}.hub-hero{grid-template-columns:minmax(0,1fr)}.hero-card-stack{justify-self:center}.today-set{grid-template-columns:1fr}.game-grid{grid-template-columns:1fr 1fr}.game-card,.game-card:nth-child(4),.game-card:nth-child(5){grid-column:span 1}.game-card:last-child{grid-column:1 / -1}.search-layout{grid-template-columns:1fr}.word-bank ul{grid-template-columns:repeat(5,1fr)}}@media (max-width: 650px){body{font-size:16px}.site-header{min-height:68px;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px 10px;padding:10px 14px 8px}.header-side{display:contents}.header-actions{grid-column:2;grid-row:1}.header-actions .header-button{width:40px;min-height:40px;padding:0;place-items:center}.header-actions .header-button:not([hidden]){display:grid}.account-button-icon{display:block}.account-button-label{display:none}.brand-mark{width:39px;height:39px}.game-nav{width:100%;min-width:0;grid-column:1 / -1;grid-row:2;gap:4px;overflow-x:auto;overscroll-behavior-x:contain;padding:3px 22px 4px 0;scroll-snap-type:x proximity;scrollbar-width:none;-webkit-overflow-scrolling:touch}.game-nav::-webkit-scrollbar{display:none}.game-nav a{flex:0 0 auto;padding:7px 9px;font-size:.78rem;scroll-snap-align:start}.hub-hero{min-height:0;gap:42px;padding:58px 24px 70px}.hub-hero h1{font-size:clamp(2.7rem,14vw,4.2rem)}.hero-card-stack{justify-self:center}.today-set{width:calc(100% - 28px);gap:22px;margin-top:-28px;padding:24px 20px;border-radius:14px}.set-progress-stops a{width:34px;height:34px}.today-set-progress>p{text-align:left}.game-catalog,.about-section{padding:70px 18px}.game-grid,.about-section{grid-template-columns:1fr}.game-card,.game-card:nth-child(4),.game-card:nth-child(5),.game-card:last-child{grid-column:1}.play-main{padding:28px 10px 55px}.play-heading{align-items:flex-start;flex-direction:column}.play-actions{width:100%}.play-actions button{flex:1}.daily-clock{text-align:left}.game-panel{padding:18px 10px 24px;border-radius:11px}.keyboard-row{gap:3px}.keyboard button{height:47px;font-size:.72rem}.chain-entry,.train-entry{grid-template-columns:1fr auto}.train-entry .hint-button{grid-column:1 / -1}.theme-banner{flex-wrap:wrap}.theme-banner em{width:100%;margin-left:0}.anagram-row{grid-template-columns:1fr auto auto}.anagram-row .scrambled{grid-column:1 / -1;text-align:left}.search-layout{gap:16px}.search-grid{gap:2px;padding:5px}.search-grid button{font-size:clamp(.68rem,3.2vw,.9rem);border-radius:2px}.word-bank ul{grid-template-columns:1fr 1fr}.completion-card{min-height:0;padding:42px 18px 28px}.completion-actions{grid-template-columns:1fr}.completion-mark{width:72px;height:72px;font-size:2rem}.site-footer{align-items:flex-start;flex-direction:column}}@media (max-width: 480px){.hero-card-copy{display:none}.hero-card-play{margin-top:10px;padding-top:8px}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.completion-confetti{display:none}}
