:root{--bg: #1f1b26;--ink: #f6ead8;--ink-dim: #c9b9a6;--panel: rgba(31, 27, 38, .78);--panel-edge: rgba(246, 234, 216, .14);--accent: #e8a33d;--good: #7fb35a;--bad: #c4402f;--muted: #8a8296;color-scheme:dark}*{box-sizing:border-box}html,body{margin:0;height:100%;background:var(--bg);color:var(--ink);font-family:Trebuchet MS,Segoe UI,system-ui,sans-serif}#stage{position:fixed;top:0;right:0;bottom:0;left:0;overflow:hidden}#world{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;display:block}.fps{position:fixed;right:8px;bottom:8px;z-index:9;padding:2px 6px;font:12px ui-monospace,monospace;color:#fff;background:#00000080;border-radius:3px}#ui{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}#ui>*{pointer-events:auto}.hud{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;font-variant-numeric:tabular-nums}.hud[hidden]{display:none}.hud-stats{position:absolute;top:14px;left:16px;display:flex;gap:14px;font-size:14px;color:var(--ink);text-shadow:0 1px 0 rgba(0,0,0,.45)}.hud-dist{font-weight:700}.hud-trend{display:inline-block;min-width:1.1em;font-size:12px}.hud-trend.up{color:var(--good)}.hud-trend.down{color:#ff7a63}.hud-timer{position:absolute;top:0;left:0;right:0;height:5px;background:#1f1b2659}.hud-timer[hidden]{display:none}.hud-timer-fill{height:100%;background:var(--ink);transform-origin:left;transition:transform .1s linear;opacity:.8}.hud-timer.low .hud-timer-fill{background:var(--accent)}.hud-sign{position:absolute;top:38px;left:50%;transform:translate(-50%,-6px);padding:6px 12px;background:var(--panel);border:1px solid var(--panel-edge);border-radius:3px;font-size:13px;letter-spacing:.04em;opacity:0;transition:opacity .4s,transform .4s;white-space:nowrap}.hud-sign.show{opacity:1;transform:translate(-50%)}.hud-flash{position:absolute;top:30%;left:34%;font-weight:700;font-size:18px;color:#fff4d6;text-shadow:0 1px 0 rgba(0,0,0,.5);opacity:0}.hud-flash.bad{color:#ffb9a8}.hud-flash.show{animation:rise 1.4s ease-out}@keyframes rise{0%{opacity:0;transform:translateY(8px)}20%{opacity:1}to{opacity:0;transform:translateY(-22px)}}.question{position:absolute;left:50%;bottom:max(16px,4vh);transform:translate(-50%);width:min(560px,calc(100% - 32px));padding:16px 18px 18px;background:var(--panel);border:1px solid var(--panel-edge);border-radius:6px;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.question{overflow:hidden}.q-timer{position:absolute;top:0;left:0;right:0;height:4px;background:#f6ead81a}.q-timer-fill{height:100%;background:var(--ink);transform-origin:left;opacity:.85}.q-timer.low .q-timer-fill{background:var(--accent)}.q-meta{display:flex;gap:8px;align-items:center;font-size:12px;color:var(--ink-dim);text-transform:uppercase;letter-spacing:.08em}.q-side{margin-left:auto;display:flex;gap:10px;font-variant-numeric:tabular-nums;text-transform:none;letter-spacing:.02em}.q-secs{min-width:2.4em;text-align:right;font-weight:700;color:var(--ink)}.q-secs.low{color:var(--accent)}.badge-currents{padding:2px 6px;border-radius:3px;background:var(--accent);color:#2a1d10;font-weight:700;letter-spacing:.04em}.q-prompt{margin:8px 0 14px;font-size:clamp(17px,2.2vw,21px);line-height:1.3;font-weight:600}.choices{display:grid;grid-template-columns:1fr 1fr;gap:8px}.choice{display:flex;gap:10px;align-items:center;min-height:44px;padding:8px 10px;text-align:left;font:inherit;font-size:15px;color:var(--ink);background:#f6ead80f;border:1px solid var(--panel-edge);border-radius:4px;cursor:pointer}.choice:hover,.choice:focus-visible{background:#f6ead821;outline:none}.choice-key{flex:none;width:22px;height:22px;display:grid;place-items:center;font:12px/1 ui-monospace,Consolas,monospace;color:var(--ink-dim);border:1px solid var(--panel-edge);border-radius:3px}.answered .choice{cursor:default;opacity:.55}.answered .choice.picked{opacity:1;border-color:var(--ink-dim)}.typed{display:flex;gap:8px}.typed-input{flex:1;min-width:0;min-height:44px;padding:8px 12px;font:inherit;font-size:16px;color:var(--ink);background:#f6ead814;border:1px solid var(--panel-edge);border-radius:4px}.typed-input:focus{outline:2px solid var(--accent);outline-offset:1px}.typed-go{min-height:44px;padding:0 16px;font:inherit;color:#2a1d10;background:var(--ink);border:0;border-radius:4px;cursor:pointer}.answered .typed-input,.answered .typed-go{opacity:.55}@media (max-width: 520px){.choices{grid-template-columns:1fr}.question{bottom:10px}}.sound-toggle{position:absolute;top:10px;right:12px;padding:6px 10px;font:inherit;font-size:12px;color:var(--ink-dim);background:var(--panel);border:1px solid var(--panel-edge);border-radius:3px;cursor:pointer}.home{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.home>*{pointer-events:auto}.home:before{content:"";position:absolute;left:0;top:0;width:min(760px,100%);height:75vh;background:radial-gradient(ellipse at 18% 40%,#14102280,#14102200 62%);pointer-events:none}.h-main{position:absolute;left:max(24px,6vw);top:16vh;max-width:min(480px,86vw);text-shadow:0 1px 10px rgba(20,16,34,.35)}.h-flight{margin:0 0 6px;font-size:13px;letter-spacing:.04em;color:var(--ink-dim)}.h-title{margin:0;font-family:Georgia,Times New Roman,serif;font-weight:400;font-size:clamp(46px,8vw,88px);letter-spacing:.06em;line-height:1;color:#fbf3e6}.h-tagline{margin:10px 0 24px;font-size:clamp(14px,1.6vw,17px);color:var(--ink-dim)}.h-rules{margin:-14px 0 22px;font-size:13px;letter-spacing:.02em;color:var(--ink-dim)}.h-btn{min-height:44px;padding:0 22px;font:inherit;font-size:16px;font-weight:700;color:#2a1c0e;background:#f3b04f;border:0;border-radius:999px;box-shadow:0 6px 18px #00000040;cursor:pointer;text-shadow:none}.h-btn:hover:not(:disabled){background:#f7bf66}.h-btn:disabled{background:#f3b04f59;color:#2a1c0e99;box-shadow:none;cursor:not-allowed}.h-btn kbd{margin-left:8px;padding:1px 6px;font:600 11px system-ui,sans-serif;background:#2a1c0e26;border-radius:4px}@media (hover: none) and (pointer: coarse){.h-btn kbd{display:none}}.h-btn-ghost{margin-right:10px;color:var(--ink);background:#161a2c73;border:1px solid rgba(255,255,255,.18);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.h-btn-ghost:hover:not(:disabled){background:#161a2c99}.h-result{margin:-8px 0 18px}.h-result-head{margin:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(22px,3vw,30px);color:#fbf3e6}.h-result-sub{margin:4px 0 0;font-size:14px;color:var(--ink-dim)}.h-note{margin:10px 0 0;font-size:12px;color:var(--ink-dim)}.h-opens{margin:18px 0 0;font-family:Georgia,Times New Roman,serif;font-size:clamp(20px,2.6vw,26px);color:#fbf3e6}.h-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}.h-chip{padding:4px 11px;font-size:12.5px;background:#14182861;border:1px solid rgba(255,255,255,.12);border-radius:999px;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);text-shadow:none}.h-panel{position:absolute;right:max(20px,5vw);top:13vh;width:min(270px,30vw);padding:14px 16px;background:#161a2c6b;border:1px solid rgba(255,255,255,.14);border-radius:10px;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.h-panel p{margin:0}.h-panel-label{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-dim)}.h-panel-big{margin-top:6px!important;font-size:17px;font-weight:700;line-height:1.3}.h-panel-row{margin-top:4px!important;font-size:13.5px;color:var(--ink-dim)}.h-panel-soon{margin-top:12px!important;padding-top:10px;font-size:12px;color:var(--muted);border-top:1px solid rgba(255,255,255,.12)}@media (max-width: 720px){.h-main{top:9vh}.h-panel{left:max(24px,6vw);right:auto;top:auto;bottom:5vh;width:auto;max-width:86vw}}.results{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:min(620px,calc(100% - 32px));max-height:calc(100% - 32px);overflow:auto;padding:22px 24px;background:#161a2cb8;border:1px solid rgba(255,255,255,.14);border-radius:14px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:0 18px 50px #0a081459}.results.r-sea{background:linear-gradient(180deg,#f0aa6052,#161a2cbd 38%);border-color:#ffd69673}.results.r-near{border-color:#e8cf9e66}.r-head{text-align:center}.r-kicker{margin:0;font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}.r-headline{margin:6px 0 4px;font-family:Georgia,Times New Roman,serif;font-weight:400;font-size:clamp(28px,5vw,42px);line-height:1.1;color:#fbf3e6}.r-sea .r-headline{color:#ffe2b0;text-shadow:0 0 22px rgba(255,190,110,.45)}.r-sub{margin:0;font-size:14px;color:var(--ink-dim)}.tabs{display:flex;gap:4px;margin:14px 0 10px;border-bottom:1px solid var(--panel-edge)}.tab-btn{padding:8px 14px;font:inherit;color:var(--ink-dim);background:none;border:0;border-bottom:2px solid transparent;cursor:pointer}.tab-btn[aria-selected=true]{color:var(--ink);border-bottom-color:var(--accent)}.r-rank{margin:0 0 8px;text-align:center}.histogram,.replay{display:block;width:100%;height:auto;margin:6px 0}.histogram .bar{fill:var(--muted);opacity:.55}.histogram .bar-you{fill:var(--accent);opacity:1}.histogram .you-line{stroke:var(--accent);stroke-width:1.5}.histogram .you-label{fill:var(--accent);font-size:10px;font-weight:700}.histogram .axis{fill:var(--muted);font-size:9px}.histogram .sea-wave{fill:none;stroke:#6fb0cf;stroke-width:1.4;stroke-linecap:round}.histogram .baseline{stroke:#ffffff1f;stroke-width:1}.replay .path{fill:none;stroke:var(--ink);stroke-width:1.4;opacity:.8}.replay .dot{stroke:var(--bg);stroke-width:1;cursor:pointer}.dot.correct,.lg.correct:before{fill:var(--good);background:var(--good)}.dot.wrong,.lg.wrong:before{fill:var(--bad);background:var(--bad)}.dot.timeout,.lg.timeout:before{fill:var(--muted);background:var(--muted)}.r-legend{display:flex;gap:14px;justify-content:center;margin:0;font-size:12px;color:var(--ink-dim)}.lg:before{content:"";display:inline-block;width:8px;height:8px;margin-right:5px;border-radius:50%}.r-note{margin:0 0 8px;font-size:12px;color:var(--muted)}.answers{width:100%;border-collapse:collapse;font-size:13px}.answers th{text-align:left;font-weight:600;font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);padding:4px 6px}.answers td{padding:7px 6px;border-top:1px solid var(--panel-edge);vertical-align:top}.answers .q-cat{font-size:11px;color:var(--muted)}.answers .badge-currents{font-size:10px;padding:1px 4px}.answers tr.correct .given{color:var(--good)}.answers tr.wrong .given{color:#e2867a}.answers tr.timeout .given{color:var(--muted)}.answers .rate,.answers .n{color:var(--ink-dim);white-space:nowrap}.answers tr.focus td{background:#e8a33d1f}.r-actions{display:flex;gap:10px;align-items:center;justify-content:center;margin-top:14px}.share{min-height:42px;padding:0 18px;font:inherit;font-weight:700;color:#2a1d10;background:var(--accent);border:0;border-radius:4px;cursor:pointer}.share-status{font-size:13px;color:var(--ink-dim)}.share-text{display:block;width:100%;margin-top:8px;padding:8px;font:13px/1.4 ui-monospace,Consolas,monospace;color:var(--ink);background:#f6ead80f;border:1px solid var(--panel-edge);border-radius:4px;resize:none}.r-foot{margin-top:14px;text-align:center;font-size:13px;color:var(--ink-dim)}.r-foot p{margin:4px 0}.teaser{color:var(--muted);font-style:italic}@media (max-width: 520px){.answers th:nth-child(5),.answers td.rate{display:none}.results{padding:14px}}@media (prefers-reduced-motion: reduce){.hud-flash.show{animation:none;opacity:1}.hud-sign{transition:none}}.q-status{margin:12px 0 0;font-size:13px;letter-spacing:.04em;color:var(--ink-dim)}.q-status[hidden]{display:none}.error-panel{position:absolute;left:50%;top:22vh;z-index:5;transform:translate(-50%);width:min(440px,calc(100% - 32px));padding:16px 18px;background:var(--panel);border:1px solid var(--panel-edge);border-left:3px solid var(--accent);border-radius:6px;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.error-text{margin:0 0 12px;font-size:15px;line-height:1.4}.error-action{min-height:40px;padding:0 16px;font:inherit;color:#2a1d10;background:var(--ink);border:0;border-radius:4px;cursor:pointer}.error-action:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.account-chip{display:inline-flex;align-items:center;gap:6px}.account-chip[hidden]{display:none}.r-account{margin-top:6px;font-size:12.5px;color:var(--ink-dim)}.account-action,.r-signin{padding:0;font:inherit;color:var(--accent);background:none;border:0;border-bottom:1px solid currentColor;cursor:pointer}.account-action{min-height:24px}.account-action:focus-visible,.r-signin:focus-visible,.account-close:focus-visible,.account-instead:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.account-panel{position:absolute;left:50%;top:16vh;z-index:6;transform:translate(-50%);width:min(420px,calc(100% - 32px));padding:18px;background:var(--panel);border:1px solid var(--panel-edge);border-left:3px solid var(--accent);border-radius:6px;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.account-title{margin:0 0 6px;font-size:18px}.account-copy{margin:0 0 14px;font-size:14px;line-height:1.4;color:var(--ink-dim)}.account-form{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:10px}.account-label{flex:0 0 100%;font-size:12px;color:var(--muted)}.account-input{flex:1 1 180px;min-height:42px;padding:0 10px;font:inherit;color:var(--ink);background:#f6ead814;border:1px solid var(--panel-edge);border-radius:4px}.account-input[aria-invalid=true]{border-color:var(--bad)}.account-input:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.account-btn{min-height:42px;padding:0 16px;font:inherit;font-weight:700;color:#2a1d10;background:var(--accent);border:0;border-radius:4px;cursor:pointer}.account-google{width:100%;background:var(--ink)}.account-btn:disabled{opacity:.55;cursor:default}.account-btn:focus-visible{outline:2px solid var(--ink);outline-offset:2px}.account-error{margin:10px 0 0;font-size:13.5px;color:#ff9a88}.account-status{margin:10px 0 0;font-size:13.5px;color:var(--ink)}.account-error:empty,.account-status:empty{display:none}.account-note{margin:6px 0 8px;font-size:13px;line-height:1.4;color:var(--ink-dim)}.account-instead{min-height:36px;padding:0 12px;font:inherit;color:#2a1d10;background:var(--ink);border:0;border-radius:4px;cursor:pointer}.account-close{display:block;margin:14px 0 0 auto;padding:0;font:inherit;font-size:13px;color:var(--ink-dim);background:none;border:0;border-bottom:1px solid currentColor;cursor:pointer}
