/* design-sync FORK: light theme lifted to :root so token colors resolve
   in standalone renders (no data-theme host). [data-theme="dark"] still
   wins by specificity. Generated from src/styles/tokens.css every build. */
:root {
  /* Surface scale (background → elevated) */
  --bg-canvas:    oklch(0.985 0.003 260);  /* outermost canvas */
  --bg-base:      oklch(0.995 0.002 260);  /* default surface (cards) */
  --bg-subtle:    oklch(0.975 0.004 260);  /* subtle backgrounds, hovers */
  --bg-muted:     oklch(0.96  0.005 260);  /* muted blocks */
  --bg-emphasis:  oklch(0.93  0.006 260);  /* emphasized blocks */
  --bg-inverse:   oklch(0.18  0.012 260);

  /* Foreground / text */
  --fg-primary:   oklch(0.20 0.014 260);
  --fg-secondary: oklch(0.42 0.012 260);
  --fg-tertiary:  oklch(0.58 0.010 260);
  --fg-disabled:  oklch(0.72 0.008 260);
  --fg-inverse:   oklch(0.985 0.003 260);
  --fg-on-accent: oklch(0.99 0.005 260);

  /* Borders */
  --border-subtle:  oklch(0.93  0.006 260);
  --border-default: oklch(0.89  0.008 260);
  --border-strong:  oklch(0.80  0.010 260);
  --border-focus:   oklch(var(--accent-l) var(--accent-c) var(--accent-h));

  /* Accent */
  --accent-bg:        oklch(var(--accent-l) var(--accent-c) var(--accent-h));
  --accent-bg-hover:  oklch(calc(var(--accent-l) - 0.04) var(--accent-c) var(--accent-h));
  --accent-bg-active: oklch(calc(var(--accent-l) - 0.08) var(--accent-c) var(--accent-h));
  --accent-fg:        oklch(var(--accent-l) var(--accent-c) var(--accent-h));
  --accent-soft:      oklch(0.96 0.04 var(--accent-h));
  --accent-soft-fg:   oklch(0.40 0.14 var(--accent-h));
  --accent-border:    oklch(0.86 0.08 var(--accent-h));

  /* Semantic */
  --success-bg:     oklch(0.62 0.14 150);
  --success-soft:   oklch(0.96 0.04 150);
  --success-soft-fg: oklch(0.42 0.13 150);
  --success-border: oklch(0.84 0.08 150);

  --warning-bg:     oklch(0.74 0.16 75);
  --warning-bg-fg:  oklch(0.22 0.05 75);
  --warning-soft:   oklch(0.97 0.04 75);
  --warning-soft-fg: oklch(0.45 0.12 70);
  --warning-border: oklch(0.85 0.10 75);

  --danger-bg:      oklch(0.58 0.20 25);
  --danger-soft:    oklch(0.96 0.04 25);
  --danger-soft-fg: oklch(0.45 0.16 25);
  --danger-border:  oklch(0.86 0.10 25);

  /* Positive-but-not-success accent (e.g. password-strength "good" step,
     between warning amber and success green). Flips light/dark. */
  --strength-high:  oklch(0.72 0.15 135);

  --info-bg:        oklch(0.60 0.14 230);
  --info-soft:      oklch(0.96 0.04 230);
  --info-soft-fg:   oklch(0.40 0.14 230);
  --info-border:    oklch(0.85 0.08 230);

  --neutral-soft:    oklch(0.94 0.005 260);
  --neutral-soft-fg: oklch(0.36 0.012 260);
  --neutral-border:  oklch(0.86 0.008 260);

  /* Shadows (overlays only) */
  --shadow-xs: 0 1px 2px oklch(0.18 0.012 260 / 0.04);
  --shadow-sm: 0 2px 4px oklch(0.18 0.012 260 / 0.05),
               0 1px 2px oklch(0.18 0.012 260 / 0.04);
  --shadow-md: 0 6px 16px -4px oklch(0.18 0.012 260 / 0.08),
               0 2px 4px oklch(0.18 0.012 260 / 0.04);
  --shadow-lg: 0 18px 40px -8px oklch(0.18 0.012 260 / 0.14),
               0 4px 8px -2px oklch(0.18 0.012 260 / 0.06);
  --shadow-top-sm: 0 -6px 16px -10px oklch(0.18 0.012 260 / 0.18);

  /* Focus ring */
  --ring: 0 0 0 3px oklch(var(--accent-l) var(--accent-c) var(--accent-h) / 0.22);
  --danger-ring: 0 0 0 3px oklch(from var(--danger-bg) l c h / 0.20);

  color-scheme: light;
}
