/* Municipal leadership inherits the existing blue broadcast surface. */
.cities-scene .scene-heading h1{font-size:2.3em;letter-spacing:-.03em}
.cities-scene .scene-heading p{margin:.45em 0 0;color:var(--scene-muted);font-size:.9em}
.city-header-total{text-align:right;font-size:2.35em;font-weight:700;line-height:1.1}
.city-header-total small{font-size:.55em}.city-header-total>span:last-child{display:block;font-size:.32em;font-weight:400;color:var(--scene-muted);margin-top:.5em}
.city-content{display:grid;grid-template-columns:minmax(0,1.75fr) minmax(0,1fr);gap:2.3em;flex:1;min-height:0;padding-top:1em}
.city-map-stage{min-width:0;min-height:0;display:flex;flex-direction:column;justify-content:center}
.city-map-stage canvas{display:block;width:100%;height:auto;max-height:100%;object-fit:contain;min-height:0}
.city-map-caption{font-size:.55em;color:var(--scene-muted);text-align:center;padding:.65em 0;flex-shrink:0}
.city-progress{display:flex;flex-direction:column;min-width:0;padding-top:.2em;gap:.65em}
.city-scope-name h2,.city-detail h2{font-size:1.3em;line-height:1.15;overflow-wrap:anywhere;margin:0 0 .2em;letter-spacing:-.02em}
.city-scope-name p,.city-detail p{font-size:.7em;color:var(--scene-muted);margin:0}
.city-detail>span{font-size:.65em;display:block;margin-top:.4em;color:var(--scene-muted)}
.city-candidates{display:grid;gap:.7em}
.city-candidate{display:grid;grid-template-columns:2.45em minmax(0,1fr);gap:.65em;align-items:center}
.city-candidate .candidate-photo{width:2.45em;height:2.45em}
.city-candidate-name{display:flex;justify-content:space-between;gap:.6em;align-items:baseline;line-height:1.2}
.city-candidate-name strong{font-size:.69em;font-weight:600;overflow-wrap:anywhere}
.city-candidate-name>span{font-size:.5em;color:var(--scene-muted);flex-shrink:0}
.city-candidate-meter{height:.16em;background:#ffffff26;border-radius:999px;overflow:hidden;margin:.35em 0}
.city-candidate-meter i{display:block;height:100%;width:100%;transform-origin:left;background:var(--candidate)}
.city-candidate-values{display:flex;justify-content:space-between;gap:.5em;align-items:baseline;font-variant-numeric:tabular-nums}
.city-candidate-values b{font-size:1.1em}.city-candidate-values small{font-size:.6em;font-weight:400;margin-left:.1em}
.city-candidate-values>span{font-size:.55em;color:var(--scene-muted)}
.city-margin-legend{border-top:1px solid var(--scene-line);padding-top:.7em;margin-top:auto;display:grid;gap:.3em}
.city-margin-legend h2{font-size:.65em;font-weight:600;margin:0 0 .25em}
.city-margin-head,.city-margin-row{display:grid;grid-template-columns:minmax(0,1.6fr) repeat(3,minmax(0,1fr));gap:.4em;align-items:center}
.city-margin-head{font-size:.45em;color:var(--scene-muted);text-align:center}
.city-margin-row>span{font-size:.5em;line-height:1.25;overflow-wrap:anywhere}.city-margin-row i{display:block;height:.38em;border-radius:999px}
.city-margin-legend p{font-size:.48em;line-height:1.4;color:var(--scene-muted);margin:.3em 0 0}.city-margin-legend p i{display:inline-block;width:.8em;height:.8em;background:#a7bccf;border-radius:50%;margin-right:.4em}
.city-coverage{font-size:.5em;color:var(--scene-muted);line-height:1.3;margin:0}
.city-empty{font-size:.75em;line-height:1.5;color:var(--scene-muted);padding:1em 0}
.preview-info-card[data-kind=cities] .preview-summary{display:none}
body:not(.output) .cities-scene canvas{touch-action:none;cursor:crosshair}
body:not(.output) .take-bar{grid-template-columns:repeat(3,minmax(0,1fr))}
body:not(.output) .take-bar .output-control{grid-column:auto}
.preview-info-card .format-switch{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-radius:24px}.preview-info-card .format-switch button{padding:10px 12px}
.preview-info-card .format-switch button:nth-child(n){grid-column:auto;min-width:0}
.city-control-help{font-size:12px;color:#aac5dc;line-height:1.5}
.city-navigation{display:grid;grid-template-columns:44px minmax(0,1fr) 44px;gap:8px;align-items:center;margin-top:10px}.city-navigation button{border-radius:999px;min-height:44px;padding:8px;display:flex;align-items:center;justify-content:center}.city-navigation svg{width:18px;height:18px}.city-navigation span{text-align:center;color:#c7dced;font-size:12px}.city-reset{width:100%;margin-top:8px;border-radius:999px}
@media(min-width:1200px){body:not(.output) .take-bar{grid-template-columns:repeat(6,minmax(0,1fr))}}
@media(max-width:720px){body:not(.output) .take-bar{grid-template-columns:repeat(2,minmax(0,1fr))}body:not(.output) .take-bar .output-control:nth-child(n+4){grid-column:auto}.preview-info-card .format-switch{grid-template-columns:repeat(2,minmax(0,1fr))}.preview-info-card .format-switch button{font-size:12px;min-height:44px;padding:10px 12px}}
