/* Generated by tools/sync_public_hub_ui.mjs from database-worker/public/topic.html (its inline <style> block). Do not edit. */
* { box-sizing:border-box; }
  a { color:var(--gold); }
  p { margin:0 0 8px; }
  .hint { color:var(--faint); font-size:11.5px; }

  .hero { padding:20px 24px 16px; margin:0 0 12px; border-radius:14px; border:1px solid var(--border);
          background:linear-gradient(120deg, color-mix(in srgb, var(--pro) 12%, var(--panel)) 0%, var(--panel) 60%); }
  .hero h1 { font-size:24px; line-height:1.2; margin:0; letter-spacing:.2px; }
  .hero .sub { color:var(--muted); font-size:12.5px; margin-top:6px; max-width:70ch; }

  .picker { margin:0 0 18px; }
  .picker select { background:var(--panel2); color:var(--text); font:inherit; border:1px solid var(--control-border);
                   border-radius:6px; padding:6px 10px; min-height:32px; }
  .picker label { font-size:12px; color:var(--muted); margin-right:8px; }

  .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; }
  .sectnav::-webkit-scrollbar { display:none; }
  .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; }
  .sectnav a:hover { color:var(--text); background:var(--panel2); }

  .block { margin:0 0 30px; scroll-margin-top:60px; }
  .block[hidden] { display:none; }
  .block > h2 { display:flex; align-items:center; gap:12px; margin:0 0 6px; font-size:12px;
                letter-spacing:1.4px; text-transform:uppercase; color:var(--gold); }
  .block > h2::after { content:""; flex:1; height:1px; background:var(--border); }
  .lede { color:var(--muted); font-size:12.5px; margin:0 0 12px; }

  .stat-row { display:flex; flex-wrap:wrap; gap:18px; margin:0 0 14px; }
  .stat { min-width:90px; }
  .stat dd { margin:0; font-size:22px; font-weight:700; font-variant-numeric:tabular-nums; }
  .stat dt { margin:2px 0 0; font-size:10.5px; letter-spacing:.6px; text-transform:uppercase; color:var(--faint); }

  .bars { display:grid; gap:7px; margin:6px 0 16px; }
  .bar-row { display:grid; grid-template-columns:minmax(0,1.3fr) minmax(0,2fr) 48px; gap:10px;
             align-items:center; font-size:12.5px; }
  .bar-row .bl { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
  .bar-row .bv { height:10px; background:var(--panel2); border-radius:5px; overflow:hidden; }
  .bar-row .bv span { display:block; height:100%; background:var(--pro); border-radius:5px; }
  .bar-row.anti .bv span { background:var(--anti); }
  .bar-row .bn { text-align:right; font-variant-numeric:tabular-nums; }

  .rows { list-style:none; margin:0; padding:0; }
  .rows li { display:flex; gap:12px; align-items:baseline; padding:9px 0; border-bottom:1px solid var(--border); }
  .rows li:first-child { padding-top:0; }
  .rows .when { flex-shrink:0; width:92px; color:var(--faint); font-size:12px; font-variant-numeric:tabular-nums; }
  .rows .what { min-width:0; }
  .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; }
  .rows .what a:hover { color:var(--gold); }
  .rows .sub { color:var(--muted); font-size:12px; display:block; }
  .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; }

  .atlas-area { margin:0 0 16px; }
  .atlas-area h3 { font-size:12.5px; margin:0 0 4px; }
  .atlas-area .q { color:var(--muted); font-size:12px; margin:0 0 6px; }

  table.wide { width:100%; border-collapse:collapse; font-size:12.5px; }
  table.wide th, table.wide td { padding:6px 8px; border-bottom:1px solid var(--border); text-align:left; }
  table.wide thead th { font-size:10.5px; letter-spacing:.6px; text-transform:uppercase; color:var(--faint); }
  .table-scroll { overflow-x:auto; }

  .trend { position:relative; background:var(--panel); border:1px solid var(--border); border-radius:10px;
           padding:12px 12px 6px; margin:0 0 14px; }
  .trend svg { display:block; width:100%; height:auto; overflow:visible; }
  .trend .ax { stroke:var(--border); stroke-width:1; }
  .trend .dot { fill:var(--pro); opacity:.75; }
  .trend .dot:hover, .trend .dot:focus { opacity:1; }
  .trend .axlabel { fill:var(--faint); font-size:10px; }
  .trend-legend { color:var(--faint); font-size:11px; margin:6px 0 0; }

  .state { color:var(--muted); font-size:13.5px; padding:10px 2px; }
  .state.error { color:var(--anti-text); display:flex; align-items:center; gap:12px; flex-wrap:wrap; }
  .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; }
  .state.error button:hover { border-color:var(--gold); color:var(--gold); }
  #page[hidden] { display:none; }

  a:focus-visible, button:focus-visible, select:focus-visible, [tabindex]:focus-visible {
    outline:2px solid var(--gold); outline-offset:2px; border-radius:3px; }
  .vh { position:absolute; width:1px; height:1px; margin:-1px; padding:0; overflow:hidden;
        clip:rect(0 0 0 0); white-space:nowrap; border:0; }
  [hidden] { display:none !important; }
  @media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { animation-duration:.01ms !important; animation-iteration-count:1 !important;
                             transition-duration:.01ms !important; }
  }
