/* Generated by scripts/build/sync_design_tokens.py — do not edit by hand.
 * Source: design/tokens.json (shared spine; different density per surface).
 */

:root {
  --spine-accent: #227c74;
  --spine-accent-soft: #006a62;
  --spine-ink: #192a3c;
  --spine-muted: #3d4f5f;
  --spine-focus: #227c74;
  --spine-focus-width: 2px;
  --spine-focus-offset: 2px;
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-5: 24px;
  --space-6: 32px;
  --radius-sm: 4px;
  --radius-md: 7px;
  --radius-lg: 10px;
  --type-display: 'Fraunces', Georgia, serif;
  --type-body: 'Open Sans', system-ui, sans-serif;
  --type-docs: system-ui, -apple-system, 'Segoe UI', sans-serif;
  --type-code: ui-monospace, SFMono-Regular, Consolas, monospace;
  --type-body-size: 16px;
  --type-docs-size: 16px;
  --type-code-size: 13px;
  --prose-measure: 65ch;
  --btn-min-height: 44px;
  --btn-radius: 4px;
  --badge-radius: 7px;
  --hero-canvas: oklch(0.398 0.047 248);
  --hero-paper: oklch(0.985 0.006 190);
  --hero-ink: oklch(0.31 0.035 240);
  --hero-muted: oklch(0.40 0.028 240);
  --hero-accent: oklch(0.445 0.073 181);
  --hero-soft: oklch(0.956 0.012 190);
  --hero-rule: oklch(0.85 0.017 210);
  --hero-glow: #4cc7f0;
  --motion-ease-out: cubic-bezier(.16, 1, .3, 1);
  --motion-ease-in-out: cubic-bezier(.455, .03, .515, .955);
  --motion-ease-editorial: cubic-bezier(.22, 1, .36, 1);
  --motion-duration-fast: 180ms;
  --motion-duration-enter: 640ms;
  --motion-duration-ignite: 1s;
  --docs-bg: #f7f9fc;
  --docs-panel: #ffffff;
  --docs-text: #192a3c;
  --docs-muted: #3d4f5f;
  --docs-accent: #006a62;
  --docs-accent2: #0b5f9a;
  --docs-line: #c5d0db;
}

html.dark {
  --docs-bg: #0a1019;
  --docs-panel: #111c2a;
  --docs-text: #edf4fb;
  --docs-muted: #c2d0de;
  --docs-accent: #6fdbd0;
  --docs-accent2: #acd5ff;
  --docs-line: #3a4d63;
}

/* Shared focus treatment across CV hero and Hugo surfaces */
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
summary:focus-visible,
.cv-site-nav a:focus-visible,
.cv-nav-lang a:focus-visible,
.site-header a:focus-visible,
.site-header button:focus-visible {
  outline: var(--spine-focus-width) solid var(--spine-focus);
  outline-offset: var(--spine-focus-offset);
}
