@import url('https://fonts.googleapis.com/css2?family=Press+Start+2P&family=VT323&display=swap');
:root{font-family:'VT323',monospace;color:#fff8da;background:#151d32}body{background:#151d32}header{height:80px;background:#10182b;border:0;padding:0 4%;gap:25px}.brand{color:#ffe54f;font-family:'Press Start 2P',monospace;font-size:17px;line-height:1.5;letter-spacing:-1px;text-shadow:3px 3px #070b16}.brand small{font:12px 'VT323',monospace;letter-spacing:4px;color:#fff}.brand-mark{display:none}.top-stats{gap:45px}.top-stats small{font:12px 'VT323',monospace;letter-spacing:1px;color:#c2d9ff}.top-stats strong{font:21px 'Press Start 2P',monospace;color:#fff6d8;text-shadow:2px 2px #000}.top-stats>span:first-child strong{color:#ffe348}.city-stat{width:175px}.city-stat strong{font-size:15px;top:2px}.city-stat small{font-size:10px}progress{border-radius:0;height:8px;background:#20345b;border:1px solid #080e21}progress::-webkit-progress-bar{background:#20345b}progress::-webkit-progress-value{background:#47dd33}main{padding:0 18px;max-width:1400px}.game-shell{border:5px solid #080d19;border-radius:0;box-shadow:0 0 0 2px #34466a;aspect-ratio:3/2;background:#2d80f2}.game-shell.playing{aspect-ratio:16/9}.map-title{display:none}.map-node{width:24px;height:24px;aspect-ratio:1;min-width:0;min-height:0;border:4px solid #101927;border-radius:50%;background:#e84531;box-shadow:0 3px #0a1423;z-index:3}.map-node.active{background:#fff048;border:4px solid #101927;box-shadow:0 0 0 3px #fffdf5,0 3px #101927}.map-node:disabled{opacity:1;filter:none;background:#a28d66;border-color:#312d26}.map-node.done{background:#f9e790;border:4px solid #151922}.node-number{position:static;width:auto;height:auto;border:0;background:none!important;font:12px 'Press Start 2P';color:#182534;line-height:16px}.node-name{display:none}.map-node:hover .node-name,.map-node:focus-visible .node-name{display:block;color:#fff9d8;background:#122345;border:2px solid #fff4cf;border-radius:0;font:13px 'VT323';top:27px;padding:5px 8px;z-index:5}.node-art{display:none}.phase-card{left:18px;right:18px;bottom:16px;width:auto;min-width:0;padding:15px 20px;border:3px solid #fff9d1;border-radius:0;background:#14294a;box-shadow:0 0 0 4px #111a2e;display:grid;grid-template-columns:1fr 230px;gap:0 24px;color:#fff}.phase-card .eyebrow{font:12px 'VT323';color:#ffde51;letter-spacing:2px}.phase-card h2{font:17px/1.4 'Press Start 2P';margin:7px 0 4px;letter-spacing:-.5px}.phase-card p{font:17px/1.2 'VT323';color:#d6e4ed;margin:0}.phase-meta{display:none}.phase-card .primary{grid-column:2;grid-row:1/3;align-self:center}.phase-card .text-button{grid-column:2;grid-row:3;padding:0;color:#dce9ff;font-size:13px}.primary{font:13px/1.5 'Press Start 2P';border:3px solid #101b20;border-radius:0;background:#ffe264;color:#173026;box-shadow:inset -3px -3px #c18e31,inset 3px 3px #fff2a9,3px 3px #060d1b;padding:14px 13px}.primary:hover{background:#fff294;transform:none}.secondary{border:3px solid #15233e;border-radius:0;background:#d7e8f7;color:#1a314b;font:19px 'VT323';box-shadow:3px 3px #081126}.icon-button{border:2px solid #fff4c8;border-radius:0;background:#20385f;color:#fff5d6;box-shadow:3px 3px #070d1c;font-family:'VT323'}.map-note{left:auto;right:14px;top:14px;bottom:auto;font-size:12px;color:white}.map-note>span{display:none}.map-note button{font:15px 'VT323';letter-spacing:1px;background:#142b50;color:white;border:2px solid #fff5d2;text-decoration:none;padding:7px 12px;margin:0;box-shadow:3px 3px #152338}.control-strip{font:16px 'VT323';color:#b7cbe6;padding:14px 3px}.control-strip b{font:11px 'Press Start 2P';color:#ffe260;letter-spacing:0}.desktop-keys{font-size:15px}kbd{font:14px 'VT323';border:1px solid #7189ac;border-radius:0;background:#273f62;color:#fff;box-shadow:0 2px #000}footer{background:#10182b;color:#9dafcc;border:0;font:12px 'VT323';margin-top:0;min-height:47px}footer img{filter:none;height:30px;width:100px}footer>span:first-child{font-size:12px}.platform-hud{background:#102449e6;border-bottom:3px solid #14253e;color:#fff;padding:14px 20px;text-shadow:2px 2px #000}.platform-hud>div:first-child span{font:13px 'Press Start 2P';line-height:1.5;color:#fff9d3}.platform-hud strong{font-family:monospace;font-size:20px;color:#ff7183;letter-spacing:3px;margin-top:4px}.hud-center{font-family:'Press Start 2P';gap:25px}.hud-center span:first-child{font-size:17px}.hud-center span:last-child{font:13px 'VT323';color:#aef7ad}.tutorial{background:#163151f2;color:#fff6c5;border:3px solid #fff1c4;box-shadow:3px 3px #131b29;border-radius:0;font:18px/1.2 'VT323';bottom:8%;max-width:80%;padding:11px 18px}.touch-controls button{border:3px solid #eaf2ff;background:#1b2c51bb;box-shadow:0 4px #0b1227;color:#fff;font-family:'Press Start 2P';font-size:18px}.touch-controls small{font-family:'VT323';font-size:10px}.touch-controls #jump{background:#c84246dd}.touch-controls #run{background:#2866a7dd}dialog{background:#142b4b;color:#fff6d1;border:4px solid #fff1c5;outline:4px solid #0e192b;border-radius:0;box-shadow:10px 10px #09142680;font:18px 'VT323';padding:28px;max-height:88dvh}dialog::backdrop{backdrop-filter:none;background:#071327b0}dialog .eyebrow{font:13px 'VT323';color:#ffe256}dialog h2{font:19px/1.6 'Press Start 2P';color:#fff3c5;letter-spacing:-.8px}dialog p{font:19px/1.35 'VT323';color:#d2e2f0}dialog a{color:#a0e8ff}dialog .place-credit{font:14px/1.3 'VT323'!important;color:#99b4cf}.checklist{background:#203e63;color:#fff4c5;border:2px solid #547499;border-radius:0;line-height:1.5;padding:15px;font-size:20px;margin:20px 0}.checklist small{font-size:17px;color:#b1dcf0}.note{font:17px/1.35 'VT323'!important;background:#203c59;border-radius:0;border-left:4px solid #eccb64}.score-grid{gap:10px;margin:17px 0}.score-grid>div{background:#1e4267;border:2px solid #55849c;border-radius:0;padding:13px}.score-grid strong{font:20px 'Press Start 2P';color:#ffe367}.score-grid small{font:15px 'VT323';color:#c7dfe9}.detail-grid small{font:14px 'VT323';color:#9fbbd5}.detail-grid strong{font:18px/1.1 'VT323';color:#f0f4e3}.text-button{font-family:'VT323';font-size:16px;color:#c7e2ff}.place-photo{border-radius:0;border:3px solid #0d213b}.place-list button{border:2px solid #6a8fb5;border-radius:0;background:#244a6b;color:#fff4c7;font:18px 'VT323'}.celebration{font-size:46px;color:#ffe954;text-shadow:3px 3px #9a6926}.funding-reveal{background:#ffe7a2;color:#18364a;border:4px double #203853;padding:17px;text-align:left}.funding-reveal>small{font:12px 'VT323';letter-spacing:1px;color:#55746e}.funding-reveal h3{font:18px/1.3 'Press Start 2P';letter-spacing:-1px;margin:10px 0}.funding-reveal>strong{font:24px 'VT323';display:block;margin:10px 0 2px}.funding-reveal>span{font:15px 'VT323';display:block}.funding-reveal p{font:17px 'VT323';color:#385669}.funding-reveal a{color:#15517d;font:15px 'VT323'}#toast{border-radius:0;border:2px solid #ffe4a0;background:#152d48;font:19px 'VT323'}
@media(max-width:900px){header{padding:0 18px;height:76px}.brand{font-size:12px}.brand small{font-size:10px;letter-spacing:3px}.top-stats{gap:22px}.top-stats strong{font-size:15px}.city-stat{width:140px}.city-stat strong{font-size:13px}.city-stat small{font-size:9px}.phase-card h2{font-size:14px}.phase-card{grid-template-columns:1fr 185px}.phase-card .primary{font-size:11px}.desktop-keys{display:none}}
@media(max-width:700px){header{padding:11px 13px;gap:10px;height:auto;min-height:96px}.brand{font-size:12px}.brand small{font-size:10px}.top-stats{gap:15px}.top-stats small{font-size:10px}.top-stats strong{font-size:14px}.city-stat{width:150px}.city-stat small{font-size:9px}.city-stat strong{font-size:13px}.top-stats{margin:0}.game-shell{min-height:0;aspect-ratio:3/2;border-width:3px;overflow:visible;margin-bottom:124px}.game-shell canvas{overflow:hidden}.map-node{width:20px;height:20px;border-width:3px}.map-node.active{border-width:3px;box-shadow:0 0 0 2px #fff}.node-number{font-size:9px;line-height:12px}.phase-card{position:absolute;top:calc(100% + 7px);bottom:auto;left:0;right:0;width:100%;padding:12px;grid-template-columns:1fr 135px;gap:3px 8px;border:2px solid #fff0b8;box-shadow:none;min-height:112px}.phase-card .eyebrow{grid-column:1;font-size:10px}.phase-card h2{grid-column:1;grid-row:2;font-size:10px;margin:3px 0;line-height:1.5}.phase-card p{grid-column:1;grid-row:3;font-size:13px;line-height:1.1}.phase-card .primary{grid-column:2;grid-row:1/3;font-size:8px;padding:11px 6px;line-height:1.6}.phase-card .text-button{grid-column:2;grid-row:3;font-size:12px;padding:0}.map-note{top:8px;right:8px}.map-note button{font-size:11px;padding:4px 7px}.game-shell.playing{min-height:0;aspect-ratio:4/3;margin-bottom:0;overflow:hidden}.platform-hud{padding:8px 11px}.platform-hud>div:first-child span{font-size:8px;max-width:140px}.platform-hud strong{font-size:14px}.hud-center span:first-child{font-size:10px}.hud-center span:last-child{font-size:10px}.hud-center{gap:7px}.tutorial{font-size:14px;bottom:25%;padding:7px 10px;border-width:2px}.control-strip b{font-size:8px;line-height:1.6}.control-strip{font-size:14px;padding:13px 0}footer{font-size:10px}footer>span:first-child{font-size:10px}footer img{width:90px;height:27px}dialog{padding:25px 18px}dialog h2{font-size:15px}dialog p{font-size:18px}.funding-reveal{padding:12px}.funding-reveal h3{font-size:13px}.funding-reveal>strong{font-size:25px}.score-grid strong{font-size:16px}.primary{font-size:10px}.detail-grid strong{font-size:16px}.touch-controls button{width:45px;height:45px;font-size:16px}.touch-controls small{font-size:8px}}
@media(orientation:landscape) and (max-height:600px){.game-shell.playing{height:100dvh;min-height:0;aspect-ratio:auto;margin:0;border:0}body:has(.playing) header,body:has(.playing) footer,body:has(.playing) .control-strip{display:none}body:has(.playing) main{padding:0;max-width:none}}
