/* Smart Partner — Webfonts */
@import url("https://fonts.googleapis.com/css2?family=Unbounded:wght@400;500;600;700;800&family=Manrope:wght@400;500;600;700;800&family=JetBrains+Mono:wght@400;500;600&display=swap");

/* Smart Partner — Color tokens */
:root {
  --space-900: #05070F;
  --space-800: #080B16;
  --space-700: #0C111F;
  --space-600: #121829;
  --space-500: #1A2236;
  --space-400: #232E47;

  --line-soft: rgba(255, 255, 255, 0.06);
  --line: rgba(255, 255, 255, 0.10);
  --line-strong: rgba(255, 255, 255, 0.16);

  --blue-100: #DCE8FF;
  --blue-300: #8FB6FF;
  --blue-500: #2F6BFF;
  --blue-600: #1E54E6;
  --blue-700: #1740B8;

  --mint-100: #D2FBEC;
  --mint-300: #7FF0CB;
  --mint-500: #34E3A4;
  --mint-600: #18C68A;
  --mint-700: #0E9E6E;

  --cyan-500: #27C6E6;

  --ink-900: #F4F7FF;
  --ink-700: #C5CEE0;
  --ink-500: #8C97AE;
  --ink-400: #5E6880;

  --success: #34E3A4;
  --warning: #F5C451;
  --danger: #FF6B6B;
  --info: #2F6BFF;

  --bg-page: var(--space-800);
  --bg-deep: var(--space-900);
  --surface-raised: var(--space-700);
  --surface-card: var(--space-600);
  --surface-elevated: var(--space-500);

  --border-subtle: var(--line-soft);
  --border-default: var(--line);
  --border-strong: var(--line-strong);

  --text-heading: var(--ink-900);
  --text-body: var(--ink-700);
  --text-muted: var(--ink-500);
  --text-faint: var(--ink-400);
  --text-on-accent: #05070F;

  --accent: var(--blue-500);
  --accent-strong: var(--blue-600);
  --accent-2: var(--mint-500);

  --grad-brand: linear-gradient(118deg, #2F6BFF 0%, #27C6E6 52%, #34E3A4 100%);
  --grad-brand-soft: linear-gradient(118deg, rgba(47,107,255,0.18) 0%, rgba(52,227,164,0.18) 100%);
  --grad-text: linear-gradient(100deg, #8FB6FF 0%, #7FF0CB 100%);
  --grad-halo: radial-gradient(60% 60% at 50% 38%, rgba(47,107,255,0.35) 0%, rgba(52,227,164,0.12) 45%, rgba(5,7,15,0) 78%);
}

/* Smart Partner — Typography tokens */
:root {
  --font-display: "Unbounded", "Manrope", system-ui, sans-serif;
  --font-body: "Manrope", system-ui, -apple-system, sans-serif;
  --font-mono: "JetBrains Mono", ui-monospace, "SFMono-Regular", monospace;

  --fw-regular: 400;
  --fw-medium: 500;
  --fw-semibold: 600;
  --fw-bold: 700;
  --fw-extra: 800;

  --fs-display-xl: 76px;
  --fs-display-l: 56px;
  --fs-display-m: 42px;
  --fs-h1: 34px;
  --fs-h2: 26px;
  --fs-h3: 20px;
  --fs-body-l: 18px;
  --fs-body: 16px;
  --fs-body-s: 14px;
  --fs-caption: 13px;
  --fs-micro: 11px;

  --lh-tight: 1.04;
  --lh-snug: 1.18;
  --lh-normal: 1.5;
  --lh-relaxed: 1.62;

  --ls-display: -0.02em;
  --ls-tight: -0.01em;
  --ls-normal: 0;
  --ls-wide: 0.04em;
  --ls-caps: 0.14em;

  --text-eyebrow-transform: uppercase;
}

/* Smart Partner — Spacing, radii, layout tokens */
:root {
  --sp-0: 0;
  --sp-1: 4px;
  --sp-2: 8px;
  --sp-3: 12px;
  --sp-4: 16px;
  --sp-5: 20px;
  --sp-6: 24px;
  --sp-8: 32px;
  --sp-10: 40px;
  --sp-12: 48px;
  --sp-16: 64px;
  --sp-20: 80px;
  --sp-24: 96px;
  --sp-32: 128px;

  --r-xs: 6px;
  --r-sm: 10px;
  --r-md: 14px;
  --r-lg: 20px;
  --r-xl: 28px;
  --r-2xl: 36px;
  --r-pill: 999px;

  --container-sm: 640px;
  --container-md: 960px;
  --container-lg: 1200px;
  --container-xl: 1320px;

  --control-h-sm: 36px;
  --control-h-md: 44px;
  --control-h-lg: 54px;
}

/* Smart Partner — Effects: shadows, glows, blur, motion */
:root {
  --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 24px 60px rgba(0, 0, 0, 0.55);
  --shadow-card: 0 1px 0 rgba(255,255,255,0.04) inset, 0 18px 48px rgba(0,0,0,0.5);

  --glow-blue: 0 0 0 1px rgba(47,107,255,0.4), 0 0 28px rgba(47,107,255,0.45);
  --glow-mint: 0 0 0 1px rgba(52,227,164,0.4), 0 0 28px rgba(52,227,164,0.4);
  --glow-soft: 0 0 40px rgba(47,107,255,0.22);

  --ring: 0 0 0 3px rgba(47,107,255,0.45);
  --ring-mint: 0 0 0 3px rgba(52,227,164,0.40);

  --blur-glass: blur(18px) saturate(1.2);
  --glass-fill: rgba(18, 24, 41, 0.62);

  --ease-out: cubic-bezier(0.22, 1, 0.36, 1);
  --ease-in-out: cubic-bezier(0.65, 0, 0.35, 1);
  --ease-spring: cubic-bezier(0.34, 1.56, 0.64, 1);
  --dur-fast: 120ms;
  --dur: 200ms;
  --dur-slow: 360ms;
}
