@font-face{font-family:Midstar;src:url(/fonts/Midstar_Personal_Use.otf)format("opentype");font-display:block;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:block;font-style:normal;font-weight:100}@font-face{font-family:Creato Display;src:url(/fonts/CreatoDisplay-ThinItalic.otf)format("opentype");font-display:block;font-style:italic;font-weight:100}@font-face{font-family:Creato Display;src:url(/fonts/CreatoDisplay-Light.otf)format("opentype");font-display:block;font-style:normal;font-weight:300}@font-face{font-family:Creato Display;src:url(/fonts/CreatoDisplay-LightItalic.otf)format("opentype");font-display:block;font-style:italic;font-weight:300}@font-face{font-family:Creato Display;src:url(/fonts/CreatoDisplay-Regular.otf)format("opentype");font-display:block;font-style:normal;font-weight:400}@font-face{font-family:Creato Display;src:url(/fonts/CreatoDisplay-RegularItalic.otf)format("opentype");font-display:block;font-style:italic;font-weight:400}@font-face{font-family:Creato Display;src:url(/fonts/CreatoDisplay-Medium.otf)format("opentype");font-display:block;font-style:normal;font-weight:500}@font-face{font-family:Creato Display;src:url(/fonts/CreatoDisplay-MediumItalic.otf)format("opentype");font-display:block;font-style:italic;font-weight:500}@font-face{font-family:Creato Display;src:url(/fonts/CreatoDisplay-Bold.otf)format("opentype");font-display:block;font-style:normal;font-weight:700}@font-face{font-family:Creato Display;src:url(/fonts/CreatoDisplay-BoldItalic.otf)format("opentype");font-display:block;font-style:italic;font-weight:700}@font-face{font-family:Creato Display;src:url(/fonts/CreatoDisplay-ExtraBold.otf)format("opentype");font-display:block;font-style:normal;font-weight:800}@font-face{font-family:Creato Display;src:url(/fonts/CreatoDisplay-ExtraBoldItalic.otf)format("opentype");font-display:block;font-style:italic;font-weight:800}@font-face{font-family:Creato Display;src:url(/fonts/CreatoDisplay-Black.otf)format("opentype");font-display:block;font-style:normal;font-weight:900}@font-face{font-family:Creato Display;src:url(/fonts/CreatoDisplay-BlackItalic.otf)format("opentype");font-display:block;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;--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}.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-decor{pointer-events:none;position:absolute;inset:0}.login-decor-tile{top:var(--tile-y);left:var(--tile-x);width:clamp(38px, var(--tile-width), 92px);height:clamp(7px, calc(var(--app-vh) * 1.55), 13px);border:1px solid var(--color-transparent);opacity:0;transform:translate(-50%, -50%) scaleX(var(--tile-scale));transform-origin:50%;box-shadow:0 12px 32px var(--color-board-shadow), 0 0 18px currentColor;animation:login-marker-drift var(--tile-duration) cubic-bezier(.45, 0, .18, 1) infinite;animation-delay:var(--tile-delay);will-change:opacity, transform;border-radius:999px;position:absolute}@keyframes login-marker-drift{0%{opacity:0;transform:translate(calc(-50% + var(--tile-start-x)), calc(-50% + var(--tile-start-y))) scaleX(var(--tile-scale-start))}18%,62%{opacity:var(--tile-opacity);transform:translate(-50%, -50%) scaleX(var(--tile-scale))}to{opacity:0;transform:translate(calc(-50% + var(--tile-dx)), calc(-50% + var(--tile-dy))) scaleX(var(--tile-scale-end))}}.login-decor-tile.correct{background:var(--color-correct);border-color:var(--color-correct);color:var(--color-on-solid)}.login-decor-tile.present{background:var(--color-present);border-color:var(--color-present);color:var(--color-on-present)}.login-decor-tile.absent{background:var(--color-absent);border-color:var(--color-absent);color:var(--color-on-solid)}.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-game-title{z-index:1;color:var(--color-title-text);font-family:var(--font-title);letter-spacing:.015em;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 0 8px;font-size:clamp(3.6rem,14vw,6.8rem);font-weight:400;line-height:.85;position:relative}.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}.game-selector{flex:auto;align-content:center;gap:22px;width:100%;min-height:0;padding:8px 0 20px;display:grid;overflow-y:auto}.game-selector h2,.daily-game-intro h2{margin:4px 0 5px;font-size:clamp(1.7rem,7vw,2.35rem);line-height:1}.game-selector p,.daily-game-intro p{color:var(--color-muted)}.game-selector-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.game-selector-grid button{border:1px solid var(--color-surface-border);min-height:190px;color:var(--color-text);text-align:left;background:linear-gradient(145deg, var(--color-surface-raised), var(--color-surface-soft));box-shadow:0 16px 38px var(--color-board-shadow);cursor:pointer;transition:transform var(--motion-base) var(--ease-out), border-color var(--motion-base) var(--ease-out);border-radius:16px;flex-direction:column;justify-content:flex-end;align-items:flex-start;gap:7px;padding:18px;display:flex}.game-selector-grid button:hover{border-color:var(--color-correct);transform:translateY(-3px)}.game-selector-grid button.completed{border-color:color-mix(in srgb, var(--color-correct) 52%, var(--color-surface-border));background:linear-gradient(145deg, color-mix(in srgb, var(--color-correct) 12%, var(--color-surface-raised)), color-mix(in srgb, var(--color-correct) 5%, var(--color-surface-soft)))}.game-selector-grid .game-selector-icon{width:34px;height:34px;color:var(--color-correct);margin-bottom:auto}.game-selector-name{flex-wrap:wrap;align-items:center;gap:7px;display:flex}.game-selector-name strong{color:var(--color-text);font-size:1.2rem}.game-selector-name small{color:var(--color-correct);align-items:center;gap:3px;font-size:.68rem;font-weight:850;line-height:1;display:inline-flex}.game-selector-name small svg{stroke-width:3px;width:13px;height:13px}.game-selector-grid span{color:var(--color-muted);font-size:.83rem;line-height:1.35}.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.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)}.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.present{color:var(--color-present)}.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}@media (width<=420px){.game-selector-grid{grid-template-columns:1fr}.game-selector-grid button{min-height:130px}.game-selector-grid .game-selector-icon{margin-bottom:10px}}.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{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;width:100%;display:grid}.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;transition:transform var(--motion-fast) var(--ease-press), border-color var(--motion-base) var(--ease-out), background var(--motion-base) var(--ease-out)}.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:0 0 0 1px var(--color-share-button-shadow)}.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}.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: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%}.login-decor-tile{width:clamp(34px, var(--tile-width), 74px);height:clamp(6px, calc(var(--app-vh) * 1.3), 10px)}.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] .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] .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] .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)}.hexasquare-view{width:min(1180px,100%);margin:0 auto;padding:10px 14px 24px}.hexasquare-intro{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:12px;display:flex}.hexasquare-intro h2{margin:0;font-size:clamp(1.6rem,4vw,2.3rem)}.hexasquare-intro p{color:var(--color-muted);margin:4px 0}.hexasquare-layout{grid-template-columns:minmax(0,1fr) 250px;align-items:start;gap:14px;display:grid}.hexasquare-workspace,.hexasquare-legend{border:1px solid var(--color-surface-border);background:linear-gradient(180deg,var(--color-surface-raised),var(--color-surface-soft));box-shadow:0 14px 38px var(--color-board-shadow);border-radius:18px}.hexasquare-workspace{min-width:0;padding:10px}.hexasquare-tools{grid-template-columns:repeat(5,minmax(88px,1fr));gap:6px;margin-bottom:7px;display:grid}.hexasquare-tools button,.hexasquare-commandbar button,.hexasquare-success button{border:1px solid var(--color-button-border);background:var(--color-button);min-height:44px;color:var(--color-text);font:inherit;cursor:pointer;border-radius:10px;justify-content:center;align-items:center;gap:5px;padding:5px 7px;display:flex}.hexasquare-tools button{flex-wrap:wrap;font-size:.78rem;font-weight:650;position:relative}.hexasquare-tools button strong{background:var(--color-surface-strong);border-radius:9px;min-width:22px;padding:1px 5px}.hexasquare-tools button.selected{border-color:var(--color-accent);background:color-mix(in srgb,var(--color-accent) 14%,var(--color-button));box-shadow:inset 0 0 0 1px var(--color-accent)}.hexasquare-commandbar button:hover,.hexasquare-success button:hover{border-color:var(--color-accent);box-shadow:inset 0 0 0 1px var(--color-accent)}.hexasquare-tools button:disabled,.hexasquare-commandbar button:disabled{opacity:.42;cursor:not-allowed}.hexasquare-tools svg:not(.road-glyph),.hexasquare-commandbar svg,.hexasquare-success svg{width:17px;height:17px}.road-glyph{flex:none;width:28px;height:28px;overflow:visible}.road-glyph path{fill:none;stroke:currentColor;stroke-width:8px;stroke-linejoin:round;stroke-linecap:square}.hexasquare-commandbar{align-items:center;gap:6px;margin-bottom:5px;display:flex;overflow-x:auto}.hexasquare-commandbar button{white-space:nowrap;min-height:36px;font-size:.76rem}.hexasquare-commandbar button span{color:var(--color-muted)}.hexasquare-active-tool{min-width:0;color:var(--color-muted);white-space:nowrap;align-items:center;gap:5px;margin:0 auto 0 2px;font-size:.78rem;display:flex}.hexasquare-active-tool .road-glyph{width:22px;height:22px;color:var(--color-text)}.hexasquare-rotate{font-weight:700}.hexasquare-zoom{align-items:center;gap:3px;margin-left:auto;display:flex}.hexasquare-zoom button{width:36px;padding:0}.hexasquare-zoom strong{text-align:center;width:44px;font-size:.72rem}.hexasquare-navigation-hint{color:var(--color-muted);margin:0 2px 6px;font-size:.75rem}.hexasquare-viewport{overscroll-behavior:contain;border:1px solid var(--color-surface-border);background:color-mix(in srgb,var(--color-page) 78%,#789 22%);touch-action:pan-x pan-y pinch-zoom;scrollbar-color:var(--color-accent) transparent;border-radius:12px;height:clamp(390px,60vh,650px);position:relative;overflow:auto}.hexasquare-canvas{min-width:100%;min-height:100%;position:relative}.hexasquare-board{transform-origin:0 0;-webkit-user-select:none;user-select:none;will-change:transform;border:2px solid color-mix(in srgb,var(--color-text) 42%,transparent);display:grid;position:absolute;top:12px;left:12px}.hexasquare-cell{box-sizing:border-box;border:1px solid color-mix(in srgb,var(--color-text) 16%,transparent);color:#24313a;cursor:crosshair;justify-content:center;align-items:center;width:34px;height:34px;padding:0;display:flex;position:relative;overflow:hidden}.hexasquare-cell:focus-visible{z-index:5;outline:3px solid var(--color-focus-ring);outline-offset:-3px}.hexasquare-cell:nth-child(24n+12),.hexasquare-cell:nth-child(24n+24){border-right-width:2px;border-right-color:color-mix(in srgb,var(--color-text) 48%,transparent)}.hexasquare-cell:nth-child(n+265):nth-child(-n+288){border-bottom-width:2px;border-bottom-color:color-mix(in srgb,var(--color-text) 48%,transparent)}.quadrant-brumavia{background-color:#cad7e2}.quadrant-solaria{background-color:#f5dfa0}.quadrant-verdombra{background-color:#bcd9be}.quadrant-lunargento{background-color:#d4c9e7}html[data-patterns=enabled] .quadrant-brumavia{background-image:repeating-linear-gradient(45deg,#0000 0 7px,#24313a14 7px 9px)}html[data-patterns=enabled] .quadrant-solaria{background-image:radial-gradient(#24313a21 1px,#0000 1.5px);background-size:7px 7px}html[data-patterns=enabled] .quadrant-verdombra{background-image:repeating-linear-gradient(90deg,#0000 0 8px,#24313a14 8px 10px)}html[data-patterns=enabled] .quadrant-lunargento{background-image:repeating-linear-gradient(-45deg,#0000 0 7px,#24313a14 7px 9px)}.hexasquare-cell.obstacle{color:#fff;cursor:not-allowed;background:#59646d;font-size:1.25rem}.hexasquare-cell.terminal{cursor:not-allowed;background:#fff}.hexasquare-cell.failed-character,.hexasquare-legend article.failed-character{outline:3px solid var(--color-danger);outline-offset:-3px}.terminal-marker{font-size:1.2rem;line-height:1;position:relative}.terminal-marker small{color:#fff;background:#222;border-radius:50%;place-items:center;width:13px;height:13px;font:700 8px sans-serif;display:grid;position:absolute;bottom:-6px;right:-7px}.hexasquare-cell .road-glyph{color:#4a5258;width:32px;height:32px}.hexasquare-cell.routed .road-glyph{color:#253039}.route-dot{border:2px solid #fff;border-radius:50%;width:7px;height:7px;animation:1.15s ease-in-out infinite alternate hexasquare-route;position:absolute}.route-0{background:#e5383b}.route-1{background:#1769aa}.route-2{background:#6a4c93}.route-3{background:#27864a}.route-4{background:#df7b00}.route-5{background:#111}@keyframes hexasquare-route{0%{opacity:.6;transform:scale(.7)}to{opacity:1;transform:scale(1.35)}}.hexasquare-simulate{background:var(--color-correct);width:100%;min-height:48px;color:var(--color-on-solid);font:inherit;cursor:pointer;border:0;border-radius:12px;justify-content:center;align-items:center;gap:8px;margin-top:9px;font-weight:700;display:flex}.hexasquare-simulate:disabled{opacity:.6}.hexasquare-failures,.hexasquare-success{border-radius:12px;margin-top:9px;padding:10px 13px}.hexasquare-failures{background:color-mix(in srgb,var(--color-danger) 12%,var(--color-surface));border:1px solid color-mix(in srgb,var(--color-danger) 38%,transparent)}.hexasquare-failures h3,.hexasquare-failures p,.hexasquare-success h3,.hexasquare-success p{margin:4px 0}.hexasquare-failures p{align-items:center;gap:6px;font-size:.84rem;display:flex}.hexasquare-success{text-align:center;background:color-mix(in srgb,var(--color-correct) 15%,var(--color-surface));border:1px solid var(--color-correct)}.hexasquare-success div{justify-content:center;gap:8px;margin-top:8px;display:flex}.hexasquare-legend{max-height:720px;padding:14px;overflow:auto}.hexasquare-legend h3{margin:8px 0;font-size:.92rem}.hexasquare-legend article{border:1px solid var(--color-surface-border);background:var(--color-surface-glass);border-radius:10px;margin-bottom:6px;padding:8px}.hexasquare-legend article header{align-items:center;gap:7px;display:flex}.hexasquare-legend article p,.hexasquare-legend article small{margin:3px 0;font-size:.74rem;line-height:1.35;display:block}.hexasquare-legend article small{color:var(--color-danger)}.incompatibility{background:color-mix(in srgb,var(--color-danger) 10%,transparent);border-radius:8px;margin:5px 0;padding:6px;font-size:.78rem}.quadrant-legend{grid-template-columns:1fr 1fr;gap:4px;display:grid}.quadrant-legend span{color:#24313a;text-align:center;border:1px solid #0000001f;border-radius:7px;padding:7px 4px;font-size:.7rem}.hexasquare-tutorial ol{padding-left:22px;line-height:1.5}.stats-note{color:var(--color-muted);text-align:center;font-size:.82rem}@media (width<=820px){.hexasquare-view{padding:6px 7px 18px}.hexasquare-layout{grid-template-columns:1fr}.hexasquare-legend{max-height:none}.hexasquare-tools{grid-template-columns:repeat(3,1fr)}.hexasquare-tools button{min-height:52px}.hexasquare-commandbar{padding-bottom:2px}.hexasquare-active-tool,.hexasquare-commandbar button span{display:none}.hexasquare-commandbar .hexasquare-rotate span{display:inline}.hexasquare-viewport{height:58vh;min-height:360px}}
