/* Texas Toy Lab design tokens: variables only (the 10/10 plan, 2026-09-29: "Paper, Ink & Plastic").
   Stamped at the top of every <head> by tools/site-chrome.py, before the page's own styles.
   Colour means a job: coral buys, sun makes and learns, teal visits, white goes somewhere else, ink is structure. */
:root{
  /* paper */
  --paper:#fff6e9;--card:#ffffff;--sand:#f6ead6;--well-pocket:#faf1e3;--kraft:#e8d3a9;--kraft-lite:#f5ead4;
  --tint-lilac:#f2ecff;--tint-butter:#fff3c9;--tint-mint:#e7f9df;--tint-sky:#e6f6fb;
  --night:#1b1530;--ink-deep:#2b2344;
  --dots:radial-gradient(rgba(43,35,68,.08) 1.6px,transparent 1.6px);--dots-size:26px 26px;
  /* place grounds: an area page's first band and its crumb only */
  --place-idea-desk:#fff3c9;--place-normans-rack:#ece6ff;--place-printer-ranch:#ffe6de;
  --place-test-bench:#e7f9df;--place-front-porch:#fde9d0;--place-back-forty-trail:#efe6d2;
  /* text (opacity on text is banned: use --muted) */
  --ink:#2b2344;--muted:#5f5873;--teal-ink:#0f6b5f;--error:#c0392b;--error-fill:#fdecea;--chip-green:#7ed957;--on-night:#f3ecdf;--on-night-muted:#d8cfe0;
  /* fills: always ink text on a 3px ink border */
  --coral:#ff5d5d;--sun:#ffc933;--teal:#2bc6b0;--lilac:#e2d9ff;
  /* type */
  --f-display:'Lilita One',system-ui,sans-serif;
  --f-body:'Nunito',system-ui,-apple-system,'Segoe UI',Arial,sans-serif;
  --f-hand:'Caveat','Bradley Hand','Segoe Print',cursive;
  --f-mono:'Space Mono',ui-monospace,Menlo,monospace;
  --fs-display:clamp(2.5rem,1.73rem + 3.15vw,4.25rem);
  --fs-h1:clamp(2.25rem,1.7rem + 2.25vw,3.5rem);
  --fs-h2:clamp(1.75rem,1.31rem + 1.8vw,2.75rem);
  --fs-h2-doc:clamp(1.5rem,1.24rem + 1.05vw,2rem);
  --fs-h3:clamp(1.25rem,1.18rem + .3vw,1.4rem);
  --fs-lede:clamp(1.125rem,1.07rem + .22vw,1.25rem);
  --fs-body:clamp(1.0625rem,1.04rem + .1vw,1.125rem);
  --fs-small:.9rem;--fs-label:.8125rem;--fs-mono:.8125rem;
  --fs-hand:clamp(1.25rem,1.2rem + .2vw,1.375rem);
  /* space: 4 8 12 16 24 32 48 64 96 */
  --s-1:4px;--s-2:8px;--s-3:12px;--s-4:16px;--s-5:24px;--s-6:32px;--s-7:48px;--s-8:64px;--s-9:96px;
  --section:64px;
  --w-page:1120px;--w-text:680px;--w-wide:1240px;--measure:34em;
  --gutter:16px;
  /* shape: nothing else */
  --r-tag:10px;--r-card:18px;--r-panel:26px;--r-pill:999px;
  --sh-1:2px 2px 0 var(--ink);--sh-2:4px 4px 0 var(--ink);--sh-3:6px 6px 0 var(--ink);--sh-4:8px 8px 0 var(--ink);
  --sh-paper:0 1px 0 rgba(43,35,68,.08),0 8px 18px -8px rgba(60,38,20,.35);
  --backdrop:rgba(60,38,20,.42);
  /* motion */
  --t-tap:90ms;--t-quick:140ms;--t-base:220ms;--t-exit:150ms;--t-show:450ms;
  --ease-out:cubic-bezier(.2,.8,.2,1);--ease-in:cubic-bezier(.4,0,1,1);--ease-pop:cubic-bezier(.34,1.56,.64,1);
  /* sticky chrome */
  --ttl-head:67px;
}
@media (min-width:768px){:root{--gutter:24px;--ttl-head:72px;--section:96px}}
