:root {
  /* Backgrounds — Ice (Light) */
  --bg-base: #F4F7FC;
  --bg-surface: #FFFFFF;
  --bg-elevated: #FFFFFF;
  --bg-muted: #EDF2FA;

  /* Text */
  --text-primary: #0B1426;
  --text-secondary: #44557A;
  --text-tertiary: #8295B5;
  --text-on-accent: #FFFFFF;

  /* Borders */
  --border-default: #DCE6F5;
  --border-strong: rgba(47,139,252,.55);
  --border-subtle: #EDF2FA;

  /* Accent — Voltage (Blue) */
  --accent: #2F8BFC;
  --accent-hover: #44AFFF;
  --accent-active: #1B4FD8;
  --accent-bg: rgba(47,139,252,.10);
  --accent-border: rgba(47,139,252,.30);

  /* Brand Tokens */
  --vf-deep: #1B4FD8;
  --vf-volt: #2F8BFC;
  --vf-ion: #44AFFF;
  --vf-grad: linear-gradient(118deg, #1B4FD8 0%, #2F8BFC 52%, #44AFFF 100%);
  --vf-glow: 0 0 0 1px rgba(47,139,252,.30), 0 10px 36px -10px rgba(27,79,216,.35);

  /* Semantic — Status colors */
  --success: #34D399;
  --success-bg: #ECFDF5;
  --success-border: #A7F3D0;

  --warning: #F59E0B;
  --warning-bg: #FFFBEB;
  --warning-border: #FCD34D;

  --danger: #F87171;
  --danger-bg: #FEF2F2;
  --danger-border: #FECACA;

  --neutral: #64748B;
  --neutral-bg: #F8FAFC;
  --neutral-border: #E2E8F0;

  /* Typography */
  --font-sans: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, sans-serif;
  --font-display: 'Space Grotesk', var(--font-sans);
  --font-mono: 'JetBrains Mono', 'SF Mono', Monaco, Consolas, 'Liberation Mono', monospace;

  --text-xs: 0.75rem;      /* 12px */
  --text-sm: 0.8125rem;    /* 13px */
  --text-base: 0.875rem;   /* 14px */
  --text-md: 1rem;         /* 16px */
  --text-lg: 1.125rem;     /* 18px */
  --text-xl: 1.25rem;      /* 20px */
  --text-2xl: 1.5rem;      /* 24px */
  --text-3xl: 1.875rem;    /* 30px */

  --leading-tight: 1.25;
  --leading-snug: 1.375;
  --leading-normal: 1.5;

  --font-regular: 400;
  --font-medium: 500;
  --font-semibold: 600;
  --font-bold: 700;

  /* Spacing */
  --space-1: 0.25rem;  /* 4px */
  --space-2: 0.5rem;   /* 8px */
  --space-3: 0.75rem;  /* 12px */
  --space-4: 1rem;     /* 16px */
  --space-5: 1.25rem;  /* 20px */
  --space-6: 1.5rem;   /* 24px */
  --space-8: 2rem;     /* 32px */
  --space-12: 3rem;    /* 48px */

  /* Radius */
  --radius-sm: 8px;
  --radius-md: 12px;
  --radius-lg: 18px;

  /* Shadows */
  --shadow-sm: 0 1px 2px rgba(15, 23, 42, 0.04);
  --shadow-md: 0 1px 3px rgba(15, 23, 42, 0.06), 0 1px 2px rgba(15, 23, 42, 0.04);
  --shadow-lg: 0 4px 6px rgba(15, 23, 42, 0.05), 0 2px 4px rgba(15, 23, 42, 0.06);

  /* Status Badge Tokens (Phase A.5) */
  --badge-accepted-text: #047857;
  --badge-accepted-bg: #ECFDF5;
  --badge-accepted-border: #A7F3D0;

  --badge-rejected-text: #B91C1C;
  --badge-rejected-bg: #FEF2F2;
  --badge-rejected-border: #FECACA;

  --badge-pending-text: #1B4FD8; /* pending_review, in_review */
  --badge-pending-bg: rgba(47,139,252,.10);
  --badge-pending-border: rgba(47,139,252,.35);

  --badge-needs-revision-text: #B45309;
  --badge-needs-revision-bg: #FFFBEB;
  --badge-needs-revision-border: #FCD34D;

  --badge-draft-text: #475569;
  --badge-draft-bg: #F1F5F9;
  --badge-draft-border: #CBD5E1;

  --badge-deleted-text: #B91C1C;
  --badge-deleted-bg: #FEF2F2;
  --badge-deleted-border: #FECACA;

  --badge-replaced-text: #475569;
  --badge-replaced-bg: #F1F5F9;
  --badge-replaced-border: #CBD5E1;

  --badge-replacement-text: #1D4ED8;
  --badge-replacement-bg: #EFF6FF;
  --badge-replacement-border: #BFDBFE;

  --badge-locked-text: #475569;
  --badge-locked-bg: #F1F5F9;
  --badge-locked-border: #CBD5E1;
}

/* Carbon (Dark) */
html.dark {
  --bg-base: #070B14;
  --bg-surface: #0C1322;
  --bg-elevated: #0C1322;
  --bg-muted: rgba(255,255,255,.06);

  --text-primary: #E9F0FB;
  --text-secondary: #93A4C3;
  --text-tertiary: #5B6B8C;

  --border-default: rgba(122,168,255,.14);
  --border-strong: rgba(68,175,255,.45);
  --border-subtle: rgba(122,168,255,.08);

  --accent: #2F8BFC;
  --accent-hover: #44AFFF;
  --accent-active: #1B4FD8;
  --accent-bg: rgba(47,139,252,.12);
  --accent-border: rgba(68,175,255,.35);

  --vf-glow: 0 0 0 1px rgba(68,175,255,.25), 0 8px 40px -8px rgba(47,139,252,.45);

  /* Shadows overridden for dark */
  --shadow-sm: 0 1px 2px rgba(0,0,0,.4);
  --shadow-md: 0 1px 0 rgba(255,255,255,.04) inset, 0 8px 24px -12px rgba(0,0,0,.7);
  --shadow-lg: 0 1px 0 rgba(255,255,255,.04) inset, 0 16px 48px -24px rgba(0,0,0,.8);
}

/* Ambient canvas treatment */
body { background: var(--bg-base); }
html.dark body {
  background-image: radial-gradient(1100px 500px at 75% -10%, rgba(47,139,252,.16), transparent 60%),
                    radial-gradient(700px 400px at -5% 30%, rgba(27,79,216,.10), transparent 55%);
  background-attachment: fixed;
}
html:not(.dark) body {
  background-image: radial-gradient(1100px 500px at 75% -10%, rgba(68,175,255,.14), transparent 60%),
                    radial-gradient(700px 400px at -5% 30%, rgba(27,79,216,.06), transparent 55%);
  background-attachment: fixed;
}
