.city-page{overflow:hidden}.city-back{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:#4b4b4b;text-decoration:none;font-size:13px;padding:12px}
.city-page .leaflet-tile-pane{filter:grayscale(1);opacity:.76}.mirador-focus{filter:drop-shadow(0 0 5px #e3b43188)}
.city-main{flex:1;min-height:0;width:min(850px,calc(100% - 28px));gap:10px;margin:14px auto 0}.city-top{display:flex;justify-content:space-between;align-items:center;gap:12px;flex:none}.city-top h1{margin:0;font-size:27px;color:#4b4b4b;line-height:1.2}.city-top h1 span{font-size:13px;color:#737373;margin-left:5px}.city-top p{margin:3px 0 0;font-size:12px}.turn-selector{display:flex;flex-direction:column;gap:3px;font-size:10px}.turn-selector select{font:12px 'Open Sans',sans-serif;padding:7px;border:1px solid #bbb;border-radius:5px;background:#fff;color:#4b4b4b;min-height:36px}
.map-view{display:flex;flex-direction:column;flex:1;min-height:180px;position:relative;border-radius:5px;overflow:hidden;background:#dbe3dd}#city-map{flex:1;min-height:0;width:100%;z-index:0}.open-city{position:absolute;bottom:33px;left:50%;transform:translateX(-50%);width:min(350px,calc(100% - 28px));padding:12px 16px;background:white;border:0;border-radius:5px;text-align:left;box-shadow:0 2px 12px #0002;cursor:pointer;color:#4b4b4b}.open-city strong{display:block;font-size:19px}.open-city span{font:12px 'Open Sans',sans-serif}.map-source{font-size:10px;padding:5px 9px;margin:0;background:#fff9}.city-map-label{background:white;border:0;border-radius:5px;padding:4px 10px;color:#4b4b4b;box-shadow:0 1px 6px #0002;font:700 13px 'Open Sans',sans-serif}
.city-detail{display:flex;flex-direction:column;gap:9px;flex:1;min-height:0}.detail-title,.section-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;flex:none}.detail-title h2{font-size:20px}.detail-title button,.city-links button{padding:6px 10px;min-height:32px;border:1px solid #aaa;border-radius:5px;background:transparent;color:#4b4b4b;font:11px 'Open Sans',sans-serif;cursor:pointer}.city-score{display:flex;justify-content:space-between;gap:20px;background:#fff;border-radius:5px;padding:14px;flex:none}.city-score>div{display:flex;align-items:center;gap:12px}.city-score>div:last-child{text-align:right}.city-score img{width:64px;height:64px;border-radius:50%;border:3px solid #b5b5b5;object-fit:cover}.city-score strong,.city-score span,.city-score b{display:block;font-size:14px}.city-score span{font-size:20px;font-variant-numeric:tabular-nums}.red-text{color:var(--red)}.blue-text{color:var(--blue)}.city-progress{font-size:12px;margin:0}.section-heading h2{font-size:17px}.section-heading h2 span{font-size:12px;font-weight:400}.section-heading input{width:135px;min-height:32px;border:1px solid #bbb;border-radius:5px;padding:6px 9px;font:11px 'Open Sans',sans-serif}
.section-scroll{overflow:auto;min-height:90px;flex:1;background:#fff;border-radius:5px}table{border-collapse:collapse;width:100%;font-size:12px}th{position:sticky;top:0;background:#c9ced8;z-index:1;font-weight:700;color:#4b4b4b}td,th{text-align:right;padding:10px 12px;border-bottom:1px solid #e8e8e8}td:first-child,th:first-child{text-align:left}td:first-child strong,td:first-child small{display:block}td:first-child small{font-size:10px;font-weight:400}td:nth-child(2){color:var(--red)}td:nth-child(3){color:var(--blue)}td:last-child{font-size:10px;color:#737373}.section-note{font-size:10px;line-height:1.4;margin:0}.city-status{font-size:11px;line-height:1.4;margin:0;text-align:center;flex:none}.city-links{display:flex;align-items:center;justify-content:center;gap:14px;font-size:11px;flex:none}.city-links a{min-height:28px;display:flex;align-items:center}.city-page footer{flex:none;margin-top:7px}.city-main button:disabled{opacity:.5;cursor:wait}
@media(max-width:600px){.city-main{margin-top:10px;gap:8px}.city-top h1{font-size:24px}.turn-selector select{font-size:11px;max-width:160px}.city-score{padding:10px;gap:10px}.city-score>div{gap:8px}.city-score img{width:48px;height:48px}.city-score strong,.city-score b{font-size:12px}.city-score span{font-size:17px}.section-heading h2{font-size:15px}.section-heading input{width:115px}td,th{padding:9px 7px;font-size:11px}.section-note{font-size:9px}.detail-title h2{font-size:18px}.city-status{font-size:10px}.map-source{font-size:9px}}
