/* 主题变量：由 data-theme 切换 */

:root,
[data-theme="dark"] {
  color-scheme: dark;
  --bg: #0c0e12;
  --surface: #141820;
  --surface-2: #1a2030;
  --border: #2a3348;
  --text: #e8ecf4;
  --muted: #8b95a8;
  --accent: #3d8bfd;
  --accent-dim: #2563c4;
  --accent-2: #6366f1;
  --success: #34d399;
  --warn: #fbbf24;
  --danger: #f87171;
  --bg-gradient:
    radial-gradient(ellipse 80% 50% at 50% -20%, rgba(61, 139, 253, 0.12), transparent),
    radial-gradient(ellipse 60% 40% at 100% 100%, rgba(52, 211, 153, 0.06), transparent);
  --shadow-dropdown: 0 12px 28px rgba(0, 0, 0, 0.45);
  --shadow-modal: 0 20px 50px rgba(0, 0, 0, 0.4);
  --overlay: rgba(0, 0, 0, 0.55);
  --input-focus-ring: rgba(61, 139, 253, 0.2);
  --invalid-bg: rgba(248, 113, 113, 0.18);
  --invalid-border: rgba(248, 113, 113, 0.55);
  --alert-error-bg: rgba(248, 113, 113, 0.15);
  --alert-error-border: rgba(248, 113, 113, 0.45);
  --alert-warn-bg: rgba(251, 191, 36, 0.1);
  --alert-warn-border: rgba(251, 191, 36, 0.25);
  --results-error-bg: rgba(248, 113, 113, 0.06);
  --suggestion-hover: rgba(61, 139, 253, 0.12);
  --tag-api-bg: rgba(61, 139, 253, 0.15);
}

[data-theme="light"] {
  color-scheme: light;
  --bg: #eef1f6;
  --surface: #ffffff;
  --surface-2: #f4f6fa;
  --border: #c5ced9;
  --text: #141c2b;
  --muted: #5a6778;
  --accent: #1d6fe8;
  --accent-dim: #1558c0;
  --accent-2: #4f46e5;
  --success: #059669;
  --warn: #b45309;
  --danger: #dc2626;
  --bg-gradient:
    radial-gradient(ellipse 80% 50% at 50% -20%, rgba(29, 111, 232, 0.08), transparent),
    radial-gradient(ellipse 60% 40% at 100% 100%, rgba(5, 150, 105, 0.05), transparent);
  --shadow-dropdown: 0 12px 28px rgba(20, 28, 43, 0.12);
  --shadow-modal: 0 20px 50px rgba(20, 28, 43, 0.15);
  --overlay: rgba(20, 28, 43, 0.35);
  --input-focus-ring: rgba(29, 111, 232, 0.25);
  --invalid-bg: rgba(220, 38, 38, 0.1);
  --invalid-border: rgba(220, 38, 38, 0.45);
  --alert-error-bg: rgba(220, 38, 38, 0.08);
  --alert-error-border: rgba(220, 38, 38, 0.35);
  --alert-warn-bg: rgba(180, 83, 9, 0.08);
  --alert-warn-border: rgba(180, 83, 9, 0.25);
  --results-error-bg: rgba(220, 38, 38, 0.05);
  --suggestion-hover: rgba(29, 111, 232, 0.1);
  --tag-api-bg: rgba(29, 111, 232, 0.12);
}

[data-theme="contrast"] {
  color-scheme: dark;
  --bg: #000000;
  --surface: #121212;
  --surface-2: #1e1e1e;
  --border: #4a4a4a;
  --text: #f5f5f5;
  --muted: #b0b0b0;
  --accent: #5eb3ff;
  --accent-dim: #3d9ae8;
  --accent-2: #9d8cff;
  --success: #5dffa8;
  --warn: #ffd54f;
  --danger: #ff7b7b;
  --bg-gradient: none;
  --shadow-dropdown: 0 12px 28px rgba(0, 0, 0, 0.7);
  --shadow-modal: 0 20px 50px rgba(0, 0, 0, 0.65);
  --overlay: rgba(0, 0, 0, 0.75);
  --input-focus-ring: rgba(94, 179, 255, 0.35);
  --invalid-bg: rgba(255, 123, 123, 0.2);
  --invalid-border: rgba(255, 123, 123, 0.7);
  --alert-error-bg: rgba(255, 123, 123, 0.15);
  --alert-error-border: rgba(255, 123, 123, 0.5);
  --alert-warn-bg: rgba(255, 213, 79, 0.12);
  --alert-warn-border: rgba(255, 213, 79, 0.35);
  --results-error-bg: rgba(255, 123, 123, 0.08);
  --suggestion-hover: rgba(94, 179, 255, 0.18);
  --tag-api-bg: rgba(94, 179, 255, 0.2);
}
