/* 3V3 design tokens — dark-first, in the 3v3.dev brand identity v1 palette (green board). */
:root {
  /* surfaces */
  --v3-substrate: #0D0D0C;
  --v3-canvas: #080807;
  --v3-panel: #161614;
  --v3-panel-2: #1d1d1a;
  --v3-line: #2b2a26;
  /* text */
  --v3-ink: #F4F3EE;
  --v3-dim: #aeada4;
  --v3-mute: #78776f;
  /* accents */
  --v3-green: #2F7A4F;          /* structure + go + primary buttons */
  --v3-green-soft: rgba(47,122,79,.20);
  --v3-copper: #C97B4B;         /* interactive */
  --v3-copper-soft: rgba(201,123,75,.15);
  --v3-copper-bright: #e08e5a;  /* live route preview only */
  --v3-gold: #D8B25E;           /* achievement only */
  /* status (always pair with glyphs: red ✕, amber ▲, green ✓) */
  --v3-red: #e5484d;
  --v3-amber: #e2a33c;
  /* on-fill text */
  --v3-on-green: #F4F3EE;
  --v3-on-copper: #121110;
  --v3-on-amber: #241a06;
  /* board render (canvas only) */
  --v3-mask: #1D5236;
  --v3-pad: #D8B25E;
  --v3-silk: #F4F3EE;
  --v3-tin: #94a0ab;
  --v3-ratsnest: #8fa3b0;
  /* type */
  --v3-font-ui: "IBM Plex Sans", system-ui, sans-serif;
  --v3-font-mono: "IBM Plex Mono", ui-monospace, monospace;
  --v3-font-display: "Chakra Petch", "IBM Plex Sans", system-ui, sans-serif;
  /* geometry */
  --v3-radius-chip: 4px;
  --v3-radius-input: 6px;
  --v3-radius-card: 8px;
  --v3-topbar-h: 48px;
  --v3-toolbar-w: 44px;
  --v3-statusbar-h: 28px;
  /* motion */
  --v3-ease: cubic-bezier(0, 0, .2, 1);
  --v3-dur-fast: 120ms;
  --v3-dur: 180ms;
  /* focus */
  --v3-focus-ring: 2px solid #C97B4B;
}

@font-face { font-family: "Chakra Petch"; font-weight: 600; font-display: swap;
  src: url("/assets/fonts/chakra-petch-latin-600.woff2") format("woff2"); }
@font-face { font-family: "IBM Plex Mono"; font-weight: 400; font-display: swap;
  src: url("/assets/fonts/ibm-plex-mono-latin-400.woff2") format("woff2"); }
