:root{font-family:Arial,Helvetica,sans-serif;color:#f4f1e6;background:#061d28;--lime:#d8ef55;--line:#34535e;--muted:#9db4bd}*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 60% 50%,#10354480,transparent 60%),linear-gradient(#35536220 1px,transparent 1px),linear-gradient(90deg,#35536220 1px,transparent 1px);background-size:auto,50px 50px,50px 50px}button,a,input,select{font:inherit}button{cursor:pointer;color:inherit}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #fff;outline-offset:4px}button:disabled{cursor:default;opacity:.45}button{border:1px solid var(--line);border-radius:3px;background:transparent;padding:12px 18px}a{color:inherit;text-decoration:none}#app{min-height:100dvh;display:flex;flex-direction:column}header{padding:22px 3.5%;display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line)}header a{font-size:clamp(18px,2vw,28px);letter-spacing:-1px}header i{color:var(--lime);font-style:normal}.eyebrow{font-family:monospace;letter-spacing:2px;font-size:11px;color:var(--muted);display:block;line-height:1.5}h1,h2,p{margin-top:0}h1{font-size:clamp(36px,5vw,76px);letter-spacing:-3px;line-height:.97;margin:18px 0 22px}h2{font-size:24px;letter-spacing:-.8px}em{font-style:normal;color:var(--lime)}p{line-height:1.55;color:#c4d0d4}small{font-size:.45em;font-weight:normal}.primary{background:var(--lime);color:#08232c;border-color:var(--lime);font-size:14px;font-weight:bold;letter-spacing:1px;padding:19px 30px}.secondary{font-family:monospace;font-size:11px;letter-spacing:1px;padding:10px 14px}.primary:hover{background:#ecfa94}.secondary:hover,.mode-card:hover{border-color:var(--lime)}.screen{flex:1;padding:35px 4%;display:flex;flex-direction:column;justify-content:center}.screen-opening{display:grid;grid-template-columns:1fr 1.1fr;align-items:center;gap:2%;overflow:hidden}.opening-copy h1{font-size:clamp(64px,7vw,110px);letter-spacing:-5px}.question{font-size:clamp(20px,2vw,30px);max-width:420px;color:#f4f1e6}.opening-city{position:relative}.opening-city:before{content:'';position:absolute;inset:-8%;border:1px solid #3d6873;border-radius:50%;pointer-events:none}.opening-city [data-city]{--level:.9!important}.flow{font:12px monospace;letter-spacing:2px;display:flex;justify-content:center;gap:14px;margin-top:20px}.flow span{color:var(--lime)}.screen-heading{max-width:1100px}.screen-heading h1{font-size:clamp(38px,4.6vw,68px)}.instructions{padding:0;list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:4%;margin:35px 0}.instructions li{border-top:1px solid var(--line);padding-top:22px}.instructions li>b{font:40px monospace;color:var(--lime);display:block;margin-bottom:20px}.instructions p{max-width:330px}.actions{display:flex;gap:22px;align-items:center;margin-top:25px}.actions p{margin:0;font-size:14px;max-width:520px}.mode-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin:20px 0}.mode-card{text-align:left;padding:25px;background:#08232d80}.mode-card h2{font-size:clamp(19px,2vw,30px)}.mode-card p{min-height:70px;font-size:15px}.mode-icon{display:block;font-size:60px;color:var(--lime);margin:30px 0}.choose{display:block;color:var(--lime);font:12px monospace;letter-spacing:1px;margin-top:25px}.note{font:12px monospace;color:var(--muted);margin-top:20px}.screen-game{padding-top:22px;padding-bottom:18px;justify-content:flex-start}.game-heading{display:flex;align-items:center;gap:30px;justify-content:space-between;margin-bottom:20px}.game-heading h1{font-size:clamp(20px,2.8vw,40px);letter-spacing:-1px;margin:10px 0}.timer{margin-left:auto}.timer b{font:clamp(28px,3vw,46px) monospace}.game-grid{display:grid;grid-template-columns:19% 54% 23%;gap:2%;flex:1;align-items:center}.power-panel{align-self:stretch;display:flex;flex-direction:column;justify-content:center;gap:20px}.gauge{text-align:center}.gauge-ring{--power:0%;margin:18px auto 10px;aspect-ratio:1;width:min(100%,205px);border-radius:50%;background:conic-gradient(var(--lime) var(--power),#34535e50 0);position:relative;display:flex;flex-direction:column;justify-content:center;align-items:center}.gauge-ring:before{content:'';position:absolute;inset:8px;background:#08232d;border-radius:50%;border:1px solid #597682}.gauge-ring>*{z-index:1}.gauge b{font-size:clamp(24px,3.1vw,46px);font-variant-numeric:tabular-nums}.bolt{font-size:40px;color:var(--lime)}.gauge p{font-size:12px;margin:10px 0}.demand{border-top:1px solid var(--line);padding:15px 0;text-align:center}.demand b{display:block;font-size:30px;margin-top:5px}.activation{text-align:center;border-top:1px solid var(--line);padding-top:15px}.activation b{display:block;color:var(--lime);font-size:48px;margin:8px}progress,meter{width:100%;height:5px;border:0;accent-color:var(--lime)}progress::-webkit-progress-bar{background:#294752}progress::-webkit-progress-value{background:var(--lime)}.city-panel{min-width:0}.city-svg{width:100%;display:block;max-height:44vh;overflow:visible}.city-base{fill:#0b2c37;stroke:#4f737e;stroke-width:1.5}.roads{stroke:#76949f;stroke-dasharray:7 6;opacity:.5}.building{fill:#0c303c;stroke:#73959f;stroke-width:1.5}.windows{fill:var(--lime);stroke:var(--lime);opacity:calc(.06 + var(--level)*.94);transition:opacity .25s}svg text{fill:#abc4cb;font:11px monospace;letter-spacing:1px}svg [data-city]{stroke:#8badb5;fill:#193f4b}.hospital-cross{stroke:#d8ef55;stroke-width:5}.trees{fill:#173f3b;stroke:#729d7d}.city-feedback{text-align:center;min-height:27px;font:11px monospace;letter-spacing:2px;color:var(--lime);margin:10px 0}.players{display:flex;gap:14px;justify-content:center}.player{flex:1;max-width:280px;display:grid;grid-template-columns:1fr auto;align-items:center;gap:6px;border-top:1px solid var(--line);padding-top:13px}.player>b{color:var(--player-color);font-size:27px;font-variant-numeric:tabular-nums}.player>span:nth-of-type(2){font:12px monospace}.pedal{grid-column:1/-1;font:11px monospace;color:var(--player-color);padding:14px 8px;touch-action:none;user-select:none;border-color:var(--player-color)}.pedal:active{background:#d8ef5530}.systems-panel{align-self:stretch;display:flex;flex-direction:column;justify-content:center}.systems-panel ul{list-style:none;padding:0;margin:16px 0}.systems-panel li{margin-bottom:13px}.systems-panel li>div{display:flex;align-items:center;gap:9px;font-size:12px}.systems-panel li>div>span:last-child{margin-left:auto;font-family:monospace}.systems-panel li small{display:block;font:10px monospace;color:var(--muted);margin-top:3px}.system-dot{width:7px;height:7px;border-radius:50%;background:#52656a}[data-status=active] .system-dot{background:var(--lime)}[data-status=warning] .system-dot{background:#efbf66}.mission{padding:16px;border:1px solid var(--line);margin-top:8px}.mission p{font-size:13px;margin:9px 0}.mission>span:last-child{font:11px monospace;display:block;color:var(--lime);margin-top:10px}.game-footer{border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:15px;padding-top:16px;margin-top:22px;font:10px monospace;color:var(--muted)}.game-footer b{font-size:17px;color:#f4f1e6;display:inline-block;margin-left:10px}.result-cards{display:flex;gap:25px;margin:20px 0}.result-cards section{min-width:290px;flex:1;border:1px solid var(--line);padding:25px;max-width:520px}.result-cards h2{font-size:55px;color:var(--lime);margin:18px 0}dl{margin:0}dl>div{display:flex;justify-content:space-between;gap:20px;padding:9px 0;border-top:1px solid var(--line);font-size:14px}dd{margin:0;font-family:monospace}.learning{max-width:850px;font-size:15px}.debug{background:#0b303a;border-top:1px solid var(--lime);padding:12px 4%;font:12px monospace}.debug label{display:inline-flex;gap:10px;margin:10px 20px 10px 0;align-items:center}.debug select{background:#08232d;color:white;border:1px solid var(--line);padding:5px}.debug small{font-size:11px;display:block}.debug pre{font-size:11px;margin:6px 0}.screen-opening .city-svg{max-height:60vh}@media(min-width:900px) and (max-height:720px){header{padding-top:14px;padding-bottom:14px}.screen{padding-top:20px;padding-bottom:20px}.game-grid{gap:2%;grid-template-columns:18% 54% 24%}.gauge-ring{max-width:150px}.gauge b{font-size:32px}.power-panel{gap:5px}.activation b{font-size:36px}.game-heading{margin-bottom:5px}.systems-panel li{margin-bottom:8px}.game-footer{margin-top:10px}.mode-icon{margin:15px 0}.screen-heading h1{font-size:45px}}
@media(max-width:700px){header{padding:16px 5%}header>.eyebrow{display:none}.screen{padding:30px 6%}.screen-opening{display:flex;gap:35px}.opening-copy{width:100%}.opening-copy h1{font-size:64px;letter-spacing:-3px}.opening-city{width:100%;margin:20px 0}.flow{font-size:9px;gap:8px;letter-spacing:1px}.screen-heading h1{font-size:36px;letter-spacing:-1.5px}.instructions,.mode-cards{grid-template-columns:1fr;gap:20px}.instructions li>b{font-size:26px;margin-bottom:12px}.mode-card{padding:20px}.mode-icon{font-size:35px;margin:15px 0}.mode-card p{min-height:0}.actions{flex-direction:column;align-items:stretch}.game-heading{gap:12px;flex-wrap:wrap}.game-heading h1{font-size:23px}.game-heading>div:first-child{width:100%}.timer{margin-left:0}.timer b{font-size:32px}.game-grid{grid-template-columns:1fr 1fr;gap:20px}.power-panel{grid-column:1/-1;flex-direction:row;gap:15px;align-items:center}.gauge{flex:1}.gauge-ring{max-width:110px;margin:10px auto}.gauge b{font-size:24px}.bolt{font-size:27px}.gauge .eyebrow{font-size:9px}.gauge p{font-size:10px}.demand,.activation{flex:1;border-top:0;padding:0}.demand b{font-size:24px}.activation b{font-size:34px}.power-panel .eyebrow{font-size:9px;letter-spacing:1px}.city-panel{grid-column:1/-1}.city-svg{max-height:none}.systems-panel{grid-column:1/-1}.systems-panel ul{display:grid;grid-template-columns:1fr 1fr;gap:12px}.systems-panel li{margin:0}.game-footer{flex-wrap:wrap;font-size:9px}.result-cards{flex-direction:column}.result-cards section{min-width:0;width:100%}.debug label{display:flex}header a{font-size:23px}.question{font-size:23px}.primary{padding:17px 20px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}
