@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: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%, #46c9ff24, 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){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,.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,.emoji-choice:focus-visible{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 #ffd16657}.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-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}@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:28px;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-copy p{color:var(--color-muted);margin:0;font-weight:750}.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: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{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 input:focus{border-color:var(--color-hover-border);box-shadow:0 0 0 3px var(--color-focus-ring)}.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:disabled{cursor:default;opacity:.66}.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}.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;transition:transform var(--motion-fast) var(--ease-press), border-color var(--motion-base) var(--ease-out), box-shadow var(--motion-base) var(--ease-out);box-shadow:0 0 18px #ffd1663d}.kitten-button:hover{border-color:var(--color-hover-border);box-shadow:0 0 26px #ffd16652}.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{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}.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);text-align:center;text-transform:uppercase;place-items:center;min-width:0;height:100%;display:grid;position:relative}.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);display:inline-block}.terminal-cell.filled span{color:var(--color-title-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:letter-pop .13s var(--ease-out) both}@keyframes letter-pop{0%{transform:translateY(2px)scale(.92)}to{transform:translateY(0)scale(1)}}.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);animation:marker-reveal .19s var(--ease-out) both}.feedback-marker.present{background:var(--color-present);border-color:var(--color-present);animation:marker-reveal .19s var(--ease-out) both}.feedback-marker.absent{background:var(--color-absent);border-color:var(--color-absent);animation:marker-reveal .19s var(--ease-out) both}.feedback-marker.hidden{background:var(--color-terminal-background);min-height:16px;color:var(--color-present);animation:marker-reveal .19s var(--ease-out) both;place-items:center;display:grid}.feedback-marker.hidden svg{stroke-width:2.7px;width:min(80%,14px);height:min(80%,14px)}@keyframes marker-reveal{0%{opacity:.35;transform:scaleY(.36)}to{opacity:1;transform: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{--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 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)}.star-reveal-backdrop{background:radial-gradient(circle at 50% 42%, #fff7d294, #ffd16652 17%, #46c9ff2e 36%, #040714c7 72%), var(--color-modal-backdrop);overflow:hidden}.star-reveal-backdrop:before{content:"";opacity:.88;pointer-events:none;background:conic-gradient(#fff0,#fff7d252,#fff0,#46c9ff2e,#fff0,#ffd16647,#fff0);animation:12s linear infinite star-glare-spin;position:absolute;inset:-34%}.star-reveal-modal{background:linear-gradient(180deg, #fff7d229, #161b2ff0), var(--color-modal);width:min(100%,430px);box-shadow:0 0 0 1px #fff7d242, 0 0 60px #ffd16694, 0 24px 90px var(--color-modal-shadow);border-color:#ffd166c7;position:relative}.star-reveal-modal h2{color:var(--color-title-text);text-shadow:0 0 8px #fff7d2b8,0 0 28px #ffd16680}.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;place-items:center;font-size:clamp(1rem,6vw,1.45rem);font-weight:950;line-height:1;display:grid;box-shadow:inset 0 0 0 1px #ffffff2e,0 10px 22px #0407143d}.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-glare-spin{to{transform:rotate(360deg)}}.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 #ffd16642, 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{border:var(--control-border-width) solid var(--color-button-border);border-radius:var(--compact-radius);background:var(--color-surface-strong);width:34px;height:34px;color:var(--color-text);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);justify-content:center;align-items:center;font-weight:900;display:inline-flex}.close-button:hover{border-color:var(--color-hover-border)}.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)}.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}.key-row{gap:var(--keyboard-gap)}.key{font-size:.82rem}.stat-grid{grid-template-columns:repeat(2,1fr)}}
