.eco-shell{--eco-amber:#aa6509;--eco-violet:#7952a5;--eco-floor:#fffaf0;--eco-stone:#e4dfd4;overscroll-behavior-y:contain;touch-action:pan-y pinch-zoom;flex:auto;width:100%;min-height:0;padding:14px 4px 24px;overflow-y:auto}.eco-heading{justify-content:space-between;align-items:center;gap:12px;display:flex}.eco-heading .eyebrow{color:var(--eco-violet);letter-spacing:.12em;margin:0 0 5px;font-size:.62rem}.eco-heading h2{letter-spacing:-.055em;margin:0;font-size:1.9rem}.eco-heading h2>span{color:var(--eco-violet);font-weight:400}.eco-intro{color:var(--color-muted);margin:10px 0 16px;font-size:.84rem;line-height:1.6}.eco-intro strong{color:var(--color-text);font-weight:600}.eco-legend{color:var(--color-muted);flex-wrap:wrap;justify-content:center;gap:10px 28px;margin:12px 0;font-size:.69rem;display:flex}.eco-legend>span{align-items:center;gap:8px;display:flex}.eco-light-mark,.eco-echo-mark{flex:none;width:10px;height:10px;display:inline-block}.eco-light-mark{background:var(--eco-amber);border-radius:50%}.eco-echo-mark{background:var(--eco-violet);border-radius:2px;transform:rotate(45deg)}.eco-board{aspect-ratio:1;isolation:isolate;background:var(--eco-floor);width:min(100%,330px);box-shadow:0 0 0 6px var(--color-surface), 0 8px 30px #402d2310;border-radius:18px;margin:0 auto;position:relative}.eco-grid{border-radius:inherit;border:1px solid var(--eco-stone);grid-template-rows:repeat(5,1fr);grid-template-columns:repeat(5,1fr);width:100%;height:100%;display:grid;overflow:hidden}.eco-row{display:contents}.eco-cell{border:1px solid color-mix(in srgb, var(--eco-stone) 65%, transparent);place-items:center;display:grid;position:relative}.eco-cell.wall{background:var(--eco-stone);box-shadow:inset 0 0 0 4px var(--eco-floor);border-radius:10px}.eco-cell.wall:after{content:"";background:color-mix(in srgb, var(--color-muted) 25%, transparent);width:25%;height:2px;box-shadow:0 5px color-mix(in srgb, var(--color-muted) 18%, transparent);border-radius:4px}.eco-cell.hit{background:color-mix(in srgb, var(--eco-violet) 30%, var(--eco-stone))}.eco-goal{border:2px solid;width:66%;height:66%;display:block}.eco-goal.light{border-color:var(--eco-amber);background:color-mix(in srgb, var(--eco-amber) 5%, transparent);border-radius:50%}.eco-goal.echo{border-color:var(--eco-violet);background:color-mix(in srgb, var(--eco-violet) 5%, transparent);border-radius:5px;width:51%;height:51%;transform:rotate(45deg)}.eco-token{pointer-events:none;z-index:2;place-items:center;width:20%;height:20%;transition:top .22s,left .22s;display:grid;position:absolute}.eco-token>i{width:37%;height:37%;transition:opacity .15s;display:block;position:relative}.eco-token.light>i{background:var(--eco-amber);box-shadow:0 0 0 5px color-mix(in srgb, var(--eco-amber) 12%, transparent), 0 0 18px color-mix(in srgb, var(--eco-amber) 25%, transparent);border-radius:50%}.eco-token.light>i:after{content:"";background:#fffaf0;border-radius:50%;position:absolute;inset:36%}.eco-token.echo>i{background:var(--eco-violet);width:29%;height:29%;box-shadow:0 0 0 5px color-mix(in srgb, var(--eco-violet) 12%, transparent);border-radius:3px;transform:rotate(45deg)}.eco-token.echo>i:after{content:"";border:1px solid #fffaf0;border-radius:1px;position:absolute;inset:28%}.eco-token.echo.shared{z-index:3}.eco-token.echo.shared>i{border:2px solid var(--eco-violet);width:65%;height:65%;box-shadow:none;background:0 0}.eco-token.echo.shared>i:after{display:none}.eco-token.preview{z-index:1;transition:none}.eco-token.preview>i{box-shadow:none;opacity:.6;background:0 0;border:2px dashed;width:65%;height:65%}.eco-token.light.preview>i{border-color:var(--eco-amber)}.eco-token.echo.preview>i{border-color:var(--eco-violet);width:48%;height:48%}.eco-token.preview>i:after{display:none}.eco-token.blocked>i{outline:2px dotted var(--color-text);outline-offset:5px}.eco-board.solved{box-shadow:0 0 0 6px var(--color-surface), 0 0 35px color-mix(in srgb, var(--eco-violet) 14%, transparent)}.eco-queue{align-items:center;gap:8px;width:min(100%,330px);margin:18px auto 12px;display:flex}.eco-queue>div:first-child{flex:1;padding-right:5px}.eco-queue strong{font-size:.8rem;font-weight:650;display:block}.eco-queue>div:first-child>span{max-width:140px;color:var(--color-muted);margin-top:5px;font-size:.67rem;line-height:1.5;display:block}.eco-queued{background:var(--color-surface);border:1px solid var(--color-surface-border);border-radius:12px;justify-items:center;width:62px;padding:7px 4px;display:grid}.eco-queued.next{border-color:color-mix(in srgb, var(--eco-violet) 40%, var(--color-surface-border));background:color-mix(in srgb, var(--eco-violet) 6%, var(--color-surface))}.eco-queued small{color:var(--color-muted);font-size:.57rem}.eco-queued>span{color:var(--eco-violet);font-size:1.45rem;line-height:1.3}.eco-queued b{font-size:.57rem;font-weight:500}.eco-controls{grid-template-rows:repeat(3,46px);grid-template-columns:repeat(3,58px);justify-content:center;gap:5px;margin:13px 0 8px;display:grid}.eco-command{border:1px solid var(--color-button-border);background:var(--color-surface);color:var(--color-text);cursor:pointer;border-radius:13px;flex-direction:column;justify-content:center;align-items:center;gap:2px;transition:background .15s;display:flex}.eco-command:hover:not(:disabled),.eco-command.expected{background:color-mix(in srgb, var(--eco-violet) 12%, var(--color-surface));border-color:var(--eco-violet)}.eco-command--up{grid-area:1/2}.eco-command--left{grid-area:2/1}.eco-command--wait{color:var(--eco-violet);grid-area:2/2}.eco-command--right{grid-area:2/3}.eco-command--down{grid-area:3/2}.eco-command--wait svg{width:17px;height:17px}.eco-command--wait span{font-size:.57rem;font-weight:600}.eco-command:disabled{cursor:default}.eco-tutorial .eco-command:disabled{opacity:.35}.eco-tools{justify-content:center;gap:16px;margin:0 0 8px;display:flex}.eco-tools button,.eco-lesson-heading button{min-height:44px;color:var(--color-muted);cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;gap:7px;padding:6px;font-size:.73rem;display:inline-flex}.eco-tools button:disabled{opacity:.4;cursor:default}.eco-footnote{text-align:center;max-width:300px;color:var(--color-muted);margin:8px auto;font-size:.7rem;line-height:1.65}.eco-result{text-align:center;margin:20px auto 0}.eco-result-symbol{width:44px;height:44px;color:var(--eco-violet);background:color-mix(in srgb, var(--eco-violet) 10%, var(--color-surface));border-radius:50%;place-items:center;display:inline-grid}.eco-result h3{letter-spacing:-.04em;margin:10px 0 5px;font-size:1.3rem}.eco-result p{color:var(--color-muted);margin:0 0 15px;font-size:.79rem;line-height:1.5}.eco-primary{background:var(--eco-violet);color:#fff;width:min(100%,330px);min-height:46px;font:inherit;cursor:pointer;border:0;border-radius:14px;justify-content:center;align-items:center;gap:9px;margin:12px auto;padding:12px 16px;font-size:.8rem;font-weight:600;display:flex}.eco-primary:disabled{opacity:.6;cursor:wait}.eco-result .eco-next{margin-top:12px;font-size:.7rem}.eco-save-error{text-align:center;border:1px solid var(--color-surface-border);border-radius:14px;padding:12px;font-size:.8rem}.eco-share-message{white-space:pre-line;overflow-wrap:anywhere;text-align:center;font-size:.78rem}.eco-lesson-heading{justify-content:space-between;align-items:center;margin-top:6px;display:flex}.eco-lesson-heading>span{color:var(--eco-violet);font-size:.68rem}.eco-tutorial h3{letter-spacing:-.025em;margin:4px 0 8px;font-size:1.1rem}.eco-lesson-instruction{min-height:42px;color:var(--color-muted);margin:0 0 12px;font-size:.83rem;line-height:1.55}.eco-sr-only{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.puzzle-card--eco{--card-paper:#eae4f1;--card-ink:#71558c;--art-node:#fffaf0}html[data-theme=dark] .puzzle-card--eco{--card-paper:#393145;--card-ink:#dfc4f7}html[data-theme=dark] .eco-shell{--eco-amber:#eab35d;--eco-violet:#b28cdd;--eco-floor:#25232b;--eco-stone:#423e49}html[data-theme=dark] .eco-primary{background:#7952a5}html[data-theme=dark] .eco-token.light>i:after{background:#29222e}@media (height<=900px){.eco-board{width:min(100%,270px)}.eco-tutorial .eco-board{width:min(100%,240px)}.eco-shell{padding-top:10px}.eco-intro{margin:6px 0 10px}.eco-queue{margin-top:13px;margin-bottom:5px}.eco-legend{margin:8px 0}.eco-controls{grid-template-rows:repeat(2,44px);grid-template-columns:repeat(3,48px) 64px;margin-top:8px}.eco-command--up{grid-area:1/2}.eco-command--left{grid-area:2/1}.eco-command--down{grid-area:2/2}.eco-command--right{grid-area:2/3}.eco-command--wait{grid-area:1/4/3/5;gap:8px;margin-left:6px}}@media (prefers-reduced-motion:reduce){.eco-token,.eco-token>i,.eco-command{transition:none}}@font-face{font-family:Midstar;src:url(/fonts/Midstar_Personal_Use.otf)format("opentype");font-display:swap;font-style:normal;font-weight:400}@font-face{font-family:Comic Neue;src:url(/fonts/ComicNeue-Regular.woff2)format("woff2");font-display:swap;font-style:normal;font-weight:400}@font-face{font-family:Comic Neue;src:url(/fonts/ComicNeue-Italic.woff2)format("woff2");font-display:swap;font-style:italic;font-weight:400}@font-face{font-family:Comic Neue;src:url(/fonts/ComicNeue-Bold.woff2)format("woff2");font-display:swap;font-style:normal;font-weight:700}@font-face{font-family:Comic Neue;src:url(/fonts/ComicNeue-BoldItalic.woff2)format("woff2");font-display:swap;font-style:italic;font-weight:700}@font-face{font-family:Creato Display;src:url(/fonts/CreatoDisplay-Thin.otf)format("opentype");font-display:swap;font-style:normal;font-weight:100}@font-face{font-family:Creato Display;src:url(/fonts/CreatoDisplay-ThinItalic.otf)format("opentype");font-display:swap;font-style:italic;font-weight:100}@font-face{font-family:Creato Display;src:url(/fonts/CreatoDisplay-Light.otf)format("opentype");font-display:swap;font-style:normal;font-weight:300}@font-face{font-family:Creato Display;src:url(/fonts/CreatoDisplay-LightItalic.otf)format("opentype");font-display:swap;font-style:italic;font-weight:300}@font-face{font-family:Creato Display;src:url(/fonts/CreatoDisplay-Regular.otf)format("opentype");font-display:swap;font-style:normal;font-weight:400}@font-face{font-family:Creato Display;src:url(/fonts/CreatoDisplay-RegularItalic.otf)format("opentype");font-display:swap;font-style:italic;font-weight:400}@font-face{font-family:Creato Display;src:url(/fonts/CreatoDisplay-Medium.otf)format("opentype");font-display:swap;font-style:normal;font-weight:500}@font-face{font-family:Creato Display;src:url(/fonts/CreatoDisplay-MediumItalic.otf)format("opentype");font-display:swap;font-style:italic;font-weight:500}@font-face{font-family:Creato Display;src:url(/fonts/CreatoDisplay-Bold.otf)format("opentype");font-display:swap;font-style:normal;font-weight:700}@font-face{font-family:Creato Display;src:url(/fonts/CreatoDisplay-BoldItalic.otf)format("opentype");font-display:swap;font-style:italic;font-weight:700}@font-face{font-family:Creato Display;src:url(/fonts/CreatoDisplay-ExtraBold.otf)format("opentype");font-display:swap;font-style:normal;font-weight:800}@font-face{font-family:Creato Display;src:url(/fonts/CreatoDisplay-ExtraBoldItalic.otf)format("opentype");font-display:swap;font-style:italic;font-weight:800}@font-face{font-family:Creato Display;src:url(/fonts/CreatoDisplay-Black.otf)format("opentype");font-display:swap;font-style:normal;font-weight:900}@font-face{font-family:Creato Display;src:url(/fonts/CreatoDisplay-BlackItalic.otf)format("opentype");font-display:swap;font-style:italic;font-weight:900}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;color:var(--color-text);background:var(--color-page);font-family:var(--font-body);--font-body:"Creato Display", "Avenir Next", Avenir, "SF Pro Text", "Inter", "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-title:"Midstar", "Recoleta", "Canela", "Iowan Old Style", "Palatino Linotype", "Book Antiqua", Georgia, serif;--font-mono:"SFMono-Regular", Consolas, "Liberation Mono", Menlo, monospace;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;--app-height:100dvh;--app-vh:1dvh;--viewport-padding:22px;--surface-gap:12px;--keyboard-gap:6px;--app-footer-height:48px;--key-row-height:clamp(38px, calc(var(--app-vh) * 6.2), 48px);--control-border-width:1px;--tile-border-width:2px;--control-radius:8px;--compact-radius:6px;--motion-fast:90ms;--motion-base:.17s;--motion-slow:.32s;--ease-out:cubic-bezier(.16, 1, .3, 1);--ease-press:cubic-bezier(.2, 0, 0, 1)}html.theme-switching,html.theme-switching *,html.theme-switching :before,html.theme-switching :after{transition:none!important}*{box-sizing:border-box}html{touch-action:none;overscroll-behavior:none;-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;height:100%;overflow:hidden}body{min-width:320px;height:var(--app-height);min-height:var(--app-height);touch-action:none;overscroll-behavior:none;background:var(--color-page);font-family:var(--font-body);margin:0;overflow:hidden}#root{touch-action:none;height:100%;overflow:hidden}button,a{appearance:none;font:inherit;-webkit-tap-highlight-color:transparent}button{margin:0;padding:0}.app-shell{height:var(--app-height);min-height:0;padding:var(--viewport-padding) var(--viewport-padding) calc(var(--viewport-padding) + env(safe-area-inset-bottom,0px));background:radial-gradient(circle at 14% 12%, var(--color-app-glow-correct), var(--color-transparent) 32%), radial-gradient(circle at 86% 20%, var(--color-title-glow-medium), var(--color-transparent) 28%), radial-gradient(circle at 50% 96%, var(--color-app-glow-error), var(--color-transparent) 34%), var(--color-page);transition:background var(--motion-slow) var(--ease-out), color var(--motion-slow) var(--ease-out);grid-template-rows:minmax(0,1fr) auto;justify-items:center;row-gap:8px;display:grid;overflow:hidden}html.admin-scroll,html.admin-scroll body,html.admin-scroll #root{touch-action:pan-y;overscroll-behavior-y:auto;height:auto;min-height:100%;overflow:visible}.app-shell.admin-shell{height:var(--app-height);min-height:0;padding-bottom:calc(var(--viewport-padding) + env(safe-area-inset-bottom,0px) + var(--app-footer-height));grid-template-rows:minmax(0,1fr);overflow:hidden}.admin-shell .admin-surface{overscroll-behavior-y:contain;touch-action:pan-y pinch-zoom;-webkit-overflow-scrolling:touch;height:100%;min-height:0;overflow-y:auto}.admin-shell .admin-view{overflow:visible}.admin-shell .app-footer{right:0;bottom:env(safe-area-inset-bottom,0px);height:var(--app-footer-height);z-index:5;background:color-mix(in srgb, var(--color-page) 88%, transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);position:fixed;left:0}.game-surface{justify-content:flex-start;gap:var(--surface-gap);width:min(100%,520px);height:100%;min-height:0;animation:shell-enter var(--motion-slow) var(--ease-out) both;flex-direction:column;display:flex;overflow:visible}@keyframes shell-enter{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.app-footer{z-index:1;width:100%;color:var(--color-muted);pointer-events:none;justify-content:center;align-items:center;gap:.34em;font-size:.72rem;font-weight:700;line-height:1;display:inline-flex}.footer-heart{stroke-width:2.4px;width:1em;height:1em;color:var(--color-danger);flex:none}.topbar{padding:2px 0 0;display:block;position:relative}.title-row{justify-content:space-between;align-items:center;gap:12px;width:100%;display:flex}.title-mark{flex-direction:column;align-items:flex-start;width:max-content;display:flex;overflow:visible}.date{color:var(--color-muted);letter-spacing:0;text-transform:capitalize;text-align:left;white-space:nowrap;margin:3px 0 0;font-size:.72rem;font-weight:700}h1,h2{letter-spacing:0;margin:0;line-height:1}h1{font-size:clamp(1.85rem,7vw,2.55rem);font-family:var(--font-title);color:var(--color-text);font-weight:400}.title-mark h1{color:var(--color-title-text);text-shadow:0 1px 0 var(--color-title-glow-soft), 0 10px 30px var(--color-title-glow-medium), 0 20px 60px var(--color-title-glow-wide);margin:0;padding:0;line-height:.98;display:inline-block}.actions{flex:none;justify-content:flex-end;align-items:center;gap:8px;width:auto;display:flex;position:relative}.icon-button,.icon-link{border:var(--control-border-width) solid var(--color-button-border);border-radius:var(--control-radius);background:var(--color-button);width:42px;height:42px;color:var(--color-text);cursor:pointer;box-shadow:0 8px 22px var(--color-button-shadow);transition:transform var(--motion-fast) var(--ease-press), border-color var(--motion-base) var(--ease-out), background var(--motion-base) var(--ease-out), box-shadow var(--motion-base) var(--ease-out);justify-content:center;align-items:center;text-decoration:none;display:inline-flex}.icon-link{gap:8px;width:auto;padding:0 12px;font-weight:800}.icon-button:hover,.icon-link:hover,.key:hover:not(:disabled),.digit-keyboard button:hover:not(:disabled){border-color:var(--color-hover-border)}.icon-button:active,.icon-link:active{transform:translateY(1px)scale(.98)}.icon-button:focus-visible,.icon-link:focus-visible,.key:focus-visible,.digit-keyboard button:focus-visible,.first-guess-chip:focus-visible,.first-guess-dismiss:focus-visible,.menu-item:focus-visible,.login-button:focus-visible,.share-button:focus-visible,.close-button:focus-visible,.profile-emoji:focus-visible,.profile-action-button:focus-visible,.profile-hand-preference button:focus-visible,.letter-joystick:focus-visible,.emoji-choice:focus-visible,.admin-player-card:focus-visible,.admin-search:focus-within,.admin-sort:focus-within{outline:3px solid var(--color-focus-ring);outline-offset:3px}.menu-trigger{z-index:12;position:relative}.star-action.available{border-color:var(--color-present);background:var(--color-present);color:var(--color-on-present);box-shadow:0 0 24px color-mix(in srgb, var(--color-present) 34%, transparent)}.star-action.available svg{fill:currentColor}.star-action.unavailable{opacity:.62;filter:grayscale(.35)}.action-menu{z-index:11;border:1px solid var(--color-modal-border);border-radius:var(--control-radius);background:var(--color-modal);width:min(220px,100vw - 28px);box-shadow:0 18px 60px var(--color-modal-shadow);animation:menu-enter var(--motion-base) var(--ease-out) both;padding:6px;position:absolute;top:calc(100% + 8px);right:0}.menu-item{border-radius:var(--compact-radius);background:var(--color-transparent);width:100%;min-height:42px;color:var(--color-text);cursor:pointer;text-align:left;transition:transform var(--motion-fast) var(--ease-press), background var(--motion-fast) var(--ease-out), color var(--motion-fast) var(--ease-out);border:0;align-items:center;gap:10px;padding:0 10px;font-size:.84rem;font-weight:780;line-height:1;text-decoration:none;display:flex}.menu-item:hover{background:var(--color-surface-strong)}.menu-item.selected{background:var(--color-surface-strong);color:var(--color-accent)}.menu-item.selected svg{color:currentColor}.menu-item.danger{color:var(--color-danger)}.menu-item.danger svg{color:currentColor}.menu-divider{background:var(--color-surface-border);height:1px;margin:6px 4px}.menu-item:active{transform:translateY(1px)scale(.99)}.menu-item svg{width:18px;height:18px;color:var(--color-accent);flex:none}.menu-item-trailing-icon,.theme-check{margin-left:auto}.theme-swatch{border:2px solid var(--color-surface-border);width:18px;height:18px;box-shadow:inset 0 0 0 2px var(--color-page);border-radius:50%;flex:none}html[data-theme=childhood]{--font-body:"Comic Neue", "Comic Sans MS", "Comic Sans", cursive;--font-title:"Comic Neue", "Comic Sans MS", "Comic Sans", cursive}html[data-theme=tricotopia] .app-shell{background:linear-gradient(135deg, #ffffff29 25%, transparent 25%) -8px 0 / 16px 16px, linear-gradient(45deg, #674d6b12 25%, transparent 25%) 0 0 / 16px 16px, var(--color-page)}html[data-theme=tricotopia] .icon-button,html[data-theme=tricotopia] .icon-link,html[data-theme=tricotopia] .key,html[data-theme=tricotopia] .action-menu,html[data-theme=tricotopia] .board,html[data-theme=tricotopia] .mode-option{background-image:repeating-linear-gradient(135deg,#ffffff29 0 1px,#0000 1px 5px),repeating-linear-gradient(45deg,#674d6b0d 0 1px,#0000 1px 5px)}html[data-theme=chromatic] .app-shell{background:radial-gradient(circle at 12% 16%, #47e6ff33, transparent 30%), radial-gradient(circle at 88% 14%, #ff5ac22e, transparent 28%), radial-gradient(circle at 54% 100%, #ffd36624, transparent 34%), var(--color-page)}html[data-theme=chromatic] .title-mark h1{color:#fff;text-shadow:0 1px #1a2030,0 0 8px #def0ffeb,0 0 20px #a0c5ffb8,0 0 38px #f48ee575}html[data-theme=chromatic] .icon-button,html[data-theme=chromatic] .icon-link,html[data-theme=chromatic] .key,html[data-theme=chromatic] .action-menu,html[data-theme=chromatic] .board,html[data-theme=chromatic] .mode-option{background:linear-gradient(var(--color-button), var(--color-button)) padding-box, linear-gradient(115deg, #72f1ff, #b4c3ff 22%, #ffb5e8 46%, #ffe09a 68%, #81ffe1 84%, #72f1ff) border-box;box-shadow:0 8px 24px var(--color-button-shadow), 0 0 14px #94bcff3d;background-size:auto,260% 100%;border-color:#0000;animation:4.5s linear infinite chromatic-sheen}html[data-theme=chromatic] .board{background:linear-gradient(180deg, var(--color-surface-glass), var(--color-surface)) padding-box, linear-gradient(115deg, #72f1ff, #b4c3ff 22%, #ffb5e8 46%, #ffe09a 68%, #81ffe1 84%, #72f1ff) border-box}html[data-theme=chromatic] .key.correct{background:linear-gradient(var(--color-correct), var(--color-correct)) padding-box, linear-gradient(115deg, #72f1ff, #b4c3ff 22%, #ffb5e8 46%, #ffe09a 68%, #81ffe1 84%, #72f1ff) border-box;background-size:auto,260% 100%;border-color:#0000}html[data-theme=chromatic] .key.present{background:linear-gradient(var(--color-present), var(--color-present)) padding-box, linear-gradient(115deg, #72f1ff, #b4c3ff 22%, #ffb5e8 46%, #ffe09a 68%, #81ffe1 84%, #72f1ff) border-box;background-size:auto,260% 100%;border-color:#0000}html[data-theme=chromatic] .key.absent{background:linear-gradient(var(--color-absent), var(--color-absent)) padding-box, linear-gradient(115deg, #72f1ff, #b4c3ff 22%, #ffb5e8 46%, #ffe09a 68%, #81ffe1 84%, #72f1ff) border-box;background-size:auto,260% 100%;border-color:#0000}@keyframes chromatic-sheen{to{background-position:0 0,260% 0}}@media (prefers-reduced-motion:reduce){html[data-theme=chromatic] .icon-button,html[data-theme=chromatic] .icon-link,html[data-theme=chromatic] .key,html[data-theme=chromatic] .action-menu,html[data-theme=chromatic] .board,html[data-theme=chromatic] .mode-option{animation:none}}@keyframes menu-enter{0%{opacity:0;transform:translateY(-4px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.login-screen{text-align:center;flex:auto;place-content:center;justify-items:center;gap:18px;width:100%;min-height:330px;padding:22px 0;display:grid;position:relative;overflow:hidden}.login-copy{z-index:1;gap:10px;display:grid;position:relative}.login-copy h2{font-size:clamp(1.85rem,7vw,2.65rem);font-family:var(--font-title);color:var(--color-title-text);font-weight:400;line-height:1.05}.login-box{z-index:1;border:1px solid var(--color-surface-border);background:linear-gradient(180deg, var(--color-surface-glass), var(--color-surface));width:min(100%,390px);box-shadow:0 22px 56px var(--color-board-shadow);border-radius:24px;justify-items:center;gap:22px;padding:28px;display:grid;position:relative}.login-copy p{color:var(--color-muted);margin:0;font-weight:750}.google-login-button{z-index:1;min-height:44px;position:relative}.google-login-error{z-index:1;color:var(--color-muted);margin:0;position:relative}.login-button{z-index:1;border:var(--control-border-width) solid var(--color-login-button-border);border-radius:var(--control-radius);background:var(--color-login-button-background);min-width:min(100%,260px);min-height:52px;color:var(--color-login-button-text);cursor:pointer;box-shadow:0 10px 28px var(--color-login-button-shadow);transition:transform var(--motion-fast) var(--ease-press), border-color var(--motion-base) var(--ease-out), box-shadow var(--motion-base) var(--ease-out);justify-content:center;align-items:center;gap:10px;padding:0 18px;font-weight:850;text-decoration:none;display:inline-flex;position:relative}.login-button:hover{border-color:var(--color-login-button-hover-border);box-shadow:0 16px 34px var(--color-login-button-shadow)}.login-button:active{transform:translateY(1px)scale(.99)}.google-logo{flex:none;width:21px;height:21px}.play-area{flex:auto;place-items:center;width:100%;min-height:0;display:grid}.profile-view{gap:var(--surface-gap);flex-direction:column;flex:auto;width:100%;min-height:0;display:flex;overflow:hidden}.profile-summary{border:1px solid var(--color-surface-border);border-radius:var(--control-radius);background:linear-gradient(180deg, var(--color-surface-raised), var(--color-surface-soft));box-shadow:0 14px 38px var(--color-board-shadow);flex:none;padding:14px}.profile-head{align-items:center;gap:8px;min-width:0;display:flex}.profile-back{border-color:var(--color-transparent);background:var(--color-transparent);width:24px;height:40px;box-shadow:none;color:var(--color-muted-strong);flex:0 0 24px}.profile-back:hover{border-color:var(--color-transparent);background:var(--color-surface-strong);color:var(--color-text)}.profile-emoji{background:var(--color-transparent);width:44px;height:44px;color:var(--color-text);box-shadow:none;cursor:pointer;transition:transform var(--motion-fast) var(--ease-press), opacity var(--motion-base) var(--ease-out);border:0;border-radius:50%;flex:0 0 44px;place-items:center;font-size:1.72rem;line-height:1;display:grid;position:relative;overflow:visible}.profile-emoji:hover{opacity:.86}.profile-emoji.readonly{cursor:default}.profile-emoji.readonly:hover{opacity:1}.profile-emoji:active{transform:translateY(1px)scale(.98)}.profile-emoji-glyph{line-height:1;display:block}.profile-emoji-edit{border:1px solid var(--color-button-border);background:var(--color-surface-strong);width:17px;height:17px;color:var(--color-text);opacity:.4;pointer-events:none;border-radius:50%;place-items:center;display:grid;position:absolute;bottom:0;right:0}.profile-identity{flex:auto;gap:5px;min-width:0;display:grid}.profile-identity strong{min-width:0;color:var(--color-text);text-overflow:ellipsis;white-space:nowrap;font-size:1rem;font-weight:760;line-height:1.15;overflow:hidden}.profile-identity>span{min-width:0;color:var(--color-muted);text-overflow:ellipsis;white-space:nowrap;font-size:.78rem;font-weight:650;line-height:1.15;overflow:hidden}.profile-form{gap:9px;width:100%;display:grid}.profile-form label{gap:4px;min-width:0;display:grid}.profile-form label span{color:var(--color-muted);text-transform:uppercase;font-size:.7rem;font-weight:900;line-height:1}.profile-form input,.profile-form textarea,.profile-nickname-field{border:1px solid var(--color-button-border);border-radius:var(--compact-radius);background:var(--color-terminal-background);width:100%;min-height:38px;color:var(--color-terminal-text);font:inherit;outline:0;padding:0 10px;font-size:.94rem;font-weight:820}.profile-form textarea{resize:vertical;min-height:78px;padding:9px 10px;line-height:1.28}.profile-hand-preference{border:0;gap:6px;min-width:0;margin:0;padding:0;display:grid}.profile-hand-preference legend,.profile-hand-preference>span{color:var(--color-muted);text-transform:uppercase;padding:0;font-size:.7rem;font-weight:900;line-height:1}.profile-hand-preference>span{text-transform:none;font-size:.78rem;font-weight:680}.profile-hand-preference [role=radiogroup]{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;display:grid}.profile-hand-preference button{border:1px solid var(--color-button-border);border-radius:var(--compact-radius);background:var(--color-button);min-height:34px;color:var(--color-muted);cursor:pointer;font:inherit;font-size:.8rem;font-weight:820}.profile-hand-preference button.selected{border-color:var(--color-primary);background:var(--color-primary);color:var(--color-on-solid)}.profile-hand-preference:disabled button{cursor:default;opacity:.66}.profile-nickname-field{align-items:center;display:flex;overflow:hidden}.profile-nickname-prefix{color:var(--color-muted);-webkit-user-select:none;user-select:none;pointer-events:none;flex:none}.profile-nickname-field input{min-width:0;min-height:0;color:inherit;box-shadow:none;background:0 0;border:0;border-radius:0;padding:0}.profile-form input:focus,.profile-form textarea:focus,.profile-nickname-field:focus-within{border-color:var(--color-hover-border);box-shadow:0 0 0 3px var(--color-focus-ring)}.profile-nickname-field input:focus{box-shadow:none}.profile-form-actions{flex-wrap:wrap;gap:8px;display:flex}.profile-action-button{border:1px solid var(--color-button-border);border-radius:var(--compact-radius);background:var(--color-button);min-height:36px;color:var(--color-text);cursor:pointer;justify-content:center;align-items:center;gap:7px;padding:0 11px;font-size:.84rem;font-weight:850;line-height:1;display:inline-flex}.profile-action-button.primary{border-color:var(--color-primary);background:var(--color-primary);color:var(--color-on-solid)}.profile-action-button.danger{border-color:var(--color-danger);background:color-mix(in srgb, var(--color-danger) 18%, var(--color-button));color:var(--color-danger)}.profile-action-button:disabled{cursor:default;opacity:.66}.profile-bio,.admin-player-bio{min-width:0;color:var(--color-text);overflow-wrap:anywhere;margin:2px 0 0;font-size:.8rem;font-weight:620;line-height:1.32}.admin-player-bio{grid-column:1/-1}.admin-view{gap:var(--surface-gap);flex-direction:column;flex:auto;width:100%;min-height:0;display:flex;overflow:hidden}.admin-toolbar{flex:none;justify-content:space-between;align-items:center;gap:12px;display:flex}.admin-toolbar h2{color:var(--color-text);margin:0;font-size:1.12rem}.admin-toolbar p{color:var(--color-muted);margin:4px 0 0;font-size:.74rem;font-weight:760}.admin-controls{flex:auto;justify-content:flex-end;align-items:center;gap:8px;min-width:0;display:flex}.admin-search{border:1px solid var(--color-button-border);border-radius:var(--control-radius);background:var(--color-button);width:min(210px,100%);min-height:40px;color:var(--color-muted);align-items:center;gap:8px;padding:0 10px;display:flex}.admin-search input{width:100%;min-width:0;color:var(--color-text);font:inherit;background:0 0;border:0;outline:0;font-size:.86rem;font-weight:760}.admin-sort{border:1px solid var(--color-button-border);border-radius:var(--control-radius);background:var(--color-button);min-height:40px;color:var(--color-muted);align-items:center;gap:7px;padding:0 10px;display:flex}.admin-sort span{text-transform:uppercase;font-size:.68rem;font-weight:880}.admin-sort select{min-width:128px;color:var(--color-text);font:inherit;background:0 0;border:0;outline:0;font-size:.78rem;font-weight:800}.admin-loading{place-items:center;min-height:180px;display:grid}.admin-card-grid{overscroll-behavior:contain;flex:auto;align-content:start;gap:9px;min-height:0;padding:2px 2px 12px;display:grid;overflow-y:auto}.admin-player-card{border:1px solid var(--color-surface-border);border-radius:var(--control-radius);background:linear-gradient(180deg, var(--color-surface-raised), var(--color-surface-soft));width:100%;min-height:88px;color:var(--color-text);cursor:pointer;text-align:left;box-shadow:0 10px 28px var(--color-board-shadow);grid-template-columns:44px minmax(0,1fr) auto;grid-template-areas:"emoji main meta""emoji badges badges";align-items:center;gap:8px 10px;padding:11px;display:grid}.admin-player-emoji{grid-area:emoji;place-items:center;width:44px;height:44px;font-size:1.65rem;line-height:1;display:grid}.admin-player-main{grid-area:main;gap:3px;min-width:0;display:grid}.admin-player-main strong,.admin-detail-head strong{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:.98rem;font-weight:830;line-height:1.12;overflow:hidden}.admin-player-main span,.admin-detail-head>div>span{min-width:0;color:var(--color-muted);text-overflow:ellipsis;white-space:nowrap;font-size:.76rem;font-weight:720;overflow:hidden}.admin-player-meta{color:var(--color-muted);white-space:nowrap;grid-area:meta;justify-items:end;gap:3px;font-size:.72rem;font-weight:780;display:grid}.admin-player-badges{flex-wrap:wrap;grid-area:badges;justify-content:flex-end;gap:5px;min-width:0;display:flex}.admin-player-badges span{border:1px solid var(--color-surface-border);border-radius:var(--compact-radius);background:var(--color-surface-strong);min-height:21px;color:var(--color-muted);align-items:center;padding:0 7px;font-size:.68rem;font-weight:840;display:inline-flex}.admin-empty{color:var(--color-muted);text-align:center;margin:22px 0;font-size:.86rem;font-weight:760}.admin-pagination{flex:none;justify-content:space-between;align-items:center;gap:8px;display:flex}.admin-pagination>span{color:var(--color-muted);white-space:nowrap;font-size:.76rem;font-weight:820}.admin-modal{width:min(100%,720px)}.admin-modal-content{gap:14px;display:grid}.admin-detail-head{grid-template-columns:50px minmax(0,1fr);align-items:center;gap:10px;display:grid}.admin-detail-emoji{place-items:center;width:50px;height:50px;font-size:1.95rem;line-height:1;display:grid}.admin-facts{color:var(--color-muted);overflow-wrap:anywhere;grid-column:1/-1;gap:5px;font-size:.74rem;font-weight:700;line-height:1.28;display:grid}.admin-stats-panel,.admin-edit-panel,.admin-confirm-panel,.admin-games-panel{border-top:1px solid var(--color-surface-border);padding-top:14px}.admin-edit-panel{gap:10px;display:grid}.admin-edit-panel label,.admin-confirm-panel{gap:5px;min-width:0;display:grid}.admin-edit-panel label>span{color:var(--color-muted);text-transform:uppercase;font-size:.68rem;font-weight:900}.admin-edit-panel input,.admin-edit-panel textarea,.admin-edit-panel select,.admin-confirm-panel input{border:1px solid var(--color-button-border);border-radius:var(--compact-radius);background:var(--color-terminal-background);width:100%;min-height:38px;color:var(--color-terminal-text);font:inherit;outline:0;padding:0 10px;font-size:.86rem;font-weight:760}.admin-edit-panel textarea{resize:vertical;min-height:78px;padding:9px 10px;line-height:1.28}.admin-edit-panel input:focus,.admin-edit-panel textarea:focus,.admin-edit-panel select:focus,.admin-confirm-panel input:focus{border-color:var(--color-hover-border);box-shadow:0 0 0 3px var(--color-focus-ring)}.admin-edit-panel .profile-nickname-field input{min-width:0;min-height:0;color:inherit;box-shadow:none;background:0 0;border:0;border-radius:0;padding:0}.admin-edit-panel .profile-nickname-field input:focus{box-shadow:none}.admin-check{grid-template-columns:18px minmax(0,1fr);align-items:center}.admin-check input{width:18px;min-height:18px;accent-color:var(--color-primary);padding:0}.admin-actions{flex-wrap:wrap;gap:8px;display:flex}.admin-confirm-panel{border-color:var(--color-present)}.admin-confirm-panel strong{font-size:.9rem}.admin-confirm-panel p{color:var(--color-muted);margin:0;font-size:.82rem;font-weight:720;line-height:1.32}.admin-confirm-panel.danger{border-color:var(--color-danger)}.admin-game-row{border-top:1px solid var(--color-surface-border);padding:12px 0}.admin-game-row:first-of-type{border-top:0}.admin-game-row header{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.admin-game-row header span{border:1px solid var(--color-surface-border);border-radius:var(--compact-radius);color:var(--color-muted);padding:3px 6px;font-size:.68rem;font-weight:850}.admin-game-row p{color:var(--color-muted);margin:6px 0 0;font-size:.76rem;font-weight:700;line-height:1.28}.admin-solution-row{min-height:30px;color:var(--color-muted);justify-content:space-between;align-items:center;gap:8px;margin-top:6px;font-size:.76rem;font-weight:760;line-height:1.28;display:flex}.admin-solution-row span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.admin-eye-button{border:1px solid var(--color-button-border);border-radius:var(--compact-radius);background:var(--color-button);width:30px;height:30px;color:var(--color-accent);cursor:pointer;flex:0 0 30px;place-items:center;display:inline-grid}.admin-eye-button:focus-visible{outline:3px solid var(--color-focus-ring);outline-offset:3px}.admin-eye-button:active{transform:translateY(1px)scale(.98)}.admin-guesses{gap:6px;margin-top:9px;display:grid}.admin-guess{color:var(--color-text);font-family:var(--font-mono);justify-content:space-between;align-items:center;gap:8px;font-size:.78rem;font-weight:800;display:flex}.admin-guess>span:last-child{gap:3px;display:inline-flex}.admin-tile{width:20px;height:20px;color:var(--color-on-solid);border-radius:4px;place-items:center;font-size:.66rem;font-style:normal;line-height:1;display:inline-grid}.admin-tile.correct{background:var(--color-correct)}.admin-tile.present{background:var(--color-present);color:var(--color-on-present)}.admin-tile.absent{background:var(--color-absent)}.admin-tile.hidden{background:var(--color-terminal-background);color:var(--color-muted)}.profile-stats{overscroll-behavior:contain;flex:auto;min-height:0;padding:2px 2px 12px;overflow-y:auto}.profile-stats .stat-grid+.stat-grid{margin-top:8px}.medal-counts{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0 0 10px;display:grid}.medal-counts>h3{color:var(--color-muted);letter-spacing:.08em;text-transform:uppercase;grid-column:1/-1;margin:0 0 2px;font-size:.72rem}.eyebrow{color:var(--color-correct);letter-spacing:.13em;text-transform:uppercase;margin:0;font-size:.72rem;font-weight:800}.hexastar-shell{flex-direction:column;flex:auto;gap:12px;width:min(100%,560px);min-height:0;margin:0 auto;display:flex;overflow:hidden}.hexastar-board{overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch;touch-action:pan-y;scrollbar-gutter:stable;flex-direction:column;flex:auto;gap:10px;width:100%;min-height:0;padding:6px 0;display:flex;overflow-y:auto}.hexastar-attempts{grid-auto-rows:clamp(48px, calc(var(--app-vh) * 7.25), 62px);gap:clamp(5px, calc(var(--app-vh) * 1.1), 10px);flex:none;display:grid}.hexastar-attempt-row,.hexastar-entry .hexastar-syllables,.hexastar-empty-row{gap:8px;width:100%;display:flex}.hexastar-attempt-row{min-height:0}.hexastar-attempt-tile,.hexastar-empty-row span{border:1px solid var(--color-surface-border);border-radius:10px;flex-basis:0;min-width:0}.hexastar-attempt-tile{background:var(--color-surface-raised);animation:marker-reveal .42s var(--ease-out) both;flex-direction:column;justify-content:center;gap:3px;padding:4px 6px;display:flex}.hexastar-attempt-tile.correct{border-color:var(--color-correct)}.hexastar-attempt-tile.present{border-color:var(--color-present)}.hexastar-attempt-tile.absent{border-color:var(--color-surface-border)}.hexastar-attempt-tile .hexastar-syllable-label{font-size:.52rem}.hexastar-attempt-tile .hexastar-letter-slot{min-height:clamp(26px, calc(var(--app-vh) * 4), 34px)}.hexastar-attempt-tile .hexastar-letter-slot strong{font-size:clamp(.88rem,4vw,1.18rem)}.hexastar-attempt-tile .hexastar-letter-slot small{min-height:.55rem;margin-top:1px;font-size:.46rem}.hexastar-empty-row{opacity:.65;min-height:13px}.hexastar-empty-row span{background:var(--color-feedback-empty)}.hexastar-entry{text-align:center;gap:6px;padding:7px 0;display:grid}.hexastar-entry small{color:var(--color-muted);font-size:.7rem;font-weight:800}.hexastar-entry .hexastar-syllables{min-height:78px;transition:gap .36s var(--ease-out), transform .36s var(--ease-out), filter .36s var(--ease-out)}.hexastar-syllable-input{border:1px solid var(--color-terminal-inset-border);background:var(--color-terminal-background);min-width:0;color:var(--color-terminal-text);box-shadow:inset 0 0 0 999px var(--color-terminal-overlay);cursor:pointer;transition:border-radius .36s var(--ease-out), border-color .22s var(--ease-out), background .22s var(--ease-out), transform .36s var(--ease-out);border-radius:13px;flex-direction:column;flex-basis:0;justify-content:center;gap:5px;padding:7px 8px;display:flex}.hexastar-syllable-input:disabled{opacity:1;cursor:default}.hexastar-syllable-input.selected{border-color:var(--color-terminal-cursor);box-shadow:inset 0 0 0 999px var(--color-terminal-overlay), 0 0 0 2px var(--color-terminal-cursor-shadow)}.hexastar-syllable-input.correct{border-color:var(--color-correct);box-shadow:none}.hexastar-syllable-input.present{border-color:var(--color-present);box-shadow:none}.hexastar-syllable-input.absent{border-color:var(--color-surface-border);box-shadow:none}.hexastar-syllable-label{color:var(--color-muted);letter-spacing:.08em;text-align:left;text-transform:uppercase;font-size:.57rem;font-weight:850;line-height:1;display:block}.hexastar-letters{align-items:stretch;gap:4px;min-width:0;display:flex}.hexastar-letter-slot{border:1px solid var(--color-terminal-cell-border);background:color-mix(in srgb, var(--color-terminal-background) 76%, transparent);min-width:0;min-height:38px;font-family:var(--font-mono);color:var(--color-terminal-text);border-radius:7px;flex:1 1 0;align-content:center;place-items:center;display:grid}.hexastar-letter-slot strong{font-size:clamp(1rem,4.7vw,1.45rem);font-weight:900;line-height:1}.hexastar-letter-slot small{color:currentColor;min-height:.7rem;font-family:var(--font-sans);letter-spacing:.04em;margin-top:2px;font-size:.52rem;font-weight:900;line-height:1}.hexastar-letter-slot.correct{border-color:var(--color-correct);background:var(--color-correct);color:var(--color-on-solid)}.hexastar-letter-slot.present{border-color:var(--color-present);background:var(--color-present);color:var(--color-on-present)}.hexastar-letter-slot.absent{border-color:var(--color-absent);background:var(--color-absent);color:var(--color-on-solid)}.hexastar-entry.phase-assembling .hexastar-syllables,.hexastar-entry.phase-won .hexastar-syllables{gap:0;transform:scale(1.025)}.hexastar-entry.phase-assembling .hexastar-syllable-input,.hexastar-entry.phase-won .hexastar-syllable-input{border-radius:0}.hexastar-entry.phase-assembling .hexastar-syllable-input:first-child,.hexastar-entry.phase-won .hexastar-syllable-input:first-child{border-radius:13px 0 0 13px}.hexastar-entry.phase-assembling .hexastar-syllable-input:last-child,.hexastar-entry.phase-won .hexastar-syllable-input:last-child{border-radius:0 13px 13px 0}.hexastar-entry.phase-won .hexastar-syllable-input{border-color:var(--color-correct);box-shadow:0 0 22px color-mix(in srgb, var(--color-correct) 38%, transparent)}.hexastar-entry.phase-rejected .hexastar-syllables{animation:.36s ease-in-out hexastar-reject}.hexastar-entry.phase-separating .hexastar-syllables{animation:hexastar-separate .5s var(--ease-out)}@keyframes hexastar-reject{20%,60%{transform:translate(-7px)}40%,80%{transform:translate(7px)}}@keyframes hexastar-separate{0%{filter:brightness(1.12);gap:0;transform:scale(1.025)}to{filter:brightness();gap:8px;transform:scale(1)}}.hexastar-terminal{border:1px solid var(--color-correct);background:color-mix(in srgb, var(--color-correct) 16%, var(--color-surface-raised));min-height:76px;color:var(--color-text);border-radius:14px;align-content:center;place-items:center;gap:5px;display:grid}.hexastar-terminal.lost{border-color:var(--color-danger);background:color-mix(in srgb, var(--color-danger) 10%, var(--color-surface-raised))}.hexastar-terminal strong{font-family:var(--font-mono);letter-spacing:.08em;font-size:clamp(1.55rem,7vw,2.25rem)}.hexastar-terminal span{color:var(--color-muted);letter-spacing:.12em;font-size:.78rem;font-weight:850}.hexastar-shell>.share-button{align-self:center}.hexastar-tutorial-example{justify-content:center;gap:8px;display:flex}.hexastar-tutorial-example span{border:1px solid var(--color-primary);background:color-mix(in srgb, var(--color-primary) 12%, var(--color-surface));min-width:58px;color:var(--color-text);font-family:var(--font-mono);text-align:center;border-radius:11px;padding:10px;font-weight:900}.sky-shell{gap:14px;width:min(100%,600px);margin:0 auto;display:grid}.sky-heading{justify-content:space-between;align-items:center;gap:12px;display:flex}.sky-heading h2{color:var(--color-text);margin:0}.sky-heading .eyebrow{margin:0 0 3px}.tutorial-help{border:1px solid var(--color-button-border);background:var(--color-button);width:38px;height:38px;color:var(--color-primary);cursor:pointer;border-radius:50%;flex:none;place-items:center;display:grid}.sky-intro{color:var(--color-muted);margin:-7px 0 0;font-size:.82rem;font-weight:680;line-height:1.35}.sky-puzzle{aspect-ratio:1;grid-template-rows:minmax(28px,10%) 1fr minmax(28px,10%);grid-template-columns:minmax(28px,10%) 1fr minmax(28px,10%);gap:5px;width:min(100%,470px);margin:0 auto;display:grid}.sky-grid{aspect-ratio:1;border:2px solid var(--color-primary);border-radius:var(--compact-radius);touch-action:manipulation;-webkit-user-select:none;user-select:none;grid-area:2/2;grid-template-columns:repeat(4,1fr);display:grid;overflow:hidden}.sky-cell{aspect-ratio:1;border:1px solid var(--color-surface-border);background:var(--color-surface-raised);min-width:0;color:var(--color-text);cursor:pointer;touch-action:manipulation;-webkit-user-select:none;user-select:none;border-radius:0;place-items:center;font-size:clamp(1.15rem,7vw,2rem);font-weight:900;display:grid}.sky-cell:nth-child(4n+3){border-left-width:3px;border-left-color:var(--color-primary)}.sky-cell:nth-child(n+9):nth-child(-n+12){border-top-width:3px;border-top-color:var(--color-primary)}.sky-cell.selected{z-index:1;outline:3px solid var(--color-primary);outline-offset:-3px;background:color-mix(in srgb, var(--color-primary) 17%, var(--color-surface-raised));box-shadow:inset 0 0 16px var(--color-focus-ring);position:relative}.sky-cell.danger{z-index:1;border-color:var(--color-danger);outline:3px solid var(--color-danger);outline-offset:-3px;background:color-mix(in srgb, var(--color-danger) 18%, var(--color-surface-raised));color:var(--color-danger);position:relative}.sky-cell.revealed{background:color-mix(in srgb, var(--color-present) 18%, var(--color-surface-raised));color:var(--color-text)}.sky-cell:disabled{cursor:default}.sky-clues{grid-template-columns:repeat(4,1fr);gap:5px;display:grid}.sky-clues.top{grid-area:1/2}.sky-clues.bottom{grid-area:3/2}.sky-clues.left{grid-area:2/1}.sky-clues.right{grid-area:2/3}.sky-clues.vertical{grid-template-rows:repeat(4,1fr);grid-template-columns:1fr}.sky-clues span{border-radius:var(--compact-radius);background:var(--color-primary);min-width:0;min-height:0;color:var(--color-on-solid);place-items:center;font-size:clamp(.78rem,3.5vw,1rem);font-weight:900;display:grid}.sky-keyboard{grid-template-columns:repeat(5,1fr);gap:6px;width:min(100%,470px);margin:0 auto;display:grid}.sky-keyboard button,.sky-check{border:1px solid var(--color-button-border);border-radius:var(--compact-radius);background:var(--color-button);min-height:44px;color:var(--color-text);cursor:pointer;touch-action:manipulation;-webkit-user-select:none;user-select:none;font-weight:900}.sky-keyboard button{font-size:1.05rem}.sky-check{border-color:var(--color-primary);background:var(--color-primary);color:var(--color-on-solid)}.sky-check:disabled,.sky-keyboard button:disabled{cursor:default;opacity:.5}.sky-keyboard .sky-delete{border-color:var(--color-danger);background:color-mix(in srgb, var(--color-danger) 18%, var(--color-button));color:var(--color-danger)}.sky-check{justify-content:center;align-items:center;gap:8px;width:min(100%,470px);margin:0 auto;display:inline-flex}.sky-check span{background:color-mix(in srgb, var(--color-on-solid) 22%, transparent);border-radius:50%;place-items:center;min-width:22px;min-height:22px;display:grid}.sky-result{border-radius:var(--compact-radius);text-align:center;margin:0;padding:10px;font-weight:800}.sky-result.lost{background:color-mix(in srgb, var(--color-danger) 15%, var(--color-surface-raised));color:var(--color-text);gap:4px;display:grid}.sky-result.won{background:color-mix(in srgb, var(--color-correct) 18%, var(--color-surface-raised));color:var(--color-text)}.sky-tutorial{gap:10px;width:min(100%,450px);display:grid}.sky-tutorial h2,.sky-tutorial p{margin:0}.sky-tutorial p{color:var(--color-muted);line-height:1.42}.word-tutorial{gap:12px;display:grid}.word-tutorial h2,.word-tutorial p{margin:0}.word-tutorial>p{color:var(--color-muted);line-height:1.42}.word-tutorial-examples{gap:8px;display:grid}.word-tutorial-examples>div{grid-template-columns:38px 1fr;align-items:center;gap:10px;display:grid}.word-tutorial-examples span{aspect-ratio:1;border-radius:var(--compact-radius);width:38px;color:var(--color-on-solid);place-items:center;font-weight:900;display:grid}.word-tutorial-examples span:has(small){position:relative}.word-tutorial-examples span small{font-size:.48rem;line-height:1;position:absolute;bottom:3px;right:3px}.word-tutorial-examples span.correct{background:var(--color-correct)}.word-tutorial-examples span.present{background:var(--color-present)}.word-tutorial-examples span.absent{background:var(--color-absent)}.word-tutorial-examples p{color:var(--color-muted);font-size:.86rem;line-height:1.32}.word-tutorial-examples strong{color:var(--color-text)}.word-mode-tutorials{gap:8px;display:grid}.word-mode-tutorials section{border:1px solid var(--color-surface-border);border-radius:var(--compact-radius);background:var(--color-surface-soft);padding:10px}.word-mode-tutorials h3{align-items:center;gap:7px;margin:0 0 5px;font-size:.88rem;display:flex}.word-mode-tutorials h3 .classic-mark{width:17px;height:17px}.word-mode-tutorials p{color:var(--color-muted);margin:0;font-size:.8rem;line-height:1.4}.word-mode-tutorials ul{color:var(--color-muted);margin:8px 0 0;padding-left:18px;font-size:.78rem;line-height:1.45}.word-mode-tutorials li+li{margin-top:3px}.word-mode-tutorials strong{color:var(--color-text)}.crab-tutorial-example{align-items:center;gap:5px;margin-top:9px;display:flex}.crab-tutorial-example>span{aspect-ratio:1;border-radius:var(--compact-radius);width:30px;color:var(--color-on-solid);place-items:center;font-weight:900;display:grid}.crab-tutorial-example>span.correct{background:var(--color-correct)}.crab-tutorial-example>span.present{background:var(--color-present);color:var(--color-on-present)}.crab-tutorial-example small{color:var(--color-muted);margin-left:4px;font-size:.68rem;line-height:1.25}.game-stats-tabs{border-radius:var(--control-radius);background:var(--color-surface-soft);grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;margin:8px 0 12px;padding:4px;display:grid}.game-stats-tabs button{border-radius:var(--compact-radius);min-height:34px;color:var(--color-muted);cursor:pointer;background:0 0;border:0}.game-stats-tabs button.selected{color:var(--color-text);background:var(--color-surface-raised);box-shadow:0 3px 12px var(--color-board-shadow)}.daily-game-intro{text-align:center;flex:none}.daily-game-intro.with-help{position:relative}.daily-game-intro.with-help>div{padding:0 44px}.daily-game-intro.with-help .tutorial-help{position:absolute;top:0;right:0}.daily-game-intro h2{margin:2px 0 0}.daily-game-intro p:last-child{max-width:430px;margin:5px auto 0;font-size:.76rem;line-height:1.35}.daily-game-intro strong.correct{color:var(--color-correct)}.daily-game-intro strong.absent{color:var(--color-muted-strong)}.hack-shell{overscroll-behavior:contain;font-variant-numeric:tabular-nums;flex-direction:column;flex:auto;gap:12px;width:min(100%,760px);min-height:0;margin:0 auto;padding:0 2px 18px;display:flex;overflow-y:auto}.hack-status-grid,.hack-stealth-track,.hack-code,.hack-workspace,.hack-inject,.hack-mastery,.hack-granted{flex:none}.hack-heading,.hack-console>header,.hack-log>header,.hack-mastery>header{justify-content:space-between;align-items:center;gap:10px;display:flex}.hack-heading h2{letter-spacing:.04em;margin:0}.hack-kicker{color:var(--color-terminal-text);letter-spacing:.14em;font-size:.68rem;font-weight:900}.hack-status-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;display:grid}.hack-status-grid>div,.hack-metrics>div{border:1px solid var(--color-surface-border);border-radius:var(--compact-radius);background:var(--color-surface-soft);gap:2px;min-width:0;padding:8px;display:grid}.hack-status-grid span,.hack-metrics span{color:var(--color-muted);text-overflow:ellipsis;text-transform:uppercase;font-size:.62rem;overflow:hidden}.hack-status-grid strong{text-overflow:ellipsis;white-space:nowrap;font-size:clamp(.72rem,2vw,.92rem);overflow:hidden}.hack-stealth-track{background:var(--color-surface-border);border-radius:999px;height:5px;overflow:hidden}.hack-stealth-track>span{background:var(--color-terminal-text);height:100%;box-shadow:0 0 12px var(--color-title-glow-medium);transition:width var(--motion-base) var(--ease-out);display:block}.hack-code{grid-template-columns:repeat(6,minmax(0,1fr));gap:7px;display:grid}.hack-code-cell{border:1px solid var(--color-tile-border);border-radius:var(--control-radius);text-align:center;background:var(--color-terminal-background);min-width:0;box-shadow:inset 0 0 18px color-mix(in srgb, var(--color-terminal-text) 4%, transparent);grid-template-rows:auto 1fr auto;gap:3px;padding:5px;display:grid}.hack-code-cell>span{color:var(--color-muted);font-size:.56rem}.hack-code-cell input{width:100%;min-width:0;color:var(--color-terminal-text);text-align:center;text-shadow:0 0 10px var(--color-title-glow-medium);caret-color:var(--color-terminal-cursor);background:0 0;border:0;outline:0;padding:3px 0;font:900 clamp(1.35rem,6vw,2.1rem)/1 monospace}.hack-code-cell input:focus{box-shadow:inset 0 -2px var(--color-terminal-cursor)}.hack-workspace{grid-template-columns:minmax(0,1.35fr) minmax(220px,.9fr);align-items:start;gap:8px;min-height:0;display:grid}.hack-console,.hack-log,.hack-mastery,.hack-granted{border:1px solid var(--color-surface-border);border-radius:var(--control-radius);background:var(--color-surface-soft)}.hack-console,.hack-log{min-height:0;padding:10px}.hack-console{flex-direction:column;align-self:start;min-width:0;min-height:214px;display:flex;overflow:visible}.hack-log{align-self:start;min-width:0}.hack-console>header,.hack-log>header,.hack-mastery>header{color:var(--color-muted);font-size:.68rem}.hack-console>header strong,.hack-log>header strong,.hack-mastery>header strong{color:var(--color-text);letter-spacing:.1em;margin-right:auto}.hack-probe-controls{border:1px solid var(--color-surface-border);border-radius:var(--compact-radius);background:var(--color-surface-raised);min-width:0;margin-top:9px;padding:8px}.hack-probe-tabs{grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;margin:0 0 8px;display:grid}.hack-probe-tabs button{border:1px solid var(--color-surface-border);border-radius:var(--compact-radius);min-width:0;color:var(--color-muted);background:var(--color-surface-raised);cursor:pointer;padding:7px 4px;font-size:.66rem;font-weight:800}.hack-probe-tabs button.selected{border-color:var(--color-terminal-cursor);color:var(--color-terminal-text);box-shadow:0 0 10px var(--color-terminal-cursor-shadow)}.hack-probe-tabs small{opacity:.72}.hack-probe-params{align-items:end;gap:6px;min-width:0;display:flex}.hack-probe-params label{flex:70px;gap:3px;min-width:0;display:grid}.hack-probe-params label span{color:var(--color-muted);font-size:.6rem}.hack-probe-params select{border:1px solid var(--color-surface-border);border-radius:var(--compact-radius);width:100%;min-height:34px;color:var(--color-text);background:var(--color-surface-raised);padding:0 7px}.hack-execute,.hack-inject,.hack-granted button,.launch-cta{border:1px solid var(--color-terminal-cursor);border-radius:var(--compact-radius);min-height:36px;color:var(--color-on-solid);background:var(--color-correct);cursor:pointer;justify-content:center;align-items:center;gap:5px;padding:0 12px;font-weight:900;display:inline-flex}.hack-execute:disabled,.hack-inject:disabled{opacity:.45;cursor:default}.hack-log>div{margin-top:8px}.hack-log p{border-bottom:1px dashed var(--color-surface-border);color:var(--color-muted);margin:0;padding:5px 0;font:.65rem/1.35 monospace}.hack-log p>span{color:var(--color-terminal-text);margin-right:7px}.hack-inject{letter-spacing:.12em;width:100%;min-height:44px;box-shadow:0 8px 20px var(--color-share-button-shadow)}.hack-granted{text-align:center;background:color-mix(in srgb, var(--color-correct) 10%, var(--color-surface-soft));justify-items:center;gap:5px;padding:16px;display:grid}.hack-granted>span{color:var(--color-terminal-text);letter-spacing:.18em;font:900 .75rem monospace}.hack-granted h3{margin:0}.hack-granted>div{display:grid}.hack-granted>div strong{color:var(--color-terminal-text);font-size:2rem;line-height:1}.hack-granted>div small{color:var(--color-muted);font-size:.58rem}.hack-granted p{color:var(--color-muted);margin:1px 0;font-size:.72rem}.hack-mastery{gap:9px;padding:10px;display:grid}.hack-metrics{grid-template-columns:repeat(5,minmax(0,1fr));gap:5px;display:grid}.hack-metrics strong{font-size:1rem}.hack-ranks{grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;display:grid}.hack-ranks>span{color:var(--color-muted);background:var(--color-surface-raised);text-align:center;white-space:nowrap;border-radius:999px;padding:5px 6px;font-size:.58rem}.hack-ranks strong{color:var(--color-text)}.hack-calendar{grid-template-columns:repeat(15,minmax(0,1fr));gap:3px;display:grid}.hack-calendar>span{aspect-ratio:1;background:var(--color-surface-border);border-radius:3px}.hack-calendar>span.rank-ghost{background:var(--color-correct)}.hack-calendar>span.rank-shadow{background:var(--color-terminal-text)}.hack-calendar>span.rank-breach{background:var(--color-present)}.hack-calendar>span.rank-traced{background:var(--color-absent)}.hack-calendar>span.empty{opacity:.42}.hack-tutorial{text-align:center;justify-items:center;gap:10px;display:grid}.hack-tutorial .modal-head{text-align:left;width:100%}.hack-tutorial h2{margin:0}.hack-tutorial p{min-height:58px;color:var(--color-muted);margin:0;line-height:1.45}.hack-tutorial-code{grid-template-columns:repeat(6,minmax(0,42px));gap:5px;display:grid}.hack-tutorial-code i{aspect-ratio:1;border:1px solid var(--color-terminal-cursor);border-radius:var(--compact-radius);color:var(--color-terminal-text);background:var(--color-terminal-background);place-items:center;font:900 1.5rem monospace;display:grid}@media (width<=620px){.hack-status-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hack-workspace{grid-template-columns:minmax(0,1fr)}.hack-console,.hack-log{width:100%}.hack-probe-params{flex-wrap:wrap}.hack-probe-params label{flex:calc(50% - 3px)}.hack-probe-params .hack-execute{flex:1 0 100%;width:100%}.hack-code{gap:4px}.hack-code-cell{padding:3px 2px}.hack-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.hack-ranks{grid-template-columns:repeat(2,minmax(0,1fr))}.hack-calendar{grid-template-columns:repeat(10,minmax(0,1fr))}}@media (prefers-reduced-motion:reduce){.hack-stealth-track>span{transition:none}}.launch-modal{text-align:center}.launch-modal .modal-head{text-align:left}.launch-icon{width:46px;height:46px;color:var(--color-correct);margin-bottom:8px}.launch-modal h2{font-size:1.35rem}.launch-modal p:not(.eyebrow){color:var(--color-muted);line-height:1.45}.launch-cta{width:100%;color:var(--color-on-solid);background:var(--color-correct);margin-top:8px}.leaderboard-wins small{color:var(--color-muted);white-space:nowrap;font-size:.58rem}.medal-count{border:1px solid var(--color-surface-border);border-radius:var(--compact-radius);background:var(--color-surface-soft);grid-template-columns:auto 1fr;align-items:center;column-gap:5px;min-width:0;padding:7px 8px;display:grid}.medal-count>span{grid-row:span 2;font-size:1.2rem}.medal-count strong{font-size:1rem;line-height:1}.medal-count small{color:var(--color-muted);text-overflow:ellipsis;white-space:nowrap;font-size:.67rem;overflow:hidden}.leaderboard-view{gap:var(--surface-gap);flex-direction:column;flex:auto;width:100%;min-height:0;display:flex;overflow:hidden}.leaderboard-head{border:1px solid var(--color-surface-border);border-radius:var(--control-radius);background:linear-gradient(180deg, var(--color-surface-raised), var(--color-surface-soft));box-shadow:0 14px 38px var(--color-board-shadow);align-items:center;gap:8px;padding:12px 14px;display:flex}.leaderboard-head h2{align-items:center;gap:7px;margin:0;font-size:1.08rem;display:flex}.leaderboard-head h2 svg{color:var(--color-accent)}.leaderboard-head p{color:var(--color-muted);margin:2px 0 0;font-size:.76rem}.leaderboard-games,.leaderboard-tabs{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;display:grid}.leaderboard-games button,.leaderboard-tabs button{border:1px solid var(--color-button-border);border-radius:var(--compact-radius);background:var(--color-button);min-height:37px;color:var(--color-text);cursor:pointer;font:inherit;font-size:.77rem;font-weight:750}.leaderboard-games button.selected,.leaderboard-tabs button.selected{border-color:var(--color-primary);background:var(--color-surface-strong);color:var(--color-primary)}.leaderboard-games{border-radius:var(--control-radius);background:var(--color-surface-soft);padding:4px}.leaderboard-games button{color:var(--color-muted);background:0 0;border-color:#0000;font-size:.72rem}.leaderboard-games button.selected{background:var(--color-surface-raised);color:var(--color-text);box-shadow:0 3px 12px var(--color-board-shadow);border-color:#0000}.leaderboard-list{flex-direction:column;flex:auto;gap:7px;min-height:0;margin:0;padding:0 2px 12px;list-style:none;display:flex;overflow-y:auto}.leaderboard-list li{flex:none}.leaderboard-list button{border:1px solid var(--color-surface-border);border-radius:var(--compact-radius);background:var(--color-surface-soft);width:100%;min-height:59px;color:var(--color-text);cursor:pointer;text-align:left;grid-template-columns:28px 38px minmax(0,1fr) auto;align-items:center;gap:8px;padding:7px 10px;display:grid}.leaderboard-list button:hover{border-color:var(--color-primary);background:var(--color-surface-strong)}.leaderboard-rank{background:var(--color-surface-raised);width:25px;height:25px;color:var(--color-muted-strong);border-radius:50%;place-items:center;font-size:.78rem;font-weight:850;display:grid}.leaderboard-rank.rank-1{color:#ae7900}.leaderboard-rank.rank-2{color:#66717a}.leaderboard-rank.rank-3{color:#9b5a28}.leaderboard-emoji{font-size:1.55rem;line-height:1}.leaderboard-player{gap:2px;min-width:0;display:grid}.leaderboard-player strong,.leaderboard-player small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.leaderboard-player strong{font-size:.86rem}.leaderboard-player small{color:var(--color-muted);font-size:.7rem}.leaderboard-wins{color:var(--color-muted);text-align:right;gap:1px;font-size:.67rem;display:grid}.leaderboard-wins strong{color:var(--color-text);font-size:1rem;line-height:1}.leaderboard-empty{border:1px dashed var(--color-surface-border);border-radius:var(--control-radius);min-height:160px;color:var(--color-muted);text-align:center;align-content:center;place-items:center;gap:7px;display:grid}.leaderboard-empty p{margin:0}.emoji-modal{width:min(100%,360px)}.emoji-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;display:grid}.emoji-choice{aspect-ratio:1;border:1px solid var(--color-button-border);border-radius:var(--control-radius);background:var(--color-button);cursor:pointer;min-width:0;transition:transform var(--motion-fast) var(--ease-press), border-color var(--motion-base) var(--ease-out), background var(--motion-base) var(--ease-out);place-items:center;font-size:1.8rem;line-height:1;display:grid}.emoji-choice:hover,.emoji-choice.selected{border-color:var(--color-primary);background:var(--color-surface-strong)}.emoji-choice:active{transform:translateY(1px)scale(.98)}.loading-spinner{place-items:center;width:min(100%,430px);min-height:230px;display:grid}.loading-spinner span{border:4px solid var(--color-loading-spinner-track);border-top-color:var(--color-primary);border-right-color:var(--color-accent);border-radius:50%;width:44px;height:44px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.game-board-wrap{justify-items:center;gap:12px;width:min(100%,430px);display:grid}.mode-selection{gap:12px;width:min(100%,430px);display:grid}.mode-selection h2{color:var(--color-muted);letter-spacing:0;text-align:center;text-transform:uppercase;margin:0;font-size:.82rem;font-weight:900}.mode-selection.compact{gap:8px}.mode-selection.compact h2{display:none}.mode-options{border:var(--control-border-width) solid var(--color-button-border);border-radius:var(--control-radius);background:var(--color-button);width:100%;min-height:40px;display:flex;overflow:hidden}.mode-option,.kitten-button,.mode-badge{border:var(--control-border-width) solid var(--color-button-border);border-radius:var(--control-radius);background:var(--color-button);min-height:40px;color:var(--color-text);text-align:center;justify-content:center;align-items:center;gap:8px;padding:0 12px;font-size:.86rem;font-weight:880;line-height:1;display:inline-flex}.mode-option{cursor:pointer;min-width:44px;transition:flex var(--motion-base) var(--ease-out), transform var(--motion-fast) var(--ease-press), border-color var(--motion-base) var(--ease-out), background var(--motion-base) var(--ease-out);border:0;border-radius:0;flex:1 1 0}.mode-option:hover{border-color:var(--color-hover-border)}.mode-option:active{transform:translateY(1px)scale(.99)}.mode-option.selected{border-color:var(--color-primary);background:var(--color-surface-strong);box-shadow:inset 0 0 0 1px var(--color-share-button-shadow);flex:auto}.classic-mark{background:linear-gradient(90deg, var(--color-correct) 0 33%, var(--color-present) 33% 66%, var(--color-absent) 66% 100%);border-radius:50%;width:18px;height:18px;display:inline-block}.mode-option svg,.kitten-button svg{flex:none}.kitten-button{border-color:var(--color-present);background:var(--color-present);color:var(--color-on-present);cursor:pointer;box-shadow:0 0 18px color-mix(in srgb, var(--color-present) 24%, transparent);transition:transform var(--motion-fast) var(--ease-press), border-color var(--motion-base) var(--ease-out), box-shadow var(--motion-base) var(--ease-out)}.kitten-button:hover{border-color:var(--color-hover-border);box-shadow:0 0 26px color-mix(in srgb, var(--color-present) 32%, transparent)}.kitten-button:active{transform:translateY(1px)scale(.99)}.mode-badge{min-height:30px;color:var(--color-muted-strong);text-transform:uppercase;padding:0 10px;font-size:.75rem}.crab-constraints{border:1px solid color-mix(in srgb, var(--color-present) 52%, var(--color-surface-border));border-radius:var(--compact-radius);background:color-mix(in srgb, var(--color-present) 8%, var(--color-surface-soft));width:100%;min-height:34px;color:var(--color-muted);text-align:center;flex-wrap:wrap;justify-content:center;align-items:center;gap:6px;padding:6px 10px;font-size:.72rem;display:flex}.crab-constraints strong{color:var(--color-text)}.crab-yellow-list{color:var(--color-muted-strong)}.share-button{border:var(--control-border-width) solid var(--color-share-button-border);border-radius:var(--control-radius);background:var(--color-correct);min-height:42px;color:var(--color-on-solid);cursor:pointer;box-shadow:0 0 18px var(--color-share-button-shadow);transition:transform var(--motion-fast) var(--ease-press), border-color var(--motion-base) var(--ease-out), box-shadow var(--motion-base) var(--ease-out);justify-content:center;align-items:center;gap:9px;padding:0 14px;font-size:.9rem;font-weight:850;line-height:1;display:inline-flex}.share-button:hover{border-color:var(--color-hover-border);box-shadow:0 0 26px var(--color-share-button-shadow)}.share-button:active{transform:translateY(1px)scale(.99)}.share-button svg{flex:none}.board{isolation:isolate;border:1px solid var(--color-surface-border);border-radius:var(--control-radius);background:linear-gradient(180deg, var(--color-surface-glass), var(--color-surface));width:100%;box-shadow:0 18px 60px var(--color-board-shadow);grid-template-rows:auto auto auto;place-self:center;gap:16px;padding:12px;display:grid;position:relative}.board:after{content:"";z-index:0;border-radius:var(--compact-radius);pointer-events:none;opacity:0;background:linear-gradient(90deg, transparent, var(--color-title-glow-soft), transparent);filter:blur(16px);height:58px;position:absolute;inset:26px 18px auto;transform:scaleX(.72)}.board>*{z-index:1;position:relative}.board.is-submitting:after{animation:board-word-flash .68s var(--ease-out) both}.board.is-submitting .terminal-input{pointer-events:none;animation:.68s cubic-bezier(.22,.8,.2,1) both submitted-word-departure}.terminal-input{border-radius:var(--compact-radius);background:var(--color-terminal-background);width:100%;min-height:58px;color:var(--color-terminal-text);box-shadow:inset 0 0 0 1px var(--color-terminal-inset-border), inset 0 0 0 999px var(--color-terminal-overlay);font-family:var(--font-mono);transition:box-shadow var(--motion-slow) var(--ease-out), color var(--motion-slow) var(--ease-out);border:0;grid-template-columns:repeat(6,minmax(0,1fr));align-items:center;gap:8px;padding:0;font-size:clamp(1.55rem,7vw,2.15rem);font-weight:850;line-height:1;display:grid}.terminal-input.won{color:var(--color-terminal-won-text);box-shadow:inset 0 0 0 1px var(--color-terminal-won-border), inset 0 0 0 999px var(--color-terminal-overlay), 0 0 0 1px var(--color-terminal-won-ring)}.terminal-input.lost{color:var(--color-terminal-lost-text);box-shadow:inset 0 0 0 1px var(--color-terminal-lost-border), inset 0 0 0 999px var(--color-terminal-overlay), 0 0 0 1px var(--color-terminal-lost-ring)}.terminal-cell{border-bottom:2px solid var(--color-terminal-cell-border);min-width:0;height:100%;color:inherit;font:inherit;text-align:center;text-transform:uppercase;background:0 0;border-top:0;border-left:0;border-right:0;border-radius:0;place-items:center;padding:0;display:grid;position:relative}.terminal-cell:not(:disabled){cursor:pointer}.terminal-cell.selected{border-bottom-color:var(--color-terminal-cursor);box-shadow:inset 0 -2px 0 var(--color-terminal-cursor-shadow)}.terminal-cell.locked{border-bottom-color:var(--color-correct);background:color-mix(in srgb, var(--color-correct) 13%, transparent);color:var(--color-terminal-text);box-shadow:inset 0 -2px 0 color-mix(in srgb, var(--color-correct) 45%, transparent)}.terminal-cell.locked:before{content:"🦀";font-family:sans-serif;font-size:.45rem;line-height:1;position:absolute;top:2px;right:2px}.terminal-cell:focus-visible{outline:2px solid var(--color-terminal-cursor);outline-offset:2px}.terminal-cell span{min-width:1ch;transition:color var(--motion-base) var(--ease-out), text-shadow var(--motion-base) var(--ease-out), transform var(--motion-fast) var(--ease-press), filter var(--motion-base) var(--ease-out);will-change:filter, opacity, transform;display:inline-block}.terminal-cell.filled span{color:var(--color-terminal-text);text-shadow:0 0 5px var(--color-title-glow-soft), 0 0 14px var(--color-title-glow-medium), 0 0 26px var(--color-title-glow-wide);animation:.44s cubic-bezier(.16,.88,.26,1.18) both letter-arrival}@keyframes letter-arrival{0%{opacity:0;filter:blur(11px);transform:translateY(13px)scale(.66)}58%{opacity:1;filter:blur(1.4px);transform:translateY(-2px)scale(1.07)}to{opacity:1;filter:blur();transform:translateY(0)scale(1)}}@keyframes submitted-word-departure{0%{filter:blur();opacity:1;transform:scale(1)}45%{filter:blur(1px);opacity:.94;transform:scale(1.012)}to{filter:blur(9px);opacity:.38;transform:scale(.975)}}@keyframes board-word-flash{0%{opacity:0;transform:scaleX(.72)}38%{opacity:.85;transform:scaleX(1.03)}to{opacity:0;transform:scaleX(1.14)}}.terminal-cell.cursor:after{content:"";background:var(--color-terminal-cursor);width:.72ch;height:1.1em;box-shadow:0 0 10px var(--color-terminal-cursor-shadow);animation:1s step-end infinite terminal-cursor-blink;display:block;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}@keyframes terminal-cursor-blink{0%,49%{opacity:1}50%,to{opacity:0}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:1ms!important;animation-duration:1ms!important;animation-iteration-count:1!important}.terminal-cell.cursor:after{animation:none}}.terminal-input.won .terminal-cell{border-bottom-color:var(--color-terminal-won-cell-border)}.terminal-input.won .terminal-cell.filled span{color:var(--color-terminal-won-filled-text);text-shadow:0 0 6px var(--color-terminal-won-glow-soft), 0 0 16px var(--color-terminal-won-glow-medium), 0 0 30px var(--color-terminal-won-glow-wide)}.terminal-input.lost .terminal-cell{border-bottom-color:var(--color-terminal-lost-cell-border)}.terminal-input.lost .terminal-cell.filled span{color:var(--color-terminal-lost-filled-text);text-shadow:0 0 6px var(--color-terminal-lost-glow-soft), 0 0 16px var(--color-terminal-lost-glow-medium), 0 0 28px var(--color-terminal-lost-glow-wide)}.feedback-board{grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;display:grid}.board-column{min-width:0}.key.correct{background:var(--color-correct);border-color:var(--color-correct);color:var(--color-on-solid)}.key.present{background:var(--color-present);border-color:var(--color-present);color:var(--color-on-present)}.key.absent{background:var(--color-absent);border-color:var(--color-absent);color:var(--color-on-solid)}.key.absent:disabled{opacity:.45}.feedback-stack{height:clamp(62px, calc(var(--app-vh) * 16), 132px);grid-template-rows:repeat(6,minmax(5px,1fr));gap:5px;display:grid}.feedback-marker{background:var(--color-feedback-empty);border:1px solid var(--color-transparent);transform-origin:bottom;width:100%;min-height:5px;transition:background var(--motion-base) var(--ease-out), border-color var(--motion-base) var(--ease-out), transform var(--motion-base) var(--ease-out);border-radius:999px}.feedback-marker.correct{background:var(--color-correct);border-color:var(--color-correct)}.feedback-marker.present{background:var(--color-present);border-color:var(--color-present)}.feedback-marker.absent{background:var(--color-absent);border-color:var(--color-absent)}.feedback-marker.hidden{background:var(--color-terminal-background);min-height:16px;color:var(--color-present);place-items:center;display:grid}.feedback-marker.just-revealed{animation:marker-reveal .42s var(--ease-out) var(--feedback-reveal-delay,0s) both}.feedback-marker.hidden svg{stroke-width:2.7px;width:min(80%,14px);height:min(80%,14px)}@keyframes marker-reveal{0%{opacity:0;filter:blur(8px);transform:translateY(10px)scaleX(.42)scaleY(.3)}62%{opacity:1;filter:blur(.8px);transform:translateY(-1px)scaleX(1.06)scaleY(1.15)}to{opacity:1;filter:blur();transform:translateY(0)scaleX(1)scaleY(1)}}.next-challenge{color:var(--color-muted);text-align:center;margin:-2px 0 0;font-size:clamp(.82rem,3.2vw,.98rem);font-weight:800;line-height:1.25}.next-challenge time{color:var(--color-text);font-variant-numeric:tabular-nums;white-space:nowrap}.keyboard-zone{flex-direction:column;flex:none;gap:6px;width:100%;display:flex}.letter-navigator{-webkit-user-select:none;user-select:none;justify-items:center;width:112px;padding:1px 2px 0;display:grid}.letter-navigator.hand-left{align-self:flex-start}.letter-navigator.hand-right{align-self:flex-end}.letter-joystick{cursor:grab;touch-action:none;opacity:.42;width:108px;height:30px;transition:opacity .26s var(--ease-out);place-items:center;display:grid;position:relative}.letter-joystick:hover,.letter-joystick.engaged,.letter-joystick:focus-visible{opacity:1}.letter-joystick[aria-disabled=true]{cursor:default;opacity:.45}.letter-joystick-track{border:1px solid color-mix(in srgb, var(--color-primary) 72%, transparent);background:color-mix(in srgb, var(--color-primary) 42%, var(--color-terminal-background));width:100%;height:8px;box-shadow:inset 0 1px 2px var(--color-board-shadow), 0 0 14px color-mix(in srgb, var(--color-primary) 28%, transparent);border-radius:999px}.letter-joystick-thumb{border:1px solid color-mix(in srgb, var(--color-primary) 82%, var(--color-button-border));background:radial-gradient(circle at 34% 28%, var(--color-primary), var(--color-primary-strong));width:24px;height:24px;box-shadow:0 3px 9px var(--color-key-shadow), 0 0 12px color-mix(in srgb, var(--color-primary) 46%, transparent);transform:translateX(calc(var(--joystick-rest-offset,0px) + var(--joystick-drag-offset,0px)));transition:transform .24s cubic-bezier(.16, 1, .3, 1), background .18s var(--ease-out), border-color .18s var(--ease-out), box-shadow .18s var(--ease-out);border-radius:50%;position:absolute;left:calc(50% - 12px)}.letter-joystick.engaged .letter-joystick-thumb{border-color:var(--color-hover-border);background:radial-gradient(circle at 34% 28%, var(--color-hover-border), var(--color-primary));box-shadow:0 4px 12px var(--color-key-shadow), 0 0 20px color-mix(in srgb, var(--color-primary) 72%, transparent)}.letter-joystick:active .letter-joystick-thumb{transform:translateX(calc(var(--joystick-rest-offset,0px) + var(--joystick-drag-offset,0px))) scale(.94)}.first-guess-suggestion{width:100%;min-height:30px;color:var(--color-muted);align-items:center;gap:8px;padding:0 4px 0 8px;font-size:.74rem;font-weight:780;line-height:1;display:flex}.first-guess-suggestion span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.first-guess-chip{border:1px solid var(--color-button-border);border-radius:var(--compact-radius);background:var(--color-surface-strong);min-height:28px;color:var(--color-text);cursor:pointer;font-family:var(--font-mono);letter-spacing:0;transition:transform var(--motion-fast) var(--ease-press), border-color var(--motion-fast) var(--ease-out), background var(--motion-fast) var(--ease-out);justify-content:center;align-items:center;padding:0 9px;font-size:.78rem;font-weight:900;line-height:1;display:inline-flex}.first-guess-chip:hover{border-color:var(--color-hover-border)}.first-guess-chip:active{transform:translateY(1px)scale(.985)}.first-guess-dismiss{border:1px solid var(--color-transparent);border-radius:var(--compact-radius);background:var(--color-transparent);width:28px;height:28px;color:var(--color-muted);cursor:pointer;transition:transform var(--motion-fast) var(--ease-press), background var(--motion-fast) var(--ease-out), color var(--motion-fast) var(--ease-out);flex:0 0 28px;place-items:center;margin-left:auto;display:inline-grid}.first-guess-dismiss:hover{background:var(--color-surface-strong);color:var(--color-text)}.first-guess-dismiss:active{transform:translateY(1px)scale(.96)}.keyboard{--letter-key-width:min(42px, calc((100vw - (var(--viewport-padding) * 2) - (var(--keyboard-gap) * 9)) / 10));--wide-key-width:calc(var(--letter-key-width) * 1.45);gap:var(--keyboard-gap);touch-action:manipulation;-webkit-user-select:none;user-select:none;flex-direction:column;flex:none;width:100%;display:flex}.key-row{justify-content:center;gap:var(--keyboard-gap);height:var(--key-row-height);flex:0 0 var(--key-row-height);display:flex}.key{flex:0 0 var(--letter-key-width);min-width:0;height:100%;width:var(--letter-key-width);border:var(--control-border-width) solid var(--color-button-border);border-radius:var(--compact-radius);background:var(--color-key);max-width:none;color:var(--color-key-text);cursor:pointer;box-shadow:0 7px 16px var(--color-key-shadow);touch-action:manipulation;-webkit-user-select:none;user-select:none;transition:transform var(--motion-fast) var(--ease-press), background var(--motion-fast) var(--ease-out), border-color var(--motion-fast) var(--ease-out), box-shadow var(--motion-fast) var(--ease-out), color var(--motion-fast) var(--ease-out);will-change:transform;font-weight:900}.key.wide{flex:0 0 var(--wide-key-width);width:var(--wide-key-width);justify-content:center;align-items:center;max-width:none;display:inline-flex}.key.primary{border-color:var(--color-primary);background:var(--color-primary);color:var(--color-on-solid);box-shadow:0 10px 22px var(--color-share-button-shadow)}.key.primary:hover:not(:disabled){border-color:var(--color-hover-border)}.key.primary:active:not(:disabled){background:var(--color-primary-strong)}.key:disabled{cursor:default;opacity:.7}.key:active:not(:disabled){background:var(--color-key-pressed);box-shadow:0 3px 8px var(--color-key-shadow);transform:translateY(1px)scale(.985)}.modal-backdrop{z-index:30;background:var(--color-modal-backdrop);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);animation:backdrop-enter var(--motion-base) var(--ease-out) both;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.modal{width:min(100%,430px);max-height:min(calc(var(--app-vh) * 92), 680px);border-radius:var(--control-radius);border:1px solid var(--color-modal-border);background:var(--color-modal);color:var(--color-text);box-shadow:0 24px 80px var(--color-modal-shadow);animation:modal-enter var(--motion-slow) var(--ease-out) both;padding:22px;overflow-y:auto}@keyframes backdrop-enter{0%{opacity:0}to{opacity:1}}@keyframes modal-enter{0%{opacity:0;transform:translateY(12px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.modal-head{justify-content:space-between;align-items:center;gap:14px;margin-bottom:18px;display:flex}.modal-head h2{min-width:0;margin:0}.modal h2{font-size:1.35rem}.modal h3{color:var(--color-muted);letter-spacing:0;text-transform:uppercase;margin:18px 0 10px;font-size:.82rem}.info-modal{width:min(100%,380px)}.notification-prompt-modal{width:min(100%,400px)}.notification-prompt-title{align-items:center;gap:10px;display:flex}.notification-prompt-title h2{margin:0}.notification-prompt-icon{background:color-mix(in srgb, var(--color-primary) 18%, var(--color-surface-strong));width:38px;height:38px;color:var(--color-primary);border-radius:50%;flex:none;justify-content:center;align-items:center;display:inline-flex}.notification-prompt-modal p{color:var(--color-muted);margin:0;font-weight:620;line-height:1.5}.notification-prompt-actions{justify-content:flex-end;gap:8px;margin-top:22px;display:flex}.star-reveal-backdrop{background:radial-gradient(circle at 50% 42%, var(--color-title-glow-soft), color-mix(in srgb, var(--color-present) 32%, transparent) 17%, var(--color-title-glow-medium) 36%, var(--color-modal-backdrop) 72%), var(--color-modal-backdrop);overflow:hidden}.star-reveal-backdrop:before{content:"";background:conic-gradient(from 0deg, transparent, var(--color-title-glow-soft), transparent, var(--color-title-glow-medium), transparent, color-mix(in srgb, var(--color-present) 28%, transparent), transparent);opacity:.88;pointer-events:none;position:absolute;inset:-34%}.star-reveal-modal{border-color:var(--color-present);background:linear-gradient(180deg, color-mix(in srgb, var(--color-title-text) 16%, transparent), var(--color-modal)), var(--color-modal);width:min(100%,430px);box-shadow:0 0 0 1px color-mix(in srgb, var(--color-title-text) 26%, transparent), 0 0 60px color-mix(in srgb, var(--color-present) 58%, transparent), 0 24px 90px var(--color-modal-shadow);position:relative}.star-reveal-head{align-items:center;gap:12px}.star-reveal-timer{background:color-mix(in srgb, var(--color-title-text) 18%, transparent);height:8px;box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--color-title-text) 18%, transparent), 0 0 18px color-mix(in srgb, var(--color-present) 20%, transparent);border-radius:999px;flex:auto;margin:-8px 0 18px;position:relative;overflow:hidden}.star-reveal-timer span{border-radius:inherit;background:linear-gradient(90deg, var(--color-present), var(--color-title-text));transform-origin:0;animation:star-reveal-timer var(--star-reveal-duration) linear forwards;position:absolute;inset:0}.star-reveal-grid{gap:9px;display:grid}.star-reveal-row{grid-template-columns:repeat(6,minmax(0,1fr));gap:7px;display:grid}.star-reveal-tile{aspect-ratio:1;border-radius:var(--compact-radius);min-width:0;color:var(--color-on-solid);text-transform:uppercase;box-shadow:inset 0 0 0 1px var(--color-surface-border), 0 10px 22px var(--color-modal-shadow);place-items:center;font-size:clamp(1rem,6vw,1.45rem);font-weight:950;line-height:1;display:grid}.star-reveal-tile.correct{background:var(--color-correct)}.star-reveal-tile.present,.star-reveal-tile.hidden{background:var(--color-present);color:var(--color-on-present)}.star-reveal-tile.absent{background:var(--color-absent)}@keyframes star-reveal-timer{to{transform:scaleX(0)}}.toast{z-index:60;left:50%;top:calc(100% + var(--surface-gap));border:var(--control-border-width) solid var(--color-button-border);border-radius:var(--control-radius);background:var(--color-modal);width:min(100vw - 28px,420px);min-height:44px;color:var(--color-text);box-shadow:0 18px 60px var(--color-modal-shadow);text-align:center;animation:toast-enter var(--motion-base) var(--ease-out) both;justify-content:center;align-items:center;padding:10px 14px;font-size:.9rem;font-weight:850;line-height:1.25;display:flex;position:absolute;transform:translate(-50%)}.toast.success{border-color:var(--color-present);box-shadow:0 0 26px color-mix(in srgb, var(--color-present) 26%, transparent), 0 18px 60px var(--color-modal-shadow)}.toast.error{border-color:var(--color-danger)}.toast.warning{border-color:var(--color-present);color:var(--color-text)}.toast.neutral{border-color:var(--color-accent)}@keyframes toast-enter{0%{opacity:0;transform:translate(-50%,10px)}to{opacity:1;transform:translate(-50%)}}.app-version{color:var(--color-muted);margin:-6px 0 14px;font-size:.92rem;font-weight:780}.repo-panel{border:var(--control-border-width) solid var(--color-metric-border);border-radius:var(--control-radius);background:var(--color-metric-background);align-items:flex-start;gap:14px;padding:16px;display:flex}.repo-panel>svg{color:var(--color-accent);flex:none}.repo-panel h3{margin:0 0 8px}.repo-link{color:var(--color-text);overflow-wrap:anywhere;transition:color var(--motion-fast) var(--ease-out);align-items:center;gap:8px;font-size:.94rem;font-weight:820;text-decoration:none;display:inline-flex}.repo-link:hover{color:var(--color-accent)}.repo-link:focus-visible{outline:3px solid var(--color-focus-ring);outline-offset:3px;border-radius:var(--compact-radius)}.repo-link svg{flex:none}.close-button{width:34px;height:34px;color:var(--color-text);cursor:pointer;transition:transform var(--motion-fast) var(--ease-press), background var(--motion-base) var(--ease-out);background:0 0;border:0;border-radius:50%;flex:none;justify-content:center;align-items:center;padding:0;font-weight:900;display:inline-flex}.close-button:hover{color:var(--color-accent)}.close-button:active{transform:translateY(1px)scale(.98)}.stat-grid{grid-template-columns:repeat(4,1fr);gap:8px;display:grid}.stat-grid.compact{grid-template-columns:repeat(2,1fr);margin-top:8px}.metric{border:var(--control-border-width) solid var(--color-metric-border);border-radius:var(--control-radius);background:var(--color-metric-background);text-align:center;min-width:0;padding:12px 8px}.metric strong{font-size:1.45rem;display:block}.metric span{color:var(--color-muted);font-size:.75rem;font-weight:800;display:block}.distribution{gap:8px;margin-top:22px;display:grid}.distribution-row{grid-template-columns:18px 1fr;align-items:center;gap:8px;font-weight:900;display:grid}.distribution-row div{background:var(--color-track);border-radius:var(--compact-radius);height:24px;box-shadow:inset 0 0 0 1px var(--color-surface-border);overflow:hidden}.distribution-row b{background:var(--color-distribution-bar);min-width:26px;height:100%;color:var(--color-on-solid);transition:width var(--motion-slow) var(--ease-out);justify-content:flex-end;align-items:center;padding:0 8px;font-size:.8rem;display:flex}.result{text-align:center;margin:18px 0 0;font-weight:900}.result.won{color:var(--color-result-won)}.result.lost{color:var(--color-result-lost)}.rat-in-guess{font-size:13px}@media (width<=460px){:root{--viewport-padding:10px;--surface-gap:8px;--keyboard-gap:4px}.app-shell{padding:var(--viewport-padding)}.game-surface{gap:var(--surface-gap)}h1{font-size:1.75rem}.date{font-size:.75rem}.icon-button,.icon-link{width:38px;height:38px}.icon-link{width:auto;min-width:38px;padding:0 10px}.profile-back{flex-basis:24px;width:24px;height:38px}.profile-emoji{flex-basis:42px;width:42px;height:42px;font-size:1.62rem}.login-screen{gap:22px;min-height:320px;padding:18px 0}.login-button{min-width:min(100%,230px)}.admin-toolbar{flex-direction:column;align-items:flex-start}.admin-controls{flex-wrap:wrap;justify-content:stretch;width:100%}.admin-search,.admin-sort{flex:100%}.admin-sort select{width:100%}.admin-pagination{flex-wrap:wrap;justify-content:center}.admin-pagination>span{text-align:center;order:-1;width:100%}.board{gap:12px}.terminal-input{gap:6px;min-height:50px;padding:0;font-size:1.55rem}.feedback-board{gap:6px}.feedback-stack{height:clamp(54px, calc(var(--app-vh) * 14), 104px);gap:4px}.keyboard-zone{gap:4px}.first-guess-suggestion{gap:6px;min-height:28px;padding:0 2px 0 6px;font-size:.7rem}.first-guess-chip{min-height:26px;padding:0 8px;font-size:.74rem}.first-guess-dismiss{flex-basis:26px;width:26px;height:26px}.key-row{gap:var(--keyboard-gap)}.key{font-size:.82rem}.stat-grid{grid-template-columns:repeat(2,1fr)}}html[data-patterns=enabled] .key.correct,html[data-patterns=enabled] .feedback-marker.correct,html[data-patterns=enabled] .star-reveal-tile.correct,html[data-patterns=enabled] .hexastar-letter-slot.correct,html[data-patterns=enabled] .login-decor-tile.correct{background-color:var(--color-correct);background-image:repeating-linear-gradient(135deg,#ffffff4d 0 2px,#0000 2px 7px)}html[data-patterns=enabled] .key.present,html[data-patterns=enabled] .feedback-marker.present,html[data-patterns=enabled] .star-reveal-tile.present,html[data-patterns=enabled] .star-reveal-tile.hidden,html[data-patterns=enabled] .hexastar-letter-slot.present,html[data-patterns=enabled] .login-decor-tile.present{background-color:var(--color-present);background-image:radial-gradient(#2f23004d 1.5px,#0000 1.8px);background-size:7px 7px}html[data-patterns=enabled] .key.absent,html[data-patterns=enabled] .feedback-marker.absent,html[data-patterns=enabled] .star-reveal-tile.absent,html[data-patterns=enabled] .hexastar-letter-slot.absent,html[data-patterns=enabled] .login-decor-tile.absent{background-color:var(--color-absent);background-image:repeating-linear-gradient(45deg,#ffffff4d 0 1px,#0000 1px 7px),repeating-linear-gradient(-45deg,#ffffff4d 0 1px,#0000 1px 7px)}.hexaflow{--flow-ink:#dffaf6;--flow-deep:#092a32;--flow-mint:#6ef0d6;--flow-aqua:#29bfc1;--flow-gold:#ffc65b;width:min(100%,700px);min-height:0;padding:clamp(.75rem,2.8vw,1.4rem) max(1rem,env(safe-area-inset-right)) calc(1.75rem + env(safe-area-inset-bottom)) max(1rem,env(safe-area-inset-left));overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch;touch-action:pan-y;flex:auto;align-content:start;gap:clamp(.65rem,2vw,1rem);margin:0 auto;display:grid;overflow-y:auto}.hexaflow-launch-modal .launch-icon{color:#168b84}.launch-modal-note{opacity:.78;font-size:.9rem}.hexaflow.unavailable{text-align:center;opacity:.8;place-content:center;justify-items:center;min-height:45vh}.hexaflow-head{justify-content:space-between;align-items:end;gap:1rem;padding:.1rem .15rem;display:flex}.hexaflow-head h2{letter-spacing:-.035em;max-width:28rem;margin:.18rem 0 0;font-size:clamp(1.3rem,4.5vw,2rem);line-height:1.03}.text-muted{color:var(--color-muted)}.hexaflow-author{margin:.28rem 0 0;font-size:.72rem;font-weight:650;line-height:1.2}.hexaflow-actions{flex:none;align-items:center;gap:.38rem;display:flex}.hexaflow-head>span{border:1px solid color-mix(in srgb,var(--flow-mint) 38%,transparent);background:var(--color-surface-raised);color:var(--color-text);font-variant-numeric:tabular-nums;border-radius:1.1rem;align-items:baseline;gap:.08rem;padding:.47rem .62rem .4rem;font-size:1.05rem;font-weight:900;line-height:1;display:flex}.hexaflow-head>span i{opacity:.48;font-size:.7em;font-style:normal;font-weight:700}.hexaflow-share{border:1px solid color-mix(in srgb,var(--flow-mint) 35%,var(--color-surface-border));background:var(--color-surface-raised);width:2.18rem;height:2.18rem;color:var(--flow-mint);cursor:pointer;-webkit-tap-highlight-color:transparent;border-radius:50%;place-items:center;padding:0;display:grid}.hexaflow-share:hover{border-color:var(--flow-mint)}.hexaflow-share:focus-visible{outline-offset:2px;outline:2px solid #fff}.hexaflow-current{text-align:center;place-content:center;gap:.08rem;min-height:0;margin:0;padding:0;display:grid;overflow:hidden}.hexaflow-current span{max-width:100%;color:color-mix(in srgb,var(--flow-ink) 85%,var(--color-muted));letter-spacing:.13em;text-overflow:ellipsis;white-space:nowrap;font-size:clamp(.82rem,3.6vw,1rem);font-weight:850;line-height:1.1;overflow:hidden}.hexaflow-current b{color:var(--color-muted);letter-spacing:.09em;text-transform:uppercase;font-size:.55rem;font-weight:800}.hexaflow-current.is-tracing span{color:#fff}.hexaflow-current.is-tracing b{color:var(--flow-mint)}.hexaflow-instruction{color:var(--color-muted);text-align:center;justify-content:center;align-items:center;gap:.36rem;margin:-.28rem 0 .05rem;font-size:.74rem;font-weight:700;line-height:1.3;display:flex}.hexaflow-gesture{background:color-mix(in srgb,var(--flow-mint) 18%,transparent);width:1.22rem;height:1.22rem;color:var(--flow-mint);border-radius:50%;place-items:center;font-size:.88rem;display:grid}.hexaflow>.hexaflow-grid{isolation:isolate;border:1px solid color-mix(in srgb,var(--flow-aqua) 25%,var(--color-surface-border));background:var(--color-surface-soft);touch-action:none;-webkit-user-select:none;user-select:none;border-radius:1rem;grid-template-columns:repeat(6,minmax(0,1fr));gap:clamp(.3rem,1.5vw,.65rem);width:min(100%,31rem);margin:.05rem auto 0;padding:clamp(.35rem,1.2vw,.65rem);display:grid;position:relative}.hexaflow-paths,.hexaflow-active-paths{z-index:0;pointer-events:none;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.hexaflow-active-paths{z-index:1}.hexaflow-path,.hexaflow-active-line{fill:none;stroke-linecap:round;stroke-linejoin:round}.hexaflow-path{stroke-width:5px}.hexaflow-path.theme{stroke:#27a99b}.hexaflow-path.flow{stroke:#df9630}.hexaflow-active-line{stroke:var(--flow-ink);stroke-width:4px}.hexaflow-cell{z-index:2;aspect-ratio:1;width:86%;min-width:0;color:var(--flow-ink);font:inherit;-webkit-tap-highlight-color:transparent;background:#17464c;border:1px solid #5faea8;border-radius:50%;justify-self:center;place-items:center;padding:0;font-size:clamp(1rem,5.1vw,1.5rem);font-weight:900;display:grid;position:relative;overflow:hidden}.hexaflow-cell:hover{border-color:#a6fff4}.hexaflow-cell:active{opacity:.9}.hexaflow-cell-letter{z-index:2;position:relative}.hexaflow-cell small{z-index:3;color:#e7fffb;background:#0c4850;border:1px solid #6ef0d6;border-radius:50%;place-items:center;min-width:1rem;height:1rem;font-size:.55rem;font-weight:900;line-height:1;display:grid;position:absolute;top:.22rem;right:.26rem}.hexaflow-cell small:empty{display:none}.hexaflow-cell.selected{z-index:3;color:#fff;background:#218e8e;border-color:#d7fffa}.hexaflow-cell.theme{color:#fff;background:#278d89;border-color:#6df0db}.hexaflow-cell.flow{color:#573207;background:#e8a13b;border-color:#ffe1a0}.hexaflow-cell:focus-visible{outline-offset:2px;outline:3px solid #fff}@media (width<=420px){.hexaflow{gap:.62rem;padding-inline:.7rem}.hexaflow-head h2{font-size:1.25rem}.hexaflow-head>span{padding:.42rem .5rem .36rem;font-size:.95rem}.hexaflow>.hexaflow-grid{border-radius:1.25rem;gap:.24rem;padding:.28rem}.hexaflow-cell{font-size:clamp(.92rem,5vw,1.12rem)}.hexaflow-cell small{min-width:.84rem;height:.84rem;font-size:.48rem;top:.13rem;right:.13rem}.hexaflow-current{border-radius:.95rem;min-height:3.45rem}.hexaflow-instruction{font-size:.7rem}}.admin-sections{flex-wrap:wrap;justify-content:center;gap:.55rem;display:flex}.hexaflow-complete button,.admin-sections button{font:inherit;border:0;border-radius:.7rem;align-items:center;gap:.35rem;padding:.65rem .85rem;font-weight:700;display:inline-flex}.hexaflow-complete{text-align:center;background:#37a9a029;border-radius:1rem;padding:1rem}.admin-sections{margin:0 auto 1rem}.admin-sections .selected{color:#071f1d;background:#37a9a0}.alert-admin{gap:1rem;display:grid}.alert-form{width:min(100%,720px)}.alert-hint{color:var(--color-muted);margin:0;line-height:1.5}.alert-row{overflow-wrap:anywhere}.alert-row p,.scheduled-alert-body{white-space:pre-wrap}.hexaflow-cms{width:min(100%,76rem);color:var(--color-text);gap:1rem;margin:0 auto;padding:0 0 1rem;display:grid}.cms-kicker{color:var(--color-correct);letter-spacing:.12em;text-transform:uppercase;margin:0 0 .3rem;font-size:.72rem;font-weight:850}.cms-library-header,.cms-editor-header{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.cms-library-header h2,.cms-editor-header h2{margin:0;font-size:clamp(1.4rem,3vw,2rem)}.cms-library-header p:not(.cms-kicker),.cms-editor-header p:not(.cms-kicker),.cms-panel-heading p{color:var(--color-muted);margin:.35rem 0 0;font-size:.86rem;font-weight:620;line-height:1.35}.cms-create-card{border:1px solid var(--color-surface-border);border-radius:var(--control-radius);background:var(--color-surface-soft);box-shadow:0 8px 22px var(--color-board-shadow);align-items:end;gap:.6rem;padding:.7rem;display:flex}.cms-create-card label,.cms-theme,.cms-answer-fields label{color:var(--color-muted);letter-spacing:.03em;gap:.34rem;font-size:.7rem;font-weight:800;display:grid}.cms-create-card input,.cms-theme input,.cms-answer-fields input,.cms-answer-fields select,.cms-answer-word{border:1px solid var(--color-surface-border);border-radius:var(--compact-radius);background:var(--color-surface-raised);min-height:2.55rem;color:var(--color-text);font:inherit;padding:.55rem .7rem;font-size:.9rem;font-weight:650}.cms-primary-button,.cms-create-card button,.cms-answer-actions button{border:1px solid var(--color-correct);border-radius:var(--compact-radius);background:var(--color-correct);min-height:2.55rem;color:var(--color-on-solid);font:inherit;cursor:pointer;justify-content:center;align-items:center;gap:.4rem;padding:.55rem .8rem;font-size:.82rem;font-weight:850;display:inline-flex}.cms-library-panel,.cms-grid-panel,.cms-answers-panel,.cms-progress-card,.cms-theme,.cms-generator,.cms-errors,.cms-actions{border:1px solid var(--color-surface-border);border-radius:calc(var(--control-radius) + 3px);background:linear-gradient(145deg,var(--color-surface-raised),var(--color-surface-soft));box-shadow:0 12px 28px var(--color-board-shadow)}.cms-library-panel{gap:1rem;padding:1rem;display:grid}.cms-month-toolbar{justify-content:center;align-items:center;gap:.7rem;display:flex}.cms-month-toolbar strong{text-align:center;text-transform:capitalize;min-width:12rem;font-size:1rem}.cms-icon-button,.cms-back-button{border:1px solid var(--color-button-border);border-radius:var(--compact-radius);background:var(--color-button);min-height:2.4rem;color:var(--color-text);font:inherit;cursor:pointer;justify-content:center;align-items:center;gap:.35rem;padding:.45rem .65rem;font-size:.8rem;font-weight:800;display:inline-flex}.cms-icon-button{width:2.4rem;padding:0}.cms-puzzle-list{grid-template-columns:repeat(auto-fill,minmax(15rem,1fr));gap:.7rem;display:grid}.cms-puzzle-card{border:1px solid var(--color-surface-border);border-radius:var(--control-radius);background:var(--color-surface-raised);min-height:10rem;color:var(--color-text);text-align:left;cursor:pointer;transition:transform var(--motion-base) var(--ease-out),border-color var(--motion-base) var(--ease-out),box-shadow var(--motion-base) var(--ease-out);align-content:start;gap:.45rem;padding:.9rem;display:grid;position:relative;overflow:hidden}.cms-puzzle-card:hover{border-color:var(--color-correct);box-shadow:0 12px 25px var(--color-board-shadow);transform:translateY(-2px)}.cms-puzzle-card>strong{margin-top:.2rem;font-size:1.02rem}.cms-puzzle-card>span:not(.cms-status):not(.cms-validity){color:var(--color-muted);font-size:.8rem;line-height:1.3}.cms-puzzle-meta{margin-top:auto}.cms-status{background:color-mix(in srgb,var(--color-muted) 18%,transparent);width:max-content;color:var(--color-text);letter-spacing:.04em;text-transform:uppercase;border-radius:999px;padding:.25rem .48rem;font-size:.65rem;font-weight:850}.cms-status.published{background:color-mix(in srgb,var(--color-correct) 20%,transparent);color:var(--color-correct)}.cms-status.draft{background:color-mix(in srgb,var(--color-present) 20%,transparent);color:var(--color-present)}.cms-validity{align-items:center;gap:.25rem;font-size:.68rem;font-weight:800;display:inline-flex;position:absolute;bottom:.75rem;right:.75rem}.cms-validity.valid{color:var(--color-correct)}.cms-validity.invalid{color:var(--color-danger)}.cms-empty{color:var(--color-muted);text-align:center;margin:0;padding:1rem;font-size:.88rem}.cms-editor-header{align-items:center}.cms-editor-header>div{flex:1}.cms-back-button,.cms-editor-header .cms-status{align-self:start}.cms-progress-card{grid-template-columns:repeat(3,minmax(0,1fr));display:grid;overflow:hidden}.cms-progress-card>div{min-width:0;color:var(--color-muted);align-items:center;gap:.55rem;padding:.8rem 1rem;font-size:.78rem;font-weight:650;display:flex}.cms-progress-card>div+div{border-left:1px solid var(--color-surface-border)}.cms-progress-card svg{color:var(--color-correct);flex:none}.cms-progress-card strong{color:var(--color-text)}.cms-progress-card .warning svg,.cms-progress-card .warning strong{color:var(--color-danger)}.cms-progress-card .ready svg,.cms-progress-card .ready strong{color:var(--color-correct)}.cms-theme{color:var(--color-text);padding:.9rem 1rem;font-size:.82rem}.cms-theme input{width:100%}.cms-generator{gap:.8rem;padding:1rem;display:grid}.cms-generator h3{align-items:center;gap:.38rem;display:flex}.cms-generator h3 svg{color:var(--color-correct)}.cms-generator-fields{grid-template-columns:minmax(0,1fr) minmax(12rem,.55fr);gap:.7rem;display:grid}.cms-generator-fields label{color:var(--color-muted);letter-spacing:.03em;gap:.34rem;font-size:.7rem;font-weight:800;display:grid}.cms-generator-fields textarea,.cms-generator-fields input{border:1px solid var(--color-surface-border);border-radius:var(--compact-radius);background:var(--color-surface-raised);width:100%;min-height:2.55rem;color:var(--color-text);font:inherit;resize:vertical;padding:.55rem .7rem;font-size:.9rem;font-weight:650}.cms-generator-fields textarea{min-height:5.55rem}.cms-generator-footer{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.cms-generator-footer p{color:var(--color-muted);margin:0;font-size:.76rem;font-weight:700;line-height:1.35}.cms-generator-footer p.valid{color:var(--color-correct)}.cms-generator-footer p.invalid{color:var(--color-danger)}.cms-generator-footer button{flex:none}.cms-editor-layout{grid-template-columns:minmax(19rem,1.12fr) minmax(19rem,.88fr);align-items:start;gap:1rem;display:grid}.cms-grid-panel,.cms-answers-panel{gap:.85rem;padding:1rem;display:grid}.cms-panel-heading{justify-content:space-between;align-items:start;gap:.8rem;display:flex}.cms-panel-heading h3{margin:0;font-size:1rem}.cms-grid-legend{flex-wrap:wrap;justify-content:flex-end;gap:.3rem;display:flex}.cms-grid-legend span{border-radius:999px;padding:.2rem .4rem;font-size:.62rem;font-weight:800}.cms-grid-legend .selected{color:#125d58;background:#b9ebe7}.cms-grid-legend .covered{background:#37a9a04d}.cms-grid-legend .overlap{color:#8b1f1f;background:#ffd8d8}.cms-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:clamp(.22rem,1vw,.45rem);width:min(100%,32rem);display:grid;position:relative}.cms-grid>div{aspect-ratio:1;border:1px dashed var(--color-surface-border);background:color-mix(in srgb,var(--color-surface-raised) 86%,transparent);border-radius:.55rem;grid-template-rows:1fr 1.25rem;place-items:center;display:grid;position:relative;overflow:hidden}.cms-grid>div.covered{border-style:solid;border-color:#37a9a0}.cms-grid>div.overlap{border-color:var(--color-danger);background:color-mix(in srgb,var(--color-danger) 16%,var(--color-surface-raised))}.cms-grid>div.selected{background:#b9ebe7;box-shadow:inset 0 0 0 2px #168b84}.cms-grid input{width:100%;min-width:0;height:100%;color:var(--color-text);text-align:center;font:inherit;background:0 0;border:0;outline:0;padding:.15rem;font-size:clamp(.88rem,2.3vw,1.25rem);font-weight:900}.cms-grid input:focus{background:color-mix(in srgb,var(--color-correct) 14%,transparent)}.cms-grid button{border:0;border-top:1px solid color-mix(in srgb,var(--color-surface-border) 70%,transparent);width:100%;height:1.25rem;color:var(--color-text);font:inherit;cursor:pointer;background:#37a9a029;font-size:.72rem;font-weight:900;line-height:1}.cms-grid button:disabled{cursor:default;opacity:.45}.cms-grid small{color:var(--color-muted);pointer-events:none;font-size:.45rem;position:absolute;top:.08rem;right:.16rem}.cms-grid-help{color:var(--color-muted);margin:0;font-size:.76rem;line-height:1.35}.cms-grid-help strong{color:var(--color-text)}.cms-answer-actions{flex-wrap:wrap;gap:.45rem;display:flex}.cms-answer-actions button{border-color:var(--color-button-border);background:var(--color-button);color:var(--color-text)}.cms-answer-actions button:disabled,.cms-primary-button:disabled,.cms-actions button:disabled{cursor:default;opacity:.48}.cms-answer-list{gap:.55rem;display:grid}.cms-answer{border:1px solid var(--color-surface-border);border-radius:var(--control-radius);background:var(--color-surface-raised);overflow:hidden}.cms-answer.active{border-color:var(--color-correct);box-shadow:0 0 0 1px color-mix(in srgb,var(--color-correct) 36%,transparent)}.cms-answer-select{width:100%;color:var(--color-text);text-align:left;font:inherit;cursor:pointer;background:0 0;border:0;grid-template-columns:auto 1fr auto;align-items:center;gap:.5rem;padding:.7rem .75rem;display:grid}.cms-answer-select strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.cms-answer-select>span:last-child{color:var(--color-muted);font-size:.72rem;font-weight:700}.cms-answer-type{color:#168b84;text-transform:uppercase;background:#37a9a033;border-radius:999px;padding:.2rem .38rem;font-size:.62rem;font-weight:850}.cms-answer-type.flow{color:#966400;background:#f4c45e47}.cms-answer-fields{border-top:1px solid var(--color-surface-border);grid-template-columns:8.5rem minmax(0,1fr) auto;align-items:end;gap:.5rem;padding:.65rem .75rem .75rem;display:grid}.cms-answer-fields label span{font-size:.62rem}.cms-answer-fields input,.cms-answer-fields select,.cms-answer-word{width:100%;min-width:0}.cms-answer-word{color:var(--color-text);text-overflow:ellipsis;white-space:nowrap;align-items:center;display:flex;overflow:hidden}.cms-delete-answer{border:1px solid color-mix(in srgb,var(--color-danger) 50%,var(--color-button-border));border-radius:var(--compact-radius);width:2.55rem;min-height:2.55rem;color:var(--color-danger);cursor:pointer;background:0 0;place-items:center;display:grid}.cms-errors{border-color:color-mix(in srgb,var(--color-danger) 52%,var(--color-surface-border));background:color-mix(in srgb,var(--color-danger) 12%,var(--color-surface-soft));color:var(--color-text);padding:1rem}.cms-errors>div{color:var(--color-danger);align-items:center;gap:.45rem;display:flex}.cms-errors p{margin:.5rem 0 0 1.65rem;font-size:.82rem;line-height:1.35}.cms-actions{z-index:2;background:color-mix(in srgb,var(--color-surface-raised) 92%,transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.55rem;padding:.65rem;display:flex;position:sticky;bottom:.55rem}.cms-actions button{border:1px solid var(--color-button-border);border-radius:var(--compact-radius);background:var(--color-button);min-height:2.55rem;color:var(--color-text);font:inherit;cursor:pointer;justify-content:center;align-items:center;gap:.4rem;padding:.55rem .8rem;font-size:.82rem;font-weight:850;display:inline-flex}.cms-actions .danger{border-color:color-mix(in srgb,var(--color-danger) 60%,var(--color-button-border));color:var(--color-danger)}.cms-actions .cms-primary-button{border-color:var(--color-correct);background:var(--color-correct);color:var(--color-on-solid)}.cms-confirmation{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.5rem;width:100%;display:flex}.cms-confirmation strong{margin-right:auto}.cms-confirmation span{color:var(--color-muted);font-size:.78rem}@media (width<=760px){.hexaflow-cms{padding:0 0 .75rem}.cms-library-header,.cms-editor-header,.cms-create-card{flex-direction:column;align-items:stretch}.cms-create-card button{width:100%}.cms-progress-card{grid-template-columns:1fr}.cms-progress-card>div+div{border-top:1px solid var(--color-surface-border);border-left:0}.cms-generator-fields{grid-template-columns:1fr}.cms-generator-footer{flex-direction:column;align-items:stretch}.cms-generator-footer button{width:100%}.cms-editor-layout{grid-template-columns:1fr}.cms-grid-legend{justify-content:flex-start}.cms-answer-fields{grid-template-columns:1fr auto}.cms-answer-fields label:first-child,.cms-answer-fields label:nth-child(2){grid-column:1}.cms-delete-answer{grid-area:1/2/span 2}.cms-actions{justify-content:stretch;bottom:.25rem}.cms-actions>button{flex:1}.cms-confirmation{justify-content:stretch}.cms-confirmation strong{width:100%;margin:0}.cms-confirmation span{width:100%}}:root{--control-radius:16px;--compact-radius:10px;--viewport-padding:16px;--surface-gap:12px;--nav-height:70px;--font-title:var(--font-body);--motion-base:.2s}html,body,#root{touch-action:pan-y pinch-zoom}html{scroll-padding-bottom:calc(var(--nav-height) + env(safe-area-inset-bottom,0px) + 16px)}button,a{-webkit-tap-highlight-color:transparent;touch-action:manipulation}button,input,textarea,select{font-family:var(--font-body)}button:focus-visible,a:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--color-accent);outline-offset:3px}::selection{background:var(--color-primary);color:var(--color-on-solid)}*{scrollbar-width:thin;scrollbar-color:var(--color-button-border) transparent}.app-shell{padding:max(12px, env(safe-area-inset-top,0px)) max(16px, env(safe-area-inset-right,0px)) 12px max(16px, env(safe-area-inset-left,0px));background:var(--color-page);row-gap:0}.app-shell.has-navigation{padding-bottom:calc(var(--nav-height) + env(safe-area-inset-bottom,0px) + 12px)}.game-surface{width:min(100%,560px);min-width:0;animation-fill-mode:backwards}.app-footer{display:none}.topbar{z-index:10;border-bottom:1px solid var(--color-surface-border);flex:none;padding:0 0 6px}.title-row{flex-wrap:wrap;gap:8px}.brand-home,.login-brand{align-items:center;gap:10px;display:flex}.brand-heading{font:inherit;margin:0}.topbar .title-row{flex-wrap:nowrap}.topbar .brand-heading{flex:1;min-width:0}.topbar .brand-home{gap:8px;max-width:100%}.topbar .title-mark{width:auto;min-width:0}.topbar .brand-name{font-size:1.3rem}.topbar .brand-symbol{grid-template-columns:repeat(3,7px)}.topbar .brand-symbol i{width:7px;height:11px}.brand-date{color:var(--color-muted);text-transform:capitalize;margin-top:4px;font-size:.6rem;font-weight:400;line-height:1.25}.brand-home{min-height:44px;color:var(--color-text);text-align:left;cursor:pointer;background:0 0;border:0;padding:2px 0}.brand-symbol{flex:none;grid-template-columns:repeat(3,8px);gap:3px;display:grid;transform:rotate(-10deg)}.brand-symbol i{background:var(--color-primary);border-radius:3px;width:8px;height:13px}.brand-symbol i:nth-child(2),.brand-symbol i:nth-child(6){opacity:.45}.brand-symbol i:nth-child(3){background:var(--color-accent)}.brand-name{letter-spacing:-.065em;font-size:1.48rem;font-weight:800;line-height:1}.brand-caption{color:var(--color-muted);letter-spacing:.015em;margin-top:5px;font-size:.62rem;font-weight:500}.title-row>.date{flex-basis:100%;order:3;margin:4px 0 0;font-size:.66rem;font-weight:500}.actions{gap:6px;margin-left:auto}.icon-button,.icon-link,.close-button,.tutorial-help{width:44px;min-width:44px;height:44px;box-shadow:none;border-radius:14px}.icon-button,.icon-link{background:var(--color-surface);border-color:var(--color-surface-border)}.menu-trigger{background:0 0}.action-menu{width:min(290px,100vw - 32px);max-height:calc(var(--app-height) - 150px);touch-action:pan-y pinch-zoom;box-shadow:0 18px 60px var(--color-modal-shadow);border-radius:20px;padding:8px;top:calc(100% + 12px);overflow-y:auto}.menu-item{border-radius:12px;min-height:46px;padding:10px 12px;font-size:.88rem;font-weight:600}.menu-item.selected{background:var(--color-surface-strong)}.menu-divider{margin:6px 8px}.theme-swatch{width:19px;height:19px}.app-navigation{z-index:15;min-height:calc(var(--nav-height) + env(safe-area-inset-bottom,0px));padding:7px max(12px, env(safe-area-inset-right,0px)) calc(7px + env(safe-area-inset-bottom,0px)) max(12px, env(safe-area-inset-left,0px));border-top:1px solid var(--color-surface-border);background:color-mix(in srgb, var(--color-page) 94%, transparent);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;display:grid;position:fixed;bottom:0;left:0;right:0}.nav-item{min-height:54px;color:var(--color-muted);cursor:pointer;transition:background var(--motion-base), color var(--motion-base);background:0 0;border:0;border-radius:14px;flex-direction:column;justify-content:center;align-items:center;gap:5px;padding:7px 4px;font-size:.65rem;font-weight:600;display:flex}.nav-item.active{color:var(--color-primary);background:var(--color-surface-strong)}.nav-item.active svg{stroke-width:2.4px}.nav-item:active{transform:scale(.97)}.game-selector{overscroll-behavior-y:contain;touch-action:pan-y pinch-zoom;flex-direction:column;flex:auto;gap:20px;width:100%;min-height:0;padding:14px 1px 24px;display:flex;overflow-y:auto}.game-selector>*{flex-shrink:0}.daily-welcome{gap:22px;display:grid}.daily-welcome .eyebrow,.login-copy .eyebrow{color:var(--color-primary);letter-spacing:.09em;align-items:center;gap:7px;font-size:.59rem;font-weight:700;display:flex}.live-dot{background:currentColor;border-radius:50%;flex-shrink:0;width:6px;height:6px}.daily-welcome h2{letter-spacing:-.055em;margin:14px 0 10px;font-size:clamp(2rem,8.5vw,3rem);font-weight:700;line-height:1.07}.daily-welcome h2 span{color:var(--color-primary)}.daily-welcome-copy>p:last-child{color:var(--color-muted);margin:0;font-size:.86rem;font-weight:400;line-height:1.5}.daily-progress{background:var(--color-surface);border:1px solid var(--color-surface-border);border-radius:16px;grid-template-columns:36px 1fr;align-items:center;gap:11px;padding:14px;display:grid}.daily-progress-icon{width:36px;height:36px;color:var(--color-primary);background:var(--color-surface-soft);border-radius:11px;place-items:center;display:grid}.daily-progress strong{font-size:.8rem;font-weight:700;display:block}.daily-progress div>span{color:var(--color-muted);margin-top:4px;font-size:.7rem;display:block}.daily-progress-track{grid-column:1/-1;gap:5px;display:flex}.daily-progress-track i{background:var(--color-track);border-radius:8px;flex:1;height:4px}.daily-progress-track i.filled{background:var(--color-primary)}.collection-heading{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:5px 12px;margin-bottom:-6px;display:flex}.collection-heading h3{letter-spacing:-.02em;margin:0;font-size:1rem;font-weight:700}.collection-heading>span{color:var(--color-muted);font-size:.63rem}.game-selector-grid{grid-template-columns:minmax(0,1fr);gap:12px;display:grid}.puzzle-card{--card-ink:#34412b;--card-paper:#e5eddb;--art-node:#f4f8ed;isolation:isolate;border:1px solid color-mix(in srgb, var(--card-ink) 10%, transparent);background:var(--card-paper);min-width:0;color:var(--card-ink);text-align:left;cursor:pointer;transition:transform var(--motion-base) var(--ease-out), box-shadow var(--motion-base) var(--ease-out);border-radius:22px;grid-template-columns:minmax(0,1fr) 105px;gap:12px;padding:18px;display:grid;position:relative;overflow:hidden}.puzzle-card--word{--card-paper:#e7def7;--card-ink:#493469;--art-node:#f7f2ff}.puzzle-card--hack{--card-paper:#e3ecd7;--card-ink:#344c29;--art-node:#f2f7e9}.puzzle-card--sky{--card-paper:#f7e8cc;--card-ink:#715326;--art-node:#fff8e9}.puzzle-card--flow{--card-paper:#d9eee8;--card-ink:#265e52;--art-node:#effaf6}.puzzle-card--star{--card-paper:#f4dfdf;--card-ink:#80484f;--art-node:#fff3f0}.puzzle-card-heading{flex-wrap:wrap;grid-column:1/-1;justify-content:space-between;align-items:center;gap:6px;display:flex}.puzzle-category{letter-spacing:.07em;text-transform:uppercase;font-size:.56rem;font-weight:700}.puzzle-tag,.puzzle-status{background:var(--art-node);border-radius:20px;align-items:center;gap:4px;padding:5px 8px;font-size:.59rem;font-weight:700;display:inline-flex}.puzzle-card-copy{align-content:center;gap:6px;min-width:0;display:grid}.puzzle-card-copy>strong{letter-spacing:-.045em;font-size:1.4rem;font-weight:800;line-height:1}.puzzle-card-copy>span{max-width:28ch;font-size:.75rem;line-height:1.45}.puzzle-card-footer{border-top:1px solid color-mix(in srgb, var(--card-ink) 16%, transparent);grid-column:1/-1;justify-content:space-between;align-items:center;gap:10px;padding-top:12px;font-size:.71rem;font-weight:700;display:flex}.puzzle-card-footer svg{transition:transform var(--motion-base)}.puzzle-card:active:not(:disabled){transform:scale(.98)}.puzzle-card:disabled{cursor:not-allowed;opacity:.65}.puzzle-card:disabled .puzzle-card-footer svg{visibility:hidden}.puzzle-card--featured{grid-template-columns:1fr;gap:18px;padding:20px}.puzzle-card--featured .puzzle-art{grid-area:auto;height:105px}.puzzle-card--featured .puzzle-card-copy>strong{font-size:1.9rem}.puzzle-card--featured .puzzle-card-copy>span{max-width:34ch;font-size:.82rem}.puzzle-card--featured .puzzle-card-footer{background:var(--card-ink);color:var(--card-paper);border:0;border-radius:12px;min-height:44px;padding:12px 15px}html[data-theme=dark] .puzzle-card--word{--card-paper:#393144;--card-ink:#e4d3fc;--art-node:#4b3e5d}html[data-theme=dark] .puzzle-card--hack{--card-paper:#303e29;--card-ink:#d5e7bb;--art-node:#425537}html[data-theme=dark] .puzzle-card--sky{--card-paper:#463c28;--card-ink:#f3d6a3;--art-node:#5a4b30}html[data-theme=dark] .puzzle-card--flow{--card-paper:#263e36;--card-ink:#b9e6d5;--art-node:#355649}html[data-theme=dark] .puzzle-card--star{--card-paper:#473239;--card-ink:#efc9d1;--art-node:#65434c}.daily-note{color:var(--color-muted);justify-content:center;align-items:center;gap:10px;padding:2px 0;display:flex}.daily-note p{margin:0;font-size:.69rem;line-height:1.7}.daily-note p>span{opacity:.85}.puzzle-art{min-width:0;height:75px;color:var(--card-ink);pointer-events:none;grid-area:2/2;place-items:center;display:grid;position:relative}.puzzle-art i{font-style:normal}.art-word-grid{grid-template-columns:repeat(6,1fr);gap:5px;width:min(100%,300px);display:grid;transform:rotate(-7deg)}.art-word-grid i{aspect-ratio:1;border-radius:7px;place-items:center;font-size:clamp(.95rem,4vw,1.45rem);font-weight:800;display:grid;box-shadow:0 3px #49346920}.art-tile-0{color:#fff;background:#79609f}.art-tile-1{color:#3e3120;background:#d9ba77}.art-tile-2{color:#493469;background:#f8f5fc}.art-word-grid .art-tile-outline{color:#795f99;background:#eee7f8;border:1px solid #79609f35}.art-code{color:#d4e9ae;background:#2b3a25;border:1px solid #4b633e;border-radius:10px;width:100%;max-width:166px;padding:9px 12px;transform:rotate(-5deg);box-shadow:4px 5px #344c291a}.art-code-dots{gap:3px;margin-bottom:9px;display:flex}.art-code-dots i{background:#9aaf84;border-radius:50%;width:3px;height:3px}.art-code>span:nth-child(2){font-family:var(--font-mono);justify-content:space-between;gap:4px;font-size:1.2rem;display:flex}.art-code small{letter-spacing:.1em;align-items:center;gap:4px;margin-top:6px;font-size:.4rem;display:flex}.art-code small i{background:#c8e69c;border-radius:50%;width:4px;height:4px}.art-skyline{border-bottom:2px solid #b3956280;justify-content:center;align-items:flex-end;gap:7px;width:100%;height:100%;display:flex}.art-skyline>i{background:#c79f5c;border-radius:4px 4px 0 0;flex-direction:column;align-items:center;gap:5px;width:20%;max-width:30px;padding:6px;display:flex;transform:skewY(-5deg)}.art-skyline>i:nth-child(2n){background:#e0bc7f}.art-skyline b{background:#fff1cd;flex-shrink:0;width:100%;height:5px}.puzzle-art--flow>svg{width:100%;max-width:200px;max-height:100%}.art-syllables{justify-content:center;align-items:center;gap:3px;width:100%;display:flex;position:relative}.art-syllables>i{background:#fff3f0;border-radius:7px;padding:10px 7px;font-size:1rem;font-weight:800;transform:rotate(-12deg)translateY(7px);box-shadow:0 3px #80484f20}.art-syllables>i:nth-child(2){color:#fff;background:#b97980;transform:rotate(8deg)translateY(-7px)}.art-syllables>i:nth-child(3){transform:rotate(15deg)translateY(5px)}.art-syllables svg{width:15px;height:15px;position:absolute;top:-17px;right:6%}.daily-game-intro{padding:9px 0}.daily-game-intro h2{letter-spacing:-.045em;font-size:clamp(1.6rem,7vw,2rem);font-weight:700;line-height:1.1}.daily-game-intro p:last-child{font-size:.8rem;font-weight:400;line-height:1.5}.daily-game-intro .eyebrow{color:var(--color-primary);font-size:.64rem}.daily-game-intro strong.present{color:color-mix(in srgb, var(--color-present) 40%, var(--color-text))}.route-game{--surface-gap:8px}.route-game .game-surface{touch-action:pan-y pinch-zoom;overflow-y:auto}.route-game .play-area{flex:1 0 auto;min-height:min-content}.route-game .game-board-wrap{gap:8px}.route-game .daily-game-intro{text-align:left;padding:2px 0}.route-game .daily-game-intro.with-help>div{grid-template-columns:auto 1fr;align-items:baseline;column-gap:8px;padding:0 48px 0 0;display:grid}.route-game .daily-game-intro .eyebrow{letter-spacing:.07em;font-size:.58rem}.route-game .daily-game-intro h2{margin:0;font-size:1.2rem;line-height:1.2}.route-game .daily-game-intro p:last-child{grid-column:1/-1;max-width:none;margin:4px 0 0;font-size:.72rem;line-height:1.4}.route-game .board{grid-template-rows:none;grid-auto-rows:auto;gap:10px;padding:10px}.route-game .feedback-stack{min-height:min-content}.board{box-shadow:0 4px 16px color-mix(in srgb, var(--color-board-shadow) 45%, transparent);border-radius:20px}.terminal-input{box-shadow:none;color:var(--color-text);font-family:var(--font-body);background:0 0;gap:6px}.terminal-input .terminal-cell{border:1px solid var(--color-tile-border);background:var(--color-surface-soft);border-radius:10px;min-height:48px}.terminal-input .terminal-cell.selected{border:2px solid var(--color-primary);box-shadow:none;background:var(--color-surface-strong)}.terminal-input .terminal-cell.locked{color:var(--color-text);border-color:var(--color-correct);background:color-mix(in srgb, var(--color-correct) 15%, var(--color-surface));box-shadow:none}.terminal-input .terminal-cell.cursor:after{background:var(--color-primary);width:2px;height:23px;box-shadow:none}.terminal-input.won,.terminal-input.lost{box-shadow:none}.terminal-input.won .terminal-cell{border-color:var(--color-correct);background:color-mix(in srgb, var(--color-correct) 15%, var(--color-surface))}.terminal-input.lost .terminal-cell{border-color:var(--color-danger);background:color-mix(in srgb, var(--color-danger) 10%, var(--color-surface))}.terminal-input.won .terminal-cell.filled span,.terminal-input.lost .terminal-cell.filled span{color:var(--color-text);text-shadow:none}.feedback-marker{border-radius:5px}.key{box-shadow:0 2px 0 var(--color-key-shadow);font-weight:700}.key.primary{box-shadow:0 2px 0 var(--color-key-shadow)}.mode-options{border-color:var(--color-surface-border);background:var(--color-surface-soft);gap:4px;padding:4px;overflow:visible}.mode-option{background:0 0;border-radius:10px;gap:5px;min-height:44px;padding:6px;font-size:.71rem;font-weight:600}.mode-option+.mode-option{border-left:0}.mode-options.has-selection .mode-option:not(.selected){flex:1 1 0;padding:6px}.mode-option.selected{background:var(--color-surface);color:var(--color-primary);box-shadow:0 2px 8px var(--color-board-shadow);flex:1 1 0}.mode-option>span[aria-hidden]{flex-shrink:0}.classic-mark{flex-shrink:0;width:14px;height:14px}.hack-shell,.hexaflow,.hexastar-board,.game-selector,.profile-view,.profile-stats,.leaderboard-list{touch-action:pan-y pinch-zoom}.hack-heading,.sky-heading,.hexastar-heading{padding-top:8px}.hack-heading h2,.sky-heading h2,.hexastar-heading h2{letter-spacing:-.04em;font-size:1.75rem;font-weight:700}.hack-kicker,.hack-log p>span,.hack-granted>span{color:var(--color-primary)}.hack-kicker,.sky-heading .eyebrow{letter-spacing:.09em;font-size:.6rem}.hack-stealth-track>span{background:var(--color-primary);box-shadow:none}.hack-code-cell{background:var(--color-surface);border-color:var(--color-tile-border);box-shadow:none;border-radius:12px}.hack-code-cell input{color:var(--color-text);caret-color:var(--color-primary);text-shadow:none;min-height:38px}.hack-code-cell:focus-within{outline:2px solid var(--color-primary);outline-offset:1px}.hack-console,.hack-log,.hack-mastery{background:var(--color-surface);padding:14px}.hack-probe-controls{border:0;padding:0}.hack-probe-tabs button{min-height:44px;font-size:.68rem;font-weight:600}.hack-probe-tabs button.selected{color:var(--color-primary);background:var(--color-surface-strong);border-color:var(--color-primary);box-shadow:none}.hack-probe-params select{min-height:44px;font-size:16px}.hack-probe-params label span{font-size:.68rem}.hack-execute,.hack-inject,.hack-granted button{border-color:var(--color-primary);background:var(--color-primary);min-height:48px;box-shadow:none;letter-spacing:.015em;font-weight:700}.hack-log p{font-size:.71rem;line-height:1.6}.sky-shell{touch-action:pan-y pinch-zoom;flex:auto;align-content:start;min-height:0;padding:0 2px 16px;overflow-y:auto}.sky-intro{font-size:.82rem;font-weight:400;line-height:1.5}.sky-grid{border-color:var(--color-tile-border);border-radius:14px}.sky-cell{font-weight:700}.sky-cell:nth-child(4n+3){border-left-color:var(--color-tile-border);border-left-width:2px}.sky-cell:nth-child(n+9):nth-child(-n+12){border-top-color:var(--color-tile-border);border-top-width:2px}.sky-cell.selected{box-shadow:none;background:var(--color-surface-strong)}.sky-clues span{background:var(--color-surface-strong);color:var(--color-primary);border-radius:8px;font-weight:700}.sky-keyboard button{min-height:48px;box-shadow:0 2px 0 var(--color-key-shadow);font-weight:700}.sky-check{border-radius:14px;min-height:48px;font-weight:700}.hexaflow{--flow-ink:var(--color-text);--flow-mint:var(--color-primary);gap:14px;padding:8px 1px 20px}.hexaflow-head h2{letter-spacing:-.035em;font-size:1.4rem;line-height:1.15}.hexaflow-author{font-weight:400}.hexaflow-current{background:var(--color-surface);border:1px solid var(--color-surface-border);border-radius:16px;min-height:62px;padding:12px}.hexaflow-current span{color:var(--color-text)}.hexaflow-current.is-tracing{background:var(--color-surface-strong);border-color:var(--color-primary)}.hexaflow-current.is-tracing span,.hexaflow-current.is-tracing b{color:var(--color-primary)}.hexaflow-instruction{font-size:.74rem;font-weight:400;line-height:1.5}.hexaflow>.hexaflow-grid{background:var(--color-surface-soft);border:1px solid var(--color-surface-border);border-radius:20px;gap:6px;padding:8px}.hexaflow-cell{background:var(--color-surface);width:100%;color:var(--color-text);border:1px solid var(--color-tile-border);font-weight:700}.hexaflow-cell.selected{color:#fff;background:#218e8e}.hexaflow-cell.theme{color:#fff;background:#278d89}.hexaflow-cell.flow{color:#573207;background:#e8a13b}.hexaflow-cell:focus-visible{outline-color:var(--color-accent)}.profile-view{overflow-y:auto}.profile-view .profile-stats{flex:none;overflow:visible}.profile-summary,.leaderboard-head{background:var(--color-surface);box-shadow:none;border-radius:20px;padding:18px}.profile-emoji{box-shadow:none;border-radius:20px}.profile-identity strong{letter-spacing:-.03em;font-size:1.25rem}.profile-form input,.profile-form textarea,.profile-nickname-field,.admin-search input,.admin-edit-panel input,.admin-edit-panel textarea,.admin-edit-panel select{font-size:16px}.profile-action-button{border-radius:12px;min-height:44px;font-weight:600}.leaderboard-head h2{letter-spacing:-.03em;font-size:1.25rem}.leaderboard-games,.game-stats-tabs{background:var(--color-surface-soft);touch-action:pan-x pinch-zoom;border-radius:14px;flex:none;gap:4px;padding:5px;display:flex;overflow-x:auto}.leaderboard-games button,.game-stats-tabs button{border-radius:10px;flex:none;min-height:44px;padding:8px 13px;font-size:.74rem;font-weight:600}.leaderboard-tabs button{border-radius:12px;min-height:44px;font-size:.75rem;font-weight:600}.leaderboard-list li>button{min-height:76px;box-shadow:none;background:var(--color-surface);border-radius:16px}.leaderboard-list li:first-child>button{border-color:color-mix(in srgb, var(--color-present) 60%, var(--color-surface-border));background:color-mix(in srgb, var(--color-present) 8%, var(--color-surface))}.metric{box-shadow:none;border-radius:14px;padding:15px 8px}.metric strong{letter-spacing:-.05em;font-weight:700}.modal-backdrop{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);place-items:center;padding:12px}.modal{width:min(100%,480px);max-height:calc(var(--app-height) - 40px - env(safe-area-inset-top,0px));padding:22px 18px max(22px, env(safe-area-inset-bottom,0px));touch-action:pan-y pinch-zoom;box-shadow:0 20px 70px var(--color-modal-shadow);border-radius:24px}.modal h2{letter-spacing:-.03em;font-weight:700;line-height:1.15}.modal p{line-height:1.6}.modal-head{gap:12px}.share-button,.notification-prompt-actions button,.launch-actions button{min-height:44px;box-shadow:none;border-radius:12px}.admin-player-card,.cms-library-panel,.cms-grid-panel,.cms-answers-panel,.cms-progress-card,.cms-theme,.cms-generator{box-shadow:none}.app-shell.admin-shell{padding-bottom:calc(var(--nav-height) + env(safe-area-inset-bottom,0px) + 24px)}.admin-shell .cms-actions{bottom:calc(var(--nav-height) + env(safe-area-inset-bottom,0px) + 8px)}.app-shell.login-shell{padding-bottom:max(16px, env(safe-area-inset-bottom,0px));touch-action:pan-y pinch-zoom;display:block;overflow-y:auto}.login-screen{justify-items:stretch;place-content:initial;text-align:left;grid-template-columns:minmax(0,1fr);gap:26px;width:min(100%,1080px);min-height:0;margin:0 auto;padding:4px 2px 24px;display:grid;overflow:visible}.login-brand{margin:4px 0 8px}.login-copy{gap:0}.login-copy .eyebrow{font-size:.56rem}.login-copy h1{font-family:var(--font-body);letter-spacing:-.06em;margin:15px 0;font-size:clamp(2rem,9vw,3.2rem);font-weight:700;line-height:1.08}.login-copy h1 span{color:var(--color-primary)}.login-copy>p:last-child{max-width:35ch;color:var(--color-muted);font-size:.88rem;font-weight:400;line-height:1.6}.login-showcase{--card-ink:#493469;--art-node:#f7f2ff;color:#493469;background:#e7def7;border-radius:24px;gap:20px;padding:20px;display:grid;overflow:hidden}.login-showcase-label{justify-content:space-between;align-items:center;font-size:.71rem;font-weight:600;display:flex}.login-art-main .puzzle-art{height:115px}.login-art-mini{display:none}.login-showcase-caption{text-align:center;letter-spacing:.15em;font-size:.48rem;font-weight:700}.login-box{width:100%;box-shadow:none;background:0 0;border:0;border-radius:0;justify-items:stretch;gap:15px;padding:0}.login-box-heading h2{letter-spacing:-.03em;font-size:1.15rem;font-weight:700;line-height:1.25}.login-box-heading p{color:var(--color-muted);margin:7px 0 0;font-size:.78rem;line-height:1.5}.login-button{width:100%;min-height:52px;box-shadow:0 3px 0 var(--color-button-shadow);border-radius:14px;font-size:.87rem;font-weight:600}.login-button:disabled{opacity:.65;cursor:not-allowed}.login-footnote{color:var(--color-muted);text-align:center;margin:0;font-size:.65rem;line-height:1.5}.google-login-error{border:1px solid color-mix(in srgb, var(--color-danger) 35%, transparent);background:color-mix(in srgb, var(--color-danger) 7%, transparent);border-radius:12px;margin:0;padding:12px;line-height:1.5}@media (width>=380px){.game-selector-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.puzzle-card{grid-template-columns:minmax(0,1fr);gap:14px;padding:16px}.puzzle-card--featured{grid-column:1/-1;grid-template-columns:1fr 1fr;gap:18px;padding:22px}.puzzle-art{grid-area:auto;height:85px}.puzzle-card--featured .puzzle-art{grid-column:1/-1;height:88px}.puzzle-card--featured .puzzle-card-copy,.puzzle-card--featured .puzzle-card-footer{grid-column:1/-1}.puzzle-card-copy>strong{font-size:1.35rem}.puzzle-card-copy>span{min-height:3em;font-size:.72rem}.puzzle-card--featured .puzzle-card-copy>span{min-height:0}.puzzle-card-footer{font-size:.68rem}}@media (width<=599px){.puzzle-card--featured{gap:14px;padding:18px}.puzzle-card--featured .art-word-grid{width:240px;max-width:100%}.puzzle-card--featured .art-word-grid i{font-size:1.05rem}.puzzle-card--featured .puzzle-card-copy>strong{font-size:1.65rem}.puzzle-card--featured .puzzle-card-copy>span{font-size:.77rem}}@media (width>=600px){.app-shell{padding-top:22px;padding-inline:24px}.title-row>.date{order:initial;flex-basis:auto;margin:0 0 0 auto}.actions{margin-left:8px}.brand-caption{font-size:.67rem}.game-selector{gap:24px;padding-top:24px}.daily-welcome h2{font-size:3rem}.puzzle-card{padding:22px}.puzzle-art{height:100px}.puzzle-category{font-size:.62rem}.puzzle-card-copy>strong{font-size:1.55rem}.puzzle-card-copy>span{font-size:.8rem}.puzzle-card--featured{grid-template-columns:1.1fr 1fr}.puzzle-card--featured .puzzle-art{grid-area:2/2/span 2;height:130px}.puzzle-card--featured .puzzle-card-copy{grid-column:1}.puzzle-card--featured .puzzle-card-footer{grid-column:1;align-self:end}.modal-backdrop{align-items:center;padding:24px}.modal{max-height:min(calc(var(--app-height) - 48px), 760px);padding:28px}.app-navigation{width:min(100% - 48px,560px);left:50%;right:auto;bottom:max(12px, env(safe-area-inset-bottom,0px));min-height:var(--nav-height);border:1px solid var(--color-surface-border);box-shadow:0 6px 24px var(--color-board-shadow);border-radius:22px;padding:7px;transform:translate(-50%)}.app-shell.has-navigation{padding-bottom:calc(var(--nav-height) + env(safe-area-inset-bottom,0px) + 28px)}}@media (width>=900px){.route-games .game-surface,.route-profile .game-surface,.route-leaderboard .game-surface,.route-player .game-surface,.route-stats .game-surface{width:min(100%,1080px)}.topbar{padding-bottom:6px}.brand-name{font-size:1.65rem}.brand-symbol{grid-template-columns:repeat(3,9px)}.brand-symbol i{width:9px;height:14px}.daily-welcome{grid-template-columns:1fr 290px;align-items:end;gap:36px}.daily-welcome h2{margin:16px 0 12px;font-size:3.45rem}.daily-progress{margin-bottom:4px;padding:18px}.collection-heading h3{font-size:1.15rem}.collection-heading>span{font-size:.74rem}.game-selector-grid{grid-template-columns:1.2fr 1fr 1fr;gap:16px}.puzzle-card{gap:14px}.puzzle-card--featured{grid-area:1/1/span 2;grid-template-columns:1fr;align-content:start;padding:26px}.puzzle-card--featured .puzzle-art{grid-area:2/1;height:220px}.puzzle-card--featured .puzzle-card-copy{gap:12px}.puzzle-card--featured .puzzle-card-copy>strong{font-size:2.5rem}.puzzle-card--featured .puzzle-card-copy>span{font-size:.93rem;line-height:1.65}.puzzle-card--featured .puzzle-card-footer{margin-top:24px}.puzzle-card:not(.puzzle-card--featured) .puzzle-art{height:72px}.puzzle-card:not(.puzzle-card--featured) .puzzle-card-copy>span{min-height:0}.daily-note{padding:8px 0}.daily-note br{display:none}.daily-note p>span{margin-left:5px}.route-profile .profile-view,.route-player .profile-view,.route-leaderboard .leaderboard-view{max-width:720px;margin-inline:auto;padding-top:16px}.login-screen{min-height:calc(var(--app-height) - 48px);grid-template-rows:auto 1fr auto;grid-template-columns:1fr 1fr;align-content:center;gap:36px 60px;padding:20px 0 36px}.login-brand{grid-column:1/-1}.login-copy{grid-column:1;align-self:end}.login-copy h1{font-size:clamp(2.7rem,4.2vw,4rem)}.login-copy>p:last-child{font-size:1rem}.login-showcase{border-radius:32px;grid-area:2/2/span 2;align-content:space-between;min-height:460px;padding:32px}.login-art-main .puzzle-art{height:170px}.login-art-mini{grid-template-columns:1fr 1fr;gap:24px;display:grid}.login-art-mini .puzzle-art{height:110px}.login-showcase-caption{font-size:.6rem}.login-box{grid-column:1;padding-bottom:24px}}@media (hover:hover) and (pointer:fine){.puzzle-card:hover:not(:disabled){box-shadow:0 10px 24px var(--color-board-shadow);transform:translateY(-4px)}.puzzle-card:hover:not(:disabled) .puzzle-card-footer svg{transform:translate(4px)}.nav-item:hover{background:var(--color-surface-soft);color:var(--color-text)}.nav-item.active:hover{background:var(--color-surface-strong);color:var(--color-primary)}}@media (height<=700px) and (width<=899px){.app-shell{--nav-height:62px;--surface-gap:8px;padding-top:max(8px, env(safe-area-inset-top,0px))}.nav-item{gap:3px;min-height:46px}.topbar{padding-bottom:6px}.daily-game-intro{padding:3px 0}.daily-game-intro h2{font-size:1.5rem}.route-game .brand-caption,.route-hexahack .brand-caption,.route-hexasky .brand-caption,.route-hexaflow .brand-caption,.route-hexastar .brand-caption{display:none}}@media (height<=600px){.route-game .game-surface{touch-action:pan-y pinch-zoom;overflow-y:auto}.route-game .play-area{flex-shrink:0}.route-game .title-row>.date{display:none}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.puzzle-card:hover:not(:disabled),.puzzle-card:active:not(:disabled),.nav-item:active{transform:none}}.app-shell{grid-template-columns:minmax(0,1fr)}body{min-width:0}.game-surface>*,.profile-view,.leaderboard-view,.stats-view,.profile-stats,.profile-head,.profile-identity,.leaderboard-list,.leaderboard-list li,.game-stats-tabs,.leaderboard-games{min-width:0;max-width:100%}.game-stats-tabs,.leaderboard-games{width:100%}.profile-identity strong,.profile-identity>span,.profile-bio{overflow-wrap:anywhere;white-space:normal}.leaderboard-player{min-width:0}.leaderboard-list button{width:100%;min-width:0}.leaderboard-wins{flex-shrink:0}html.page-scroll,html.page-scroll body,html.page-scroll #root,html.zoomed,html.zoomed body,html.zoomed #root{overscroll-behavior:auto;touch-action:pan-x pan-y pinch-zoom;height:auto;min-height:100%;overflow:visible}html.page-scroll .app-shell,html.zoomed .app-shell{height:auto;min-height:var(--app-height);overflow:visible}html.page-scroll .game-surface,html.zoomed .game-surface{height:auto;overflow:visible}html.page-scroll :is(.game-selector,.profile-view,.profile-stats,.leaderboard-view,.leaderboard-list),html.zoomed :is(.game-selector,.profile-view,.profile-stats,.leaderboard-view,.leaderboard-list,.play-area,.sky-shell,.hexaflow,.hexastar-shell,.hexastar-board,.hack-shell){flex:none;height:auto;max-height:none;overflow:visible}html.zoomed .app-navigation{width:100%;max-width:560px;margin:20px auto 0;position:static;transform:none}html.zoomed .app-shell.has-navigation{padding-bottom:max(20px, env(safe-area-inset-bottom,0px))}.puzzle-card.completed{border-color:#639862;box-shadow:0 0 0 1px #68a36950,0 0 14px 4px #6ebd7038,0 0 32px 10px #6ebd701a}.puzzle-card.completed .puzzle-status{color:#28572a;background:#e2f4dd}@media (hover:hover) and (pointer:fine){.puzzle-card.completed:hover{box-shadow:0 0 0 1px #68a36970,0 0 18px 5px #6ebd7048,0 0 36px 12px #6ebd7020}}.account-page-heading{align-items:center;gap:12px;min-width:0;padding:12px 0 4px;display:flex}.account-page-heading>div{min-width:0}.account-page-heading h2{letter-spacing:-.045em;margin:6px 0;font-size:clamp(1.7rem,6vw,2.2rem);font-weight:700;line-height:1.1}.account-page-heading p:not(.eyebrow){color:var(--color-muted);margin:8px 0 0;font-size:.86rem;line-height:1.5}.account-page-heading .eyebrow{font-size:.63rem}.account-page-icon{background:var(--color-surface-strong);width:48px;height:48px;color:var(--color-primary);border-radius:15px;flex-shrink:0;place-items:center;display:grid}.account-panel{border:1px solid var(--color-surface-border);background:var(--color-surface);border-radius:22px;min-width:0;padding:20px}.account-panel h3{letter-spacing:-.02em;align-items:center;gap:8px;margin:0 0 14px;font-size:1rem;font-weight:700;line-height:1.35;display:flex}.account-panel h3 svg{color:var(--color-primary);flex-shrink:0}.account-panel>p{color:var(--color-muted);margin:-4px 0 16px;font-size:.82rem;line-height:1.6}.account-note{color:var(--color-muted);font-size:.78rem;line-height:1.6}.stats-view{gap:20px;width:100%;max-width:720px;margin:0 auto;padding-bottom:24px;display:grid}.stats-detail>.stat-grid+.stat-grid{margin-top:10px}.stats-detail .stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.stats-detail .hack-mastery{border:0;padding:0}.stats-view .account-note{margin:0 4px}.personal-profile{flex-direction:column;gap:20px;padding-bottom:24px;display:flex}.personal-profile>*{flex:none}.profile-hero{border:1px solid var(--color-surface-border);background:var(--color-surface);border-radius:24px;overflow:hidden}.profile-cover{background:var(--color-surface-strong);min-height:108px;color:var(--color-primary);justify-content:flex-end;align-items:center;gap:16px;padding:20px 24px 34px;display:flex;position:relative}.profile-cover svg{opacity:.6;flex-shrink:0}.profile-cover>span{max-width:20ch;font-size:.75rem;font-weight:600;line-height:1.5}.profile-hero-body{flex-wrap:wrap;align-items:center;gap:16px;padding:0 20px 22px;display:flex}.personal-profile .profile-emoji{border:4px solid var(--color-surface);background:var(--color-surface-soft);border-radius:24px;flex:0 0 78px;width:78px;height:78px;margin-top:-24px;font-size:2.6rem;position:relative}.personal-profile .profile-emoji:disabled{cursor:default}.personal-profile .profile-emoji-edit{border:2px solid var(--color-surface);width:23px;height:23px;bottom:-4px;right:-4px}.profile-hero-body .profile-identity{flex:140px;margin-top:12px}.personal-profile .profile-identity strong{font-size:1.5rem;line-height:1.15}.personal-profile .profile-identity>span{margin-top:6px;font-size:.83rem}.profile-hero-body>.profile-action-button{flex-basis:100%;justify-content:center}.personal-profile .profile-bio{flex-basis:100%;margin:0;font-size:.86rem;font-weight:400;line-height:1.65}.personal-profile .empty-bio{color:var(--color-muted)}.profile-sections{grid-template-columns:minmax(0,1fr);gap:16px;display:grid}.profile-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.profile-metrics .metric{padding:18px 8px}.profile-metrics .metric strong{font-size:1.8rem}.profile-metrics .metric span{font-size:.68rem}.profile-text-link{width:100%;min-height:44px;color:var(--color-primary);text-align:left;cursor:pointer;background:0 0;border:0;justify-content:space-between;align-items:center;gap:10px;margin-top:12px;padding:8px 0;font-size:.8rem;font-weight:600;display:flex}.profile-text-link svg{flex-shrink:0}.profile-medals .medal-counts{gap:8px;margin:0}.profile-medals .medal-counts>h3{display:none}.profile-medals .medal-count{border-radius:16px;min-width:0;padding:14px 4px}.profile-game-list{display:grid}.profile-game-row{border:0;border-bottom:1px solid var(--color-surface-border);width:100%;min-width:0;color:var(--color-text);text-align:left;cursor:pointer;background:0 0;align-items:center;gap:12px;padding:14px 0;display:flex}.profile-game-row:last-child{border-bottom:0;padding-bottom:0}.profile-game-row>span:nth-child(2){flex:1;min-width:0}.profile-game-row strong,.profile-game-row small{overflow-wrap:anywhere;display:block}.profile-game-row strong{font-size:.87rem}.profile-game-row small{color:var(--color-muted);margin-top:5px;font-size:.7rem;line-height:1.4}.profile-game-row>svg{color:var(--color-muted);flex-shrink:0}.profile-game-mark{background:var(--color-surface-strong);width:40px;height:40px;color:var(--color-primary);border-radius:12px;flex-shrink:0;place-items:center;font-weight:700;display:grid}.profile-game-row--hexaword .profile-game-mark{color:#493469;background:#e7def7}.profile-game-row--hexasky .profile-game-mark{color:#715326;background:#f7e8cc}.profile-game-row--hexaflow .profile-game-mark{color:#265e52;background:#d9eee8}.profile-game-row--hexastar .profile-game-mark{color:#80484f;background:#f4dfdf}.profile-account{border-top:1px solid var(--color-surface-border);gap:6px;margin-top:8px;padding-top:16px;display:grid}.profile-account span{color:var(--color-muted);font-size:.7rem}.profile-account strong{overflow-wrap:anywhere;font-size:.8rem;font-weight:500}.profile-editor{scroll-margin-top:16px}.profile-editor .profile-form{gap:18px;min-width:0}.profile-editor .profile-form input,.profile-editor .profile-form textarea{width:100%;min-width:0}.profile-editor .profile-form label{min-width:0}.profile-editor .profile-form label>span{font-size:.76rem}.profile-editor .profile-form label>small{color:var(--color-muted);justify-self:end;font-size:.68rem}.profile-editor .profile-hand-preference{min-width:0;margin:0}.profile-form-actions{flex-wrap:wrap}.profile-form-actions>button{flex:1;justify-content:center}@media (width>=600px){.profile-hero-body>.profile-action-button{flex-basis:auto}.profile-cover{min-height:130px}.stats-detail .stat-grid:not(.compact){grid-template-columns:repeat(4,minmax(0,1fr))}}@media (width>=900px){.route-profile .personal-profile{max-width:900px}.profile-sections{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr)}.profile-games{grid-column:1}.profile-preferences{grid-column:2}.account-panel{padding:24px}}@media (height<=600px){html,body,#root{height:auto;min-height:100%;overflow:visible}.app-shell{height:auto;min-height:var(--app-height);overflow:visible}.game-surface{height:auto;overflow:visible}.game-surface>:is(.play-area,.sky-shell,.hexaflow,.hexastar-shell,.hack-shell){flex:none;height:auto;overflow:visible}.hexastar-board{flex:none;overflow:visible}}html:not(.zoomed) .app-shell.route-hexaflow{height:var(--app-height);--surface-gap:6px;min-height:0}html:not(.zoomed) .route-hexaflow .game-surface{height:100%;min-height:0}.route-hexaflow .game-surface>.hexaflow:not(.unavailable){flex-direction:column;flex:1 1 0;gap:6px;min-height:0;padding:0;display:flex;overflow:visible}.hexaflow-head{flex:none;align-items:center;gap:8px}.hexaflow-head>div{min-width:0}.hexaflow-head .eyebrow{align-items:center;gap:8px;margin:0;font-size:.6rem;display:flex}.hexaflow-head h2{overflow-wrap:anywhere;margin-top:3px;font-size:1.05rem;line-height:1.2}.hexaflow-progress{color:var(--color-primary);font-variant-numeric:tabular-nums}.hexaflow-help{border:1px solid var(--color-surface-border);background:var(--color-surface);width:44px;height:44px;color:var(--color-primary);cursor:pointer;border-radius:14px;flex:0 0 44px;place-items:center;padding:0;display:grid}.hexaflow .hexaflow-current{border-radius:10px;flex:none;justify-content:space-between;align-items:center;gap:8px;min-height:34px;padding:8px 10px;display:flex}.hexaflow-current span{letter-spacing:.04em;min-width:0;font-size:.78rem}.hexaflow-current b{flex-shrink:0}.hexaflow-board-space{flex:1 1 0;place-items:center;width:100%;min-height:0;display:grid;container-type:size}.hexaflow-board-space>.hexaflow-grid{isolation:isolate;grid-template-columns:repeat(6,minmax(0,1fr));grid-template-rows:repeat(var(--flow-rows), minmax(0, 1fr));width:min(100cqw, calc(100cqh * 6 / var(--flow-rows)), 31rem);aspect-ratio:6 / var(--flow-rows);background:var(--color-surface-soft);border:1px solid var(--color-surface-border);touch-action:none;-webkit-user-select:none;user-select:none;border-radius:16px;gap:4px;margin:0;padding:5px;display:grid;position:relative}.hexaflow-board-space .hexaflow-cell{aspect-ratio:auto;width:100%;height:100%;min-height:0;font-size:clamp(.8rem,4cqh,1.4rem)}.hexaflow-details{max-height:calc(100dvh - 32px);color:var(--color-text);margin:auto;position:fixed;inset:0;overflow-y:auto}.hexaflow-details::backdrop{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#10251a88}.hexaflow-details p{font-size:.85rem;line-height:1.6}.hexaflow-share-details{border:1px solid var(--color-surface-border);background:var(--color-surface-soft);width:100%;min-height:44px;color:var(--color-text);cursor:pointer;border-radius:12px;justify-content:center;align-items:center;gap:8px;display:flex}html.zoomed .route-hexaflow .hexaflow-board-space{flex:none;height:max(400px,70vh)}@media (width>=600px) and (height<=500px){.route-hexaflow .game-surface>.hexaflow:not(.unavailable){grid-template-rows:auto minmax(0,1fr);grid-template-columns:minmax(0,180px) minmax(0,1fr);column-gap:16px;display:grid}.hexaflow .hexaflow-current{flex-direction:column;align-self:start;align-items:flex-start}.hexaflow-board-space{grid-area:1/2/-1;height:100%}}
