:root{--blue:#2563eb;--yellow:#facc15;--ink:#0b1220;font-family:Rubik,system-ui,sans-serif}*{box-sizing:border-box}html,body{background:var(--ink);color:#fff;overscroll-behavior:none;height:100%;margin:0;overflow:hidden}#app{position:fixed;inset:0}#game{touch-action:none;cursor:grab;width:100%;height:100%;display:block;position:absolute;inset:0}#game:active{cursor:grabbing}kbd{text-align:center;background:#ffffff24;border:1px solid #ffffff40;border-bottom-width:2px;border-radius:5px;min-width:1.6em;margin:0 2px;padding:1px 6px;font:600 .82em Rubik,sans-serif;display:inline-block}a{color:#93c5fd}.logo{letter-spacing:-.03em;font-weight:900;line-height:1;display:inline-block;position:relative}.logo .l1{color:#fff}.logo .l2{color:var(--blue)}.logo .badge{letter-spacing:0;background:var(--yellow);color:#111827;white-space:nowrap;border-radius:.5em;padding:.25em .6em;font-size:.2em;font-weight:700;position:absolute;bottom:-.62em;right:-.2em;transform:rotate(-3deg)}#loading{z-index:50;background:radial-gradient(1200px 600px at 50% 30%,#132347,#070b14 70%);place-items:center;transition:opacity .6s;display:grid;position:fixed;inset:0}#loading.out{opacity:0;pointer-events:none}.ld-inner{text-align:center;width:min(560px,92vw)}.ld-sub{color:#cbd5e1;margin:26px 0;font-size:17px}.ld-bar{background:#ffffff1a;border-radius:99px;height:10px;overflow:hidden}.ld-fill{background:linear-gradient(90deg,#2563eb,#60a5fa);border-radius:99px;width:0;height:100%;transition:width .25s}.ld-stage{color:#94a3b8;min-height:1.2em;margin-top:10px;font-size:14px}.ld-stage.err{color:#fca5a5}.ld-stages{color:#64748b;flex-wrap:wrap;justify-content:center;gap:6px 14px;margin:14px 0 0;padding:0;font-size:12.5px;list-style:none;display:flex}.ld-stages li i{vertical-align:1px;background:#334155;border-radius:50%;width:8px;height:8px;margin-right:6px;display:inline-block}.ld-stages li.busy{color:#cbd5e1}.ld-stages li.busy i{background:var(--yellow);animation:.8s infinite alternate pulse}.ld-stages li.done{color:#93c5fd}.ld-stages li.done i{background:var(--blue)}@keyframes pulse{to{opacity:.3}}.ld-tip{color:#e2e8f0;background:#2563eb21;border:1px solid #2563eb59;border-radius:12px;max-width:460px;min-height:3em;margin:26px auto 0;padding:12px 16px;font-size:15px}.ld-tip.fade{animation:.5s tipin}@keyframes tipin{0%{opacity:0;transform:translateY(4px)}}.ld-tip b{color:#fff}.ld-start{margin-top:22px}.btn-play{color:#fff;background:var(--blue);cursor:pointer;border:0;border-radius:14px;padding:14px 54px;font:800 22px Rubik,sans-serif;transition:transform .1s,background .2s;box-shadow:0 8px 30px #2563eb73}.btn-play:hover{background:#1d4ed8;transform:translateY(-1px)}.ld-controls{color:#cbd5e1;flex-wrap:wrap;justify-content:center;gap:6px 14px;margin-top:16px;font-size:13px;display:flex}.ld-foot{color:#64748b;margin-top:30px;font-size:12px;line-height:1.7}#hud{pointer-events:none;z-index:10;position:fixed;inset:0}#hud>*{position:absolute}.hud-tl{flex-direction:column;gap:14px;display:flex;top:14px;left:16px}.hud-logo .logo{text-shadow:0 2px 8px #00000080}.hud-money{color:#fde68a;background:#0b1220b8;border-radius:10px;width:fit-content;padding:6px 14px;font:800 22px Rubik,sans-serif}.hud-area{white-space:nowrap;background:#0b122099;border-radius:99px;padding:6px 16px;font-size:14px;font-weight:500;top:14px;left:50%;transform:translate(-50%)}.hud-area:empty{display:none}#minimap{border-radius:50%;width:190px;height:190px;position:absolute;top:14px;right:16px;box-shadow:0 6px 24px #00000059}.hud-speed{text-align:right;background:#0b1220bf;border-radius:14px;padding:6px 16px;bottom:26px;right:24px}.hud-speed b{font:900 42px Rubik,sans-serif}.hud-speed span{color:#94a3b8;margin-left:4px}.hud-prompt{text-align:center;background:#0b1220d1;border:1px solid #ffffff1f;border-radius:12px;max-width:min(620px,92vw);padding:10px 18px;font-size:15px;line-height:1.45;bottom:34px;left:50%;transform:translate(-50%)}.hud-toasts{flex-direction:column;align-items:center;gap:8px;display:flex;top:70px;left:50%;transform:translate(-50%)}.toast{background:#2563ebeb;border-radius:10px;padding:9px 18px;font-size:15px;font-weight:600;transition:opacity .4s;animation:.3s tin;box-shadow:0 4px 18px #0000004d}.toast.out{opacity:0}@keyframes tin{0%{opacity:0;transform:translateY(-8px)}}.hud-menu{pointer-events:auto;color:#fff;cursor:pointer;background:#0b1220b3;border:0;border-radius:10px;width:40px;height:40px;font-size:20px;top:214px;right:24px}#mg-overlay{z-index:20;pointer-events:none;position:fixed;inset:0}#mg-overlay>*{pointer-events:auto}#pause{z-index:40;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#050912b8;place-items:center;display:grid;position:fixed;inset:0}#pause[hidden]{display:none}.pause-card{text-align:center;background:#0f172a;border:1px solid #1e293b;border-radius:20px;width:min(620px,92vw);max-height:92vh;padding:28px;overflow:auto}.pause-card h3{color:#94a3b8;text-transform:uppercase;letter-spacing:.1em;margin:22px 0 4px;font-size:13px}.pause-resume{margin:34px auto 0;display:block}.pause-cta{color:#e2e8f0;background:#2563eb24;border:1px solid #2563eb66;border-radius:14px;gap:12px;margin-top:22px;padding:16px;font-size:14.5px;display:grid}.btn-cta{background:var(--yellow);color:#111827;border-radius:10px;justify-self:center;padding:10px 22px;font-weight:800;text-decoration:none}.pause-credits{color:#64748b;margin-top:18px;font-size:12px;line-height:1.7}.metro-map{z-index:30;background:#05091299;place-items:center;display:grid;position:fixed;inset:0}.metro-card{color:#0f172a;background:#f8fafc;border-radius:18px;flex-direction:column;width:min(980px,94vw);max-height:90vh;padding:16px;display:flex}.metro-head{align-items:center;gap:14px;margin-bottom:8px;display:flex}.metro-head b{font-size:20px}.metro-head span{color:#64748b;flex:1}.metro-close{cursor:pointer;background:#e2e8f0;border:0;border-radius:8px;padding:8px 12px;font:600 13px Rubik}.metro-svg{width:100%;height:auto;max-height:76vh}.metro-svg .st{cursor:pointer}.metro-svg .st text{fill:#0f172a;paint-order:stroke;stroke:#f8fafc;stroke-width:5px;font:600 22px Rubik,sans-serif}.metro-svg .st:hover circle{fill:#fde68a}.metro-svg .st.cur text{fill:#2563eb}.tunnel{z-index:35;background:#05070c;place-items:center;transition:opacity .4s;display:grid;position:fixed;inset:0;overflow:hidden}.tunnel.out{opacity:0}.tunnel-lights{filter:blur(2px);background:repeating-linear-gradient(90deg,#0000 0 140px,#fde047a6 140px 150px,#0000 150px 300px);animation:.35s linear infinite tun;position:absolute;inset:-50% 0}@keyframes tun{to{transform:translate(-300px)}}.tunnel-text{background:#0009;border-radius:12px;padding:12px 22px;font-size:24px;position:relative}#touch{z-index:11;pointer-events:none;position:fixed;inset:0}#touch .tcam{pointer-events:auto;touch-action:none;width:55%;position:absolute;top:30%;bottom:0;right:0}#touch .joy{pointer-events:auto;touch-action:none;z-index:2;background:#ffffff1f;border:2px solid #ffffff4d;border-radius:50%;width:130px;height:130px;position:absolute;bottom:34px;left:28px}#touch .knob{background:#ffffffa6;border-radius:50%;width:50px;height:50px;position:absolute;top:40px;left:40px}#touch .tbtns{pointer-events:auto;z-index:2;grid-template-columns:repeat(2,62px);gap:12px;display:grid;position:absolute;bottom:120px;right:22px}#touch .tbtns button{color:#fff;touch-action:none;background:#0b122099;border:2px solid #ffffff59;border-radius:50%;width:62px;height:62px;font:800 20px Rubik}@media (width<=700px){#minimap{width:130px;height:130px}.hud-menu{top:152px}.hud-logo{display:none}.hud-area{text-overflow:ellipsis;max-width:45vw;font-size:12px;top:64px;left:16px;overflow:hidden;transform:none}.hud-toasts{width:92vw;top:160px}.toast{font-size:13px}.hud-prompt{font-size:13px;bottom:200px}.hud-speed{bottom:260px}}
