/* JDXPro design tokens
   Generated from tokens.json v0.2 by build_tokens.py — do not edit by hand.
   Consumed by Jewlogue and any HTML mockups. */

:root{
  /* neutral */
  --n-900: #14120F;  /* App surface (JewCap dark) */
  --n-800: #1D1A16;  /* Raised surface, app bar */
  --n-700: #2A2621;  /* Outline, dividers on dark */
  --n-600: #3A352E;  /* Ghost button border */
  --n-400: #7A736A;  /* Muted text on dark */
  --n-200: #C9C2B7;  /* Secondary text on dark */
  --n-100: #E8E3DA;  /* Primary text on dark */
  --n-050: #F7F4EE;  /* Confirm screen surface; JewShop surface */
  /* accent */
  --assay-lo: #8A6220;  /* Accent text on light */
  --assay: #C08A2E;  /* Primary action. One per screen. */
  --assay-hi: #E3B45E;  /* Accent on dark, guidance prompts */
  /* state */
  --hold: #C2542F;  /* Credits low, upload stuck, capture blocked */
  --pass: #4E7A4A;  /* Confirmed. Sparingly; never a permanent banner. */
  /* web */
  --paper: #FAF8F3;  /* Jewlogue page background */
  --line: #E2DCD1;  /* Jewlogue rules and borders */
  --ink: #221F1A;  /* Jewlogue body text */
  --muted: #6D665C;  /* Jewlogue secondary text */

  /* type */
  --font-ui: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  --font-mono: 'JetBrains Mono', ui-monospace, 'SF Mono', Menlo, Consolas, monospace;
  --text-hero: 34px;  /* 600 · -1.0px · Weight on Confirm */
  --text-title: 20px;  /* 600 · -0.3px · Screen title */
  --text-body: 15px;  /* 400 · 0.0px · Instructions */
  --text-data: 13px;  /* 400 · 0.0px · SKU, purity, counts */
  --text-label: 9.5px;  /* 600 · 1.7px · Nav section dividers - recede deliberately */
  --text-section: 11px;  /* 600 · 1.3px · Content list headings - structural, must be readable */

  /* space */
  --unit: 8px;
  --screen-margin: 16px;
  --gutter: 12px;

  /* radius */
  --radius-sm: 4px;
  --radius-md: 8px;
  --radius-lg: 16px;
  --radius-pill: 999px;

  /* touch */
  --touch-min: 48px;
  --touch-shutter: 56px;
}

/* Semantic roles — reference these, not the ramp values directly. */
:root{
  --surface: var(--n-900);
  --surface-raised: var(--n-800);
  --outline: var(--n-700);
  --on-surface: var(--n-100);
  --on-surface-muted: var(--n-400);
  --primary: var(--assay);
  --on-primary: #17140F;
  --guidance: var(--assay-hi);
  --error: var(--hold);
  --on-error: var(--n-050);
  --success: var(--pass);
}

/* Confirm screen (JewCap) and JewShop. */
.surface-light{
  --surface: var(--n-050);
  --surface-raised: var(--n-100);
  --outline: var(--n-100);
  --on-surface: var(--n-900);
  --primary: var(--assay-lo);
  --on-primary: var(--n-050);
  --guidance: var(--assay-lo);
}
