@font-face{font-family:VT323;src:url(/fonts/VT323-Regular.ttf)format("truetype");font-display:block}:root{--lightningcss-light: ;--lightningcss-dark:initial;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--phosphor:#3f6;--phosphor-dim:#1c9a3e;--bg:#050805;--qr-bg:#d8ffe0;--plain-fg:#f2f2f2;--plain-bg:#2b2b2b;--glow:0 0 .12em #33ff668c, 0 0 .45em #3f63}html,body{background:var(--bg)}.game{background:var(--bg);min-height:100dvh;color:var(--phosphor);font-family:ui-monospace,Cascadia Mono,Menlo,Consolas,monospace}.dim{color:var(--phosphor-dim)}.crt{text-shadow:var(--glow);font-family:VT323,ui-monospace,monospace}.stage:after{content:"";pointer-events:none;z-index:50;background:repeating-linear-gradient(#0000 0 .25vh,#00000038 .25vh .4vh);position:absolute;inset:0}.stage{flex-direction:column;height:100vh;padding:5vh 5vw;font-size:4.5vh;line-height:1.2;animation:4s ease-in-out infinite flicker;display:flex;position:relative;overflow:hidden}.stage p{margin:0}.log{flex-direction:column;flex:1;justify-content:flex-end;gap:2.5vh;min-height:0;display:flex;overflow:hidden}.history{font-size:3vh}.cursor{vertical-align:-.1em;background:var(--phosphor);width:.5em;height:.9em;box-shadow:var(--glow);margin-left:.1em;display:inline-block}.cursor.blink{animation:1s step-end infinite blink}.twins{gap:8vw;margin-top:2.5vh;font-size:4.5vh;display:flex}.twin{color:var(--phosphor);padding:0 .4ch}.twin.lit{background:var(--phosphor);color:var(--bg);text-shadow:none}.footer{justify-content:space-between;gap:4vw;margin-top:2vh;font-size:2.5vh;display:flex}.errwin{--k:0;width:44vw;translate:calc(var(--k) * 2.4vh) calc(var(--k) * 2.4vh);border:.35vh solid var(--phosphor);background:var(--bg);font-size:3.6vh;animation:.12s steps(3,end) glitch-in;position:absolute;top:16vh;left:28vw;box-shadow:0 0 2vh #33ff6659,1.2vh 1.2vh #000c}.errwin.leaving{animation:.25s linear forwards glitch-out}.errtitle{background:var(--phosphor);color:var(--bg);text-shadow:none;justify-content:space-between;padding:.3vh 1ch;display:flex}.errbody{gap:2ch;padding:2vh 2ch 1vh;display:flex}.glyph{white-space:nowrap;font-size:1.4em}.erraction{text-align:center;padding:0 2ch 2vh}.loadbox{z-index:20;border:.35vh solid var(--phosphor);background:var(--bg);width:60vw;padding:3vh 3vw;position:absolute;top:45%;left:50%;translate:-50% -50%;box-shadow:0 0 2vh #33ff6659}.bar{border:.3vh solid var(--phosphor);gap:.5vw;margin:2vh 0 1vh;padding:.6vh;display:flex}.seg{flex:1;height:4vh}.seg.on{background:var(--phosphor);box-shadow:0 0 1vh #33ff6680}.pct{text-align:right}.attract{text-align:center;justify-content:center;align-items:center;gap:3vh}.attract .footer{position:absolute;bottom:5vh;left:5vw;right:5vw}.retype{box-sizing:content-box;width:calc(var(--n) * 1ch);white-space:nowrap;border-right:.5em solid var(--phosphor);animation:retype 25s steps(var(--n), end) infinite, cursor-blink 1s steps(1) infinite;margin:0;padding-top:.2em;font-size:7vh;font-weight:400;overflow:hidden}.blink{animation:1s step-end infinite blink}.pixel-cake{vertical-align:-.1em;filter:drop-shadow(0 0 .08em #3f69);width:3ch;height:1em;animation:1.2s ease-in-out infinite cake-bounce;display:inline-block}@keyframes cake-bounce{50%{transform:translateY(-.12em)}}.qr{z-index:60;width:38vh;line-height:0;position:relative;box-shadow:0 0 3vh #d8ffe040}.qr svg{width:100%;height:auto}.banner{z-index:200;background:var(--plain-bg);color:var(--plain-fg);text-align:center;text-shadow:none;padding:2vh;font:3vh system-ui,sans-serif;position:fixed;top:0;left:0;right:0}#lovable-badge{display:none!important}.offline-dot{z-index:60;background:#f53;border-radius:50%;width:1.6vh;height:1.6vh;position:fixed;bottom:5vh;right:5vw}.start-station,.debug{z-index:300;text-shadow:none;font:16px/1.4 system-ui,sans-serif;position:fixed}.start-station{background:var(--plain-fg);color:var(--plain-bg);border:0;border-radius:8px;padding:12px 20px;font-weight:600;bottom:3vh;left:50%;translate:-50%}.debug{color:var(--plain-fg);background:#2b2b2bf2;border-radius:8px;padding:16px 20px;top:16px;right:16px}.debug th{text-align:left;color:#bbb;padding-right:16px;font-weight:400}.debug button{color:#fff;background:#f53;border:0;border-radius:6px;width:100%;min-height:44px;margin-top:12px;font:600 16px system-ui,sans-serif}.debug p{color:#bbb;margin:8px 0 0;font-size:13px}@keyframes flicker{0%,to{opacity:1}50%{opacity:.97}}@keyframes blink{50%{opacity:0}}@keyframes cursor-blink{50%{border-right-color:#0000}}@keyframes retype{0%{width:0}6%{width:calc(var(--n) * 1ch)}92%{width:calc(var(--n) * 1ch)}96%,to{width:0}}@keyframes glitch-in{0%{clip-path:inset(0 0 85%);opacity:.6}50%{clip-path:inset(35% 0 25%)}to{clip-path:inset(0);opacity:1}}@keyframes glitch-out{0%{opacity:1;transform:translate(0)}25%{transform:translate(-.8vw)}50%{opacity:.6;transform:translate(.8vw)}75%{transform:translate(-.4vw)}to{opacity:0;transform:translate(0)}}.phone{padding:24px max(16px, env(safe-area-inset-right)) 24px max(16px, env(safe-area-inset-left));text-align:center;touch-action:manipulation;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent;overscroll-behavior:none;flex-direction:column;justify-content:center;gap:16px;font-size:22px;display:flex}.phone p{margin:0}.phone button{border:2px solid var(--phosphor);background:var(--bg);width:100%;min-height:72px;color:var(--phosphor);font:inherit;letter-spacing:.05em;cursor:pointer;font-size:28px;transition:transform 90ms}.phone button:active{background:var(--phosphor);color:var(--bg);transform:scale(.97)}.phone button.big{min-height:120px}.phone button.mirror{min-height:44px;color:var(--phosphor-dim);border:0;margin-top:24px;font-size:16px;text-decoration:underline}.phone button.mirror:active{color:var(--phosphor);background:0 0}.slide-in{flex-direction:column;gap:16px;animation:.18s ease-out slide-in;display:flex}.said{text-align:left;color:var(--phosphor-dim);font-size:18px}.thinbar{border:1px solid var(--phosphor);height:6px}.thinbar>div{background:var(--phosphor);height:100%}@keyframes slide-in{0%{opacity:0;transform:translateY(24px)}}.plain{background:var(--plain-bg);min-height:100dvh;color:var(--plain-fg);text-align:center;flex-direction:column;justify-content:center;gap:20px;padding:24px 16px;font:20px/1.4 system-ui,sans-serif;display:flex}.plain button{background:var(--plain-fg);min-height:64px;color:var(--plain-bg);border:0;border-radius:8px;font:600 20px system-ui,sans-serif}@media (prefers-reduced-motion:reduce){.stage,.errwin,.errwin.leaving,.slide-in,.blink,.cursor.blink,.pixel-cake{animation:none}.retype{border-right:0;width:auto;animation:none}}
