/* Pathluz · "Shiftlight" design tokens (name decided Oct 30, 2026; wordmark is plain text, swap in one place: --wm / .wm).
   Daylight paper, pine ink, hi-vis signal orange, transit-route lines. Contrast pairs measured in _build/check.py. */
@font-face{font-family:"Bricolage";src:url(../assets/fonts/bricolage.woff2?v=a79fdb52d4) format("woff2");font-weight:200 800;font-display:swap}
@font-face{font-family:"Instrument Sans";src:url(../assets/fonts/instrumentsans.woff2?v=305336b4b1) format("woff2");font-weight:400 700;font-stretch:75% 100%;font-display:swap}
:root{
  /* surfaces */
  --paper:#F6F1E7;        /* page: warm limestone daylight */
  --card:#FFFCF5;         /* cards, sheets, inputs */
  --card-2:#EFE8DA;       /* recessed rows, chat guide bubble */
  --line:#D9D1C2;         /* hairlines (decorative) */
  --line-strong:#8C877B;  /* borders, unselected radios (3.5:1 non-text) */
  /* ink */
  --ink:#14211D;          /* primary text 14.8:1 on paper */
  --muted:#3D4943;        /* secondary text 8.4:1 on paper */
  --on-dark:#FFFCF5;
  /* brand */
  --pine:#1E4A3D;         /* primary button fill (9.8:1 with --on-dark) */
  --pine-press:#163A30;
  --signal:#E8590C;       /* hi-vis orange: route lines, dots, focus halo. NON-TEXT ONLY (3.2:1) */
  --signal-ink:#8A3305;   /* orange text: eyebrows, links-on-accent 7.3:1 */
  --sun:#F4B63F;          /* morning light, selection highlight fill (ink 9.2:1) */
  --sun-soft:#FBEBC2;     /* selected chip/option fill */
  /* AI label (required on every guide) */
  --ai-bg:#FDE6D3; --ai-ink:#6E2804;          /* 8.9:1 */
  /* health (education only) */
  --health:#E2EDF2; --health-ink:#0E3345; --health-line:#1C5873;  /* 11.2:1 */
  /* emergency */
  --sos:#9E1B1B; --on-sos:#FFFCF5;            /* 7.8:1 */
  /* school mode */
  --school:#E7E3F4; --school-ink:#2B2457;
  /* route colors per category (non-text marks, always paired with an icon + text label + dash pattern).
     v2 colour-blind pass (Oct 2026): every pair keeps CIEDE2000 >= 12.2 under normal vision, protanopia,
     deuteranopia and tritanopia (Machado 2009, severity 100), and >= 3.1:1 against --paper. See _build/cvd.py.
     before -> after: tech #2F6FD6->#3387F5, trades #E8590C (kept), health #1C5873->#004E6D, business #7A4FB8->#754DB6,
     public #B3261E->#840000, edu #2E8B57->#2E985A, arts #C2417A->#AE7A88, transport #B7791F->#A64101,
     science #4E7D2A->#526949, law #5B5F66->#785F6B, hosp #A65A2A->#4E4442, mfg #55708A->#6B7BA4 */
  --r-tech:#3387F5;      /* signal blue */
  --r-trades:#E8590C;    /* hi-vis orange (= --signal) */
  --r-health:#004E6D;    /* deep harbour teal */
  --r-business:#754DB6;  /* violet */
  --r-public:#840000;    /* engine red, deep */
  --r-edu:#2E985A;       /* chalkboard green */
  --r-arts:#AE7A88;      /* dusty rose */
  --r-transport:#A64101; /* burnt amber */
  --r-science:#526949;   /* moss */
  --r-law:#785F6B;       /* mauve slate */
  --r-hosp:#4E4442;      /* espresso */
  --r-mfg:#6B7BA4;       /* steel blue (Engineering + Manufacturing share this route; icons and labels differ) */
  /* route dash patterns per category: dash length / gap. Gap 0 = solid. Used by .rl / .ftile / .route lines. */
  --rd-tech:14px;  --rg-tech:5px;
  --rd-trades:1px; --rg-trades:0px;
  --rd-health:4px; --rg-health:4px;
  --rd-business:8px; --rg-business:4px;
  --rd-public:22px; --rg-public:4px;
  --rd-edu:6px; --rg-edu:7px;
  --rd-arts:3px; --rg-arts:3px;
  --rd-transport:12px; --rg-transport:9px;
  --rd-science:2px; --rg-science:6px;
  --rd-law:10px; --rg-law:2px;
  --rd-hosp:18px; --rg-hosp:11px;
  --rd-mfg:5px; --rg-mfg:2px;
  --focus:#14211D; --focus-halo:#F4B63F;
  /* type */
  --f-display:"Bricolage","Instrument Sans",system-ui,sans-serif;
  --f-body:"Instrument Sans",system-ui,-apple-system,sans-serif;
  /* radii & spacing (4pt grid) */
  --r-field:12px; --r-card:20px; --r-hero:28px; --r-sheet:28px; --r-pill:999px;
  --gutter:20px; --tap:44px; --btn-h:52px; --row-h:56px;
  /* motion: transform + opacity only */
  --e-out:cubic-bezier(.2,.7,.2,1); --t-press:140ms; --t-state:240ms; --t-sheet:320ms;
  --breathe:9s; --light-drift:14s;
  color-scheme:light;
}
@media (prefers-reduced-motion:reduce){ :root{--t-press:0ms;--t-state:0ms;--t-sheet:0ms} }
