/* Theme 34 — "Drawing sheet". Tokens only; no component rule lives here.
 *
 * The direction is lane b of the proposal set and the palette is its palette, which came from the
 * uipro Master (stair-rise-b, catalog schemaVersion 1, verified 2026-08-13): the Master returned
 * one palette, called it light-and-dark capable, and made every value in it dark. That palette is
 * the dark scheme here, at its exact hexes; the light scheme is derived from the same slate ramp
 * and is the default, because this page is read on a phone, outdoors, beside a saw.
 *
 * Ratios in the comments are measured by scripts/analysis/design34_contrast_2026_09_18.py, which
 * holds every pair on the page: text to 4.5:1, a drawn line or a control edge to 3:1.
 */

:root {
  color-scheme: light dark;

  /* --- surfaces ------------------------------------------------------- */
  --paper: #f4f6f8;          /* the sheet field the page sits on */
  --sheet: #ffffff;          /* a plate: answer, table, drawing */
  --sheet-sunk: #eef1f5;     /* input wells, table head, the drawing's ground */
  --grid: #e3e8ee;           /* the drafting grid, decorative only */
  --rule: #c3ccd7;           /* hairline between rows */
  --rule-strong: #78859a;    /* the rule under a heading, a control's edge */

  /* --- ink ------------------------------------------------------------ */
  --ink: #0f172a;            /* 17.9:1 on --sheet */
  --ink-2: #47536a;          /* dimension lines, leaders, secondary notation */
  --ink-3: #5c6880;          /* hatching and extension lines — never body text */

  /* --- the cut line: the one accent, and it means "this is what you cut" */
  --cut: #15803d;
  --cut-ink: #0b5228;        /* the accent as text */
  --cut-soft: #e7f6ec;       /* the fill behind a marked value */
  --warn: #b3261e;
  --warn-soft: #fbeae8;

  /* --- lumber and ground, in a drawing -------------------------------- */
  --board: #dfe5ec;          /* the solid a section cuts through */
  --board-edge: #47536a;
  --waste: #b9c3cf;          /* what ends up on the floor */
  --focus: #0f172a;

  /* --- type ------------------------------------------------------------
   * Two families, both self-hosted, both carrying real tabular figures —
   * measured, not assumed: with `tabular-nums` "1111" and "0000" set to the same
   * width in each (Outfit 236.00, Work Sans 241.61 at 100px).
   * Every NUMBER on this site is Work Sans, including the display-sized ones,
   * because its U+2044 is a real fraction slash (advance 25 against a 45.64
   * solidus) while Outfit's is 1.75x the solidus — the broken two-stroke glyph
   * the operator's note names. Outfit sets headings and plate keys only.
   */
  --face-display: Outfit, ui-sans-serif, system-ui, sans-serif;
  --face-text: "Work Sans", ui-sans-serif, system-ui, sans-serif;
  --face-num: "Work Sans", ui-sans-serif, system-ui, sans-serif;

  --fs-micro: 0.6875rem;   /* 11px — a table's smallest note */
  --fs-mini: 0.75rem;      /* 12px — units, eyebrow, column head */
  --fs-sm: 0.8125rem;      /* 13px — secondary notation */
  --fs-base: 1rem;         /* 16px — body, and the floor a drawing's labels sit at */
  --fs-lg: 1.125rem;       /* 18px */
  --fs-xl: 1.3125rem;      /* 21px — section head */
  --fs-2xl: 1.75rem;       /* 28px — h1 */
  --fs-value: 1.5rem;      /* 24px — a stated quantity in a plate */
  --fs-hero: clamp(2.75rem, 15vw, 4rem);  /* the value carried to the saw */

  --lh-tight: 1.05;
  --lh-snug: 1.3;
  --lh-text: 1.55;
  --track-caps: 0.08em;

  /* --- space: density 7/10, an 8px module ----------------------------- */
  --s1: 0.25rem;
  --s2: 0.5rem;
  --s3: 0.75rem;
  --s4: 1rem;
  --s5: 1.5rem;
  --s6: 2rem;
  --s7: 3rem;

  --wrap: 60rem;
  --fig-max: 27rem;   /* a drawing's widest: past this its 17-unit labels bloat */
  --radius: 2px;      /* drafting: a sheet has corners */
  --radius-lg: 4px;
  --hair: 1px;

  /* --- motion: 2/10. Nothing animates a number into existence. -------- */
  --dur-1: 120ms;
  --dur-2: 200ms;
  --ease: cubic-bezier(0.2, 0.7, 0.3, 1);
}

@media (prefers-color-scheme: dark) {
  :root {
    --paper: #0f172a;        /* Master, verbatim */
    --sheet: #1b2336;        /* Master, verbatim */
    --sheet-sunk: #151d2f;
    --grid: #222c42;
    --rule: #3c4759;
    --rule-strong: #64748b;

    --ink: #f8fafc;
    --ink-2: #b6c2d1;
    --ink-3: #94a3b8;

    --cut: #22c55e;          /* Master, verbatim */
    --cut-ink: #4ade80;
    --cut-soft: #16301f;
    --warn: #f87171;
    --warn-soft: #3a1c1c;

    --board: #334155;        /* Master's --color-secondary */
    --board-edge: #94a3b8;
    --waste: #2a3547;

    --focus: #f8fafc;
  }
}
