.projection{padding:28px;margin-bottom:24px;--projection-accent:var(--a);--projection-soft:var(--soft-a)}
.projection[data-slot=b]{--projection-accent:var(--b);--projection-soft:var(--soft-b)}
.projection .section-heading{align-items:flex-start;gap:16px;flex-wrap:wrap}
.projection h2{font-size:28px}.projection h3{font-family:Inter,system-ui,sans-serif;font-size:16px;font-weight:600;letter-spacing:0;line-height:1.5;margin:0 0 12px}
.projection p{line-height:1.65;max-width:75ch}.projection-status{font-size:12px;color:var(--muted);margin:16px 0}
.projection-controls{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr) minmax(0,1fr);gap:24px;padding:22px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.projection-controls>div{min-width:0}.projection label{display:block;font-size:12px;font-weight:600;line-height:1.5;margin-bottom:9px}.projection select,.projection input[type=search]{width:100%;max-width:100%;min-height:44px;font-size:12px}.projection select{white-space:normal}.projection-controls .hint{font-size:11px;margin:9px 0 0}
.projection summary{cursor:pointer;font-size:13px;font-weight:600;line-height:1.6;min-height:44px;padding:12px 0}.projection summary:focus-visible{outline:2px solid var(--focus);outline-offset:3px}
.projection-reference summary{font-size:11px}.projection-reference details{margin-top:4px}.projection-reference input{margin:0 0 8px}#projection-search-results{display:flex;flex-direction:column;gap:8px;max-height:250px;overflow:auto}#projection-search-results button{text-align:left}
.projection input[type=range]{width:100%;padding:0;height:32px;accent-color:var(--projection-accent);border:0;background:transparent;cursor:pointer}
.projection-slider-labels{display:flex;justify-content:space-between;align-items:center;font-size:11px;color:var(--muted)}.projection-slider-labels button{font-size:11px;min-height:32px}
.projection-overview{padding:28px 0 24px}.projection-range-heading{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap}.projection-range-heading h3{margin:0;flex:1 1 220px}.projection-range-value{font-family:Inter,system-ui,sans-serif;color:var(--projection-accent);font-size:30px;letter-spacing:-.025em;font-variant-numeric:tabular-nums;line-height:1.3}.projection-range-heading>span{font-size:12px;color:var(--muted)}
.projection-overview svg{display:block;width:100%;height:auto;max-height:115px;margin:18px 0 0;overflow:visible}.projection-overview svg text{font-family:Mono,monospace;fill:var(--muted);font-size:13px}.projection-track{stroke:var(--line);stroke-width:2}.projection-band{stroke:var(--projection-soft);stroke-width:28;stroke-linecap:round}.projection-counted{stroke:var(--projection-accent);stroke-width:7}.projection-remaining{stroke:var(--projection-accent);stroke-width:3;stroke-dasharray:6 5}.projection-marker{stroke:var(--projection-accent);stroke-width:2}.projection-point{fill:var(--projection-accent);stroke:var(--surface);stroke-width:2}
.projection-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin:16px 0}.projection-metrics dt{font-size:12px;color:var(--muted);line-height:1.5}.projection-metrics dd{margin:8px 0;font-size:23px;font-weight:600;font-variant-numeric:tabular-nums;color:var(--projection-accent)}.projection small{display:block;font-size:11px;font-weight:400;line-height:1.6;color:var(--muted)}.projection-range-note{font-size:11px;color:var(--muted);margin:22px 0 0}.projection-reading{padding:24px 0;border-top:1px solid var(--line)}.projection-reading p{font-size:13px;margin:12px 0}.projection-reading .hint{font-size:11px}
.projection-empty{padding:30px 0;font-size:14px}.projection-caution{background:var(--projection-soft);padding:12px 14px;border-radius:6px;font-size:12px}.projection-model-comparison{font-variant-numeric:tabular-nums}
.projection-breakdown,.projection-methodology{border-top:1px solid var(--line)}.projection-breakdown>.hint{font-size:11px}.projection-breakdown .table-wrap{margin:12px 0 20px}.projection-breakdown table{min-width:750px;width:100%;font-size:12px}.projection-breakdown th,.projection-breakdown td{text-align:right;white-space:nowrap;padding:12px}.projection-breakdown th:first-child{text-align:left}.projection-breakdown tbody th{font-weight:400}.projection-breakdown th small,.projection-breakdown td small{margin-top:4px}.projection-breakdown>select{max-width:340px;margin-bottom:16px}
.projection-districts{max-height:440px;overflow:auto;margin-bottom:20px}.projection-district{display:flex;justify-content:space-between;gap:20px;padding:12px 0;border-top:1px solid var(--line);font-size:12px}.projection-district>div:first-child{min-width:0}.projection-district>div:last-child{text-align:right;flex-shrink:0}.projection-district strong{line-height:1.6}.projection-freshness{font-size:10px;color:var(--muted);margin:14px 0}.projection-explanation{padding:0 0 12px}.projection-explanation p{font-size:12px;margin:14px 0}
#projection-tabs{max-width:100%;flex-wrap:wrap}#projection-tabs button{white-space:normal;min-height:44px;max-width:260px}
@media(max-width:1000px){.projection-controls{grid-template-columns:1fr 1fr}.projection-controls>div:last-child{grid-column:1/-1;max-width:500px;width:100%}}
@media(max-width:600px){.projection{padding:20px 16px}.projection h2{font-size:25px}.projection-controls{grid-template-columns:1fr;gap:20px}.projection-range-heading{gap:8px}.projection-range-heading h3{flex-basis:100%}.projection-range-value{font-size:28px}.projection-metrics{gap:12px}.projection-metrics dt{font-size:10px}.projection-metrics dd{font-size:20px}.projection-metrics small{font-size:10px}.projection-overview svg{min-height:65px}.projection-overview svg text{font-size:20px}.projection-reading p{font-size:12px}#projection-tabs{width:100%;display:flex}#projection-tabs button{flex:1;font-size:11px}.projection-breakdown summary{font-size:12px}}

.projection{scroll-margin-top:85px}.projection-axis{display:flex;justify-content:space-between;padding:0 2.7%;font-family:Mono,monospace;font-size:10px;color:var(--muted)}.projection-overview svg{margin-top:12px;max-height:85px}.projection-overview{padding-top:16px}.projection-band{stroke-width:18;vector-effect:non-scaling-stroke}.projection-counted{stroke-width:5;vector-effect:non-scaling-stroke}.projection-remaining{stroke-width:2;vector-effect:non-scaling-stroke}
.projection-range-share{font-size:13px;color:var(--projection-accent);margin:8px 0 24px}.projection-percent-axis{position:relative;height:20px;margin-top:20px;padding:0}.projection-percent-axis span{position:absolute;transform:translateX(-50%);top:0;white-space:nowrap}.projection-percent-axis span:nth-child(1){left:2.6667%;transform:none}.projection-percent-axis span:nth-child(2){left:26.3333%}.projection-percent-axis span:nth-child(3){left:50%}.projection-percent-axis span:nth-child(4){left:73.6667%}.projection-percent-axis span:nth-child(5){right:2.6667%;transform:none}.projection-axis-note{font-size:10px;color:var(--muted);margin:14px 0 20px}
.projection-overview svg{max-height:none}.projection-gridline{stroke:var(--line);stroke-width:1;vector-effect:non-scaling-stroke}
.projection{padding:20px 24px}.projection .section-heading{align-items:center;margin-bottom:0}.projection h2{font-size:25px}.projection-heading-actions{display:flex;align-items:center;gap:18px;flex-wrap:wrap;max-width:100%}.projection-map-link{font-size:12px;white-space:nowrap;min-height:44px;display:inline-flex;align-items:center}.projection-status{margin:6px 0;font-size:11px}.projection-overview{padding:8px 0 12px}.projection-range-heading h3{font-size:13px}.projection-range-value{font-size:26px}.projection-range-share{font-size:12px;margin:4px 0 8px}.projection-percent-axis{margin-top:8px;height:14px}.projection-overview svg{margin-top:0;min-height:0}.projection-metrics{margin:10px 0;gap:16px}.projection-metrics dd{font-size:20px;margin:4px 0}.projection-metrics dt{font-size:11px}.projection-axis-note{margin:8px 0 12px}.projection-range-note{margin:8px 0 0}.projection-settings,.projection-analysis{border-top:1px solid var(--line)}.projection-settings>summary,.projection-analysis>summary{padding:10px 0;min-height:42px;font-size:12px}.projection-controls{border:0;padding:12px 0 20px}.projection-reading{padding:16px 0;border:0}.projection-reading h3:not(:first-child){margin-top:24px}#projection-model-label{float:right;color:var(--muted);font-size:11px;font-weight:400}#projection-quick-match:empty{display:none}#projection-quick-match{padding:0 0 8px}#projection-quick-match button{font-size:12px;min-height:36px;text-align:left}#geography{scroll-margin-top:80px}
@media(max-width:600px){.projection{padding:16px}.projection .section-heading{gap:4px}.projection-heading-actions{gap:8px;width:100%;justify-content:space-between}.projection-heading-actions #projection-tabs{width:auto;flex:1}.projection-heading-actions #projection-tabs button{padding:8px;min-height:38px}.projection-map-link{font-size:10px}.projection-range-heading h3{flex-basis:auto;font-size:12px}.projection-range-heading{gap:4px 8px}.projection-range-value{font-size:24px}.projection-range-heading>span{font-size:10px}.projection-range-share{font-size:11px}.projection-metrics{gap:10px}.projection-metrics dt{font-size:10px}.projection-axis-note{font-size:9px;line-height:1.5}.projection-range-note{font-size:10px}.projection-settings>summary,.projection-analysis>summary{font-size:11px}#projection-model-label{font-size:10px}.projection-percent-axis{font-size:9px}.projection-status{font-size:10px;margin:4px 0 10px}}
.projection-settings,.projection-analysis{margin-top:0}
@media(min-width:900px){.projection-overview{display:grid;grid-template-columns:minmax(0,1fr) 270px;column-gap:40px}.projection-range-heading,.projection-range-share,.projection-percent-axis,.projection-overview>svg,.projection-overview>.projection-axis,.projection-axis-note{grid-column:1}.projection-metrics{grid-column:2;grid-row:1/7;display:flex;flex-direction:column;justify-content:space-around;gap:10px;margin:0}.projection-metrics>div{display:grid;grid-template-columns:1fr auto;align-items:baseline;column-gap:12px}.projection-metrics dd{margin:0}.projection-metrics small{grid-column:1/-1}.projection-range-note{grid-column:1/-1}.projection-range-heading h3{flex-basis:100%;margin:0}.projection-range-heading{gap:3px 8px}.projection-range-share{margin-bottom:4px}.projection-overview .projection-axis-note{margin-bottom:0}}
