@import url('assets/fonts.css');
:root{--bg:#11161d;--panel:#192029;--ink:#eeece4;--muted:#7a8897;--amber:#ffbf5c;--cyan:#71e5d5;--line:#303a44;--red:#ef756e}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:'Roboto Mono',monospace;font-size:12px}.app{max-width:1240px;padding:0 38px;margin:auto}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}button:focus-visible,a:focus-visible{outline:2px solid var(--cyan);outline-offset:5px}button:disabled{cursor:default}.topbar{height:100px;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{color:var(--ink);text-decoration:none;display:flex;align-items:center;gap:13px;font-size:10px;line-height:1.7;letter-spacing:1.5px}.brand b{font-family:'Russo One',sans-serif;font-size:21px;letter-spacing:4px;line-height:1.2}.brand-icon{position:relative;background:var(--amber);color:#171c22;width:43px;height:43px;display:grid;place-content:center;font-family:'Russo One',sans-serif;font-style:italic;font-size:32px;line-height:1}.brand-icon:after{content:'';position:absolute;right:-4px;top:0;height:16px;border-right:3px solid var(--amber)}.brand-icon span{position:absolute;bottom:2px;right:3px;font:8px monospace;font-style:normal}.edition{color:var(--muted);letter-spacing:1.6px;font-size:10px}.live-dot,.machine-label i{display:inline-block;width:5px;height:5px;background:var(--cyan);margin-right:7px;box-shadow:0 0 8px #71e5d533}.top-actions{display:flex;gap:8px}.small-button{border:1px solid var(--line);background:transparent;color:var(--ink);height:34px;min-width:34px;padding:0 11px;font-size:15px}.small-button span{font-size:9px;letter-spacing:1px;margin-left:5px}.small-button:hover{border-color:var(--amber);color:var(--amber)}.machine{border:1px solid #3a4651;box-shadow:0 14px 65px #0005}.machine-label{height:31px;display:flex;align-items:center;justify-content:space-between;padding:0 15px;color:var(--muted);font-size:9px;letter-spacing:1px;background:#1a2129}.machine-label span:first-child{color:var(--ink)}.machine-label i{background:var(--amber)}.screen{position:relative;aspect-ratio:16/9;background:#14202c;overflow:hidden;isolation:isolate}.screen:fullscreen{width:100%;height:100%;aspect-ratio:auto;background:#10161c;display:grid;place-items:center}.screen:fullscreen canvas{object-fit:contain}canvas#game{display:block;width:100%;height:100%;image-rendering:pixelated;outline:none;touch-action:none}.scanlines{pointer-events:none;position:absolute;inset:0;background:repeating-linear-gradient(0deg,#00000014 0px,#00000014 1px,transparent 1px,transparent 3px);z-index:2;opacity:.38}.overlay{position:absolute;inset:0;z-index:5;padding:9% 6%;display:flex;align-items:flex-start;justify-content:center;flex-direction:column;background:linear-gradient(90deg,#0b1728ed 0%,#0b1728bb 33%,#0b172836 65%,transparent 100%)}.overlay[hidden],.hud[hidden],.boss-hud[hidden],.loading[hidden]{display:none}.intro-tag{font-size:9px;letter-spacing:2px;color:var(--cyan);margin-bottom:20px}.overlay h1{font:clamp(24px,4.2vw,57px)/1.16 'Russo One',sans-serif;letter-spacing:1px;margin:0;text-shadow:3px 3px #102030}.overlay h1 em{font-style:normal;color:var(--amber)}.overlay p{font-size:clamp(10px,1.1vw,13px);line-height:1.9;color:#bec9d3;margin:21px 0 26px;max-width:440px}.primary{display:flex;gap:40px;align-items:center;justify-content:space-between;border:none;box-shadow:4px 4px 0 #6c492a;background:var(--amber);color:#141e2b;font-weight:700;font-size:12px;letter-spacing:1.1px;padding:17px 21px;transition:transform .1s,background .1s}.primary:hover{background:#ffd08a;transform:translate(-1px,-1px)}.primary:active{transform:translate(2px,2px);box-shadow:2px 2px 0 #6c492a}.primary span{font-size:22px;line-height:10px}.overlay-hint{margin-top:17px;color:#758b9e;font-size:8px;letter-spacing:1px}.screen-bottom{position:absolute;bottom:13px;left:20px;right:20px;display:flex;justify-content:space-between;z-index:6;pointer-events:none;font-size:8px;letter-spacing:1px;color:#c2d6dfc4;text-shadow:1px 1px #122230}.screen-bottom span:last-child{color:var(--amber)}.control-strip{min-height:49px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 19px;background:#1a2129;color:#94a3b1;font-size:8px;letter-spacing:.5px;flex-wrap:wrap}.control-strip span{white-space:nowrap}kbd{border:1px solid #45505b;border-bottom:2px solid #45505b;color:#e5e7e8;min-width:19px;display:inline-block;text-align:center;padding:4px 4px;margin-right:4px;font:9px 'Roboto Mono',monospace;background:#252e39}.hud{position:absolute;top:25px;left:26px;right:26px;display:flex;justify-content:space-between;align-items:start;z-index:4;pointer-events:none}.player-hud{width:27%;max-width:260px}.hud-name{display:flex;justify-content:space-between;font-size:9px;text-shadow:2px 2px #101520;margin-bottom:7px}.hud-name b{color:white;font-size:11px;letter-spacing:2px}.health-track{height:13px;background:#122028;border:2px solid #e0e5d7;box-shadow:2px 2px #091320}.health-track i,.energy-track i,.boss-track i{display:block;width:100%;height:100%;background:var(--amber);transition:width .12s}.health-track.low i{background:var(--red)}.energy-track{height:5px;margin-top:5px;background:#122028;border:1px solid #638680}.energy-track i{width:0;background:var(--cyan)}.energy-label{font-size:7px;color:#a2c1c2;margin-top:4px;letter-spacing:1px}.center-hud{text-align:center;display:flex;align-items:center;flex-direction:column;gap:4px;filter:drop-shadow(2px 2px #112234)}.center-hud b{font:27px 'Russo One',sans-serif;color:var(--amber);line-height:1}.center-hud span{font-size:8px;letter-spacing:2px}.score-hud{position:relative;text-align:right;width:27%;padding-right:38px}.score-hud>span{display:block;font-size:8px;letter-spacing:2px;color:#dbe4eb}.score-hud>b{font-size:21px;letter-spacing:2px;text-shadow:2px 2px #101928}.score-hud button{position:absolute;right:0;top:0;pointer-events:auto;color:white;background:#11233199;border:1px solid #aec2c977;padding:6px 9px}.boss-hud{position:absolute;left:30%;right:30%;top:89px;z-index:4;text-shadow:2px 2px #132133}.boss-hud>div:first-child{font-size:8px;display:flex;justify-content:space-between;margin-bottom:5px;color:#fff}.boss-hud span{color:var(--red)}.boss-track{height:7px;background:#111d29;border:1px solid #efb0a1}.boss-track i{background:#f07b68}.loading{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#162130;z-index:10;color:var(--amber);text-align:center}.loading p{letter-spacing:2px}.loading small{color:var(--muted)}.loading-dot{height:14px;width:14px;background:var(--amber);box-shadow:-24px 0 #ffbf5c55,24px 0 #ffbf5c55;animation:blink .65s infinite alternate}@keyframes blink{to{opacity:.35}}.route{padding:28px 0 25px}.route-heading{display:flex;justify-content:space-between;color:var(--muted);font-size:8px;letter-spacing:1.3px;margin-bottom:16px}.eyebrow{color:#c2cbd4;font-size:9px;letter-spacing:1.5px;font-weight:600}.route-stops{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.route-stop{display:flex;align-items:center;gap:14px;border:1px solid var(--line);background:#192029;color:#c4cbd1;padding:16px;text-align:left;position:relative}.route-stop.active{border-color:#d49e59;background:#262829}.route-stop.locked{opacity:.52}.station-dot{flex-shrink:0;width:27px;height:27px;display:grid;place-content:center;border:1px solid #4b5964;border-radius:50%;font-size:10px}.active .station-dot{color:#111820;background:var(--amber);border-color:var(--amber)}.route-stop b{font-family:'Russo One',sans-serif;font-weight:400;font-size:15px;display:block;margin-bottom:5px}.route-stop small{font-size:7px;letter-spacing:1px;color:var(--muted);display:block}.station-state{margin-left:auto;font-size:7px;letter-spacing:1px;color:var(--amber)}.locked .station-state{color:var(--muted)}.cast-section{border-top:1px solid var(--line);padding:22px 0 26px}.cast{display:grid;grid-template-columns:repeat(8,1fr);gap:9px}.cast-card{background:linear-gradient(#1c2834,#17212b);border:1px solid #2e3a44;min-width:0;text-align:center;padding:5px 3px 12px;position:relative;overflow:hidden}.cast-card:first-child{border-color:#528d8b}.cast-card canvas{width:100%;height:auto;aspect-ratio:4/5;image-rendering:pixelated;display:block}.cast-card b{font-size:8px;display:block;min-height:24px;line-height:1.5}.cast-card small{display:block;color:var(--muted);font-size:7px}.cast-card .role{position:absolute;top:6px;left:6px;font-size:6px;letter-spacing:1px;color:var(--amber)}footer{border-top:1px solid var(--line);padding:20px 0 25px;color:#677787;font-size:7px;letter-spacing:1px;display:flex;justify-content:space-between;gap:20px}footer b{font-weight:400;color:#a0a8ae}footer button{background:transparent;border:none;padding:0;font-size:8px;color:var(--amber)}dialog{max-width:560px;width:calc(100% - 36px);border:1px solid #526678;background:#17232e;color:var(--ink);padding:35px;line-height:1.9;box-shadow:0 20px 100px #0009}dialog::backdrop{background:#070e17cc}dialog h2{font-family:'Russo One',sans-serif;font-size:27px;font-weight:400;color:var(--amber)}dialog p{font-size:12px;color:#b8c6d1}dialog p b{color:var(--cyan)}#close-help{position:absolute;right:15px;top:10px;border:0;background:transparent;color:var(--ink);font-size:25px}.touch-controls{display:none;position:absolute;bottom:32px;left:15px;right:15px;z-index:7;justify-content:space-between;pointer-events:none}.touch-controls div{display:flex;gap:8px}.touch-controls button{touch-action:none;pointer-events:auto;width:42px;height:42px;border:1px solid #c0d9e788;background:#102436b8;color:var(--ink);border-radius:4px;font-weight:700}.touch-controls button:active{background:#bf9a4acc}.touch-controls button[data-control=KeyJ],.touch-controls button[data-control=KeyK]{border-color:var(--amber);color:var(--amber)}@media(pointer:coarse){.touch-controls.playing{display:flex}.screen-bottom{bottom:7px}.control-strip{display:none}.screen{min-height:220px}.hud{top:13px;left:15px;right:15px}}@media(max-width:800px){.app{padding:0 18px}.topbar{height:80px}.edition{display:none}.brand b{font-size:17px}.machine-label{font-size:7px;padding:0 10px}.machine-label span:nth-child(2){display:none}.overlay{padding:5% 5%}.intro-tag{margin-bottom:12px;font-size:7px;letter-spacing:1px}.overlay h1{font-size:5vw}.overlay p{margin:13px 0 17px;line-height:1.6;font-size:9px}.primary{padding:12px 14px;font-size:9px;gap:20px}.overlay-hint{font-size:6px;margin-top:11px}.control-strip{justify-content:center;font-size:7px;gap:12px}.route-stop{padding:11px 9px;gap:8px}.route-stop b{font-size:12px}.route-stop small{font-size:6px}.station-state{display:none}.cast{grid-template-columns:repeat(4,1fr)}footer>span:nth-child(2){display:none}.hud{top:15px;left:16px;right:16px}.score-hud>b{font-size:16px}.hud-name{font-size:7px}.hud-name b{font-size:8px}.health-track{height:10px}.center-hud b{font-size:21px}.center-hud span{font-size:6px}.boss-hud{top:67px}.screen-bottom{font-size:6px}.screen-bottom span:first-child{max-width:70%}.score-hud button{padding:4px 7px}.route-heading{font-size:6px}}@media(max-width:480px){.app{padding:0 8px}.topbar{height:73px}.brand{gap:9px;font-size:8px}.brand b{font-size:15px}.brand-icon{width:35px;height:35px;font-size:27px}.small-button span{display:none}.intro-tag{display:none}.overlay p{font-size:8px;margin:9px 0 12px}.overlay-hint{display:none}.primary{font-size:8px;padding:10px 12px}.screen-bottom span:first-child{display:none}.screen-bottom{justify-content:flex-end}.hud-name span{display:none}.score-hud{padding-right:28px}.score-hud>b{font-size:12px}.score-hud>span{font-size:6px}.player-hud{width:28%}.energy-label{font-size:5px}.boss-hud{left:32%;right:26%;top:58px}.boss-hud>div:first-child{font-size:5px}.touch-controls{left:7px;right:7px;bottom:21px}.touch-controls div{gap:4px}.touch-controls button{width:34px;height:34px}.station-dot{width:23px;height:23px}.route-stop b{font-size:10px}.route-stop small{font-size:5px}.route-heading{font-size:5px}.eyebrow{font-size:8px}.route{padding:20px 0}.cast-card b{font-size:8px}.cast-card small{font-size:6px}}

@media(min-width:900px) and (max-height:900px){.app{max-width:min(1240px,calc((100svh - 192px)*1.7778 + 76px))}.topbar{height:84px}}

.mission-bar{background:#172735;border-top:1px solid #435b69;display:flex;gap:20px;align-items:center;justify-content:space-between;padding:16px 24px;min-height:104px}.mission-bar>div{flex:1;min-width:0}.mission-bar span{display:block;font:10px 'Roboto Mono',monospace;letter-spacing:1.4px;color:#ffd552;margin-bottom:7px}.mission-bar b{display:block;color:#f2ead7;font:700 20px 'Oswald',sans-serif}.mission-bar p{font-size:12px;color:#bacdd6;margin:6px 0 0;line-height:1.5}.mission-bar>strong{color:#ffe083;font:21px 'Roboto Mono',monospace}.route-progress{height:3px;background:#304754;margin-top:10px}.route-progress i{height:100%;display:block;background:#ffce38;transition:width .1s linear}.touch-controls .context-ready{box-shadow:0 0 0 2px #fff4aa,0 0 18px #ffdc4666}.product-note{display:flex;align-items:center;gap:20px;border:1px solid #455052;padding:22px;margin:24px 0;background:#1d2b30}.product-note>b,.phone-icon{display:grid;place-items:center;background:#ffce28;color:#15202a;width:62px;height:62px;flex:none;font:bold 28px sans-serif;border-radius:14px}.product-note p{font-size:12px;line-height:1.6;color:#c7d1d6}.product-note small{font:9px/1.6 'Roboto Mono',monospace;color:#e9d491;min-width:92px}.service-link{display:inline-block;width:max-content;background:#ffcf32;color:#172332;font:700 13px 'Roboto Mono',monospace;padding:14px 18px;text-decoration:none;max-width:100%;margin-bottom:10px}.service-link[hidden]{display:none}#payment{width:min(440px,calc(100vw - 28px));background:#f6f2e7;color:#1b2935;border:0;border-radius:22px;padding:28px;max-height:90dvh;overflow:auto}#payment::backdrop{background:#08151ed9}#payment .close{position:absolute;right:12px;top:10px;width:40px;height:40px;background:transparent;border:0;color:#243440;font-size:27px}.phone-top{font-size:18px;margin-bottom:28px;padding-right:24px}.phone-top small{display:block;font:9px 'Roboto Mono',monospace;color:#68737a;margin-top:6px}#payment h2{font-size:30px;line-height:1.15;margin:18px 0}#payment p{font:14px/1.6 sans-serif}#payment .eyebrow{color:#68737a;font:10px 'Roboto Mono',monospace}#payment .wide{display:block;width:100%;min-height:54px;border:0;border-radius:12px;background:#ffce28;color:#162736;font-size:15px;font-weight:700;margin-top:20px;padding:14px}#payment .wide:disabled{opacity:.6}.payment-disclaimer{border-top:1px solid #c6cdc9;padding-top:14px;margin-top:20px;font-size:11px!important;color:#627078}.unavailable{color:#6d7478;font-size:12px!important}.phone-icon{margin-bottom:20px}
