/* Existing layout and behavior tokens bind to the selected design system. */
:root {
  --paper:var(--bg); --ink:var(--fg); --navy:var(--accent);
  --line:var(--border-soft); --grid:var(--chart-grid); --wash:var(--surface-warm); --white:var(--surface);
  --focus:var(--fg); --font:var(--dashboard-body);
  --s1:4px; --s2:8px; --s3:12px; --s4:16px; --s5:24px; --s6:32px; --s7:48px;
  --type-xs:12px; --type-sm:13px; --type-body:14px; --type-label:15px; --type-heading:18px; --type-title:28px;
  --table-max-height:460px; --type-value:16px; --type-count:20px;
  --motion-ease:var(--ease-standard); --motion-enter:400ms; --motion-change:280ms; --motion-stagger:40ms;
}
*{box-sizing:border-box}
html{color-scheme:light;scroll-behavior:auto}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font);font-size:var(--type-body);line-height:1.6;font-variant-numeric:tabular-nums;word-break:keep-all;overflow-wrap:anywhere}
button,input,select{font:inherit;color:inherit}
button,a,select{touch-action:manipulation}
button,select{cursor:pointer}
button{border:1px solid var(--line);background:transparent;border-radius:2px;min-height:40px;padding:8px 16px;font-size:var(--type-sm);font-weight:600}
button:disabled,select:disabled{cursor:default;color:var(--muted);opacity:.65}
a{color:var(--navy);text-underline-offset:3px}
:focus-visible{outline:3px solid var(--focus);outline-offset:3px}
.skip{position:fixed;top:8px;left:8px;z-index:10;background:var(--paper);padding:12px;transform:translateY(-160%)}
.skip:focus{transform:none}
.page{max-width:1600px;margin:auto;padding:28px 40px 32px;border-top:4px solid var(--navy)}
.masthead{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:16px}
h1,h2,h3,p{margin:0}
h1{font-size:var(--type-title);font-weight:750;line-height:1.3;letter-spacing:-1px}
h2{font-size:var(--type-heading);font-weight:700;line-height:1.4;letter-spacing:-.4px}
h3{font-size:var(--type-label);font-weight:650;line-height:1.5}
.purpose{font-size:var(--type-sm);color:var(--muted);margin-top:6px}
.fusion-reading{font-size:15px;line-height:1.8;margin:4px 0 12px;max-width:110ch}
.story-grid{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:32px;margin-top:16px}
.story-panel{min-width:0}
.story-panel+.story-panel{border-inline-start:1px solid var(--line);padding-inline-start:32px}
.story-panel-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:8px}
.story-panel-head .sub{text-align:end}
.story-industry-list{display:grid}
.story-industry-row{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(64px,1fr) auto;align-items:center;gap:12px;width:100%;min-height:32px;padding:4px 8px;border:0;border-bottom:1px solid var(--grid);border-radius:0;text-align:start;font-weight:400;font-size:var(--type-body)}
.story-industry-row[aria-pressed=true]{background:var(--wash);color:var(--navy);font-weight:700}
.story-industry-name{display:block;overflow-wrap:anywhere;line-height:1.45}
.story-industry-track,.story-signal-track{display:block;background:var(--grid);height:6px;min-width:0}
.story-industry-fill,.story-signal-fill{display:block;height:100%;background:var(--navy)}
.story-industry-value{display:block;text-align:end;white-space:nowrap;font-variant-numeric:tabular-nums}
.story-signals{display:grid;gap:24px;padding-top:8px}
.story-signal-head{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin-bottom:8px}
.story-signal-label{font-size:var(--type-sm);color:var(--muted)}
.story-signal-value{font-size:var(--type-count);font-weight:700;color:var(--navy);white-space:nowrap}
.story-signal-track{height:8px}
.story-country{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:0}
.story-country .od-stat{border-top:1px solid var(--line);padding-top:8px;--od-gap:4px}
.story-country dt{font-size:var(--type-xs);color:var(--muted)}
.story-country dd{margin:0;font-size:clamp(14px,1.5vw,20px);font-weight:700;color:var(--navy);white-space:nowrap;font-variant-numeric:tabular-nums}
.story-empty{font-size:var(--type-sm);color:var(--muted)}
.story-section .fusion-reading{margin:12px 0 0}
.story-section .source{margin-top:8px}
.story-flow{display:grid;grid-template-columns:minmax(0,1fr) 32px minmax(0,.65fr) 32px minmax(0,1fr);gap:12px;align-items:center;border-block:1px solid var(--line);padding-block:8px;margin-top:16px}
.story-flow-step{display:grid;gap:2px;min-width:0}
.story-flow-label,.story-flow-detail{display:block;font-size:var(--type-xs);color:var(--muted);line-height:1.5}
.story-flow-step strong{display:block;color:var(--navy);font-size:var(--type-body);font-weight:700;line-height:1.45;overflow-wrap:anywhere}
.story-flow-link{display:block;position:relative;block-size:2px;background:var(--line)}
.story-flow-link::after{content:"";position:absolute;right:0;top:-3px;border-block:4px solid transparent;border-inline-start:5px solid var(--navy)}
.story-flow-pulse{position:absolute;top:-3px;left:0;display:block;inline-size:8px;block-size:8px;border-radius:50%;background:var(--navy);opacity:0}
@media(max-width:1023px){.story-grid{grid-template-columns:1fr;gap:16px}.story-panel+.story-panel{border-inline-start:0;border-top:1px solid var(--line);padding-inline-start:0;padding-top:12px}}
.fusion-scroll{max-height:390px}
.fusion-table .industry-name{width:36%;min-width:0}
.fusion-table .name-button{font-size:var(--type-sm);text-align:left;white-space:normal;min-height:28px;border:0;padding:4px 0}
.fusion-table tr.is-selected{background:var(--surface-warm)}
.fusion-table tr.is-selected .name-button{font-weight:750;color:var(--navy)}
.fusion-table .overseas-value{font-size:var(--type-sm);font-variant-numeric:tabular-nums}
.fusion-table .count-track{width:100%;max-width:96px}
.fusion-table th{white-space:normal}
@media(max-width:767px){
 .story-grid{grid-template-columns:1fr;gap:16px}
 .story-panel+.story-panel{border-inline-start:0;border-top:1px solid var(--line);padding-inline-start:0;padding-top:12px}
 .story-panel-head{align-items:flex-start;flex-direction:column;gap:0}
 .story-panel-head .sub{text-align:start}
 .story-industry-row{min-height:44px;grid-template-columns:minmax(0,1.5fr) minmax(48px,.7fr) auto;gap:8px;padding-inline:4px}
 .story-country{grid-template-columns:1fr;gap:0}
 .story-country .od-stat{display:flex;align-items:baseline;justify-content:space-between;gap:16px}
 .story-flow{grid-template-columns:1fr;gap:4px}
 .story-flow-link{inline-size:2px;block-size:16px;margin-inline-start:16px}
 .story-flow-link::after{right:-3px;top:auto;bottom:0;border-inline:4px solid transparent;border-block-start:5px solid var(--navy)}
 .story-flow-pulse{top:0;left:-3px}
 .fusion-scroll{max-height:520px}
 .fusion-table thead{position:absolute!important;width:1px!important;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
 .fusion-table tbody tr{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
 .fusion-table tbody td.industry-name{grid-column:1/-1;width:auto}
 .fusion-table tbody td.industry-name::before{display:none}
 .fusion-table .name-button{font-size:14px;min-height:44px}
 .fusion-table tbody td:nth-child(5),.fusion-table tbody td:nth-child(6){grid-column:1/-1;display:flex;justify-content:space-between;align-items:baseline;gap:12px}
 .fusion-table tbody td:nth-child(5)::before,.fusion-table tbody td:nth-child(6)::before{margin:0}
 .fusion-table .overseas-value .cell-value{white-space:normal;text-align:right}
}
.dates{display:flex;gap:4px 20px;flex-wrap:wrap;font-size:var(--type-xs);color:var(--muted);margin-top:10px}
.brand-mark{flex:none;align-self:center;inline-size:262px;max-inline-size:36%}
.brand-mark img{display:block;inline-size:100%;block-size:auto}
.filters{display:grid;grid-template-columns:1.1fr 2.2fr 1.3fr .8fr auto auto;gap:12px;align-items:end;border-block:1px solid var(--line);padding:12px 0 16px}
.filters label{font-size:var(--type-xs);font-weight:600;color:var(--muted)}
.filters select{width:100%;min-width:0;height:40px;border:1px solid var(--line);border-radius:2px;background:var(--paper);padding:0 28px 0 12px;font-size:var(--type-sm)}
.primary{background:var(--navy);color:var(--white);border-color:var(--navy)}
.scope{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:var(--type-xs);color:var(--muted);padding:8px 0}
.scope strong{color:var(--ink);font-weight:600}
.scope{flex-wrap:wrap}
.scope-tools{display:flex;align-items:center;justify-content:flex-end;gap:16px;flex-wrap:wrap;min-width:0}
.motion-setting{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.motion-setting button{min-height:44px;padding:4px 12px;white-space:nowrap}
.motion-setting [role=status]{font-size:var(--type-xs)}
.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-bottom:1px solid var(--ink);padding:4px 0 12px;margin:0 0 20px;line-height:1.4}
.stats .od-stat{padding:0 24px;border-left:1px solid var(--line);--od-gap:3px;align-content:start}
.stats .od-stat:first-child{padding-left:0;border:0}
.stats dt{color:var(--muted);font-size:var(--type-sm)}
.stats dd{margin:0;font-size:clamp(24px,2.2vw,32px);line-height:1.35;font-weight:700;letter-spacing:-.8px;color:var(--navy)}
.stats small{font-size:var(--type-xs);font-weight:400;color:var(--muted);letter-spacing:0}
.stats .stat-unit{font-size:14px;color:var(--ink);font-weight:500;margin-left:4px}
.grid12{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:32px;row-gap:28px}
.span3{grid-column:span 3}.span4{grid-column:span 4}.span5{grid-column:span 5}.span7{grid-column:span 7}.span8{grid-column:span 8}.span12{grid-column:span 12}
.region{min-width:0;border-top:1px solid var(--ink);padding-top:12px}
.section-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:12px}
.section-head .index{font-size:var(--type-xs);color:var(--muted);white-space:nowrap;padding-top:3px}
.sub{color:var(--muted);font-size:var(--type-xs);margin-top:4px}
.source{font-size:var(--type-xs);color:var(--muted);border-top:1px solid var(--line);margin-top:12px;padding-top:8px;line-height:1.6}
.section-gap{margin-top:28px}
.map-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(148px,.4fr);gap:16px;align-items:start}
.map{min-width:0}
.map svg{display:block;width:100%;height:auto;aspect-ratio:auto}
.map .province{stroke:var(--paper);stroke-width:1;cursor:pointer;vector-effect:non-scaling-stroke}
.map .province.selected{stroke:var(--ink);stroke-width:2}
.map .province:focus{stroke:var(--ink);stroke-width:3;outline:none}
.map text{font:12px var(--font);pointer-events:none;paint-order:stroke;stroke:var(--paper);stroke-width:3px;stroke-linejoin:round}
.map-scale{display:flex;align-items:center;gap:6px;font-size:var(--type-xs);color:var(--muted);margin-top:4px;flex-wrap:wrap}
.scale-block{display:block;width:14px;height:7px}
.map-readout{font-size:var(--type-xs);min-height:40px;margin-top:8px;color:var(--muted)}
.region-list{display:grid;gap:0}
.region-row{display:grid;grid-template-columns:44px minmax(0,1fr) 52px;align-items:center;gap:8px;width:100%;border:0;border-bottom:1px solid var(--grid);border-radius:0;padding:2px 0;min-height:22px;font-size:var(--type-xs);font-weight:400;text-align:left;line-height:1.5}
.region-row .name{display:block;white-space:nowrap}
.region-row .num{display:block;text-align:right;white-space:nowrap}
.region-row .bar-track{display:block;background:var(--grid);height:5px}
.region-row .bar-fill{display:block;height:100%;background:var(--chart-muted)}
.region-row[aria-pressed=true]{font-weight:700;color:var(--navy)}
.region-row[aria-pressed=true] .bar-fill{background:var(--navy)}
.composition{margin-top:16px}
.composition-heading{display:flex;justify-content:space-between;gap:16px;align-items:baseline;font-size:var(--type-sm);margin-bottom:8px}
.stacked-bar{display:flex;height:8px;background:var(--line);width:100%}
.stacked-bar>span{display:block;min-width:0}
.composition-legend{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px 12px;margin-top:8px;font-size:var(--type-xs);color:var(--muted)}
.composition-legend .entry{display:block}
.composition-legend b{font-weight:600;color:var(--ink);margin-left:4px;white-space:nowrap}
.heat-table{width:100%;border-collapse:collapse;table-layout:fixed;font-size:var(--type-xs)}
.heat-table th{font-weight:500;text-align:center;vertical-align:bottom;padding:0 4px 6px;color:var(--muted)}
.heat-table th:first-child{width:100px;text-align:left}
.heat-table td{padding:2px;border:0;height:25px;text-align:center}
.heat-table .country-name{text-align:left;padding-left:0}
.heat-table .country-button{min-height:22px;border:0;padding:0;font-size:var(--type-xs);font-weight:500;text-align:left;line-height:1.4}
.heat-table .industry-button{min-height:36px;width:100%;padding:0;border:0;font-size:var(--type-xs);font-weight:500;line-height:1.3}
.heat-table .industry-button strong{display:block;color:var(--ink);font-weight:650}
.heat-table .industry-button[aria-pressed=true]{border-bottom:2px solid var(--navy)}
.heat-table .heat-cell{display:block;width:100%;min-height:23px;border:0;border-radius:0;padding:2px 0;font-size:var(--type-xs);font-weight:650;line-height:1.5}
.heat-selection{display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid var(--line);padding-bottom:8px;margin-bottom:8px;font-size:var(--type-sm);font-weight:650;color:var(--navy)}
.heat-selection[hidden]{display:none}
.heat-selection button{min-height:40px}
.heat-table .heat-cell[aria-pressed=true]{outline:2px solid var(--ink);outline-offset:-2px}
.heat-table .country-button[aria-pressed=true]{font-weight:700;color:var(--navy);text-decoration:underline}
.ri1{background:var(--ri1);color:var(--ri1-ink)}.ri2{background:var(--ri2);color:var(--ri2-ink)}.ri3{background:var(--ri3);color:var(--ri3-ink)}.ri4{background:var(--ri4);color:var(--ri4-ink)}.ri5{background:var(--ri5);color:var(--accent-on)}
.ri-missing{background:var(--wash);color:var(--muted)}
.risk-key{display:flex;gap:8px;align-items:center;flex-wrap:wrap;font-size:var(--type-xs);color:var(--muted);margin-top:8px}
.risk-key .grade{padding:1px 8px;font-weight:600;line-height:1.5}
.comparison-mini{margin-top:16px;border-top:1px solid var(--line);padding-top:12px}
.mini-head{display:flex;justify-content:space-between;gap:12px;align-items:baseline;margin-bottom:4px}
.mini-head span{font-size:var(--type-xs);color:var(--muted)}
.chart{width:100%;min-width:0}
.chart svg{display:block;width:100%;height:auto;overflow:visible}
.chart text{font:12px var(--font);fill:var(--muted)}
.chart .axis{stroke:var(--chart-axis);stroke-width:1}
.chart .gridline{stroke:var(--grid);stroke-width:1}
.chart .zero{stroke:var(--chart-axis);stroke-width:1;stroke-dasharray:4 4}
.chart .point{stroke:var(--paper);stroke-width:1.5;cursor:pointer}
.chart .point:focus{outline:none;stroke:var(--ink);stroke-width:3}
.scatter-controls{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:12px;margin-bottom:12px}
.scatter-controls label{font-size:var(--type-xs);font-weight:600;color:var(--muted)}
.scatter-controls select{width:100%;min-width:0;min-height:40px;border:1px solid var(--line);border-radius:2px;background:var(--paper);padding:0 28px 0 12px;font-size:var(--type-sm)}
@media(max-width:767px){.scatter-controls{grid-template-columns:1fr}.scatter-controls select,.heat-selection button{min-height:44px}}
.chart-readout{font-size:var(--type-xs);color:var(--muted);min-height:24px;padding-top:4px}
.scatter-legend{display:flex;gap:12px;flex-wrap:wrap;font-size:var(--type-xs);color:var(--muted);margin-top:8px}
.caption-pair{display:flex;gap:16px;justify-content:space-between;align-items:baseline;margin-bottom:12px}
.caption-pair strong{font-weight:600}
.caption-pair span{font-size:var(--type-xs);color:var(--muted)}
.empty{min-height:160px;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:8px;border-block:1px solid var(--line);padding:24px 0;color:var(--muted);font-size:var(--type-sm)}
.empty strong{color:var(--ink);font-weight:600}
.loading{font-size:var(--type-sm);color:var(--muted);padding:24px 0;min-height:160px}
.loading progress{display:block;margin-top:12px;width:100%;height:4px;accent-color:var(--navy)}
.table-wrap{min-width:0}
.table-scroll{min-width:0;max-height:var(--table-max-height);overflow-y:auto;scrollbar-gutter:stable}
.table-scroll thead{position:sticky;top:0;z-index:1;background:var(--wash)}
table.data-table{width:100%;border-collapse:collapse;table-layout:auto;font-size:var(--type-body);line-height:1.6}
.data-table caption{text-align:start;font-size:var(--type-xs);color:var(--muted);padding-bottom:12px}
.data-table th,.data-table td{padding:8px 12px;border-bottom:1px solid var(--line);text-align:start;vertical-align:middle;overflow-wrap:anywhere}
.data-table th{font-weight:600;color:var(--muted);font-size:var(--type-xs);line-height:1.5;background:var(--wash);vertical-align:bottom}
.data-table th:first-child,.data-table td:first-child{padding-inline-start:12px}
.data-table th:last-child,.data-table td:last-child{padding-inline-end:12px}
.data-table .num{text-align:end;white-space:nowrap;font-variant-numeric:tabular-nums}
.data-table .cell-value{display:block;min-width:0}
.data-table .row-title{font-weight:600;color:var(--ink)}
.data-table .row-rank{width:44px;color:var(--muted);font-size:var(--type-xs)}
.data-table th button{min-height:36px;display:inline-flex;align-items:center;gap:4px;padding:4px 0;border:0;border-bottom:2px solid transparent;border-radius:0;font-weight:600;font-size:var(--type-xs);text-align:inherit;line-height:1.5;text-wrap:balance}
.data-table th[aria-sort=ascending] button,.data-table th[aria-sort=descending] button{color:var(--navy);border-bottom-color:var(--navy)}
.data-table th[aria-sort=ascending] button::after{content:'↑';flex:none}
.data-table th[aria-sort=descending] button::after{content:'↓';flex:none}
.data-table .ri-label{display:inline-block;min-width:44px;padding:4px 8px;text-align:center;font-size:var(--type-xs);font-weight:650;white-space:nowrap;line-height:1.5}
.data-table td[colspan]{padding:24px 12px;color:var(--muted);font-weight:400;white-space:normal}
.finance-table .country-col{max-width:148px;line-height:1.5}
.finance-table .year{font-size:var(--type-xs);white-space:nowrap;color:var(--muted)}
.finance-table .name-button{display:block;border:0;padding:4px 0;min-height:32px;font-size:var(--type-body);text-align:start;line-height:1.5;font-weight:600;text-wrap:pretty}
.finance-table td.num:not(.year){color:var(--navy);font-weight:550}
.table-help{display:block;margin:0 0 8px;font-size:var(--type-xs);color:var(--muted);line-height:1.6}
.table-scroll{border-block:1px solid var(--line);scroll-padding-block-start:64px}
.table-scroll .data-table tbody tr:last-child td{border-bottom:0}
.table-scroll .data-table th{background:var(--wash)}
.product-table .count-cell{width:32%}
.product-table th:first-child{width:56px;white-space:nowrap}
.sgg-table .count-cell{width:36%}
.complex-table th:first-child{width:88px}
.complex-table th:nth-child(3){width:132px}
.complex-table th:last-child{width:140px}
.complex-table .location-value,.complex-table .region-value{color:var(--muted);font-size:var(--type-sm)}
.count-cell .cell-value{font-weight:650;color:var(--navy)}
.count-track{display:block;height:4px;max-width:100%;width:96px;margin-block-start:4px;margin-inline-start:auto;background:var(--grid)}
.count-track .count-bar{display:block;height:100%;margin:0;background:var(--navy)}
.code-value .cell-value{font-variant-numeric:tabular-nums;font-weight:600;color:var(--navy)}
.method-value{font-size:var(--type-xs);color:var(--muted)}
.connection-table td{vertical-align:top}
.evidence-table th:first-child{width:16%}
.evidence-table th:nth-child(2){width:22%}
.evidence-table th:nth-child(3){width:23%}
.evidence-table th:nth-child(4){width:17%}
.evidence-table td{vertical-align:top;padding-block:16px}
.evidence-table .status{white-space:normal;font-weight:600}
.table-note{font-size:var(--type-xs);color:var(--muted);margin-top:8px}
.note-band{border-block:1px solid var(--line);padding:12px 0;margin-top:24px;font-size:var(--type-sm)}
.note-band strong{font-weight:600}
.trend-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-top:12px}
.series-legend{display:flex;gap:8px 16px;flex-wrap:wrap;font-size:var(--type-xs);color:var(--muted);margin:12px 0 0}
.series-legend .entry{display:flex;align-items:center;gap:6px}
.series-swatch{display:block;width:20px;border-top:2px solid var(--navy)}
.size-note{font-size:var(--type-xs);color:var(--muted);padding:8px 0;border-top:1px solid var(--line);margin-top:12px}
.search-row{display:flex;align-items:center;gap:12px;justify-content:space-between;margin-bottom:8px}
.search-row label{font-size:var(--type-xs);color:var(--muted);white-space:nowrap}
input[type=search]{width:min(100%,280px);min-width:0;border:1px solid var(--line);background:var(--paper);border-radius:2px;padding:8px 12px;min-height:40px;font-size:var(--type-sm)}
.complex-name{max-width:360px}
.count-bar{display:block;height:3px;background:var(--navy);margin-top:4px}
.connection-statement{font-size:var(--type-body);margin-bottom:16px;max-width:70ch}
.connection-statement strong{color:var(--navy);font-weight:650}
.evidence-table{font-size:var(--type-sm)}
.evidence-table .status{white-space:normal;font-weight:600}
.source-meta{display:block;font-size:var(--type-xs);color:var(--muted);font-weight:400;margin-top:2px}
.registry-foot{font-size:var(--type-xs);color:var(--muted);margin-top:12px;line-height:1.7}
.footer{margin-top:28px;border-top:1px solid var(--line);padding-top:12px;display:flex;justify-content:space-between;gap:20px;font-size:var(--type-xs);color:var(--muted)}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(hover:hover){button:not(:disabled):hover{background:var(--accent-hover);color:var(--ink)}.primary:not(:disabled):hover{background:var(--accent-strong-hover);color:var(--white)}.region-row:hover{background:var(--wash)}.heat-cell:hover{outline:2px solid var(--navy);outline-offset:-2px}.province:hover{stroke:var(--ink);stroke-width:2}.data-table .name-button:hover,.heat-table .country-button:hover{color:var(--navy);text-decoration:underline}}
@media(min-width:1440px){.page{padding-inline:48px}.grid12{column-gap:36px}.primary-grid{column-gap:40px}}
@media(max-width:1199px){.page{padding-inline:24px}.grid12{column-gap:24px}.map-layout{grid-template-columns:minmax(0,1fr) minmax(148px,.4fr);gap:12px}.heat-table th:first-child{width:84px}.filters{grid-template-columns:1fr 2fr 1.1fr .8fr auto auto;gap:8px}.filters button{padding-inline:12px}.comparison-grid>.span7,.comparison-grid>.span5{grid-column:span 6}}
@media(max-width:1023px){.filters{grid-template-columns:1fr 2fr 1fr 1fr}.filters button{grid-column:span 2}.primary-grid>.span5,.primary-grid>.span7{grid-column:span 6}.map-layout{grid-template-columns:1fr}.map svg{max-width:none;margin:auto;aspect-ratio:auto}.region-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 12px}.region-row{grid-template-columns:32px minmax(0,1fr) 46px;gap:4px}.heat-table th:first-child{width:76px}.heat-table .country-name{font-size:12px}.heat-table th{padding-inline:1px}.heat-table .industry-button{font-size:12px}.composition-legend{grid-template-columns:repeat(2,minmax(0,1fr))}.trend-section,.size-section{grid-column:span 6}.trend-grid{grid-template-columns:1fr;gap:16px}.connection-section{grid-column:span 8}.sgg-section{grid-column:span 4}}
@media(max-width:767px){.page{padding:20px 16px 24px}.masthead{display:block;margin-bottom:16px}h1{font-size:26px;letter-spacing:-.8px}.dates{gap:2px 12px;margin-top:8px}.filters{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 8px}.filters .industry-field{grid-column:span 2;grid-row:1}.filters button{grid-column:span 1;min-height:44px}.filters select{height:44px}.scope{align-items:flex-start}.scope .scope-helper{display:none}.stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 0;padding-bottom:20px;margin-top:4px}.stats .od-stat{padding-inline:16px}.stats .od-stat:nth-child(odd){padding-left:0;border:0}.stats dd{font-size:28px}.grid12{grid-template-columns:minmax(0,1fr);gap:24px}.grid12>[class*=span]{grid-column:1}.section-head{margin-bottom:12px}.map-layout{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px}.map svg{aspect-ratio:auto}.region-list{grid-template-columns:1fr}.region-row{min-height:24px;grid-template-columns:36px minmax(0,1fr) 48px}.composition-legend{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.heat-table th:first-child{width:88px}.heat-table .industry-button,.heat-table .country-name{font-size:12px}.heat-table .industry-button{min-height:44px}.heat-table .heat-cell{min-height:28px}.heat-table .country-button{min-height:28px;font-size:12px}.heat-table td{padding-block:3px}.risk-key{gap:6px}.risk-key .grade{padding-inline:7px}.mini-head{align-items:flex-start}.mini-head span{max-width:150px;text-align:right}.section-gap{margin-top:24px}.trend-grid{grid-template-columns:1fr}.source{font-size:12px}.table-note{line-height:1.7}.search-row{gap:8px}.caption-pair{display:block}.caption-pair span{display:block;margin-top:4px}.footer{display:block}.footer span{display:block;margin-top:4px}.stats .stat-unit{font-size:13px}}
@media(max-width:374px){.page{padding-inline:12px}.map-layout{grid-template-columns:1fr}.map svg{max-width:none}.region-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 12px}.composition-legend{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(prefers-reduced-motion:reduce){html:not([data-motion=on]) *{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
html[data-motion=off] *{animation:none!important;transition:none!important}

@media(max-width:767px){.map-layout{grid-template-columns:1fr}.map svg{max-width:none;aspect-ratio:auto}.region-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 12px}.region-row{min-height:44px}.heat-table+.heat-table{margin-top:20px}.heat-table .heat-cell,.heat-table .country-button{min-height:44px}.heat-table td{padding:4px}.filters .year-field{grid-column:span 2}.heat-table th:first-child{width:88px}}
.heat-table .country-button{text-wrap:balance;word-break:normal}
@media(max-width:1023px){.map svg{aspect-ratio:auto}}
@media(max-width:767px){.data-table th button{min-height:44px}}


/* Tables share the dashboard's editorial rhythm and adapt by the meaning of each record. */
@media(hover:hover){.data-table tbody tr:hover{background:var(--wash)}.data-table th button:hover{background:transparent;color:var(--navy)}}
@media(max-width:1023px){.details-grid>[class*=span]{grid-column:1/-1}.details-grid{row-gap:32px}}
@media(max-width:767px){
  table.data-table{font-size:var(--type-body)}
  .data-table th,.data-table td{padding:12px 12px}
  .table-help{margin-bottom:12px;max-width:42ch}
  .table-scroll{scroll-padding-block-start:112px}
  .search-row{align-items:stretch;flex-direction:column;gap:8px;margin-bottom:12px}
  .search-row label{font-size:var(--type-sm);font-weight:600;color:var(--ink)}
  .search-row input[type=search]{width:100%;min-height:44px}
  .responsive-table,.responsive-table thead,.responsive-table tbody{display:block;width:100%}
  .responsive-table thead tr{display:flex;flex-wrap:wrap;gap:0 12px;padding:4px 12px;border-bottom:1px solid var(--line);background:var(--wash)}
  .responsive-table thead th{display:block;width:auto!important;border:0;padding:0!important;font-size:var(--type-xs)}
  .responsive-table thead th button{min-height:44px;padding:8px 0;text-align:start}
  .responsive-table tbody tr{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px 16px;border-bottom:1px solid var(--line);padding:16px 12px}
  .responsive-table tbody tr:last-child{border-bottom:0}
  .responsive-table tbody td{display:block;border:0;padding:0!important;min-width:0;text-align:start;white-space:normal}
  .responsive-table tbody td::before{content:attr(data-label);display:block;margin-bottom:4px;color:var(--muted);font-size:var(--type-xs);font-weight:400;line-height:1.5;white-space:normal}
  .responsive-table tbody td .cell-value{font-size:var(--type-body);line-height:1.6}
  .responsive-table tbody td.num{white-space:nowrap;text-align:start}
  .responsive-table tbody td.num .cell-value{font-size:var(--type-value);color:var(--navy)}
  .responsive-table tbody td[colspan]{grid-column:1/-1;padding:8px 0!important;white-space:normal}
  .finance-table{font-size:var(--type-body)!important}
  .finance-table tbody td.country-col{grid-column:span 2;max-width:none;align-self:center}
  .finance-table tbody td.wide-value{grid-column:span 2}
  .finance-table tbody td.country-col::before{display:none}
  .finance-table .name-button{font-size:var(--type-value);min-height:44px;padding:0;line-height:1.5}
  .finance-table tbody td:nth-child(2){text-align:end}
  .finance-table tbody td.year{grid-column:1/-1;display:flex;align-items:baseline;justify-content:flex-end;gap:8px;border-top:1px solid var(--grid);padding-top:8px!important}
  .finance-table tbody td.year::before{margin:0}
  .finance-table tbody td.year .cell-value{font-size:var(--type-xs);font-weight:400;color:var(--muted)}
  .complex-table tbody tr{grid-template-columns:minmax(0,1fr) 108px;gap:8px 16px}
  .complex-table tbody td.complex-name{grid-column:1/-1;grid-row:1;max-width:none;margin-bottom:4px}
  .complex-table tbody td.complex-name::before{display:none}
  .complex-table tbody td.complex-name .cell-value{font-size:var(--type-value);font-weight:650;line-height:1.5}
  .complex-table tbody td.region-value{grid-column:1;grid-row:2}
  .complex-table tbody td.location-value{grid-column:1;grid-row:3}
  .complex-table tbody td.region-value,.complex-table tbody td.location-value{display:flex;align-items:baseline;gap:8px}
  .complex-table tbody td.region-value::before,.complex-table tbody td.location-value::before{flex:none;width:28px;margin:0}
  .complex-table tbody td.location-value::before{content:'입지'}
  .complex-table tbody td.region-value .cell-value,.complex-table tbody td.location-value .cell-value{font-size:var(--type-sm);font-weight:400;color:var(--muted)}
  .complex-table tbody td.count-cell{grid-column:2;grid-row:2/span 2;text-align:end;align-self:center}
  .complex-table tbody td.count-cell .cell-value{font-size:var(--type-count);font-weight:650;line-height:1.4}
  .complex-table .count-track{width:100%;margin-top:8px}
  .record-table thead{position:absolute!important;width:1px!important;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
  .record-table tbody td.row-title{grid-column:1/-1}
  .record-table tbody td.row-title::before{display:none}
  .record-table tbody td.row-title .cell-value{font-size:var(--type-value);font-weight:650;color:var(--navy)}
  .size-table tbody tr{padding-inline:0;gap:12px}
  .size-table tbody td.num .cell-value{font-weight:600}
  .crosswalk-table tbody tr{grid-template-columns:repeat(2,minmax(0,1fr))}
  .crosswalk-table tbody td.code-value .cell-value{font-size:var(--type-heading)}
  .crosswalk-table tbody td.method-value{grid-column:1/-1;display:flex;gap:12px;align-items:baseline;border-top:1px solid var(--grid);padding-top:8px!important}
  .crosswalk-table tbody td.method-value::before{flex:none;margin:0}
  .crosswalk-table tbody td.method-value .cell-value{font-size:var(--type-xs);color:var(--muted)}
  .connection-table tbody tr,.evidence-table tbody tr{grid-template-columns:1fr;gap:12px;padding-inline:0}
  .connection-table tbody td,.evidence-table tbody td:not(.row-title){display:grid;grid-template-columns:80px minmax(0,1fr);gap:12px;align-items:baseline}
  .connection-table tbody td::before,.evidence-table tbody td::before{margin:0}
  .connection-table tbody td{font-size:var(--type-body)}
  .evidence-table tbody td:first-child,.evidence-table tbody td:last-child{grid-column:1}
  .evidence-table .status{white-space:normal}
  .product-table .row-rank{width:40px}
  .product-table .count-cell{width:34%}
  .product-table .count-track,.sgg-table .count-track{width:80px}
}

@media(max-width:1100px){.comparison-grid>.span7,.comparison-grid>.span5,.trend-section,.size-section{grid-column:1/-1}}
@media(min-width:768px) and (max-width:1023px){.trend-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

@media(max-width:767px){.brand-mark{inline-size:220px;max-inline-size:100%;margin-block-start:16px;margin-inline-start:auto}}

/* Data marks respond individually; the encoded lengths and values stay unchanged. */
.heat-table .heat-cell.ri1{--heat-bg:var(--ri1);--heat-fg:var(--ri1-ink)}
.heat-table .heat-cell.ri2{--heat-bg:var(--ri2);--heat-fg:var(--ri2-ink)}
.heat-table .heat-cell.ri3{--heat-bg:var(--ri3);--heat-fg:var(--ri3-ink)}
.heat-table .heat-cell.ri4{--heat-bg:var(--ri4);--heat-fg:var(--ri4-ink)}
.heat-table .heat-cell.ri5{--heat-bg:var(--ri5);--heat-fg:var(--accent-on)}
.heat-table .heat-cell.ri-missing{--heat-bg:var(--wash);--heat-fg:var(--muted)}
@media(hover:hover){.heat-table button.heat-cell:hover{background:var(--heat-bg);color:var(--heat-fg)}}
html[data-motion=on] :is(.map .province,.heat-table .heat-cell,.stacked-bar>span,.chart svg rect[tabindex],.chart svg circle[tabindex],.region-row .bar-fill,.count-track .count-bar){transition:transform var(--motion-fast) var(--motion-ease)}
.map .province{transform-box:fill-box;transform-origin:center}
html[data-motion=on] .map .province:focus-visible{transform:scale(1.025)}
html[data-motion=on] .heat-table .heat-cell:focus-visible{transform:translateY(-2px) scale(1.03);position:relative;z-index:2}
html[data-motion=on] .chart svg rect[tabindex]:focus-visible{transform:translateY(-1px) scaleY(1.18)}
html[data-motion=on] .chart svg circle[tabindex]:focus-visible{transform:scale(1.5)}
html[data-motion=on] .region-row:focus-visible .bar-fill{transform:scaleY(1.6)}
@media(hover:hover){
  html[data-motion=on] .map .province:hover{transform:scale(1.025)}
  html[data-motion=on] .heat-table .heat-cell:hover{transform:translateY(-2px) scale(1.03);position:relative;z-index:2}
  html[data-motion=on] .stacked-bar>span:hover{transform:scaleY(1.6)}
  html[data-motion=on] .chart svg rect[tabindex]:hover{transform:translateY(-1px) scaleY(1.18)}
  html[data-motion=on] .chart svg circle[tabindex]:hover{transform:scale(1.5)}
  html[data-motion=on] :is(.region-row:hover .bar-fill,.count-track:hover .count-bar){transform:scaleY(1.6)}
}
/* Playback is owned by motion.js, after data rendering or viewport entry. */
.story-industry-fill,.story-signal-fill,.region-row .bar-fill,.stacked-bar>span,.count-bar{transform-origin:left center}
.chart svg rect.chart-fill-positive,.chart svg rect.chart-fill-negative,.chart .trend-reveal,.chart svg circle[tabindex]{transform-box:fill-box}
.chart svg rect.chart-fill-positive,.chart .trend-reveal{transform-origin:left center}
.chart svg rect.chart-fill-negative{transform-origin:right center}
.chart svg circle[tabindex]{transform-origin:center}
html[data-motion=on] :is(.filters button,.heat-selection button,.footer button,.story-industry-row,.motion-setting button){transition:transform var(--motion-fast) var(--motion-ease)}
html[data-motion=on] :is(.filters button:active:not(:disabled),.heat-selection button:active,.footer button:active,.story-industry-row:active,.motion-setting button:active){transform:translateY(1px)}

/* Analytical hierarchy: overview, industry profile, country comparison, change, local detail. */
.primary-grid{margin-top:0}
.risk-summary{margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid var(--line)}
.risk-summary h3{font-size:var(--type-value);line-height:1.5}
.risk-summary .story-signals{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;padding-top:12px}
.risk-summary .story-country{grid-column:1/-1}
.risk-summary .story-signal-value{font-size:clamp(16px,1.4vw,20px)}
.analysis-reading{font-size:var(--type-body);line-height:1.7;margin:0 0 20px;max-width:100ch}
.industry-guide{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;font-size:var(--type-xs);color:var(--muted);margin-bottom:12px}
.rank-scroll{max-height:460px;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable;min-width:0}
.industry-scroll{max-height:480px;border-bottom:1px solid var(--line)}
.industry-axis,.industry-item{display:grid;grid-template-columns:minmax(0,2.2fr) minmax(0,1.7fr) minmax(0,1.1fr) minmax(0,1.6fr);gap:24px;align-items:center;padding:12px 16px}
.industry-axis{background:var(--wash);font-size:var(--type-xs);font-weight:600;color:var(--muted);margin-inline-end:16px}
.industry-ranking,.rank-list,.dot-list,.crosswalk-map{list-style:none;padding:0;margin:0}
.industry-item{min-height:84px;border-bottom:1px solid var(--grid)}
.industry-item:last-child{border:0}
.industry-item.is-selected{background:var(--wash)}
.industry-choice{display:flex;align-items:baseline;gap:12px;min-width:0;width:100%;min-height:44px;border:0;border-radius:0;padding:4px 0;text-align:start;font-size:var(--type-body);line-height:1.5;font-weight:500}
.industry-choice[aria-pressed=true]{color:var(--navy);font-weight:750}
.industry-code{display:block;flex:none;font-size:var(--type-xs);color:var(--muted);font-variant-numeric:tabular-nums}
.industry-name{display:block;min-width:0;overflow-wrap:anywhere}
.industry-volume,.industry-concentration,.industry-overseas{display:grid;gap:4px;min-width:0}
.metric-value{display:block;font-size:var(--type-value);font-weight:650;color:var(--navy);white-space:nowrap}
.metric-caption{display:block;font-size:var(--type-xs);line-height:1.6;color:var(--muted)}
.industry-overseas{font-size:var(--type-sm)}
.industry-risk{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.industry-risk .ri-label{display:block;padding:2px 8px;font-size:var(--type-xs);font-weight:650;white-space:nowrap}
.rank-track{display:block;height:8px;background:var(--grid);width:100%;margin-top:4px}
.rank-fill{display:block;height:100%;background:var(--navy);transform-origin:left center}
.concentration-plot,.rank-plot,.dot-plot{display:block;inline-size:100%;block-size:auto}
.distribution-track{stroke:var(--line);stroke-width:2}
.distribution-baseline{stroke:var(--muted);stroke-width:1;stroke-dasharray:2 2}
.distribution-stem{stroke:var(--navy);stroke-width:2}
.metric-dot{fill:var(--navy);stroke:var(--paper);stroke-width:1;transform-box:fill-box;transform-origin:center}
.industry-concentration .concentration-plot{max-inline-size:200px}
.trend-section,.size-section{grid-column:1/-1!important}
.trend-grid{column-gap:48px}
.trend-section .source{margin-top:8px}
.size-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px;margin-top:24px}
.size-metrics>div{min-width:0}
.metric-description{font-size:var(--type-xs);color:var(--muted);margin-top:4px}
.dot-list{display:grid;gap:16px;margin-top:20px}
.dot-row-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;font-size:var(--type-sm)}
.dot-row-head strong{font-size:var(--type-value);font-weight:650;color:var(--navy);white-space:nowrap}
.dot-scale{display:flex;justify-content:space-between;gap:8px;font-size:var(--type-xs);color:var(--muted);margin-top:8px}
.dot-scale span{display:block;white-space:nowrap}
.size-note{margin-top:0;color:var(--muted);font-size:var(--type-sm)}
.rank-list{padding-inline-end:12px}
.rank-item{padding:12px 0}
.rank-item-head{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:4px}
.rank-name{display:flex;gap:12px;align-items:baseline;min-width:0;font-size:var(--type-body)}
.rank-name>span{display:block;min-width:0}
.rank-name .rank-index{flex:none;font-size:var(--type-xs);color:var(--muted);min-width:20px}
.rank-value{display:block;white-space:nowrap;font-size:var(--type-value);font-weight:650;color:var(--navy)}
.rank-empty{padding:24px 0;color:var(--muted);font-size:var(--type-sm)}
.district-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:32px}
.rank-tools{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:12px}
.sort-field{display:flex;align-items:center;gap:8px}
.sort-field label{font-size:var(--type-xs);color:var(--muted)}
.sort-field select{min-height:44px;max-width:100%;padding:4px 24px 4px 12px;border:1px solid var(--line);background:var(--paper);border-radius:2px;font-size:var(--type-sm)}
.directory-section .section-head{margin-bottom:8px}
.directory-section .search-row{max-width:560px}
.evidence-section .story-flow{margin-block:20px;border-block:0;padding-block:0}
.evidence-section .connection-statement{font-size:var(--type-body);max-width:110ch;line-height:1.7}
.crosswalk-heading{display:flex;align-items:baseline;gap:16px;flex-wrap:wrap;margin-top:24px}
.crosswalk-map{display:flex;gap:20px 40px;flex-wrap:wrap;margin:16px 0}
.crosswalk-map li{display:grid;gap:4px;font-size:var(--type-sm)}
.crosswalk-map strong{font-weight:600}
.crosswalk-codes{display:flex;gap:8px;align-items:center;color:var(--navy);font-size:var(--type-value);font-variant-numeric:tabular-nums}
.crosswalk-codes>span{display:block;white-space:nowrap}
.crosswalk-arrow{color:var(--muted)}
.evidence-section .evidence-table{margin-top:24px}
@media(hover:hover){.industry-choice:hover{background:transparent!important;color:var(--navy)!important;text-decoration:underline;text-underline-offset:4px}}
@media(max-width:1199px){.industry-axis,.industry-item{gap:16px;grid-template-columns:minmax(0,2fr) minmax(0,1.5fr) minmax(0,1fr) minmax(0,1.5fr)}.district-list{grid-template-columns:1fr}.size-metrics{gap:24px}}
@media(max-width:1023px){.primary-grid>.span5,.primary-grid>.span7{grid-column:1/-1}.map-layout{grid-template-columns:minmax(0,1fr) minmax(180px,.55fr)}.region-list{grid-template-columns:1fr}.industry-axis{display:none}.industry-item{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) minmax(0,1fr)}.industry-overseas{grid-column:2/-1;display:flex;justify-content:space-between;gap:16px}.size-metrics{gap:20px}.local-profile>.span5,.local-profile>.span7{grid-column:1/-1}.district-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:767px){.size-metrics{grid-template-columns:1fr}.size-metrics>div{border-bottom:1px solid var(--line);padding-bottom:24px}.size-metrics>div:last-child{border:0;padding-bottom:0}.risk-summary .story-signals{grid-template-columns:1fr;gap:16px}.risk-summary .story-country{grid-template-columns:1fr}.map-layout{grid-template-columns:1fr}.region-list{grid-template-columns:repeat(2,minmax(0,1fr))}.industry-item{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 20px;padding:16px 8px}.industry-choice{grid-column:1/-1}.industry-overseas{grid-column:1/-1;display:grid;gap:4px}.industry-volume .metric-value,.industry-concentration .metric-value{font-size:18px}.industry-concentration .metric-caption{font-size:12px}.industry-guide{display:grid;gap:4px}.industry-scroll{max-height:480px}.trend-grid{grid-template-columns:1fr;gap:32px}.dot-list{grid-template-columns:1fr;gap:16px}.dot-row-head{flex-wrap:nowrap}.district-list{grid-template-columns:1fr}.rank-tools{align-items:flex-start}.rank-item-head{gap:8px}.rank-name{gap:8px}.rank-value{font-size:14px}.crosswalk-map{column-gap:24px}.evidence-section .story-flow{gap:8px}}

/* Purpose and title-based navigation stay in normal document flow. */
.masthead>div:first-child{min-width:0}
.purpose{max-width:72ch;font-size:var(--type-value);line-height:1.65;color:var(--ink);margin-top:8px}
.reading-guide{max-width:88ch;font-size:var(--type-sm);line-height:1.65;color:var(--muted);margin-top:4px}
.analysis-toc{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:16px;border-top:1px solid var(--line);padding-block:8px;margin-bottom:8px}
.toc-title{font-size:var(--type-sm);font-weight:700;color:var(--navy);padding-block:6px;white-space:nowrap}
.toc-links{display:flex;flex-wrap:wrap;gap:0 20px;list-style:none;margin:0;padding:0;min-width:0}
.toc-links li{display:block;min-width:0;max-width:100%}
.toc-links a{display:flex;align-items:center;min-height:32px;padding-block:4px;color:var(--ink);font-size:var(--type-sm);line-height:1.6;text-decoration:underline;text-decoration-color:var(--line);text-underline-offset:4px;overflow-wrap:anywhere}
.section-head h2{scroll-margin-block-start:24px}
@media(hover:hover){.toc-links a:hover{color:var(--navy);text-decoration-color:var(--navy)}}
@media(max-width:767px){.analysis-toc{grid-template-columns:1fr;gap:4px;padding-block:12px}.toc-title{padding:0}.toc-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 16px}.toc-links a{min-height:44px;font-size:var(--type-sm);align-items:center}.purpose{font-size:var(--type-value)}.section-head h2{scroll-margin-block-start:16px}}

/* Map-first landing: real projected geometry is the dominant first-screen content. */
:root{--map-stage-height:640px;--map-panel-width:248px;--map-landing-gap:32px;--map-label-size:16px;--map-total-size:clamp(48px,5vw,64px);--map-total-label-size:16px;--map-total-unit-size:20px}
.masthead{align-items:center;margin-bottom:16px}
.masthead h1{font-size:18px;letter-spacing:-.4px;line-height:1.4}
.masthead .dates{margin-top:8px}
.masthead .brand-mark{inline-size:240px;max-inline-size:32%;margin-block-start:0}
.landing-hero.map-landing{display:block;border-top:1px solid var(--ink);padding-block:20px 24px;margin-bottom:8px}
.map-intro{display:grid;grid-template-columns:max-content minmax(0,1fr);align-items:end;gap:16px 40px;margin-bottom:16px}
.map-intro h2{font-size:32px;font-weight:750;line-height:1.25;letter-spacing:-.8px;scroll-margin-top:24px}
.map-intro p{font-size:15px;line-height:1.65;color:var(--muted);margin-top:8px}
.map-intro .map-national-reference{display:grid;gap:8px;margin:0;text-align:start;color:var(--ink)}
.map-national-reference .map-total-label{display:block;font-size:var(--map-total-label-size);font-weight:600;line-height:1.5}
.map-intro-copy{min-width:0;max-width:48ch;padding-bottom:4px}
.map-national-reference strong{display:flex;align-items:baseline;gap:8px;font-size:var(--map-total-size);font-weight:750;line-height:1.1;color:var(--navy);white-space:nowrap;font-variant-numeric:tabular-nums;letter-spacing:-1.5px}
.map-national-reference strong>span{display:block}
.map-national-reference .map-total-unit{font-size:var(--map-total-unit-size);font-weight:600;letter-spacing:0}
.map-stage{display:grid;grid-template-columns:minmax(0,1fr) var(--map-panel-width);gap:var(--map-landing-gap);align-items:center}
.map-landing .hero-map{display:block;width:100%;max-width:1040px;min-width:0;margin:0;justify-self:center}
.map-landing .map{display:block;width:100%;height:var(--map-stage-height);min-width:0}
.map-landing .map svg{display:block;width:100%;height:100%;max-width:none;aspect-ratio:auto}
.map-landing .map .province{stroke-width:1.25}
.map-landing .map .province.selected{stroke:var(--focus);stroke-width:3}
.map-landing .map text.map-place-name{font-family:var(--font);font-size:var(--map-label-size);font-weight:650;fill:var(--ink);stroke:var(--paper);stroke-width:4px;paint-order:stroke;stroke-linejoin:round;pointer-events:none}
.map-landing .map text.map-place-name.selected{fill:var(--focus);font-weight:750}
.map-label{cursor:pointer}
.map-label-hit{pointer-events:all}
.map-label-leader{stroke:var(--muted);stroke-width:1;pointer-events:none}
.map-caption{display:flex;justify-content:center;align-items:center;gap:16px;flex-wrap:wrap;margin-top:8px;font-size:13px;color:var(--muted)}
.map-caption .map-scale{margin:0;font-size:13px;gap:6px}
.hero-map-source{font-size:13px;line-height:1.5;color:var(--muted)}
.map-selection{min-width:0;border-inline-start:1px solid var(--line);padding-inline-start:24px;align-self:center}
.map-panel-label{font-size:14px;color:var(--muted);line-height:1.5}
.map-selection h3{font-size:28px;font-weight:700;line-height:1.3;color:var(--navy);margin:8px 0 12px}
#map-selection-hint{font-size:15px;color:var(--muted);line-height:1.7}
.map-selected-detail{margin-top:24px}
.map-selected-detail[hidden],.map-reset[hidden]{display:none}
.map-selected-number{display:flex;align-items:baseline;gap:8px;margin-top:4px;white-space:nowrap;font-variant-numeric:tabular-nums}
.map-selected-number strong{display:block;font-size:40px;line-height:1.2;color:var(--navy);font-weight:750;letter-spacing:-1px}
.map-selected-number>span{display:block;font-size:16px}
.map-selected-complex{font-size:14px;line-height:1.6;margin-top:12px;white-space:nowrap}
.map-selected-complex strong{font-weight:650;color:var(--navy);margin-inline-start:4px}
.map-selection .map-readout{min-height:72px;border-block:1px solid var(--line);padding-block:12px;margin-top:24px;font-size:14px;line-height:1.7;color:var(--ink)}
.hero-action{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:48px;margin-top:20px;padding:12px 16px;background:var(--navy);color:var(--white);font-size:15px;font-weight:650;line-height:1.5;text-decoration:none;border-radius:2px}
.hero-action>span{display:block}
.hero-action>span:last-child{flex:none;font-size:20px;line-height:1}
.map-reset{display:block;min-height:44px;width:100%;margin-top:8px;font-size:14px;font-weight:500}
.map-selection .hero-reference{font-size:12px;line-height:1.6;color:var(--muted);margin-top:16px}
#analysis-filters{scroll-margin-block-start:24px}
.domestic-breakdown .domestic-guide{margin-bottom:12px}
.domestic-breakdown .region-list{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:20px}
.domestic-breakdown .region-row{min-height:32px}
@media(hover:hover){.hero-action:hover{background:var(--accent-strong-hover);color:var(--white)}.map-label:hover .map-place-name{fill:var(--focus)}}
@media(max-width:1199px){:root{--map-panel-width:232px;--map-landing-gap:24px}.map-selection{padding-inline-start:20px}}
@media(max-width:900px){:root{--map-stage-height:640px}.map-stage{grid-template-columns:1fr;gap:20px}.map-landing .hero-map{max-width:760px}.map-selection{border-inline-start:0;border-top:1px solid var(--line);padding:20px 0 0;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px 24px;align-items:start}.map-selection h3,.map-selection .map-panel-label,#map-selection-hint,.map-selection .map-readout{grid-column:1}.map-selected-detail{grid-column:2;grid-row:1/span 3;margin-top:0}.map-selection .map-readout{margin-top:8px;min-height:48px}.map-selection .hero-action{grid-column:2;grid-row:4;margin-top:8px}.map-selection .map-reset{grid-column:2;grid-row:5;margin-top:0}.map-selection .hero-reference{grid-column:1/-1;margin-top:4px}}
@media(max-width:767px){:root{--map-stage-height:520px}.masthead{display:flex;align-items:flex-start;flex-wrap:wrap;gap:12px}.masthead h1{font-size:16px}.masthead .brand-mark{inline-size:200px;max-inline-size:100%;margin-inline-start:0}.map-intro{grid-template-columns:1fr;gap:16px;margin-bottom:16px}.map-intro h2{font-size:28px}.map-intro p{font-size:15px}.map-intro .map-national-reference{margin:0;gap:4px}.map-intro-copy{padding-bottom:0}.map-stage{gap:16px}.map-landing .hero-map{max-width:none}.map-caption{justify-content:flex-start;gap:8px 16px;margin-top:4px}.map-caption .map-scale,.hero-map-source{font-size:12px}.map-selection{grid-template-columns:1fr;gap:0;padding-top:16px}.map-selection>*{grid-column:1!important;grid-row:auto!important}.map-selection h3{font-size:26px;margin:4px 0 8px}.map-selected-detail{margin-top:16px}.map-selected-number strong{font-size:36px}.map-selection .map-readout{margin-top:16px}.map-selection .hero-action{margin-top:16px}.map-selection .map-reset{margin-top:8px}.map-selection .hero-reference{margin-top:12px}.domestic-breakdown .region-list{column-gap:12px}.domestic-breakdown .region-row{min-height:44px}}

/* The three lower comparisons use separate reading structures and a readable type scale. */
.size-section,.local-profile{--type-body:16px;--type-label:18px;--type-heading:24px;--type-xs:14px;--type-sm:15px;--type-value:22px;--type-plot-label:16px;--type-plot-tick:14px;--type-plot-value:20px}
.size-section .section-head h2,.local-profile .section-head h2{font-size:var(--type-heading);line-height:1.4;letter-spacing:-.5px}
.size-section .sub,.local-profile .sub{font-size:14px;line-height:1.6;color:var(--muted)}
.size-section .source,.local-profile .source,.size-section .table-note{font-size:14px;line-height:1.65;max-width:100ch}
.size-section .size-note{font-size:16px;line-height:1.65;max-width:80ch}
.size-section .size-metrics{gap:32px;margin-top:28px}
.size-section .size-metrics h3{font-size:18px;line-height:1.5;font-weight:700}
.size-section .metric-description{font-size:14px;margin-top:4px;line-height:1.6}
.column-comparison{min-width:0;margin-top:16px}
.columns-plot{display:block;width:100%;height:auto;overflow:visible}
.columns-plot text{font-family:var(--font);font-variant-numeric:tabular-nums}
.column-tick{font-size:var(--type-plot-tick);fill:var(--muted)}
.column-category{font-size:var(--type-plot-label);font-weight:600;fill:var(--ink)}
.column-value{font-size:var(--type-plot-value);font-weight:700;fill:var(--navy)}
.column-value.is-missing{font-size:var(--type-plot-label);font-weight:500;fill:var(--muted)}
.column-grid{stroke:var(--grid);stroke-width:1}
.column-zero{stroke:var(--muted);stroke-width:1.5}
.size-column{fill:var(--navy);transform-box:fill-box;transform-origin:center bottom}
.size-column.is-negative{fill:var(--paper);stroke:var(--navy);stroke-width:2;transform-origin:center top}
.column-missing{padding:16px 0;margin:0;list-style:none;display:grid;gap:12px;font-size:16px}
.local-profile{display:block}
.product-plot{margin-top:20px}
.product-ranking{list-style:none;padding:0;margin:0}
.product-item{display:grid;grid-template-columns:32px minmax(180px,.8fr) minmax(0,2fr) 116px;gap:16px;align-items:center;min-height:44px;padding-block:8px}
.product-item .rank-index{font-size:14px;color:var(--muted);font-variant-numeric:tabular-nums}
.product-name{display:block;font-size:16px;line-height:1.5;color:var(--ink);overflow-wrap:anywhere}
.product-bar-track{display:block;min-width:0;min-height:12px;border-inline-start:1px solid var(--line)}
.product-bar-track .rank-fill{height:12px;min-width:0;background:var(--navy)}
.product-value{display:block;text-align:end;font-size:22px;font-weight:650;white-space:nowrap;color:var(--navy);line-height:1.4}
.sgg-section .rank-tools{margin-bottom:16px}
.sgg-section .rank-tools .sub{font-size:16px;color:var(--ink)}
.sgg-section .sort-field label{font-size:14px}
.sgg-section .sort-field select{font-size:16px}
.sgg-section .rank-scroll{max-height:480px;border-block:1px solid var(--line)}
.sgg-section .district-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 32px;padding:0 12px 0 0;list-style:none;margin:0}
.district-item{display:grid;grid-template-columns:32px minmax(0,1fr) auto;align-items:center;gap:12px;min-height:64px;padding-block:12px;border-bottom:1px solid var(--grid)}
.district-order{display:block;font-size:14px;color:var(--muted);font-variant-numeric:tabular-nums}
.district-name{display:block;font-size:16px;line-height:1.5;color:var(--ink);overflow-wrap:anywhere}
.district-value{display:block;font-size:22px;font-weight:650;color:var(--navy);white-space:nowrap;line-height:1.4}
@media(max-width:1199px){.size-section .size-metrics{grid-template-columns:1fr;gap:32px}.column-comparison{max-width:720px}.size-section .size-metrics>div{border-bottom:1px solid var(--line);padding-bottom:24px}.size-section .size-metrics>div:last-child{border-bottom:0;padding-bottom:0}.sgg-section .district-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 24px}}
@media(max-width:767px){.product-item{grid-template-columns:24px minmax(0,1fr) auto;gap:4px 12px;min-height:64px;padding-block:12px}.product-name{grid-column:2;grid-row:1}.product-value{grid-column:3;grid-row:1;font-size:20px}.product-bar-track{grid-column:2/-1;grid-row:2;margin-top:4px}.product-item .rank-index{grid-column:1;grid-row:1}.sgg-section .district-list{grid-template-columns:1fr;padding-inline-end:8px}.district-item{grid-template-columns:28px minmax(0,1fr) auto;gap:8px;min-height:64px}.district-value{font-size:20px}.size-section .size-metrics{margin-top:24px}.size-section .section-head,.local-profile .section-head{gap:12px}.size-section .section-head .index,.local-profile .section-head .index{font-size:12px}}

/* Compact reference lists and one readable source register. */
.support-details,.reference-support{
  --support-height:320px;--support-gap:24px;
  --type-heading:20px;--type-body:16px;--type-label:16px;
  --type-sm:14px;--type-xs:14px;--type-value:18px;--type-count:18px;
  --table-max-height:var(--support-height);
}
.support-details{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,3fr) minmax(0,5fr);gap:var(--support-gap);align-items:start}
.support-details>section{min-width:0;grid-column:auto}
.support-details .section-head{display:block}
.support-details .support-headerbar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;min-height:44px;margin-top:8px}
.support-details .support-headerbar>.sub{margin:0;flex:none}
.support-details .section-head,.reference-support .section-head{margin-bottom:12px}
.support-details .section-head h2,.reference-support .section-head h2{font-size:var(--type-heading);line-height:1.4}
.support-details .sub,.support-details .source,.reference-support .sub{font-size:var(--type-xs);line-height:1.6}
.support-details .sort-field select{font-size:var(--type-sm)}
.support-details .rank-scroll,.support-details .table-scroll{max-height:var(--support-height);overflow-y:auto;scrollbar-gutter:stable}
.support-details .product-plot{margin-top:12px;border-block:1px solid var(--line)}
.support-details .product-item,.support-details .district-item{display:grid;grid-template-columns:24px minmax(0,1fr) auto;gap:8px;min-height:48px;padding-block:8px;border-bottom:1px solid var(--grid)}
.support-details .product-item>*{grid-column:auto;grid-row:auto}
.support-details .product-name{font-size:var(--type-body);line-height:1.5}
.support-details .product-value,.support-details .district-value{font-size:var(--type-value);line-height:1.4}
.support-details .product-ranking,.support-details .district-list{grid-template-columns:1fr;gap:0;padding-inline-end:8px}
.support-details .support-headerbar .search-row{flex:1 1 180px;min-width:0;max-width:none;margin:0;gap:8px;flex-direction:row;align-items:center;flex-wrap:nowrap}
.support-details .support-headerbar .search-row input{flex:1 1 0;min-width:0;width:100%;min-height:44px}
.support-details .complex-table{font-size:var(--type-sm)}
.support-details .complex-table th:first-child{width:56px}
.support-details .complex-table th:nth-child(3){width:88px}
.support-details .complex-table th:last-child{width:116px}
.support-details .complex-table th,.support-details .complex-table td{padding-inline:8px}
.support-details .complex-name .cell-value{font-size:var(--type-body)}
.support-details .source{margin-top:8px}
.reference-support{border-color:var(--line)}
.reference-support .evidence-summary{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:var(--support-gap);align-items:start;margin-bottom:16px}
.reference-support .connection-statement{font-size:var(--type-body);line-height:1.6;margin:0;max-width:65ch}
.reference-support .evidence-mapping{font-size:var(--type-body)}
.reference-support .evidence-mapping>p:first-child{font-weight:600;color:var(--navy)}
.reference-support .evidence-mapping .table-note{margin-top:4px}
.reference-support .evidence-table{margin:0;table-layout:fixed;font-size:var(--type-body)}
.reference-support .evidence-table th:nth-child(1){width:18%}
.reference-support .evidence-table th:nth-child(2){width:38%}
.reference-support .evidence-table th:nth-child(3){width:26%}
.reference-support .evidence-table th:nth-child(4){width:18%}
.reference-support .evidence-table th,.reference-support .evidence-table td{padding:12px;vertical-align:top;overflow-wrap:anywhere}
.reference-support .evidence-table th{font-size:var(--type-xs)}
.reference-support .evidence-cell{display:grid;gap:4px}
.reference-support .evidence-cell .source-meta{margin:0;font-size:var(--type-xs);line-height:1.6}
.reference-support .evidence-table .status{font-weight:500}
.reference-support .table-note{font-size:var(--type-xs);line-height:1.65;margin-top:4px}
.reference-support .evidence-notes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--support-gap);margin-top:16px}
.reference-support .evidence-notes>div{min-width:0}
.reference-support .evidence-notes h3{font-size:var(--type-sm);font-weight:650}
.reference-support .evidence-notes code{font:inherit;color:var(--ink)}
.reference-support .evidence-downloads{display:flex;flex-wrap:wrap;gap:8px 20px;align-items:baseline;border-top:1px solid var(--line);margin-top:16px;padding-top:12px;font-size:var(--type-sm)}
.reference-support .evidence-downloads>span{font-weight:600}
.reference-support .registry-foot{font-size:var(--type-xs);line-height:1.65;margin-top:8px}
@media(min-width:768px){
  .support-details{row-gap:12px;align-items:stretch}
  .support-details>section{display:grid;grid-template-rows:subgrid;grid-row:span 3;row-gap:12px}
  .support-details>section>.section-head{grid-row:1;margin:0;align-self:start}
  .support-details>section>.rank-scroll,.support-details>section>.table-scroll{grid-row:2;margin:0;align-self:start}
  .support-details>section>.source{grid-row:3;margin:0;align-self:start}
}
@media(min-width:768px) and (max-width:1279px){
  .support-details{grid-template-columns:repeat(2,minmax(0,1fr))}
  .support-details>.directory-section{grid-column:1/-1}
  .support-details .directory-section .support-headerbar .search-row{flex:0 1 360px}
  .reference-support .evidence-summary{grid-template-columns:1fr}
}
@media(max-width:767px){
  .support-details,.reference-support .evidence-summary,.reference-support .evidence-notes{grid-template-columns:1fr;gap:20px}
  .support-details .complex-table tbody td.complex-name .cell-value{font-size:var(--type-body)}
  .reference-support .evidence-table tbody tr{gap:8px;padding:16px 0}
  .reference-support .evidence-table tbody td:not(.row-title){grid-template-columns:72px minmax(0,1fr);gap:12px}
  .reference-support .evidence-table tbody td .cell-value{font-size:var(--type-sm)}
  .reference-support .evidence-table tbody td.row-title .cell-value{font-size:var(--type-body)}
  .reference-support .evidence-table .evidence-cell{min-width:0}
}
