/* ==========================================================================
   SHOULDCAST THEME OVERRIDES
   Each theme overrides the semantic CSS variables defined in design-system.css.
   Applied via [data-theme="..."] on the <html> element.
   ========================================================================== */

/* ============================================================
   THEME: Cyber Cinema (Default / Purple Cyberpunk)
   ============================================================ */
[data-theme="cyber"],
:root {
    /* Accent & Color Scheme */
    --geek-accent:        #8A2BE2;
    --accent-base-color:  #8A2BE2;
    --accent-text-color:  #ffffff;
    --geek-accent-rgb:    138, 43, 226;
    --geek-accent-light:  #B066FF;
    --geek-accent-alt:    #EA00D9;
    --geek-highlight:     #00FFF0;
    --geek-black:         #0a0514;
    --geek-dark-bg:       rgba(10, 5, 20, 0.7);
    --geek-nav-bg:        rgba(15, 10, 30, 0.7);
    --geek-header-bg:     rgba(15, 10, 30, 0.7);
    --geek-footer-bg:     rgba(10, 5, 20, 0.95);
    --geek-body-bg:       #0f0a1e;

    /* Effects & Glass */
    --neon-glow:          0 0 15px rgba(138, 43, 226, 0.5);
    --neon-glow-strong:   0 0 25px rgba(138, 43, 226, 0.6);
    --glass-border:       1px solid rgba(138, 43, 226, 0.2);
    --glass-border-color: rgba(138, 43, 226, 0.2);
    --glass-active-bg:    rgba(138, 43, 226, 0.12);
    --glass-blur-value:   blur(25px);

    /* Navigation */
    --nav-active-border:  var(--geek-highlight);
    --nav-active-color:   var(--geek-highlight);
    --nav-active-glow:    rgba(0, 255, 240, 0.4);
    --hub-nav-active-color: var(--geek-accent-alt);
    --hub-nav-active-bg:    rgba(234, 0, 217, 0.1);
    --hub-nav-active-glow:  rgba(234, 0, 217, 0.2);

    /* Custom Design Tokens */
    --logo-orb-color:     #8A2BE2;
    --pill-gradient:      linear-gradient(135deg, #8A2BE2, #EA00D9);
    --pill-inner-bg:      #0f0a1e;
    --metric-gradient:    linear-gradient(90deg, #8A2BE2, #EA00D9);
    --auth-gradient:      radial-gradient(circle at center, rgba(138, 43, 226, 0.05) 0%, transparent 70%);
    --auth-btn-gradient:  linear-gradient(135deg, #8A2BE2, #EA00D9);
    --auth-btn-shadow:    rgba(138, 43, 226, 0.3);
    --auth-btn-shadow-hover: rgba(138, 43, 226, 0.5);
    --auth-link-color:    #EA00D9;
    --auth-link-hover:    #B066FF;
    --tab-selected-color: var(--geek-highlight);
    --comment-border:     #8A2BE2;

    /* Structural Variables */
    --theme-font-family:  'Plus Jakarta Sans', system-ui, -apple-system, sans-serif;
    --theme-font-heading: 'Plus Jakarta Sans', system-ui, sans-serif;
    --theme-font-weight-heading: 900;
    --theme-text-transform-heading: uppercase;
    --theme-letter-spacing-heading: 2px;
    --theme-border-radius-card: 16px;
    --theme-border-radius-control: 30px;
    --theme-border-radius-menu: 20px;
    --theme-box-shadow-card: 0 15px 35px rgba(0,0,0,0.4);
    --theme-card-bg-gradient: none;
    --theme-scanlines-opacity: 0.1;
    --theme-scanlines-pattern: repeating-linear-gradient(0deg, rgba(255,255,255,0.03) 0px, rgba(255,255,255,0.03) 1px, transparent 1px, transparent 2px);

    /* Fluent UI v5 Design Token Overrides */
    --fontFamilyBase:     var(--theme-font-family);
    --borderRadiusMedium: var(--theme-border-radius-control, 6px);
    --accent-base-color:  var(--accent-base-color) !important;
    --accent-fill-rest:   var(--geek-accent) !important;
    --accent-fill-hover:  var(--geek-accent-light) !important;
    --accent-fill-active: var(--geek-accent-light) !important;
    --accent-foreground-rest: var(--geek-accent-alt) !important;
    --accent-foreground-hover: var(--geek-accent-light) !important;
    --accent-foreground-active: var(--geek-accent-light) !important;
    
    /* Modern Fluent UI v5 Brand/Accent Tokens */
    --colorBrandBackground: var(--geek-accent) !important;
    --colorBrandBackgroundHover: var(--geek-accent-light) !important;
    --colorBrandBackgroundPressed: var(--geek-accent-light) !important;
    --colorBrandBackgroundSelected: var(--geek-accent) !important;
    --colorNeutralForegroundOnBrand: var(--accent-text-color, #ffffff) !important;
}

/* ============================================================
   THEME: Obsidian Spotlight
   Deep matte black + warm amber projector light
   ============================================================ */
[data-theme="spotlight"] {
    --geek-accent:        #E8A020;
    --accent-base-color:  #E8A020;
    --accent-text-color:  #080808;
    --geek-accent-rgb:    232, 160, 32;
    --geek-accent-light:  #F5C842;
    --geek-accent-alt:    #D4621A;
    --geek-highlight:     #FFDE7A;
    --geek-black:         #080808;
    --geek-dark-bg:       rgba(8, 8, 8, 0.75);
    --geek-nav-bg:        rgba(14, 11, 6, 0.8);
    --geek-header-bg:     rgba(14, 11, 6, 0.8);
    --geek-footer-bg:     rgba(8, 8, 8, 0.95);
    --geek-body-bg:       #0e0b06;

    --neon-glow:          0 0 15px rgba(232, 160, 32, 0.45);
    --neon-glow-strong:   0 0 28px rgba(232, 160, 32, 0.6);
    --glass-border:       1px solid rgba(232, 160, 32, 0.18);
    --glass-border-color: rgba(232, 160, 32, 0.18);
    --glass-active-bg:    rgba(232, 160, 32, 0.1);
    --glass-blur-value:   blur(25px);

    --nav-active-border:  var(--geek-highlight);
    --nav-active-color:   var(--geek-highlight);
    --nav-active-glow:    rgba(255, 222, 122, 0.4);
    --hub-nav-active-color: var(--geek-accent);
    --hub-nav-active-bg:    rgba(232, 160, 32, 0.1);
    --hub-nav-active-glow:  rgba(232, 160, 32, 0.2);

    --logo-orb-color:     #E8A020;
    --pill-gradient:      linear-gradient(135deg, #E8A020, #D4621A);
    --pill-inner-bg:      #0e0b06;
    --metric-gradient:    linear-gradient(90deg, #E8A020, #F5C842);
    --auth-gradient:      radial-gradient(circle at center, rgba(232, 160, 32, 0.05) 0%, transparent 70%);
    --auth-btn-gradient:  linear-gradient(135deg, #E8A020, #D4621A);
    --auth-btn-shadow:    rgba(232, 160, 32, 0.3);
    --auth-btn-shadow-hover: rgba(232, 160, 32, 0.5);
    --auth-link-color:    #E8A020;
    --auth-link-hover:    #F5C842;
    --tab-selected-color: var(--geek-highlight);
    --comment-border:     #E8A020;

    /* Structural Variables */
    --theme-font-family:  'Plus Jakarta Sans', system-ui, -apple-system, sans-serif;
    --theme-font-heading: 'Plus Jakarta Sans', system-ui, sans-serif;
    --theme-font-weight-heading: 900;
    --theme-text-transform-heading: uppercase;
    --theme-letter-spacing-heading: 2px;
    --theme-border-radius-card: 16px;
    --theme-border-radius-control: 30px;
    --theme-border-radius-menu: 20px;
    --theme-box-shadow-card: 0 15px 35px rgba(0,0,0,0.4);
    --theme-card-bg-gradient: none;
    --theme-scanlines-opacity: 0.1;
    --theme-scanlines-pattern: repeating-linear-gradient(0deg, rgba(255,255,255,0.03) 0px, rgba(255,255,255,0.03) 1px, transparent 1px, transparent 2px);

    /* Fluent UI v5 Design Token Overrides */
    --fontFamilyBase:     var(--theme-font-family);
    --borderRadiusMedium: 6px;
}

/* ============================================================
   THEME: Ember
   Warm obsidian base + fire-orange passion
   ============================================================ */
[data-theme="ember"] {
    --geek-accent:        #FF6B35;
    --accent-base-color:  #FF6B35;
    --accent-text-color:  #ffffff;
    --geek-accent-rgb:    255, 107, 53;
    --geek-accent-light:  #FF9A6C;
    --geek-accent-alt:    #FF2D55;
    --geek-highlight:     #FFD23F;
    --geek-black:         #0a0806;
    --geek-dark-bg:       rgba(10, 8, 6, 0.75);
    --geek-nav-bg:        rgba(16, 10, 6, 0.8);
    --geek-header-bg:     rgba(16, 10, 6, 0.8);
    --geek-footer-bg:     rgba(10, 8, 6, 0.95);
    --geek-body-bg:       #100a06;

    --neon-glow:          0 0 15px rgba(255, 107, 53, 0.45);
    --neon-glow-strong:   0 0 28px rgba(255, 107, 53, 0.65);
    --glass-border:       1px solid rgba(255, 107, 53, 0.18);
    --glass-border-color: rgba(255, 107, 53, 0.18);
    --glass-active-bg:    rgba(255, 107, 53, 0.1);
    --glass-blur-value:   blur(25px);

    --nav-active-border:  var(--geek-highlight);
    --nav-active-color:   var(--geek-highlight);
    --nav-active-glow:    rgba(255, 210, 63, 0.4);
    --hub-nav-active-color: var(--geek-accent);
    --hub-nav-active-bg:    rgba(255, 107, 53, 0.1);
    --hub-nav-active-glow:  rgba(255, 107, 53, 0.2);

    --logo-orb-color:     #FF6B35;
    --pill-gradient:      linear-gradient(135deg, #FF6B35, #FF2D55);
    --pill-inner-bg:      #100a06;
    --metric-gradient:    linear-gradient(90deg, #FF6B35, #FFD23F);
    --auth-gradient:      radial-gradient(circle at center, rgba(255, 107, 53, 0.05) 0%, transparent 70%);
    --auth-btn-gradient:  linear-gradient(135deg, #FF6B35, #FF2D55);
    --auth-btn-shadow:    rgba(255, 107, 53, 0.3);
    --auth-btn-shadow-hover: rgba(255, 107, 53, 0.5);
    --auth-link-color:    #FF6B35;
    --auth-link-hover:    #FF9A6C;
    --tab-selected-color: var(--geek-highlight);
    --comment-border:     #FF6B35;

    /* Structural Variables */
    --theme-font-family:  'Plus Jakarta Sans', system-ui, -apple-system, sans-serif;
    --theme-font-heading: 'Plus Jakarta Sans', system-ui, sans-serif;
    --theme-font-weight-heading: 900;
    --theme-text-transform-heading: uppercase;
    --theme-letter-spacing-heading: 2px;
    --theme-border-radius-card: 16px;
    --theme-border-radius-control: 30px;
    --theme-border-radius-menu: 20px;
    --theme-box-shadow-card: 0 15px 35px rgba(0,0,0,0.4);
    --theme-card-bg-gradient: none;
    --theme-scanlines-opacity: 0.1;
    --theme-scanlines-pattern: repeating-linear-gradient(0deg, rgba(255,255,255,0.03) 0px, rgba(255,255,255,0.03) 1px, transparent 1px, transparent 2px);

    /* Fluent UI v5 Design Token Overrides */
    --fontFamilyBase:     var(--theme-font-family);
    --borderRadiusMedium: 6px;
}

/* ============================================================
   NEW THEME: The Criterion
   Film Editorial / Literary / Monochromatic Editorial
   ============================================================ */
[data-theme="criterion"] {
    --geek-accent:        #E5E5E5;
    --accent-base-color:  #E5E5E5;
    --accent-text-color:  #0A0A0A;
    --geek-accent-rgb:    229, 229, 229;
    --geek-accent-light:  #FFFFFF;
    --geek-accent-alt:    #999999;
    --geek-highlight:     #CCCCCC;
    --geek-black:         #0A0A0A;
    --geek-dark-bg:       #121212;
    --geek-nav-bg:        #181818;
    --geek-header-bg:     #121212;
    --geek-footer-bg:     #0A0A0A;
    --geek-body-bg:       #0d0c0a; /* Warm near-black film-stock background */

    --neon-glow:          none;
    --neon-glow-strong:   none;
    --glass-border:       1px solid #2A2A2A;
    --glass-border-color: #2A2A2A;
    --glass-active-bg:    #222222;
    --glass-blur-value:   none;

    --nav-active-border:  #FFFFFF;
    --nav-active-color:   #FFFFFF;
    --nav-active-glow:    none;
    --hub-nav-active-color: #FFFFFF;
    --hub-nav-active-bg:    #1E1E1E;
    --hub-nav-active-glow:  none;

    --logo-orb-color:     #E5E5E5;
    --pill-gradient:      none;
    --pill-inner-bg:      #121212;
    --metric-gradient:    linear-gradient(90deg, #555555, #CCCCCC);
    --auth-gradient:      none;
    --auth-btn-gradient:  none;
    --auth-btn-shadow:    none;
    --auth-btn-shadow-hover: none;
    --auth-link-color:    #CCCCCC;
    --auth-link-hover:    #FFFFFF;

    /* Structural Variables */
    --theme-font-family:  'Plus Jakarta Sans', system-ui, sans-serif;
    --theme-font-heading: 'DM Serif Display', Georgia, serif;
    --theme-font-weight-heading: 400;
    --theme-text-transform-heading: none;
    --theme-letter-spacing-heading: 0.5px;
    --theme-border-radius-card: 2px; /* Extremely sharp flat styling */
    --theme-border-radius-control: 2px;
    --theme-border-radius-menu: 2px;
    --theme-box-shadow-card: 0 4px 20px rgba(0,0,0,0.8);
    --theme-card-bg-gradient: none;
    --theme-scanlines-opacity: 0.03; /* Film grain texture instead of scanlines */
    --theme-scanlines-pattern: radial-gradient(circle, rgba(255,255,255,0.15) 1px, transparent 1px);

    /* Fluent UI v5 Design Token Overrides */
    --fontFamilyBase:     var(--theme-font-family);
    --borderRadiusMedium: 2px;
    --control-corner-radius: 2px;
}

/* ============================================================
   NEW THEME: The Marquee
   Art Deco Cinema / Classic Hollywood Red & Gold
   ============================================================ */
[data-theme="marquee"] {
    --geek-accent:        #D4AF37;
    --accent-base-color:  #D4AF37;
    --accent-text-color:  #0C0608; /* Metallic Gold */
    --geek-accent-rgb:    212, 175, 55;
    --geek-accent-light:  #F3E5AB;
    --geek-accent-alt:    #800020; /* Deep Burgundy Crimson */
    --geek-highlight:     #FFDF70;
    --geek-black:         #0C0608;
    --geek-dark-bg:       rgba(20, 6, 10, 0.85);
    --geek-nav-bg:        rgba(35, 10, 18, 0.9);
    --geek-header-bg:     rgba(35, 10, 18, 0.9);
    --geek-footer-bg:     rgba(15, 4, 7, 0.98);
    --geek-body-bg:       #16080C;

    --neon-glow:          0 0 12px rgba(212, 175, 55, 0.35);
    --neon-glow-strong:   0 0 25px rgba(212, 175, 55, 0.5);
    --glass-border:       1px solid rgba(212, 175, 55, 0.25);
    --glass-border-color: rgba(212, 175, 55, 0.25);
    --glass-active-bg:    rgba(212, 175, 55, 0.08);
    --glass-blur-value:   blur(15px);

    --nav-active-border:  var(--geek-accent);
    --nav-active-color:   var(--geek-accent-light);
    --nav-active-glow:    rgba(212, 175, 55, 0.3);
    --hub-nav-active-color: var(--geek-accent);
    --hub-nav-active-bg:    rgba(212, 175, 55, 0.08);
    --hub-nav-active-glow:  rgba(212, 175, 55, 0.15);

    --logo-orb-color:     #D4AF37;
    --pill-gradient:      linear-gradient(135deg, #D4AF37, #800020);
    --pill-inner-bg:      #16080C;
    --metric-gradient:    linear-gradient(90deg, #800020, #D4AF37);
    --auth-gradient:      radial-gradient(circle at center, rgba(128, 0, 32, 0.1) 0%, transparent 70%);
    --auth-btn-gradient:  linear-gradient(135deg, #D4AF37, #800020);
    --auth-btn-shadow:    rgba(128, 0, 32, 0.4);
    --auth-btn-shadow-hover: rgba(212, 175, 55, 0.4);
    --auth-link-color:    #D4AF37;
    --auth-link-hover:    #F3E5AB;
    --tab-selected-color: var(--geek-accent);
    --comment-border:     #D4AF37;

    /* Structural Variables */
    --theme-font-family:  'Plus Jakarta Sans', system-ui, sans-serif;
    --theme-font-heading: 'Bebas Neue', Impact, sans-serif;
    --theme-font-weight-heading: 400;
    --theme-text-transform-heading: uppercase;
    --theme-letter-spacing-heading: 3px;
    --theme-border-radius-card: 0px; /* Angular geometric art-deco style */
    --theme-border-radius-control: 0px;
    --theme-border-radius-menu: 0px;
    --theme-box-shadow-card: 0 10px 30px rgba(0,0,0,0.6), inset 0 0 15px rgba(212,175,55,0.05);
    --theme-card-bg-gradient: linear-gradient(180deg, rgba(30,10,15,0.5) 0%, rgba(15,5,8,0.8) 100%);
    --theme-scanlines-opacity: 0.12;
    --theme-scanlines-pattern: repeating-linear-gradient(90deg, rgba(212,175,55,0.02) 0px, rgba(212,175,55,0.02) 1px, transparent 1px, transparent 4px);

    /* Fluent UI v5 Design Token Overrides */
    --fontFamilyBase:     var(--theme-font-family);
    --borderRadiusMedium: 0px;
    --control-corner-radius: 0px;
}

/* ============================================================
   NEW THEME: The Reel
   Analog Cinephile / Kodak Warm Film Roll
   ============================================================ */
[data-theme="reel"] {
    --geek-accent:        #FF9F1C;
    --accent-base-color:  #FF9F1C;
    --accent-text-color:  #110B05; /* Kodachrome Gold/Orange */
    --geek-accent-rgb:    255, 159, 28;
    --geek-accent-light:  #FFBF69;
    --geek-accent-alt:    #2EC4B6; /* Teal complementary */
    --geek-highlight:     #CBF3F0;
    --geek-black:         #110B05;
    --geek-dark-bg:       rgba(25, 20, 15, 0.8);
    --geek-nav-bg:        rgba(35, 28, 20, 0.85);
    --geek-header-bg:     rgba(35, 28, 20, 0.85);
    --geek-footer-bg:     rgba(17, 11, 5, 0.96);
    --geek-body-bg:       #1C140E; /* Dark Sepia Warm Film Base */

    --neon-glow:          none;
    --neon-glow-strong:   none;
    --glass-border:       1px solid rgba(255, 159, 28, 0.2);
    --glass-border-color: rgba(255, 159, 28, 0.2);
    --glass-active-bg:    rgba(255, 159, 28, 0.1);
    --glass-blur-value:   blur(20px);

    --nav-active-border:  var(--geek-accent);
    --nav-active-color:   var(--geek-accent);
    --nav-active-glow:    none;
    --hub-nav-active-color: var(--geek-accent);
    --hub-nav-active-bg:    rgba(255, 159, 28, 0.08);
    --hub-nav-active-glow:  none;

    --logo-orb-color:     #FF9F1C;
    --pill-gradient:      linear-gradient(135deg, #FF9F1C, #2EC4B6);
    --pill-inner-bg:      #1C140E;
    --metric-gradient:    linear-gradient(90deg, #FF9F1C, #FFBF69);
    --auth-gradient:      radial-gradient(circle at center, rgba(255, 159, 28, 0.06) 0%, transparent 70%);
    --auth-btn-gradient:  linear-gradient(135deg, #FF9F1C, #FFBF69);
    --auth-btn-shadow:    rgba(255, 159, 28, 0.2);
    --auth-btn-shadow-hover: rgba(255, 159, 28, 0.35);
    --auth-link-color:    #FF9F1C;
    --auth-link-hover:    #FFBF69;
    --tab-selected-color: var(--geek-accent);
    --comment-border:     #FF9F1C;

    /* Structural Variables */
    --theme-font-family:  'Plus Jakarta Sans', system-ui, sans-serif;
    --theme-font-heading: 'Plus Jakarta Sans', system-ui, sans-serif;
    --theme-font-weight-heading: 800;
    --theme-text-transform-heading: uppercase;
    --theme-letter-spacing-heading: 1.5px;
    --theme-border-radius-card: 8px; /* Classic rounded soft look */
    --theme-border-radius-control: 8px;
    --theme-border-radius-menu: 12px;
    --theme-box-shadow-card: 0 12px 28px rgba(0,0,0,0.5);
    --theme-card-bg-gradient: none;
    --theme-scanlines-opacity: 0.04;
    --theme-scanlines-pattern: repeating-linear-gradient(0deg, rgba(255,159,28,0.03) 0px, rgba(255,159,28,0.03) 1px, transparent 1px, transparent 3px);

    /* Fluent UI v5 Design Token Overrides */
    --fontFamilyBase:     var(--theme-font-family);
    --borderRadiusMedium: 8px;
    --control-corner-radius: 8px;
}
