@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@500;600;700;800;900&family=IBM+Plex+Mono:wght@400;500;600&family=Inter:wght@400;500;600;700;800&display=swap');
:root{--bg:#080f15;--panel:#101c25;--orange:#ff885d;--cyan:#78ecd1;--violet:#b99aff;--pink:#ff79b1;--muted:#8fa5b1;--text:#e5eef1;--line:#c9e8ff26;--mono:'IBM Plex Mono',monospace;--display:'Barlow Condensed','Arial Narrow',Impact,sans-serif;--ui:Inter,Arial,sans-serif}
*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden;background:var(--bg);color:var(--text);font-family:var(--ui);font-size:13px}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer;border:0;background:transparent}button:hover{filter:brightness(1.18)}button:focus-visible,a:focus-visible{outline:2px solid var(--cyan);outline-offset:4px}button:disabled{opacity:.4;cursor:not-allowed}a{color:inherit;text-decoration:none}h1,h2,h3,p{margin:0}kbd{font:9px var(--mono);border:1px solid #8ca7b945;padding:3px 5px;white-space:nowrap;color:#c3d0d7;background:#08151c80}#app{position:relative;width:100%;height:100%;isolation:isolate}#worldHost,#city{position:absolute;inset:0;width:100%;height:100%;outline:0;touch-action:none}#worldHost{z-index:-3}.film{position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(90deg,#06101be3,transparent 37%,transparent 82%,#05101d65),linear-gradient(0deg,#050d16f2,transparent 34%,transparent 72%,#030b17b0);box-shadow:inset 0 0 140px #01071265}.topbar{position:absolute;top:0;left:32px;right:32px;height:84px;display:flex;align-items:center;gap:15px;border-bottom:1px solid var(--line)}.brand{font-family:var(--display);font-size:31px;font-weight:700;letter-spacing:1px;display:flex;align-items:center;white-space:nowrap}.brand-icon{width:31px;height:34px;display:grid;place-items:center;background:var(--orange);color:#0c1720;font:900 italic 28px var(--ui);transform:skew(-6deg);margin-right:11px}.slashes{color:var(--orange)}.brand small{font:7px/1.6 var(--mono);margin:4px 0 0 15px;letter-spacing:1px;max-width:62px;white-space:normal;color:#8196a4}.brand small b{color:var(--orange)}nav{display:flex;gap:24px;margin-left:42px;height:100%;align-items:center}nav button{font:10px var(--mono);letter-spacing:1px;display:flex;align-items:center;gap:9px}nav kbd{font-size:8px;color:var(--muted);margin-left:2px}.nav-dot,.live-dot{display:inline-block;width:5px;height:5px;border-radius:50%;background:var(--cyan);box-shadow:0 0 12px #78ecd180}.nav-dot{background:var(--orange)}.wallet{margin-left:auto;display:flex;align-items:center;gap:10px;font:12px var(--mono)}.credit-symbol{font-size:23px;color:var(--orange)}.wallet-divider{height:26px;border-left:1px solid var(--line);margin:0 5px}.rank-chip{border:1px solid #8cdccb50;color:var(--cyan);font:16px var(--display);padding:5px 7px;background:#4df7be08}.rank-name{font:8px var(--mono);color:#b7c8d2;max-width:60px;line-height:1.6}.square-btn{width:31px;height:31px;border:1px solid var(--line);font:18px var(--mono);color:#b8c9d4;display:grid;place-items:center}.district{position:absolute;left:36px;top:114px}.eyebrow{font:8px var(--mono);letter-spacing:1.7px;color:var(--muted)}.district .eyebrow i{display:inline-block;width:5px;height:5px;background:var(--orange);margin-right:7px}.district h2{font:600 29px var(--display);letter-spacing:1px;margin-top:6px}.district h2 span{font:12px var(--mono);vertical-align:super;color:var(--orange);margin-left:5px}.district p{font:7px var(--mono);letter-spacing:1px;color:#839aa8;display:flex;gap:22px;margin-top:8px}.orange{color:var(--orange)}.intro{position:absolute;left:36px;top:29%;width:380px}.intro h1{font:800 clamp(56px,5.9vw,88px)/.88 var(--display);letter-spacing:-.8px;margin:19px 0 24px}.intro h1 em{font-style:normal;color:var(--orange)}.intro>p{font-size:12px;line-height:1.9;color:#b8c9d3}.primary{background:var(--orange);color:#11222a;min-height:47px;padding:14px 20px;font:600 10px var(--mono);letter-spacing:1px;display:flex;justify-content:space-between;align-items:center;gap:22px}.primary span{font-size:23px;line-height:15px}.intro .primary{width:257px;margin-top:25px}.intro-detail{font:7px var(--mono);letter-spacing:.5px;color:var(--muted);display:flex;gap:7px;align-items:center;margin-top:16px}.mission-panel{position:absolute;left:36px;top:225px;width:258px;padding:20px;background:#071622b8;backdrop-filter:blur(10px);border:1px solid var(--line);border-top:2px solid var(--orange)}.mission-panel .eyebrow{display:flex;justify-content:space-between}.mission-panel h3{font:600 25px var(--display);margin-top:14px}.mission-panel p{font-size:10px;line-height:1.7;color:#a3b9c7;margin-top:8px}.quest-track{height:3px;background:#4b617344;margin:20px 0 10px}.quest-track i{display:block;width:0;height:100%;background:var(--orange);transition:width .25s}.quest-meta{display:flex;justify-content:space-between;font:9px var(--mono)}.quest-meta span:last-child{color:var(--orange)}.small-action{font:9px var(--mono);color:var(--cyan);padding:13px 0 0;width:100%;text-align:left}.radar-panel{position:absolute;right:36px;top:118px;width:180px;background:#0615229c;border:1px solid var(--line);backdrop-filter:blur(8px)}.radar-panel .eyebrow{font-size:6px;padding:11px 10px;letter-spacing:.8px;display:flex;align-items:center;gap:6px;border-bottom:1px solid var(--line)}.radar-panel .eyebrow>span:last-child{margin-left:auto;color:var(--cyan)}#radar{display:block;width:100%;height:auto;aspect-ratio:180/150}.radar-legend{display:flex;justify-content:space-between;padding:9px 8px;font:6px var(--mono);color:#b0c1cd;border-top:1px solid var(--line)}.radar-legend i{display:inline-block;width:3px;height:3px;background:var(--cyan);margin-right:4px}.radar-legend span:nth-child(2) i{background:var(--orange)}.radar-legend span:nth-child(3) i{background:var(--violet)}.radar-panel>p{font:6px var(--mono);letter-spacing:.5px;padding:10px;color:#7893a5;border-top:1px solid var(--line)}.bottom-dock{position:absolute;left:36px;right:36px;bottom:16px}.dock-title{display:flex;align-items:center;justify-content:space-between;font:7px var(--mono);letter-spacing:1px;color:#b0c0cc;margin-bottom:12px}.dock-title span:first-child{display:flex;align-items:center;gap:7px}.dock-title span:last-child{color:#839fac}.dock-title b{color:var(--orange);margin-left:9px}.arcade-row{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.game-card{position:relative;text-align:left;padding:15px 17px 14px;background:linear-gradient(130deg,#112434e8,#081620dd);border:1px solid #b2d9f02b;backdrop-filter:blur(12px);min-height:108px;overflow:hidden;transition:transform .2s,border-color .2s;--accent:var(--orange)}.game-card:hover{transform:translateY(-4px);border-color:var(--accent)}.game-card .game-number{font:7px var(--mono);letter-spacing:1px;color:var(--accent)}.game-card h3{font:700 26px var(--display);letter-spacing:.5px;margin:5px 0 3px}.game-card p{font:8px var(--mono);color:#97adbc;line-height:1.7;max-width:90%}.game-card .card-icon{position:absolute;right:19px;top:23px;font:45px var(--display);color:var(--accent);opacity:.85}.game-card .card-arrow{position:absolute;right:19px;bottom:16px;font:19px var(--mono);color:var(--accent)}.game-card .card-line{position:absolute;bottom:0;left:0;width:36px;height:2px;background:var(--accent)}footer{margin-top:15px;display:flex;justify-content:space-between;align-items:center;color:#7a96a7;font:7px var(--mono);letter-spacing:.3px}.key-guide{display:flex;gap:8px;align-items:center}.key-guide kbd{font-size:7px;padding:2px 4px;margin-left:10px}.key-guide kbd:first-child{margin-left:0}#saveStatus{display:flex;align-items:center;gap:6px;font-size:6px}.interact-wrap{position:absolute;bottom:26%;left:50%;transform:translateX(-50%)}.interact-wrap button{display:flex;align-items:center;gap:14px;background:#101e29e6;backdrop-filter:blur(8px);border:1px solid #87efc48c;padding:13px 17px;font:9px var(--mono);letter-spacing:.8px;box-shadow:0 0 28px #55ffd51a;white-space:nowrap}.interact-wrap kbd{color:var(--cyan);border-color:#68b8a9}.interact-wrap button>span:last-child{color:var(--cyan);font-size:20px}.toast{position:absolute;left:50%;top:102px;transform:translateX(-50%);padding:15px 23px;background:#101f2aed;border:1px solid #86eedc69;border-bottom:2px solid var(--cyan);box-shadow:0 8px 35px #0008;font:10px var(--mono);text-align:center;z-index:12;max-width:80vw}.crosshair{position:absolute;left:50%;top:50%;pointer-events:none;opacity:.3}.crosshair i{display:block;width:3px;height:3px;background:white;border-radius:50%}.run-hud{position:absolute;top:115px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:25px;padding:18px 23px;background:#071727ee;border:1px solid #ffb9887a;border-top:2px solid var(--orange);min-width:410px}.run-hud h2{font:600 29px var(--display);margin:4px 0}.run-hud p{font:9px var(--mono);color:var(--muted)}.run-timer{font:600 46px var(--display);color:var(--orange);font-variant-numeric:tabular-nums}.run-hud .square-btn{align-self:flex-start;width:23px;height:23px}.run-active .bottom-dock{opacity:.3;pointer-events:none}.run-active .mission-panel{display:none}.run-active .interact-wrap{display:none}.hidden{display:none!important}.modal-backdrop{position:absolute;inset:0;z-index:20;background:#020813b5;backdrop-filter:blur(14px);display:flex;align-items:center;justify-content:center;padding:25px}.modal{position:relative;width:700px;max-width:100%;max-height:94vh;overflow:auto;padding:36px;background:linear-gradient(135deg,#132536,#0a1724);border:1px solid #92c4e045;border-top:2px solid var(--orange);box-shadow:0 30px 100px #0008;outline:none}.modal.wide{width:880px}.modal-close{position:absolute;top:12px;right:15px;width:28px;height:28px;color:#90aab9;font-size:25px;z-index:2}.modal h2{font:700 44px/1.05 var(--display);margin:10px 0 13px}.subtitle{font:11px/1.9 var(--ui);color:#a2bac9;max-width:610px}.modal .primary{margin-top:25px;min-width:185px}.modal-actions{display:flex;gap:12px;align-items:stretch;margin-top:20px}.modal-actions .primary{margin-top:0;flex:1}.secondary{border:1px solid #9dc6db4a;padding:14px 18px;font:9px var(--mono);color:#c0d4e0}.arcade-library{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:25px}.arcade-library .game-card{min-height:145px;padding:20px}.arcade-library .game-card p{max-width:80%;margin-top:10px}.arcade-library .game-card h3{font-size:32px}.records{margin-top:10px;font:8px var(--mono);color:var(--cyan)}.instructions{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:22px 0}.instruction{padding:16px;border:1px solid var(--line);background:#06172566}.instruction strong{font:600 13px var(--mono);color:#cbe1ea}.instruction p{font:11px/1.7 var(--ui);color:var(--muted);margin-top:10px}.challenge-facts{display:flex;gap:28px;margin:24px 0;font:8px var(--mono);color:var(--muted)}.challenge-facts b{display:block;color:var(--text);font:600 23px var(--display);margin-top:7px}.game-stats{display:flex;justify-content:space-between;align-items:end;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:14px 0;margin:20px 0}.game-stats>div{font:7px var(--mono);letter-spacing:1px;color:var(--muted)}.game-stats b{display:block;font:600 28px var(--display);color:var(--text);margin-top:5px;font-variant-numeric:tabular-nums}.game-stats .accent{color:var(--orange)}.game-stats .danger{color:#ff7087}.game-canvas{display:block;width:100%;height:310px;background:#061421;border:1px solid #678ba53a;cursor:crosshair;touch-action:none}.game-note{font:9px/1.8 var(--mono);color:var(--muted);margin-top:13px;min-height:16px}.signal-label{display:flex;justify-content:space-between;font:9px var(--mono);color:var(--cyan);margin:22px 0 13px}.sequence{display:flex;justify-content:center;gap:8px;min-height:55px;padding:12px;background:#071521;border:1px solid var(--line)}.sequence span{min-width:37px;text-align:center;font:600 22px var(--mono);color:var(--orange)}.sequence span.complete{color:var(--cyan)}.code-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin-top:17px}.code-grid button{height:66px;background:#182d3d;border:1px solid #729ab04d;font:600 22px var(--mono);transition:background .12s}.code-grid button:hover{background:#244253;border-color:var(--cyan)}.code-grid button.hit{background:#387b7066;border-color:var(--cyan)}.code-grid button.miss{background:#86365366;border-color:var(--pink)}.pulse-readout{height:135px;display:flex;flex-direction:column;align-items:center;justify-content:center;font:700 50px var(--display);color:var(--cyan)}.pulse-readout small{font:8px var(--mono);margin-top:8px;color:var(--muted);letter-spacing:2px}.pulse-track{position:relative;height:60px;background:repeating-linear-gradient(90deg,#1c3346 0 1px,transparent 1px 10%);border:1px solid #5279926b;overflow:hidden}.pulse-zone{position:absolute;top:0;bottom:0;background:#72f3c02b;border-left:2px solid var(--cyan);border-right:2px solid var(--cyan)}.pulse-zone:after{content:'LOCK';position:absolute;top:24px;left:50%;transform:translateX(-50%);font:7px var(--mono);letter-spacing:1px;color:var(--cyan)}.pulse-needle{position:absolute;top:0;bottom:0;width:3px;background:#fff;box-shadow:0 0 18px #c6fff4}.pulse-hit{width:100%;margin-top:17px;background:var(--cyan)}.pips{display:flex;justify-content:center;gap:11px;margin:20px 0}.pips i{display:block;width:35px;height:5px;background:#365064}.pips i.done{background:var(--cyan)}.result-layout{display:grid;grid-template-columns:1fr 1fr;gap:30px;align-items:center;margin:25px 0}.result-grade{font:800 130px/.8 var(--display);color:var(--orange);text-shadow:0 0 55px #ff885d22}.result-grade small{display:block;margin-top:17px;font:8px var(--mono);letter-spacing:2px;color:var(--muted)}.result-score{font:600 58px var(--display)}.result-detail{font:10px var(--mono);color:var(--muted);line-height:1.9;margin-top:6px}.rewards{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}.rewards span{border:1px solid #7ddfc240;padding:8px 11px;color:var(--cyan);font:9px var(--mono);background:#7de2b908}.xp-track{height:5px;background:#304758;overflow:hidden;margin:18px 0 7px}.xp-track i{display:block;height:100%;background:var(--orange)}.xp-label{font:8px var(--mono);color:var(--muted);display:flex;justify-content:space-between}.upgrade-list{margin-top:23px}.upgrade{display:flex;gap:17px;padding:18px 0;border-bottom:1px solid var(--line);align-items:center}.upgrade-icon{font:32px var(--display);color:var(--cyan);width:34px}.upgrade-copy{flex:1}.upgrade-copy h3{font:600 23px var(--display)}.upgrade-copy h3 span{font:9px var(--mono);margin-left:8px;color:var(--muted)}.upgrade-copy p{color:var(--muted);font:10px/1.7 var(--ui);margin-top:4px}.upgrade>button{border:1px solid #76c8b961;color:var(--cyan);padding:12px;font:9px var(--mono);min-width:88px}.color-swatches{display:flex;gap:10px;margin:15px 0}.color-swatches button{display:flex;gap:9px;align-items:center;border:1px solid var(--line);padding:11px 13px;font:8px var(--mono)}.color-swatches i{width:13px;height:13px;background:var(--swatch)}.color-swatches .selected{border-color:var(--cyan)}.loading{position:absolute;inset:0;background:#09131d;display:flex;align-items:center;justify-content:center;gap:15px;z-index:50;font:10px var(--mono);letter-spacing:1px}.loading-dots{animation:blink 1s infinite}@keyframes blink{50%{opacity:.2}}.boot-error{position:absolute;inset:0;z-index:51;display:flex;align-items:center;justify-content:center;flex-direction:column;background:#081322;text-align:center;padding:25px}.boot-error h2{font:44px var(--display)}.boot-error p{margin:20px;max-width:550px;color:var(--muted);line-height:1.8}.boot-error button{padding:15px 25px;background:var(--orange);color:#10212d}.touch-controls{display:none;position:absolute;bottom:195px;left:20px;right:20px;pointer-events:none;justify-content:space-between;align-items:end}.dpad{display:grid;grid-template-columns:repeat(3,38px);gap:4px;pointer-events:auto}.dpad button{width:38px;height:38px;border:1px solid #ffffff44;background:#112a3dc9;font-size:20px;touch-action:none}.dpad button:first-child{grid-column:2;grid-row:1}.dpad button:nth-child(2){grid-column:1;grid-row:2}.dpad button:nth-child(3){grid-column:2;grid-row:2}.dpad button:nth-child(4){grid-column:3;grid-row:2}.touch-actions{display:flex;gap:7px;pointer-events:auto}.touch-actions button{height:42px;width:50px;border:1px solid #a6dbd966;font:9px var(--mono);background:#0c2537c9;touch-action:none}
.target-range{position:relative;overflow:hidden}.target-range .game-canvas{height:310px}.range-scan{position:absolute;inset:0;pointer-events:none;background:repeating-linear-gradient(transparent 0 4px,#0000000c 4px 5px)}.drone-target{position:absolute;aspect-ratio:1;min-width:38px;transform:translate(-50%,-50%);border:1px solid #ff9e6d99;border-radius:50%;background:radial-gradient(#ee85452b,#ef853510);color:#ffb686;padding:0;touch-action:manipulation}.drone-target:before,.drone-target:after{content:'';position:absolute;width:25%;height:8%;top:40%;background:currentColor;box-shadow:0 0 13px currentColor}.drone-target:before{left:-18%}.drone-target:after{right:-18%}.drone-target i{position:absolute;inset:30%;background:currentColor;transform:rotate(45deg);box-shadow:0 0 20px #ffbb7666}.drone-target small{position:absolute;bottom:-13px;left:0;right:0;font:7px var(--mono);color:currentColor}.drone-target.armored{color:#ff81b9;border-color:#ff81b9bb;background:#ff81b91a}.drone-target.damaged{color:#ffb686;border-style:dashed}.drone-target:hover{background:#ffbe6522;filter:brightness(1.4)}
@media (hover:none),(pointer:coarse){body.started .touch-controls{display:flex}.key-guide{display:none}.crosshair{display:none}}
@media(min-width:1600px){.topbar,.bottom-dock{left:55px;right:55px}.district,.intro,.mission-panel{left:55px}.radar-panel{right:55px}.intro{top:29%}.game-card{min-height:120px}.game-card h3{font-size:29px}.game-card .card-icon{font-size:55px}}
@media(max-height:790px) and (min-width:761px){.topbar{height:68px}.district{top:88px}.radar-panel{top:88px;width:150px}.radar-panel canvas{width:148px;height:123px}.intro{top:29%}.intro h1{font-size:64px;margin:12px 0 15px}.intro .primary{margin-top:15px}.intro-detail{margin-top:10px}.game-card{min-height:90px;padding:10px 15px}.game-card h3{font-size:25px}.bottom-dock{bottom:10px}.mission-panel{top:189px}.modal{max-height:95vh;padding:27px}.game-canvas{height:270px}}
@media(max-width:1050px){.rank-name,.brand small,nav kbd{display:none}nav{margin-left:20px}.topbar{gap:11px}.radar-panel{width:150px}.radar-panel canvas{width:148px;height:123px}.intro{width:290px}.intro h1{font-size:68px}.game-card .card-icon{font-size:32px;right:13px}.game-card h3{font-size:24px}.game-card p{font-size:7px;max-width:100%}.key-guide{font-size:6px;gap:4px}.key-guide kbd{font-size:6px;margin-left:6px}.game-card{padding:13px}.game-card .card-arrow{bottom:10px;right:13px}}
@media(max-width:760px){.topbar{left:18px;right:18px;height:64px;gap:8px}.brand{font-size:24px;letter-spacing:0}.brand-icon{width:24px;height:27px;font-size:23px;margin-right:7px}.wallet{gap:5px;font-size:10px}.wallet-divider,.rank-chip,nav,.topbar #helpBtn{display:none}.square-btn{width:27px;height:27px;font-size:16px}.district{top:85px;left:22px}.district h2{font-size:22px}.district .eyebrow{font-size:6px}.district p{font-size:6px;gap:10px}.radar-panel{right:18px;top:85px;width:100px}.radar-panel .eyebrow{font-size:5px;padding:7px;letter-spacing:.1px}.radar-panel .eyebrow>span:last-child,.radar-legend,#streetPosition{display:none}.radar-panel canvas{width:98px;height:82px}.intro{left:23px;top:27%;width:260px}.intro h1{font-size:63px;line-height:.9;margin:12px 0 15px}.intro .eyebrow{font-size:6px}.intro>p{font-size:10px}.intro .primary{width:220px;margin-top:16px;min-height:42px;font-size:9px}.intro-detail{font-size:5px}.bottom-dock{left:18px;right:18px;bottom:10px}.dock-title{font-size:5px;margin-bottom:8px}.dock-title span:last-child{display:none}.arcade-row{display:flex;overflow-x:auto;gap:8px;padding-top:5px;scrollbar-width:none}.game-card{min-width:170px;min-height:91px;padding:12px}.game-card h3{font-size:25px}.game-card .game-number{font-size:6px}.game-card p{font-size:7px}.game-card .card-icon{font-size:33px;top:22px}.game-card .card-arrow{font-size:14px}footer{margin-top:8px}.key-guide{display:none}#saveStatus{font-size:5px}.mission-panel{left:20px;top:178px;width:210px;padding:13px}.mission-panel h3{font-size:21px;margin-top:10px}.mission-panel p{font-size:9px}.quest-track{margin:13px 0 8px}.interact-wrap{bottom:34%}.interact-wrap button{font-size:8px;padding:11px;gap:9px}.modal-backdrop{padding:12px}.modal{padding:23px 19px;max-height:94vh}.modal h2{font-size:35px}.subtitle{font-size:10px}.arcade-library{gap:8px}.arcade-library .game-card{min-width:0;min-height:149px;padding:13px}.arcade-library .game-card h3{font-size:26px}.arcade-library .game-card .card-icon{display:none}.arcade-library .game-card p{max-width:100%}.arcade-library .game-card .records{font-size:6px}.run-hud{top:200px;min-width:0;width:calc(100% - 36px);gap:15px;padding:13px}.run-hud .eyebrow{font-size:6px}.run-hud h2{font-size:24px}.run-hud p{font-size:8px}.run-timer{font-size:39px}.run-active .touch-controls{bottom:157px}.run-active .radar-panel{display:block}.toast{font-size:8px;max-width:90vw;width:max-content;top:70px;padding:12px 15px}.game-canvas{height:260px}.instructions{gap:8px}.instruction{padding:12px}.instruction strong{font-size:10px}.instruction p{font-size:10px}.challenge-facts{gap:20px;font-size:6px}.challenge-facts b{font-size:21px}.game-stats{margin:15px 0}.game-stats b{font-size:24px}.game-stats>div{font-size:6px}.code-grid button{height:55px}.pulse-readout{height:110px}.modal-actions{gap:8px}.modal-actions .primary{min-width:0;font-size:8px;padding:13px}.secondary{font-size:8px;padding:12px}.result-grade{font-size:100px}.result-score{font-size:48px}.result-layout{gap:15px}.upgrade{gap:10px}.upgrade-icon{display:none}.upgrade-copy h3{font-size:20px}.upgrade-copy p{font-size:9px}.upgrade>button{min-width:78px;font-size:8px}.color-swatches{gap:6px;flex-wrap:wrap}.color-swatches button{font-size:7px;padding:10px}.touch-controls{bottom:148px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
.mini-paused{position:absolute;inset:0;z-index:5;background:#091827f5;backdrop-filter:blur(12px);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:30px;text-align:center}.mini-paused .secondary{margin-top:14px}.sound-on{color:var(--cyan);border-color:var(--cyan)}

.modal-actions{flex-wrap:wrap}

@media(max-width:760px){.dock-title:after{content:"SWIPE FOR 4 GAMES →";color:#8ba6b8;font:5px var(--mono);letter-spacing:.4px}}

/* THE LAST SIGNAL / campaign, contacts and field journal */
.story-nav{color:#ffe1a4!important}.tracker-tabs{display:flex;gap:18px;border-bottom:1px solid var(--line);margin:-3px 0 15px;padding-bottom:10px}.tracker-tabs button{font:8px var(--mono);letter-spacing:1px;color:var(--muted);padding:5px 0;position:relative}.tracker-tabs [aria-pressed=true]{color:#ffe1a4}.tracker-tabs [aria-pressed=true]:after{content:'';position:absolute;left:0;right:0;bottom:-11px;height:2px;background:#ffe1a4}.mission-panel #storyChapter{color:#ffbf8b;font-size:7px;letter-spacing:1px}.mission-panel #storyObjective{font-size:25px;line-height:1.05;margin:12px 0 10px}.mission-panel #storyHint{font-size:10px;line-height:1.65}.mission-panel #storyBar{background:#ffe1a4}.mission-panel #storyDirection{color:#ffe1a4;font-size:8px}.mission-panel #openJournal{margin-top:14px;display:flex;gap:9px;align-items:center;color:#dce9ee}.mission-panel #openJournal kbd{margin-left:auto}.radar-legend .story-map-key{color:#ffe1a4}.scanner-alert{position:absolute;left:50%;top:115px;transform:translateX(-50%);width:310px;padding:14px 18px;border:1px solid #ff779280;background:#241524eb;color:#ff92a8;font:8px var(--mono);letter-spacing:1px}.scanner-alert>div{height:4px;background:#53283c;margin-top:10px}.scanner-alert i{display:block;height:100%;background:#ff7792}.dialogue-page{float:right;margin-right:18px;color:var(--muted)}.dialogue-layout{display:grid;grid-template-columns:150px 1fr;gap:28px;margin-top:25px;align-items:start}.character-portrait svg{display:block;width:100%;border:1px solid #91b8c331}.character-portrait>span{font:7px var(--mono);display:block;margin-top:10px;letter-spacing:1px;color:var(--muted)}.dialogue-copy h2{font-size:38px;margin-top:1px;max-width:360px}.spoken-line{font:14px/1.85 var(--ui);color:#d1e1e9;margin:15px 0}.spoken-aside{font:12px/1.9 var(--ui);color:#aacdc8;padding:12px 0 0 15px;border-left:2px solid #78ecd166;margin-top:17px}.dialogue-question{font:11px/1.6 var(--ui);color:#ffd1a8;text-align:left;margin-top:20px;padding:9px 0;border-bottom:1px solid #ffb58040}.dialogue-copy+.modal-actions{margin-top:24px}.evidence-glyph{font:64px var(--display);margin:25px 0 12px}.story-result{margin:20px 0;padding:15px 18px;border:1px solid #80dcc74d;border-left:3px solid #8cf0d3;background:#78ecd10a}.story-result>span{display:block;font:8px var(--mono);letter-spacing:1px;color:#8cf0d3}.story-result strong{display:block;font:600 23px/1.2 var(--display);margin-top:7px;color:#dbede7}.story-result p{font:10px/1.8 var(--ui);color:#adc8c6;margin-top:7px}.story-result.retry{border-color:#ffb58050;background:#ffb58008}.story-result.retry>span{color:#ffcb9a}.next-chapter{border-top:1px solid var(--line);margin-top:28px;padding-top:24px}.next-chapter h3{font:600 30px var(--display);margin:8px 0}.next-chapter p{font:12px/1.8 var(--ui);color:var(--muted)}.title-dot{color:var(--orange)}.journal-active{background:#ffb58008;border:1px solid #ffb58040;padding:19px 21px;margin-top:22px}.journal-active .eyebrow{color:#ffd0a4;font-size:8px}.journal-active strong{display:block;font:600 25px var(--display);margin:7px 0}.journal-active p{font:11px/1.75 var(--ui);color:var(--muted)}.journal-active .small-action{margin-top:12px;color:#ffcb9a}.chapter-list{margin-top:20px}.chapter-row{display:flex;gap:18px;padding:16px 0;border-bottom:1px solid var(--line);align-items:center}.chapter-row>span{font:500 26px var(--display);color:#697f91;width:30px;flex-shrink:0}.chapter-row>div{flex:1}.chapter-row h3{font:500 23px var(--display);margin:0}.chapter-row p{font:9px/1.7 var(--ui);color:var(--muted);margin:5px 0 0}.chapter-row>b{font:7px var(--mono);letter-spacing:1px;color:var(--muted)}.chapter-row.complete>span,.chapter-row.complete>b{color:var(--cyan)}.chapter-row.current>span,.chapter-row.current>b{color:var(--orange)}.chapter-row.locked{opacity:.48}.journal-cast-heading{margin:27px 0 15px}.cast-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.cast-card{text-align:left;border:1px solid var(--line);padding:10px;background:#15283955}.cast-card:hover{border-color:var(--cast-color)}.cast-card svg{width:100%;display:block;max-height:144px;background:#122235}.cast-card strong{display:block;font:500 26px var(--display);margin-top:11px;color:var(--cast-color)}.cast-card>span{font:6px var(--mono);display:block;margin-top:4px;color:var(--muted)}.cast-card>i{font:6px var(--mono);display:block;margin-top:10px;color:#cadde1;font-style:normal}.broadcast-choices{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:25px 0 20px}.broadcast-choices button{text-align:left;padding:24px;border:1px solid #ffc99b55;background:linear-gradient(140deg,#ffb58010,transparent)}.broadcast-choices button:nth-child(2){border-color:#78ecd166;background:linear-gradient(140deg,#78ecd110,transparent)}.broadcast-choices button:hover{background:#819fa820}.broadcast-choices span{font:8px var(--mono);color:#ffcb9a}.broadcast-choices button:nth-child(2) span{color:var(--cyan)}.broadcast-choices h3{font:600 31px/1.1 var(--display);margin:19px 0 13px}.broadcast-choices p{font:11px/1.9 var(--ui);color:var(--muted)}.broadcast-choices b{font:8px/1.7 var(--mono);display:block;margin-top:22px;color:#daece7}.ending-signal{font:100px/.9 var(--display);color:var(--cyan);margin:25px 0}.ending-quote,.ending-summary blockquote{border-left:2px solid var(--cyan);padding:10px 18px;color:#aedcd1;font:12px/1.8 var(--ui);margin:20px 0}.ending-summary{margin-top:24px;padding:25px;border:1px solid #78ecd144;background:#78ecd108}.ending-summary h3{font:600 32px var(--display);margin:12px 0}.ending-summary p{font:12px/1.9 var(--ui);color:#b1c9cf}
@media(max-width:1050px){.topbar nav{gap:14px}.topbar nav button{font-size:8px}.mission-panel{width:245px}}
@media(max-width:760px){.mission-panel{width:220px;top:176px;padding:13px;background:#0b1e2ad9}.tracker-tabs{gap:17px;margin-bottom:12px;padding-bottom:6px}.tracker-tabs button{font-size:7px}.tracker-tabs [aria-pressed=true]:after{bottom:-7px}.mission-panel #storyObjective{font-size:22px;margin:9px 0}.mission-panel #storyHint{font-size:9px;line-height:1.6}.mission-panel #storyDirection{font-size:7px}.mission-panel #openJournal{font-size:7px;margin-top:12px}.mission-panel #storyChapter{font-size:6px}.dialogue-layout{grid-template-columns:85px 1fr;gap:16px;margin-top:24px}.dialogue-copy h2{font-size:29px}.character-portrait>span{font-size:5px;line-height:1.6}.spoken-line{font-size:12px;line-height:1.9;margin-top:12px}.spoken-aside{font-size:11px;padding-left:12px}.dialogue-question{font-size:10px}.dialogue-page{margin-right:14px}.journal-active{padding:15px}.chapter-row{gap:12px}.chapter-row h3{font-size:21px}.chapter-row p{font-size:8px}.cast-grid{grid-template-columns:1fr 1fr;gap:10px}.cast-card svg{max-height:128px}.cast-card strong{font-size:24px}.cast-card>span,.cast-card>i{font-size:6px}.broadcast-choices{grid-template-columns:1fr;gap:13px}.broadcast-choices button{padding:19px}.broadcast-choices h3{font-size:28px;margin:14px 0 10px}.broadcast-choices p{font-size:11px}.ending-summary{padding:18px}.scanner-alert{top:auto;bottom:265px;width:260px;font-size:7px}.story-result{padding:12px}.story-result strong{font-size:21px}.story-result>span{font-size:7px}}

/* OPEN ROADS / motor pool and city navigation */
.topbar nav{gap:20px;margin-left:32px}.topbar #fleetBtn{color:#ffc697}.tracker-actions{display:flex;gap:14px;align-items:center;margin-top:15px}.mission-panel .tracker-actions #openJournal,.mission-panel .tracker-actions #mapFromTracker{margin:0;padding:6px 0;font:8px var(--mono);display:flex;align-items:center;gap:8px;white-space:nowrap;width:auto;color:#d8e6e9}.tracker-actions kbd{font-size:7px}.ride-prompt{position:absolute;right:36px;bottom:204px;display:flex;align-items:center;gap:12px;padding:13px 17px;border:1px solid #ffbd8770;background:#0b2030eb;backdrop-filter:blur(8px);font:9px var(--mono);color:#ffcda0}.ride-prompt>span{font-size:20px;margin-left:10px}.garage-rides{display:flex;flex-direction:column;align-items:flex-start;gap:7px;width:100%;padding:20px;margin-top:20px;border:1px solid #ffb58066;background:linear-gradient(110deg,#ffb58015,#78ecd108)}.garage-rides>span,.garage-rides>small{font:7px var(--mono);letter-spacing:1px;color:#aac3c8}.garage-rides>strong{font:600 24px var(--display);color:#ffd0aa}.fleet-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:27px}.fleet-card{text-align:left;border:1px solid #91b7cc3a;border-top:2px solid var(--ride-color);padding:22px;background:linear-gradient(150deg,#1a3247,#10222f)}.fleet-card:hover{border-color:var(--ride-color);background:#1d3446}.fleet-card>span{font:8px var(--mono);letter-spacing:2px;color:var(--ride-color)}.fleet-card svg{display:block;width:100%;margin:18px 0 12px}.fleet-card h3{font:700 41px var(--display);margin:8px 0}.fleet-card p{font:11px/1.8 var(--ui);color:#aec4cf;min-height:60px}.fleet-spec{display:flex;gap:40px;margin:22px 0;padding:15px 0;border-block:1px solid var(--line)}.fleet-spec b{font:600 29px var(--display)}.fleet-spec small{font:7px var(--mono);letter-spacing:1px;color:var(--muted);margin-left:4px}.fleet-card>strong{display:block;font:9px var(--mono);color:var(--ride-color);padding:5px 0}.drive-controls{display:flex;gap:15px;flex-wrap:wrap;margin-top:24px;color:var(--muted);font:7px var(--mono)}.drive-controls span{display:flex;gap:6px;align-items:center}.drive-controls kbd{font-size:7px}.map-heading{display:flex;gap:25px;margin:20px 0 14px;font:8px var(--mono);letter-spacing:1px;color:#ffe1a4}.map-heading .mint{color:#b6ffe5}.map-heading span:last-child{color:#9ab3c1}.city-map-svg{display:block;width:100%;max-height:56vh;border:1px solid #9ddbe83b;background:#091923}.map-footer{display:flex;align-items:center;flex-wrap:wrap;gap:15px;margin-top:20px}.map-footer>div{flex:1;min-width:220px}.map-footer strong{font:600 22px var(--display);display:block;margin:7px 0}.map-footer p{font:10px/1.7 var(--ui);color:var(--muted)}.map-footer .primary{margin:0;min-width:175px;font-size:8px}.map-footer .secondary{font-size:8px}.vehicle-hud{position:absolute;right:36px;bottom:32px;width:280px;padding:20px 24px;background:linear-gradient(135deg,#0a2233e8,#091824f5);border:1px solid #aac6d844;border-top:2px solid #ffa579;backdrop-filter:blur(10px)}.ride-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.ride-heading span{font:6px var(--mono);color:#9bb5c5;letter-spacing:1px}.ride-heading strong{font:500 18px var(--display);color:#ffc49a}.speed-row{display:flex;align-items:baseline;gap:9px;margin:5px 0 12px}.speed-row>strong{font:600 66px/1 var(--display);font-variant-numeric:tabular-nums;letter-spacing:2px}.speed-row>span{font:8px var(--mono);color:#7e9aaa}.speed-row>b{font:14px var(--mono);margin-left:auto;color:var(--cyan)}.boost-label{display:flex;justify-content:space-between;font:6px var(--mono);letter-spacing:1px;color:#9ab9c6}.boost-track{height:4px;background:#294654;margin:8px 0 15px}.boost-track i{display:block;height:100%;background:#9befd0;transition:width .1s}.vehicle-buttons{display:flex;gap:12px;justify-content:space-between}.vehicle-buttons button{font:8px var(--mono);color:#e0d5c4;padding:7px 0}.vehicle-buttons button:last-child{color:#839eac}.drive-guide{position:absolute;left:36px;bottom:40px;display:flex;gap:9px;align-items:center;font:7px var(--mono);color:#9bb4c0}.drive-guide kbd{font-size:7px;margin-left:8px}.driving .bottom-dock{display:none}.driving .interact-wrap{display:none}.driving .crosshair{display:none}.driving .touch-controls{bottom:95px}.driving .film{background:linear-gradient(90deg,#06101b80,transparent 29%,transparent 88%,#05101d50),linear-gradient(0deg,#050d16a0,transparent 30%,transparent 78%,#030b1780)}
@media(max-width:1250px){.topbar nav{gap:15px;margin-left:22px}.topbar nav button{font-size:8px}.drive-guide{font-size:6px;gap:5px}.drive-guide kbd{margin-left:3px;font-size:6px}}
@media(max-width:1050px){.topbar nav{gap:11px;margin-left:16px}.topbar nav button{font-size:7px}.vehicle-hud{width:245px;right:25px;padding:18px}.drive-guide{bottom:25px;left:25px}.drive-guide kbd{padding:2px}.fleet-card{padding:19px}.fleet-card h3{font-size:36px}}
@media(max-width:760px){.tracker-actions{gap:13px;margin-top:10px}.mission-panel .tracker-actions #openJournal,.mission-panel .tracker-actions #mapFromTracker{font-size:7px;gap:6px}.tracker-actions kbd{font-size:6px}.ride-prompt{right:18px;bottom:202px;font-size:7px;gap:7px;padding:11px}.ride-prompt>span{font-size:16px;margin-left:4px}.ride-prompt kbd{font-size:7px}.fleet-grid{grid-template-columns:1fr;gap:15px;margin-top:20px}.fleet-card{padding:18px}.fleet-card svg{max-height:108px;margin:12px 0}.fleet-card p{min-height:0;font-size:10px}.fleet-card h3{font-size:33px}.fleet-spec{margin:15px 0;padding:12px 0;gap:35px}.fleet-card>strong{font-size:9px}.drive-controls{gap:12px;font-size:6px}.drive-controls kbd{font-size:6px}.map-heading{font-size:5px;gap:13px;letter-spacing:.4px}.city-map-svg{min-height:270px;max-height:47vh}.map-footer{gap:12px;margin-top:16px}.map-footer>div{flex-basis:100%}.map-footer .primary,.map-footer .secondary{font-size:7px;min-width:0;flex:1;padding:13px 10px}.vehicle-hud{left:18px;right:18px;bottom:15px;width:auto;padding:12px 15px;display:grid;grid-template-columns:1fr 1fr;gap:0 20px}.ride-heading{grid-column:1/-1;display:flex;margin-bottom:2px}.ride-heading strong{font-size:15px}.ride-heading>span{font-size:5px}.speed-row{grid-column:1;grid-row:2/5;gap:6px;margin:5px 0 0}.speed-row>strong{font-size:48px}.speed-row>span{font-size:6px}.speed-row>b{font-size:10px;margin-left:0}.boost-label{font-size:5px;letter-spacing:.2px;margin-top:8px}.boost-track{margin:6px 0}.vehicle-buttons{gap:10px}.vehicle-buttons button{font-size:6px;padding:5px 0}.drive-guide{display:none!important}.driving .touch-controls{bottom:134px}.driving .mission-panel{background:#081c2bbd}.driving .radar-panel{top:85px}.driving .scanner-alert{bottom:247px}}
@media(hover:none),(pointer:coarse){.drive-guide{display:none}}
