/* insigle — design tokens (generated, OKLCH-derived, WCAG-audited)
 * Insigle — Quiet Utility is a calm, near-monochrome instrument. Indigo-tinted greys carry ~95% of every screen; a single ...
 * GENERATED — do not edit by hand. Edit spec.json, then run: python3 build_tokens.py
 * Two-tier: --color-* primitives (mode-independent) -> semantic tokens (light default, [data-theme=dark] override).
 */
:root {
  /* ---- primitives ---- */
  --color-neutral-0: #FFFFFF;
  --color-neutral-25: #F9FAFE;
  --color-neutral-50: #F2F5FE;
  --color-neutral-100: #EAECF5;
  --color-neutral-150: #E2E4ED;
  --color-neutral-200: #D8DAE3;
  --color-neutral-300: #C8CAD3;
  --color-neutral-350: #ABAEB6;
  --color-neutral-400: #8B8D95;
  --color-neutral-500: #787A82;
  --color-neutral-550: #696B73;
  --color-neutral-600: #5E6067;
  --color-neutral-700: #4B4D54;
  --color-neutral-750: #3E3F46;
  --color-neutral-800: #313239;
  --color-neutral-825: #2B2C33;
  --color-neutral-850: #26272E;
  --color-neutral-900: #1C1E24;
  --color-neutral-950: #13141C;
  --color-neutral-1000: #0B0D14;
  --color-accent-50: #EDF1FF;
  --color-accent-100: #DBE4FF;
  --color-accent-200: #BCCCFF;
  --color-accent-300: #8EA4FF;
  --color-accent-400: #6178F7;
  --color-accent-500: #4D5FE4;
  --color-accent-600: #3C4AC9;
  --color-accent-700: #2D36A1;
  --color-accent-800: #1E2578;
  --color-accent-900: #11164D;
  --color-accent-950: #090E2C;
  --color-success-50: #DBF7E1;
  --color-success-100: #BAEDC6;
  --color-success-200: #8DD9A2;
  --color-success-300: #5DC07D;
  --color-success-400: #46A968;
  --color-success-500: #289050;
  --color-success-600: #067E3F;
  --color-success-700: #006732;
  --color-success-800: #005126;
  --color-success-900: #003918;
  --color-success-950: #00270F;
  --color-warning-50: #FFEADA;
  --color-warning-100: #FFD5B3;
  --color-warning-200: #FAB378;
  --color-warning-300: #E79041;
  --color-warning-400: #CF7B26;
  --color-warning-500: #B36300;
  --color-warning-600: #9A5500;
  --color-warning-700: #7F4400;
  --color-warning-800: #643500;
  --color-warning-900: #472400;
  --color-warning-950: #321700;
  --color-danger-50: #FFE9E6;
  --color-danger-100: #FFD2CC;
  --color-danger-200: #FFABA1;
  --color-danger-300: #FA7D71;
  --color-danger-400: #E1675C;
  --color-danger-500: #C54E45;
  --color-danger-600: #B13A34;
  --color-danger-700: #962723;
  --color-danger-800: #771D1A;
  --color-danger-900: #541311;
  --color-danger-950: #3C0B09;
  --color-info-50: #D0F7FB;
  --color-info-100: #A2EDF5;
  --color-info-200: #61D8E5;
  --color-info-300: #00BECD;
  --color-info-400: #00A5B3;
  --color-info-500: #008B96;
  --color-info-600: #007781;
  --color-info-700: #006169;
  --color-info-800: #004C53;
  --color-info-900: #00353A;
  --color-info-950: #002529;
  --color-deck-blue: #05A4D4;
  --color-deck-blue-subtle: #CBEEFF;
  --color-deck-cyan: #008986;
  --color-deck-cyan-subtle: #C6F2EF;
  --color-deck-teal: #3AAC83;
  --color-deck-teal-subtle: #CDF2E0;
  --color-deck-green: #5A872C;
  --color-deck-green-subtle: #DDEFD0;
  --color-deck-lime: #A89620;
  --color-deck-lime-subtle: #EEE9C7;
  --color-deck-amber: #B85725;
  --color-deck-amber-subtle: #FFE1D3;
  --color-deck-coral: #DD6D7E;
  --color-deck-coral-subtle: #FFDFE1;
  --color-deck-magenta: #9A5BA4;
  --color-deck-magenta-subtle: #F7DFFA;

  /* ---- brand (literal logo/motion/export constants — NOT for UI chrome; UI uses semantic tokens) ---- */
  --brand-ink: #201C4A;
  --brand-paper: #F2F5FE;
  --brand-electric: #3B30E8;
  --brand-electric-dark-bg: #6E63FF;

  /* ---- fonts (Space Grotesk = wordmark lockup only) ---- */
  --font-display: "Inter", system-ui, sans-serif;
  --font-ui: "Inter", system-ui, sans-serif;
  --font-mono: "Geist Mono", "JetBrains Mono", ui-monospace, monospace;
  --font-wordmark: "Space Grotesk", sans-serif;

  /* ---- type / space / radius / motion ---- */
  --text-overline-size: 11px;
  --text-overline-lh: 1.27;
  --text-overline-weight: 600;
  --text-overline-tracking: +0.06em;
  --text-caption-size: 12px;
  --text-caption-lh: 1.33;
  --text-caption-weight: 500;
  --text-caption-tracking: 0;
  --text-label-size: 13px;
  --text-label-lh: 1.38;
  --text-label-weight: 500;
  --text-label-tracking: 0;
  --text-code-inline-size: 13px;
  --text-code-inline-lh: 1.54;
  --text-code-inline-weight: 400;
  --text-code-inline-tracking: 0;
  --text-body-sm-size: 14px;
  --text-body-sm-lh: 1.43;
  --text-body-sm-weight: 400;
  --text-body-sm-tracking: 0;
  --text-code-block-size: 14px;
  --text-code-block-lh: 1.6;
  --text-code-block-weight: 400;
  --text-code-block-tracking: 0;
  --text-body-size: 16px;
  --text-body-lh: 1.5;
  --text-body-weight: 400;
  --text-body-tracking: 0;
  --text-body-lg-size: 18px;
  --text-body-lg-lh: 1.56;
  --text-body-lg-weight: 400;
  --text-body-lg-tracking: 0;
  --text-h4-size: 20px;
  --text-h4-lh: 1.4;
  --text-h4-weight: 600;
  --text-h4-tracking: -0.01em;
  --text-h3-size: 24px;
  --text-h3-lh: 1.33;
  --text-h3-weight: 600;
  --text-h3-tracking: -0.01em;
  --text-h2-size: 30px;
  --text-h2-lh: 1.27;
  --text-h2-weight: 600;
  --text-h2-tracking: -0.015em;
  --text-h1-size: 38px;
  --text-h1-lh: 1.16;
  --text-h1-weight: 700;
  --text-h1-tracking: -0.02em;
  --text-display-size: 48px;
  --text-display-lh: 1.08;
  --text-display-weight: 700;
  --text-display-tracking: -0.02em;
  --space-0: 0px;
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-5: 20px;
  --space-6: 24px;
  --space-7: 32px;
  --space-8: 40px;
  --space-9: 48px;
  --space-10: 64px;
  --space-11: 80px;
  --space-12: 96px;
  --space-13: 128px;
  --radius-none: 0px;
  --radius-sm: 4px;
  --radius-md: 6px;
  --radius-lg: 8px;
  --radius-xl: 12px;
  --radius-2xl: 16px;
  --radius-full: 9999px;
  --dur-instant: 80ms;
  --dur-fast: 120ms;
  --dur-base: 180ms;
  --dur-slow: 240ms;
  --dur-page: 320ms;
  --ease-standard: cubic-bezier(0.2,0,0,1);
  --ease-exit: cubic-bezier(0.4,0,1,1);
  --ease-emphasized: cubic-bezier(0.2,0,0,1);
  --ease-inOut: cubic-bezier(0.4,0,0.2,1);

  /* ---- shadows (soft shadows tinted with resolved neutral-1000; dark-ambient = pure black) ---- */
  --shadow-1: 0 1px 2px rgba(11,13,20,0.06);
  --shadow-2: 0 4px 12px rgba(11,13,20,0.08);
  --shadow-3: 0 12px 32px rgba(11,13,20,0.12);
  --shadow-dark-ambient: 0 8px 24px rgba(0,0,0,0.5);

  /* ---- semantic (LIGHT) ---- */
  --bg: #F2F5FE;
  --bg-subtle: #EAECF5;
  --bg-muted: #E2E4ED;
  --surface: #FFFFFF;
  --surface-raised: #FFFFFF;
  --surface-overlay: #FFFFFF;
  --surface-hover: #F2F5FE;
  --surface-pressed: #EAECF5;
  --scrim: rgba(11,13,20,0.60);
  --border-subtle: #E2E4ED;
  --border: #8B8D95;
  --border-strong: #5E6067;
  --fg: #1C1E24;
  --fg-muted: #4B4D54;
  --fg-meta: #696B73;
  --fg-subtle: #ABAEB6;
  --on-accent: #FFFFFF;
  --accent: #3C4AC9;
  --accent-hover: #2D36A1;
  --accent-pressed: #1E2578;
  --accent-subtle: #EDF1FF;
  --accent-text: #3C4AC9;
  --focus-ring: #4D5FE4;
  --selection-bg: #DBE4FF;
  --selection-fg: #1C1E24;
  --success-fg: #006732;
  --success-subtle: #DBF7E1;
  --success-solid: #289050;
  --success-border: #5DC07D;
  --on-success: #0B0D14;
  --warning-fg: #643500;
  --warning-subtle: #FFEADA;
  --warning-solid: #CF7B26;
  --warning-border: #E79041;
  --on-warning: #0B0D14;
  --danger-fg: #B13A34;
  --danger-subtle: #FFE9E6;
  --danger-solid: #B13A34;
  --danger-border: #FA7D71;
  --on-danger: #FFFFFF;
  --info-fg: #006169;
  --info-subtle: #D0F7FB;
  --info-solid: #007781;
  --info-border: #00BECD;
  --on-info: #FFFFFF;
  --disabled-bg: #EAECF5;
  --disabled-fg: #C8CAD3;
  --disabled-border: #D8DAE3;
  color-scheme: light;
}

:root[data-theme="dark"], .dark {
  /* deck shifts to the dark equal-lightness band */
  --color-deck-blue: #36BAEB;
  --color-deck-blue-subtle: #003345;
  --color-deck-cyan: #00A4A1;
  --color-deck-cyan-subtle: #003634;
  --color-deck-teal: #54C398;
  --color-deck-teal-subtle: #003726;
  --color-deck-green: #719F46;
  --color-deck-green-subtle: #1D3600;
  --color-deck-lime: #BEAC3D;
  --color-deck-lime-subtle: #352E00;
  --color-deck-amber: #D37040;
  --color-deck-amber-subtle: #4F1C00;
  --color-deck-coral: #F58393;
  --color-deck-coral-subtle: #541120;
  --color-deck-magenta: #B473BE;
  --color-deck-magenta-subtle: #421B48;

  /* ---- semantic (DARK) ---- */
  --bg: #0B0D14;
  --bg-subtle: #13141C;
  --bg-muted: #1C1E24;
  --surface: #1C1E24;
  --surface-raised: #26272E;
  --surface-overlay: #2B2C33;
  --surface-hover: #26272E;
  --surface-pressed: #3E3F46;
  --scrim: rgba(11,13,20,0.72);
  --border-subtle: #313239;
  --border: #696B73;
  --border-strong: #8B8D95;
  --fg: #F2F5FE;
  --fg-muted: #ABAEB6;
  --fg-meta: #8B8D95;
  --fg-subtle: #696B73;
  --on-accent: #FFFFFF;
  --accent: #4D5FE4;
  --accent-hover: #3C4AC9;
  --accent-pressed: #2D36A1;
  --accent-subtle: #11164D;
  --accent-text: #8EA4FF;
  --focus-ring: #6178F7;
  --selection-bg: #1E2578;
  --selection-fg: #F2F5FE;
  --success-fg: #46A968;
  --success-subtle: #00270F;
  --success-solid: #289050;
  --success-border: #006732;
  --on-success: #0B0D14;
  --warning-fg: #CF7B26;
  --warning-subtle: #321700;
  --warning-solid: #CF7B26;
  --warning-border: #7F4400;
  --on-warning: #0B0D14;
  --danger-fg: #E1675C;
  --danger-subtle: #3C0B09;
  --danger-solid: #B13A34;
  --danger-border: #962723;
  --on-danger: #FFFFFF;
  --info-fg: #00A5B3;
  --info-subtle: #002529;
  --info-solid: #007781;
  --info-border: #006169;
  --on-info: #FFFFFF;
  --disabled-bg: #26272E;
  --disabled-fg: #4B4D54;
  --disabled-border: #313239;
  color-scheme: dark;
}
