:root { --fg:#1f2937; --muted:#6b7280; --bg:#ffffff; --header:#1e3a5f;
        --border:#e5e7eb; --tint:#f3f4f6; --link:#1e40af;
        --row-hover:#fafafa; --row-today:#f5f3ff; --row-fresh:#ecfdf5;
        --row-lastwk:#eff6ff; --row-dormant:#fafafa; --row-child:#f9fafb;
        --spark-bg:#fafafa;
        --note-bg:#fef3c7; --note-border:#f59e0b; --note-fg:#1f2937; }
* { box-sizing: border-box; }
body { font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;
       max-width:1100px; margin:0 auto; color:var(--fg); background:var(--bg);
       padding:0 16px 60px 16px; line-height:1.45; }
header.site { background:var(--header); color:white; padding:18px 24px;
              margin:0 -16px 24px -16px; }
header.site h1 { margin:0; font-size:20px; color:#fff; }
header.site nav { margin-top:6px; font-size:13px; opacity:0.9; }
header.site nav a { color:white; text-decoration:none; margin-right:14px; }
header.site nav a:hover { text-decoration:underline; }
header.site .small { color:rgba(255,255,255,0.85); }
h1, h2, h3 { color:var(--fg); }
h2 { border-bottom:2px solid var(--header); padding-bottom:6px;
     margin-top:28px; font-size:18px; }
h3 { font-size:15px; margin-top:18px; }
table { width:100%; border-collapse:collapse; font-size:13px;
        margin-top:8px; }
th { background:var(--tint); text-align:left; padding:8px;
     border-bottom:2px solid var(--border); font-weight:600; }
td { padding:8px; border-bottom:1px solid var(--border);
     vertical-align:top; }
tr:hover td { background:var(--row-hover); }
tr.today td { background:var(--row-today); }
tr.fresh td { background:var(--row-fresh); }
tr.lastwk td { background:var(--row-lastwk); }
tr.dormant td { background:var(--row-dormant); color:var(--muted); }
tr.child td { background:var(--row-child); border-bottom:1px solid var(--border);
              padding-top:3px; padding-bottom:3px; }
tr.child td.nested { padding-left:26px; border-left:3px solid var(--header); }
tr.child td.nested-pad { border-bottom:none; }
.toggle { display:inline-block; width:14px; color:var(--muted);
          font-size:10px; user-select:none; vertical-align:top; }
.toggle-spacer { display:inline-block; width:14px; vertical-align:top; }
.tk { display:inline-block; vertical-align:top; }
.sb-controls a { cursor:pointer; margin:0 6px; }
a { color:var(--link); text-decoration:none; }
a:hover { text-decoration:underline; }
.chip { color:white; padding:2px 8px; border-radius:4px;
        font-size:11px; font-weight:600; letter-spacing:0.3px; }
.muted { color:var(--muted); }
.summary { color:var(--muted); font-size:12px; }
.small { font-size:12px; color:var(--muted); }
.company { display:-webkit-box; -webkit-line-clamp:2; line-clamp:2;
           -webkit-box-orient:vertical; overflow:hidden; max-width:210px;
           margin-top:1px; }
#scoreboard th:first-child, #scoreboard td:first-child { width:250px; }
.stats { display:grid; grid-template-columns:repeat(auto-fit,minmax(140px,1fr));
         gap:12px; margin:14px 0; }
.stat { background:var(--tint); padding:10px 12px; border-radius:6px; }
.stat .k { font-size:11px; color:var(--muted); text-transform:uppercase;
           letter-spacing:0.6px; }
.stat .v { font-size:18px; font-weight:600; margin-top:2px; }
.spark { background:var(--spark-bg); border:1px solid var(--border);
         border-radius:6px; }
.sparktext { fill:var(--muted); }
.disclaimer { background:var(--note-bg); border:1px solid var(--note-border);
              color:var(--note-fg);
              padding:10px 12px; border-radius:6px; font-size:12px;
              margin-top:30px; }
footer { color:var(--muted); font-size:11px; margin-top:30px;
         padding-top:12px; border-top:1px solid var(--border); }
@media (max-width:640px) {
  table, thead, tbody, tr, th, td { font-size:12px; }
  .stats { grid-template-columns:repeat(2,1fr); }
}
/* Auto dark mode — follows the OS / browser color-scheme setting. */
@media (prefers-color-scheme: dark) {
  :root { --fg:#e5e7eb; --muted:#9ca3af; --bg:#0f172a; --header:#1e293b;
          --border:#334155; --tint:#1e293b; --link:#60a5fa;
          --row-hover:#1e293b; --row-today:#241c3a; --row-fresh:#0c2f24;
          --row-lastwk:#0c2740; --row-dormant:#172033; --row-child:#141d2e;
          --spark-bg:#1e293b;
          --note-bg:#3a2a07; --note-border:#a16207; --note-fg:#fde68a; }
}
