/* =========================================================================
   Seasonal & special-event theme overrides for the Abacus Robotics DS.

   - Each light theme: body[data-theme="X"]            (or no attr = default)
   - Each dark  theme: body[data-theme="X"][data-mode="dark"]
                       body[data-mode="dark"]          (default dark)

   Components reference only semantic vars (--accent, --bg, --fg, etc.)
   so a single attribute swap restyles every surface.
   ========================================================================= */


/* =========================================================================
   DEFAULT — DARK
   Warm orange anchor on a deep ink stage.
   ========================================================================= */
body[data-mode="dark"]:not([data-theme]),
body[data-theme="default"][data-mode="dark"] {
  --bg:               #14181F;
  --bg-elev:          #1F242E;
  --bg-sunken:        #0B0E14;
  --paper-warm:       #14181F;
  --paper:            #1F242E;
  --paper-warmer:     #2A3140;

  --fg:               #F5F1E8;
  --fg-muted:         #B8BCC4;
  --fg-subtle:        #8A8F99;
  --fg-inverse:       #14181F;
  --bg-inverse:       #F5F1E8;

  --border:           #2E3440;
  --border-strong:    #4A5260;
  --divider:          #262C36;

  --accent:           #FF7F00;
  --accent-deep:      #FFA040;
  --accent-soft:      #3A2516;
  --brand-orange-wash:#241710;

  --success:          #3FAF54;
  --warning:          #E0B43E;
  --danger:           #E84A40;
  --info:             #4A98E0;

  --shadow-xs: 0 1px 2px rgba(0,0,0,0.40);
  --shadow-sm: 0 2px 6px rgba(0,0,0,0.45), 0 1px 2px rgba(0,0,0,0.30);
  --shadow-md: 0 8px 20px -8px rgba(0,0,0,0.55), 0 2px 6px rgba(0,0,0,0.35);
  --shadow-lg: 0 24px 48px -20px rgba(0,0,0,0.60), 0 4px 10px rgba(0,0,0,0.40);
  --shadow-inset: inset 0 1px 0 rgba(255,255,255,0.04), inset 0 -1px 0 rgba(0,0,0,0.30);
}


/* =========================================================================
   SPRING — fresh leaf green on soft warm-grey paper
   ========================================================================= */
[data-theme="spring"] {
  --accent:               #4FAE5C;
  --accent-deep:          #2F7F3B;
  --accent-soft:          #DCEFD9;
  --brand-orange-wash:    #F1F8EF;

  --bg:                   #F2F1ED;   /* warm soft-grey paper */
  --bg-elev:              #FFFFFF;
  --bg-sunken:            #E7E6E1;
  --paper-warm:           #F2F1ED;
  --paper:                #FFFFFF;
  --paper-warmer:         #E7E6E1;

  --fg:                   #1A2418;
  --fg-muted:             #4A5A4C;
  --fg-subtle:            #6E7E70;

  --border:               #DCDBD5;
  --border-strong:        #BFBEB7;
  --divider:              #E5E4DF;

  --gear-yellow:          #F2C84B;
  --gear-yellow-deep:     #B58A12;
  --gear-red:             #E48BAA;   /* pastel pink replaces red */
  --gear-red-deep:        #B65478;
  --gear-blue:            #8FA6D6;   /* pastel lavender-blue */
  --gear-blue-deep:       #5E76A8;

  --info:                 #5E76A8;
  --warning:              #B58A12;
  --danger:               #B65478;
  --success:              #2F7F3B;

  --shadow-focus:         0 0 0 3px rgba(79, 174, 92, 0.32);
}
body[data-theme="spring"][data-mode="dark"] {
  --bg:               #14180F;
  --bg-elev:          #1D2418;
  --bg-sunken:        #0C0F08;
  --paper-warm:       #14180F;
  --paper:            #1D2418;
  --paper-warmer:     #262E20;

  --fg:               #EFF3EA;
  --fg-muted:         #B8C2B0;
  --fg-subtle:        #8C9686;

  --border:           #2A3322;
  --border-strong:    #475240;
  --divider:          #232B1C;

  --accent:           #6DCB7B;
  --accent-deep:      #99DFA5;
  --accent-soft:      #1F3522;
  --brand-orange-wash:#16221A;

  --success:          #6DCB7B;
  --warning:          #E0BF52;
  --danger:           #E885A8;
  --info:             #8FA6D6;

  --gear-yellow:      #F2C84B;
  --gear-red:         #E48BAA;
  --gear-blue:        #8FA6D6;
  --gear-yellow-deep: #FFE08A;
  --gear-red-deep:    #F5B5C8;
  --gear-blue-deep:   #B5C2E2;

  --shadow-focus:     0 0 0 3px rgba(109, 203, 123, 0.34);
}


/* =========================================================================
   SUMMER — sand, sky, ocean, beachball (LIGHT — unchanged)
   ========================================================================= */
[data-theme="summer"] {
  --accent:               #1FA0D8;
  --accent-deep:          #0C6FA0;
  --accent-soft:          #CFE8F4;
  --brand-orange-wash:    #EFF8FC;

  --bg:                   #FBF3DC;
  --bg-elev:              #FFFFFF;
  --bg-sunken:            #F3E8C8;
  --paper-warm:           #FBF3DC;
  --paper:                #FFFFFF;
  --paper-warmer:         #F3E8C8;

  --fg:                   #0F2A3D;
  --fg-muted:             #2F4D63;
  --fg-subtle:            #56708A;

  --border:               #E6D8AE;
  --border-strong:        #C9B98A;
  --divider:              #EFE2BC;

  --gear-yellow:          #FFC233;
  --gear-yellow-deep:     #B58510;
  --gear-red:             #E94B47;
  --gear-red-deep:        #B0231F;
  --gear-blue:            #2A8FB8;
  --gear-blue-deep:       #155F80;

  --info:                 #0C6FA0;
  --warning:              #B58510;
  --danger:               #B0231F;
  --success:              #2F8F3E;

  --shadow-focus:         0 0 0 3px rgba(31, 160, 216, 0.32);
}
body[data-theme="summer"][data-mode="dark"] {
  --bg:               #0B1F2E;        /* deep ocean at night */
  --bg-elev:          #14304A;
  --bg-sunken:        #061522;
  --paper-warm:       #0B1F2E;
  --paper:            #14304A;
  --paper-warmer:     #1F4060;

  --fg:               #F5EFD7;        /* warm sand text */
  --fg-muted:         #BAC8D6;
  --fg-subtle:        #8295A8;

  --border:           #1F3E5A;
  --border-strong:    #3A5E80;
  --divider:          #18334C;

  --accent:           #4ABDED;
  --accent-deep:      #88D7F5;
  --accent-soft:      #143B57;
  --brand-orange-wash:#0F2A40;

  --gear-yellow:      #FFC233;
  --gear-red:         #F26D6A;
  --gear-blue:        #4ABDED;
  --gear-yellow-deep: #FFD971;
  --gear-red-deep:    #F8A6A3;
  --gear-blue-deep:   #88D7F5;

  --success:          #3FAF54;
  --warning:          #E0B43E;
  --danger:           #E84A40;
  --info:             #4ABDED;

  --shadow-focus:     0 0 0 3px rgba(74, 189, 237, 0.34);
}


/* =========================================================================
   FALL — autumn leaves on cream (LIGHT — unchanged)
   ========================================================================= */
[data-theme="fall"] {
  --accent:               #C2511A;
  --accent-deep:          #8C3A0F;
  --accent-soft:          #F0D8C0;
  --brand-orange-wash:    #FAF1E6;

  --bg:                   #FAF4EA;
  --bg-elev:              #FFFFFF;
  --bg-sunken:            #F1E5D1;
  --paper-warm:           #FAF4EA;
  --paper:                #FFFFFF;
  --paper-warmer:         #F1E5D1;

  --fg:                   #2B1A0E;
  --fg-muted:             #5C4630;
  --fg-subtle:            #7E6647;

  --border:               #E6D5BC;
  --border-strong:        #C9B595;
  --divider:              #EEDFC5;

  --gear-yellow:          #D49327;
  --gear-yellow-deep:     #946514;
  --gear-red:             #A52A1F;
  --gear-red-deep:        #76190F;
  --gear-blue:            #6B5230;
  --gear-blue-deep:       #43321C;

  --info:                 #6B5230;
  --warning:              #946514;
  --danger:               #76190F;
  --success:              #5C7A2E;

  --shadow-focus:         0 0 0 3px rgba(194, 81, 26, 0.32);
}
body[data-theme="fall"][data-mode="dark"] {
  --bg:               #1B100A;        /* deep brown night */
  --bg-elev:          #2A1B0F;
  --bg-sunken:        #100804;
  --paper-warm:       #1B100A;
  --paper:            #2A1B0F;
  --paper-warmer:     #382514;

  --fg:               #F5E8D4;
  --fg-muted:         #BFA887;
  --fg-subtle:        #918068;

  --border:           #3A2918;
  --border-strong:    #5A4530;
  --divider:          #2F1F12;

  --accent:           #E26F2C;
  --accent-deep:      #F39C66;
  --accent-soft:      #3D1E0D;
  --brand-orange-wash:#241408;

  --gear-yellow:      #E5A933;
  --gear-red:         #D44A3F;
  --gear-blue:        #B5905A;        /* lit oak */
  --gear-yellow-deep: #F5C870;
  --gear-red-deep:    #ED8278;
  --gear-blue-deep:   #D6B689;

  --success:          #8FB85A;
  --warning:          #E0B43E;
  --danger:           #E84A40;
  --info:             #B5905A;

  --shadow-focus:     0 0 0 3px rgba(226, 111, 44, 0.34);
}


/* =========================================================================
   WINTER HOLIDAYS — snow, candy red accent, evergreen hover
   accent       = red
   accent-deep  = green
   accent-soft  = green
   semantic (success/warning/danger) = vibrant standard signals
   ========================================================================= */
[data-theme="winter_holidays"] {
  --accent:               #C8252A;          /* candy cane red */
  --accent-deep:          #1F5036;          /* evergreen — hover/press */
  --accent-soft:          #DCEFE0;          /* soft mint green */
  --brand-orange-wash:    #EEF7EF;

  --bg:                   #F7FAF8;          /* snow */
  --bg-elev:              #FFFFFF;
  --bg-sunken:            #EDF2EE;
  --paper-warm:           #F7FAF8;
  --paper:                #FFFFFF;
  --paper-warmer:         #EDF2EE;

  --fg:                   #0F2218;          /* deep evergreen ink */
  --fg-muted:             #355345;
  --fg-subtle:            #557566;

  --border:               #DDE6E0;
  --border-strong:        #BCCEC2;
  --divider:              #E6EDE8;

  --gear-yellow:          #C8A24E;          /* gold ornament */
  --gear-yellow-deep:     #8A6E1F;
  --gear-red:             #C8252A;
  --gear-red-deep:        #8E1818;
  --gear-blue:            #1F5036;          /* forest */
  --gear-blue-deep:       #0F3322;

  /* Semantic = standalone vibrant signals, NOT keyed to the holiday palette */
  --success:              #2F8F3E;          /* vibrant green */
  --warning:              #E0A82E;          /* vibrant yellow */
  --danger:               #D43027;          /* vibrant red */
  --info:                 #2A6FA8;

  --shadow-focus:         0 0 0 3px rgba(200, 37, 42, 0.32);
}
body[data-theme="winter_holidays"][data-mode="dark"] {
  --bg:               #0B1A12;              /* deep evergreen night */
  --bg-elev:          #14271C;
  --bg-sunken:        #06120B;
  --paper-warm:       #0B1A12;
  --paper:            #14271C;
  --paper-warmer:     #1C3526;

  --fg:               #F0F5F2;
  --fg-muted:         #B8C9BF;
  --fg-subtle:        #8AA095;

  --border:           #1F3A2A;
  --border-strong:    #3A5A48;
  --divider:          #18301F;

  --accent:           #E84A4F;              /* brighter red */
  --accent-deep:      #4FB070;              /* brighter evergreen */
  --accent-soft:      #1A3424;
  --brand-orange-wash:#102018;

  --gear-yellow:      #E5C04E;
  --gear-red:         #E84A4F;
  --gear-blue:        #4FB070;
  --gear-yellow-deep: #F5D880;
  --gear-red-deep:    #F58A8E;
  --gear-blue-deep:   #88D49E;

  --success:          #4FB070;
  --warning:          #E5C04E;
  --danger:           #E84A4F;
  --info:             #5FA0E0;

  --shadow-focus:     0 0 0 3px rgba(232, 74, 79, 0.34);
}


/* =========================================================================
   WINTER / NYE — frost blue & champagne, no green or red as anchors
   Status colors picked to read clearly against the cool palette.
   ========================================================================= */
[data-theme="winter_jan"] {
  --accent:               #3F6FAC;          /* frost blue */
  --accent-deep:          #25517D;
  --accent-soft:          #D8E4F1;
  --brand-orange-wash:    #EEF3F8;

  --bg:                   #F2F5F8;
  --bg-elev:              #FFFFFF;
  --bg-sunken:            #E6ECF2;
  --paper-warm:           #F2F5F8;
  --paper:                #FFFFFF;
  --paper-warmer:         #E6ECF2;

  --fg:                   #0F1722;
  --fg-muted:             #3F4A5C;
  --fg-subtle:            #6A7686;

  --border:               #D9DFE6;
  --border-strong:        #B8C2CC;
  --divider:              #E2E7ED;

  --gear-yellow:          #C9A24A;          /* champagne gold */
  --gear-yellow-deep:     #8E6E26;
  --gear-red:             #7C8898;          /* silver */
  --gear-red-deep:        #4F5C6E;
  --gear-blue:            #3F6FAC;
  --gear-blue-deep:       #25517D;

  /* Status colors tuned for cool palette — readable, slightly muted */
  --success:              #2E8F4F;          /* clean green */
  --warning:              #C99124;          /* amber, leans champagne */
  --danger:               #C0382F;          /* warm red, not pure red */
  --info:                 #3F6FAC;

  --shadow-focus:         0 0 0 3px rgba(63, 111, 172, 0.32);
}
body[data-theme="winter_jan"][data-mode="dark"] {
  --bg:               #0A1220;              /* midnight */
  --bg-elev:          #14202E;
  --bg-sunken:        #050A14;
  --paper-warm:       #0A1220;
  --paper:            #14202E;
  --paper-warmer:     #1F2C3D;

  --fg:               #E8EEF5;
  --fg-muted:         #B8C2D0;
  --fg-subtle:        #8593A3;

  --border:           #1F2C3D;
  --border-strong:    #3A4A60;
  --divider:          #18243A;

  --accent:           #6F9FD8;              /* moonlit blue */
  --accent-deep:      #A0C2E8;
  --accent-soft:      #1A2C44;
  --brand-orange-wash:#0F1A2C;

  --gear-yellow:      #E5C770;              /* lit champagne */
  --gear-red:         #A0AEC0;              /* lit silver */
  --gear-blue:        #6F9FD8;
  --gear-yellow-deep: #F5DE9E;
  --gear-red-deep:    #C5D0DE;
  --gear-blue-deep:   #A0C2E8;

  --success:          #4FB070;
  --warning:          #E5C770;
  --danger:           #E5544A;
  --info:             #6F9FD8;

  --shadow-focus:     0 0 0 3px rgba(111, 159, 216, 0.34);
}


/* =========================================================================
   HALLOWEEN — accent PURPLE; orange & black demoted to gear roles
   ========================================================================= */
[data-theme="halloween"] {
  --accent:               #6B3FA0;          /* tasteful witchy purple */
  --accent-deep:          #432670;
  --accent-soft:          #E5DAF1;
  --brand-orange-wash:    #F4EFFB;

  --bg:                   #F5F2EE;          /* warm bone */
  --bg-elev:              #FFFFFF;
  --bg-sunken:            #ECE6DC;
  --paper-warm:           #F5F2EE;
  --paper:                #FFFFFF;
  --paper-warmer:         #ECE6DC;

  --fg:                   #0A0A12;          /* black */
  --fg-muted:             #303040;
  --fg-subtle:            #555568;

  --border:               #DED7CB;
  --border-strong:        #B8B0A0;
  --divider:              #E6E0D5;

  --gear-yellow:          #E5A52A;          /* pumpkin amber */
  --gear-yellow-deep:     #9C6E0F;
  --gear-red:             #E76A0C;          /* pumpkin orange — gear */
  --gear-red-deep:        #B14905;
  --gear-blue:            #1A1422;          /* near-black */
  --gear-blue-deep:       #0A0A12;

  --info:                 #6B3FA0;
  --warning:              #9C6E0F;
  --danger:               #B14905;
  --success:              #5A7A2E;

  --shadow-focus:         0 0 0 3px rgba(107, 63, 160, 0.34);
}
body[data-theme="halloween"][data-mode="dark"] {
  --bg:               #0A0814;              /* haunted midnight */
  --bg-elev:          #15122A;
  --bg-sunken:        #050410;
  --paper-warm:       #0A0814;
  --paper:            #15122A;
  --paper-warmer:     #1F1A38;

  --fg:               #F0EDE5;
  --fg-muted:         #B8B2C8;
  --fg-subtle:        #888098;

  --border:           #251F40;
  --border-strong:    #3F365F;
  --divider:          #1C1733;

  --accent:           #A06FE0;              /* lit purple */
  --accent-deep:      #C8A0F5;
  --accent-soft:      #2A1A44;
  --brand-orange-wash:#1A1230;

  --gear-yellow:      #E5A52A;
  --gear-red:         #FF8528;              /* glowing pumpkin */
  --gear-blue:        #2A1F3F;
  --gear-yellow-deep: #F5C870;
  --gear-red-deep:    #FFAE6E;
  --gear-blue-deep:   #4A3D6E;

  --success:          #6DCB7B;
  --warning:          #E5A52A;
  --danger:           #FF8528;
  --info:             #A06FE0;

  --shadow-focus:     0 0 0 3px rgba(160, 111, 224, 0.36);
}


/* =========================================================================
   ROBOTICS — industrial cool grey + electric blue
   ========================================================================= */
[data-theme="robotics"] {
  --accent:               #1F6FEB;
  --accent-deep:          #0E4FB8;
  --accent-soft:          #D4E2FA;
  --brand-orange-wash:    #EEF3FD;

  --bg:                   #E8ECF1;          /* deliberately greyer */
  --bg-elev:              #FFFFFF;
  --bg-sunken:            #DCE1E8;
  --paper-warm:           #E8ECF1;
  --paper:                #FFFFFF;
  --paper-warmer:         #DCE1E8;

  --fg:                   #0C1422;
  --fg-muted:             #3B475A;
  --fg-subtle:            #6A778A;

  --border:               #CBD2DC;
  --border-strong:        #A4ADBB;
  --divider:              #D6DCE4;

  --gear-yellow:          #E5C13A;
  --gear-yellow-deep:     #9A7F0E;
  --gear-red:             #D44545;
  --gear-red-deep:        #9A1F1F;
  --gear-blue:            #1F6FEB;
  --gear-blue-deep:       #0E4FB8;

  --info:                 #1F6FEB;
  --warning:              #C99124;
  --danger:               #D43027;
  --success:              #1F8A5B;

  --shadow-focus:         0 0 0 3px rgba(31, 111, 235, 0.34);
}
body[data-theme="robotics"][data-mode="dark"] {
  --bg:               #0B1220;              /* server-rack dark */
  --bg-elev:          #131C2E;
  --bg-sunken:        #05080F;
  --paper-warm:       #0B1220;
  --paper:            #131C2E;
  --paper-warmer:     #1C2740;

  --fg:               #E8ECF2;
  --fg-muted:         #A8B2C2;
  --fg-subtle:        #7A8598;

  --border:           #1F2B40;
  --border-strong:    #3A4760;
  --divider:          #18223A;

  --accent:           #4A8EFA;              /* LED blue */
  --accent-deep:      #80B0FF;
  --accent-soft:      #14254A;
  --brand-orange-wash:#0F1A33;

  --gear-yellow:      #E5C13A;
  --gear-red:         #E85555;
  --gear-blue:        #4A8EFA;
  --gear-yellow-deep: #F5D870;
  --gear-red-deep:    #F58A8A;
  --gear-blue-deep:   #80B0FF;

  --success:          #3FAF54;
  --warning:          #E5C13A;
  --danger:           #E85555;
  --info:             #4A8EFA;

  --shadow-focus:     0 0 0 3px rgba(74, 142, 250, 0.34);
}


/* =========================================================================
   IRONMECHS — Abacus' competition team: orange + white, navy detail
   ========================================================================= */
[data-theme="ironmechs"] {
  --accent:               #FF7F00;
  --accent-deep:          #C24E00;
  --accent-soft:          #FFD9B3;
  --brand-orange-wash:    #FFF1E0;

  --bg:                   #FFFFFF;
  --bg-elev:              #FAF8F4;
  --bg-sunken:            #F1ECE2;
  --paper-warm:           #FFFFFF;
  --paper:                #FAF8F4;
  --paper-warmer:         #F1ECE2;

  --fg:                   #14110D;
  --fg-muted:             #3A332B;
  --fg-subtle:            #6A6055;

  --border:               #1F1A12;          /* heavy industrial stroke */
  --border-strong:        #14110D;
  --divider:              #E2DCD0;

  --gear-yellow:          #FFC000;
  --gear-yellow-deep:     #946D00;
  --gear-red:             #D63A2A;          /* proper team red */
  --gear-red-deep:        #9A1F14;
  --gear-blue:            #0A2A5C;          /* navy */
  --gear-blue-deep:       #051A3D;

  --info:                 #0A2A5C;
  --warning:              #946D00;
  --danger:               #B11A00;
  --success:              #1F8A5B;

  --shadow-focus:         0 0 0 3px rgba(255, 127, 0, 0.40);
}
body[data-theme="ironmechs"][data-mode="dark"] {
  --bg:               #14110D;              /* warm carbon */
  --bg-elev:          #1F1A12;
  --bg-sunken:        #0A0805;
  --paper-warm:       #14110D;
  --paper:            #1F1A12;
  --paper-warmer:     #2A241A;

  --fg:               #FAF8F4;
  --fg-muted:         #C0B8AA;
  --fg-subtle:        #8E8576;

  --border:           #FAF8F4;              /* white industrial stroke on dark */
  --border-strong:    #FFFFFF;
  --divider:          #2A241A;

  --accent:           #FF8E1A;
  --accent-deep:      #FFB166;
  --accent-soft:      #3A2410;
  --brand-orange-wash:#241710;

  --gear-yellow:      #FFC000;
  --gear-red:         #E85A4A;
  --gear-blue:        #4A7EC7;              /* lit navy */
  --gear-yellow-deep: #FFD960;
  --gear-red-deep:    #F58A7E;
  --gear-blue-deep:   #80A8E0;

  --success:          #3FAF54;
  --warning:          #E5C13A;
  --danger:           #E85A4A;
  --info:             #4A7EC7;

  --shadow-focus:     0 0 0 3px rgba(255, 142, 26, 0.42);
}
