/* ============================================================
   FIBRIC design tokens — single source of truth.
   Model: Anthropic. Serif statements (Source Serif 4, the Tiempos
   role) over a sans working voice (General Sans, the Styrene role),
   Spline Sans Mono for data labels. Warm ivory paper, white cards
   with soft layered shadows, 12px surfaces, pill buttons, generous
   air. Locked 2026-07-02.
   ============================================================ */
@import url('https://fonts.googleapis.com/css2?family=Source+Serif+4:ital,opsz,wght@0,8..60,300..700;1,8..60,400&family=Spline+Sans+Mono:wght@400;500;600&display=swap');
@font-face{font-family:'General Sans';src:url('/fonts/general-sans-400.woff2') format('woff2');font-weight:400;font-display:swap;font-style:normal}
@font-face{font-family:'General Sans';src:url('/fonts/general-sans-500.woff2') format('woff2');font-weight:500;font-display:swap;font-style:normal}
@font-face{font-family:'General Sans';src:url('/fonts/general-sans-600.woff2') format('woff2');font-weight:600;font-display:swap;font-style:normal}
@font-face{font-family:'General Sans';src:url('/fonts/general-sans-700.woff2') format('woff2');font-weight:700;font-display:swap;font-style:normal}

:root{
  /* surfaces — warm ivory, white cards */
  --paper:#f2efe7; --paper-2:#eae5d9; --paper-3:#e0d9c8; --card:#fdfcf9;
  --ink:#191713; --ink-2:#40382e; --mid:#6e6354; --faint:#a59a86;
  --line:rgba(26,22,17,.13); --line-2:rgba(26,22,17,.22);

  /* cinematic dark family — heroes, dark sections, footer */
  --night:#16110d; --night-2:#1e1810; --night-3:#291f16;
  --cream:#f3efe6; --cream-2:#ccc2b0; --cream-3:#8f8472; --night-line:#342a20;

  /* THE accent — oxblood — plus bronze, tied to the centerpiece */
  --clay:#963626; --clay-deep:#75271b; --bronze:#c68f49; --bronze-deep:#a9762f;
  /* legacy aliases so older markup keeps resolving */
  --grad:linear-gradient(90deg,#963626,#c68f49);
  --lime:#c68f49; --green:#7b8f6b; --coral:#963626; --sky:#8a7e6a;

  /* type — statement serif over a working sans */
  --statement:"Source Serif 4",Georgia,"Times New Roman",serif;
  --serif:"Source Serif 4",Georgia,"Times New Roman",serif;
  --display:"General Sans",-apple-system,"Helvetica Neue",Arial,sans-serif;
  --sans:"General Sans",-apple-system,"Helvetica Neue",Arial,sans-serif;
  --mono:"Spline Sans Mono",ui-monospace,"SF Mono",Menlo,monospace;

  /* layout */
  --maxw:1240px; --gutter:clamp(1.25rem,5vw,5rem);
  /* radius ladder: soft surfaces, pill actions */
  --r-pill:999px; --r-card:12px; --r-sm:8px;
  /* depth: quiet, warm, layered — not flat, not floating glass */
  --shadow-hsl:30 28% 11%;
  --shadow-card:0 1px 2px rgba(26,22,17,.04), 0 8px 24px -16px rgba(26,22,17,.14);
  --shadow-float:0 2px 4px rgba(26,22,17,.05), 0 20px 48px -24px rgba(26,22,17,.22);

  /* fluid type scale — statements get real size; body sits at ~17px */
  --s5:clamp(2.6rem,1.5rem + 4.8vw,5.2rem);
  --s4:clamp(2.1rem,1.4rem + 2.9vw,3.6rem);
  --s3:clamp(1.6rem,1.3rem + 1.4vw,2.35rem);
  --s2:clamp(1.22rem,1.1rem + .6vw,1.52rem);
  --s1:clamp(1.04rem,1rem + .2vw,1.14rem);
  --s0:clamp(.95rem,.93rem + .1vw,1rem);
  --sm:.75rem;
}

/* ---- DARK theme — docs / API reference (warm, not cold) ---- */
:root[data-theme="dark"], .docs-dark{
  --paper:#14110d; --paper-2:#1b160f; --card:#1f180f; --line:#2c241a; --line-2:#352b1f;
  --ink:#f3efe6; --ink-2:#cdc3b0; --mid:#9a8f7c; --faint:#6b6253;
  --code-bg:#0f0c08; --code-line:#241d14; --code-ink:#ece6da; --kbd:#1b160f;
  --night:#0f0c08; --cream:#f3efe6;
  --shadow-float:0 24px 60px -22px rgba(0,0,0,.6);
  --shadow-card:0 1px 0 rgba(255,255,255,.02), 0 18px 40px -28px rgba(0,0,0,.5);
}
