:root{--bg: #070a13;--panel: rgba(255, 255, 255, .045);--line: rgba(255, 255, 255, .14);--ink: #f2efe7;--muted: #96a0b8;--accent: #e8845e;--accent2: #8fb0e8;--good: #7cc9a2;--gold: #e0bd6e;--font-display: "Space Grotesk", system-ui, sans-serif;--font-body: "IBM Plex Sans", system-ui, sans-serif;--font-mono: "IBM Plex Mono", ui-monospace, SFMono-Regular, monospace;--inputbar-h: 132px;--kb-offset: 0px}*{box-sizing:border-box}html,body{height:100%}body{margin:0;overflow:hidden;background:var(--bg);color:var(--ink);font-family:var(--font-body);font-size:16px;line-height:1.45;-webkit-tap-highlight-color:transparent;-webkit-font-smoothing:antialiased}::selection{background:#e8845e66}:focus{outline:none}:focus-visible{outline:2px solid var(--accent2);outline-offset:2px;border-radius:4px}button{font:inherit;color:inherit;cursor:pointer}#universe{position:fixed;inset:0;width:100%;height:100%;display:block;z-index:0}#app{position:fixed;inset:0;z-index:1;pointer-events:none}#boot{position:fixed;inset:0;z-index:1000;background:var(--bg);display:grid;place-content:center;justify-items:center;gap:.9rem;text-align:center;transition:opacity .6s ease,visibility 0s linear .6s}body.ready #boot{opacity:0;visibility:hidden;pointer-events:none}.boot-stars,.boot-stars:after{content:"";position:absolute;inset:-50%;background-image:radial-gradient(1px 1px at 25px 35px,rgba(242,239,231,.9),transparent 60%),radial-gradient(1px 1px at 120px 90px,rgba(143,176,232,.85),transparent 60%),radial-gradient(1.5px 1.5px at 200px 160px,rgba(232,132,94,.8),transparent 60%),radial-gradient(1px 1px at 80px 210px,rgba(242,239,231,.55),transparent 60%),radial-gradient(1px 1px at 170px 40px,rgba(242,239,231,.4),transparent 60%);background-size:260px 260px;animation:boot-drift 90s linear infinite;opacity:.8}.boot-stars:after{background-size:420px 420px;animation-duration:140s;animation-direction:reverse;opacity:.5}@keyframes boot-drift{0%{transform:translateZ(0)}to{transform:translate3d(-260px,-260px,0)}}.boot-logo{position:relative;margin:0;font-family:var(--font-display);font-weight:700;font-size:clamp(1.2rem,6vw,2rem);letter-spacing:.35em;padding-left:.35em;animation:boot-pulse 2.2s ease-in-out infinite}@keyframes boot-pulse{0%,to{opacity:.55;text-shadow:0 0 8px rgba(232,132,94,0)}50%{opacity:1;text-shadow:0 0 22px rgba(232,132,94,.55)}}.boot-msg{position:relative;margin:0;color:var(--muted);font-size:.95rem}.noscript{position:fixed;inset:auto 1rem 40vh;z-index:2000;text-align:center;color:var(--ink)}.hud{position:fixed;top:0;left:0;right:0;z-index:10;display:flex;align-items:flex-start;justify-content:space-between;gap:.8rem;padding:calc(.65rem + env(safe-area-inset-top)) .9rem 1.4rem;background:linear-gradient(#070a13d9,#070a1300);pointer-events:none}.hud-level{display:flex;align-items:center;gap:.55rem;min-width:0}.hud-emoji{font-size:1.5rem;line-height:1}.hud-name{margin:0;font-family:var(--font-display);font-weight:700;font-size:1rem;letter-spacing:.02em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hud-feel{margin:0;color:var(--muted);font-size:.8rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hud-best{pointer-events:auto;display:flex;align-items:center;gap:.45rem;max-width:48%;padding:.4rem .7rem;background:#0a0e18b8;border:1px solid var(--line);border-radius:999px;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);font-size:.82rem}button.hud-best{cursor:default}button.hud-best.is-final{cursor:pointer;border-color:#e0bd6e80}.hud-best-label{color:var(--muted);font-size:.72rem;text-transform:uppercase;letter-spacing:.08em}.hud-best-word{font-weight:600;color:var(--accent);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hud-best-meta{font-family:var(--font-mono);color:var(--accent2);white-space:nowrap}.toasts{position:fixed;top:calc(env(safe-area-inset-top) + 72px);left:50%;transform:translate(-50%);z-index:200;display:flex;flex-direction:column;align-items:center;gap:.4rem;pointer-events:none;width:max-content;max-width:92vw}.toast{padding:.55rem 1rem;background:#0a0e18eb;border:1px solid var(--line);border-radius:999px;font-size:.92rem;opacity:0;transform:translateY(-10px);transition:opacity .25s ease,transform .25s ease;max-width:92vw}.toast.show{opacity:1;transform:translateY(0)}.panel{position:fixed;left:.6rem;right:.6rem;bottom:calc(var(--inputbar-h) + var(--kb-offset) + .5rem);z-index:12;pointer-events:auto;background:#0a0e18d1;border:1px solid var(--line);border-radius:14px;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);overflow:hidden}.panel-toggle{width:100%;display:flex;align-items:center;gap:.5rem;padding:.6rem .9rem;background:none;border:0;text-align:left}.panel-title{font-family:var(--font-display);font-weight:500;font-size:.9rem;letter-spacing:.05em;text-transform:uppercase}.panel-count{font-family:var(--font-mono);font-size:.8rem;color:var(--bg);background:var(--accent2);border-radius:999px;padding:.05rem .5rem;min-width:1.6em;text-align:center}.panel-chevron{margin-left:auto;color:var(--muted);transition:transform .3s ease;transform:rotate(180deg)}.panel.open .panel-chevron{transform:rotate(0)}.guess-list{margin:0;padding:0;list-style:none;max-height:0;overflow-y:auto;overscroll-behavior:contain;transition:max-height .3s ease;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.2) transparent}.panel.open .guess-list{max-height:42vh}.guess-row{display:flex;align-items:center;gap:.5rem;padding:.45rem .9rem;border-top:1px solid rgba(255,255,255,.06);font-size:.92rem}.guess-empty{padding:.7rem .9rem .9rem;border-top:1px solid rgba(255,255,255,.06);color:var(--muted);font-size:.88rem}.g-icon{width:1.5em;text-align:center;flex:none}.g-word{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.g-hint{flex:none;font-size:.85em}.g-rank{flex:none;font-family:var(--font-mono);font-size:.82rem;color:var(--muted);min-width:4.2ch;text-align:right}.g-sim{flex:none;font-family:var(--font-mono);font-size:.82rem;color:var(--accent2);min-width:4.5ch;text-align:right}.guess-row.lvl-4 .g-sim,.guess-row.lvl-5 .g-sim,.guess-row.lvl-6 .g-sim{color:var(--accent)}.guess-row.is-best{border-left:3px solid var(--accent);background:#e8845e14}.guess-row.is-best .g-word{color:var(--accent);font-weight:600}.guess-row.lvl-7{border-left:3px solid var(--gold);background:#e0bd6e1a}.guess-row.lvl-7 .g-word,.guess-row.lvl-7 .g-sim{color:var(--gold)}.guess-row.is-new{animation:row-flash 1.6s ease-out}@keyframes row-flash{0%{background-color:#e8845e73}to{background-color:transparent}}.guess-row.is-best.is-new{animation:row-flash-best 1.6s ease-out}@keyframes row-flash-best{0%{background-color:#e8845e8c}to{background-color:#e8845e14}}.inputbar{position:fixed;left:0;right:0;bottom:var(--kb-offset);z-index:20;pointer-events:auto;padding:.65rem .75rem calc(.55rem + env(safe-area-inset-bottom));background:#090c16e0;border-top:1px solid var(--line);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}.guess-form{display:flex;gap:.5rem}.guess-input{flex:1;min-width:0;font:inherit;font-size:16px;color:var(--ink);background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:.65rem .9rem;transition:border-color .2s ease}.guess-input::placeholder{color:var(--muted)}.guess-input:focus{border-color:var(--accent2)}.guess-input:disabled{opacity:.55}.btn{border:0;border-radius:12px;background:var(--accent);color:var(--bg);font-weight:600;padding:.6rem 1rem;min-height:44px;transition:filter .15s ease,transform .15s ease}.btn:hover{filter:brightness(1.1)}.btn:active{transform:scale(.97)}.btn:disabled{opacity:.45;cursor:default;transform:none}.btn-send{flex:none;width:52px;font-size:1.1rem}.actions{display:flex;align-items:center;gap:.5rem;margin-top:.5rem}.btn-ghost{background:none;border:1px solid var(--line);border-radius:999px;color:var(--ink);font-size:.85rem;padding:.35rem .8rem;min-height:36px;transition:border-color .15s ease,background-color .15s ease}.btn-ghost:hover{border-color:var(--accent)}.btn-ghost:disabled{opacity:.4;cursor:default}.btn-results{border-color:#e0bd6e8c;color:var(--gold)}.actions .spacer{flex:1}.btn-motion{min-width:36px;padding:.35rem .55rem;color:var(--muted)}.btn-motion[aria-pressed=true]{color:var(--bg);background:var(--accent2);border-color:var(--accent2)}.footer{margin:.45rem 0 0;text-align:center;font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);opacity:.55}.overlay{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:1rem;padding-bottom:calc(1rem + env(safe-area-inset-bottom));background:#070a13b8;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);pointer-events:auto;animation:overlay-in .25s ease}@keyframes overlay-in{0%{opacity:0}to{opacity:1}}.card{width:min(480px,100%);max-height:min(86vh,720px);overflow-y:auto;overscroll-behavior:contain;background:#0d121ef5;border:1px solid var(--line);border-radius:18px;padding:1.4rem 1.3rem;box-shadow:0 24px 70px #0000008c;animation:card-in .35s cubic-bezier(.2,.9,.3,1.2)}@keyframes card-in{0%{opacity:0;transform:translateY(18px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.card-title{margin:0;font-family:var(--font-display);font-weight:700;font-size:clamp(1.5rem,7vw,2rem);letter-spacing:.18em;text-align:center}.card-tagline{margin:.3rem 0 1.1rem;text-align:center;color:var(--accent2);font-size:.95rem}.card h2{margin:0 0 .6rem;font-family:var(--font-display);font-size:1.25rem}.card p{margin:.4rem 0}.rules{margin:0 0 1.2rem;padding:0;list-style:none;display:grid;gap:.7rem}.rules li{display:flex;gap:.6rem;align-items:flex-start;font-size:.95rem}.rules li:before{content:"✦";color:var(--accent);flex:none;margin-top:.1em}.field-label{display:block;font-size:.85rem;color:var(--muted);margin-bottom:.35rem}.field-input{width:100%;font:inherit;font-size:16px;color:var(--ink);background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:.65rem .9rem}.field-input:focus{border-color:var(--accent2)}.field-error{min-height:1.2em;margin:.35rem 0 0;color:var(--accent);font-size:.85rem}.card-actions{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:1.2rem;justify-content:center}.kicker{margin:0;text-align:center;color:var(--good);font-family:var(--font-display);font-weight:500;font-size:1.15rem;letter-spacing:.04em}.kicker.kicker-soft{color:var(--accent2)}.reveal{margin:.5rem 0 .8rem;text-align:center;font-family:var(--font-display);font-weight:700;font-size:clamp(2.1rem,10vw,3.2rem);color:var(--gold);text-shadow:0 0 26px rgba(224,189,110,.45);overflow-wrap:anywhere;line-height:1.1}.reveal.reveal-soft{color:var(--accent2);text-shadow:0 0 22px rgba(143,176,232,.4)}.stats{display:flex;justify-content:center;gap:1.6rem;margin:.8rem 0 1rem}.stat{text-align:center}.stat-value{font-family:var(--font-mono);font-size:1.25rem;color:var(--ink)}.stat-label{font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}.top10-title{margin:.8rem 0 .4rem;font-family:var(--font-display);font-size:.85rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.top10{margin:0;padding:0;list-style:none;border:1px solid rgba(255,255,255,.08);border-radius:12px;overflow:hidden}.top10 li{display:flex;align-items:center;gap:.6rem;padding:.35rem .8rem;font-size:.9rem}.top10 li+li{border-top:1px solid rgba(255,255,255,.06)}.t-rank{font-family:var(--font-mono);font-size:.78rem;color:var(--muted);min-width:3ch}.t-word{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.t-sim{font-family:var(--font-mono);font-size:.8rem;color:var(--accent2)}@media(min-width:900px){.hud{right:372px}.panel{left:auto;right:12px;top:calc(env(safe-area-inset-top) + 12px);bottom:12px;width:348px;display:flex;flex-direction:column}.panel-toggle{cursor:default}.panel-chevron{display:none}.guess-list,.panel.open .guess-list{max-height:none;flex:1}.inputbar{left:50%;right:auto;bottom:calc(16px + var(--kb-offset));width:min(600px,calc(100vw - 400px));transform:translate(calc(-50% - 186px));border:1px solid var(--line);border-radius:16px;padding:.7rem .8rem .6rem}}@media(min-width:1400px){.inputbar{transform:translate(-50%)}.hud{right:0;padding-right:372px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}body.reduced-motion *,body.reduced-motion *:before,body.reduced-motion *:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
