:root{--blue:#2563eb;--blue-700:#1d4ed8;--yellow:#facc15;--ink:#0b1220;--z950:#09090b;--z600:#52525b;--z500:#71717a;--z200:#e4e4e7;font-family:Inter,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{min-width:1.6em;color:var(--z950);border:1px solid var(--z200);text-align:center;background:#fff;border-bottom-width:2px;border-radius:5px;margin:0 2px;padding:1px 6px;font:600 .82em Inter,sans-serif;display:inline-block}a{color:#93c5fd}.logo{letter-spacing:-.04em;font-family:Inter Tight,Inter,sans-serif;font-weight:900;line-height:1;display:inline-block}.logo .l1{color:var(--z950)}.logo .l2{color:var(--blue)}.aii-logo{width:auto;height:30px;display:block}#loading{z-index:50;color:var(--z950);background:#fff;padding:32px 22px;transition:opacity .6s;display:flex;position:fixed;inset:0;overflow:auto}#loading.out{opacity:0;pointer-events:none}.ld-grid{stroke:#93c5fd73;pointer-events:none;width:100%;height:100%;position:absolute;inset:0;-webkit-mask-image:linear-gradient(225deg,#000,#0000 70%);mask-image:linear-gradient(225deg,#000,#0000 70%)}.ld-inner{text-align:center;border:1px solid var(--blue);background:#fff;width:min(680px,100%);margin:auto;padding:44px clamp(18px,5vw,56px) 34px;position:relative}.ld-plus{width:40px;height:40px;color:var(--blue);position:absolute}.ld-plus svg{width:100%;height:100%;display:block}.ld-plus.tl{top:-20px;left:-20px}.ld-plus.tr{top:-20px;right:-20px}.ld-plus.bl{bottom:-20px;left:-20px}.ld-plus.br{bottom:-20px;right:-20px}.ld-brand{display:inline-block}.ld-brand .aii-logo{height:34px}.ld-kicker{text-transform:uppercase;letter-spacing:.14em;color:var(--blue);margin:26px 0 10px;font:700 11px Inter,sans-serif}#loading .logo{font-size:clamp(48px,11vw,76px)!important}.ld-sub{max-width:460px;color:var(--z600);margin:18px auto 28px;font-size:17px;line-height:1.6}.ld-bar{background:#f4f4f5;height:4px;overflow:hidden}.ld-fill{background:var(--blue);width:0;height:100%;transition:width .25s}.ld-stage{color:var(--z500);min-height:1.2em;margin-top:10px;font-size:13px}.ld-stage.err{color:#dc2626}.ld-stages{color:var(--z500);flex-wrap:wrap;justify-content:center;gap:6px;margin:14px 0 0;padding:0;font-size:12px;list-style:none;display:flex}.ld-stages li{border:1px solid var(--z200);border-radius:99px;padding:3px 10px}.ld-stages li i{vertical-align:1px;background:#d4d4d8;border-radius:50%;width:6px;height:6px;margin-right:6px;display:inline-block}.ld-stages li.busy{color:var(--z950);border-color:#2563eb59}.ld-stages li.busy i{background:var(--blue);animation:.8s infinite alternate pulse}.ld-stages li.done{color:var(--blue);border-color:var(--blue)}.ld-stages li.done i{background:var(--blue)}@keyframes pulse{to{opacity:.3}}.ld-tip{color:#3f3f46;background:#eff6ff;border:1px solid #2563eb33;border-radius:12px;max-width:480px;min-height:3em;margin:26px auto 0;padding:12px 16px;font-size:15px;line-height:1.5}.ld-tip.fade{animation:.5s tipin}@keyframes tipin{0%{opacity:0;transform:translateY(4px)}}.ld-tip b{color:var(--blue-700)}.ld-start{margin-top:24px}.ld-btns{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.btn-play{color:#fff;background:var(--blue);cursor:pointer;border:0;border-radius:6px;padding:14px 48px;font:700 18px Inter Tight,Inter,sans-serif;transition:background .2s,transform .1s}.btn-play:hover{background:var(--blue-700);transform:translateY(-1px)}.btn-outline{color:var(--blue);border:1px solid var(--blue);background:#fff;border-radius:6px;padding:14px 22px;font:600 15px Inter,sans-serif;text-decoration:none;transition:background .2s}.btn-outline:hover{background:#eff6ff}.ld-controls{color:var(--z600);flex-wrap:wrap;justify-content:center;gap:6px 14px;margin-top:18px;font-size:13px;display:flex}.ld-foot{border-top:1px solid var(--z200);color:var(--z500);margin-top:30px;padding-top:18px;font-size:12px;line-height:1.7}#loading a,#pause a:not([class]){color:var(--blue)}#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{border:1px solid var(--z200);background:#fff;border-radius:10px;align-items:center;gap:10px;width:fit-content;padding:7px 12px;display:flex;box-shadow:0 1px 2px #0000000f}.hud-logo .aii-logo{height:18px}.hud-sep{background:var(--z200);width:1px;height:18px}.hud-money{border:1px solid var(--z200);color:var(--z950);background:#fff;border-radius:10px;width:fit-content;padding:5px 14px;font:800 20px Inter Tight,Inter,sans-serif;box-shadow:0 1px 2px #0000000f}.hud-area{color:var(--z950);border:1px solid var(--z200);white-space:nowrap;background:#fff;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:var(--blue);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;border:1px solid var(--z200);width:40px;height:40px;color:var(--z950);cursor:pointer;background:#fff;border-radius:10px;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:#09090b59;place-items:center;padding:16px;display:grid;position:fixed;inset:0}#pause[hidden]{display:none}.pause-card{width:min(620px,100%);max-height:92vh;color:var(--z950);border:1px solid var(--blue);text-align:center;background:#fff;border-radius:0;padding:28px;overflow:auto}.pause-brand{justify-content:center;margin-bottom:18px;display:flex}.pause-brand .aii-logo{height:26px}.pause-card h3{color:var(--blue);text-transform:uppercase;letter-spacing:.14em;margin:22px 0 4px;font-size:11px;font-weight:700}.pause-resume{margin:26px auto 0;display:block}.pause-cta{background:var(--blue);color:#dbeafe;border-radius:16px;gap:14px;margin-top:22px;padding:20px;font-size:14.5px;line-height:1.55;display:grid}.pause-cta b{color:#fff}.btn-cta{color:var(--blue);background:#fff;border:2px solid #fff;border-radius:6px;justify-self:center;padding:10px 22px;font-weight:700;text-decoration:none}.btn-cta:hover{background:#eff6ff}.pause-credits{color:var(--z500);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}}
