/**
 * Semantic theme tokens — every portal surface should use these variables.
 */

html[data-theme="light"] {
  --page-bg: #f4f6fb;
  --surface: #ffffff;
  --surface-2: #eef1f7;
  --surface-hover: #f8f9fc;
  --border: #d8deea;
  --text: #1a1f36;
  --text-muted: #5c6478;
  --text-soft: #5c6478;
  --accent: #3c348b;
  --accent-bright: #f58220;
  --accent-teal: #0d9488;
  --success: #15803d;
  --danger: #b91c1c;
  --header-bg: #ffffff;
  --header-text: #3c348b;
  --footer-bg: #ffffff;
  --shadow: 0 4px 24px rgba(60, 52, 139, 0.08);
  --chart-bar: linear-gradient(180deg, #6b4fd4 0%, #3c348b 100%);
  --ent-glass: rgba(255, 255, 255, 0.92);
  --ent-glass-border: rgba(60, 52, 139, 0.14);
  --ent-shadow: 0 8px 28px rgba(60, 52, 139, 0.1);
  --ent-accent: #3c348b;
  --ent-banner-tint: rgba(60, 52, 139, 0.06);
  --ent-log-bg: rgba(60, 52, 139, 0.05);
  --switch-track: rgba(60, 52, 139, 0.18);
  --iframe-bg: #f8f9fc;
}

html[data-theme="dark"] {
  --page-bg: #0b0e14;
  --surface: #161922;
  --surface-2: #1c2030;
  --surface-hover: #1a1f2e;
  --border: #2a3042;
  --text: #e8eaef;
  --text-muted: #9aa3b5;
  --text-soft: #c5cad6;
  --accent: #2dd4bf;
  --accent-bright: #2dd4bf;
  --accent-teal: #2dd4bf;
  --success: #22c55e;
  --danger: #ef4444;
  --header-bg: #12151c;
  --header-text: #e8eaef;
  --footer-bg: #12151c;
  --shadow: 0 8px 32px rgba(0, 0, 0, 0.35);
  --chart-bar: linear-gradient(180deg, #6b4fd4 0%, #3d2f8a 100%);
  --ent-glass: rgba(22, 25, 34, 0.85);
  --ent-glass-border: rgba(255, 255, 255, 0.1);
  --ent-shadow: 0 8px 32px rgba(0, 0, 0, 0.3);
  --ent-accent: #2dd4bf;
  --ent-banner-tint: rgba(45, 212, 191, 0.1);
  --ent-log-bg: rgba(0, 0, 0, 0.25);
  --switch-track: rgba(0, 0, 0, 0.4);
  --iframe-bg: #161922;
}

html {
  color-scheme: light dark;
}

html[data-theme="light"] {
  color-scheme: light;
}

html[data-theme="dark"] {
  color-scheme: dark;
}
