:root {
  color-scheme: light;

  /* Color */
  --aotu-color-brand-50: #eef5ff;
  --aotu-color-brand-100: #d9e9ff;
  --aotu-color-brand-500: #2563eb;
  --aotu-color-brand-600: #1d4ed8;
  --aotu-color-brand-700: #1e40af;
  --aotu-color-ink-950: #111827;
  --aotu-color-ink-800: #1f2937;
  --aotu-color-ink-700: #374151;
  --aotu-color-ink-600: #4b5563;
  --aotu-color-ink-500: #6b7280;
  --aotu-color-ink-400: #9ca3af;
  --aotu-color-line-300: #d1d5db;
  --aotu-color-line-200: #e5e7eb;
  --aotu-color-line-100: #f0f2f5;
  --aotu-color-surface-0: #ffffff;
  --aotu-color-surface-50: #f8f9fb;
  --aotu-color-surface-100: #f3f4f6;
  --aotu-color-success-50: #ecfdf3;
  --aotu-color-success-600: #15803d;
  --aotu-color-warning-50: #fffbeb;
  --aotu-color-warning-600: #b45309;
  --aotu-color-danger-50: #fff1f2;
  --aotu-color-danger-600: #dc2626;
  --aotu-color-info-50: #eff6ff;
  --aotu-color-info-600: #2563eb;
  --aotu-color-overlay: rgb(17 24 39 / 48%);

  /* Typography */
  --aotu-font-sans: "Inter", "PingFang SC", "Microsoft YaHei", "Noto Sans CJK SC", system-ui, -apple-system, sans-serif;
  --aotu-font-mono: "SFMono-Regular", Consolas, "Liberation Mono", monospace;
  --aotu-text-xs: 12px;
  --aotu-text-sm: 13px;
  --aotu-text-md: 14px;
  --aotu-text-lg: 16px;
  --aotu-text-xl: 20px;
  --aotu-text-2xl: 28px;
  --aotu-leading-tight: 1.25;
  --aotu-leading-normal: 1.55;
  --aotu-weight-regular: 400;
  --aotu-weight-medium: 500;
  --aotu-weight-semibold: 600;
  /* Typography policy: text at 13px or below must not exceed this weight. */
  --aotu-small-text-max-weight: var(--aotu-weight-medium);

  /* Spacing: 4px base */
  --aotu-space-0: 0;
  --aotu-space-1: 4px;
  --aotu-space-2: 8px;
  --aotu-space-3: 12px;
  --aotu-space-4: 16px;
  --aotu-space-5: 20px;
  --aotu-space-6: 24px;
  --aotu-space-8: 32px;
  --aotu-space-10: 40px;
  --aotu-space-12: 48px;

  /* Shape */
  --aotu-radius-sm: 6px;
  --aotu-radius-md: 8px;
  --aotu-radius-lg: 12px;
  --aotu-radius-full: 999px;
  --aotu-border-width: 1px;

  /* Elevation */
  --aotu-shadow-sm: 0 1px 2px rgb(17 24 39 / 6%);
  --aotu-shadow-md: 0 12px 32px rgb(17 24 39 / 12%);
  --aotu-shadow-focus: 0 0 0 3px rgb(37 99 235 / 18%);

  /* Motion: feedback only */
  --aotu-duration-fast: 120ms;
  --aotu-duration-normal: 180ms;
  --aotu-ease-standard: cubic-bezier(0.2, 0, 0, 1);

  /* Control sizing */
  --aotu-control-sm: 32px;
  --aotu-control-md: 40px;
  --aotu-control-lg: 48px;
  --aotu-content-max: 1440px;
  --aotu-sidebar-width: 240px;
}

[data-theme="dark"] {
  color-scheme: dark;
  --aotu-color-brand-50: #172554;
  --aotu-color-brand-100: #1e3a8a;
  --aotu-color-brand-500: #60a5fa;
  --aotu-color-brand-600: #3b82f6;
  --aotu-color-brand-700: #2563eb;
  --aotu-color-ink-950: #f9fafb;
  --aotu-color-ink-800: #f3f4f6;
  --aotu-color-ink-700: #e5e7eb;
  --aotu-color-ink-600: #d1d5db;
  --aotu-color-ink-500: #9ca3af;
  --aotu-color-ink-400: #6b7280;
  --aotu-color-line-300: #4b5563;
  --aotu-color-line-200: #374151;
  --aotu-color-line-100: #273142;
  --aotu-color-surface-0: #151b25;
  --aotu-color-surface-50: #10151e;
  --aotu-color-surface-100: #1f2937;
  --aotu-color-overlay: rgb(0 0 0 / 66%);
  --aotu-shadow-sm: 0 1px 2px rgb(0 0 0 / 24%);
  --aotu-shadow-md: 0 18px 42px rgb(0 0 0 / 34%);
}
