/* tokens.css — the single source of brand values (ARCHITECTURE.md D9).
   Direction revised at the W1 watched drive (Travis, 2026-08-13): modern/clean,
   high contrast — bright silvers on deep blacks. The app's brass was carried over
   first and rejected at the same drive ("muddy yellow" on the cool ground — the hue
   only worked against the old warm charcoal). The accent is now **saw-blade red**,
   chosen by Travis from the association he actually carries: a Diablo blade is the
   first thing "kerf" calls to mind for the person this tool is built by and for.
   Freud publishes no hex (Perma-SHIELD is a physical coating, not a brand spec), so
   the value is derived from the coating's appearance and then lifted for legibility
   on this ground: the literal blade red (#d4241c) reads 3.79:1 against --bg and goes
   dull; the shipped value reads 4.96:1. The wood ramp stays as content-accent tokens:
   screenshots and the viewer carry the wood, the chrome stays precise. Every color
   literal in site/ lives in this file; pages and site.css consume var(--…) only. */

:root {
  /* Tell the UA this is a dark surface, so it paints scrollbars (and, at W4, form
     controls) to match instead of rendering light chrome against a near-black page. */
  color-scheme: dark;

  /* Ground — deep neutral blacks, slightly cool */
  --bg:         #0b0c0e;
  --bg-2:       #101215;   /* forward consumer: W5 viewer canvas letterbox / sticky bars */
  --glow:       #15181c;   /* faint cool glow behind the page top */
  --panel:      #131518;
  --panel-2:    #1a1d21;   /* raised: inputs, wells */
  --line:       #26292e;   /* hairlines, borders */
  --line-bright:#3a3f46;   /* hover/focus borders */

  /* Ink — silver scale, high contrast */
  --ink-max:    #f4f6f8;   /* headings — near-white */
  --ink:        #dfe3e8;   /* body — bright silver */
  --ink-dim:    #9aa1a9;   /* secondary */
  --ink-faint:  #79818a;   /* section labels, footer — ships as 11px body text, so it
                              carries the same 4.5:1 floor as --accent: 4.96:1 vs --bg,
                              4.51:1 vs --glow. Was #626970 (3.52:1 / 3.20:1) until
                              round 3 measured it. */

  /* Accent — the single chroma in the chrome (saw-blade red) */
  --accent:        #f0392b;
  --accent-bright: #ff5c4e;   /* forward consumer: W4 primary-button hover / focus ring */

  /* Wood — content-accent ramp (demo/viewer surfaces; not chrome) */
  --amber:      #e08a3c;
  --oak:        #b98a52;
  --oak-light:  #d9b486;
  --cherry:     #9c5a45;
  --walnut:     #6f5039;

  /* Verdict — the app's judgment colors (demo pages consume these later).
     COLLISION, open as CF-0002: --bad is a red, and the brand accent is now also a
     red, so on a viewer surface "this is KerfSense" and "this is impossible in your
     stock" would speak in the same hue. These three values are still inherited from
     the app prototype and have never been derived against this ground — the same
     defect that made the brass muddy. They are re-derived at W5/W6, when a surface
     actually renders a verdict; nothing consumes them today. */
  --good:       #7faa6b;
  --warn:       #d9a441;
  --bad:        #c45a4a;

  /* Derived washes and shadows (kept here so no rgba() literal escapes this file) */
  --shadow-panel: 0 1px 0 rgba(255, 255, 255, 0.03) inset, 0 12px 32px rgba(0, 0, 0, 0.35);
                  /* forward consumer: W5 floating viewer controls (the flat chrome
                     here is deliberate — depth is reserved for overlays) */
  --well:         rgba(255, 255, 255, 0.02);   /* subtle raised wash (current nav item) */
  --accent-wash:  rgba(240, 57, 43, 0.08);     /* forward consumer: W6 cut-list row hover */
  --scrim:        rgba(0, 0, 0, 0.5);          /* forward consumer: W5 drag-drop overlay */

  /* Type — modern sans for the surface; mono for code */
  --font-sans:  ui-sans-serif, system-ui, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  --font-mono:  ui-monospace, "Cascadia Code", "SFMono-Regular", Consolas, monospace;

  /* Layout */
  --max-width: 1080px;
  --measure:   42rem;      /* comfortable line length for prose */
  --radius:    8px;      /* forward consumer: W5 viewer panels / W4 cards. The panel
                            grid dropped it at round 3 — its hairlines moved onto the
                            items, and clipping to a rounded container is what forced
                            the count-dependent idiom that broke. */
  --radius-sm: 4px;      /* consumed in W1: nav pill, focus ring, inline code. (Was
                            annotated as a W4 forward consumer at round 2, which was
                            true then and falsified by [P1.4] and [P1.7].) */
}
