/**
 * ============================================================================
 * GENERATED FILE — do not edit by hand.
 * 
 * Source: tokens/<surface>.tokens.json (W3C-DTCG, edited via Figma's
 * Tokens Studio plugin or by hand). Regenerate with:
 * 
 *     docker compose exec web python manage.py tokens_build
 * 
 * The drift scanner (tests_tokens_build_drift) fails CI on hand edits.
 * See docs/design/process/figma-sync.md.
 * ============================================================================
 */

:root {
  --prim-blue-10: #061724;
  --prim-blue-20: #082338;
  --prim-blue-30: #0a2e4a;
  --prim-blue-40: #0c3b5e;
  --prim-blue-50: #0e4775;
  --prim-blue-60: #0f548c;
  --prim-blue-70: #115ea3;
  --prim-blue-80: #0f6cbd;
  --prim-blue-90: #2886de;
  --prim-blue-100: #479ef5;
  --prim-blue-110: #62abf5;
  --prim-blue-120: #77b7f7;
  --prim-blue-130: #96c6fa;
  --prim-blue-140: #b4d6fa;
  --prim-blue-150: #cfe4fa;
  --prim-blue-160: #ebf3fc;
  --prim-grey-2: #050505;
  --prim-grey-4: #0a0a0a;
  --prim-grey-6: #0f0f0f;
  --prim-grey-8: #141414;
  --prim-grey-10: #1a1a1a;
  --prim-grey-12: #1f1f1f;
  --prim-grey-14: #242424;
  --prim-grey-16: #292929;
  --prim-grey-18: #2e2e2e;
  --prim-grey-20: #333333;
  --prim-grey-22: #383838;
  --prim-grey-24: #3d3d3d;
  --prim-grey-26: #424242;
  --prim-grey-28: #474747;
  --prim-grey-30: #4d4d4d;
  --prim-grey-32: #525252;
  --prim-grey-34: #575757;
  --prim-grey-36: #5c5c5c;
  --prim-grey-38: #616161;
  --prim-grey-40: #666666;
  --prim-grey-42: #6b6b6b;
  --prim-grey-44: #707070;
  --prim-grey-46: #757575;
  --prim-grey-48: #7a7a7a;
  --prim-grey-50: #808080;
  --prim-grey-52: #858585;
  --prim-grey-54: #8a8a8a;
  --prim-grey-56: #8f8f8f;
  --prim-grey-58: #949494;
  --prim-grey-60: #999999;
  --prim-grey-62: #9e9e9e;
  --prim-grey-64: #a3a3a3;
  --prim-grey-66: #a8a8a8;
  --prim-grey-68: #adadad;
  --prim-grey-70: #b3b3b3;
  --prim-grey-72: #b8b8b8;
  --prim-grey-74: #bdbdbd;
  --prim-grey-76: #c2c2c2;
  --prim-grey-78: #c7c7c7;
  --prim-grey-80: #cccccc;
  --prim-grey-82: #d1d1d1;
  --prim-grey-84: #d6d6d6;
  --prim-grey-86: #dbdbdb;
  --prim-grey-88: #e0e0e0;
  --prim-grey-90: #e6e6e6;
  --prim-grey-92: #ebebeb;
  --prim-grey-94: #f0f0f0;
  --prim-grey-96: #f5f5f5;
  --prim-grey-98: #fafafa;
  --prim-grey-99: #fcfcfc;
  --prim-white: #ffffff;
  --prim-black: #000000;
  --prim-green-500: #107c10;
  --prim-green-300: #9fd89f;
  --prim-green-100: #dff6dd;
  --prim-red-500: #b3261e;
  --prim-red-300: #f1bbbb;
  --prim-red-100: #fdecea;
  --prim-orange-500: #bc4b00;
  --prim-orange-300: #fdcfb4;
  --prim-orange-100: #fff4ce;
  --prim-space-0: 0;
  --prim-space-1: 2px;
  --prim-space-2: 4px;
  --prim-space-3: 6px;
  --prim-space-4: 8px;
  --prim-space-5: 10px;
  --prim-space-6: 12px;
  --prim-space-7: 16px;
  --prim-space-8: 20px;
  --prim-space-9: 24px;
  --prim-space-10: 32px;
  --prim-radius-0: 0;
  --prim-radius-1: 2px;
  --prim-radius-2: 4px;
  --prim-radius-3: 6px;
  --prim-radius-4: 8px;
  --prim-radius-full: 9999px;
  --prim-radius-5: 12px; /** XL radius — Foil landing hero cards / how-it-works tiles (ADR 0021 landing redesign) */
  --prim-radius-6: 16px; /** 2XL radius — Foil landing hero panel / language popover (ADR 0021 landing redesign) */
  --prim-stroke-1: 1px;
  --prim-stroke-2: 2px;
  --prim-stroke-3: 3px;
  --prim-stroke-4: 4px;
  --prim-shadow-2: 0 0 2px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.14);
  --prim-shadow-4: 0 0 2px rgba(0, 0, 0, 0.12), 0 2px 4px rgba(0, 0, 0, 0.14);
  --prim-shadow-8: 0 0 2px rgba(0, 0, 0, 0.12), 0 4px 8px rgba(0, 0, 0, 0.14);
  --prim-shadow-16: 0 0 2px rgba(0, 0, 0, 0.12), 0 8px 16px rgba(0, 0, 0, 0.14);
  --prim-shadow-28: 0 0 8px rgba(0, 0, 0, 0.12), 0 14px 28px rgba(0, 0, 0, 0.24);
  --prim-shadow-64: 0 0 8px rgba(0, 0, 0, 0.12), 0 32px 64px rgba(0, 0, 0, 0.24);
  --prim-shadow-soft-2: 0 0 2px rgba(20, 28, 40, 0.10), 0 1px 2px rgba(20, 28, 40, 0.10); /** Soft untinted Fluent shadow (slate-blue) — Foil landing cards / pills */
  --prim-shadow-soft-8: 0 0 2px rgba(20, 28, 40, 0.10), 0 4px 10px rgba(20, 28, 40, 0.12); /** Soft untinted Fluent shadow — Foil landing certificate paper */
  --prim-shadow-soft-28: 0 1px 4px rgba(20, 28, 40, 0.10), 0 16px 40px rgba(20, 28, 40, 0.16); /** Soft untinted Fluent shadow — Foil landing hero panel / language popover */
  --prim-duration-50: 50ms;
  --prim-duration-100: 100ms;
  --prim-duration-150: 150ms;
  --prim-duration-200: 200ms;
  --prim-duration-250: 250ms;
  --prim-duration-300: 300ms;
  --prim-duration-400: 400ms;
  --prim-duration-500: 500ms;
  --prim-curve-easy: cubic-bezier(0.33, 0, 0.67, 1);
  --prim-curve-easy-max: cubic-bezier(0.8,  0, 0.2,  1);
  --prim-curve-accel: cubic-bezier(0.9,  0.1, 1, 0.2);
  --prim-curve-decel: cubic-bezier(0.1,  0.9, 0.2, 1);
  --prim-curve-linear: cubic-bezier(0,   0, 1, 1);
  --prim-font-size-100: 10px;
  --prim-line-height-100: 14px;
  --prim-font-size-200: 12px;
  --prim-line-height-200: 16px;
  --prim-font-size-300: 14px;
  --prim-line-height-300: 20px;
  --prim-font-size-400: 16px;
  --prim-line-height-400: 22px;
  --prim-font-size-500: 20px;
  --prim-line-height-500: 26px;
  --prim-font-size-600: 24px;
  --prim-line-height-600: 32px;
  --prim-font-size-700: 28px;
  --prim-line-height-700: 36px;
  --prim-font-size-800: 32px;
  --prim-line-height-800: 40px;
  --prim-font-size-900: 40px;
  --prim-line-height-900: 52px;
  --prim-font-size-1000: 68px;
  --prim-line-height-1000: 92px;
  --prim-font-weight-regular: 400;
  --prim-font-weight-medium: 500;
  --prim-font-weight-semibold: 600;
  --prim-font-weight-bold: 700;
  --prim-blur-sm: 4px; /** Subtle blur — light frost over rich background */
  --prim-blur-md: 12px; /** Standard frosted-glass effect for overlays and modals */
  --prim-blur-lg: 24px; /** Heavy blur for full-screen veils */
  --prim-font-family-system: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif; /** Default UI font stack — system fonts for low-latency rendering */
  --prim-font-family-mono: ui-monospace, "SF Mono", SFMono-Regular, Menlo, monospace; /** Monospace stack — used for token names, code, identifiers */
  --prim-red-700: #8a1d18; /** Darker red — used as hover state on .btn--danger */
  --prim-foil-1: #a8dcff; /** Iridescent foil gradient stop 1 (Arctic tint) — Foil landing holo treatment */
  --prim-foil-2: #5fa8ff; /** Iridescent foil gradient stop 2 (Arctic tint) */
  --prim-foil-3: #d2eeff; /** Iridescent foil gradient stop 3 (Arctic tint) */
  --prim-foil-4: #7c8cff; /** Iridescent foil gradient stop 4 (Arctic tint) */
  --prim-foil-5: #8fd4ff; /** Iridescent foil gradient stop 5 (Arctic tint) */
  --prim-paper-cool: #fbfbfc; /** Cool off-white (Fluent neutral, = design canvas-2) — Foil landing certificate / how-it-works paper. Was the warmer #fffdf9; cooled 2026-07 to match the design's cool grey ramp (page read too warm). */
  --prim-canvas-cool: #f6f7f9; /** Cool canvas tint (Fluent neutral, = design canvas / pt-grey-4) — Foil landing page background + toned bands. Was the warmer #f6f5f1; cooled 2026-07 to match the design (the toned stripe read too warm). */
  --prim-gold-500: #c98a14; /** Editorial gold — Foil landing closing glow + certificate line-link highlight */
  --prim-ink-stamp: #3f46aa; /** Indigo stamp ink — Foil landing certificate official seal / stamp */
  --prim-paper-specimen: #f4f0e7; /** Warm cream specimen paper — sampled from the hero design (Figma node 233:316). Distinct from paper-cool, which is the page's own deliberately cooler card surface. */
  --prim-guilloche-green: #7fa892; /** Pale green security-pattern ink on the specimen birth certificate — sampled from the hero design */
  --prim-guilloche-blue: #8aa7b4; /** Pale blue-grey security-pattern ink on the specimen apostille — sampled from the hero design */
  --prim-ink-stamp-red: #c0392b; /** Red rubber-stamp ink on the specimen translation — sampled from the hero design */
  --prim-hd-paper-1: #f4fff8; /** Specimen certificate paper — gradient stop 1 (Figma 233:316) */
  --prim-hd-paper-2: #f4f0e7; /** Specimen certificate paper — gradient stop 2, midpoint (Figma 233:316) */
  --prim-hd-paper-3: #edf6f5; /** Specimen certificate paper — gradient stop 3 (Figma 233:316) */
  --prim-hd-paper-flat: #fbfbfc; /** Specimen apostille paper + preview card surface (Figma 233:2608 / 233:2602) */
  --prim-hd-ink: #242424; /** Specimen document ink + rule colour (Figma 233:316) */
  --prim-hd-card-border: #e0e0e0; /** Preview card hairline border (Figma 233:2602) */
  --prim-hd-panel-bg: #fefefe; /** Translation panel surface (Figma 233:2814) */
  --prim-hd-panel-border: #4e9fff33; /** Translation panel border (Figma 233:2814, rgba(78,159,255,.2)) */
  --prim-hd-panel-shadow: #0070c03d; /** Translation panel blue drop shadow (Figma 233:2814, rgba(0,112,192,.24)) */
  --prim-hd-sheet-shadow: #141c2829; /** Specimen sheet drop shadow (Figma 233:316 / 233:2608, rgba(20,28,40,.16)) */
  --prim-hd-label: #616161; /** Pane label + muted specimen chrome (Figma 233:2607) */
  --prim-hd-accent: #4e9fff; /** TRANSLATE TO accent (Figma 233:2937) */
  --prim-hd-control-border: #cccccc; /** Language button border (Figma 233:2819) */
  --prim-hd-trigger-ink: #1c2024; /** Preview language trigger label ink (Figma 267:5461). Measured off the design export at the glyph core: rgb(28,32,36). Deliberately NOT prim.hd-ink (#242424) or prim.grey-12 (#1f1f1f) — it is a distinct cool near-black and no existing primitive carries it. */
}
