@font-face{font-family:Bricolage Grotesque;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/bricolage-grotesque-latin-600-normal-nxTgbNFE.woff2)format("woff2"),url(/assets/bricolage-grotesque-latin-600-normal-Bw0J83-2.woff)format("woff")}@font-face{font-family:Bricolage Grotesque;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/bricolage-grotesque-latin-800-normal-J50vIsBe.woff2)format("woff2"),url(/assets/bricolage-grotesque-latin-800-normal-Br4b-5gk.woff)format("woff")}@font-face{font-family:Instrument Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/instrument-sans-latin-400-normal-DRC__1Mx.woff2)format("woff2"),url(/assets/instrument-sans-latin-400-normal-D1W7dsQl.woff)format("woff")}@font-face{font-family:Instrument Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/instrument-sans-latin-500-normal-Dk9ku72i.woff2)format("woff2"),url(/assets/instrument-sans-latin-500-normal-Z6ESRlEs.woff)format("woff")}@font-face{font-family:Instrument Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/instrument-sans-latin-600-normal-B7fBEWYG.woff2)format("woff2"),url(/assets/instrument-sans-latin-600-normal-B9e8oLYv.woff)format("woff")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-latin-400-normal-DMJ8VG8y.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-400-normal-CvHOgSBP.woff)format("woff")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-latin-500-normal-DSY6xOcd.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-500-normal-CB9ihrfo.woff)format("woff")}:root{--bg:#050b18;--panel:#0c1629c7;--panel-solid:#0c1629;--line:#94b2e024;--line-strong:#94b2e047;--ink:#ece7da;--ink-dim:#93a0b8;--amber:#ffb347;--amber-deep:#d99a35;--correct:#4fd18b;--wrong:#e85f5f;--display:"Bricolage Grotesque", system-ui, sans-serif;--body:"Instrument Sans", system-ui, sans-serif;--mono:"IBM Plex Mono", ui-monospace, monospace}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%}body{background:radial-gradient(120% 90% at 50% 30%, #0b1c38 0%, var(--bg) 55%, #030710 100%);color:var(--ink);font-family:var(--body);-webkit-font-smoothing:antialiased;-webkit-user-select:none;user-select:none;overflow:hidden}input{-webkit-user-select:text;user-select:text}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:none}button:focus-visible,input:focus-visible{outline:2px solid var(--amber);outline-offset:2px;border-radius:6px}.mono{font-family:var(--mono);letter-spacing:.04em;font-size:.82rem}.app{height:100%;position:relative}.globe-canvas{touch-action:none;inset:0;position:absolute!important}.vignette{pointer-events:none;background:radial-gradient(85% 85% at 50% 45%,#0000 60%,#02050c8c 100%);position:absolute;inset:0}.screen{pointer-events:none;justify-content:center;align-items:center;padding:24px;display:flex;position:absolute;inset:0;overflow-y:auto}.screen>*{pointer-events:auto}.loading{pointer-events:none}.loading-box{flex-direction:column;align-items:center;gap:14px;width:min(300px,70vw);display:flex}.loading-text{color:var(--ink-dim);animation:2.2s ease-in-out infinite breathe}.loading-bar{background:#94b2e029;border-radius:999px;width:100%;height:3px;overflow:hidden}.loading-bar-fill{background:linear-gradient(90deg, var(--amber-deep), var(--amber));border-radius:999px;height:100%;transition:width .15s ease-out;box-shadow:0 0 12px #ffb34780}.loading-pct{color:var(--amber-deep);letter-spacing:.1em;font-size:.7rem}@keyframes breathe{50%{opacity:.35}}.menu{justify-content:flex-start;padding-left:clamp(24px,7vw,96px)}.menu-card{background:var(--panel);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid var(--line);border-radius:18px;width:min(460px,100%);max-height:calc(100vh - 48px);padding:34px 34px 26px;overflow-y:auto;box-shadow:0 24px 80px #00000080}.menu-eyebrow{font-family:var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--amber-deep);margin-bottom:10px;font-size:.72rem}.menu-title{font-family:var(--display);letter-spacing:-.02em;background:linear-gradient(115deg, var(--ink) 55%, var(--amber) 130%);color:#0000;-webkit-background-clip:text;background-clip:text;font-size:clamp(3rem,7vw,4.2rem);font-weight:800;line-height:.95}.menu-sub{color:var(--ink-dim);margin:10px 0 26px;font-size:1.02rem}.menu-group{border:none;min-width:0;margin-bottom:20px}.menu-group legend{font-family:var(--mono);text-transform:uppercase;letter-spacing:.12em;color:var(--ink-dim);margin-bottom:9px;font-size:.7rem}.menu-row-2{flex-wrap:wrap;gap:20px;display:flex}.mode-row{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.mode-card{text-align:left;border:1px solid var(--line);background:#ffffff05;border-radius:12px;flex-direction:column;gap:5px;padding:12px 12px 11px;transition:border-color .15s,background .15s,transform .15s;display:flex}.mode-card:hover{border-color:var(--line-strong);transform:translateY(-1px)}.mode-card.is-active{border-color:var(--amber);background:#ffb34714}.mode-name{font-size:.92rem;font-weight:600}.mode-desc{color:var(--ink-dim);font-size:.74rem;line-height:1.35}.chip-row{flex-wrap:wrap;gap:7px;display:flex}.chip{border:1px solid var(--line);color:var(--ink-dim);background:#ffffff05;border-radius:999px;padding:6px 13px;font-size:.84rem;transition:all .15s}.chip:hover{border-color:var(--line-strong);color:var(--ink)}.chip.is-active{border-color:var(--amber);color:var(--amber);background:#ffb34717}.start-button{width:100%;font-family:var(--display);letter-spacing:.01em;color:#1c1204;background:linear-gradient(180deg, #ffc266, var(--amber-deep));border-radius:12px;margin-top:6px;padding:14px;font-size:1.12rem;font-weight:600;transition:transform .12s,box-shadow .12s;box-shadow:0 6px 24px #ffb34740,inset 0 1px #ffffff59}.start-button:hover{transform:translateY(-1px);box-shadow:0 10px 30px #ffb34759,inset 0 1px #ffffff59}.start-button:active{transform:translateY(0)}.menu-footer{color:var(--ink-dim);justify-content:space-between;align-items:center;margin-top:18px;display:flex}.sound-toggle{font-family:var(--mono);letter-spacing:.08em;color:var(--ink-dim);border-bottom:1px dotted var(--line-strong);padding-bottom:1px;font-size:.72rem}.sound-toggle:hover{color:var(--ink)}.hud{pointer-events:none;flex-direction:column;justify-content:space-between;display:flex;position:absolute;inset:0}.hud>*{pointer-events:auto}.hud-top{background:var(--panel);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border:1px solid var(--line);border-radius:999px;align-self:center;align-items:center;gap:18px;margin-top:18px;padding:9px 18px;display:flex;box-shadow:0 8px 30px #0006}.hud-meter{align-items:baseline;gap:10px;font-size:.86rem;display:flex}.hud-q{color:var(--amber);font-weight:500}.hud-dim,.hud-sep{color:var(--ink-dim)}.hud-meter strong{color:var(--ink)}.hud-quit{color:var(--ink-dim);border-radius:50%;padding:4px;font-size:.85rem;line-height:1;transition:color .15s}.hud-quit:hover{color:var(--wrong)}.streak{font-family:var(--mono);align-items:baseline;gap:7px;display:flex}.streak-label{text-transform:uppercase;letter-spacing:.12em;color:var(--ink-dim);font-size:.66rem}.streak-value{min-width:1.4em;font-size:1rem;font-weight:500;display:inline-block}.streak--lit .streak-value{color:var(--amber);text-shadow:0 0 12px #ffb34799}.hud-bottom{margin-bottom:max(22px, env(safe-area-inset-bottom));flex-direction:column;align-self:center;align-items:center;gap:12px;width:min(560px,100% - 32px);display:flex}.prompt-card{font-family:var(--display);text-align:center;background:var(--panel);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border:1px solid var(--line);border-radius:14px;padding:12px 26px;font-size:clamp(1.15rem,3vw,1.5rem);font-weight:600;box-shadow:0 12px 40px #00000073}.feedback-slot{justify-content:center;align-items:flex-end;min-height:58px;display:flex}.feedback{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border:1px solid;border-radius:12px;flex-direction:column;align-items:center;gap:2px;padding:10px 24px;display:flex}.feedback--correct{color:var(--correct);background:#4fd18b21;border-color:#4fd18b73}.feedback--wrong{color:var(--wrong);background:#e85f5f21;border-color:#e85f5f73}.feedback-title{font-family:var(--display);font-size:1.15rem;font-weight:600}.feedback-title em,.feedback-sub em{color:var(--ink);font-style:normal}.feedback-sub{color:var(--ink-dim);font-size:.8rem}.choice-grid{grid-template-columns:1fr 1fr;gap:9px;width:100%;display:grid}.choice{border:1px solid var(--line);background:var(--panel);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-radius:12px;padding:13px 16px;font-size:1rem;font-weight:500;transition:all .15s;box-shadow:0 8px 26px #00000059}.choice--idle:hover{border-color:var(--amber);transform:translateY(-1px)}.choice--correct{border-color:var(--correct);color:var(--correct);background:#4fd18b1f}.choice--wrong{border-color:var(--wrong);color:var(--wrong);background:#e85f5f1f;animation:.4s shake}.choice--faded{opacity:.45}.choice:disabled{cursor:default}@keyframes shake{20%{transform:translate(-6px)}40%{transform:translate(6px)}60%{transform:translate(-3px)}80%{transform:translate(3px)}}.fillin{gap:9px;width:100%;display:flex}.fillin-input{border:1px solid var(--line);background:var(--panel);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);color:var(--ink);font:inherit;border-radius:12px;flex:1;padding:13px 18px;font-size:1.02rem;transition:border-color .15s;box-shadow:0 8px 26px #00000059}.fillin-input::placeholder{color:var(--ink-dim)}.fillin-input:focus{border-color:var(--amber);outline:none}.fillin-input.is-correct{border-color:var(--correct);color:var(--correct)}.fillin-input.is-wrong{border-color:var(--wrong);color:var(--wrong);animation:.4s shake}.fillin-submit{color:#1c1204;background:linear-gradient(180deg, #ffc266, var(--amber-deep));border-radius:12px;padding:0 22px;font-weight:600;transition:opacity .15s}.fillin-submit:disabled{opacity:.4;cursor:default}.next-button{font-family:var(--mono);letter-spacing:.06em;color:var(--ink-dim);border:1px solid var(--line);background:var(--panel);border-radius:999px;padding:6px 14px;font-size:.8rem;transition:all .15s}.next-button:hover{color:var(--amber);border-color:var(--amber)}.summary-card{text-align:center}.summary-score{justify-content:center;align-items:baseline;gap:8px;margin:6px 0 2px;display:flex}.summary-big{font-family:var(--display);color:var(--amber);text-shadow:0 0 40px #ffb34759;font-size:5rem;font-weight:800;line-height:1}.summary-of{color:var(--ink-dim);font-size:1.3rem}.summary-stats{color:var(--ink-dim);margin-bottom:20px}.summary-missed{text-align:left;border:1px solid var(--line);border-radius:12px;margin-bottom:20px;padding:14px 18px}.summary-missed-title{font-family:var(--mono);text-transform:uppercase;letter-spacing:.12em;color:var(--ink-dim);margin-bottom:8px;font-size:.7rem}.summary-missed ul{flex-wrap:wrap;gap:6px 14px;list-style:none;display:flex}.summary-missed li{color:var(--wrong);font-weight:500}.summary-actions{flex-direction:column;gap:9px;display:flex}.ghost-button{border:1px solid var(--line);color:var(--ink-dim);border-radius:12px;padding:11px;font-weight:500;transition:all .15s}.ghost-button:hover{color:var(--ink);border-color:var(--line-strong)}@media (width<=640px){.menu{padding-left:24px}.menu-card{padding:26px 22px 20px}.mode-row{grid-template-columns:1fr}.hud-top{gap:12px;padding:8px 14px}.choice-grid{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}
