/* Editorial financial atlas. The chart is the opening, with controls beside the work. */
:root {
  --paper:#f4f3ed; --surface:#fffefa; --foreground:#1e332e; --muted-foreground:#566960;
  --background:#fffefa; --border:#d9dfd7; --accent:#11665c; --accent-soft:#e5efe7;
  --popover:#1e332e; --popover-foreground:#fffefa; --destructive:#a9343d;
  --viz-series-1:#176d78; --viz-series-2:#c57637; --viz-series-3:#557d4d;
  --viz-series-4:#a24a58; --viz-series-5:#6672a0; --viz-series-6:#998039;
  --focus:#135dbe; --scrim:#172a2466;
  --amount-1:#e0ebe5; --amount-2:#a9c9b7; --amount-3:#548d76; --amount-4:#155d4b; --amount-stroke:#235d4b;
  --font-body:"Segoe UI","Microsoft JhengHei",system-ui,sans-serif;
  --font-display:"Noto Serif TC","PMingLiU","Microsoft JhengHei",serif;
}
:root[data-theme="dark"] {
  --paper:#13211e; --surface:#192b26; --background:#192b26; --foreground:#edf1e9;
  --muted-foreground:#b1c2b6; --border:#395048; --accent:#8dd1bc; --accent-soft:#29483e;
  --popover:#edf1e9; --popover-foreground:#192b26; --destructive:#ffa3a9;
  --viz-series-1:#69b8c3; --viz-series-2:#e6a267; --viz-series-3:#9bc28c;
  --viz-series-4:#e397a5; --viz-series-5:#a9b1e1; --viz-series-6:#c8b473;
  --focus:#9bc3ff; --scrim:#07110ccc;
  --amount-1:#334f43; --amount-2:#55836d; --amount-3:#91c9aa; --amount-4:#d6f2df; --amount-stroke:#b1ddc2;
}
* { box-sizing:border-box; }
html,body { overflow-x:clip; }
html { scroll-behavior:smooth; scroll-padding-top:24px; }
body { margin:0; background:var(--paper); color:var(--foreground); font:15px/1.65 var(--font-body); }
button,input,select { font:inherit; color:inherit; }
button,a,input,select,summary { -webkit-tap-highlight-color:transparent; }
button,summary,select { cursor:pointer; }
a { color:var(--accent); text-underline-offset:4px; }
button { background:none; border:0; }
button:hover { background:var(--accent-soft); }
button:disabled { opacity:.4; cursor:default; }
:is(a,button,input,select,summary,[tabindex]):focus-visible { outline:3px solid var(--focus); outline-offset:3px; border-radius:3px; }
[hidden] { display:none!important; }
.skip-link { position:fixed; z-index:20; left:20px; top:-100px; background:var(--surface); padding:14px; }
.skip-link:focus { top:12px; }
.site-header { max-width:1480px; margin:auto; padding:22px 44px; display:flex; align-items:center; gap:36px; border-bottom:1px solid var(--border); }
.wordmark { display:flex; align-items:center; gap:12px; color:var(--foreground); text-decoration:none; font-size:18px; font-weight:700; letter-spacing:-.5px; white-space:nowrap; }
.wordmark svg { color:var(--accent); }
.site-header nav { display:flex; align-items:center; gap:28px; margin-left:auto; }
.site-header nav a { text-decoration:none; color:var(--muted-foreground); padding:8px 0; font-size:14px; }
.site-header nav .active { color:var(--foreground); border-bottom:2px solid var(--accent); }
#theme-toggle { min-height:44px; border:1px solid var(--border); border-radius:4px; padding:5px 16px; font-size:13px; }
main { max-width:1480px; margin:auto; padding:0 44px 60px; }
.page-heading { padding:29px 0 24px; display:flex; align-items:end; justify-content:space-between; gap:20px; }
h1 { font:600 31px/1.35 var(--font-display); letter-spacing:-1px; margin:0 0 8px; overflow-wrap:break-word; }
.page-heading p { margin:0; font-size:14px; color:var(--muted-foreground); }
.dataset-note { display:flex; flex-direction:column; align-items:end; gap:4px; font-size:12px; color:var(--muted-foreground); }
.dataset-note a { text-decoration:none; }
h2 { font:600 25px/1.5 var(--font-display); margin:0 0 8px; }
h3 { font-size:18px; line-height:1.5; margin:0 0 15px; font-weight:600; }
h4 { font-size:14px; margin:22px 0 9px; }
p { margin:10px 0; }
.chart-workspace { background:var(--surface); border:1px solid var(--border); border-top:3px solid var(--accent); border-radius:5px; overflow:hidden; }
.chart-topbar { padding:15px 23px 12px; display:flex; justify-content:space-between; align-items:center; gap:20px; }
.chart-topbar strong { font-size:14px; font-weight:600; }
.range-label { font-variant-numeric:tabular-nums; margin-left:20px; color:var(--muted-foreground); font-size:12px; }
.year-shortcuts { display:flex; gap:4px; }
.year-shortcuts button { font-size:12px; border-radius:3px; min-width:44px; min-height:36px; padding:5px; }
.year-shortcuts button.selected { background:var(--accent); color:var(--surface); }
.chart-legend { display:flex; flex-wrap:wrap; gap:5px 20px; padding:0 23px 12px; border-bottom:1px solid var(--border); }
.chart-legend .viz-row { margin:0; gap:8px; font-size:11px; color:var(--muted-foreground); }
.chart-legend [data-report-panel="tax"],.chart-legend [data-report-panel="budget"],.chart-legend [data-report-panel="special"] { display:none; }
.chart-legend [data-report-panel].active-legend { display:flex; }
.chart-legend:has(.active-legend) [data-report-panel]:not(.active-legend) { display:none; }
#tw-events-1024 .event-plot { max-width:100%; width:100%; height:590px; overflow:auto; overscroll-behavior-x:contain; cursor:grab; scrollbar-width:auto; scrollbar-color:var(--muted-foreground) var(--paper); position:relative; margin:0; }
#tw-events-1024 .event-svg,#tw-events-1024 .annual-svg { display:block; max-width:none; overflow:visible; user-select:none; border-bottom:1px solid var(--border); }
#tw-events-1024 .annual-svg text,#tw-events-1024 .event-svg text,#tw-debt-1024 .debt-svg text { fill:var(--foreground); font-family:var(--font-body); font-size:12px; font-weight:400; font-variant-numeric:tabular-nums; }
#tw-events-1024 .annual-svg .axis-title,#tw-events-1024 .event-svg .axis-title { font-weight:600; }
#tw-events-1024 .event-svg .event-dot,#tw-events-1024 .event-svg .event-plan { fill:var(--event-amount-fill,var(--background)); stroke:var(--event-amount-stroke,var(--accent)); stroke-width:1.5; }
#tw-events-1024 .event-svg .event-selected { stroke:var(--foreground); stroke-width:3; }
#tw-events-1024 .event-svg .timeline-stem { fill:none; stroke:var(--accent); stroke-width:1; }
#tw-events-1024 .event-svg .timeline-band { fill:var(--accent-soft); stroke:var(--accent); stroke-width:1; }
#tw-events-1024 .event-svg .timeline-label { font-weight:500; }
#tw-events-1024 .event-svg .event-link:hover .timeline-label { text-decoration:underline; }
#tw-events-1024 .event-svg .timeline-date { font-weight:600; }
.event-link,.cursor-interaction { cursor:pointer; }
.event-plot.is-dragging,.event-plot.is-dragging * { cursor:grabbing!important; }
.chart-tabs { display:flex; flex-wrap:wrap; border-top:1px solid var(--border); padding:5px 17px; gap:4px; }
.chart-tabs button { padding:8px 13px; min-height:40px; font-size:13px; border-radius:3px; }
.chart-tabs button[aria-current="true"] { background:var(--accent-soft); color:var(--accent); }
#tw-chart-navigation { padding:3px 22px 12px; gap:12px; }
#tw-chart-navigation .btn { min-height:36px; padding:4px 11px; font-size:12px; }
#tw-chart-navigation .text-small { font-size:11px; }
.year-spacing-control { display:inline-flex; align-items:center; gap:7px; font-size:12px; }
.year-spacing-control select { min-height:36px; padding:4px 9px; border:1px solid var(--border); border-radius:3px; background:var(--surface); font-size:12px; }
.viz-row,.viz-controls { display:flex; align-items:center; flex-wrap:wrap; gap:10px 16px; margin:10px 0; }
.btn { border:1px solid var(--border); border-radius:4px; padding:9px 16px; min-height:44px; font-size:13px; white-space:normal; line-height:1.5; }
.btn-ghost { background:transparent; color:var(--accent); border-color:transparent; padding:6px 0; text-align:left; }
.control-deck { display:flex; flex-wrap:wrap; align-items:start; justify-content:space-between; gap:10px 25px; padding:18px 0 15px; }
.playback-controls { display:flex; flex-wrap:wrap; align-items:center; gap:8px; flex:1; }
#tw-play { background:var(--accent); border-color:var(--accent); color:var(--surface); min-width:85px; }
#tw-play::before { content:'▶'; margin-right:8px; font-size:10px; }
#tw-play[aria-pressed="true"]::before { content:'Ⅱ'; }
#tw-replay,#tw-stop { border-color:transparent; }
.playback-controls>.form-label { display:flex; align-items:center; gap:8px; flex:1; min-width:230px; margin:0 0 0 10px; font-size:12px; color:var(--muted-foreground); }
#tw-play-year-label { font-size:17px; font-weight:600; color:var(--foreground); }
.form-range { accent-color:var(--accent); min-width:80px; flex:1; }
#tw-play-summary { width:100%; color:var(--muted-foreground); padding-top:5px; line-height:1.8; font-size:12px; }
.layer-picker { position:relative; max-width:100%; }
.layer-picker summary { padding:9px 14px; border:1px solid var(--border); border-radius:4px; font-size:13px; min-height:44px; }
.layer-picker[open] { width:100%; }
.layer-picker[open] summary { width:fit-content; }
#tw-layer-controls { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px 20px; padding:16px 18px; background:var(--surface); border:1px solid var(--border); margin-bottom:5px; }
.form-check { display:flex; align-items:center; gap:8px; min-height:36px; font-size:13px; cursor:pointer; }
.form-check-input { width:17px; height:17px; accent-color:var(--accent); flex:none; }
#tw-layer-summary { text-align:right; font-size:11px; color:var(--muted-foreground); }
.forecast-panel { border-top:1px solid var(--border); border-bottom:1px solid var(--border); padding:12px 0; margin-bottom:28px; }
.forecast-panel summary { font-size:13px; color:var(--accent); width:fit-content; min-height:28px; }
.forecast-panel>.text-small { max-width:900px; }
.form-label { display:flex; flex-direction:column; gap:6px; font-size:13px; }
.form-control,.form-select { border:1px solid var(--border); border-radius:4px; padding:9px 12px; background:var(--surface); min-height:44px; max-width:100%; }
.form-select { width:100%; }
.overview-grid { display:grid; grid-template-columns:1.1fr 1fr; gap:0; margin:26px 0 34px; border-top:1px solid var(--border); border-bottom:1px solid var(--border); }
.annual-total { padding:27px 32px 27px 0; }
.annual-total>h3 { font-size:19px; }
.burden-panel { padding:27px 0 27px 32px; border-left:1px solid var(--border); }
.burden-number { font-size:27px; line-height:1.45; font-weight:600; letter-spacing:-.8px; margin:10px 0; color:var(--accent); }
.burden-panel>.text-small { color:var(--muted-foreground); margin-bottom:15px; font-size:12px; }
.burden-detail summary { font-size:12px; color:var(--accent); }
.burden-detail .text-small { font-size:12px; }
.table-responsive { max-width:100%; overflow:auto; overscroll-behavior-x:contain; }
.table { width:100%; border-collapse:collapse; font-size:13px; }
.table th { font-weight:500; color:var(--muted-foreground); font-size:11px; text-align:left; border-bottom:1px solid var(--border); padding:10px 10px; white-space:nowrap; }
.table td { padding:12px 10px; border-bottom:1px solid var(--border); vertical-align:top; }
.table tr:last-child td { border-bottom:0; }
.table td:first-child,.table th:first-child { padding-left:0; }
.table .text-end { text-align:right; }
.tabular-nums,.table td.text-end { font-variant-numeric:tabular-nums; }
.text-small { font-size:12px; }
.text-muted { color:var(--muted-foreground); }
.text-destructive { color:var(--destructive); }
.spending-panel { margin:30px 0; padding:24px; background:var(--surface); border:1px solid var(--border); border-radius:5px; }
.spending-panel>h3 { margin-bottom:8px; }
.spending-panel>.text-small { color:var(--muted-foreground); margin-bottom:12px; }
.spending-panel th:first-child { width:40%; }
.spending-panel .btn { font-weight:600; font-size:14px; }
.spending-panel td:nth-child(2) { color:var(--accent); font-size:18px; white-space:nowrap; }
.stage-label { display:inline-block; font-size:11px; padding:3px 7px; background:var(--accent-soft); color:var(--foreground); margin-bottom:5px; border-radius:2px; }
.fee-panel { margin:28px 0; padding:0 0 24px; border-bottom:1px solid var(--border); }
.fee-panel>h3 { font-size:16px; }
.fee-panel details { margin-top:12px; }
.event-index { padding:18px 0; border-bottom:1px solid var(--border); margin-bottom:30px; }
.event-index>.form-label { margin-bottom:9px; }
.event-read-row { display:flex; align-items:center; }
.data-library { margin:32px 0 45px; }
.section-heading { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; margin-bottom:17px; }
.section-heading span { color:var(--muted-foreground); font-size:12px; }
.data-library details { border-top:1px solid var(--border); padding:14px 0; }
.data-library details:last-of-type { border-bottom:1px solid var(--border); }
.data-library summary { font-size:14px; min-height:30px; }
.data-library>div.text-small { display:none; }
.annual-sources,.source-row,.event-source-links { display:flex; flex-wrap:wrap; gap:8px 17px; margin:12px 0; font-size:12px; }
.annual-swatch,.swatch { display:inline-block; width:9px; height:9px; margin-right:5px; }
.debt-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px; }
.debt-grid>h2,.debt-grid>.text-small { grid-column:1/-1; }
.debt-grid>h2 { margin-bottom:-20px; }
.debt-grid>.text-small { margin-bottom:5px; }
.detail-panel { min-width:0; background:var(--surface); border:1px solid var(--border); border-radius:5px; padding:26px; }
.detail-panel[data-report-panel="nhi"],.detail-panel[data-report-panel="other"],.detail-panel[data-report-panel="claims"] { grid-column:1/-1; }
.debt-total { font-size:14px; margin:8px 0; }
.debt-total strong { color:var(--accent); font-size:20px; font-weight:600; }
.debt-svg { display:block; width:100%; margin:12px 0; overflow:visible; }
.debt-svg .gridline { stroke:var(--border); opacity:.65; }
.debt-grid details { margin-top:15px; font-size:12px; }
.debt-grid details summary { color:var(--accent); min-height:30px; }
.debt-grid details>.text-small { padding:10px 0; }
.site-footer { max-width:1392px; margin:auto; padding:25px 0 40px; display:flex; justify-content:space-between; flex-wrap:wrap; gap:12px; border-top:1px solid var(--border); color:var(--muted-foreground); font-size:12px; }
.site-footer span { font-weight:600; color:var(--foreground); }
.site-footer p { margin:0; }
.event-dialog { width:min(690px,calc(100% - 32px)); max-height:calc(100dvh - 32px); margin:auto; padding:0; border:1px solid var(--border); border-radius:6px; background:var(--surface); color:var(--foreground); overflow:auto; }
#county-event-dialog { max-height:calc(100dvh - max(16px,8vh) - 16px); }
#county-event-detail { line-height:1.85; }.event-dialog td.tabular-nums { white-space:nowrap; }
.event-dialog::backdrop { background:var(--scrim); }
.event-dialog>.card { padding:28px; }
.event-dialog-heading { display:flex; justify-content:space-between; align-items:start; gap:20px; border-bottom:1px solid var(--border); margin-bottom:20px; padding-bottom:16px; }
.event-dialog-heading h3 { font:600 23px/1.4 var(--font-display); margin:0; }
.event-dialog-heading button { padding:4px 8px; flex:none; min-height:36px; }
.event-detail-title { font-size:19px; color:var(--accent); margin:12px 0; font-weight:600; }
.event-detail-meta { margin:12px 0; color:var(--muted-foreground); }
#tw-event-detail { line-height:1.85; }
#tw-event-related .btn { font-size:12px; }
.chart-tooltip { position:fixed; z-index:30; pointer-events:none; background:var(--popover); color:var(--popover-foreground); border-radius:4px; padding:9px 12px; max-width:260px; font-size:12px; line-height:1.6; }
.event-filter-bar { padding:12px 23px 14px; border-top:1px solid var(--border); border-bottom:1px solid var(--border); display:grid; grid-template-columns:1.25fr 1fr 1fr 1fr auto; align-items:end; gap:12px; }
.event-filter-drawer { border-top:1px solid var(--border); }
.event-filter-drawer>summary { padding:9px 23px; font-size:12px; color:var(--accent); min-height:40px; }
#tw-event-filter-count { float:right; color:var(--muted-foreground); font-variant-numeric:tabular-nums; }
.event-filter-bar>label:not(.form-check) { display:flex; flex-direction:column; font-size:11px; gap:4px; color:var(--muted-foreground); min-width:0; }
.event-filter-bar input[type="search"],.event-filter-bar select { padding:9px 10px; min-height:42px; background:var(--background); border:1px solid var(--border); border-radius:3px; min-width:0; width:100%; font-size:12px; }
.event-filter-bar .filter-unknown { grid-column:1/3; font-size:11px; margin:0; min-height:28px; }
.filter-unknown input { accent-color:var(--accent); }
#tw-event-filter-reset { grid-column:5; grid-row:1; min-height:42px; padding:8px 13px; }
#tw-event-filter-summary { grid-column:3/6; font-size:11px; color:var(--accent); text-align:right; }
.event-filter-note { grid-column:1/-1; margin:0; font-size:10px; color:var(--muted-foreground); line-height:1.7; }
.event-amount-legend { display:flex; flex-wrap:wrap; gap:9px 17px; align-items:center; width:100%; font-size:11px; color:var(--muted-foreground); padding:5px 0; }
.amount-legend-title { color:var(--foreground); font-weight:600; }
.amount-key { display:inline-flex; align-items:center; gap:6px; min-height:20px; }
.amount-key-dot { display:inline-block; flex:none; border:1.5px solid var(--amount-stroke); border-radius:50%; }
.amount-key-1 { width:7px; height:7px; background:var(--amount-1); }
.amount-key-2 { width:10px; height:10px; background:var(--amount-2); }
.amount-key-3 { width:14px; height:14px; background:var(--amount-3); }
.amount-key-4 { width:18px; height:18px; background:var(--amount-4); }
.amount-key-unknown { width:8px; height:8px; background:var(--background); border-color:var(--muted-foreground); }
.amount-legend-note { width:100%; font-size:10px; }
.event-browser { margin-top:15px; border-top:1px solid var(--border); padding-top:15px; }
.event-browser>summary { color:var(--accent); font-size:13px; min-height:40px; }
#tw-event-index-list { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin:12px 0; }
.event-index-item { display:flex; flex-direction:column; align-items:start; text-align:left; gap:6px; border:1px solid var(--border); padding:15px; background:var(--surface); border-radius:3px; font-size:11px; }
.event-index-item strong { font-size:14px; font-weight:600; }
.event-index-date { color:var(--muted-foreground); font-variant-numeric:tabular-nums; }
.event-index-amount { color:var(--accent); }
.disclosure-badge { display:inline-block; padding:2px 6px; border:1px solid var(--border); border-radius:2px; font-size:10px; white-space:normal; color:var(--accent); background:var(--accent-soft); }
.disclosure-badge[data-disclosure="official_withheld"],.disclosure-badge[data-disclosure="not_found"] { color:var(--destructive); background:transparent; }
.disclosure-detail { margin:20px 0; padding:14px 0; border-block:1px solid var(--border); font-size:12px; }
.disclosure-detail strong { margin-left:8px; font-size:12px; font-weight:500; }
.disclosure-detail a { display:block; font-size:11px; }
.enterprise-panel { grid-column:1/-1; }
#tw-enterprise-charts { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:30px; }
.enterprise-company { min-width:0; }
.enterprise-company h4 { margin-top:10px; font-size:16px; }
.enterprise-company details ul { padding-left:20px; }
.enterprise-company details li { margin:10px 0; }
.debt-assessment { border-block:1px solid var(--border); margin:24px 0; padding:25px 0; }
.debt-ratio-heading { display:flex; align-items:baseline; flex-wrap:wrap; gap:9px 20px; margin:15px 0; }
.debt-ratio-heading strong { font-size:24px; color:var(--accent); }
.debt-ratio-heading span { color:var(--muted-foreground); font-size:12px; }
.debt-ratio-track { height:12px; width:min(600px,100%); background:var(--border); border-right:2px solid var(--foreground); }
.debt-ratio-track span { display:block; height:100%; background:var(--accent); }
.debt-ratio-labels { display:flex; justify-content:space-between; width:min(600px,100%); font-size:11px; margin:6px 0; }
.debt-assessment details { margin-top:14px; font-size:12px; max-width:950px; }
.debt-assessment summary { color:var(--accent); min-height:36px; }
.debt-assessment li { margin:8px 0; }
#load-error { padding:25px; margin-bottom:20px; border:1px solid var(--destructive); background:var(--surface); color:var(--destructive); }
noscript { display:block; padding:25px; }
@media(min-width:1600px) { #tw-events-1024 .event-plot { height:650px; } }
@media(max-width:1000px) {
  .event-filter-bar { grid-template-columns:repeat(2,minmax(0,1fr)) auto; padding:12px 18px; }.event-filter-bar .filter-unknown { grid-column:1/3; }#tw-event-filter-reset { grid-column:3; grid-row:1; }#tw-event-filter-summary { grid-column:1/-1; text-align:left; }#tw-event-index-list { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .site-header { padding:18px 24px; gap:20px; }.site-header nav { gap:17px; }
  main { padding:0 24px 40px; }.site-footer { margin:0 24px; }
  .page-heading { padding-top:24px; }h1 { font-size:27px; }
  .range-label { display:none; }#tw-layer-controls { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .overview-grid { grid-template-columns:1fr 1fr; }.annual-total { padding-right:22px; }.burden-panel { padding-left:22px; }
  .burden-number { font-size:23px; }.detail-panel { padding:20px; }.debt-grid { gap:20px; }
}
@media(max-width:650px) {
  .event-filter-bar { grid-template-columns:repeat(2,minmax(0,1fr)); padding:10px 12px; gap:9px; }.event-filter-bar>label:first-child { grid-column:1/-1; }.event-filter-bar>label:nth-child(4) { grid-column:1; }.event-filter-bar .filter-unknown { grid-column:1/-1; }#tw-event-filter-reset { grid-column:2; grid-row:3; padding:8px; }#tw-event-filter-summary { font-size:10px; }.event-filter-note { font-size:10px; }#tw-event-index-list { grid-template-columns:1fr; }#tw-enterprise-charts { grid-template-columns:1fr; }
  body { font-size:14px; }.site-header { padding:13px 17px; gap:10px; flex-wrap:wrap; }
  .wordmark { font-size:16px; }.wordmark svg { width:20px; }.site-header nav { order:3; width:100%; margin:0; gap:25px; }
  .site-header nav a { font-size:12px; padding:5px 0; }#theme-toggle { margin-left:auto; min-height:36px; padding:4px 12px; }
  main { padding:0 15px 35px; }.page-heading { display:block; padding:23px 0 19px; }h1 { font-size:25px; }
  .page-heading p { font-size:13px; }.dataset-note { flex-direction:row; justify-content:space-between; align-items:start; font-size:10px; margin-top:15px; }
  .chart-topbar { padding:12px; gap:10px; flex-wrap:wrap; }.chart-topbar strong { font-size:12px; }.year-shortcuts { width:100%; justify-content:space-between; }
  .chart-legend { padding:0 12px 9px; gap:4px; }.chart-legend .viz-row { font-size:10px; gap:5px; }
  .chart-legend .viz-row>span:last-child { display:none; }
  #tw-events-1024 .event-plot { height:510px; }.chart-tabs { padding:5px 7px; gap:0; }.chart-tabs button { padding:7px 9px; font-size:11px; min-height:40px; }
  #tw-chart-navigation { padding:3px 12px 10px; gap:9px; }#tw-chart-navigation .text-small { width:100%; }
  .control-deck { padding-top:14px; gap:12px; }.playback-controls { width:100%; gap:6px; }
  .playback-controls>.form-label { min-width:100%; margin:9px 0 0; }.playback-controls .btn { padding:8px 12px; }
  .layer-picker { width:100%; }.layer-picker summary { width:fit-content; }#tw-layer-controls { grid-template-columns:repeat(2,minmax(0,1fr)); padding:12px; gap:5px 10px; }.form-check { font-size:11px; }
  .forecast-panel { margin-bottom:20px; }.forecast-panel .viz-controls { gap:12px; }.forecast-panel .form-label { width:100%; }
  .overview-grid { display:block; margin:20px 0 25px; }.annual-total { padding:23px 0; }.burden-panel { padding:24px 0; border-left:0; border-top:1px solid var(--border); }
  .burden-number { font-size:25px; }.table { font-size:12px; }.table td { padding:10px 8px; }.table th { padding:8px; font-size:10px; }
  .spending-panel { padding:18px 15px; margin:22px 0; }.spending-panel h3 { font-size:17px; }.spending-panel .table { min-width:580px; }
  .spending-panel .table .btn { font-size:12px; }.spending-panel td:nth-child(2) { font-size:16px; }
  .debt-grid { display:block; }.debt-grid>h2 { margin-bottom:8px; }.debt-grid>.text-small { margin-bottom:20px; }.detail-panel { margin-bottom:20px; padding:18px; }
  .detail-panel h3 { font-size:17px; }.detail-panel .table { min-width:360px; }.detail-panel[data-report-panel="other"] .table,.detail-panel[data-report-panel="claims"] .table { min-width:650px; }
  .site-footer { margin:0 15px; display:block; padding:20px 0 30px; }.site-footer p { margin:10px 0; }
  .event-dialog>.card { padding:21px; }.event-dialog-heading h3 { font-size:20px; }
}
.interest-snapshot { padding:14px 16px; border-left:3px solid var(--viz-series-4); background:var(--accent-soft); }
.interest-snapshot>span { display:block; margin-top:8px; }
#tw-interest-section .table { min-width:650px; }
.county-workspace { margin-bottom:28px; }
.county-controls { display:flex; gap:18px 25px; flex-wrap:wrap; align-items:center; padding:18px 24px 10px; }
.county-controls>label { display:flex; gap:9px; align-items:center; font-size:13px; }
.county-controls select { border:1px solid var(--border); background:var(--background); padding:8px 11px; border-radius:3px; max-width:100%; }
.county-legend { display:flex; gap:15px; flex-wrap:wrap; padding:5px 24px; }
.county-legend>span { display:inline-flex; gap:6px; align-items:center; }
.county-legend>[hidden] { display:none; }
.county-chart-note { margin:7px 24px 15px; color:var(--muted-foreground); }
.county-comparison-chart { margin:0 18px 14px; }
.county-comparison-chart svg,#county-debt-history svg,#county-fiscal-history svg { display:block; width:100%; }
.county-comparison-chart svg text,#county-debt-history svg text,#county-fiscal-history svg text { fill:var(--foreground); font-family:var(--font-body); font-size:12px; font-variant-numeric:tabular-nums; }
.county-comparison-chart svg a:focus { outline:2px solid var(--focus); }
.county-metrics { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:24px 15px; margin:20px 0; }
.county-metrics>div { min-width:0; }
.county-metrics span { display:block; color:var(--muted-foreground); font-size:12px; }
.county-metrics strong { display:block; font-size:21px; color:var(--accent); font-weight:600; font-variant-numeric:tabular-nums; }
.county-history-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px; margin-top:24px; }
.county-data-table { min-width:1080px; }
@media(max-width:650px) {
  .county-controls { padding:12px; gap:12px; }.county-controls>label { font-size:12px; flex-wrap:wrap; }.county-controls>label.form-check { width:100%; }
  .county-legend { padding:5px 12px; gap:5px; }.county-chart-note { margin:7px 12px 15px; font-size:11px; }.county-comparison-chart { margin:0 5px 12px; }
  .county-comparison-chart svg text { font-size:11px; }.county-metrics { grid-template-columns:repeat(2,minmax(0,1fr)); gap:17px 12px; }.county-metrics strong { font-size:17px; }.county-metrics span { font-size:11px; }
  .county-history-grid { grid-template-columns:1fr; gap:0; }
}
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; }*,*::before,*::after { animation:none!important; transition:none!important; scroll-behavior:auto!important; } }

#burden-overview { margin:0 0 34px; }
#burden-overview .debt-svg text { fill:var(--foreground); font-family:var(--font-body); font-size:12px; font-variant-numeric:tabular-nums; }
.county-workspace .chart-topbar .county-year-badge { color:var(--accent); font-size:32px; line-height:1; font-variant-numeric:tabular-nums; }
.county-workspace .chart-topbar>div { flex:1; min-width:175px; }
.county-playback { display:flex; align-items:center; flex-wrap:wrap; gap:10px; padding:16px 24px 3px; }
.county-playback .btn { border:1px solid var(--border); padding:7px 14px; border-radius:3px; }
.county-playback #county-play { background:var(--accent); color:var(--background); }
.county-playback>label { display:flex; align-items:center; gap:8px; font-size:13px; }
.county-playback select { padding:7px; background:var(--background); border:1px solid var(--border); border-radius:3px; }
.county-year-slider { flex:1; min-width:230px; }
.county-year-slider input { flex:1; min-width:80px; accent-color:var(--accent); }
.county-year-slider output { font-variant-numeric:tabular-nums; font-weight:600; }
@media(max-width:650px) { .county-playback { padding:12px 12px 0; gap:8px; }.county-playback .btn { padding:7px 10px; font-size:12px; }.county-playback>label { font-size:12px; }.county-year-slider { width:100%; min-width:100%; }.county-workspace .chart-topbar .county-year-badge { font-size:27px; } }
.county-event-controls { display:flex; flex-wrap:wrap; align-items:center; gap:14px; margin:14px 0; }
.county-event-controls label { display:flex; align-items:center; gap:10px; font-size:13px; }
.county-event-controls select { padding:7px 10px; border:1px solid var(--border); background:var(--background); border-radius:3px; }
.county-event-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.county-event-card { display:flex; flex-direction:column; align-items:flex-start; gap:7px; padding:18px; text-align:left; background:var(--background); border:1px solid var(--border); border-left:3px solid var(--accent); border-radius:3px; line-height:1.5; }
.county-event-card:hover { background:var(--accent-soft); }.county-event-card strong { font-size:16px; color:var(--accent); }
.county-event-date,.county-event-meta,.county-event-public { font-size:12px; color:var(--muted-foreground); }.county-event-date { font-variant-numeric:tabular-nums; }.county-event-public { margin-top:auto; padding-top:6px; }
.county-event-empty { border:1px dashed var(--border); padding:18px; }.county-event-empty .btn { border:1px solid var(--border); padding:8px 12px; }
@media(max-width:650px) { .county-event-list { grid-template-columns:1fr; }.county-event-card { padding:14px; }.county-event-controls { gap:10px; } }
