/* Generated by tools/sync_public_hub_ui_spending.mjs from spending-worker/public/charts.html (its inline <style> block), every selector under .spd. Do not edit. */
.spd .viz {
  --c-meta:#2a78d6; --c-google:#eb6834; --c-tv:#1baf7a;
  --c-anti:#e34948; --c-pro:#1baf7a; --c-other:#4a3aa7;
  --c-org:#2a78d6; --c-candidate:#eb6834; --c-party:#1baf7a; --c-none:#eda100;
  --c-one:var(--spend);
  --grid:#e1e0d9; --axis:#c3c2b7;
}
@media (prefers-color-scheme: dark) {
:root:where(:not([data-theme="light"])) .viz {
    --c-meta:#3987e5; --c-google:#d95926; --c-tv:#199e70;
    --c-anti:#e66767; --c-pro:#199e70; --c-other:#9085e9;
    --c-org:#3987e5; --c-candidate:#d95926; --c-party:#199e70; --c-none:#c98500;
    --grid:#2c2c2a; --axis:#383835;
  }
}
:root[data-theme="dark"] .viz {
  --c-meta:#3987e5; --c-google:#d95926; --c-tv:#199e70;
  --c-anti:#e66767; --c-pro:#199e70; --c-other:#9085e9;
  --c-org:#3987e5; --c-candidate:#d95926; --c-party:#199e70; --c-none:#c98500;
  --grid:#2c2c2a; --axis:#383835;
}
.spd .summary { color:var(--muted); font-size:13px; margin:0 0 18px; }
.spd .summary b { color:var(--text); font-weight:600; }
.spd .card { background:var(--panel); border:1px solid var(--border);
        border-radius:8px; padding:16px 18px 14px; margin-bottom:18px; }
.spd .card h2 { margin:0 0 4px; }
.spd .card .sub { color:var(--muted); font-size:12.5px; margin:0 0 12px; max-width:80ch; }
.spd .card .foot { color:var(--faint); font-size:12px; margin:10px 0 0; }
.spd .two { display:grid; gap:18px; grid-template-columns:repeat(auto-fit, minmax(420px, 1fr)); }
.spd .two .card { margin-bottom:0; }
@media (max-width:620px) {
.spd .two { grid-template-columns:1fr; }
}
.spd .legend { display:flex; flex-wrap:wrap; gap:6px 16px; margin:0 0 10px;
          font-size:12px; color:var(--muted); list-style:none; padding:0; }
.spd .legend li { display:inline-flex; align-items:center; gap:6px; }
.spd .legend .sw { width:12px; height:12px; border-radius:3px; display:inline-block; }
.spd .plot { position:relative; }
.spd .plot svg { display:block; width:100%; overflow:visible; }
.spd .plot svg:focus-visible { outline:2px solid var(--gold); outline-offset:4px; border-radius:4px; }
.spd .plot .tick { fill:var(--faint); font-size:11px; font-variant-numeric:tabular-nums; }
.spd .plot .gridline { stroke:var(--grid); stroke-width:1; }
.spd .plot .baseline { stroke:var(--axis); stroke-width:1; }
.spd .plot .hover { fill:var(--text); opacity:0; }
.spd .plot .hover.on { opacity:.06; }
.spd .plot .cov-glyph { font-size:11px; }
.spd .plot .cov-glyph.partial { fill:var(--gold); }
.spd .plot .cov-glyph.unavailable { fill:var(--anti-text); }
.spd .plot .cov-glyph.zero { fill:var(--faint); }
.spd .tip { position:absolute; pointer-events:none; z-index:5; min-width:180px;
       max-width:280px; background:var(--panel2); color:var(--text);
       border:1px solid var(--control-border); border-radius:6px;
       padding:8px 10px; font-size:12px; line-height:1.45;
       box-shadow:0 4px 14px rgba(0,0,0,.25); }
.spd .tip .t { font-weight:600; margin-bottom:4px; }
.spd .tip .r { display:flex; gap:8px; align-items:baseline; }
.spd .tip .r .sw { width:9px; height:9px; border-radius:2px; flex:none; align-self:center; }
.spd .tip .r .l { flex:1; color:var(--muted); }
.spd .tip .r .v { font-variant-numeric:tabular-nums; white-space:nowrap; }
.spd .tip .tot { border-top:1px solid var(--border); margin-top:5px; padding-top:5px; }
.spd .bars { display:grid; grid-template-columns:minmax(120px, 38%) 1fr auto;
        gap:6px 10px; align-items:center; font-size:12.5px; }
.spd .bars .lab { overflow-wrap:anywhere; line-height:1.3; }
.spd .bars .lab a { padding:3px 0; display:inline-block; }
.spd .bars .trk { height:12px; position:relative; }
.spd .bars .fill { position:absolute; left:0; top:0; bottom:0; border-radius:0 4px 4px 0;
              background:var(--c-one); min-width:2px; }
.spd .bars .fill.sel { background:var(--gold-fill, var(--gold)); }
.spd .bars .val { font-variant-numeric:tabular-nums; color:var(--muted); white-space:nowrap;
             text-align:right; }
@media (max-width:620px) {
.spd .bars { grid-template-columns:1fr auto; }
.spd .bars .lab { grid-column:1 / -1; margin-top:4px; }
}
.spd details.tbl { margin-top:12px; }
.spd details.tbl summary { cursor:pointer; color:var(--muted); font-size:12.5px;
                      min-height:24px; display:inline-flex; align-items:center; }
.spd details.tbl .scroll { margin-top:8px; max-height:420px; overflow:auto; }
.spd details.tbl .actions { margin-top:8px; }
.spd .controls .reset { align-self:flex-end; }
.spd .empty { color:var(--faint); font-style:italic; padding:24px 0; text-align:center; }
.spd .loading { opacity:.55; transition:opacity .15s; }
