/* design/tokens.css · row PL-03 · the one stylesheet of custom properties every screen of Revenue Operations uses.
   Roles only, copied BY VALUE from the Shannon primitives; nothing here is imported from another repository.
   Sources: "Desktop L<n>" = shannon-desktop-frontend app/src/global/tokens.css line n; "TOOLS_ROOM §2" =
   ~/Desktop/TOOLS_ROOM.md section 2; "DESIGN §n" = this repository's DESIGN.md. Light only (DESIGN §3: no dark mode in
   the first build). Tokens only: no selector here but :root, no component rule. Every text and ground pair is read by
   scripts/contrast_check.mjs against WCAG 2.2 (4.5:1 text, 3:1 large text and UI). */

:root {
  /* grounds */
  --bg-1: #F4F1EA; /* ground · Desktop L68 --cream, L125 --bg-1 */
  --paper: #FBFAF6; /* raised: cards, tiles, the dock, the peek · Desktop L67 --paper */
  --bg-2: #EAE6DC; /* sunk · Desktop L69 --cream-2, L126 --bg-2 */

  /* inks (text) */
  --fg-1: #171D1A; /* ink 1: titles, numbers, first column · Desktop L74 --ink, L108 --fg-1 */
  --fg-2: #3A413E; /* ink 2: body and table cells · Desktop L73 --graphite, L109 --fg-2 */
  --fg-3: #505854; /* ink 3: meta, read-at, identity · Desktop L72 --slate; DESIGN §3 (slate darkened, law 2) */
  --fg-on-ink: var(--paper); /* text on an ink ground: the table head · DESIGN C-TABLE; invroom house table (th on ink) */
  --fg-quiet: rgba(23, 29, 26, 0.52); /* quiet ink: a not-yet-built tile, a disabled control; UI 3:1 · Desktop L428 --soft */

  /* rules */
  --rule-1: rgba(23, 29, 26, 0.10); /* hairline: table grid, separators · Desktop L133 --border-1 */
  --rule-2: rgba(23, 29, 26, 0.18); /* structural edge: card and tile edge · Desktop L134 --border-2, L784 --card-edge */
  --rule-strong: rgba(23, 29, 26, 0.85); /* a rule that identifies a control: the boxless entry's baseline · Desktop L135 --border-strong */

  /* signal (mint: the full stop, the current dock mark, a lit border, focus; nowhere else · DESIGN §3) */
  --signal: #4AE68A; /* mint, a mark never a text colour (1.43:1 on bg-1) · Desktop L85 --mint-500, L101 --signal */
  --signal-deep: #117A47; /* mint as text on light grounds, paper and bg-1 only (4.32:1 on bg-2) · Desktop L86 --mint-700, ruled use L96 */

  /* warn */
  --warn: #F2B544; /* amber, a fill or mark only · Desktop L103 --warn */
  --warn-ink: #7A5410; /* amber as text on light grounds · Desktop L413 --warn-ink */

  /* focus */
  --focus-ink: var(--signal-deep); /* the ring's solid line, 3:1 on every ground · DESIGN §3 (focus is signal); WCAG 2.2 SC 1.4.11 */
  --focus-ring: 0 0 0 2px var(--focus-ink), 0 0 0 5px rgba(74, 230, 138, 0.35); /* deep line, then the mint halo · Desktop L383 --shadow-focus */

  /* lifts */
  --lift-1: 0 1px 0 rgba(23, 29, 26, 0.05), 0 2px 10px rgba(23, 29, 26, 0.07); /* rest: tiles, the dock, cards · Desktop L785 --card-lift */
  --lift-2: 0 1px 0 rgba(23, 29, 26, 0.04), 0 4px 14px rgba(23, 29, 26, 0.10); /* raised: hover on a tile, the peek · Desktop L786 --card-lift-hover */

  /* radius */
  --radius-table: 2px; /* tables · Desktop L539 --r-1; DESIGN §3 radius */
  --radius-control: 8px; /* controls, cards, dock items · Desktop L502 --radius; DESIGN §3 radius */
  --radius-dock: 12px; /* the dock and the department tiles · DESIGN §3 radius (12 the dock); tiles per the PL-03 brief */

  /* spacing */
  --space-1: 4px; /* Desktop L264 */
  --space-2: 8px; /* Desktop L265 */
  --space-3: 12px; /* Desktop L266 */
  --space-4: 16px; /* Desktop L267 */
  --space-5: 24px; /* Desktop L268 */
  --space-6: 32px; /* Desktop L269 */
  --space-7: 48px; /* Desktop L511 --space-7 */

  /* type: face */
  --font-sans: "Inter", "Helvetica Neue", Arial, sans-serif; /* Desktop L197; DESIGN §3 face (self-hosted file owed to the row that serves it) */
  --num-tabular: "tnum" 1, "cv05" 1; /* figures in every table and number · Desktop L200 */

  /* type: ramp, never computed (TOOLS_ROOM §2) */
  --fs-display: 34px; /* the sign-in title only · DESIGN §3 type ramp (ruled 8 Oct, PL-06 eyes-on); Desktop --t-h1 34 */
  --fs-title: 26px; /* title · Desktop L212 --t-h2-size; TOOLS_ROOM §2 */
  --fs-number: 20px; /* the number box value · Desktop L213 --t-h3-size; TOOLS_ROOM §2 */
  --fs-body: 16px; /* body · Desktop L227 --t-body-size */
  --fs-table: 14px; /* table cells and controls · Desktop L228 --t-small-size */
  --fs-meta: 13px; /* meta, read-at · Desktop L254 --t-meta-size */
  --fs-caption: 12px; /* caption, identity · Desktop L253 --t-caption-size */
  --lh-title: 1.16; /* Desktop L212 --t-h2-lh */
  --lh-number: 1.25; /* Desktop L213 --t-h3-lh */
  --lh-body: 1.55; /* Desktop L227 --t-body-lh */
  --lh-table: 1.50; /* Desktop L228 --t-small-lh */
  --lh-meta: 1.50; /* Desktop L254 --t-meta-lh */
  --lh-caption: 1.40; /* Desktop L253 --t-caption-lh */
  --tr-display: -0.03em; /* the sign-in title, 34/700 · DESIGN §3 type ramp (ruled 8 Oct, PL-06 eyes-on) */
  --tr-title: -0.022em; /* department titles, 26/700 · DESIGN §3 type ramp (ruled 8 Oct, PL-06 eyes-on); was Desktop L212 --t-h2-tr -0.018em */
  --tr-number: -0.012em; /* Desktop L213 --t-h3-tr */

  /* type: weights (no 800 or 900 in this product · DESIGN §3) */
  --w-read: 400; /* reading · Desktop L227 --t-body-w */
  --w-control: 500; /* controls at rest · Desktop L436 --w-rest */
  --w-emph: 600; /* emphasis, table heads, first column · Desktop L437 --w-emph */
  --w-title: 700; /* titles, numbers, the wordmark, the identity · Desktop L438 --w-display */

  /* motion: one curve, four bands (TOOLS_ROOM §2); reduced motion zeroes the bands below */
  --ease: cubic-bezier(0.2, 0.7, 0.2, 1); /* Desktop L394 --ease-out; TOOLS_ROOM §2 */
  --dur-hover: 120ms; /* hover changes the ground and nothing else · Desktop L396 --dur-1 */
  --dur-state: 200ms; /* state, the dock swap · Desktop L397 --dur-2; DESIGN §4 */
  --dur-change: 320ms; /* department and tab change, the peek · Desktop L398 --dur-3; DESIGN C-TRANSITION */
  --dur-reveal: 600ms; /* first reveal, nothing longer · Desktop L399 --dur-4 */

  /* measure and chrome */
  --measure: 1180px; /* content max width · DESIGN §3 measure; CLAUDE.md §5 composition */
  --chrome-h: 52px; /* the top line: wordmark left, identity right · DESIGN §4; Desktop L764 --page-head-h */
  --col-entry: 380px; /* the sign-in column's widest · DESIGN §5 C-ENTRY (ruled 8 Oct, PL-06 eyes-on) */
  --target-min: 44px; /* every control's minimum box · CLAUDE.md §5 target size; Desktop L471 --h-cta */

  /* wordmark and identity */
  --wordmark-size: 16px; /* "Revenue." · Desktop L322 --rail-wordmark-size */
  --wordmark-weight: 700; /* Desktop L323 --rail-wordmark-weight */
  --tr-wordmark: -0.025em; /* "Revenue." at 16/700 · DESIGN §3 type ramp (ruled 8 Oct, PL-06 eyes-on) */
  --wordmark-stop: var(--signal); /* the mint full stop · DESIGN §7 copy */
  --identity-size: 12px; /* email and Sign out, top right · DESIGN C-IDENTITY */
  --identity-weight: 700; /* the wordmark's weight · DESIGN C-IDENTITY */
  --identity-ink: var(--fg-3); /* at rest; ink 1 on hover only · DESIGN C-IDENTITY */

  /* dock */
  --dock-item-h: 44px; /* a dock item is a full target · CLAUDE.md §5; Desktop L301 --row-height */
  --dock-pad: 4px; /* inset of the items inside the dock · Desktop L264 --space-1 */
  --dock-h: calc(var(--dock-item-h) + 2 * var(--dock-pad)); /* 52px, the same as the chrome line · DESIGN §4 */
  --dock-offset: 16px; /* floats above the bottom edge, plus the safe area · DESIGN §4 */

  /* department grid and tiles */
  --tile-h: 128px; /* one height for every tile · DESIGN C-GRID; Desktop L279 --catalog-row-h (a door's rhythm); PL-11 rules it */
  --tile-gap: 24px; /* between tiles · Desktop L410 --grid-gutter */
  --grid-cols: 3; /* 3 across, 2 down · DESIGN C-GRID */
  --grid-cols-narrow: 2; /* under 720px · DESIGN C-GRID */
}

@media (prefers-reduced-motion: reduce) {
  :root {
    --dur-hover: 0ms; /* reduced motion removes all · DESIGN §3 motion */
    --dur-state: 0ms; /* DESIGN §3 motion */
    --dur-change: 0ms; /* DESIGN §3 motion */
    --dur-reveal: 0ms; /* DESIGN §3 motion */
  }
}
