/* OneAIWorld design system: tokens.
   Everything visual (color, type, space, radius, shadow, motion) is defined here, once, for both themes.
   Theme is chosen by the visitor and stored in localStorage; theme-init.js sets html[data-oaiw-theme].
   All names are --oaiw-*; Bootstrap's --bs-* variables are mapped onto them in 10-base.css. */

@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url('../../fonts/oaiw/inter-var-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: 'Space Grotesk';
  font-style: normal;
  font-weight: 500 700;
  font-display: swap;
  src: url('../../fonts/oaiw/space-grotesk-var-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: 500 700;
  font-display: swap;
  src: url('../../fonts/oaiw/jetbrains-mono-var-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 (theme independent) */
  --oaiw-blue: #428bca;          /* the original OneAIWorld blue */
  --oaiw-blue-hi: #6db3ff;
  --oaiw-blue-deep: #1c5d9f;
  --oaiw-navy: #040a16;
  --oaiw-navy-2: #081428;
  --oaiw-gold: #ffc83d;
  --oaiw-green: #48e0a0;
  --oaiw-red: #ff5d6c;

  /* type */
  --oaiw-font-sans: 'Inter', system-ui, -apple-system, 'Segoe UI', Roboto, Arial, sans-serif;
  --oaiw-font-display: 'Space Grotesk', 'Inter', system-ui, sans-serif;
  --oaiw-font-mono: 'JetBrains Mono', ui-monospace, 'SF Mono', Menlo, Consolas, monospace;
  --oaiw-font-serif: 'Fraunces', Georgia, 'Times New Roman', serif;   /* editorial pages only */
  --oaiw-text-xs: .78rem;
  --oaiw-text-sm: .9rem;
  --oaiw-text-base: 1rem;
  --oaiw-text-lg: 1.125rem;
  --oaiw-text-xl: clamp(1.25rem, 1.1rem + .6vw, 1.5rem);
  --oaiw-h3: clamp(1.35rem, 1.15rem + .8vw, 1.75rem);
  --oaiw-h2: clamp(1.75rem, 1.4rem + 1.5vw, 2.6rem);
  --oaiw-h1: clamp(2.4rem, 1.6rem + 3.6vw, 5rem);

  /* space (4px base) */
  --oaiw-space-1: .25rem; --oaiw-space-2: .5rem; --oaiw-space-3: .75rem; --oaiw-space-4: 1rem;
  --oaiw-space-5: 1.5rem; --oaiw-space-6: 2rem; --oaiw-space-7: 3rem; --oaiw-space-8: 4.5rem; --oaiw-space-9: 6.5rem;

  /* shape */
  --oaiw-radius-sm: 8px; --oaiw-radius: 12px; --oaiw-radius-lg: 18px; --oaiw-radius-xl: 26px; --oaiw-radius-pill: 999px;

  /* layout */
  --oaiw-nav-h: 68px;
  --oaiw-container: 1240px;

  /* motion */
  --oaiw-ease: cubic-bezier(.2, .8, .2, 1);
  --oaiw-fast: .15s; --oaiw-med: .28s; --oaiw-slow: .6s;

  /* z-index scale */
  --oaiw-z-nav: 1030; --oaiw-z-cookie: 1050;
}

/* ---------- dark theme (default): Mission Control ---------- */
:root, :root[data-oaiw-theme="dark"] {
  color-scheme: dark;
  --oaiw-bg: #040a16;
  --oaiw-bg-2: #071125;
  --oaiw-surface: #0b1830;
  --oaiw-surface-2: #10224a;
  --oaiw-surface-hover: #142a56;
  --oaiw-line: rgba(110, 170, 255, .2);
  --oaiw-line-strong: rgba(130, 190, 255, .38);
  --oaiw-text: #e8f1ff;
  --oaiw-text-muted: #9db4d6;
  --oaiw-text-faint: #6f8db3;
  --oaiw-accent: #6db3ff;         /* links and highlights: 9:1 on the dark bg */
  --oaiw-accent-fill: #428bca;    /* button fills */
  --oaiw-accent-fill-hover: #5aa3e6;
  --oaiw-on-accent: #04101f;
  --oaiw-link: #8fc7ff;
  --oaiw-glow: 0 0 0 1px rgba(150, 200, 255, .45) inset, 0 10px 40px rgba(66, 139, 202, .5);
  --oaiw-shadow: 0 24px 60px rgba(0, 0, 0, .55);
  --oaiw-shadow-sm: 0 8px 24px rgba(0, 0, 0, .4);
  --oaiw-nav-bg: rgba(4, 10, 22, .78);
  --oaiw-nav-bg-solid: rgba(4, 10, 22, .96);
  --oaiw-input-bg: #08142b;
  --oaiw-success: #48e0a0; --oaiw-warning: #ffc83d; --oaiw-danger: #ff7a87; --oaiw-info: #6db3ff;
  --oaiw-score-hi: #48e0a0; --oaiw-score-mid: #6db3ff; --oaiw-score-lo: #ffc83d;
  --oaiw-hero-overlay: rgba(4, 10, 22, .55);
  --oaiw-text-rgb: 232, 241, 255; --oaiw-bg-rgb: 4, 10, 22; --oaiw-muted-rgb: 157, 180, 214;
  --oaiw-link-rgb: 143, 199, 255; --oaiw-accent-rgb: 109, 179, 255; --oaiw-primary-rgb: 66, 139, 202;
}

/* ---------- light theme: clean cool paper ---------- */
:root[data-oaiw-theme="light"] {
  color-scheme: light;
  --oaiw-bg: #f4f7fc;
  --oaiw-bg-2: #ebf0f8;
  --oaiw-surface: #ffffff;
  --oaiw-surface-2: #f7f9fd;
  --oaiw-surface-hover: #eef3fb;
  --oaiw-line: #d6dfee;
  --oaiw-line-strong: #b7c6de;
  --oaiw-text: #0d1b2e;
  --oaiw-text-muted: #4a5b73;      /* 6.9:1 on white */
  --oaiw-text-faint: #55667d;
  --oaiw-accent: #1c5d9f;          /* 6.6:1 on white: safe for text */
  --oaiw-accent-fill: #1c5d9f;
  --oaiw-accent-fill-hover: #164d85;
  --oaiw-on-accent: #ffffff;
  --oaiw-link: #1c5d9f;
  --oaiw-glow: 0 10px 30px rgba(28, 93, 159, .28);
  --oaiw-shadow: 0 20px 50px rgba(13, 27, 46, .16);
  --oaiw-shadow-sm: 0 6px 18px rgba(13, 27, 46, .1);
  --oaiw-nav-bg: rgba(244, 247, 252, .82);
  --oaiw-nav-bg-solid: rgba(244, 247, 252, .97);
  --oaiw-input-bg: #ffffff;
  --oaiw-success: #0c6b43; --oaiw-warning: #8a5700; --oaiw-danger: #c6283a; --oaiw-info: #1c5d9f;
  --oaiw-score-hi: #0f7a4d; --oaiw-score-mid: #1c5d9f; --oaiw-score-lo: #8a5700;
  --oaiw-hero-overlay: rgba(4, 10, 22, .55);
  --oaiw-text-rgb: 13, 27, 46; --oaiw-bg-rgb: 244, 247, 252; --oaiw-muted-rgb: 74, 91, 115;
  --oaiw-link-rgb: 28, 93, 159; --oaiw-accent-rgb: 28, 93, 159; --oaiw-primary-rgb: 28, 93, 159;
}
