/* ============================================
   COLOR SCHEME SYSTEM
   17 complete palettes, each with light + dark mode.
   Default (Cove) defined in :root / html.dark.
   Schemes override ALL palette variables.
   ============================================ */

/* ── 1. Cove (Default) ─────────────────── */

:root {
    --bg-primary: #ffffff;
    --bg-secondary: #f4f7f5;
    --bg-tertiary: #e4ece6;
    --text-primary: #1a2b22;
    --text-secondary: #5b7064;
    --text-muted: #96a89d;
    --border-color: #c4d3c9;
    --accent-color: #5b9368;
    --accent-hover: #4e7f5b;
    --accent-light: #eef5f0;
    --focus-ring: rgba(91, 147, 104, 0.15);
    --success: #10b981;
    --danger: #ef4444;
    --warning: #f59e0b;
    --shadow-sm: 0 1px 2px rgba(0,0,0,0.05);
    --shadow-md: 0 4px 6px rgba(0,0,0,0.07);
    --radius-sm: 6px;
    --radius-md: 8px;
    --radius-lg: 12px;
}

html.dark {
    --bg-primary: #0b141c;
    --bg-secondary: #112230;
    --bg-tertiary: #1a3448;
    --text-primary: #e0eae4;
    --text-secondary: #8aa898;
    --text-muted: #5a7568;
    --border-color: #1d4a62;
    --accent-color: #6fb87f;
    --accent-hover: #8acca0;
    --accent-light: #142b1d;
    --focus-ring: rgba(111, 184, 127, 0.2);
    --shadow-sm: 0 1px 2px rgba(0,0,0,0.3);
    --shadow-md: 0 4px 6px rgba(0,0,0,0.4);
}

/* ── 2. Indigo ─────────────────────────── */

html[data-color-scheme="indigo"] {
    --bg-primary: #ffffff;
    --bg-secondary: #f8f9fa;
    --bg-tertiary: #e9ecef;
    --text-primary: #1a1a2e;
    --text-secondary: #6c757d;
    --text-muted: #adb5bd;
    --border-color: #dee2e6;
    --accent-color: #4f46e5;
    --accent-hover: #4338ca;
    --accent-light: #eef2ff;
    --focus-ring: rgba(79, 70, 229, 0.15);
}

html.dark[data-color-scheme="indigo"] {
    --bg-primary: #0f0f1a;
    --bg-secondary: #1a1a2e;
    --bg-tertiary: #2a2a3e;
    --text-primary: #e2e8f0;
    --text-secondary: #94a3b8;
    --text-muted: #64748b;
    --border-color: #334155;
    --accent-color: #818cf8;
    --accent-hover: #a5b4fc;
    --accent-light: #1e1b4b;
    --focus-ring: rgba(129, 140, 248, 0.2);
}

/* ── 3. Blue ───────────────────────────── */

html[data-color-scheme="blue"] {
    --bg-primary: #ffffff;
    --bg-secondary: #f0f6ff;
    --bg-tertiary: #dbeafe;
    --text-primary: #1e293b;
    --text-secondary: #64748b;
    --text-muted: #94a3b8;
    --border-color: #c7d7ea;
    --accent-color: #2563EB;
    --accent-hover: #1D4ED8;
    --accent-light: #EFF6FF;
    --focus-ring: rgba(37, 99, 235, 0.15);
}

html.dark[data-color-scheme="blue"] {
    --bg-primary: #0b1120;
    --bg-secondary: #111d35;
    --bg-tertiary: #1a2d4d;
    --text-primary: #e2e8f0;
    --text-secondary: #8dabc4;
    --text-muted: #5a7a99;
    --border-color: #24405e;
    --accent-color: #3B82F6;
    --accent-hover: #60A5FA;
    --accent-light: #172554;
    --focus-ring: rgba(59, 130, 246, 0.2);
}

/* ── 3. Purple ─────────────────────────── */

html[data-color-scheme="purple"] {
    --bg-primary: #ffffff;
    --bg-secondary: #f9f5ff;
    --bg-tertiary: #ede9fe;
    --text-primary: #1e1b2e;
    --text-secondary: #6b6280;
    --text-muted: #a8a0b8;
    --border-color: #d4cce6;
    --accent-color: #7C3AED;
    --accent-hover: #6D28D9;
    --accent-light: #F5F3FF;
    --focus-ring: rgba(124, 58, 237, 0.15);
}

html.dark[data-color-scheme="purple"] {
    --bg-primary: #110e1e;
    --bg-secondary: #1a1530;
    --bg-tertiary: #2a2348;
    --text-primary: #e8e2f0;
    --text-secondary: #a89bc0;
    --text-muted: #6e6185;
    --border-color: #3d3558;
    --accent-color: #8B5CF6;
    --accent-hover: #A78BFA;
    --accent-light: #2E1065;
    --focus-ring: rgba(139, 92, 246, 0.2);
}

/* ── 4. Green ──────────────────────────── */

html[data-color-scheme="green"] {
    --bg-primary: #ffffff;
    --bg-secondary: #f0faf4;
    --bg-tertiary: #dcf5e7;
    --text-primary: #14291e;
    --text-secondary: #4b6b58;
    --text-muted: #8eaa9a;
    --border-color: #bdd9ca;
    --accent-color: #059669;
    --accent-hover: #047857;
    --accent-light: #ECFDF5;
    --focus-ring: rgba(5, 150, 105, 0.15);
}

html.dark[data-color-scheme="green"] {
    --bg-primary: #0a1410;
    --bg-secondary: #101f18;
    --bg-tertiary: #1a3328;
    --text-primary: #dff0e8;
    --text-secondary: #88b89c;
    --text-muted: #557a66;
    --border-color: #264a38;
    --accent-color: #10B981;
    --accent-hover: #34D399;
    --accent-light: #064E3B;
    --focus-ring: rgba(16, 185, 129, 0.2);
}

/* ── 5. Warm ───────────────────────────── */

html[data-color-scheme="warm"] {
    --bg-primary: #fafaf7;
    --bg-secondary: #f2f2ef;
    --bg-tertiary: #e5e5e0;
    --text-primary: #1a1a1a;
    --text-secondary: #6b6b68;
    --text-muted: #a0a09d;
    --border-color: #d4d4d1;
    --accent-color: #00B04C;
    --accent-hover: #009940;
    --accent-light: #e5f6ec;
    --focus-ring: rgba(0, 176, 76, 0.15);
    --shadow-sm: 0 1px 2px rgba(0,0,0,0.04);
    --shadow-md: 0 2px 8px rgba(0,0,0,0.06);
}

html.dark[data-color-scheme="warm"] {
    --bg-primary: #1c1c1e;
    --bg-secondary: #262628;
    --bg-tertiary: #38383a;
    --text-primary: #e5e5e7;
    --text-secondary: #aeaeb2;
    --text-muted: #6e6e72;
    --border-color: #3a3a3c;
    --accent-color: #00B04C;
    --accent-hover: #00C957;
    --accent-light: #1a2e20;
    --focus-ring: rgba(0, 176, 76, 0.2);
    --shadow-sm: 0 1px 2px rgba(0,0,0,0.25);
    --shadow-md: 0 2px 8px rgba(0,0,0,0.35);
}

/* ── 6. Rose ───────────────────────────── */

html[data-color-scheme="rose"] {
    --bg-primary: #ffffff;
    --bg-secondary: #fef5f7;
    --bg-tertiary: #fce7ec;
    --text-primary: #2a1520;
    --text-secondary: #7a5a68;
    --text-muted: #b89aa8;
    --border-color: #e8cdd5;
    --accent-color: #E11D48;
    --accent-hover: #BE123C;
    --accent-light: #FFF1F2;
    --focus-ring: rgba(225, 29, 72, 0.15);
}

html.dark[data-color-scheme="rose"] {
    --bg-primary: #1a0f14;
    --bg-secondary: #281a22;
    --bg-tertiary: #3d2a35;
    --text-primary: #f0e2e8;
    --text-secondary: #c0a0b0;
    --text-muted: #7a5a6a;
    --border-color: #4a3040;
    --accent-color: #FB7185;
    --accent-hover: #FDA4AF;
    --accent-light: #4C0519;
    --focus-ring: rgba(251, 113, 133, 0.2);
}

/* ── 7. Amber ──────────────────────────── */

html[data-color-scheme="amber"] {
    --bg-primary: #ffffff;
    --bg-secondary: #fef9f0;
    --bg-tertiary: #fef0d5;
    --text-primary: #291a00;
    --text-secondary: #7a6545;
    --text-muted: #b8a585;
    --border-color: #e5d5b8;
    --accent-color: #d97706;
    --accent-hover: #b45309;
    --accent-light: #fffbeb;
    --focus-ring: rgba(217, 119, 6, 0.15);
}

html.dark[data-color-scheme="amber"] {
    --bg-primary: #1a1408;
    --bg-secondary: #261e10;
    --bg-tertiary: #3d3020;
    --text-primary: #f0e8d8;
    --text-secondary: #c0a880;
    --text-muted: #7a6545;
    --border-color: #4a3a22;
    --accent-color: #f59e0b;
    --accent-hover: #fbbf24;
    --accent-light: #451a03;
    --focus-ring: rgba(245, 158, 11, 0.2);
}

/* ── 8. Teal ───────────────────────────── */

html[data-color-scheme="teal"] {
    --bg-primary: #ffffff;
    --bg-secondary: #f0fdfa;
    --bg-tertiary: #ccfbf1;
    --text-primary: #0f2925;
    --text-secondary: #4a706a;
    --text-muted: #8ab0a8;
    --border-color: #b0d9d2;
    --accent-color: #0d9488;
    --accent-hover: #0f766e;
    --accent-light: #f0fdfa;
    --focus-ring: rgba(13, 148, 136, 0.15);
}

html.dark[data-color-scheme="teal"] {
    --bg-primary: #0a1614;
    --bg-secondary: #0f201d;
    --bg-tertiary: #183530;
    --text-primary: #dff0ec;
    --text-secondary: #88bab2;
    --text-muted: #557a72;
    --border-color: #264a44;
    --accent-color: #2dd4bf;
    --accent-hover: #5eead4;
    --accent-light: #042f2e;
    --focus-ring: rgba(45, 212, 191, 0.2);
}

/* ── 9. Slate ──────────────────────────── */

html[data-color-scheme="slate"] {
    --bg-primary: #ffffff;
    --bg-secondary: #f8fafc;
    --bg-tertiary: #e2e8f0;
    --text-primary: #0f172a;
    --text-secondary: #64748b;
    --text-muted: #94a3b8;
    --border-color: #cbd5e1;
    --accent-color: #475569;
    --accent-hover: #334155;
    --accent-light: #f1f5f9;
    --focus-ring: rgba(71, 85, 105, 0.15);
}

html.dark[data-color-scheme="slate"] {
    --bg-primary: #0f172a;
    --bg-secondary: #1e293b;
    --bg-tertiary: #334155;
    --text-primary: #f1f5f9;
    --text-secondary: #94a3b8;
    --text-muted: #64748b;
    --border-color: #475569;
    --accent-color: #94a3b8;
    --accent-hover: #cbd5e1;
    --accent-light: #1e293b;
    --focus-ring: rgba(148, 163, 184, 0.2);
}

/* ── 10. Ember ─────────────────────────── */

html[data-color-scheme="ember"] {
    --bg-primary: #ffffff;
    --bg-secondary: #fef5f0;
    --bg-tertiary: #fee8d8;
    --text-primary: #2a1508;
    --text-secondary: #7a5a3a;
    --text-muted: #b89878;
    --border-color: #e8d0b8;
    --accent-color: #ea580c;
    --accent-hover: #c2410c;
    --accent-light: #fff7ed;
    --focus-ring: rgba(234, 88, 12, 0.15);
}

html.dark[data-color-scheme="ember"] {
    --bg-primary: #1a100a;
    --bg-secondary: #281a10;
    --bg-tertiary: #3d2818;
    --text-primary: #f0e5d8;
    --text-secondary: #c0a080;
    --text-muted: #7a5a3a;
    --border-color: #4a3020;
    --accent-color: #fb923c;
    --accent-hover: #fdba74;
    --accent-light: #431407;
    --focus-ring: rgba(251, 146, 60, 0.2);
}

/* ── 11. Sky ───────────────────────────── */

html[data-color-scheme="sky"] {
    --bg-primary: #ffffff;
    --bg-secondary: #f0f9ff;
    --bg-tertiary: #e0f2fe;
    --text-primary: #0c2d48;
    --text-secondary: #4a7a9a;
    --text-muted: #88b0c8;
    --border-color: #bae0f5;
    --accent-color: #0284c7;
    --accent-hover: #0369a1;
    --accent-light: #f0f9ff;
    --focus-ring: rgba(2, 132, 199, 0.15);
}

html.dark[data-color-scheme="sky"] {
    --bg-primary: #0a1520;
    --bg-secondary: #0f1e30;
    --bg-tertiary: #183348;
    --text-primary: #e0f0fa;
    --text-secondary: #80b8d8;
    --text-muted: #4a7a9a;
    --border-color: #204060;
    --accent-color: #38bdf8;
    --accent-hover: #7dd3fc;
    --accent-light: #0c4a6e;
    --focus-ring: rgba(56, 189, 248, 0.2);
}

/* ── 12. Sage ──────────────────────────── */

html[data-color-scheme="sage"] {
    --bg-primary: #fafcfa;
    --bg-secondary: #f0f4ef;
    --bg-tertiary: #dfe6dd;
    --text-primary: #1a2418;
    --text-secondary: #5a6e55;
    --text-muted: #94a890;
    --border-color: #c5d4c0;
    --accent-color: #5f8a4e;
    --accent-hover: #4d7340;
    --accent-light: #eef4ec;
    --focus-ring: rgba(95, 138, 78, 0.15);
}

html.dark[data-color-scheme="sage"] {
    --bg-primary: #101810;
    --bg-secondary: #182218;
    --bg-tertiary: #253525;
    --text-primary: #dce8da;
    --text-secondary: #90b08a;
    --text-muted: #5a7a55;
    --border-color: #304830;
    --accent-color: #7ab368;
    --accent-hover: #9acc8a;
    --accent-light: #1a3018;
    --focus-ring: rgba(122, 179, 104, 0.2);
}

/* ── 13. Mint ──────────────────────────── */

html[data-color-scheme="mint"] {
    --bg-primary: #ffffff;
    --bg-secondary: #effef8;
    --bg-tertiary: #d5fbeb;
    --text-primary: #0a2920;
    --text-secondary: #3d7565;
    --text-muted: #7ab5a5;
    --border-color: #a8dece;
    --accent-color: #06d6a0;
    --accent-hover: #05b888;
    --accent-light: #ecfef5;
    --focus-ring: rgba(6, 214, 160, 0.15);
}

html.dark[data-color-scheme="mint"] {
    --bg-primary: #081814;
    --bg-secondary: #0d221c;
    --bg-tertiary: #163830;
    --text-primary: #d8f5ec;
    --text-secondary: #70ccb5;
    --text-muted: #3d8878;
    --border-color: #1e5548;
    --accent-color: #34edb8;
    --accent-hover: #6ff5d0;
    --accent-light: #0a3028;
    --focus-ring: rgba(52, 237, 184, 0.2);
}

/* ── 14. Forest ────────────────────────── */

html[data-color-scheme="forest"] {
    --bg-primary: #fafbf9;
    --bg-secondary: #eef2ea;
    --bg-tertiary: #dae2d4;
    --text-primary: #1b2615;
    --text-secondary: #4a5e3e;
    --text-muted: #8a9e7e;
    --border-color: #bcceb2;
    --accent-color: #2d6a2e;
    --accent-hover: #245524;
    --accent-light: #e8f5e9;
    --focus-ring: rgba(45, 106, 46, 0.15);
}

html.dark[data-color-scheme="forest"] {
    --bg-primary: #0e150d;
    --bg-secondary: #152015;
    --bg-tertiary: #223222;
    --text-primary: #d5e5d0;
    --text-secondary: #85a880;
    --text-muted: #4e7048;
    --border-color: #2e4a2e;
    --accent-color: #4caf50;
    --accent-hover: #72cc76;
    --accent-light: #1a3518;
    --focus-ring: rgba(76, 175, 80, 0.2);
}

/* ── 15. Lime ──────────────────────────── */

html[data-color-scheme="lime"] {
    --bg-primary: #ffffff;
    --bg-secondary: #f8fdf0;
    --bg-tertiary: #ecf7d8;
    --text-primary: #1a2608;
    --text-secondary: #556830;
    --text-muted: #92a870;
    --border-color: #c8dca5;
    --accent-color: #65a30d;
    --accent-hover: #4d7c0f;
    --accent-light: #f7fee7;
    --focus-ring: rgba(101, 163, 13, 0.15);
}

html.dark[data-color-scheme="lime"] {
    --bg-primary: #121808;
    --bg-secondary: #1a2410;
    --bg-tertiary: #2a3a1a;
    --text-primary: #e8f0d5;
    --text-secondary: #a0c060;
    --text-muted: #607830;
    --border-color: #3a5520;
    --accent-color: #84cc16;
    --accent-hover: #a3e635;
    --accent-light: #1a3008;
    --focus-ring: rgba(132, 204, 22, 0.2);
}

/* ── 16. Emerald ───────────────────────── */

html[data-color-scheme="emerald"] {
    --bg-primary: #ffffff;
    --bg-secondary: #eefbf4;
    --bg-tertiary: #d1fae5;
    --text-primary: #022c22;
    --text-secondary: #3b7a60;
    --text-muted: #7ab8a0;
    --border-color: #a7dac4;
    --accent-color: #10b981;
    --accent-hover: #059669;
    --accent-light: #ecfdf5;
    --focus-ring: rgba(16, 185, 129, 0.15);
}

html.dark[data-color-scheme="emerald"] {
    --bg-primary: #06160f;
    --bg-secondary: #0c2218;
    --bg-tertiary: #15382a;
    --text-primary: #d5f5e8;
    --text-secondary: #6ee7b7;
    --text-muted: #34956e;
    --border-color: #1c5a42;
    --accent-color: #34d399;
    --accent-hover: #6ee7b7;
    --accent-light: #064e3b;
    --focus-ring: rgba(52, 211, 153, 0.2);
}
