/* ═══════════════════════════════════════════════════════════════════
   APS Design Tokens — single shared source of truth (PDF §8.1 / §8.3)
   Warm-neutral base retained; accent palette + dark-mode infrastructure.
   Enqueued globally so every template/widget can share one scheme.
   ═══════════════════════════════════════════════════════════════════ */
:root{
  /* ── Surfaces & text (warm neutral base — kept) ── */
  --aps-bg:#FAF8F4;
  --aps-surface:#FFFFFF;
  --aps-border:#E8E2D2;
  --aps-t1:#1A1A1A;
  --aps-t2:#5C5950;
  --aps-t3:#8A857A;

  /* ── Semantic pairs ── */
  --aps-good-bg:#E8F1D8; --aps-good-fg:#3F5E11;
  --aps-warn-bg:#FAEBC9; --aps-warn-fg:#7A4F08;
  --aps-bad-bg:#F4D9CF;  --aps-bad-fg:#9A2D14;

  /* ── Accent palette (PDF §8.3) ── */
  --aps-blue:#2563EB;   /* CTAs, links, active, score highlights */
  --aps-navy:#1B2A4A;   /* banners, table headers, nav bar       */
  --aps-gold:#D97706;   /* star ratings, score badges ≥ 8.0       */
  --aps-green:#16A34A;  /* pros, good scores, win badges          */
  --aps-amber:#D97706;  /* warnings, average scores               */
  --aps-red:#DC2626;    /* cons, risks, bad scores                */
  --aps-oled:#0A0A0A;   /* special OLED hero treatment            */

  /* ── Radius ── */
  --aps-radius:12px;
  --aps-radius-sm:8px;
  --aps-radius-pill:20px;

  /* ── Type scale (PDF §8.2) ── */
  --aps-h1:30px; --aps-h2:20px; --aps-h3:16px;
  --aps-body:15px; --aps-small:12px;
  --aps-font:-apple-system,BlinkMacSystemFont,"Inter","Segoe UI",Roboto,Helvetica,Arial,sans-serif;
}

/* ── Dark mode ──────────────────────────────────────────────────────
   Two ways in: explicit body.aps-dark (toggle), or system preference
   when body carries .aps-auto-dark. Only redefines tokens, so any
   component built on --aps-* adapts automatically. */
body.aps-dark{
  --aps-bg:#0F0E0C;
  --aps-surface:#1A1815;
  --aps-border:#2C2820;
  --aps-t1:#F2EEE6;
  --aps-t2:#B8B0A2;
  --aps-t3:#8C857A;
  --aps-good-bg:#1E2A12; --aps-good-fg:#A8D86A;
  --aps-warn-bg:#2E2410; --aps-warn-fg:#E7B85C;
  --aps-bad-bg:#2E1712;  --aps-bad-fg:#F0937E;
}
@media (prefers-color-scheme: dark){
  body.aps-auto-dark{
    --aps-bg:#0F0E0C;
    --aps-surface:#1A1815;
    --aps-border:#2C2820;
    --aps-t1:#F2EEE6;
    --aps-t2:#B8B0A2;
    --aps-t3:#8C857A;
    --aps-good-bg:#1E2A12; --aps-good-fg:#A8D86A;
    --aps-warn-bg:#2E2410; --aps-warn-fg:#E7B85C;
    --aps-bad-bg:#2E1712;  --aps-bad-fg:#F0937E;
  }
}
