/* CityBuilder UI v0.1.1 — cosmetic themes only. No economic or save-format changes.
   Applied from the selected universe's saved economic preset; the policy selector
   is a proposed change until the user presses Apply. */
:root,html[data-theme="capitalism"]{
  --accent:#56b9f5;--accent2:#9bdaff;
  --theme-halo:#104463;--theme-page-top:#0c2032;--theme-page-bottom:#071524;
  --theme-panel-top:#132c41;--theme-panel-bottom:#0e1d2c;--theme-border:#355469;
  --theme-card:#192f42;--theme-card-border:#385668;--theme-select:#16334b;
  --theme-highlight:#163f5a;--theme-map-frame:#0e2a3b;
  --theme-accent:#56b9f5;--theme-accent-light:#a1dfff;--theme-accent-end:#268cd0;
  --theme-accent-text:#05243a;--theme-muted:#a3bfd2;--theme-soft:#9edafb;
  --theme-track:#2a4052;--theme-button:#1b384e;--theme-hover:#75c6ff;
}
html[data-theme="socialism"]{
  --accent:#f07582;--accent2:#ffb4be;
  --theme-halo:#62263e;--theme-page-top:#271621;--theme-page-bottom:#140e19;
  --theme-panel-top:#36202c;--theme-panel-bottom:#211621;--theme-border:#784554;
  --theme-card:#39252f;--theme-card-border:#714354;--theme-select:#4a2837;
  --theme-highlight:#572c3b;--theme-map-frame:#321b2c;
  --theme-accent:#f07582;--theme-accent-light:#ffd0d4;--theme-accent-end:#d95168;
  --theme-accent-text:#2b0e17;--theme-muted:#dec0c8;--theme-soft:#ffbcc4;
  --theme-track:#48303d;--theme-button:#492c3b;--theme-hover:#ff9ba6;
}
html[data-theme="mixed"]{
  --accent:#f4c95d;--accent2:#fce5a5;
  --theme-halo:#66511e;--theme-page-top:#2b2619;--theme-page-bottom:#171812;
  --theme-panel-top:#37301e;--theme-panel-bottom:#23221b;--theme-border:#7c6946;
  --theme-card:#3c3425;--theme-card-border:#786541;--theme-select:#4a3b22;
  --theme-highlight:#514329;--theme-map-frame:#3a3321;
  --theme-accent:#f4c95d;--theme-accent-light:#ffe9ac;--theme-accent-end:#d8a83a;
  --theme-accent-text:#332510;--theme-muted:#d7c9a6;--theme-soft:#f8db91;
  --theme-track:#514632;--theme-button:#4c402b;--theme-hover:#ffe293;
}
/* Shell and main surfaces */
body{background:radial-gradient(ellipse at 10% -10%,var(--theme-halo) 0,transparent 44%),linear-gradient(170deg,var(--theme-page-top),var(--theme-page-bottom) 65%);}
.topbar{border-color:var(--theme-border)}
.panel{background:linear-gradient(132deg,var(--theme-panel-top),var(--theme-panel-bottom) 80%);border-color:var(--theme-border)}
.metric,.universe-choice,.tool-btn{background:var(--theme-card);border-color:var(--theme-card-border)}
.chart-wrap{background:var(--theme-panel-bottom);border-color:var(--theme-border)}
.map-scroll{background:var(--theme-map-frame)}
.map-footer{background:var(--theme-panel-bottom);border-color:var(--theme-border)}
.track{background:var(--theme-track)}
.track i{background:linear-gradient(90deg,var(--theme-accent-end),var(--theme-accent-light))}
/* Primary interaction and semantic selection */
.button{background:var(--theme-button);border-color:var(--theme-border)}
.button-primary{background:linear-gradient(140deg,var(--theme-accent-light),var(--theme-accent-end));border-color:var(--theme-accent);color:var(--theme-accent-text)}
.button-secondary{background:var(--theme-select);border-color:var(--theme-accent);color:var(--theme-accent-light)}
.button-soft{background:var(--theme-button);border-color:var(--theme-border);color:#edf4f5}
.button:hover:not(:disabled),.tool-btn:hover{border-color:var(--theme-hover)}
.button:focus-visible,.tool-btn:focus-visible,select:focus-visible,input:focus-visible,canvas:focus-visible{outline:2px solid var(--theme-accent-light);outline-offset:3px}
.universe-choice.active{background:var(--theme-highlight);border-color:var(--theme-accent);box-shadow:inset 3px 0 var(--theme-accent)}
.universe-choice:focus-visible{outline:2px solid var(--theme-accent-light);outline-offset:2px}
.tool-btn.selected{background:var(--theme-highlight);border-color:var(--theme-accent);color:var(--theme-accent-light)}
.comparison tbody tr.selected-row{background:var(--theme-highlight)}
.comparison tbody tr:hover{background:var(--theme-card)}
/* Theme-specific highlights */
.brand-mark{border-color:var(--theme-accent);color:var(--theme-accent-light)}
.brand-title span,.intro h1 em,.eyebrow,.year-feature,.policy-top output,.timeline-footer span:last-child,.parcel-info,.status-chip{color:var(--theme-accent-light)}
.live-dot,.status-dot{background:var(--theme-accent)}
.brand-mark span{background:var(--theme-page-bottom)}
.small-caps,.micro,.metric small,.tool-cost,.uni-mini,.form-label,.policy-item small{color:var(--theme-muted)}
.status-chip,.tiny-pill{border-color:var(--theme-border);background:var(--theme-select);color:var(--theme-accent-light)}
.status-chip.orange{border-color:#7c653e;background:#373026;color:#e7c183}
.economy-chip{border-color:var(--theme-accent);background:var(--theme-highlight);color:var(--theme-accent-light)}
.policy-item input[type=range],.switch-label input[type=checkbox]{accent-color:var(--theme-accent)}
select,input[type=text],input[type=number]{border-color:var(--theme-border);background:var(--theme-card);color:#f0f5f5}
select option{background:var(--theme-panel-bottom);color:#f0f5f5}
.metric span,.indicator-label{color:var(--theme-muted)}
.toast:not(.error){background:var(--theme-card);border-color:var(--theme-accent);color:var(--theme-accent-light)}
dialog{background:var(--theme-panel-bottom);border-color:var(--theme-border)}
