/* Specwright brand tokens mapped to VitePress CSS variables */

/* Self-hosted fonts (no Google Fonts CDN — GDPR compliant) */
@font-face {
  font-family: "Space Grotesk";
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url("/docs/fonts/space-grotesk-latin.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6,
    U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122,
    U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: "Inter";
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url("/docs/fonts/inter-latin.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6,
    U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122,
    U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: "JetBrains Mono";
  font-style: normal;
  font-weight: 400 500;
  font-display: swap;
  src: url("/docs/fonts/jetbrains-mono-latin.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6,
    U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122,
    U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

:root {
  /* Brand colors → VitePress variables */
  --vp-c-brand-1: #0077cc;
  --vp-c-brand-2: #339fdd;
  --vp-c-brand-3: #005fa3;
  --vp-c-brand-soft: rgba(0, 119, 204, 0.14);

  /* Accent (used for tips, badges) */
  --vp-c-tip-1: #10b981;
  --vp-c-tip-2: #34d399;
  --vp-c-tip-3: #059669;
  --vp-c-tip-soft: rgba(16, 185, 129, 0.14);

  /* Typography */
  --vp-font-family-base: "Inter", system-ui, -apple-system, sans-serif;
  --vp-font-family-mono: "JetBrains Mono", ui-monospace, "Cascadia Code",
    monospace;

  /* Home hero gradient */
  --vp-home-hero-name-color: transparent;
  --vp-home-hero-name-background: linear-gradient(
    135deg,
    #0077cc 30%,
    #10b981 100%
  );
  --vp-home-hero-image-background-image: linear-gradient(
    135deg,
    rgba(0, 119, 204, 0.2) 30%,
    rgba(16, 185, 129, 0.2) 100%
  );
  --vp-home-hero-image-filter: blur(44px);
}

/* Light mode */
:root {
  --vp-c-bg: #ffffff;
  --vp-c-bg-alt: #f7fafc;
  --vp-c-bg-elv: #f1f5f9;
  --vp-c-text-1: #1a202c;
  --vp-c-text-2: #4a5568;
  --vp-c-text-3: #718096;
  --vp-c-divider: #e2e8f0;
}

/* Dark mode */
.dark {
  --vp-c-bg: #0a0f1a;
  --vp-c-bg-alt: #111827;
  --vp-c-bg-elv: #1e293b;
  --vp-c-text-1: #e2e8f0;
  --vp-c-text-2: #a0aec0;
  --vp-c-text-3: #718096;
  --vp-c-divider: #1e293b;
}

/* Nav title matches main site gradient wordmark */
.VPNavBarTitle .title {
  font-family: "Space Grotesk", system-ui, -apple-system, sans-serif;
  font-weight: 700;
  background: linear-gradient(to right, #10b981, #22d3ee);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

/* Headings use Space Grotesk */
.vp-doc h1,
.vp-doc h2,
.vp-doc h3,
.vp-doc h4,
.VPHero .name,
.VPFeature .title {
  font-family: "Space Grotesk", system-ui, -apple-system, sans-serif;
}

/* Hero name styling */
.VPHero .name {
  font-weight: 700;
}

/* Slightly tighter line-height for headings */
.vp-doc h1 {
  letter-spacing: -0.02em;
}

.vp-doc h2 {
  letter-spacing: -0.01em;
}
