/* Data stories — deliberately editorial, separate from the spatial map. */
.charts-view{max-width:1380px;margin:0 auto;padding:12px 0 36px;min-width:0;--chart-red:var(--red);--chart-gold:#dda75a}
.charts-view button,.charts-view select{font-family:var(--body)}
.charts-view button:focus-visible,.charts-view select:focus-visible{outline:2px solid var(--fg);outline-offset:4px}
.charts-intro{display:flex;justify-content:space-between;align-items:flex-end;gap:32px;margin:0 0 28px}
.charts-kicker{display:flex;align-items:center;gap:9px;color:var(--muted);font-size:9px;font-weight:600;letter-spacing:.13em;line-height:1.5}
.charts-live-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--red);box-shadow:0 0 0 4px color-mix(in srgb,var(--red) 12%,transparent)}
.charts-intro h1{font:700 clamp(42px,5.4vw,64px)/.98 var(--display);letter-spacing:-.018em;margin:14px 0 15px;color:var(--fg)}
.charts-intro h1:focus{outline:none}
.charts-intro h1 em{color:var(--red);font-style:normal}
.charts-intro>div>p:last-child{color:var(--muted);font-size:12px;line-height:1.75;max-width:470px}
.charts-filter{display:grid;grid-template-columns:minmax(0,1fr);min-width:220px;max-width:300px;gap:8px;padding-bottom:3px}
.charts-filter label{color:var(--muted);font-size:10px;letter-spacing:.04em}
.charts-filter select{width:100%;min-width:0;min-height:44px;background:var(--panel);color:var(--fg);border:1px solid var(--line);border-radius:6px;font-size:11px;padding:11px 32px 11px 13px}
.charts-filter button{justify-self:end;color:var(--muted);background:none;min-height:32px;font-size:10px;padding:5px 0 5px 12px}
.charts-filter button span{font-size:16px;margin-left:9px}.charts-filter button:hover{color:var(--fg)}.charts-filter button:disabled{opacity:.45;cursor:default}
.charts-scope-strip{display:flex;align-items:center;flex-wrap:wrap;gap:14px 28px;border-block:1px solid var(--line);padding:15px 0;margin-bottom:25px;color:var(--muted);font-size:10px}
.charts-scope-strip>p{color:var(--fg);font-size:10px;font-weight:600;margin-right:auto;max-width:240px;line-height:1.5}
.charts-scope-strip>span{display:flex;align-items:baseline;gap:7px}.charts-scope-strip b{color:var(--fg);font:600 23px/1 var(--display)}
.charts-grid{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.15fr);gap:20px;margin-bottom:20px;align-items:stretch}
.charts-grid-bottom{grid-template-columns:minmax(0,1.05fr) minmax(0,1.05fr)}
.charts-panel{min-width:0;background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:25px 25px 20px;overflow:hidden;position:relative}
.charts-panel::before{content:'';position:absolute;top:0;left:25px;width:35px;height:2px;background:var(--red)}
.charts-crossovers::before{background:var(--chart-gold)}
.charts-panel-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;position:static;border:0;background:none;height:auto;padding:0;backdrop-filter:none;min-height:94px;margin:0 0 19px}
.charts-panel-heading .charts-kicker{font-size:8px;gap:8px}.charts-panel-heading .charts-kicker>span{font-size:9px;color:var(--red);letter-spacing:0}
.charts-panel h2{font:600 clamp(24px,2.1vw,30px)/1.12 var(--display);margin:9px 0 8px;letter-spacing:-.01em;color:var(--fg)}
.charts-panel-heading>div>p:last-child{font-size:10px;line-height:1.7;color:var(--muted);max-width:330px}
.charts-panel-stat{flex:0 0 auto;text-align:right;padding-top:1px;max-width:110px}
.charts-panel-stat>b{font:600 42px/1 var(--display);color:var(--red)}.charts-panel-stat>span{display:block;color:var(--muted);font-size:8px;line-height:1.6;margin-top:4px}
.charts-crossovers .charts-panel-stat>b{color:var(--chart-gold)}
.charts-note{font-size:9px;color:var(--muted);line-height:1.75;margin:20px 0 0}.charts-note strong{font-weight:500;color:var(--fg)}
.charts-roster-bars{display:grid;gap:10px;padding-top:2px}
.charts-roster-row{width:100%;display:grid;grid-template-columns:minmax(90px,1.1fr) minmax(36px,1fr) 25px;align-items:center;gap:13px;text-align:left;color:var(--fg);padding:7px 0;background:none;min-height:37px;border-radius:4px}
.charts-roster-name{font-size:10px;line-height:1.55}.charts-roster-track{height:8px;background:var(--raised);border-radius:2px;overflow:hidden}.charts-roster-track i{display:block;width:var(--bar);height:100%;background:var(--chart-color);border-radius:2px;opacity:.8;transition:opacity .15s}
.charts-roster-row strong{font-size:12px;font-weight:600;text-align:right;font-variant-numeric:tabular-nums}.charts-roster-row:hover .charts-roster-track i,.charts-roster-row[aria-pressed=true] .charts-roster-track i{opacity:1}
.charts-roster-row[aria-pressed=true]{background:color-mix(in srgb,var(--chart-color) 8%,transparent);outline:1px solid color-mix(in srgb,var(--chart-color) 40%,transparent);outline-offset:5px}.charts-roster-row[aria-pressed=true] .charts-roster-name{color:var(--chart-color)}
.charts-histogram{height:262px;display:grid;grid-template-columns:repeat(var(--bins),minmax(0,1fr));gap:9px;padding-top:23px;background:repeating-linear-gradient(to top,transparent 0,transparent 58px,var(--line) 59px,transparent 60px);background-origin:content-box;background-clip:content-box}
.charts-decade-bar{display:flex;flex-direction:column;justify-content:flex-end;align-items:stretch;min-width:0;position:relative;background:none;padding:0;color:var(--muted);border:0;border-radius:3px}
.charts-column-space{position:relative;flex:1;display:block;min-height:0;border-bottom:1px solid var(--line)}
.charts-column-space>i{position:absolute;bottom:0;left:9%;right:9%;height:max(2px,var(--height));display:block;border-radius:3px 3px 0 0;background:linear-gradient(0deg,color-mix(in srgb,var(--red) 62%,var(--panel)),var(--red));opacity:.7;transition:opacity .15s}
.charts-column-value{position:absolute;bottom:calc(var(--height) + 7px);left:0;right:0;color:var(--fg);font-size:12px;font-weight:500;font-variant-numeric:tabular-nums;text-align:center}
.charts-decade-bar:hover i,.charts-decade-bar[aria-pressed=true] i{opacity:1}.charts-decade-bar[aria-pressed=true] .charts-tick{color:var(--fg);font-weight:700}.charts-decade-bar[aria-pressed=true] i{box-shadow:0 0 0 2px var(--fg)}
.charts-tick{display:block;font-size:9px;font-weight:400;line-height:1.3;text-align:center;padding-top:11px;white-space:nowrap;color:var(--muted)}.charts-tick-short{display:none}
.charts-key{width:6px;height:6px;border-radius:1px;display:inline-block;margin-right:6px;vertical-align:1px}.charts-key.red{background:var(--red)}.charts-key.gold{background:var(--chart-gold)}
.charts-ranking{display:grid;gap:2px}
.charts-rank-row{display:grid;grid-template-columns:20px 38px minmax(0,1fr) 32px;align-items:center;gap:11px;padding:9px 0;background:none;text-align:left;color:var(--fg);border-bottom:1px solid var(--line);min-height:57px;min-width:0}
.charts-rank-row:last-child{border-bottom:0}.charts-rank-row:hover .charts-rank-copy strong{color:var(--chart-color)}
.charts-rank-number{font:500 16px var(--display);color:var(--muted)}
.charts-view .charts-portrait{width:38px!important;height:44px!important;object-fit:cover;object-position:center 20%;border:1px solid var(--line);border-radius:4px;display:block;flex-shrink:0}
.charts-initial{display:grid!important;place-items:center;background:var(--raised);font-size:12px;font-weight:600;color:var(--muted)}
.charts-rank-copy{display:block;min-width:0;padding-bottom:9px;position:relative}.charts-rank-copy>strong{display:block;font-size:11px;line-height:1.5;font-weight:600;overflow-wrap:anywhere}.charts-rank-copy>small{display:block;color:var(--muted);font-size:8px;line-height:1.5;margin-top:2px;overflow-wrap:anywhere}
.charts-rank-copy>i{position:absolute;bottom:0;left:0;right:0;height:3px;background:var(--raised)}.charts-rank-copy>i::before{content:'';display:block;width:var(--bar);height:100%;background:var(--chart-color);opacity:.7}
.charts-rank-count{font:600 23px/1 var(--display);text-align:right;color:var(--fg)}.charts-rank-count>small{display:block;font:400 8px/1.4 var(--body);color:var(--muted);margin-top:3px}
.charts-event-plot{position:relative;height:262px;margin-top:30px;color:var(--chart-gold)}
.charts-event-plot>svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.charts-guide{fill:none;stroke:var(--line);stroke-width:1;vector-effect:non-scaling-stroke;stroke-dasharray:3 5}.charts-event-area{fill:url(#chartsEventFill)}.charts-event-line{fill:none;stroke:var(--chart-gold);stroke-width:2;vector-effect:non-scaling-stroke;stroke-linejoin:round;stroke-linecap:round}
.charts-event-buttons{position:absolute;inset:0;display:grid;grid-template-columns:repeat(var(--bins),minmax(0,1fr))}
.charts-event-buttons>button{min-width:0;position:relative;border:0;padding:0;background:none;color:var(--fg)}.charts-event-buttons>button:hover{background:color-mix(in srgb,var(--chart-gold) 5%,transparent)}
.charts-event-buttons b{position:absolute;top:calc(var(--point) - 28px);left:0;right:0;font-size:12px;font-weight:500;text-align:center;font-variant-numeric:tabular-nums}
.charts-event-buttons i{position:absolute;top:var(--point);left:50%;width:8px;height:8px;border-radius:50%;border:2px solid var(--chart-gold);background:var(--panel);transform:translate(-50%,-50%);box-shadow:0 0 0 4px var(--panel)}
.charts-event-buttons .charts-tick{position:absolute;bottom:0;left:0;right:0}.charts-event-buttons>button[aria-pressed=true] i,.charts-event-buttons>button:hover i{background:var(--chart-gold);box-shadow:0 0 0 4px color-mix(in srgb,var(--chart-gold) 20%,var(--panel))}
.charts-event-buttons>button[aria-pressed=true] .charts-tick{color:var(--fg);font-weight:700}
.charts-crossover-summary{display:flex;align-items:flex-start;gap:2px;background:var(--raised);padding:16px;margin-top:30px;border-radius:6px}.charts-crossover-summary .charts-key{flex:0 0 6px;margin-top:6px}.charts-crossover-summary p{color:var(--muted);font-size:10px;line-height:1.8}
.charts-detail{border:1px solid color-mix(in srgb,var(--red) 45%,var(--line));border-radius:9px;background:var(--panel);padding:24px;margin:0 0 20px;scroll-margin-block:110px}
.charts-detail-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:21px}.charts-detail h2{font:600 32px/1.2 var(--display);color:var(--fg);margin:6px 0 0}.charts-detail h2>span{font:400 11px var(--body);color:var(--muted)}.charts-detail h2:focus{outline:none}
.charts-detail-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.charts-detail-list>button{display:flex;align-items:center;gap:10px;min-width:0;padding:12px;background:var(--raised);border:1px solid transparent;border-radius:5px;color:var(--fg);text-align:left}.charts-detail-list>button:hover{border-color:var(--muted)}
.charts-detail-list>button>span:not(.charts-event-year):not(.charts-initial){min-width:0}.charts-detail-list strong{display:block;font-size:11px;line-height:1.5;font-weight:500;overflow-wrap:anywhere}.charts-detail-list small{display:block;color:var(--muted);font-size:8px;line-height:1.65;margin-top:4px}.charts-detail-list i{font-style:normal;color:var(--muted);margin-left:auto;font-size:14px}
.charts-event-year{font:600 23px var(--display);color:var(--red);flex:0 0 39px}.charts-detail-empty{padding:18px 0;color:var(--muted);font-size:12px;line-height:1.8}
.charts-coverage{display:flex;gap:16px;border-top:1px solid var(--line);padding:24px 0 0;margin-top:30px;max-width:900px}.charts-coverage>span{flex:0 0 19px;height:19px;border:1px solid var(--muted);color:var(--muted);border-radius:50%;font-size:11px;display:grid;place-items:center}.charts-coverage h2{font-size:11px;color:var(--fg);font-weight:600;margin:0 0 8px}.charts-coverage p{font-size:10px;color:var(--muted);line-height:1.85}
:root[data-theme=light] .charts-view{--chart-gold:#9f6719}:root[data-theme=light] .charts-column-space>i{opacity:.85}:root[data-theme=light] .charts-roster-row[aria-pressed=true] .charts-roster-name{color:var(--fg)}
@media(min-width:1600px){.charts-panel{padding:30px}.charts-histogram,.charts-event-plot{height:310px}.charts-roster-row{min-height:43px}.charts-roster-name{font-size:11px}}
@media(max-width:1100px){.charts-panel{padding:21px 19px}.charts-panel-stat>b{font-size:34px}.charts-panel-stat{max-width:85px}.charts-panel-heading{gap:10px}.charts-roster-row{gap:9px;grid-template-columns:minmax(82px,1.25fr) minmax(25px,.85fr) 22px}.charts-grid{gap:15px}.charts-histogram{gap:6px}.charts-tick{font-size:8px}.charts-rank-row{gap:8px}}
@media(max-width:850px){.charts-grid{grid-template-columns:minmax(0,1fr)}.charts-intro h1{font-size:62px}.charts-filter{min-width:205px}.charts-panel-heading{min-height:0;margin-bottom:25px}.charts-histogram{height:258px}.charts-roster-row{grid-template-columns:minmax(130px,1fr) minmax(80px,1.5fr) 28px}.charts-roster-name{font-size:11px}.charts-detail-list{grid-template-columns:repeat(2,minmax(0,1fr))}.charts-event-plot{height:248px}.charts-grid-bottom .charts-crossovers{grid-row:1}.charts-scope-strip{gap:12px 22px}}
@media(max-width:600px){.charts-view{padding-top:4px}.charts-intro{display:block;margin-bottom:20px}.charts-intro h1{font-size:clamp(45px,11vw,60px);margin:12px 0}.charts-intro>div>p:last-child{font-size:11px}.charts-filter{max-width:none;min-width:0;grid-template-columns:minmax(0,1fr) auto;gap:7px 10px;margin-top:22px}.charts-filter label{grid-column:1/-1}.charts-filter button{min-height:44px;align-self:center;white-space:nowrap;font-size:9px}.charts-filter select{font-size:10px;padding-left:10px}.charts-scope-strip{gap:12px 18px;padding:14px 0;margin-bottom:20px}.charts-scope-strip>p{flex:1 0 100%;max-width:none}.charts-scope-strip>span{font-size:9px;gap:5px}.charts-scope-strip b{font-size:21px}.charts-panel{padding:21px 18px 18px;border-radius:8px}.charts-panel h2{font-size:28px}.charts-panel-heading>div>p:last-child{font-size:9px}.charts-panel-stat>b{font-size:34px}.charts-panel-stat{max-width:74px}.charts-kicker{font-size:8px}.charts-histogram{height:228px;gap:5px}.charts-column-value{font-size:11px}.charts-tick-full{display:none}.charts-tick-short{display:inline}.charts-tick{font-size:9px}.charts-roster-bars{gap:7px}.charts-roster-row{grid-template-columns:minmax(104px,1.1fr) minmax(38px,1fr) 22px;gap:10px;min-height:40px}.charts-roster-name{font-size:10px}.charts-note{font-size:9px}.charts-event-plot{height:230px}.charts-event-buttons b{font-size:11px}.charts-detail{padding:19px 16px}.charts-detail-heading{gap:12px}.charts-detail h2{font-size:27px}.charts-detail h2>span{display:block;font-size:10px;margin-top:5px}.charts-detail-list{grid-template-columns:minmax(0,1fr)}.charts-detail-list>button{padding:11px}.charts-coverage{gap:12px}.charts-coverage p{font-size:9px}.charts-rank-copy>strong{font-size:11px}}
@media(max-width:360px){.charts-panel{padding-inline:14px}.charts-panel-stat{max-width:58px}.charts-panel h2{font-size:25px}.charts-panel-heading{gap:8px}.charts-roster-row{grid-template-columns:minmax(91px,1.2fr) minmax(24px,.8fr) 21px;gap:7px}.charts-roster-name{font-size:9px}.charts-histogram{gap:3px}.charts-rank-row{grid-template-columns:16px 33px minmax(0,1fr) 27px;gap:8px}.charts-view .charts-ranking .charts-portrait{width:33px!important;height:40px!important}.charts-rank-copy>strong{font-size:10px}.charts-rank-copy>small{font-size:7px}.charts-filter{grid-template-columns:minmax(0,1fr)}.charts-filter button{justify-self:start;padding-left:0;min-height:34px}.charts-filter select{min-height:44px}#mapMotion>span{display:none}}
@media(prefers-reduced-motion:reduce){.charts-view *{transition:none!important;scroll-behavior:auto!important}}
@media(max-width:600px){.charts-filter select{font-size:16px}.charts-roster-row,.charts-filter button{min-height:44px}}
