:root{color-scheme:dark;--bg:#121f25;--panel:#1a2a31;--line:#35464b;--text:#f1e9d7;--muted:#a8b7b8;--gold:#e5b773;--green:#80c7ac}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:14px -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}main{height:100vh;min-height:720px;display:flex;flex-direction:column}button{font:inherit;cursor:pointer;border:1px solid var(--line);background:#23363e;color:var(--text);border-radius:4px;padding:10px 15px;transition:background .15s}button:hover{background:#35505a}button:focus-visible{outline:2px solid var(--gold);outline-offset:3px}button:disabled{opacity:.45;cursor:default}header{height:82px;flex-shrink:0;display:flex;align-items:center;padding:0 32px;gap:24px;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:14px;flex:1}.mark{display:grid;place-items:center;width:44px;height:44px;border:1px solid var(--gold);color:var(--gold);font:21px Georgia}h1{font-size:19px;letter-spacing:3px;margin:0}.brand p{font-size:9px;letter-spacing:2.4px;color:var(--muted);margin:7px 0 0}.objective{width:310px}.objective>span,label{font-size:10px;letter-spacing:1.5px;color:var(--muted)}.objective strong{display:block;font-size:13px;margin-top:6px;font-weight:500}.goal-track,.progress{height:3px;background:#3b4b4e;margin-top:9px}.goal-track i,.progress i{display:block;height:100%;background:var(--green);width:0}.quiet{background:transparent}#clock{color:var(--muted);font-variant-numeric:tabular-nums}.city{position:relative;flex:1;min-height:390px;overflow:hidden;background:#23373e}canvas{width:100%;height:100%;display:block}.map-title{position:absolute;left:32px;top:23px;pointer-events:none}.map-title span,.win>span{font-size:10px;letter-spacing:2px;color:var(--gold)}.map-title h2{font:22px Georgia;margin:8px 0}.tip{position:absolute;top:24px;right:30px;max-width:280px;font-size:12px;line-height:1.6;color:#c1caca;border-left:2px solid var(--gold);padding-left:13px;pointer-events:none}.legend{position:absolute;left:32px;bottom:16px;display:flex;gap:20px;font-size:10px;color:var(--muted);pointer-events:none}.legend span{display:flex;align-items:center;gap:7px}.legend i{width:7px;height:7px;display:inline-block}.owned{background:var(--green)}.neutral{background:#b09e82}.courier{background:var(--gold);transform:rotate(45deg)}.map-note{position:absolute;right:32px;bottom:16px;letter-spacing:2px;font-size:9px;color:#8da0a4}.dashboard{flex-shrink:0;background:var(--panel);border-top:1px solid #536365;padding:0 32px}.stats{height:80px;display:grid;grid-template-columns:1fr 1fr 1fr 1.2fr;align-items:center;border-bottom:1px solid var(--line)}.stats strong{display:block;font-size:26px;font-weight:500;margin-top:5px;font-variant-numeric:tabular-nums}.stats small{font-size:12px;color:var(--muted)}#cash{color:var(--gold)}#transit{color:var(--green)}.agent-control{text-align:right}.agent-control span{display:block;font-size:10px;color:var(--muted);margin-top:6px}.agent-control button.active{border-color:var(--gold);color:var(--gold)}.controls{display:grid;grid-template-columns:1.4fr 1fr .9fr;gap:28px;padding:18px 0 14px;min-height:164px}.selection h2{font:23px Georgia;margin:6px 0}.selection p,.action p,.connections p{font-size:11px;color:var(--muted);line-height:1.6;margin:6px 0}.action{padding-top:6px}.action button,#restart{width:100%;background:var(--gold);color:#222f33;border:0;font-weight:600;padding:13px}#feedback{display:block;color:var(--gold);font-size:11px;margin-top:8px}.connections{border-left:1px solid var(--line);padding-left:28px}.connections-head{display:flex;justify-content:space-between}.connections-head strong{font-size:11px;font-weight:400;color:var(--green)}.shares{display:flex;margin-top:12px;gap:5px}.shares button{flex:1;padding:6px}.shares button[aria-pressed=true]{background:#d7b077;color:#172830;border-color:#d7b077}.businesslist{display:flex;gap:5px;margin-top:9px}.businesslist button{padding:3px 7px;font-size:10px}.businesslist button.controlled{color:var(--green)}.businesslist button.selected{border-color:var(--gold)}footer{height:30px;display:flex;align-items:center;gap:8px;border-top:1px solid var(--line);font-size:10px;color:var(--muted)}.live-dot{width:5px;height:5px;background:var(--green);border-radius:50%}.edition{margin-left:auto;letter-spacing:2px}.tooltip{position:absolute;z-index:3;pointer-events:none;background:#14242bef;border:1px solid #74817a;border-radius:4px;padding:12px 15px;font-size:12px;line-height:1.8;box-shadow:0 8px 24px #0005;max-width:280px}.tooltip b{color:var(--gold)}.win{position:absolute;z-index:4;top:50%;left:50%;transform:translate(-50%,-50%);width:450px;text-align:center;background:#172b32f5;border:1px solid var(--gold);padding:30px;box-shadow:0 20px 70px #0008}.win h2{font:30px Georgia}.win p{color:var(--muted);line-height:1.6}.win[hidden],.tooltip[hidden]{display:none}@media(max-width:1050px){header,.dashboard{padding-left:20px;padding-right:20px}.tip{max-width:230px;font-size:11px}.controls{gap:16px}.connections{padding-left:16px}.brand p{letter-spacing:1px}.objective{width:260px}.map-title h2{font-size:18px}}
/* A permanent advice column keeps instructions off the map and controls. */
.city{padding-right:292px}canvas{width:100%}.guide{position:absolute;right:0;top:0;bottom:0;width:292px;padding:22px 20px;background:#172b32;border-left:1px solid var(--line);overflow:auto;z-index:2}.guide-kicker{font-size:9px;letter-spacing:1.5px;color:var(--gold)}.guide h2{font:23px Georgia;line-height:1.2;margin:14px 0}.guide p,.guide li{font-size:12px;line-height:1.65;color:#d1dad5}.guide ol{padding-left:18px}.guide li{margin-bottom:9px}.guide b{color:var(--text)}.guide .guide-muted{color:#94aaa9;font-size:10px}.guide button{width:100%;text-align:left}.guide #start{background:var(--gold);color:#1b2c30;text-align:center;font-weight:600}.guide #help{border-color:#b79563;color:var(--gold);font-size:12px}.guide .guide-link{border:0;padding:8px 0;background:transparent;color:var(--muted);font-size:11px;text-decoration:underline}.guide-stages{display:flex;gap:5px;margin:16px 0}.guide-stages span{font-size:9px;color:#849b9d;border-top:2px solid #3d5358;padding-top:6px;flex:1}.guide-stages .current{color:var(--gold);border-color:var(--gold)}.guide-stages .done{color:var(--green);border-color:var(--green)}#guide-detail{border-left:2px solid var(--gold);padding-left:12px}.suggested{outline:2px solid var(--gold);outline-offset:4px;box-shadow:0 0 16px #e5b77330}#transit.suggested,#cash.suggested{border-radius:3px;display:inline-block;padding-right:8px}.map-note{display:none}.win{left:calc((100% - 292px)/2);max-width:calc(100% - 312px)}.map-title h2{font-size:18px}.map-title{left:20px;top:16px}.legend{left:20px;gap:12px}[hidden]{display:none!important}@media(max-width:1050px){.city{padding-right:252px}.guide{width:252px;padding:18px 15px}.win{left:calc((100% - 252px)/2);max-width:calc(100% - 272px)}.guide h2{font-size:21px}.guide p,.guide li{font-size:11px}}
.agent-card{position:relative;border-bottom:1px solid #8a815f;padding-bottom:14px;margin-bottom:20px;overflow:hidden}.agent-card img{float:left;width:76px;height:93px;object-fit:cover;margin:0 12px 10px 0;border:1px solid #958765;border-radius:3px}.guide .agent-card h2{font-size:22px;margin:6px 0}.guide .agent-card p{clear:both;font-size:11px}.guide .agent-card .agent-role{clear:none;font-size:10px;color:var(--gold)}.guide #close-agent{position:absolute;right:0;top:0;width:22px;padding:0;font-size:20px;line-height:22px;text-align:center;background:#213a41;border:0}.agent-card .guide-kicker{font-size:8px}#agent-card-status{color:var(--green)}.guide:has(.agent-card:not([hidden])){scroll-behavior:smooth}
.speed{display:flex;gap:3px}.speed button{padding:6px 8px;font-size:11px}.speed [aria-pressed=true]{background:var(--gold);color:#24363a}.sound-controls{position:absolute;right:306px;top:12px;display:flex;gap:4px}.sound-controls button{font-size:9px;padding:5px 7px;background:#192f36e8}.objective{width:340px}header{gap:14px}.brand p{letter-spacing:1px}#next-level{background:var(--green);color:#19312c;width:100%;margin-bottom:10px}#dispatch{margin-bottom:5px;background:#98c9c5;color:#18342f}.agent-control button{padding:7px 9px;font-size:12px}.map-title h2{display:none}@media(max-width:1050px){.sound-controls{right:262px;top:40px}.objective{width:270px}h1{font-size:15px;letter-spacing:1px}header{gap:8px}}
/* Persistent controls live outside the canvas, never under map layers. */
.audio-toolbar,.district-nav{position:relative;z-index:6;flex-shrink:0;display:flex;align-items:center;gap:12px;padding:9px 24px;background:#21383f;border-bottom:1px solid #50666a;flex-wrap:wrap}.audio-toolbar button{padding:7px 10px;font-size:12px}.audio-toolbar label{letter-spacing:0;font-size:12px;color:var(--text)}.audio-toolbar input{width:110px;accent-color:var(--gold)}#audio-state{font-size:11px;color:var(--muted)}#volume-value{min-width:32px}.audio-toolbar [aria-pressed=true]{border-color:#a9c9b2}.district-nav{background:#172a31;padding:6px 24px;font-size:11px}.district-nav button{padding:5px 9px;font-size:11px}.district-nav [aria-pressed=true]{border-color:var(--gold);color:var(--gold)}.agent-control{display:flex;gap:12px;flex-wrap:wrap;justify-content:flex-end;padding:10px 0}.agent-control button{outline-offset:2px}.agent-control span{width:100%}.stats{grid-template-columns:1fr 1fr 1fr 1.7fr;min-height:94px;height:auto}.businesslist{flex-wrap:wrap}.expansion-offer{padding:14px;border:1px solid var(--gold);background:#314741;margin-bottom:18px}.expansion-offer h2{font-size:23px}.expansion-offer button{margin-top:7px}.guide #later{background:transparent;font-size:11px}#keep-playing{width:100%;margin-bottom:10px}#develop{background:#b8a0cc;color:#26313a}.win h2{font-size:25px}
.map-camera{display:flex;align-items:center;gap:5px;flex-wrap:wrap;margin-left:auto;border-left:1px solid #53676d;padding-left:12px}.map-camera span{font-size:10px;color:#d5c59d}.badge-legend{position:absolute;left:18px;bottom:34px;font-size:9px;line-height:1.5;color:#d6d8bf;pointer-events:none}.investments{border-top:1px solid #536c69;border-bottom:1px solid #536c69;padding:10px 0;margin-bottom:20px}.investments h3{font-size:13px;color:var(--gold);font-weight:500}.guide .investments p{font-size:10px}.guide .investments button{font-size:11px;padding:8px}.guide #investment-status{font-size:10px;color:var(--green)}#supply{background:#9bb9d7;color:#20384b}.agent-control{gap:12px}.objective{min-width:300px}

.district-nav .badge-legend{position:static;line-height:1.4;flex-basis:100%;font-size:10px;color:#c5cec3}.district-nav .badge-legend br{display:none}
/* Purchase confirmation is always in the viewport, regardless of guide scroll. */
.guide .expansion-offer{position:fixed;z-index:100;left:50%;top:50%;transform:translate(-50%,-50%);width:min(470px,90vw);max-height:80vh;overflow:auto;padding:26px;background:#233d42;box-shadow:0 0 0 200vmax #0a1c2470,0 16px 60px #0008;border:2px solid var(--gold)}.district-nav .district-ready{background:#e5b773;color:#21343a;border-color:#f7d4a0;font-weight:700}.guide #later{text-align:center;color:#e1e8d6}.guide #next-level{font-weight:600;text-align:center}.home-camera{position:absolute;left:20px;top:42px;font-size:11px;background:#203940e8;padding:5px 9px}.guide #team-panel{border-bottom:1px solid var(--line);padding-bottom:18px;margin-bottom:16px}.guide #team-panel h3{color:var(--gold);font-size:13px}.guide #team-panel p,.guide #team-panel button{font-size:11px}#achievement-list{white-space:pre-line;line-height:1.7;font-size:11px;color:#bcd1bd;margin-top:8px}.guide details{margin:12px 0;font-size:11px}.guide summary{cursor:pointer;color:var(--gold)}#project-plan{padding-left:0;list-style:none}#project-plan li{margin:5px 0}#project-plan button{font-size:10px;padding:5px 7px}.guide #project-show{font-size:11px;color:var(--gold)}#map-toast{position:absolute;z-index:8;left:50%;top:45px;transform:translateX(-65%);max-width:55%;padding:12px 20px;background:#203f35;border:1px solid #b8c788;color:#f3e1b9;font-size:13px;box-shadow:0 6px 22px #0005;pointer-events:none}#modernize{background:#d2ad79;color:#23333a}.agent-control{gap:10px}.stats{grid-template-columns:.9fr .9fr .9fr 1.8fr}

#map{touch-action:none;cursor:grab}#auto-list,#landmark-list{display:grid;gap:7px}#auto-list button[aria-pressed=true]{border-color:#91c9a9;color:#bcdfb9;background:#315448}#landmark-panel{border-top:1px solid #526c68;margin-top:18px;padding-top:12px}#landmark-panel p{font-size:12px;line-height:1.6}.agent-control{flex-wrap:wrap}.district-nav{flex-wrap:wrap}

#auto-selected[aria-pressed=true]{border-color:#91c9a9;background:#315448;color:#bcdfb9}

#capital-panel,#save-panel,#collection-panel{border-top:1px solid #526c68;margin-top:16px;padding-top:12px}#capital-panel select{width:100%;min-height:38px;background:#23363e;color:#e5ddcb;border:1px solid #526c68;margin:6px 0;font-size:12px}#capital-panel input[type=range]{width:100%;accent-color:#e5b773}#capital-panel p,#save-panel p,#collection-panel p{font-size:11px;line-height:1.55}#capital-panel h3,#save-panel h3,#collection-panel h3{font-size:14px;color:#e5b773}.import-label{display:block;font-size:12px;margin:12px 0;letter-spacing:0}.import-label input{display:block;width:100%;margin-top:8px}#federal-list{display:grid;gap:8px}#card-gallery{position:fixed;inset:0;z-index:200;background:#071820d9;display:flex;align-items:center;justify-content:center;padding:12px}.card-gallery-content{position:relative;background:#19313a;padding:15px;max-height:95dvh;width:min(720px,96vw);overflow:auto;border:1px solid #d1b77d;border-radius:12px}.card-gallery-content h2{margin:0 45px 12px 0;font-size:21px}#card-close{position:absolute;right:8px;top:5px}#card-choice{max-width:100%;width:100%;padding:10px;margin-bottom:10px;background:#263f45;color:#eee2c9}#achievement-card{height:auto;width:100%;display:block}.card-actions{display:flex;gap:10px}#card-status{font-size:12px;color:#c5d5cb}

#investment-history{white-space:pre-line;font-size:12px;line-height:1.6;color:#bcd5bf}

header{height:auto;min-height:82px;padding-top:10px;padding-bottom:10px}.objective strong{font-size:12px;line-height:1.35}
