/* 全站语义设计 token：组件和页面仅引用这些变量，不直接依赖主题调色板。 */
:root {
  --color-page: #0d1218;
  --color-surface: #1c2839;
  --color-surface-raised: #243352;
  --color-surface-muted: #1a2436;
  --color-text: #e8edf5;
  --color-text-muted: #8892b0;
  --color-border: rgba(148, 163, 184, 0.22);
  --color-accent: #00bbff;
  --color-accent-hover: #33c9ff;
  --color-accent-fg: #0f172a;
  --color-success: #4ec9b0;
  --color-success-fg: #0f172a;
  --color-warning: #ffb347;
  --color-warning-fg: #0f172a;
  --color-info: #00bbff;
  --color-info-fg: #0f172a;
  --color-danger: #f14c4c;
  --color-danger-fg: #0f172a;
  --color-overlay: color-mix(in srgb, var(--color-text) 42%, transparent);
  --color-shadow: color-mix(in srgb, var(--color-text) 20%, transparent);
  --color-hover: rgba(255, 255, 255, 0.08);
  --color-focus: color-mix(in srgb, var(--color-accent) 32%, transparent);
  --color-surface-overlay: color-mix(in srgb, var(--color-surface-raised) 88%, transparent);
  --color-surface-selected: color-mix(in srgb, var(--color-accent) 12%, var(--color-surface));
  --color-border-strong: color-mix(in srgb, var(--color-text) 32%, var(--color-border));
  --color-text-subtle: color-mix(in srgb, var(--color-text-muted) 78%, transparent);
  --radius-xs: 0.375rem;
  --radius-sm: 0.5rem;
  --radius-md: 0.75rem;
  --radius-lg: 1rem;
  --radius-xl: 1.25rem;
  --shadow-sm: 0 0.125rem 0.5rem var(--color-shadow);
  --shadow-md: 0 0.625rem 1.75rem var(--color-shadow);
  --shadow-lg: 0 1.25rem 3.5rem var(--color-shadow);
  --motion-instant: 100ms;
  --motion-fast: 160ms;
  --motion-normal: 240ms;
  --motion-slow: 360ms;
  --ease-standard: cubic-bezier(0.2, 0, 0, 1);
  --ease-emphasized: cubic-bezier(0.22, 1, 0.36, 1);
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: 1ms !important;
    animation-iteration-count: 1 !important;
    scroll-behavior: auto !important;
    transition-duration: 1ms !important;
  }
}
