/* v0.2.0 real-city scenario selector; inherits v0.1.1 economic themes. */
.city-context-bar{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.7fr) minmax(0,2fr);gap:18px;align-items:start;margin:-3px 0 15px;padding:13px 19px;border:1px solid var(--theme-border);background:linear-gradient(100deg,var(--theme-panel-top),var(--theme-panel-bottom));border-radius:9px}
.city-context-bar>div{display:flex;flex-direction:column;gap:3px;min-width:0}
.city-context-kicker{font-size:9px;letter-spacing:.16em;color:var(--theme-accent-light);font-weight:900}
.city-context-bar strong{font-size:14px;overflow-wrap:anywhere;color:#e6f3f1}
.city-context-bar span:not(.city-context-kicker){font-size:11px;color:var(--theme-muted);line-height:1.4}
.new-city-dialog{width:min(94%,810px);max-width:810px;padding:0}
.new-city-dialog .dialog-inner{gap:17px;padding:25px}
.city-dialog-head{display:flex;justify-content:space-between;align-items:start;gap:15px}
.city-dialog-head h2{font-size:26px;margin:3px 0 8px}
.city-dialog-head p{font-size:13px}
.city-choice-icon{font-size:36px;color:var(--theme-accent-light);line-height:1}
.city-choice-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:11px}
.city-choice{display:flex!important;flex-direction:column;gap:5px!important;min-width:0;padding:10px!important;cursor:pointer;background:var(--theme-card);border:1px solid var(--theme-border);border-radius:11px;position:relative;transition:border-color .12s,background .12s}
.city-choice:has(input:checked){border:2px solid var(--theme-accent);padding:9px!important;background:var(--theme-highlight);box-shadow:inset 0 0 0 1px var(--theme-accent)}
.city-choice:focus-within{outline:2px solid var(--theme-accent-light);outline-offset:2px}
.city-choice input{position:absolute;left:12px;top:12px;accent-color:var(--theme-accent);z-index:1;width:19px;height:19px}
.choice-art{position:relative;display:flex;align-items:center;justify-content:center;width:100%;aspect-ratio:1.46;min-height:65px;max-height:112px;border-radius:7px;overflow:hidden;border:1px solid #ffffff23}
.choice-art::after{content:'';position:absolute;bottom:-3px;left:0;right:0;height:38%;background:repeating-linear-gradient(90deg,#071c3159 0 15px,transparent 16px 25px,#071c3159 26px 37px,transparent 38px 43px)}
.city-art-nyc{background:linear-gradient(160deg,#34577f,#0e2345 64%,#082d45)}
.city-art-miami{background:linear-gradient(160deg,#ffcc77,#e67c54 52%,#207e93)}
.city-art-los_angeles{background:linear-gradient(160deg,#b391df,#567399 56%,#473d60)}
.city-art-harborview{background:linear-gradient(160deg,#58b9a7,#235c69 50%,#163a51)}
.city-art-icon{font-size:clamp(29px,4vw,48px);position:relative;z-index:1;filter:drop-shadow(0 2px 4px #0008)}
.city-art-code{position:absolute;right:5px;top:5px;z-index:1;font-size:9px;font-weight:900;letter-spacing:.12em;color:#fff9;background:#04172455;padding:2px 4px;border-radius:3px}
.city-choice-title{font-size:13px;font-weight:850;color:#f1f7f7;line-height:1.2}
.city-choice-desc{font-size:10px;line-height:1.35;min-height:27px;color:var(--theme-muted)}
.city-choice-pop{font-size:9px;letter-spacing:.08em;color:var(--theme-accent-light);font-weight:800;padding-top:3px}
.city-setup-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.city-setup-row label{min-width:0}
.city-scenario-brief{padding:13px 15px;border-radius:9px;border:1px solid var(--theme-border);background:var(--theme-card)}
.city-scenario-brief strong{color:var(--theme-accent-light)}
.city-scenario-brief p{margin:5px 0 9px;font-size:12px;line-height:1.45}
.city-scenario-brief small{font-size:10px;color:var(--theme-muted)}
@media(max-width:800px){.city-context-bar{grid-template-columns:1fr 1fr}.city-context-model{grid-column:1/-1}.new-city-dialog .dialog-inner{padding:15px}}
@media(max-width:540px){.city-context-bar{grid-template-columns:1fr;gap:8px}.city-context-model{grid-column:auto}.city-choice-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.city-choice-desc{min-height:27px}.city-setup-row{grid-template-columns:1fr}.new-city-dialog .dialog-inner{padding:12px}.city-dialog-head h2{font-size:21px}}
@media(prefers-reduced-motion:reduce){.city-choice{transition:none}}
