
  :root{
    color-scheme: light;
    --plane:#f9f9f7; --surface:#fcfcfb;
    --ink:#0b0b0b; --ink2:#52514e; --muted:#898781;
    --grid:#e1e0d9; --axis:#c3c2b7; --border:rgba(11,11,11,0.10);
    --blue:#2a78d6; --blue-l:#cde2fb; --good:#0ca30c;
    --warn:#fab219; --crit:#d03b3b; --violet:#4a3aa7; --orange:#eb6834;
    --brand:#2f6b3a; --brand-l:#e4efe6;
  }
  @media (prefers-color-scheme: dark){
    :root{
      color-scheme: dark;
      --plane:#0d0d0d; --surface:#1a1a19;
      --ink:#fff; --ink2:#c3c2b7; --muted:#898781;
      --grid:#2c2c2a; --axis:#383835; --border:rgba(255,255,255,0.10);
      --blue:#3987e5; --blue-l:#184f95; --brand:#5a9e68; --brand-l:#1e2f22;
    }
  }
  *{box-sizing:border-box}
  html,body{margin:0;background:var(--plane);color:var(--ink);
    font-family:system-ui,-apple-system,"Segoe UI",sans-serif;font-size:14px;line-height:1.45}
  .wrap{max-width:1240px;margin:0 auto;padding:20px 22px 60px}
  header.top{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap;margin-bottom:6px}
  h1{font-size:20px;margin:0;color:var(--brand);font-weight:700}
  .sub{color:var(--ink2);font-size:12.5px;margin-top:2px}
  .badge{display:inline-block;font-size:11px;font-weight:600;letter-spacing:.03em;
    padding:3px 9px;border-radius:999px;background:var(--blue-l);color:var(--blue);border:1px solid var(--border)}
  .badge.anon{background:var(--brand-l);color:var(--brand)}
  .note{background:var(--surface);border:1px solid var(--border);border-left:3px solid var(--warn);
    border-radius:8px;padding:10px 13px;font-size:12.5px;color:var(--ink2);margin:14px 0 14px}
  .note b{color:var(--ink)}
  .stamp{display:flex;gap:18px;flex-wrap:wrap;font-size:12px;color:var(--ink2);margin-top:6px}
  .stamp span b{color:var(--ink)}
  .timebar{background:var(--surface);border:1px solid var(--border);border-radius:10px;
    padding:11px 14px;margin-bottom:16px;display:flex;gap:14px;align-items:center;flex-wrap:wrap}
  .presets{display:flex;gap:5px;flex-wrap:wrap}
  .preset{appearance:none;border:1px solid var(--border);background:var(--plane);color:var(--ink2);
    font:inherit;font-size:12px;font-weight:600;padding:5px 11px;border-radius:999px;cursor:pointer}
  .preset:hover{color:var(--ink)}
  .preset.on{background:var(--brand);color:#fff;border-color:var(--brand)}
  .tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;margin-bottom:18px}
  .tile{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:13px 15px}
  .tile .k{font-size:11.5px;color:var(--muted);font-weight:600;letter-spacing:.02em;text-transform:uppercase}
  .tile .v{font-size:21px;font-weight:700;margin-top:3px}
  .tile .s{font-size:11.5px;color:var(--ink2);margin-top:2px}
  .controls{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:12px}
  select,input[type="search"]{font:inherit;padding:6px 9px;border-radius:8px;border:1px solid var(--border);
    background:var(--surface);color:var(--ink)}
  label.fl{font-size:12px;color:var(--muted);font-weight:600}
  label.ck{font-size:12.5px;color:var(--ink2);display:flex;align-items:center;gap:5px;cursor:pointer}
  .card{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:14px 16px;margin-bottom:18px;overflow-x:auto}
  .card h2{font-size:14px;margin:0 0 4px;color:var(--ink)}
  .card .lede{font-size:12.5px;color:var(--ink2);margin:0 0 12px}
  table{border-collapse:collapse;width:100%;min-width:1080px;font-size:13px}
  thead th{font-size:11px;text-transform:uppercase;letter-spacing:.03em;color:var(--muted);
    text-align:right;padding:7px 9px;border-bottom:2px solid var(--grid);white-space:nowrap;cursor:pointer;user-select:none}
  thead th.l{text-align:left}
  thead th.sorted{color:var(--brand)}
  thead tr.grp th{cursor:default;border-bottom:1px solid var(--grid);color:var(--ink2);font-weight:700;text-align:center;padding:5px 9px}
  tbody td{padding:7px 9px;border-bottom:1px solid var(--grid);text-align:right;white-space:nowrap}
  tbody td.l{text-align:left;font-weight:600}
  tbody tr{cursor:pointer}
  tbody tr:hover td, tbody tr.sel td{background:var(--brand-l)}
  tbody tr.me td{background:var(--brand-l);box-shadow:inset 3px 0 0 var(--brand)}
  tbody tr.me td.l{color:var(--brand)}
  .tag{font-size:10.5px;font-weight:600;border-radius:999px;padding:1px 7px;border:1px solid var(--border);margin-left:6px}
  .tag.former{color:var(--muted)}
  .tag.nogps{color:var(--orange);border-color:var(--orange)}
  .tag.norev{color:var(--violet);border-color:var(--violet)}
  .tag.incidental{color:var(--warn);border-color:var(--warn)}
  .bar{display:inline-block;height:8px;border-radius:4px;background:var(--brand);vertical-align:middle;margin-right:6px;min-width:2px}
  .bar.mi{background:var(--blue)}
  .pos{color:var(--good)} .neg{color:var(--crit)}
  .detail{display:none}
  .detail.show{display:block}
  .dhead{display:flex;justify-content:space-between;align-items:baseline;flex-wrap:wrap;gap:8px}
  .chips{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0 14px}
  .chip{border:1px solid var(--border);border-radius:8px;padding:6px 11px;background:var(--plane)}
  .chip .k{font-size:10.5px;color:var(--muted);font-weight:600;text-transform:uppercase;letter-spacing:.02em}
  .chip .v{font-size:15px;font-weight:700}
  .charts{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:14px}
  .chart h3{font-size:12px;margin:0 0 6px;color:var(--ink2);text-transform:uppercase;letter-spacing:.03em}
  svg{display:block;width:100%;height:auto}
  .hint{font-size:12px;color:var(--muted);margin-top:4px}
  .finding{background:var(--brand-l);border:1px solid var(--border);border-radius:8px;
    padding:10px 13px;font-size:13px;margin-top:12px}
  .finding b{color:var(--brand)}
  .houses{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px}
  .house{border:1px solid var(--border);border-radius:8px;padding:9px 12px;background:var(--plane)}
  .house .n{font-size:12.5px;font-weight:600}
  .house .v{font-size:16px;font-weight:700;color:var(--brand)}
  footer{font-size:11.5px;color:var(--muted);margin-top:24px}
