/* SafetyVibe design tokens — the single source of truth for the app's look.
   Import this first, then reference var(--sv-*). Light is default; dark auto-applies
   under prefers-color-scheme and is force-overridable with [data-theme]. */
:root {
  /* Brand */
  --sv-brand:        #5B54E6;   /* primary accent (indigo-violet) */
  --sv-brand-strong: #4F46E5;
  --sv-brand-2:      #7C3AED;   /* gradient end */
  --sv-brand-grad:   linear-gradient(135deg, #4F46E5 0%, #7C3AED 100%);

  /* Ink + surfaces (light) */
  --sv-ink:          #0B0E13;   /* primary text */
  --sv-ink-2:        #4A5160;   /* secondary text */
  --sv-ink-3:        #8A93A3;   /* tertiary / muted */
  --sv-bg:           #F6F7F9;   /* page */
  --sv-surface:      #FFFFFF;   /* cards */
  --sv-surface-2:    #F1F2F5;   /* insets / code blocks */
  --sv-border:       #E4E7EC;   /* hairline */
  --sv-focus:        #5B54E6;

  /* Semantic verdicts (distinct from the brand accent, used for results) */
  --sv-leak:         #E5484D;   /* exit 1 — action required */
  --sv-leak-bg:      #FDECEC;
  --sv-safe:         #1F9D57;   /* exit 0 — no confirmed leak */
  --sv-safe-bg:      #E8F6EE;
  --sv-warn:         #B8740B;   /* exit 2 — could not verify */
  --sv-warn-bg:      #FBF1E0;

  /* Type + shape + motion */
  --sv-font: -apple-system, "SF Pro Text", system-ui, "Segoe UI", Roboto, Inter, Helvetica, Arial, sans-serif;
  --sv-font-display: -apple-system, "SF Pro Display", system-ui, "Segoe UI", Roboto, Inter, sans-serif;
  --sv-mono: ui-monospace, "SF Mono", "JetBrains Mono", "Cascadia Code", Consolas, monospace;
  --sv-radius: 14px;
  --sv-radius-sm: 9px;
  --sv-shadow: 0 1px 2px rgba(16,24,40,.04), 0 8px 24px rgba(16,24,40,.06);
  --sv-shadow-lg: 0 2px 6px rgba(16,24,40,.06), 0 18px 48px rgba(16,24,40,.12);
  --sv-space: 8px;              /* base unit; use multiples */
  --sv-ease: cubic-bezier(.2,.7,.2,1);
}

@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) {
    --sv-brand:        #8B84FF;
    --sv-brand-strong: #6366F1;
    --sv-brand-2:      #A78BFA;
    --sv-brand-grad:   linear-gradient(135deg, #6366F1 0%, #A78BFA 100%);
    --sv-ink:          #E6E9EF;
    --sv-ink-2:        #AEB6C4;
    --sv-ink-3:        #78808F;
    --sv-bg:           #0B0E13;
    --sv-surface:      #141922;
    --sv-surface-2:    #0A0D12;
    --sv-border:       #232B38;
    --sv-focus:        #8B84FF;
    --sv-leak:         #FF8A98; --sv-leak-bg: #2A1316;
    --sv-safe:         #86E3A6; --sv-safe-bg: #0F2418;
    --sv-warn:         #FFCF6B; --sv-warn-bg: #2A2110;
    --sv-shadow:    0 1px 2px rgba(0,0,0,.3), 0 8px 24px rgba(0,0,0,.4);
    --sv-shadow-lg: 0 2px 6px rgba(0,0,0,.4), 0 18px 48px rgba(0,0,0,.55);
  }
}
:root[data-theme="dark"] {
  --sv-brand:#8B84FF; --sv-brand-strong:#6366F1; --sv-brand-2:#A78BFA;
  --sv-brand-grad:linear-gradient(135deg,#6366F1 0%,#A78BFA 100%);
  --sv-ink:#E6E9EF; --sv-ink-2:#AEB6C4; --sv-ink-3:#78808F;
  --sv-bg:#0B0E13; --sv-surface:#141922; --sv-surface-2:#0A0D12; --sv-border:#232B38; --sv-focus:#8B84FF;
  --sv-leak:#FF8A98; --sv-leak-bg:#2A1316; --sv-safe:#86E3A6; --sv-safe-bg:#0F2418; --sv-warn:#FFCF6B; --sv-warn-bg:#2A2110;
  --sv-shadow:0 1px 2px rgba(0,0,0,.3),0 8px 24px rgba(0,0,0,.4);
  --sv-shadow-lg:0 2px 6px rgba(0,0,0,.4),0 18px 48px rgba(0,0,0,.55);
}
