/* Default Theme (Dark) */
:root {
    /* Base Colors */
    --bg-color: #0b0e16;
    --text-color: #e0e0e0;
    --text-secondary: #94a3b8;
    --text-muted: #64748b;
    --accent-color: #3b82f6;
    
    /* Badge / Chip Colors */
    --badge-bg: rgba(11, 14, 22, 0.5);
    --badge-border: rgba(51, 65, 85, 0.3);
    --badge-hover-bg: rgba(15, 23, 42, 0.8);
    --badge-hover-border: rgba(99, 102, 241, 0.4);
    --section-copy-bg: rgba(11, 14, 22, 0.34);
    --section-copy-hover-bg: rgba(11, 14, 22, 0.42);
    --glass-surface: rgba(11, 14, 22, 0.46);
    --glass-surface-hover: rgba(11, 14, 22, 0.54);
    --glass-border: rgba(148, 163, 184, 0.2);
    --glass-shadow: 0 20px 70px rgba(0, 0, 0, 0.2), inset 0 1px 0 rgba(255, 255, 255, 0.055);
    
    /* Gradient Text */
    --gradient-text-start: #ffffff;
    --gradient-text-end: #94a3b8;
    
    /* Legal Page Specifics */
    --legal-card-bg: rgba(11, 14, 22, 0.55);
    --legal-header-bg: rgba(11, 14, 22, 0.6);
    --legal-border: rgba(51, 65, 85, 0.3); /* Often matches badge border */
    --link-color: #8ba4ff;
    
    /* Canvas Colors (used by JS) */
    --canvas-node: 255, 255, 255; /* RGB values for rgba usage */
    --canvas-node-opacity: 0.1;
    --canvas-spark: #3b82f6;
    
    /* Social Icons */
    /* Inverts dark icons to light: Slate-500 approx */
    --icon-filter: invert(34%) sepia(21%) saturate(373%) hue-rotate(186deg) brightness(97%) contrast(92%);
    --icon-hover-filter: invert(42%) sepia(93%) saturate(1352%) hue-rotate(202deg) brightness(101%) contrast(96%); /* Blue-500 */
    
    /* Theme Switcher */
    --switcher-bg: rgba(11, 14, 22, 0.5);
    --switcher-border: rgba(51, 65, 85, 0.3);
    --switcher-active-bg: rgba(59, 130, 246, 0.2);
    --switcher-active-text: #3b82f6;
}

/* Light Theme Override */
[data-theme="light"] {
    /* Base Colors */
    --bg-color: #f8fafc;
    /* --bg-color: #ffffff; */
    --text-color: #1e293b;
    --text-secondary: #475569;
    --text-muted: #94a3b8;
    --accent-color: #2563eb;
    
    /* Badge / Chip Colors */
    --badge-bg: rgba(255, 255, 255, 0.6);
    --badge-border: rgba(203, 213, 225, 0.8);
    --badge-hover-bg: rgba(241, 245, 249, 0.9);
    --badge-hover-border: rgba(37, 99, 235, 0.4);
    --section-copy-bg: rgba(255, 255, 255, 0.52);
    --section-copy-hover-bg: rgba(255, 255, 255, 0.74);
    --glass-surface: rgba(255, 255, 255, 0.58);
    --glass-surface-hover: rgba(255, 255, 255, 0.7);
    --glass-border: rgba(100, 116, 139, 0.24);
    --glass-shadow: 0 24px 70px rgba(15, 23, 42, 0.11), inset 0 1px 0 rgba(255, 255, 255, 0.72);
    
    /* Gradient Text */
    --gradient-text-start: #0f172a;
    --gradient-text-end: #64748b;
    
    /* Legal Page Specifics */
    --legal-card-bg: rgba(255, 255, 255, 0.6);
    --legal-header-bg: rgba(255, 255, 255, 0.8);
    --legal-border: rgba(203, 213, 225, 0.8);
    --link-color: #2563eb;
    
    /* Canvas Colors */
    --canvas-node: 15, 23, 42; /* Dark nodes on light bg */
    --canvas-node-opacity: 0.1;
    --canvas-spark: #2563eb;
    
    /* Social Icons */
    /* Reset filter for light mode (assuming icons are dark by default or we need to invert them differently? 
       The icons are pngs. If they are black pngs, we don't need filter. 
       If they are white pngs, we need to invert to black.
       Let's assume we need to adjust filter to get Slate-600 */
    --icon-filter: invert(32%) sepia(10%) saturate(856%) hue-rotate(174deg) brightness(95%) contrast(88%); /* Slate-600 approx */
    --icon-hover-filter: invert(29%) sepia(87%) saturate(1838%) hue-rotate(213deg) brightness(96%) contrast(93%); /* Blue-600 approx */

    /* Theme Switcher */
    --switcher-bg: rgba(255, 255, 255, 0.8);
    --switcher-border: rgba(203, 213, 225, 0.8);
    --switcher-active-bg: rgba(37, 99, 235, 0.1);
    --switcher-active-text: #2563eb;
}

/* Smooth theme transition - all theme-aware elements use 0.5s */
body, .hero-title, .tagline, .site-footer, .legal-card, .legal-top, .section-copy, .benefit-card {
    transition: background-color 0.5s ease, color 0.5s ease, border-color 0.5s ease;
}
