
.viz-root{color-scheme:light;--surface:#fcfcfb;--ink:#0b0b0b;--ink-2:#52514e;--muted:#898781;--grid:#e1e0d9;--axis:#c3c2b7;
  --zero:#f0efec;max-width:1100px;margin:0 auto;padding:16px;background:var(--surface);color:var(--ink);position:relative;
  font:14px/1.45 "Source Sans 3",system-ui,-apple-system,"Segoe UI",sans-serif}
body{margin:0;padding:16px;background:#f9f9f7}
body.embed{padding:0;background:transparent}
body.embed .viz-root{padding:0;background:transparent;max-width:none}
h2{margin:0;font-size:20px;font-weight:650}
.subtitle{margin:2px 0 10px;color:var(--ink-2)}
.bar{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:8px}
.tabs{display:flex;border-bottom:1px solid var(--grid)}
.tabs button{font:inherit;font-size:14px;padding:6px 14px;border:0;border-bottom:2px solid transparent;background:none;
  color:var(--ink-2);cursor:pointer;margin-bottom:-1px}
.tabs button[aria-selected="true"]{color:var(--ink);font-weight:600;border-bottom-color:var(--ink)}
.year{display:flex;align-items:center;gap:10px}
.year input{width:220px;accent-color:#2a78d6}
.year .yr{font-size:22px;font-weight:650;font-variant-numeric:tabular-nums;min-width:52px}
.play{font:inherit;width:32px;height:32px;border-radius:50%;border:1px solid var(--grid);background:#fff;cursor:pointer;color:var(--ink)}
.play[aria-pressed="true"]{background:var(--ink);color:var(--surface);border-color:var(--ink)}
.stats{display:flex;gap:28px;flex-wrap:wrap;margin:2px 0 8px}
.stat .k{font-size:12px;color:var(--muted)}
.stat .v{font-size:22px;font-weight:650}
.stat .s{font-size:12.5px;color:var(--ink-2)}
.grid2{display:grid;grid-template-columns:1.35fr 1fr;gap:22px;align-items:start}
@media (max-width:760px){.grid2{grid-template-columns:1fr}.year input{width:150px}}
.legend{display:flex;gap:12px;flex-wrap:wrap;font-size:12px;color:var(--ink-2);margin:0 0 6px;min-height:18px}
.legend .sw{display:inline-block;width:14px;height:10px;border-radius:2px;vertical-align:middle;margin-right:4px}
.legend .ln{display:inline-block;width:16px;height:3px;border-radius:2px;vertical-align:middle;margin-right:6px}
.map svg,.lines svg{display:block;width:100%;height:auto;overflow:visible}
.unit{stroke:var(--surface);stroke-width:.35}
.unit:hover{stroke:var(--ink);stroke-width:1.2}
.border{fill:none;stroke:var(--ink);stroke-width:.9;pointer-events:none}
.axis text{fill:var(--ink-2);font-size:12px}
.axis .domain,.axis line{stroke:var(--axis)}
.gridl line{stroke:var(--grid)} .gridl .domain{display:none}
.line{fill:none;stroke-width:2;stroke-linejoin:round;stroke-linecap:round}
.ann line{stroke:var(--muted);stroke-dasharray:2 3}
.ann text{font-size:11.5px;fill:var(--ink-2)}
.sel{stroke:var(--ink);stroke-width:1}
.cross{stroke:var(--muted)}
.dot{stroke:var(--surface);stroke-width:2}
.lab{font-size:12px;fill:var(--ink-2)}
.note{margin:4px 0 0;font-size:12px;color:var(--muted)}
.tooltip{position:absolute;pointer-events:none;background:#fff;border:1px solid var(--grid);border-radius:8px;
  box-shadow:0 4px 14px rgba(0,0,0,.14);padding:8px 10px;font-size:12.5px;min-width:170px;z-index:5}
.tooltip .dt{font-weight:650;margin-bottom:2px}
.tooltip .sub{color:var(--ink-2);margin-bottom:4px}
.tooltip .row{display:flex;gap:8px;align-items:baseline}
.tooltip .k{width:10px;height:3px;border-radius:2px;flex:none;align-self:center}
.tooltip .nm{flex:1;color:var(--ink-2)}
.tooltip .v{font-variant-numeric:tabular-nums;font-weight:600}
.source{margin:12px 0 0;font-size:12px;color:var(--muted)}
@media (prefers-reduced-motion:reduce){.play{display:none}}
