/* grok.online design tokens – "Event horizon": near-black, white primary, one cool horizon glow. Dark is the default.
   Shared by the site (site.css) and the chat app (assets/chat/**; md.css carries a layered fallback copy of these names).
   Fonts are self-hosted variable WOFF2 (SIL OFL, see /assets/fonts/OFL-*.txt). */

@font-face { font-family: 'Space Grotesk'; font-style: normal; font-display: swap; font-weight: 300 700; src: url(/assets/fonts/space-grotesk-latin-wght-normal.woff2) format('woff2-variations'); 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-display: swap; font-weight: 300 700; src: url(/assets/fonts/space-grotesk-latin-ext-wght-normal.woff2) format('woff2-variations'); unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF; }
@font-face { font-family: 'Space Grotesk'; font-style: normal; font-display: swap; font-weight: 300 700; src: url(/assets/fonts/space-grotesk-vietnamese-wght-normal.woff2) format('woff2-variations'); unicode-range: U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB; }

@font-face { font-family: 'Inter'; font-style: normal; font-display: swap; font-weight: 100 900; src: url(/assets/fonts/inter-latin-wght-normal.woff2) format('woff2-variations'); 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-display: swap; font-weight: 100 900; src: url(/assets/fonts/inter-latin-ext-wght-normal.woff2) format('woff2-variations'); unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF; }
@font-face { font-family: 'Inter'; font-style: normal; font-display: swap; font-weight: 100 900; src: url(/assets/fonts/inter-cyrillic-wght-normal.woff2) format('woff2-variations'); unicode-range: U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116; }
@font-face { font-family: 'Inter'; font-style: normal; font-display: swap; font-weight: 100 900; src: url(/assets/fonts/inter-cyrillic-ext-wght-normal.woff2) format('woff2-variations'); unicode-range: U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F; }
@font-face { font-family: 'Inter'; font-style: normal; font-display: swap; font-weight: 100 900; src: url(/assets/fonts/inter-greek-wght-normal.woff2) format('woff2-variations'); unicode-range: U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF; }
@font-face { font-family: 'Inter'; font-style: normal; font-display: swap; font-weight: 100 900; src: url(/assets/fonts/inter-vietnamese-wght-normal.woff2) format('woff2-variations'); unicode-range: U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB; }

@font-face { font-family: 'JetBrains Mono'; font-style: normal; font-display: swap; font-weight: 100 800; src: url(/assets/fonts/jetbrains-mono-latin-wght-normal.woff2) format('woff2-variations'); 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-display: swap; font-weight: 100 800; src: url(/assets/fonts/jetbrains-mono-latin-ext-wght-normal.woff2) format('woff2-variations'); unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF; }
@font-face { font-family: 'JetBrains Mono'; font-style: normal; font-display: swap; font-weight: 100 800; src: url(/assets/fonts/jetbrains-mono-cyrillic-wght-normal.woff2) format('woff2-variations'); unicode-range: U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116; }

/* Dark (default) */
:root, [data-theme="dark"] {
  --ink: #0A0A0C;
  --paper: #F4F4F5;
  --periwinkle: #8B9CFF;
  --teal: #8B9CFF;              /* the cool accent (name kept from the shared token set) */
  --coral: #E0A458;             /* amber: limits, warnings */
  --coral-soft: rgba(224, 164, 88, .14);
  --teal-soft: rgba(139, 156, 255, .12);

  --bg: #0A0A0C;
  --bg-soft: #0E0E11;
  --surface: #121216;
  --surface-2: #18181D;
  --border: rgba(255, 255, 255, .08);
  --border-strong: rgba(255, 255, 255, .15);
  --text: #F4F4F5;
  --text-soft: #D4D4D8;
  --muted: #A1A1AA;

  /* white primary buttons with black text; links periwinkle */
  --accent: #FFFFFF;
  --accent-hover: #E4E4E7;
  --accent-2: #8B9CFF;
  --accent-ink: #AFC0FF;
  --accent-soft: rgba(139, 156, 255, .12);
  --accent-grad: linear-gradient(135deg, #FFFFFF 0%, #E8ECFF 100%);
  --on-accent: #0A0A0C;
  --horizon: radial-gradient(closest-side, rgba(232, 236, 255, .22), rgba(139, 156, 255, .10) 55%, transparent);
  --star: rgba(255, 255, 255, .55);
  --success: #5BBF8A;
  --danger: #F87171;
  --header-bg: rgba(10, 10, 12, .72);

  --radius-sm: 10px;
  --radius: 14px;
  --radius-lg: 16px;
  --radius-pill: 999px;
  --shadow-sm: 0 1px 2px rgba(0, 0, 0, .5);
  --shadow: 0 1px 2px rgba(0, 0, 0, .4), 0 10px 28px -10px rgba(0, 0, 0, .7);
  --shadow-lg: 0 2px 6px rgba(0, 0, 0, .4), 0 30px 70px -20px rgba(0, 0, 0, .85);
  --ring: 0 0 0 3px rgba(175, 192, 255, .45);

  --font: 'Inter', ui-sans-serif, system-ui, -apple-system, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, 'Noto Sans', sans-serif;
  --font-display: 'Space Grotesk', 'Inter', system-ui, -apple-system, 'Segoe UI', Roboto, Arial, sans-serif;
  --font-mono: 'JetBrains Mono', ui-monospace, SFMono-Regular, 'Cascadia Code', Menlo, Consolas, 'Liberation Mono', monospace;

  --header-h: 64px;
  --maxw: 1200px;
  --ease: cubic-bezier(.2, .7, .2, 1);

  color-scheme: dark;
}

[data-theme="light"] {
  --teal: #3346C9;
  --coral: #A35C0A;
  --coral-soft: #FBEEDC;
  --teal-soft: #E9ECFB;

  --bg: #FAFAF9;
  --bg-soft: #F3F3F1;
  --surface: #FFFFFF;
  --surface-2: #F1F1EF;
  --border: rgba(11, 11, 14, .09);
  --border-strong: rgba(11, 11, 14, .17);
  --text: #0B0B0E;
  --text-soft: #2E2E36;
  --muted: #5B5B66;

  --accent: #0B0B0E;
  --accent-hover: #26262C;
  --accent-2: #5B6CE0;
  --accent-ink: #3346C9;
  --accent-soft: rgba(51, 70, 201, .08);
  --accent-grad: linear-gradient(135deg, #1C1C22 0%, #0B0B0E 100%);
  --on-accent: #FFFFFF;
  --horizon: radial-gradient(closest-side, rgba(139, 156, 255, .20), rgba(139, 156, 255, .07) 55%, transparent);
  --star: rgba(11, 11, 14, .22);
  --success: #1E7F4F;
  --danger: #C42B2B;
  --header-bg: rgba(250, 250, 249, .78);

  --shadow-sm: 0 1px 2px rgba(11, 11, 14, .06);
  --shadow: 0 1px 2px rgba(11, 11, 14, .05), 0 8px 24px -10px rgba(11, 11, 14, .16);
  --shadow-lg: 0 2px 6px rgba(11, 11, 14, .05), 0 26px 60px -20px rgba(11, 11, 14, .26);
  --ring: 0 0 0 3px rgba(51, 70, 201, .3);

  color-scheme: light;
}

/* Scripts without a bundled webfont: system stacks; headings use the same family. */
:lang(zh) { --font: system-ui, -apple-system, 'PingFang SC', 'Microsoft YaHei', 'Noto Sans SC', 'Noto Sans CJK SC', sans-serif; }
:lang(ja) { --font: system-ui, -apple-system, 'Hiragino Sans', 'Hiragino Kaku Gothic ProN', 'Yu Gothic UI', 'Meiryo', 'Noto Sans JP', sans-serif; }
:lang(ko) { --font: system-ui, -apple-system, 'Apple SD Gothic Neo', 'Malgun Gothic', 'Noto Sans KR', sans-serif; }
:lang(th) { --font: system-ui, -apple-system, 'Leelawadee UI', 'Thonburi', 'Noto Sans Thai', 'Tahoma', sans-serif; }
:lang(ar) { --font: system-ui, -apple-system, 'Segoe UI', 'Geeza Pro', 'Noto Sans Arabic', 'Tahoma', sans-serif; }
:lang(fa) { --font: system-ui, -apple-system, 'Segoe UI', 'Noto Sans Arabic', 'Vazirmatn', 'Tahoma', sans-serif; }
:lang(ur) { --font: 'Noto Nastaliq Urdu', system-ui, -apple-system, 'Segoe UI', 'Noto Sans Arabic', 'Tahoma', sans-serif; }
:lang(hi) { --font: system-ui, -apple-system, 'Nirmala UI', 'Kohinoor Devanagari', 'Noto Sans Devanagari', sans-serif; }
:lang(bn) { --font: system-ui, -apple-system, 'Nirmala UI', 'Kohinoor Bangla', 'Noto Sans Bengali', sans-serif; }
:lang(zh), :lang(ja), :lang(ko), :lang(th), :lang(ar), :lang(fa), :lang(ur), :lang(hi), :lang(bn) { --font-display: var(--font); }
/* Space Grotesk has no Cyrillic/Greek: those headings use Inter. */
:lang(ru), :lang(uk), :lang(el) { --font-display: 'Inter', system-ui, -apple-system, 'Segoe UI', Roboto, Arial, sans-serif; }
/* Korean wraps between words (spaces), not between syllables. */
:lang(ko) { word-break: keep-all; overflow-wrap: break-word; }
