:root{--ground:#0a0c0f;--surface:#14181d;--line:#262c34;--text:#e8eaed;--text-dim:#949ca6;--accent:#e9a33c;--accent-dim:#8a6224;--font-ui:system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--font-mono:ui-monospace, "SF Mono", "Cascadia Mono", Menlo, Consolas, monospace;--ease:cubic-bezier(.2, .8, .2, 1)}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--ground);color:var(--text);font-family:var(--font-ui);-webkit-font-smoothing:antialiased;overflow:hidden}canvas{touch-action:none;display:block}.lockGate{background:color-mix(in srgb, var(--ground) 88%, transparent);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:10;place-content:center;justify-items:center;gap:1.5rem;display:grid;position:fixed;inset:0}.lockGate h1{font-family:var(--font-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--accent);text-wrap:balance;margin:0;font-size:clamp(1.5rem,4vw,2.25rem);font-weight:500}.lockGate p{text-align:center;max-width:34ch;color:var(--text-dim);margin:0;line-height:1.6}.lockGate button{font-family:var(--font-mono);letter-spacing:.18em;text-transform:uppercase;color:var(--ground);background:var(--accent);cursor:pointer;transition:filter .16s var(--ease);border:0;padding:.85rem 2rem;font-size:.8rem}.lockGate button:hover{filter:brightness(1.12)}.lockGate button:focus-visible{outline:2px solid var(--text);outline-offset:3px}.controls{font-family:var(--font-mono);letter-spacing:.1em;color:var(--text-dim);gap:1.25rem;font-size:.7rem;display:flex}.controls kbd{color:var(--text);border:1px solid var(--line);border-radius:3px;margin-right:.3rem;padding:.1rem .35rem}.debugHud{font-family:var(--font-mono);color:var(--text-dim);font-variant-numeric:tabular-nums;pointer-events:none;z-index:5;font-size:.7rem;position:fixed;bottom:.75rem;left:.75rem}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}.hud{pointer-events:none;z-index:5;position:fixed;inset:0}.crosshair{background:var(--text);opacity:.35;width:5px;height:5px;transition:width .14s var(--ease), height .14s var(--ease), margin .14s var(--ease), opacity .14s var(--ease), background-color .14s var(--ease);border-radius:50%;margin:-2.5px 0 0 -2.5px;position:absolute;top:50%;left:50%}.crosshairActive{opacity:.9;background:var(--accent);width:11px;height:11px;margin:-5.5px 0 0 -5.5px}.prompt{background:color-mix(in srgb, var(--surface) 82%, transparent);border:1px solid var(--line);font-family:var(--font-mono);letter-spacing:.06em;color:var(--text);white-space:nowrap;animation:promptIn .14s var(--ease);align-items:center;gap:.6rem;padding:.5rem .9rem;font-size:.78rem;display:flex;position:absolute;top:calc(50% + 2.5rem);left:50%;transform:translate(-50%)}.prompt kbd{border:1px solid var(--accent-dim);min-width:1.5rem;color:var(--accent);font:inherit;border-radius:3px;place-items:center;padding:.15rem .35rem;display:grid}@keyframes promptIn{0%{opacity:0;transform:translate(-50%)translateY(4px)}}.flash{background:color-mix(in srgb, var(--surface) 90%, transparent);border-left:2px solid var(--accent);max-width:min(58ch,82vw);color:var(--text);text-wrap:pretty;animation:flashIn .22s var(--ease);padding:.85rem 1.15rem;font-size:.9rem;line-height:1.55;position:absolute;bottom:4.5rem;left:50%;transform:translate(-50%)}@keyframes flashIn{0%{opacity:0;transform:translate(-50%)translateY(8px)}}.tracker{text-align:right;font-family:var(--font-mono);font-variant-numeric:tabular-nums;gap:.35rem;display:grid;position:absolute;top:1rem;right:1.1rem}.tracker>div{justify-content:flex-end;align-items:baseline;gap:.7rem;display:flex}.trackerValue{color:var(--text);font-size:.9rem}.toast{background:color-mix(in srgb, var(--surface) 92%, transparent);border:1px solid var(--line);border-left:2px solid var(--accent);max-width:22rem;animation:toastIn .26s var(--ease);align-items:center;gap:.8rem;padding:.7rem 1rem;display:flex;position:absolute;top:1rem;left:1.1rem}.toast>div{gap:.1rem;display:grid}.toastIcon{font-size:1.4rem}.toastEyebrow{font-family:var(--font-mono);letter-spacing:.2em;text-transform:uppercase;color:var(--accent);font-size:.58rem}.toastTitle{font-family:var(--font-mono);letter-spacing:.08em;color:var(--text);font-size:.85rem}.toastBody{color:var(--text-dim);font-size:.78rem}@keyframes toastIn{0%{opacity:0;transform:translate(-8px)}}.modalBackdrop{z-index:20;background:color-mix(in srgb, var(--ground) 72%, transparent);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);animation:fadeIn .18s var(--ease);place-content:center;justify-items:center;gap:1rem;display:grid;position:fixed;inset:0}@keyframes fadeIn{0%{opacity:0}}.modal{background:var(--surface);border:1px solid var(--line);border-top:2px solid var(--accent);width:min(38rem,90vw);animation:modalIn .22s var(--ease);padding:1.5rem 1.75rem 1.6rem}@keyframes modalIn{0%{opacity:0;transform:translateY(10px)}}.modalHeader{gap:.3rem;margin-bottom:1rem;display:grid}.modalCategory{font-family:var(--font-mono);letter-spacing:.22em;text-transform:uppercase;color:var(--accent);font-size:.6rem}.modal h2{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--text);text-wrap:balance;margin:0;font-size:1.05rem;font-weight:500}.modalPrompt{color:var(--text);text-wrap:pretty;margin:0 0 1rem;font-size:1rem;line-height:1.55}.modalFail{font-family:var(--font-mono);color:#d2685a;margin:.8rem 0 0;font-size:.75rem}.modalHint{color:var(--text-dim);border-left:2px solid var(--accent-dim);margin:.8rem 0 0;padding-left:.7rem;font-size:.85rem}.options{gap:.5rem;display:grid}.option{text-align:left;background:color-mix(in srgb, var(--ground) 60%, var(--surface));border:1px solid var(--line);width:100%;color:var(--text);font:inherit;cursor:pointer;transition:border-color .12s var(--ease), background .12s var(--ease);align-items:center;gap:.8rem;padding:.7rem .9rem;font-size:.95rem;display:flex}.option:hover,.option:focus-visible{border-color:var(--accent);outline:none}.option kbd{font-family:var(--font-mono);color:var(--accent);border:1px solid var(--accent-dim);border-radius:3px;padding:.1rem .4rem;font-size:.7rem}.optionWrong{animation:shake .22s var(--ease);border-color:#d2685a}@keyframes shake{25%{transform:translate(-4px)}75%{transform:translate(4px)}}.textInput{background:var(--ground);border:1px solid var(--line);width:100%;color:var(--text);font:inherit;padding:.75rem .9rem;font-size:1rem}.textInput:focus{border-color:var(--accent);outline:none}.terminal{font-family:var(--font-mono);cursor:text;font-size:.82rem}.terminalLines{background:var(--ground);border:1px solid var(--line);color:#a9e6b0;white-space:pre-wrap;max-height:40vh;padding:.75rem .9rem;line-height:1.5;overflow-y:auto}.termIn{color:var(--text)}.termOut{color:#a9e6b0}.terminalInput{background:var(--ground);border:1px solid var(--line);color:#a9e6b0;border-top:0;align-items:center;gap:.5rem;padding:.5rem .9rem;display:flex}.terminalInput input{color:var(--text);font:inherit;background:0 0;border:0;outline:none;flex:1}.checklist{font-family:var(--font-mono);gap:.4rem;margin:0;padding:0;font-size:.9rem;list-style:none;display:grid}.checklist li{gap:.7rem;display:flex}.checkDone{color:var(--text-dim);text-decoration:line-through}.checkTodo{color:var(--text)}.memory{border-top-color:var(--accent)}.memory-funny{--accent:#e9a33c}.memory-warm{--accent:#e07b5a}.memory-sincere{--accent:#c9b8ff}.memoryImage{width:100%;margin-bottom:1rem;display:block}.memoryBody{color:var(--text);white-space:pre-wrap;text-wrap:pretty;margin:0;font-size:1.05rem;line-height:1.7}.resume{border:1px solid var(--line);color:var(--text-dim);font-family:var(--font-mono);letter-spacing:.16em;text-transform:uppercase;cursor:pointer;transition:color .12s var(--ease), border-color .12s var(--ease);background:0 0;align-items:center;gap:.8rem;padding:.75rem 1.4rem;font-size:.72rem;display:flex}.resume:hover,.resume:focus-visible{color:var(--text);border-color:var(--accent);outline:none}.resume kbd{font:inherit;color:var(--accent);border:1px solid var(--accent-dim);border-radius:3px;padding:.1rem .4rem}.vignette,.scanlines{pointer-events:none;position:absolute;inset:0}.vignette{background:radial-gradient(#0000 52%,#00000080 100%)}.scanlines{background:repeating-linear-gradient(0deg,#ffffff06 0 1px,#0000 1px 3px)}.stinger{font-family:var(--font-mono);letter-spacing:.34em;text-transform:uppercase;color:var(--text);text-shadow:0 0 18px color-mix(in srgb, var(--accent) 50%, transparent);animation:stinger 3s var(--ease) forwards;font-size:clamp(1.1rem,2.6vw,1.7rem);position:absolute;top:3.2rem;left:3.2rem}.stinger small{letter-spacing:.3em;color:var(--accent);margin-top:.4rem;font-size:.6rem;display:block}@keyframes stinger{0%{opacity:0;transform:translate(-10px)}12%{opacity:1;transform:none}78%{opacity:1}to{opacity:0}}.tracker{min-width:11rem;font-family:var(--font-mono);gap:.6rem;display:grid;position:absolute;top:1.1rem;right:1.2rem}.trackerRow{gap:.3rem;display:grid}.trackerHead{justify-content:space-between;align-items:baseline;display:flex}.trackerLabel{letter-spacing:.22em;text-transform:uppercase;color:var(--text-dim);font-size:.6rem}.trackerValue{color:var(--text);font-variant-numeric:tabular-nums;font-size:.85rem}.trackerValue em{color:var(--text-dim);font-style:normal}.segments{gap:3px;display:flex}.seg{background:color-mix(in srgb, var(--line) 80%, transparent);height:5px;transition:background .22s var(--ease), box-shadow .22s var(--ease);flex:1}.segOn{background:var(--accent);box-shadow:0 0 8px color-mix(in srgb, var(--accent) 60%, transparent)}.prompt{background:color-mix(in srgb, var(--ground) 78%, transparent);border:1px solid color-mix(in srgb, var(--accent) 35%, var(--line));text-transform:uppercase;letter-spacing:.14em;gap:.8rem;padding:.55rem 1rem .55rem .6rem;font-size:.72rem}.prompt:before,.prompt:after{content:"";border:1px solid var(--accent);width:8px;height:8px;position:absolute}.prompt:before{border-bottom:0;border-right:0;top:-1px;left:-1px}.prompt:after{border-top:0;border-left:0;bottom:-1px;right:-1px}.prompt kbd{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 14%, transparent);min-width:1.7rem;height:1.7rem;font-size:.8rem}.modal{box-shadow:0 0 0 1px color-mix(in srgb, var(--accent) 16%, transparent), 0 40px 90px #0009;position:relative}.modal:before,.modal:after{content:"";border:2px solid var(--accent);pointer-events:none;width:14px;height:14px;position:absolute}.modal:before{border-bottom:0;border-right:0;top:-2px;left:-2px}.modal:after{border-top:0;border-left:0;bottom:-2px;right:-2px}.modalBackdrop{background:color-mix(in srgb, var(--ground) 62%, transparent)}.modalBackdrop:before{content:"";pointer-events:none;background:repeating-linear-gradient(0deg,#ffffff06 0 1px,#0000 1px 3px);position:absolute;inset:0}.modalCategory:before{content:"// ";color:var(--text-dim)}.memoryIndex{font-family:var(--font-mono);color:color-mix(in srgb, var(--accent) 22%, transparent);pointer-events:none;font-size:3.2rem;line-height:1;position:absolute;top:.9rem;right:1.2rem}.memory{padding-top:1.7rem}.memory .modalHeader{border-bottom:1px solid var(--line);padding-bottom:.8rem}.resume{background:var(--accent);color:var(--ground);border-color:var(--accent);box-shadow:0 0 22px color-mix(in srgb, var(--accent) 35%, transparent)}.resume:hover,.resume:focus-visible{color:var(--ground);filter:brightness(1.1)}.resume kbd{color:var(--ground);border-color:color-mix(in srgb, var(--ground) 45%, transparent)}@media (prefers-reduced-motion:reduce){.stinger{animation:3s step-end forwards stingerStill!important}}@keyframes stingerStill{0%,78%{opacity:1}to{opacity:0}}.screen{z-index:10;background:radial-gradient(ellipse at 50% 40%, color-mix(in srgb, var(--ground) 70%, transparent), var(--ground) 75%), var(--ground);animation:fadeIn .26s var(--ease);place-items:center;display:grid;position:fixed;inset:0}.crt{pointer-events:none;background:repeating-linear-gradient(0deg,#ffffff09 0 1px,#0000 1px 3px),radial-gradient(#0000 58%,#0009 100%);position:absolute;inset:0}.panel{background:color-mix(in srgb, var(--surface) 88%, transparent);border:1px solid var(--line);width:min(44rem,92vw);box-shadow:0 0 0 1px color-mix(in srgb, var(--accent) 18%, transparent), 0 40px 90px #0000008c;font-family:var(--font-mono);padding:1.6rem 1.9rem 1.8rem;position:relative}.panel:before,.panel:after{content:"";border:2px solid var(--accent);width:14px;height:14px;position:absolute}.panel:before{border-bottom:0;border-right:0;top:-2px;left:-2px}.panel:after{border-top:0;border-left:0;bottom:-2px;right:-2px}.panelHeader{border-bottom:1px solid var(--line);justify-content:space-between;align-items:baseline;margin-bottom:1rem;padding-bottom:.7rem;display:flex}.panelTitle{letter-spacing:.24em;text-transform:uppercase;color:var(--accent);text-shadow:0 0 14px color-mix(in srgb, var(--accent) 45%, transparent);font-size:.95rem}.panelMeta{letter-spacing:.16em;color:var(--text-dim);text-transform:uppercase;font-size:.65rem}.panelFoot{letter-spacing:.12em;color:var(--text-dim);text-transform:uppercase;margin:1.2rem 0 0;font-size:.65rem}.bootLine,.staggered{opacity:0;animation:.16s step-end forwards bootIn;animation-delay:calc(var(--i,0) * .17s + .24s)}@keyframes bootIn{to{opacity:1}}.bootLines{gap:.35rem;margin:0;padding:0;font-size:.82rem;list-style:none;display:grid}.bootLine{color:var(--text);align-items:baseline;gap:.6rem;display:flex}.bootLine:before{content:">";color:var(--text-dim)}.bootLabel{text-transform:lowercase}.bootLeader{border-bottom:1px dotted var(--line);flex:1;transform:translateY(-.3em)}.bootValue{letter-spacing:.1em}.tone-ok .bootValue{color:#5fb37a}.tone-warn .bootValue{color:#e07b5a}.tone-plain .bootValue{color:var(--accent)}.tone-dim .bootValue{color:var(--text-dim)}.bootStatus{border-top:1px solid var(--line);margin-top:1.3rem;padding-top:1rem}.statusHead{letter-spacing:.24em;text-transform:uppercase;color:var(--text-dim);margin-bottom:.6rem;font-size:.62rem;display:block}.bootStatus dl{grid-template-columns:auto 1fr;gap:.3rem 1.4rem;margin:0;font-size:.85rem;display:grid}.bootStatus dt{color:var(--text-dim);letter-spacing:.12em;text-transform:uppercase}.bootStatus dd{color:var(--text);font-variant-numeric:tabular-nums;margin:0}.bootGreeting{letter-spacing:.2em;text-transform:uppercase;color:var(--text);margin:1.4rem 0 1.2rem;font-size:clamp(1.3rem,3.4vw,1.9rem)}.cursor{background:var(--accent);vertical-align:-.1em;width:.55em;height:1em;margin-left:.3em;animation:1s step-end infinite blink;display:inline-block}@keyframes blink{50%{opacity:0}}.panel button,.menu button{border:1px solid var(--line);color:var(--text);font:inherit;letter-spacing:.2em;text-transform:uppercase;cursor:pointer;transition:border-color .12s var(--ease), background .12s var(--ease), color .12s var(--ease);background:0 0;align-items:center;gap:.9rem;padding:.8rem 1.4rem;font-size:.78rem;display:inline-flex}.panel button:hover,.panel button:focus-visible{border-color:var(--accent);outline:none}.panel button kbd{font:inherit;color:var(--accent);border:1px solid var(--accent-dim);border-radius:3px;padding:.15rem .45rem;font-size:.65rem}.panel button.primary{background:var(--accent);color:var(--ground);border-color:var(--accent);box-shadow:0 0 22px color-mix(in srgb, var(--accent) 35%, transparent)}.panel button.primary kbd{color:var(--ground);border-color:color-mix(in srgb, var(--ground) 45%, transparent)}.panel button.primary:hover{filter:brightness(1.1)}.panel button.danger{color:#d2685a;border-color:#d2685a}.menu{justify-items:start;gap:.55rem;display:grid}.bootActions{flex-wrap:wrap;align-items:center;gap:.6rem;display:flex}.controlsList{border-top:1px solid var(--line);gap:.4rem;margin:1.1rem 0 0;padding:1rem 0 0;font-size:.8rem;display:grid}.controlsList>div{align-items:center;gap:1rem;display:flex}.controlsList dt{min-width:5.5rem}.controlsList dd{color:var(--text-dim);margin:0}.controlsList kbd{font:inherit;color:var(--text);border:1px solid var(--line);border-radius:3px;padding:.1rem .4rem;font-size:.7rem}.arenaOverlay{z-index:20;pointer-events:auto;font-family:var(--font-mono);color:var(--text);-webkit-user-select:none;user-select:none;position:fixed;inset:0}.arenaClock{justify-items:center;gap:.5rem;display:grid;position:absolute;top:1.1rem;left:50%;transform:translate(-50%)}.arenaClockTime{letter-spacing:.1em;font-variant-numeric:tabular-nums;color:var(--text);text-shadow:0 0 18px color-mix(in srgb, var(--accent) 75%, transparent), 0 0 44px color-mix(in srgb, var(--accent) 35%, transparent);transition:color .3s var(--ease), text-shadow .3s var(--ease);font-size:clamp(2.4rem,5vw,3rem);line-height:1}.arenaClockBar{background:color-mix(in srgb, var(--line) 85%, transparent);width:9rem;height:2px;overflow:hidden}.arenaClockBar i{background:var(--accent);height:100%;box-shadow:0 0 8px color-mix(in srgb, var(--accent) 80%, transparent);transition:width 1s linear, background .3s var(--ease);display:block}.arenaAttempt{letter-spacing:.3em;text-transform:uppercase;color:var(--text-dim);font-size:.6rem}.arenaClockWarn .arenaClockTime{color:#d2685a;text-shadow:0 0 18px #d2685abf,0 0 44px #d2685a59;animation:arenaPulse 1s var(--ease) infinite}.arenaClockWarn .arenaClockBar i{background:#d2685a;box-shadow:0 0 8px #d2685acc}@keyframes arenaPulse{50%{opacity:.8;transform:scale(1.07)}}.arenaBoost{gap:.45rem;display:grid;position:absolute;bottom:1.4rem;left:1.4rem}.arenaBoostHead{letter-spacing:.26em;text-transform:uppercase;color:var(--text-dim);justify-content:space-between;align-items:baseline;font-size:.6rem;display:flex}.arenaBoostHead b{letter-spacing:.08em;color:var(--accent);font-variant-numeric:tabular-nums;transition:color .2s var(--ease);font-weight:500}.arenaBoostBar{background:color-mix(in srgb, var(--line) 80%, transparent);border:1px solid color-mix(in srgb, var(--accent) 30%, var(--line));width:12rem;height:8px;transition:border-color .2s var(--ease), opacity .2s var(--ease);position:relative}.arenaBoostBar i{background:var(--accent);box-shadow:0 0 10px color-mix(in srgb, var(--accent) 60%, transparent);transition:width 90ms linear;position:absolute;inset:0 auto 0 0}.arenaBoostBar:after{content:"";pointer-events:none;background:repeating-linear-gradient(90deg, transparent 0, transparent calc(10% - 2px), var(--ground) calc(10% - 2px), var(--ground) 10%);position:absolute;inset:0}.arenaBoostEmpty .arenaBoostBar{border-color:var(--line);opacity:.55}.arenaBoostEmpty .arenaBoostHead b{color:var(--text-dim)}.arenaHints{letter-spacing:.14em;text-transform:uppercase;color:var(--text-dim);white-space:nowrap;align-items:center;gap:.8rem;font-size:.64rem;display:flex;position:absolute;bottom:1.4rem;right:1.4rem}.arenaHints span{align-items:center;gap:.35rem;display:inline-flex}.arenaHints span kbd:last-of-type{margin-right:.25rem}.arenaHints kbd{border:1px solid var(--accent-dim);min-width:1.5rem;height:1.5rem;color:var(--accent);font:inherit;letter-spacing:.06em;border-radius:3px;place-items:center;padding:0 .4rem;display:grid}.arenaHints i{color:var(--line);font-style:normal}.arenaCentre{pointer-events:none;place-items:center;display:grid;position:absolute;inset:0}.arenaCentre>*{grid-area:1/1}.arenaCount{letter-spacing:.1em;color:var(--text);text-shadow:0 0 30px color-mix(in srgb, var(--accent) 80%, transparent), 0 0 90px color-mix(in srgb, var(--accent) 40%, transparent);animation:arenaCountIn .42s var(--ease);font-size:clamp(6rem,18vw,11rem);line-height:1}@keyframes arenaCountIn{0%{opacity:0;transform:scale(1.7)}}.arenaGo{letter-spacing:.22em;text-indent:.22em;color:var(--accent);animation:arenaGo .9s var(--ease) forwards;font-size:clamp(5rem,15vw,9rem)}@keyframes arenaGo{0%{opacity:0;transform:scale(1.6)}20%{opacity:1;transform:scale(1)}70%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.9)}}@media (prefers-reduced-motion:reduce){.arenaGo,.arenaClockWarn .arenaClockTime{animation:none}}.arenaGoal{letter-spacing:.34em;text-indent:.34em;color:var(--accent);text-shadow:0 0 24px color-mix(in srgb, var(--accent) 90%, transparent), 0 0 70px color-mix(in srgb, var(--accent) 55%, transparent), 0 0 140px color-mix(in srgb, var(--accent) 30%, transparent);animation:arenaGoalIn .6s var(--ease);font-size:clamp(4.5rem,14vw,9rem);line-height:1}@keyframes arenaGoalIn{0%{opacity:0;transform:scale(.5)}55%{opacity:1;transform:scale(1.08)}to{transform:scale(1)}}.arenaGoalFlash{background:var(--accent);opacity:0;animation:arenaFlash .7s var(--ease) forwards;position:absolute;inset:0}@keyframes arenaFlash{0%{opacity:.55}to{opacity:0}}.arenaTimeout{background:color-mix(in srgb, var(--ground) 58%, transparent);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);animation:arenaFadeIn .2s var(--ease);place-items:center;display:grid;position:absolute;inset:0}@keyframes arenaFadeIn{0%{opacity:0}}.arenaPanel{width:min(27rem,92vw);animation:arenaPanelIn .26s var(--ease)}@keyframes arenaPanelIn{0%{opacity:0;transform:translateY(10px)}}.arenaPanelBody{font-family:var(--font-ui);color:var(--text);text-wrap:pretty;margin:0;font-size:.95rem;line-height:1.6}.arenaActions{flex-wrap:wrap;gap:.6rem;margin-top:1.3rem;display:flex}.roomFade{z-index:6;pointer-events:none;animation:roomFade .7s var(--ease) forwards;background:#000;position:fixed;inset:0}@keyframes roomFade{0%{opacity:1}to{opacity:0}}.arenaActions button:focus-visible{outline:2px solid var(--text);outline-offset:3px}.theme-amber{--accent:#e9a33c;--accent-dim:#8a6224}.theme-cyan{--accent:#4fd1e8;--accent-dim:#2a7c8c}.theme-green{--accent:#3ddc84;--accent-dim:#22804d}.theme-none{--accent:#e8eaed;--accent-dim:#6b7079}.modalShell{width:min(46rem,92vw)}.modalShell .terminalLines{min-height:12rem;max-height:48vh}.finale{--accent:#e9a33c;--accent-dim:#8a6224;z-index:30;background:var(--ground)}.finalePanel{width:min(40rem,90vw);animation:finaleIn .9s var(--ease) both;gap:1.1rem;display:grid}@keyframes finaleIn{0%{opacity:0;transform:translateY(12px)}}.finaleEyebrow{letter-spacing:.28em;text-transform:uppercase;color:var(--accent);font-size:.62rem}.finaleTitle{letter-spacing:.18em;text-transform:uppercase;color:var(--text);text-shadow:0 0 28px color-mix(in srgb, var(--accent) 45%, transparent);margin:0;font-size:clamp(2rem,6vw,3.4rem);font-weight:500}.finaleMessage{font-family:var(--font-ui);color:var(--text);white-space:pre-wrap;text-wrap:pretty;margin:0;font-size:1.1rem;line-height:1.7}.finaleGift{border-left:2px solid var(--accent);background:color-mix(in srgb, var(--ground) 60%, var(--surface));font-family:var(--font-ui);color:var(--text);white-space:pre-wrap;margin:0;padding:1rem 1.2rem;font-size:1rem;line-height:1.6}.finaleStats{border-top:1px solid var(--line);grid-template-columns:auto 1fr;gap:.3rem 1.4rem;margin:0;padding-top:1rem;font-size:.8rem;display:grid}.finaleStats dt{color:var(--text-dim);letter-spacing:.14em;text-transform:uppercase}.finaleStats dd{color:var(--text);font-variant-numeric:tabular-nums;margin:0}.finaleActions{flex-wrap:wrap;gap:.6rem;display:flex}
