@font-face {
  font-family: 'Space Grotesk';
  src: url('./fonts/SpaceGrotesk[wght].woff2') format('woff2-variations');
  font-weight: 300 700;
  font-display: swap;
}
@font-face {
  font-family: 'Inter';
  /* Google Fonts Inter 4 (OFL), opsz pinned to 14 (text), wght kept.
     Subset: Latin incl. Extended-A/B/Additional, punctuation, currency. */
  src: url('./fonts/Inter[wght].woff2') format('woff2-variations');
  font-weight: 100 900;
  font-display: swap;
}
@font-face {
  font-family: 'Manrope';
  src: url('./fonts/Manrope[wght].woff2') format('woff2-variations');
  font-weight: 200 800;
  font-display: swap;
}
:root {
  /* Surface hierarchy */
  --color-surface:                   #0E0E0F;
  --color-surface-bright:            #1E1E20;
  --color-surface-variant:           #1A1A1C;
  --color-surface-container:         #1C1C1E;
  --color-surface-container-lowest:  #121214;
  --color-surface-container-low:     #161618;
  --color-surface-container-high:    #232326;
  --color-surface-container-highest: #2A2A2D;

  /* Primary (radioactive cyan) */
  --color-primary:           #96F8FF;
  --color-primary-container: #00F1FD;
  --color-primary-dim:       #4CCAD4;

  /* Secondary (violet) */
  --color-secondary:           #C8B8FF;
  --color-secondary-container: #7B68EE;

  /* Tertiary / Error / On-colors */
  --color-tertiary:           #8897A9;   /* ~4.8:1 on surface-container-highest, so it clears AA on every surface step; #7A8899 was 4.34:1 on the 8px status-bar labels */
  --color-error:              #FF716C;
  --color-error-container:    #5C2B29;
  --color-on-primary:         #0E0E0F;
  --color-on-error:           #0E0E0F;   /* dark ink on the light-red fill: 7.2:1; white was 2.7:1 */
  --color-on-surface:         #E0E0E2;
  --color-on-surface-variant: #C4C4C7;
  --color-outline:            #3A3A3D;
  --color-outline-variant:    #2E2E31;

  /* Status accent colors (for accent bars and badges) */
  --color-status-ready:    #96F8FF;   /* cyan — same as primary */
  --color-status-draft:    #C8B8FF;   /* violet — same as secondary */
  --color-status-pending:  #C8B8FF;   /* violet */
  --color-status-archived: #F5C518;   /* amber/yellow */
  --color-status-failed:   #FF716C;   /* red — same as error */

  /* Glow shadows */
  --shadow-glow-primary:        0 0 32px rgba(150, 248, 255, 0.10);
  --shadow-glow-secondary:      0 0 32px rgba(200, 184, 255, 0.10);
  --shadow-glow-error:          0 0 16px rgba(255, 113, 108, 0.15);
  --shadow-glow-primary-strong: 0 0 24px rgba(150, 248, 255, 0.25);

  /* Font families */
  --font-command:  'Space Grotesk', sans-serif;
  --font-data:     'Inter', sans-serif;
  --font-terminal: 'Manrope', sans-serif;
  --font-noto:     'Noto Sans', sans-serif;

  /* Letter spacing */
  --tracking-command:  -0.02em;
  --tracking-terminal:  0.05em;

  /* Backdrop blur */
  --blur-glass:       20px;
  --blur-glass-heavy: 40px;

  /* Border radius — 0px enforced globally */
  --radius:    0px;
  --radius-sm: 0px;
  --radius-md: 0px;
  --radius-lg: 0px;
  --radius-xl: 0px;
}
