/* src/core/tokens.css — SVM house tokens. Single source of truth.
   Blue accent · gray neutral · small radius.
   Cascade: :root (light defaults) -> @media (prefers-color-scheme: dark) :root (follows OS/host
   dark when no explicit class is set) -> .light/[data-theme="light"] (explicit light override,
   declared after the media query so it wins the equal-specificity tie against :root even under
   OS/host dark) -> [data-theme="dark"], .dark (explicit dark override, always wins, declared
   last). */
:root {
  --svm-bg: #ffffff;      --svm-panel: #fbfbfb;   --svm-border: #e0e0e0;
  --svm-text: #1c1c1c;    --svm-muted: #646464;
  --svm-accent: #0090ff;  --svm-accent-soft: #e6f4ff; --svm-accent-text: #0d74ce;
  --svm-on-accent: #ffffff;
  --svm-danger: #dc3838;  --svm-danger-soft: #ffefef;  --svm-danger-text: #c62828;
  --svm-warning: #b45309; --svm-warning-soft: #fbf0df; --svm-warning-text: #9a5108;
  --svm-success: #29a383; --svm-success-soft: #e0f8f3; --svm-success-text: #0f7b5f;
  --svm-info: #0090ff;    --svm-info-soft: #e6f4ff;    --svm-info-text: #0d74ce;
  --svm-violet: #7c3aed;  --svm-violet-soft: #ede4ff;  --svm-violet-text: #6d28d9;
  --svm-space-1: 4px;  --svm-space-2: 8px;  --svm-space-3: 12px; --svm-space-4: 16px;
  --svm-space-5: 24px; --svm-space-6: 32px; --svm-space-7: 48px; --svm-space-8: 64px; --svm-space-9: 96px;
  --svm-radius-1: 3px; --svm-radius-2: 5px; --svm-radius-3: 8px; --svm-radius-4: 12px;
  --svm-font-sans: Inter, "Noto Sans SC", system-ui, -apple-system, sans-serif;
  --svm-font-mono: "JetBrains Mono", ui-monospace, SFMono-Regular, monospace;
  --svm-motion-fast: 120ms; --svm-motion-base: 200ms; --svm-ease: cubic-bezier(.2,.6,.3,1);
}
@media (prefers-color-scheme: dark) {
  :root {
    --svm-bg: #181818;      --svm-panel: #212121;   --svm-border: #2e2e2e;
    --svm-text: #eeeeee;    --svm-muted: #9d9d9d;
    --svm-accent: #0090ff;  --svm-accent-soft: #0d3149; --svm-accent-text: #70b8ff;
    --svm-on-accent: #ffffff;
    --svm-danger: #ff6b6b;  --svm-danger-soft: #3a1f1f;  --svm-danger-text: #ff9b9b;
    --svm-warning: #e0a458; --svm-warning-soft: #3a2e1a; --svm-warning-text: #e8b475;
    --svm-success: #0bd8b6; --svm-success-soft: #0f3b35; --svm-success-text: #2fd4b0;
    --svm-info: #70b8ff;    --svm-info-soft: #0d3149;    --svm-info-text: #70b8ff;
    --svm-violet: #a78bfa;  --svm-violet-soft: #2e2350;  --svm-violet-text: #c4b5fd;
  }
}
.light, [data-theme="light"] {
  --svm-bg: #ffffff;      --svm-panel: #fbfbfb;   --svm-border: #e0e0e0;
  --svm-text: #1c1c1c;    --svm-muted: #646464;
  --svm-accent: #0090ff;  --svm-accent-soft: #e6f4ff; --svm-accent-text: #0d74ce;
  --svm-on-accent: #ffffff;
  --svm-danger: #dc3838;  --svm-danger-soft: #ffefef;  --svm-danger-text: #c62828;
  --svm-warning: #b45309; --svm-warning-soft: #fbf0df; --svm-warning-text: #9a5108;
  --svm-success: #29a383; --svm-success-soft: #e0f8f3; --svm-success-text: #0f7b5f;
  --svm-info: #0090ff;    --svm-info-soft: #e6f4ff;    --svm-info-text: #0d74ce;
  --svm-violet: #7c3aed;  --svm-violet-soft: #ede4ff;  --svm-violet-text: #6d28d9;
}
[data-theme="dark"], .dark {
  --svm-bg: #181818;      --svm-panel: #212121;   --svm-border: #2e2e2e;
  --svm-text: #eeeeee;    --svm-muted: #9d9d9d;
  --svm-accent: #0090ff;  --svm-accent-soft: #0d3149; --svm-accent-text: #70b8ff;
  --svm-on-accent: #ffffff;
  --svm-danger: #ff6b6b;  --svm-danger-soft: #3a1f1f;  --svm-danger-text: #ff9b9b;
  --svm-warning: #e0a458; --svm-warning-soft: #3a2e1a; --svm-warning-text: #e8b475;
  --svm-success: #0bd8b6; --svm-success-soft: #0f3b35; --svm-success-text: #2fd4b0;
  --svm-info: #70b8ff;    --svm-info-soft: #0d3149;    --svm-info-text: #70b8ff;
  --svm-violet: #a78bfa;  --svm-violet-soft: #2e2350;  --svm-violet-text: #c4b5fd;
}
