/* GEO Geek design tokens. Copied from design-system/tokens.css (generated from design-system/tokens.json). Change the tokens there, then re-copy. Fonts are registered by theme.json (settings.typography.fontFamilies), so there are no @font-face rules here.
   Light is the default. Dark applies with [data-theme="dark"], or with the OS dark setting unless [data-theme="light"] is set. */


:root, [data-theme="light"] {
  --surface-100: #ffffff;
  --surface-200: #f6f6f4;
  --surface-300: #eeeeeb;
  --surface-inverse: #0d0d0e;
  --ink: #0d0d0e;
  --ink-muted: #5f5f64;
  --ink-inverse: #ffffff;
  --line: #e7e7e3;
  --line-strong: #8e8e93;
  --signal: #c8f53c;
  --on-signal: #0d0d0e;
  --focus-ring: #2f5bea;
  --status-supported: #0b7552;
  --status-supported-bg: #e6f4ed;
  --status-refuted: #b23a0a;
  --status-refuted-bg: #fcece4;
  --status-running: #8a5a00;
  --status-running-bg: #faf1dc;
  --status-inconclusive: #5f5f64;
  --status-inconclusive-bg: #efefed;
  --shadow-md: 0 8px 30px rgba(13, 13, 14, 0.08);
}

[data-theme="dark"] {
  --surface-100: #0b0b0c;
  --surface-200: #161618;
  --surface-300: #202023;
  --surface-inverse: #f4f4f2;
  --ink: #f4f4f2;
  --ink-muted: #a1a1a8;
  --ink-inverse: #0d0d0e;
  --line: #26262a;
  --line-strong: #66666d;
  --signal: #c8f53c;
  --on-signal: #0d0d0e;
  --focus-ring: #8aa4ff;
  --status-supported: #5fd3a4;
  --status-supported-bg: #10261d;
  --status-refuted: #ff9466;
  --status-refuted-bg: #30180e;
  --status-running: #f2c14e;
  --status-running-bg: #2b2210;
  --status-inconclusive: #a1a1a8;
  --status-inconclusive-bg: #1e1e21;
  --shadow-md: 0 8px 30px rgba(0, 0, 0, 0.55);
}

@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) {
    --surface-100: #0b0b0c;
    --surface-200: #161618;
    --surface-300: #202023;
    --surface-inverse: #f4f4f2;
    --ink: #f4f4f2;
    --ink-muted: #a1a1a8;
    --ink-inverse: #0d0d0e;
    --line: #26262a;
    --line-strong: #66666d;
    --signal: #c8f53c;
    --on-signal: #0d0d0e;
    --focus-ring: #8aa4ff;
    --status-supported: #5fd3a4;
    --status-supported-bg: #10261d;
    --status-refuted: #ff9466;
    --status-refuted-bg: #30180e;
    --status-running: #f2c14e;
    --status-running-bg: #2b2210;
    --status-inconclusive: #a1a1a8;
    --status-inconclusive-bg: #1e1e21;
    --shadow-md: 0 8px 30px rgba(0, 0, 0, 0.55);
  }
}

:root {
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-6: 24px;
  --space-8: 32px;
  --space-12: 48px;
  --space-20: 80px;
  --space-32: 128px;
  --radius-sm: 6px;
  --radius-md: 12px;
  --radius-lg: 20px;
  --radius-pill: 999px;
  --measure: 68ch;
  --content-max: 1200px;
  --font-sans: "Geist", "Helvetica Neue", Arial, sans-serif;
  --font-mono: "Geist Mono", ui-monospace, "SFMono-Regular", Menlo, monospace;
}

/* Type styles */
.gg-type-display-xl { font-family: var(--font-sans); font-size: 76px; line-height: 78px; font-weight: 600; letter-spacing: -0.045em; }
.gg-type-display { font-family: var(--font-sans); font-size: 52px; line-height: 56px; font-weight: 600; letter-spacing: -0.035em; }
.gg-type-heading-1 { font-family: var(--font-sans); font-size: 36px; line-height: 42px; font-weight: 600; letter-spacing: -0.025em; }
.gg-type-heading-2 { font-family: var(--font-sans); font-size: 26px; line-height: 32px; font-weight: 600; letter-spacing: -0.02em; }
.gg-type-heading-3 { font-family: var(--font-sans); font-size: 19px; line-height: 26px; font-weight: 600; letter-spacing: -0.01em; }
.gg-type-lead { font-family: var(--font-sans); font-size: 21px; line-height: 31px; font-weight: 400; letter-spacing: -0.01em; }
.gg-type-body { font-family: var(--font-sans); font-size: 17px; line-height: 28px; font-weight: 400; }
.gg-type-body-sm { font-family: var(--font-sans); font-size: 15px; line-height: 23px; font-weight: 400; }
.gg-type-caption { font-family: var(--font-sans); font-size: 13px; line-height: 18px; font-weight: 400; }
.gg-type-label { font-family: var(--font-mono); font-size: 12px; line-height: 16px; font-weight: 500; letter-spacing: 0.06em; text-transform: uppercase; font-variant-numeric: tabular-nums; }
.gg-type-metric { font-family: var(--font-mono); font-size: 34px; line-height: 38px; font-weight: 500; letter-spacing: -0.03em; font-variant-numeric: tabular-nums; }
.gg-type-data { font-family: var(--font-mono); font-size: 14px; line-height: 22px; font-weight: 400; font-variant-numeric: tabular-nums; }

/* WordPress bridge: theme.json palette presets follow the active theme (light or dark). */
[data-theme="dark"] {
  --wp--preset--color--surface-100: var(--surface-100);
  --wp--preset--color--surface-200: var(--surface-200);
  --wp--preset--color--surface-300: var(--surface-300);
  --wp--preset--color--surface-inverse: var(--surface-inverse);
  --wp--preset--color--ink: var(--ink);
  --wp--preset--color--ink-muted: var(--ink-muted);
  --wp--preset--color--ink-inverse: var(--ink-inverse);
  --wp--preset--color--line: var(--line);
  --wp--preset--color--line-strong: var(--line-strong);
  --wp--preset--color--signal: var(--signal);
  --wp--preset--color--on-signal: var(--on-signal);
  --wp--preset--color--focus-ring: var(--focus-ring);
  --wp--preset--color--status-supported: var(--status-supported);
  --wp--preset--color--status-supported-bg: var(--status-supported-bg);
  --wp--preset--color--status-refuted: var(--status-refuted);
  --wp--preset--color--status-refuted-bg: var(--status-refuted-bg);
  --wp--preset--color--status-running: var(--status-running);
  --wp--preset--color--status-running-bg: var(--status-running-bg);
  --wp--preset--color--status-inconclusive: var(--status-inconclusive);
  --wp--preset--color--status-inconclusive-bg: var(--status-inconclusive-bg);
}
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) {
    --wp--preset--color--surface-100: var(--surface-100);
    --wp--preset--color--surface-200: var(--surface-200);
    --wp--preset--color--surface-300: var(--surface-300);
    --wp--preset--color--surface-inverse: var(--surface-inverse);
    --wp--preset--color--ink: var(--ink);
    --wp--preset--color--ink-muted: var(--ink-muted);
    --wp--preset--color--ink-inverse: var(--ink-inverse);
    --wp--preset--color--line: var(--line);
    --wp--preset--color--line-strong: var(--line-strong);
    --wp--preset--color--signal: var(--signal);
    --wp--preset--color--on-signal: var(--on-signal);
    --wp--preset--color--focus-ring: var(--focus-ring);
    --wp--preset--color--status-supported: var(--status-supported);
    --wp--preset--color--status-supported-bg: var(--status-supported-bg);
    --wp--preset--color--status-refuted: var(--status-refuted);
    --wp--preset--color--status-refuted-bg: var(--status-refuted-bg);
    --wp--preset--color--status-running: var(--status-running);
    --wp--preset--color--status-running-bg: var(--status-running-bg);
    --wp--preset--color--status-inconclusive: var(--status-inconclusive);
    --wp--preset--color--status-inconclusive-bg: var(--status-inconclusive-bg);
  }
}
