/* heresynetwork.com UI tokens v1. All text pairs verified by ../contrast.py formula (see contrast-report.txt). */
:root{
  /* Surfaces */
  --surface-page:#0E0718; --surface-panel:#120A1F; --surface-raised:#1E1530;
  --surface-brand:#FFD23F; /* newsletter band */
  /* Text */
  --text-body:#FFF7FB; --text-secondary:#E6D9F0; --text-meta:#C9B8DC;
  --text-on-light:#0E0718; --text-on-brand-muted:#2A1640;
  /* Brand + verdict */
  --brand-yellow:#FFD23F; --signal:#3DFFB0; --noise:#FF8A8A;
  /* Topics (one accent per topic, same everywhere) */
  --topic-models:#FF7AA8; --topic-research:#00C2FF; --topic-tools:#9EF03A;
  --topic-policy:#FF9A3D; --topic-chips:#B79BFF;
  /* UI lines + focus */
  --border:#8A7AA0; --rule-subtle:#2C2140; --focus:#FFD23F; --focus-width:3px;
  /* Gradients (art only, never under text) */
  --grad-cover:linear-gradient(135deg,#FF7AA8 0%,#B79BFF 45%,#00C2FF 100%);
  --grad-band:linear-gradient(90deg,#3DFFB0,#00C2FF,#B79BFF,#FF7AA8);
  /* Type families */
  --font-serif:"Source Serif 4","Source Serif Pro",Georgia,"Times New Roman",serif;
  --font-sans:Inter,"Helvetica Neue",Arial,system-ui,sans-serif;
  --font-mono:"JetBrains Mono","IBM Plex Mono",ui-monospace,Menlo,monospace; /* ticker, times, data labels ONLY */
  /* Type scale (desktop; mobile overrides below) */
  --fs-display:56px; --lh-display:1.05;  /* cover H1, serif 700 */
  --fs-h2:32px; --lh-h2:1.15;            /* section heads, serif 700 */
  --fs-h3-lead:28px; --fs-h3:22px; --lh-h3:1.2; /* signal headlines, serif 600 */
  --fs-card:18px; --lh-card:1.3;         /* trend + feed headlines, serif 600 */
  --fs-body:17px; --lh-body:1.55;        /* dek/body, sans 400 */
  --fs-small:15px; --lh-small:1.45;      /* noise items, sans */
  --fs-label:13px; --ls-label:.08em;     /* sans 700 uppercase labels, chips, tags */
  --fs-meta:13px; --lh-meta:1.4;         /* mono meta */
  --fw-regular:400; --fw-semibold:600; --fw-bold:700;
  /* Spacing (4px base) */
  --sp-1:4px; --sp-2:8px; --sp-3:12px; --sp-4:16px; --sp-5:24px; --sp-6:32px; --sp-7:48px; --sp-8:64px;
  --gutter:48px; --content-max:1280px;
  /* Radii, borders, elevation */
  --radius-sm:4px; --radius-md:8px; --radius-lg:14px; --radius-pill:999px;
  --rule-accent:4px; --shadow-raised:0 8px 24px rgba(0,0,0,.45);
  /* Sizing + motion */
  --tap-min:44px; --header-h:56px; --ticker-h:44px; --ticker-speed:50; /* px/s */
  --dur-fast:120ms; --dur-base:200ms; --ease:cubic-bezier(.2,.7,.2,1);
}
@media (max-width:767px){:root{
  --fs-display:30px; --fs-h2:24px; --fs-h3-lead:22px; --fs-h3:20px; --gutter:16px;
}}
@media (prefers-reduced-motion:reduce){:root{--dur-fast:0ms;--dur-base:0ms}}
