:root {
  --c-principal: #0A192F;
  --c-action: #00CFFF;
  --c-electoral: #33FF77;
  --c-danger: #FF5C7A;
  --c-warning: #FFD166;
  --c-info: #7BDFFF;

  --surface-0: #060F1E;
  --surface-1: #0A192F;
  --surface-2: #0E1F38;
  --surface-3: #12283F;
  --surface-4: #1A3450;

  --text-base: #F4F8FF;
  --text-soft: #D8E6F4;
  --text-muted: #93A9BE;
  --text-faint: #5F7891;

  --border-subtle: rgba(173, 219, 255, 0.14);
  --border-action: rgba(0, 207, 255, 0.42);
  --border-electoral: rgba(51, 255, 119, 0.38);
  --border-danger: rgba(255, 92, 122, 0.42);

  --grad-brand: linear-gradient(135deg, var(--c-action) 0%, var(--c-electoral) 100%);

  --font-sans: "Outfit", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --font-display: "Outfit", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --font-mono: "Space Grotesk", "SFMono-Regular", "Cascadia Code", "Consolas", monospace;

  --fs-display: clamp(2.75rem, 6vw, 4.5rem);
  --fs-h2: clamp(2rem, 4vw, 3rem);
  --fs-h3: clamp(1.25rem, 2vw, 1.6rem);
  --fs-lead: clamp(1.05rem, 1.6vw, 1.3rem);
  --fs-body: 1rem;
  --fs-small: 0.875rem;
  --fs-eyebrow: 0.8rem;
  --fs-code: 0.9rem;

  --sp-1: 0.25rem;
  --sp-2: 0.5rem;
  --sp-3: 0.75rem;
  --sp-4: 1rem;
  --sp-5: 1.5rem;
  --sp-6: 2rem;
  --sp-7: 3rem;
  --sp-8: 4rem;
  --sp-9: 6rem;

  --radius-sm: 8px;
  --radius-md: 14px;
  --radius-lg: 20px;
  --radius-xl: 28px;
  --radius-pill: 999px;

  --shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.4);
  --shadow-md: 0 8px 24px rgba(0, 0, 0, 0.45);
  --shadow-lg: 0 20px 60px rgba(0, 0, 0, 0.55);
  --shadow-inner: inset 0 1px 0 rgba(255, 255, 255, 0.06);

  --focus-ring: 0 0 0 3px rgba(0, 207, 255, 0.28);

  --motion-fast: 150ms cubic-bezier(0.16, 1, 0.3, 1);
  --motion-base: 240ms cubic-bezier(0.16, 1, 0.3, 1);
  --motion-slow: 420ms cubic-bezier(0.16, 1, 0.3, 1);

  --container-main: 1200px;
  --container-wide: 1380px;
  --layout-nav-offset: 6.25rem;
  --layout-section-y: clamp(4rem, 7vw, 7rem);
  --layout-section-y-sm: clamp(3rem, 5vw, 5rem);

  --sidebar-width: 280px;
  --z-navbar: 1030;
  --z-sidebar: 1040;
  --z-backdrop: 1035;
  --z-floating: 1020;

  --status-success: var(--c-electoral);
  --status-info: var(--c-action);
  --status-warning: var(--c-warning);
  --status-danger: var(--c-danger);

  --code-keyword: var(--c-action);
  --code-string: var(--c-electoral);
  --code-method: var(--c-info);
  --code-comment: var(--text-muted);

  --map-stroke: var(--c-action);
  --map-fill: var(--c-electoral);
  --map-hover-stroke: var(--c-info);
  --map-hover-fill: var(--c-electoral);

  --bs-body-bg: var(--surface-1);
  --bs-body-color: var(--text-soft);
  --bs-primary: var(--c-action);
  --bs-success: var(--c-electoral);
  --bs-danger: var(--c-danger);
  --bs-warning: var(--c-warning);
  --bs-info: var(--c-info);
  --bs-border-color: var(--border-subtle);
  --bs-link-color: var(--c-action);
  --bs-link-hover-color: var(--c-electoral);
}
