.chart-controls{display:grid;grid-template-columns:1fr 1fr 1.35fr;gap:16px;margin:20px 0 12px}.chart-controls label{font-size:14px;display:flex;flex-direction:column;gap:6px}.chart-controls select,.chart-controls input{width:100%;max-width:none;padding:10px 12px;border:1px solid var(--border);border-radius:6px;background:var(--bg);color:var(--fg);font:inherit;min-height:45px}.result-note{font-size:14px;color:var(--muted)}.bar-caption{display:flex;justify-content:space-between;font-size:14px;margin-bottom:6px;gap:16px}.settlement-scroll{max-height:690px;overflow-y:auto;overflow-x:hidden;border:1px solid var(--border);padding:0 10px;border-radius:6px;scrollbar-gutter:stable}.settlement-scroll:focus-visible,summary:focus-visible{outline:3px solid var(--blue);outline-offset:3px}.settlement-svg text{font-size:14px}.settlement-svg .axis-label{font-size:12px}.empty-state{padding:30px 14px}.finding{border-left:3px solid var(--ref);background:var(--soft);padding:18px 20px;margin:20px 0}.finding p:last-child{margin-bottom:0}.finding h3{margin:0 0 8px}h3{font-size:1.1rem;line-height:1.4;margin:26px 0 10px}.methodology,.group-card{margin:16px 0;border:1px solid var(--border);border-radius:6px;padding:0 18px}.methodology summary,.group-card summary{padding:14px 0;cursor:pointer;font-weight:600;font-size:16px}.methodology p,.group-card p{font-size:14px}.group-card[data-group^="4"]{border-left:3px solid var(--rose)}.group-card[data-group="4.2"]{border-left-color:var(--ref)}.table-scroll{overflow:auto;margin:12px 0 18px}table{width:100%;border-collapse:collapse;font-size:14px;white-space:nowrap}th,td{padding:9px 12px;border-bottom:1px solid var(--border);text-align:right;font-variant-numeric:tabular-nums}th:first-child,td:first-child{text-align:left}thead th{font-weight:600;background:var(--soft)}tbody th{font-weight:400}.reference-row{background:var(--soft);color:var(--ref)}.reference-row th,.reference-row td{font-weight:700}.demographic-equation{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:20px 0}.demographic-equation span{border:1px solid var(--border);padding:10px 14px;border-radius:5px;font-size:14px}.demographic-equation b{color:var(--ref)}@media(max-width:700px){.chart-controls{grid-template-columns:1fr 1fr}.chart-controls label:last-child{grid-column:1/-1}.bar-caption{flex-direction:column;gap:0}.finding{padding:14px}.group-card,.methodology{padding:0 12px}.settlement-scroll{padding:0 5px}}@media(max-width:420px){.chart-controls{grid-template-columns:1fr}.chart-controls label:last-child{grid-column:auto}.settlement-scroll{max-height:570px}.settlement-svg text{font-size:13px}.settlement-svg .axis-label{font-size:12px}}@media print{details{display:block}.settlement-scroll{max-height:none;overflow:visible}.chart-controls{display:none}.table-scroll{overflow:visible}}
.values#all-values{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 24px}
#all-values .overview-value-row{grid-template-columns:24px minmax(0,1fr);padding:14px 16px;background:var(--soft);border-radius:6px;font-size:14px;gap:8px}
#all-values .change-metrics{grid-column:1/-1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 16px;margin-top:4px;font-weight:400}
.change-metric{display:flex;flex-direction:column;min-width:0;line-height:1.5;font-variant-numeric:tabular-nums}
.change-metric .metric-label,.change-metric .metric-detail{font-size:14px;color:var(--muted)}
.change-metric strong{font-size:1.25rem;white-space:nowrap;font-weight:650}
.annual-change-note{font-size:14px;color:var(--muted);margin:14px 0 0;max-width:80ch}
@media(max-width:700px){.values#all-values{grid-template-columns:1fr}#all-values .overview-value-row{padding:12px}.change-metrics{column-gap:12px}}
.settlement-line-controls{grid-template-columns:repeat(3,minmax(0,1fr))}.settlement-line-controls.two-controls{grid-template-columns:repeat(2,minmax(0,1fr))}
.settlement-line-controls select{min-width:0}.census-line-svg text{font-size:14px}.settlement-line-values{margin-top:12px;display:grid;gap:16px}.city-line-values{grid-template-columns:repeat(2,minmax(0,1fr))}
.census-card{padding:14px 18px;background:var(--soft);border-left:3px solid var(--line-color);border-radius:4px}.census-card-title{margin:0;font-size:1rem}.census-card-eldership{font-size:14px;color:var(--muted);margin:2px 0 12px}.census-card-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.census-type-note{font-size:14px;color:var(--muted);margin:10px 0 0}
.city-annual-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.city-annual-metrics .change-metric strong{font-size:1.25rem}
.ranking-note{font-size:14px;color:var(--muted);max-width:90ch}.rank-cell{font-weight:600;font-variant-numeric:tabular-nums}
.all-cities-svg text{font-size:14px}.cities-source{font-size:14px}.all-cities-svg{user-select:none}
@media(max-width:700px){.settlement-line-controls,.settlement-line-controls.two-controls{grid-template-columns:1fr}.settlement-line-controls label:last-child{grid-column:auto}.city-line-values{grid-template-columns:1fr}.census-card{padding:12px}.census-card-metrics{gap:10px}.census-card-metrics strong{font-size:1.1rem}}
@media(max-width:540px){.census-card-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.census-card-metrics .change-metric:last-child{grid-column:1/-1}}
