/* Generated by tools/sync_public_hub_ui.mjs from database-worker/public/state.html (its inline <style> block). Do not edit. */
.hub-state * { box-sizing:border-box; }
.hub-state a { color:var(--gold); }
.hub-state p { margin:0 0 8px; }
.hub-state .hint { color:var(--faint); font-size:11.5px; }
.hub-state .hero { display:flex; flex-wrap:wrap; align-items:center; gap:16px 22px;
          padding:22px 24px 18px; margin:0 0 12px; border-radius:14px;
          border:1px solid var(--border);
          background:linear-gradient(120deg, color-mix(in srgb, var(--pro) 15%, var(--panel)) 0%,
                                              var(--panel) 60%); }
.hub-state .hero h1 { font-size:26px; line-height:1.15; margin:0; letter-spacing:.2px; }
.hub-state .hero-sub { display:flex; flex-wrap:wrap; gap:6px 8px; align-items:center; margin:8px 0 0; }
.hub-state .chip { font-size:11.5px; padding:2px 10px; border-radius:999px; white-space:nowrap;
          border:1px solid var(--border-strong); color:var(--muted); background:var(--panel); }
.hub-state .stats { width:100%; display:grid; grid-template-columns:repeat(auto-fit, minmax(112px, 1fr));
           margin:4px 0 0; padding:14px 0 0; border-top:1px solid var(--border); }
.hub-state .stat { display:flex; flex-direction:column-reverse; justify-content:flex-end; padding:2px 16px;
          border-left:1px solid var(--border); min-width:0; }
.hub-state .stat:first-child { border-left:0; padding-left:0; }
.hub-state .stat dd { margin:0; font-size:23px; font-weight:700; line-height:1.15; font-variant-numeric:tabular-nums; }
.hub-state .stat dd a { color:var(--text); text-decoration:none; }
.hub-state .stat dd a:hover { color:var(--gold); }
.hub-state .stat dt { margin-top:3px; font-size:10.5px; letter-spacing:.7px; text-transform:uppercase; color:var(--faint); }
@media (max-width:640px) {
.hub-state .hero { padding:18px 16px 14px; }
.hub-state .hero h1 { font-size:22px; }
.hub-state .stats { grid-template-columns:repeat(2, minmax(0,1fr)); gap:12px 0; }
.hub-state .stat,
.hub-state .stat:first-child { border-left:0; padding:0 8px 0 0; }
}
.hub-state .sectnav { position:sticky; top:0; z-index:20; display:flex; gap:4px; overflow-x:auto;
             padding:8px 0; margin:0 0 16px; background:var(--bg);
             border-bottom:1px solid var(--border); scrollbar-width:none; }
.hub-state .sectnav::-webkit-scrollbar { display:none; }
.hub-state .sectnav a { flex-shrink:0; font-size:12.5px; color:var(--muted); text-decoration:none;
               padding:5px 12px; border-radius:999px; min-height:30px;
               display:inline-flex; align-items:center; }
.hub-state .sectnav a:hover { color:var(--text); background:var(--panel2); }
.hub-state .sectnav a.on { color:var(--on-gold); background:var(--gold-fill); font-weight:600; }
.hub-state .block { margin:0 0 30px; scroll-margin-top:60px; }
.hub-state .block[hidden] { display:none; }
.hub-state .block > h2 { display:flex; align-items:center; gap:12px; margin:0 0 12px; font-size:12px;
                letter-spacing:1.4px; text-transform:uppercase; color:var(--gold); }
.hub-state .block > h2::after { content:""; flex:1; height:1px; background:var(--border); }
.hub-state .lede { color:var(--muted); font-size:12.5px; margin:-4px 0 12px; }
.hub-state .more { font-size:12.5px; display:inline-flex; align-items:center; min-height:28px; }
.hub-state .filters { display:flex; flex-wrap:wrap; gap:6px; margin:0 0 14px; }
.hub-state .filters button { font:inherit; font-size:12.5px; padding:4px 12px; min-height:30px; border-radius:999px;
                   border:1px solid var(--border-strong); background:var(--panel); color:var(--muted);
                   cursor:pointer; white-space:nowrap; }
.hub-state .filters button:hover { color:var(--text); border-color:var(--control-border); }
.hub-state .filters button .n { color:var(--faint); margin-left:5px; font-variant-numeric:tabular-nums; }
.hub-state .filters button[aria-pressed="true"] { background:var(--gold-fill); border-color:var(--gold-fill);
                                        color:var(--on-gold); font-weight:600; }
.hub-state .filters button[aria-pressed="true"] .n { color:inherit; }
.hub-state .bars { display:grid; gap:7px; margin:6px 0 0; }
.hub-state .bar-row { display:grid; grid-template-columns:minmax(0,1.3fr) minmax(0,2fr) 56px; gap:10px;
             align-items:center; font-size:12.5px; }
.hub-state .bar-row .bl { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.hub-state .bar-row .bv { height:10px; background:var(--panel2); border-radius:5px; overflow:hidden;
                 display:flex; gap:2px; }
.hub-state .bar-row .bv .seg { display:block; height:100%; flex:none; }
.hub-state .bar-row .bv .seg:last-child { border-radius:0 5px 5px 0; }
.hub-state .bar-row .bv .seg.anti { background:var(--anti); }
.hub-state .bar-row .bv .seg.pro { background:var(--pro); }
.hub-state .bar-row .bv .seg.plain { background:var(--gold); }
.hub-state .bar-row .bv .seg.rest { background:var(--muted); }
.hub-state .bar-row .bn { text-align:right; font-variant-numeric:tabular-nums; }
.hub-state .bar-key { display:flex; align-items:center; gap:6px; font-size:11.5px; color:var(--muted); margin:2px 0 0; }
.hub-state .bar-key .sw { display:inline-block; width:10px; height:10px; border-radius:2px; }
.hub-state .bar-key .sw.anti { background:var(--anti); }
.hub-state .bar-key .sw.pro { background:var(--pro); margin-left:8px; }
.hub-state details.all { margin-top:12px; }
.hub-state details.all summary { cursor:pointer; font-size:12.5px; color:var(--gold); min-height:28px;
                        display:inline-flex; align-items:center; gap:8px; list-style:none; }
.hub-state details.all summary::-webkit-details-marker { display:none; }
.hub-state details.all summary::before { content:""; border-left:5px solid currentColor; border-top:4px solid transparent;
                                border-bottom:4px solid transparent; transition:transform .15s; }
.hub-state details.all[open] summary::before { transform:rotate(90deg); }
.hub-state .table-scroll { overflow-x:auto; }
.hub-state table.plain { width:100%; border-collapse:collapse; font-size:12.5px; margin-top:8px; }
.hub-state table.plain th,
.hub-state table.plain td { padding:6px 8px; border-bottom:1px solid var(--border); text-align:right; }
.hub-state table.plain th:first-child,
.hub-state table.plain td:first-child { text-align:left; }
.hub-state table.plain thead th { font-size:10.5px; letter-spacing:.6px; text-transform:uppercase; color:var(--faint); }
.hub-state .lanes-card { background:var(--panel); border:1px solid var(--border); border-radius:8px; padding:14px 16px 16px; }
.hub-state #lanesNote:empty { display:none; }
.hub-state #lanesNote { margin-top:8px; }
.hub-state .rows { list-style:none; margin:0; padding:0; }
.hub-state .rows li { display:flex; gap:12px; align-items:baseline; padding:9px 0; border-bottom:1px solid var(--border); }
.hub-state .rows li:first-child { padding-top:0; }
.hub-state .rows .when { flex-shrink:0; width:92px; color:var(--faint); font-size:12px; font-variant-numeric:tabular-nums; }
.hub-state .rows .what { min-width:0; }
.hub-state .rows .what a { color:var(--text); font-weight:600; text-decoration:none; border-bottom:1px dotted var(--muted);
                  display:inline-flex; align-items:center; min-height:24px; }
.hub-state .rows .what a:hover { color:var(--gold); }
.hub-state .rows .sub { color:var(--muted); font-size:12px; }
.hub-state .rows .sub a { color:var(--muted); }
.hub-state .rows .sub a:hover { color:var(--gold); }
.hub-state .rows .hbills { display:block; margin-top:2px; }
.hub-state .tag { display:inline-block; font-size:10.5px; padding:1px 8px; border-radius:999px; margin-left:6px;
         border:1px solid var(--border-strong); color:var(--muted); white-space:nowrap; }
.hub-state .bill-num { color:var(--faint); font-size:11.5px; font-variant-numeric:tabular-nums; margin-right:2px; }
.hub-state .tag.side-anti { color:var(--anti-bright); border-color:var(--anti); }
.hub-state .tag.side-pro { color:var(--pro); border-color:var(--pro); }
.hub-state .tag.more { color:var(--faint); border-style:dashed; }
.hub-state .mini { list-style:none; margin:0; padding:0; font-size:12.5px; }
.hub-state .mini li { display:flex; align-items:center; gap:8px; padding:6px 0; border-bottom:1px solid var(--border); }
.hub-state .mini li:last-child { border-bottom:0; }
.hub-state .mini a { color:var(--text); text-decoration:none; display:inline-flex; align-items:center; min-height:24px; }
.hub-state .mini a:hover { color:var(--gold); }
.hub-state .mini .sub { color:var(--muted); font-size:11.5px; display:block; }
.hub-state .sources { list-style:none; margin:0; padding:0; font-size:11.5px; color:var(--faint); }
.hub-state .sources li { padding:4px 0; }
.hub-state .sources b { color:var(--muted); font-weight:600; }
.hub-state .state { color:var(--muted); font-size:13.5px; padding:10px 2px; }
.hub-state .state.error { color:var(--anti-text); display:flex; align-items:center; gap:12px; flex-wrap:wrap; }
.hub-state .state.error button { background:var(--panel2); color:var(--text); font:inherit; border:1px solid var(--control-border);
                        border-radius:5px; padding:5px 12px; min-height:24px; cursor:pointer; }
.hub-state .state.error button:hover { border-color:var(--gold); color:var(--gold); }
.hub-state #page[hidden] { display:none; }
.hub-state a:focus-visible,
.hub-state button:focus-visible,
.hub-state summary:focus-visible,
.hub-state [tabindex]:focus-visible {
    outline:2px solid var(--gold); outline-offset:2px; border-radius:3px; }
.hub-state .vh { position:absolute; width:1px; height:1px; margin:-1px; padding:0; overflow:hidden;
        clip:rect(0 0 0 0); white-space:nowrap; border:0; }
.hub-state [hidden] { display:none !important; }
@media (prefers-reduced-motion: reduce) {
.hub-state *,
.hub-state *::before,
.hub-state *::after { animation-duration:.01ms !important; animation-iteration-count:1 !important;
                             transition-duration:.01ms !important; scroll-behavior:auto !important; }
}
@media (prefers-reduced-motion: no-preference) {
html { scroll-behavior:smooth; }
}

