/* ═══════════════════════════════════════
   FREQUENCE — 12 Genre-based Themes
   techno, house, synthwave, jazz, hiphop,
   ambient, punk, rock, pop, dnb, dark, light
   ═══════════════════════════════════════ */

/* 1. TECHNO — dark industrial, red/black */
[data-theme="techno"] {
    --t-body: #080808;
    --t-hero-text: #e0e0e8;
    --t-hero-excerpt: rgba(200, 200, 220, 0.75);
    --t-text: #b0b0b8;
    --t-text-strong: #e0e0e8;
    --t-text-muted: #505058;
    --t-header-bg: rgba(8, 8, 8, 0.95);
    --t-header-border: rgba(200, 30, 30, 0.2);
    --t-footer-bg: #050505;
    --t-footer-text: #2a1515;
    --t-card-bg: rgba(12, 12, 14, 0.6);
    --t-card-border: rgba(200, 30, 30, 0.15);
    --t-card-shadow: none;
    --t-card-title: #d0d0d8;
    --t-card-text: #707078;
    --t-modal-bg: #060606;
    --t-modal-gradient: #060606;
    --t-blob-red: rgba(120, 20, 20, 0.1);
    --t-blob-orange: rgba(80, 20, 10, 0.05);
    --t-noise: 0.12;
    --t-input-bg: #0c0c0e;
    --t-input-border: #1a1a1e;
    --t-input-text: #b0b0b8;
    --t-sidebar-bg: #060606;
    --t-sidebar-header: rgba(6, 6, 6, 0.95);
    --t-accent: #c82020;
    --t-accent-muted: rgba(200, 32, 32, 0.15);
    --t-accent-solid: #c82020;
    --t-date-text: #505058;
    --t-date-border: #1a1a1e;
    --t-badge-bg: rgba(200, 30, 30, 0.08);
    --t-defcon-bg: rgba(200, 30, 30, 0.15);
    --t-defcon-border: rgba(200, 30, 30, 0.3);
    --t-prose-body: #a0a0a8;
    --t-prose-headings: #c82020;
    --t-close-bg: rgba(8, 8, 8, 0.92);
    --t-hero-title: #e0e0e8;
    --t-tagline-color: rgba(200, 80, 80, 0.6);
    --t-tagline-border: rgba(200, 30, 30, 0.3);
    --t-btn-active-bg: rgba(200, 32, 32, 0.25);
    --t-btn-active-border: rgba(200, 32, 32, 0.5);
    --t-btn-active-text: #f87171;
    --t-btn-inactive-bg: transparent;
    --t-btn-inactive-border: #1a1a1e;
    --t-btn-inactive-text: #505058;
    --t-submit-bg: rgba(200, 32, 32, 0.2);
    --t-submit-hover: rgba(200, 32, 32, 0.3);
    --t-submit-border: rgba(200, 32, 32, 0.3);
    --t-submit-text: #f87171;
    --t-glass-bg: rgba(8, 8, 8, 0.85);
    --t-glass-border: rgba(255, 255, 255, 0.04);
    --t-placeholder: rgba(80, 80, 88, 0.5);
}

/* 2. HOUSE — warm sunset light */
[data-theme="house"] {
    --t-body: #f5efe8;
    --t-hero-overlay: #000;
    --t-hero-text: #f5e8e0;
    --t-hero-excerpt: rgba(235, 210, 190, 0.8);
    --t-text: #3a2a1e;
    --t-text-strong: #1e1210;
    --t-text-muted: #8a7060;
    --t-header-bg: rgba(242, 236, 228, 0.94);
    --t-header-border: rgba(200, 120, 40, 0.2);
    --t-footer-bg: #ece4da;
    --t-footer-text: #9a8878;
    --t-card-bg: rgba(255, 255, 255, 0.6);
    --t-card-border: rgba(200, 120, 40, 0.15);
    --t-card-shadow: 0 2px 12px rgba(120, 60, 0, 0.05);
    --t-card-title: #1e1210;
    --t-card-text: #5a4838;
    --t-modal-bg: #f8f2ea;
    --t-modal-gradient: #f8f2ea;
    --t-blob-red: rgba(200, 100, 30, 0.04);
    --t-blob-orange: rgba(230, 140, 50, 0.03);
    --t-noise: 0.03;
    --t-input-bg: #faf6f0;
    --t-input-border: rgba(140, 100, 60, 0.2);
    --t-input-text: #3a2a1e;
    --t-sidebar-bg: #f0eae2;
    --t-sidebar-header: rgba(240, 234, 226, 0.96);
    --t-accent: #d07820;
    --t-accent-muted: rgba(208, 120, 32, 0.1);
    --t-accent-solid: #d07820;
    --t-date-text: #8a7060;
    --t-date-border: rgba(140, 100, 60, 0.2);
    --t-badge-bg: rgba(200, 120, 40, 0.06);
    --t-defcon-bg: rgba(200, 120, 40, 0.08);
    --t-defcon-border: rgba(200, 120, 40, 0.15);
    --t-prose-body: #4a3828;
    --t-prose-headings: #d07820;
    --t-close-bg: rgba(242, 236, 228, 0.92);
    --t-hero-title: #1e1210;
    --t-tagline-color: rgba(208, 120, 32, 0.6);
    --t-tagline-border: rgba(200, 120, 40, 0.2);
    --t-btn-active-bg: #d07820;
    --t-btn-active-border: #d07820;
    --t-btn-active-text: #fff;
    --t-btn-inactive-bg: var(--t-input-bg);
    --t-btn-inactive-border: var(--t-input-border);
    --t-btn-inactive-text: var(--t-text);
    --t-submit-bg: #d07820;
    --t-submit-hover: #b86818;
    --t-submit-border: #d07820;
    --t-submit-text: #fff;
    --t-glass-bg: rgba(242, 236, 228, 0.75);
    --t-glass-border: rgba(0, 0, 0, 0.05);
    --t-placeholder: rgba(120, 90, 60, 0.5);
}

/* 3. SYNTHWAVE — neon 80s retro, mid-tone */
[data-theme="synthwave"] {
    --t-body: #2a2040;
    --t-hero-text: #f0e0ff;
    --t-hero-excerpt: rgba(220, 180, 255, 0.75);
    --t-text: #d0c0e8;
    --t-text-strong: #f0e0ff;
    --t-text-muted: #8070a0;
    --t-header-bg: rgba(36, 28, 56, 0.94);
    --t-header-border: rgba(255, 50, 150, 0.25);
    --t-footer-bg: #221a38;
    --t-footer-text: #5a4880;
    --t-card-bg: rgba(40, 30, 65, 0.6);
    --t-card-border: rgba(0, 220, 255, 0.18);
    --t-card-shadow: 0 0 20px rgba(255, 50, 150, 0.06);
    --t-card-title: #e8d8f8;
    --t-card-text: #a090c0;
    --t-modal-bg: #241c3a;
    --t-modal-gradient: #241c3a;
    --t-blob-red: rgba(255, 50, 150, 0.1);
    --t-blob-orange: rgba(0, 200, 255, 0.06);
    --t-noise: 0.06;
    --t-input-bg: #302648;
    --t-input-border: #4a3870;
    --t-input-text: #d0c0e8;
    --t-sidebar-bg: #241c3a;
    --t-sidebar-header: rgba(36, 28, 58, 0.96);
    --t-accent: #ff3296;
    --t-accent-muted: rgba(255, 50, 150, 0.18);
    --t-accent-solid: #ff3296;
    --t-date-text: #8070a0;
    --t-date-border: #4a3870;
    --t-badge-bg: rgba(255, 50, 150, 0.1);
    --t-defcon-bg: rgba(255, 50, 150, 0.14);
    --t-defcon-border: rgba(255, 50, 150, 0.3);
    --t-prose-body: #c0b0d8;
    --t-prose-headings: #00dcff;
    --t-close-bg: rgba(36, 28, 56, 0.92);
    --t-hero-title: #f0e0ff;
    --t-tagline-color: rgba(0, 220, 255, 0.6);
    --t-tagline-border: rgba(255, 50, 150, 0.3);
    --t-btn-active-bg: rgba(255, 50, 150, 0.25);
    --t-btn-active-border: rgba(255, 50, 150, 0.55);
    --t-btn-active-text: #ff6ab8;
    --t-btn-inactive-bg: transparent;
    --t-btn-inactive-border: #4a3870;
    --t-btn-inactive-text: #8070a0;
    --t-submit-bg: rgba(255, 50, 150, 0.22);
    --t-submit-hover: rgba(255, 50, 150, 0.32);
    --t-submit-border: rgba(255, 50, 150, 0.35);
    --t-submit-text: #ff6ab8;
    --t-glass-bg: rgba(36, 28, 56, 0.82);
    --t-glass-border: rgba(0, 220, 255, 0.08);
    --t-placeholder: rgba(128, 112, 160, 0.5);
}

/* 4. JAZZ — gold elegant light */
[data-theme="jazz"] {
    --t-body: #f5f0e8;
    --t-hero-overlay: #000;
    --t-hero-text: #f5ecd8;
    --t-hero-excerpt: rgba(235, 220, 185, 0.8);
    --t-text: #38301a;
    --t-text-strong: #1e1a10;
    --t-text-muted: #8a7a58;
    --t-header-bg: rgba(242, 238, 228, 0.94);
    --t-header-border: rgba(180, 150, 60, 0.2);
    --t-footer-bg: #ece6da;
    --t-footer-text: #9a8a68;
    --t-card-bg: rgba(255, 255, 255, 0.6);
    --t-card-border: rgba(180, 150, 60, 0.15);
    --t-card-shadow: 0 2px 12px rgba(100, 80, 0, 0.05);
    --t-card-title: #1e1a10;
    --t-card-text: #5a4e30;
    --t-modal-bg: #f8f4ea;
    --t-modal-gradient: #f8f4ea;
    --t-blob-red: rgba(200, 170, 80, 0.04);
    --t-blob-orange: rgba(180, 140, 40, 0.03);
    --t-noise: 0.03;
    --t-input-bg: #faf8f0;
    --t-input-border: rgba(140, 120, 60, 0.2);
    --t-input-text: #38301a;
    --t-sidebar-bg: #f0ece2;
    --t-sidebar-header: rgba(240, 236, 226, 0.96);
    --t-accent: #b09030;
    --t-accent-muted: rgba(176, 144, 48, 0.1);
    --t-accent-solid: #b09030;
    --t-date-text: #8a7a58;
    --t-date-border: rgba(140, 120, 60, 0.2);
    --t-badge-bg: rgba(180, 150, 60, 0.06);
    --t-defcon-bg: rgba(180, 150, 60, 0.08);
    --t-defcon-border: rgba(180, 150, 60, 0.15);
    --t-prose-body: #48401e;
    --t-prose-headings: #b09030;
    --t-close-bg: rgba(242, 238, 228, 0.92);
    --t-hero-title: #1e1a10;
    --t-tagline-color: rgba(176, 144, 48, 0.6);
    --t-tagline-border: rgba(180, 150, 60, 0.2);
    --t-btn-active-bg: #b09030;
    --t-btn-active-border: #b09030;
    --t-btn-active-text: #fff;
    --t-btn-inactive-bg: var(--t-input-bg);
    --t-btn-inactive-border: var(--t-input-border);
    --t-btn-inactive-text: var(--t-text);
    --t-submit-bg: #b09030;
    --t-submit-hover: #987828;
    --t-submit-border: #b09030;
    --t-submit-text: #fff;
    --t-glass-bg: rgba(242, 238, 228, 0.75);
    --t-glass-border: rgba(0, 0, 0, 0.05);
    --t-placeholder: rgba(120, 100, 50, 0.5);
}

/* 5. HIP-HOP — bold, street, neon accent */
[data-theme="hiphop"] {
    --t-body: #0a0a0a;
    --t-hero-text: #ffffff;
    --t-hero-excerpt: rgba(220, 220, 220, 0.78);
    --t-text: #d0d0d0;
    --t-text-strong: #ffffff;
    --t-text-muted: #606060;
    --t-header-bg: rgba(10, 10, 10, 0.95);
    --t-header-border: rgba(0, 255, 100, 0.2);
    --t-footer-bg: #050505;
    --t-footer-text: #1a3020;
    --t-card-bg: rgba(14, 14, 14, 0.6);
    --t-card-border: rgba(0, 255, 100, 0.12);
    --t-card-shadow: none;
    --t-card-title: #f0f0f0;
    --t-card-text: #808080;
    --t-modal-bg: #080808;
    --t-modal-gradient: #080808;
    --t-blob-red: rgba(0, 255, 100, 0.04);
    --t-blob-orange: rgba(200, 200, 0, 0.03);
    --t-noise: 0.15;
    --t-input-bg: #0e0e0e;
    --t-input-border: #1e1e1e;
    --t-input-text: #d0d0d0;
    --t-sidebar-bg: #080808;
    --t-sidebar-header: rgba(8, 8, 8, 0.95);
    --t-accent: #00ff64;
    --t-accent-muted: rgba(0, 255, 100, 0.12);
    --t-accent-solid: #00ff64;
    --t-date-text: #606060;
    --t-date-border: #1e1e1e;
    --t-badge-bg: rgba(0, 255, 100, 0.06);
    --t-defcon-bg: rgba(0, 255, 100, 0.08);
    --t-defcon-border: rgba(0, 255, 100, 0.2);
    --t-prose-body: #c0c0c0;
    --t-prose-headings: #00ff64;
    --t-close-bg: rgba(8, 8, 8, 0.92);
    --t-hero-title: #ffffff;
    --t-tagline-color: rgba(0, 255, 100, 0.5);
    --t-tagline-border: rgba(0, 255, 100, 0.25);
    --t-btn-active-bg: rgba(0, 255, 100, 0.15);
    --t-btn-active-border: rgba(0, 255, 100, 0.4);
    --t-btn-active-text: #50ff90;
    --t-btn-inactive-bg: transparent;
    --t-btn-inactive-border: #1e1e1e;
    --t-btn-inactive-text: #606060;
    --t-submit-bg: rgba(0, 255, 100, 0.12);
    --t-submit-hover: rgba(0, 255, 100, 0.2);
    --t-submit-border: rgba(0, 255, 100, 0.25);
    --t-submit-text: #50ff90;
    --t-glass-bg: rgba(8, 8, 8, 0.85);
    --t-glass-border: rgba(0, 255, 100, 0.04);
    --t-placeholder: rgba(96, 96, 96, 0.5);
}

/* 6. AMBIENT — soft gray, light night mode */
[data-theme="ambient"] {
    --t-body: #d8d8de;
    --t-hero-overlay: #000;
    --t-hero-text: #d0d0da;
    --t-hero-excerpt: rgba(180, 180, 200, 0.8);
    --t-text: #2e2e38;
    --t-text-strong: #18181e;
    --t-text-muted: #7a7a8a;
    --t-header-bg: rgba(210, 210, 218, 0.94);
    --t-header-border: rgba(120, 120, 140, 0.2);
    --t-footer-bg: #d0d0d8;
    --t-footer-text: #8a8a98;
    --t-card-bg: rgba(240, 240, 244, 0.6);
    --t-card-border: rgba(120, 120, 140, 0.15);
    --t-card-shadow: 0 2px 12px rgba(0, 0, 20, 0.06);
    --t-card-title: #18181e;
    --t-card-text: #4a4a58;
    --t-modal-bg: #e0e0e5;
    --t-modal-gradient: #e0e0e5;
    --t-blob-red: rgba(100, 100, 120, 0.04);
    --t-blob-orange: rgba(120, 120, 140, 0.02);
    --t-noise: 0.03;
    --t-input-bg: #e6e6ea;
    --t-input-border: rgba(100, 100, 120, 0.25);
    --t-input-text: #2e2e38;
    --t-sidebar-bg: #d6d6dc;
    --t-sidebar-header: rgba(214, 214, 220, 0.96);
    --t-accent: #6a6a80;
    --t-accent-muted: rgba(106, 106, 128, 0.12);
    --t-accent-solid: #6a6a80;
    --t-date-text: #7a7a8a;
    --t-date-border: rgba(100, 100, 120, 0.25);
    --t-badge-bg: rgba(100, 100, 120, 0.08);
    --t-defcon-bg: rgba(100, 100, 120, 0.08);
    --t-defcon-border: rgba(100, 100, 120, 0.15);
    --t-prose-body: #383848;
    --t-prose-headings: #6a6a80;
    --t-close-bg: rgba(214, 214, 220, 0.92);
    --t-hero-title: #18181e;
    --t-tagline-color: rgba(106, 106, 128, 0.6);
    --t-tagline-border: rgba(100, 100, 120, 0.25);
    --t-btn-active-bg: #6a6a80;
    --t-btn-active-border: #6a6a80;
    --t-btn-active-text: #fff;
    --t-btn-inactive-bg: var(--t-input-bg);
    --t-btn-inactive-border: var(--t-input-border);
    --t-btn-inactive-text: var(--t-text);
    --t-submit-bg: #6a6a80;
    --t-submit-hover: #5a5a70;
    --t-submit-border: #6a6a80;
    --t-submit-text: #fff;
    --t-glass-bg: rgba(214, 214, 220, 0.75);
    --t-glass-border: rgba(0, 0, 0, 0.06);
    --t-placeholder: rgba(90, 90, 110, 0.5);
}

/* 7. PUNK — raw, yellow/black, DIY */
[data-theme="punk"] {
    --t-body: #0a0a08;
    --t-hero-text: #f5f0d0;
    --t-hero-excerpt: rgba(235, 225, 180, 0.78);
    --t-text: #c8c0a0;
    --t-text-strong: #f5f0d0;
    --t-text-muted: #6a6440;
    --t-header-bg: rgba(10, 10, 8, 0.95);
    --t-header-border: rgba(255, 220, 0, 0.25);
    --t-footer-bg: #050504;
    --t-footer-text: #3a3810;
    --t-card-bg: rgba(14, 14, 10, 0.6);
    --t-card-border: rgba(255, 220, 0, 0.15);
    --t-card-shadow: none;
    --t-card-title: #f0e8c0;
    --t-card-text: #8a8460;
    --t-modal-bg: #080806;
    --t-modal-gradient: #080806;
    --t-blob-red: rgba(255, 220, 0, 0.05);
    --t-blob-orange: rgba(200, 180, 0, 0.04);
    --t-noise: 0.2;
    --t-input-bg: #0e0e0c;
    --t-input-border: #222018;
    --t-input-text: #c8c0a0;
    --t-sidebar-bg: #080806;
    --t-sidebar-header: rgba(8, 8, 6, 0.95);
    --t-accent: #ffd800;
    --t-accent-muted: rgba(255, 216, 0, 0.12);
    --t-accent-solid: #ffd800;
    --t-date-text: #6a6440;
    --t-date-border: #222018;
    --t-badge-bg: rgba(255, 220, 0, 0.06);
    --t-defcon-bg: rgba(255, 220, 0, 0.08);
    --t-defcon-border: rgba(255, 220, 0, 0.2);
    --t-prose-body: #b8b090;
    --t-prose-headings: #ffd800;
    --t-close-bg: rgba(8, 8, 6, 0.92);
    --t-hero-title: #f5f0d0;
    --t-tagline-color: rgba(255, 220, 0, 0.5);
    --t-tagline-border: rgba(255, 220, 0, 0.25);
    --t-btn-active-bg: rgba(255, 216, 0, 0.15);
    --t-btn-active-border: rgba(255, 216, 0, 0.4);
    --t-btn-active-text: #ffe040;
    --t-btn-inactive-bg: transparent;
    --t-btn-inactive-border: #222018;
    --t-btn-inactive-text: #6a6440;
    --t-submit-bg: rgba(255, 216, 0, 0.12);
    --t-submit-hover: rgba(255, 216, 0, 0.2);
    --t-submit-border: rgba(255, 216, 0, 0.25);
    --t-submit-text: #ffe040;
    --t-glass-bg: rgba(8, 8, 6, 0.85);
    --t-glass-border: rgba(255, 220, 0, 0.04);
    --t-placeholder: rgba(106, 100, 64, 0.5);
}

/* 8. ROCK — fire, heavy, mid-tone */
[data-theme="rock"] {
    --t-body: #201414;
    --t-hero-text: #f5e8e0;
    --t-hero-excerpt: rgba(230, 200, 180, 0.78);
    --t-text: #d4baa8;
    --t-text-strong: #f5e8e0;
    --t-text-muted: #886858;
    --t-header-bg: rgba(28, 18, 18, 0.94);
    --t-header-border: rgba(255, 100, 30, 0.25);
    --t-footer-bg: #1a1010;
    --t-footer-text: #5a3828;
    --t-card-bg: rgba(35, 22, 22, 0.6);
    --t-card-border: rgba(255, 100, 30, 0.18);
    --t-card-shadow: 0 0 15px rgba(255, 60, 10, 0.04);
    --t-card-title: #f0ddd0;
    --t-card-text: #a08070;
    --t-modal-bg: #1c1212;
    --t-modal-gradient: #1c1212;
    --t-blob-red: rgba(255, 80, 20, 0.1);
    --t-blob-orange: rgba(255, 140, 40, 0.06);
    --t-noise: 0.12;
    --t-input-bg: #281c1c;
    --t-input-border: #3c2820;
    --t-input-text: #d4baa8;
    --t-sidebar-bg: #1c1212;
    --t-sidebar-header: rgba(28, 18, 18, 0.96);
    --t-accent: #ff641e;
    --t-accent-muted: rgba(255, 100, 30, 0.18);
    --t-accent-solid: #ff641e;
    --t-date-text: #886858;
    --t-date-border: #3c2820;
    --t-badge-bg: rgba(255, 100, 30, 0.1);
    --t-defcon-bg: rgba(255, 100, 30, 0.12);
    --t-defcon-border: rgba(255, 100, 30, 0.3);
    --t-prose-body: #c4a898;
    --t-prose-headings: #ff641e;
    --t-close-bg: rgba(28, 18, 18, 0.92);
    --t-hero-title: #f5e8e0;
    --t-tagline-color: rgba(255, 120, 50, 0.6);
    --t-tagline-border: rgba(255, 100, 30, 0.35);
    --t-btn-active-bg: rgba(255, 100, 30, 0.25);
    --t-btn-active-border: rgba(255, 100, 30, 0.55);
    --t-btn-active-text: #ff8850;
    --t-btn-inactive-bg: transparent;
    --t-btn-inactive-border: #3c2820;
    --t-btn-inactive-text: #886858;
    --t-submit-bg: rgba(255, 100, 30, 0.2);
    --t-submit-hover: rgba(255, 100, 30, 0.3);
    --t-submit-border: rgba(255, 100, 30, 0.35);
    --t-submit-text: #ff8850;
    --t-glass-bg: rgba(28, 18, 18, 0.85);
    --t-glass-border: rgba(255, 100, 30, 0.06);
    --t-placeholder: rgba(136, 104, 88, 0.5);
}

/* 9. POP — bright, clean, fresh */
[data-theme="pop"] {
    --t-body: #f5f2f8;
    --t-hero-overlay: #000;
    --t-hero-text: #f0e0ff;
    --t-hero-excerpt: rgba(215, 190, 240, 0.8);
    --t-text: #2a2035;
    --t-text-strong: #15101e;
    --t-text-muted: #7a6890;
    --t-header-bg: rgba(242, 238, 248, 0.94);
    --t-header-border: rgba(180, 50, 220, 0.15);
    --t-footer-bg: #eee8f4;
    --t-footer-text: #8878a0;
    --t-card-bg: rgba(255, 255, 255, 0.65);
    --t-card-border: rgba(180, 50, 220, 0.15);
    --t-card-shadow: 0 2px 12px rgba(100, 0, 150, 0.05);
    --t-card-title: #15101e;
    --t-card-text: #4a3860;
    --t-modal-bg: #f8f4fc;
    --t-modal-gradient: #f8f4fc;
    --t-blob-red: rgba(200, 50, 220, 0.04);
    --t-blob-orange: rgba(180, 100, 220, 0.02);
    --t-noise: 0.03;
    --t-input-bg: #faf8fc;
    --t-input-border: rgba(120, 90, 160, 0.2);
    --t-input-text: #2a2035;
    --t-sidebar-bg: #f4f0f8;
    --t-sidebar-header: rgba(244, 240, 248, 0.96);
    --t-accent: #b432dc;
    --t-accent-muted: rgba(180, 50, 220, 0.1);
    --t-accent-solid: #b432dc;
    --t-date-text: #7a6890;
    --t-date-border: rgba(120, 90, 160, 0.2);
    --t-badge-bg: rgba(180, 50, 220, 0.06);
    --t-defcon-bg: rgba(180, 50, 220, 0.06);
    --t-defcon-border: rgba(180, 50, 220, 0.12);
    --t-prose-body: #352840;
    --t-prose-headings: #b432dc;
    --t-close-bg: rgba(244, 240, 248, 0.92);
    --t-hero-title: #15101e;
    --t-tagline-color: rgba(180, 50, 220, 0.6);
    --t-tagline-border: rgba(180, 50, 220, 0.2);
    --t-btn-active-bg: #b432dc;
    --t-btn-active-border: #b432dc;
    --t-btn-active-text: #fff;
    --t-btn-inactive-bg: var(--t-input-bg);
    --t-btn-inactive-border: var(--t-input-border);
    --t-btn-inactive-text: var(--t-text);
    --t-submit-bg: #b432dc;
    --t-submit-hover: #9a28c0;
    --t-submit-border: #b432dc;
    --t-submit-text: #fff;
    --t-glass-bg: rgba(244, 240, 248, 0.75);
    --t-glass-border: rgba(0, 0, 0, 0.05);
    --t-placeholder: rgba(100, 80, 130, 0.5);
}

/* 10. DRUM & BASS — kinetic, green/orange */
[data-theme="dnb"] {
    --t-body: #060a08;
    --t-hero-text: #d8f0e0;
    --t-hero-excerpt: rgba(190, 230, 200, 0.75);
    --t-text: #a8c8b0;
    --t-text-strong: #d8f0e0;
    --t-text-muted: #4a6850;
    --t-header-bg: rgba(6, 10, 8, 0.95);
    --t-header-border: rgba(0, 200, 80, 0.2);
    --t-footer-bg: #040806;
    --t-footer-text: #1a3020;
    --t-card-bg: rgba(8, 14, 10, 0.6);
    --t-card-border: rgba(0, 200, 80, 0.12);
    --t-card-shadow: none;
    --t-card-title: #c8e8d0;
    --t-card-text: #688870;
    --t-modal-bg: #040806;
    --t-modal-gradient: #040806;
    --t-blob-red: rgba(0, 180, 60, 0.05);
    --t-blob-orange: rgba(255, 140, 0, 0.04);
    --t-noise: 0.12;
    --t-input-bg: #0a0e0c;
    --t-input-border: #182418;
    --t-input-text: #a8c8b0;
    --t-sidebar-bg: #040806;
    --t-sidebar-header: rgba(4, 8, 6, 0.95);
    --t-accent: #00c850;
    --t-accent-muted: rgba(0, 200, 80, 0.12);
    --t-accent-solid: #00c850;
    --t-date-text: #4a6850;
    --t-date-border: #182418;
    --t-badge-bg: rgba(0, 200, 80, 0.06);
    --t-defcon-bg: rgba(255, 140, 0, 0.08);
    --t-defcon-border: rgba(0, 200, 80, 0.2);
    --t-prose-body: #98b8a0;
    --t-prose-headings: #ff8c00;
    --t-close-bg: rgba(4, 8, 6, 0.92);
    --t-hero-title: #d8f0e0;
    --t-tagline-color: rgba(255, 140, 0, 0.5);
    --t-tagline-border: rgba(0, 200, 80, 0.25);
    --t-btn-active-bg: rgba(0, 200, 80, 0.15);
    --t-btn-active-border: rgba(0, 200, 80, 0.4);
    --t-btn-active-text: #40e878;
    --t-btn-inactive-bg: transparent;
    --t-btn-inactive-border: #182418;
    --t-btn-inactive-text: #4a6850;
    --t-submit-bg: rgba(0, 200, 80, 0.12);
    --t-submit-hover: rgba(0, 200, 80, 0.2);
    --t-submit-border: rgba(0, 200, 80, 0.25);
    --t-submit-text: #40e878;
    --t-glass-bg: rgba(4, 8, 6, 0.85);
    --t-glass-border: rgba(0, 200, 80, 0.04);
    --t-placeholder: rgba(74, 104, 80, 0.5);
}

/* 11. DARK — basic dark (default) */
[data-theme="dark"] {
    --t-body: #0a0a12;
    --t-hero-text: #e8e8f4;
    --t-hero-excerpt: rgba(210, 210, 230, 0.75);
    --t-text: #c0c0d0;
    --t-text-strong: #e8e8f4;
    --t-text-muted: #606070;
    --t-header-bg: rgba(10, 10, 18, 0.92);
    --t-header-border: rgba(100, 120, 200, 0.15);
    --t-footer-bg: #08080e;
    --t-footer-text: #282840;
    --t-card-bg: rgba(14, 14, 22, 0.6);
    --t-card-border: rgba(100, 120, 200, 0.12);
    --t-card-shadow: none;
    --t-card-title: #d8d8e8;
    --t-card-text: #808090;
    --t-modal-bg: #08080e;
    --t-modal-gradient: #08080e;
    --t-blob-red: rgba(80, 80, 140, 0.06);
    --t-blob-orange: rgba(100, 100, 160, 0.04);
    --t-noise: 0.1;
    --t-input-bg: #0e0e18;
    --t-input-border: #222238;
    --t-input-text: #c0c0d0;
    --t-sidebar-bg: #08080e;
    --t-sidebar-header: rgba(8, 8, 14, 0.95);
    --t-accent: #6478c8;
    --t-accent-muted: rgba(100, 120, 200, 0.12);
    --t-accent-solid: #6478c8;
    --t-date-text: #606070;
    --t-date-border: #222238;
    --t-badge-bg: rgba(100, 120, 200, 0.06);
    --t-defcon-bg: rgba(100, 120, 200, 0.08);
    --t-defcon-border: rgba(100, 120, 200, 0.18);
    --t-prose-body: #b0b0c0;
    --t-prose-headings: #6478c8;
    --t-close-bg: rgba(8, 8, 14, 0.92);
    --t-hero-title: #e8e8f4;
    --t-tagline-color: rgba(100, 120, 200, 0.5);
    --t-tagline-border: rgba(100, 120, 200, 0.2);
    --t-btn-active-bg: rgba(100, 120, 200, 0.15);
    --t-btn-active-border: rgba(100, 120, 200, 0.4);
    --t-btn-active-text: #8898e0;
    --t-btn-inactive-bg: transparent;
    --t-btn-inactive-border: #222238;
    --t-btn-inactive-text: #606070;
    --t-submit-bg: rgba(100, 120, 200, 0.12);
    --t-submit-hover: rgba(100, 120, 200, 0.2);
    --t-submit-border: rgba(100, 120, 200, 0.2);
    --t-submit-text: #8898e0;
    --t-glass-bg: rgba(8, 8, 14, 0.82);
    --t-glass-border: rgba(100, 120, 200, 0.04);
    --t-placeholder: rgba(96, 96, 112, 0.5);
}

/* 12. LIGHT — basic light */
[data-theme="light"] {
    --t-body: #f2f0f5;
    --t-hero-overlay: #000;
    --t-hero-text: #e8e8f5;
    --t-hero-excerpt: rgba(200, 200, 230, 0.8);
    --t-text: #2a2835;
    --t-text-strong: #14121e;
    --t-text-muted: #7a7890;
    --t-header-bg: rgba(238, 236, 242, 0.94);
    --t-header-border: rgba(80, 90, 160, 0.15);
    --t-footer-bg: #eae8f0;
    --t-footer-text: #8886a0;
    --t-card-bg: rgba(255, 255, 255, 0.65);
    --t-card-border: rgba(80, 90, 160, 0.15);
    --t-card-shadow: 0 2px 12px rgba(0, 0, 30, 0.05);
    --t-card-title: #14121e;
    --t-card-text: #484060;
    --t-modal-bg: #f6f4fa;
    --t-modal-gradient: #f6f4fa;
    --t-blob-red: rgba(100, 100, 180, 0.03);
    --t-blob-orange: rgba(120, 120, 200, 0.02);
    --t-noise: 0.03;
    --t-input-bg: #fafafe;
    --t-input-border: rgba(100, 100, 160, 0.2);
    --t-input-text: #2a2835;
    --t-sidebar-bg: #f0eef5;
    --t-sidebar-header: rgba(240, 238, 245, 0.96);
    --t-accent: #4a58b0;
    --t-accent-muted: rgba(74, 88, 176, 0.1);
    --t-accent-solid: #4a58b0;
    --t-date-text: #7a7890;
    --t-date-border: rgba(100, 100, 160, 0.2);
    --t-badge-bg: rgba(80, 90, 160, 0.06);
    --t-defcon-bg: rgba(80, 90, 160, 0.06);
    --t-defcon-border: rgba(80, 90, 160, 0.12);
    --t-prose-body: #353250;
    --t-prose-headings: #4a58b0;
    --t-close-bg: rgba(240, 238, 245, 0.92);
    --t-hero-title: #14121e;
    --t-tagline-color: rgba(74, 88, 176, 0.6);
    --t-tagline-border: rgba(80, 90, 160, 0.2);
    --t-btn-active-bg: #4a58b0;
    --t-btn-active-border: #4a58b0;
    --t-btn-active-text: #fff;
    --t-btn-inactive-bg: var(--t-input-bg);
    --t-btn-inactive-border: var(--t-input-border);
    --t-btn-inactive-text: var(--t-text);
    --t-submit-bg: #4a58b0;
    --t-submit-hover: #3a4898;
    --t-submit-border: #4a58b0;
    --t-submit-text: #fff;
    --t-glass-bg: rgba(240, 238, 245, 0.75);
    --t-glass-border: rgba(0, 0, 0, 0.05);
    --t-placeholder: rgba(100, 100, 130, 0.5);
}

/* Smooth theme transition — pouze klíčové elementy */
.theme-transitioning body,
.theme-transitioning header,
.theme-transitioning footer,
.theme-transitioning main,
.theme-transitioning .ed-card,
.theme-transitioning .modal-card,
.theme-transitioning .fab-add,
.theme-transitioning .hero-cinematic,
.theme-transitioning .ticker-bar,
.theme-transitioning #admin-sidebar,
.theme-transitioning .highlight-card {
    transition: background-color 0.4s, color 0.3s, border-color 0.3s !important;
}

/* Console + JSON always dark */
#admin-console-output,
#add-console-output,
#admin-json-preview {
    background-color: #0a0a12 !important;
    border-color: rgba(60, 60, 80, 0.3) !important;
    color: #9ca3af !important;
}

#admin-json-preview {
    color: #a0d070 !important;
}