/*
 * shared-themes/themes.css
 *
 * GENERATED FROM themes.yaml — do not edit by hand.
 * Run scripts/yaml_to_css.py after editing themes.yaml.
 *
 * Six named themes, exposed as CSS custom properties scoped to
 * `[data-theme="<name>"]`. The default theme is also applied to `:root`
 * so it shows even when no `data-theme` attribute is set.
 */


/* ─── Base tokens (radius, font, transition, default shadow) ─── */

:root {
  --radius-xs: 4px;
  --radius-sm: 6px;
  --radius: 10px;
  --radius-pill: 20px;
  --transition: 180ms cubic-bezier(0.4, 0, 0.2, 1);
  --transition-slow: 350ms ease;
  --font-sans: 'Outfit', system-ui, sans-serif;
  --font-mono: 'JetBrains Mono', monospace;
  --shadow: 0 1px 3px rgba(0,0,0,0.4), 0 4px 12px rgba(0,0,0,0.25);
}

/* ─── Azure (indigo light) — default when no data-theme attribute is set ─── */

:root, [data-theme="azure"] {
  --bg: #ffffff;
  --bg-surface: #f5f5f7;
  --bg-elevated: #eaeaef;
  --bg-hover: #dcdce5;
  --border: #d0d0db;
  --border-subtle: #ececf2;
  --text-primary: rgba(0, 0, 0, 0.87);
  --text-secondary: rgba(0, 0, 0, 0.54);
  --text-muted: rgba(0, 0, 0, 0.32);
  --accent: #4051b5;
  --accent-dim: rgba(64, 81, 181, 0.12);
  --success: #1c7d4d;
  --success-dim: rgba(28, 125, 77, 0.12);
  --warning: #b87d1a;
  --warning-dim: rgba(184, 125, 26, 0.12);
  --danger: #c72c34;
  --danger-dim: rgba(199, 44, 52, 0.12);
  --entity-1: #1976d2;
  --entity-2: #7b1fa2;
  --entity-3: #00897b;
  --entity-4: #c2185b;
  --gradient-start: #303fa1;
  --gradient-end: #526cfe;
  --shadow: 0 1px 3px rgba(0,0,0,0.08), 0 4px 12px rgba(0,0,0,0.06);
}

/* ─── Paper (warm light) ─── */

[data-theme="paper"] {
  --bg: #faf8f5;
  --bg-surface: #f0ede8;
  --bg-elevated: #e8e4de;
  --bg-hover: #ddd8d0;
  --border: #cdc6bb;
  --border-subtle: #e0dbd4;
  --text-primary: #2c2824;
  --text-secondary: #706860;
  --text-muted: #a09888;
  --accent: #9b6b3e;
  --accent-dim: rgba(155, 107, 62, 0.12);
  --success: #3a8a5c;
  --success-dim: rgba(58, 138, 92, 0.12);
  --warning: #b87d1a;
  --warning-dim: rgba(184, 125, 26, 0.12);
  --danger: #c05040;
  --danger-dim: rgba(192, 80, 64, 0.12);
  --entity-1: #5e6ba8;
  --entity-2: #7c4a8d;
  --entity-3: #3d8a7a;
  --entity-4: #a85a3e;
  --gradient-start: #2c2824;
  --gradient-end: #9b6b3e;
  --shadow: 0 1px 3px rgba(0,0,0,0.08), 0 4px 12px rgba(0,0,0,0.06);
}

/* ─── Midnight (dark blue) ─── */

[data-theme="midnight"] {
  --bg: #0f1117;
  --bg-surface: #161922;
  --bg-elevated: #1e2130;
  --bg-hover: #252940;
  --border: #2a2e3f;
  --border-subtle: #1e2130;
  --text-primary: #e8eaf0;
  --text-secondary: #8b90a0;
  --text-muted: #5c6070;
  --accent: #6c8cff;
  --accent-dim: rgba(108, 140, 255, 0.12);
  --success: #34d399;
  --success-dim: rgba(52, 211, 153, 0.12);
  --warning: #fbbf24;
  --warning-dim: rgba(251, 191, 36, 0.12);
  --danger: #f87171;
  --danger-dim: rgba(248, 113, 113, 0.12);
  --entity-1: #7dd3fc;
  --entity-2: #c084fc;
  --entity-3: #5eead4;
  --entity-4: #fda4af;
  --gradient-start: #e8eaf0;
  --gradient-end: #6c8cff;
}

/* ─── Nord (cool muted) ─── */

[data-theme="nord"] {
  --bg: #2e3440;
  --bg-surface: #3b4252;
  --bg-elevated: #434c5e;
  --bg-hover: #4c566a;
  --border: #4c566a;
  --border-subtle: #434c5e;
  --text-primary: #eceff4;
  --text-secondary: #d8dee9;
  --text-muted: #7b88a1;
  --accent: #88c0d0;
  --accent-dim: rgba(136, 192, 208, 0.15);
  --success: #a3be8c;
  --success-dim: rgba(163, 190, 140, 0.15);
  --warning: #ebcb8b;
  --warning-dim: rgba(235, 203, 139, 0.15);
  --danger: #bf616a;
  --danger-dim: rgba(191, 97, 106, 0.15);
  --entity-1: #81a1c1;
  --entity-2: #b48ead;
  --entity-3: #8fbcbb;
  --entity-4: #d08770;
  --gradient-start: #eceff4;
  --gradient-end: #88c0d0;
}

/* ─── Solarized (light) ─── */

[data-theme="solarized"] {
  --bg: #fdf6e3;
  --bg-surface: #eee8d5;
  --bg-elevated: #e6dfcb;
  --bg-hover: #ddd6c1;
  --border: #d0c8b0;
  --border-subtle: #e6dfcb;
  --text-primary: #073642;
  --text-secondary: #586e75;
  --text-muted: #93a1a1;
  --accent: #268bd2;
  --accent-dim: rgba(38, 139, 210, 0.12);
  --success: #859900;
  --success-dim: rgba(133, 153, 0, 0.12);
  --warning: #b58900;
  --warning-dim: rgba(181, 137, 0, 0.12);
  --danger: #dc322f;
  --danger-dim: rgba(220, 50, 47, 0.12);
  --entity-1: #2aa198;
  --entity-2: #6c71c4;
  --entity-3: #cb4b16;
  --entity-4: #d33682;
  --gradient-start: #073642;
  --gradient-end: #268bd2;
  --shadow: 0 1px 3px rgba(0,0,0,0.06), 0 4px 12px rgba(0,0,0,0.04);
}

/* ─── Rosepine (muted purple dark) ─── */

[data-theme="rosepine"] {
  --bg: #191724;
  --bg-surface: #1f1d2e;
  --bg-elevated: #26233a;
  --bg-hover: #312e47;
  --border: #393552;
  --border-subtle: #26233a;
  --text-primary: #e0def4;
  --text-secondary: #908caa;
  --text-muted: #6e6a86;
  --accent: #c4a7e7;
  --accent-dim: rgba(196, 167, 231, 0.14);
  --success: #9ccfd8;
  --success-dim: rgba(156, 207, 216, 0.14);
  --warning: #f6c177;
  --warning-dim: rgba(246, 193, 119, 0.14);
  --danger: #eb6f92;
  --danger-dim: rgba(235, 111, 146, 0.14);
  --entity-1: #9ccfd8;
  --entity-2: #31748f;
  --entity-3: #ebbcba;
  --entity-4: #f6c177;
  --gradient-start: #e0def4;
  --gradient-end: #c4a7e7;
}
