/* Signal Scope - tokens. Everything is scoped under .sg (or body.sg-page for the page base) so nothing leaks into the shared nav, footer or cookie banner.
   Contrast values are stated against bg #0D0C1D / surface #1A1A2E and re-computed from this file by the tests lane. */

/* Metric-compatible fallbacks so the web fonts swap without layout shift. */
@font-face { font-family: "Inter Fallback"; src: local("Arial"); size-adjust: 107.4%; ascent-override: 90.2%; descent-override: 22.5%; line-gap-override: 0%; }
@font-face { font-family: "Space Grotesk Fallback"; src: local("Arial"); size-adjust: 104.5%; ascent-override: 92%; descent-override: 26%; line-gap-override: 0%; }

/* Site-wide variables the shared nav, footer and cookie banner already rely on (same values as index1.css). */
:root {
  --primary-color: #4F46E5; --secondary-color: #7C3AED; --accent-primary: #A78BFA;
  --bg-primary: #0D0C1D; --bg-secondary: #1A1A2E;
  --text-primary: #FFFFFF; --text-secondary: #9CA3AF; --text-tertiary: #6B7280; --text-headings: #E5E7EB;
  --border-glass: rgba(255,255,255,.1); --border-glass-hover: rgba(255,255,255,.2);
  --surface-glass: rgba(255,255,255,.05); --surface-glass-hover: rgba(255,255,255,.08);
  --glass-background: rgba(255,255,255,.05); --glass-background-hover: rgba(255,255,255,.08);
  --card-bg: rgba(255,255,255,.03); --dropdown-bg: #0D0C1D; --text-color: #FFFFFF;
  --success-color: #10b981; --warning-color: #f59e0b; --danger-color: #ef4444;
  --transition-speed: .3s; --transition-ease: cubic-bezier(.4,0,.2,1);
  --radius-sm: .375rem; --radius-md: .5rem; --radius-lg: .75rem; --radius-xl: 1rem; --radius-2xl: 1.5rem;
}

.sg {
  --sg-bg: #0D0C1D;
  --sg-surface: #1A1A2E;
  --sg-raised: #232345;
  --sg-text: #ECEBF7;          /* 16.4 on bg, 14.5 on surface */
  --sg-text-2: #C3C2D8;        /* 11.1 / 9.8 / 8.6 on raised */
  --sg-muted: #A6ABBA;         /* 8.4 / 7.4 (bg and surface only) */
  --sg-accent: #8B7CFF;        /* 5.9 / 5.2: large text, icons, borders */
  --sg-accent-text: #B4A9FF;   /* 9.3 / 8.2 */
  --sg-primary: #5B4BF0;       /* white label 5.7 */
  --sg-primary-hover: #6A5BF5;
  --sg-ok: #34D399; --sg-warn: #FBBF24; --sg-bad: #F87171; --sg-info: #7CB5FC;
  --sg-focus: #C4B5FD;
  --sg-border: rgba(255,255,255,.12);
  --sg-border-strong: rgba(255,255,255,.26);
  --sg-ok-bg: rgba(52,211,153,.13); --sg-warn-bg: rgba(251,191,36,.13); --sg-bad-bg: rgba(248,113,113,.13); --sg-info-bg: rgba(96,165,250,.13); --sg-accent-bg: rgba(139,124,255,.16); --sg-neutral-bg: rgba(255,255,255,.07);
  --sg-ramp-1: #2E2A6B; --sg-ramp-2: #433C9A; --sg-ramp-3: #5A50C8; --sg-ramp-4: #7468E8; --sg-ramp-5: #9288F5; --sg-ramp-6: #B3ABFA; --sg-ramp-7: #D6D1FD;
  --sg-font: "Inter", "Inter Fallback", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  --sg-display: "Space Grotesk", "Space Grotesk Fallback", "Inter", "Inter Fallback", sans-serif;
  --sg-mono: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  --sg-r1: 8px; --sg-r2: 12px; --sg-r3: 16px;
  --sg-shadow: 0 1px 0 rgba(255,255,255,.04) inset, 0 10px 30px rgba(0,0,0,.35);
  --sg-shadow-pop: 0 18px 50px rgba(0,0,0,.55), 0 0 0 1px rgba(255,255,255,.10);
  --sg-t: 150ms cubic-bezier(.2,.7,.3,1);
  --fs-xs: .8125rem; --fs-body: .9375rem; --fs-h4: 1.125rem; --fs-h3: 1.375rem; --fs-h2: 1.75rem; --fs-hero: clamp(2.1rem, 4.5vw, 3.25rem);
  color: var(--sg-text);
  font-family: var(--sg-font);
  font-size: var(--fs-body);
  line-height: 1.6;
  color-scheme: dark;
}
