/* ============================================================
 *  GENERATED FILE — do not edit by hand.
 *  Source: .design/tokens.json  ·  Build: .design/build_tokens.py
 *  Design system: xuec.org design tokens v1.0.0
 * ============================================================ */
:root {
  color-scheme: light dark;
  /* color (light) */
  --c-bg: #faf9f6;
  --c-surface: #ffffff;
  --c-surface-2: #f3f1ea;
  --c-ink: #1b1b22;
  --c-muted: #56565f;
  --c-faint: #8a8a93;
  --c-border: #e7e3da;
  --c-border-strong: #d8d3c7;
  --c-accent: #4f46e5;
  --c-accent-strong: #4338ca;
  --c-accent-soft: #eef0fe;
  --c-accent-ink: #ffffff;
  --c-warn: #b45309;
  --c-warn-soft: #fdf2e3;
  /* typography */
  --font-serif: "Iowan Old Style", "Palatino Linotype", Palatino, "Noto Serif SC", "Songti SC", "Source Han Serif SC", Georgia, serif;
  --font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Noto Sans SC", sans-serif;
  --font-mono: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace;
  --size-step--1: 0.833rem;
  --size-step-0: 1rem;
  --size-step-1: 1.2rem;
  --size-step-2: 1.48rem;
  --size-step-3: 1.86rem;
  --size-step-4: 2.4rem;
  --size-step-5: 3.2rem;
  --size-step-6: 4.1rem;
  /* space */
  --space-3xs: 0.25rem;
  --space-2xs: 0.5rem;
  --space-xs: 0.75rem;
  --space-s: 1rem;
  --space-m: 1.5rem;
  --space-l: 2rem;
  --space-xl: 3rem;
  --space-2xl: 4.5rem;
  --space-3xl: 6.5rem;
  /* radius */
  --radius-sm: 8px;
  --radius-md: 13px;
  --radius-lg: 20px;
  --radius-pill: 999px;
  /* shadow */
  --shadow-sm: 0 1px 2px rgba(20,20,30,0.05), 0 1px 1px rgba(20,20,30,0.04);
  --shadow-md: 0 4px 14px rgba(20,20,30,0.07), 0 2px 4px rgba(20,20,30,0.05);
  --shadow-lg: 0 18px 50px rgba(20,20,30,0.12), 0 6px 16px rgba(20,20,30,0.07);
  /* layout */
  --layout-measure: 66ch;
  --layout-container: 1120px;
  --layout-container-narrow: 760px;
  /* motion */
  --motion-fast: 140ms;
  --motion-base: 260ms;
  --motion-slow: 520ms;
  --motion-ease: cubic-bezier(0.22, 1, 0.36, 1);
}

@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) {
    --c-bg: #0e0e12;
    --c-surface: #16161c;
    --c-surface-2: #1f1f28;
    --c-ink: #ededf2;
    --c-muted: #a4a4af;
    --c-faint: #71717a;
    --c-border: #2a2a34;
    --c-border-strong: #3a3a46;
    --c-accent: #8b93f8;
    --c-accent-strong: #a5b4fc;
    --c-accent-soft: #1b1c2b;
    --c-accent-ink: #0e0e12;
    --c-warn: #f0b072;
    --c-warn-soft: #241a10;
  }
}

/* explicit overrides for an optional manual theme switch */
[data-theme="dark"] {
  --c-bg: #0e0e12;
  --c-surface: #16161c;
  --c-surface-2: #1f1f28;
  --c-ink: #ededf2;
  --c-muted: #a4a4af;
  --c-faint: #71717a;
  --c-border: #2a2a34;
  --c-border-strong: #3a3a46;
  --c-accent: #8b93f8;
  --c-accent-strong: #a5b4fc;
  --c-accent-soft: #1b1c2b;
  --c-accent-ink: #0e0e12;
  --c-warn: #f0b072;
  --c-warn-soft: #241a10;
}
[data-theme="light"] {
  --c-bg: #faf9f6;
  --c-surface: #ffffff;
  --c-surface-2: #f3f1ea;
  --c-ink: #1b1b22;
  --c-muted: #56565f;
  --c-faint: #8a8a93;
  --c-border: #e7e3da;
  --c-border-strong: #d8d3c7;
  --c-accent: #4f46e5;
  --c-accent-strong: #4338ca;
  --c-accent-soft: #eef0fe;
  --c-accent-ink: #ffffff;
  --c-warn: #b45309;
  --c-warn-soft: #fdf2e3;
}
