/* Seasonal themes -- switched by <html data-theme="halloween|christmas">.
   Default (no attribute / "default") leaves the normal look untouched. */

html[data-theme="halloween"]{
  --bg:#120A1C; --bg-soft:#1A0F28; --line:#41265A;
  --accent:#FF7A1A; --accent-ink:#3A1800;
  --gold:#FFC145; --mint:#9BFF5A; --sky:#B07CFF; --coral:#FF5A1F;
  --muted:#CDB8EA; --danger:#6A3FA0;
  --accent-rgb:255,122,26; --accent-hi:#FF8F3A; --accent-mid:#FFA45C; --accent-lo:#D95A00;
  --intro-1:#1A0D10; --intro-2:#3A1A08;
  --surface:#FFF6EA; --surface-2:#FFE3C2;
}
html[data-theme="halloween"] body{
  background:
    radial-gradient(1200px 600px at 10% -10%, #3A1A55 0%, transparent 60%),
    radial-gradient(900px 500px at 110% 10%, #4A230F 0%, transparent 55%),
    var(--bg);
}

html[data-theme="christmas"]{
  --bg:#0D1F1B; --bg-soft:#12291F; --line:#27503F;
  --accent:#E8334A; --accent-ink:#40070F;
  --gold:#FFD166; --mint:#3DDC84; --sky:#9AD7FF; --coral:#FF6B5C;
  --muted:#BEDCCF; --danger:#4F6F61;
  --accent-rgb:232,51,74; --accent-hi:#F24C62; --accent-mid:#F7707F; --accent-lo:#B8223A;
  --intro-1:#0B1A14; --intro-2:#16402F;
  --surface:#FFFBF6; --surface-2:#FFE6E6;
}
html[data-theme="christmas"] body{
  background:
    radial-gradient(1200px 600px at 10% -10%, #1C4A38 0%, transparent 60%),
    radial-gradient(900px 500px at 110% 10%, #4A1620 0%, transparent 55%),
    var(--bg);
}

/* Gentle floating decorations (added by theme.js). Slow, transform-only,
   no flashing; switched off for reduced-motion, Android and while dragging. */
#pp-theme-fx{
  position:fixed; inset:0; z-index:1; pointer-events:none; overflow:hidden;
}
#pp-theme-fx span{
  position:absolute; top:-40px; display:block; line-height:1;
  opacity:.55; will-change:transform;
  animation:pp-fall linear infinite;
}
@keyframes pp-fall{
  0%{transform:translate3d(0,-40px,0) rotate(0deg);}
  50%{transform:translate3d(24px,50vh,0) rotate(90deg);}
  100%{transform:translate3d(-12px,calc(100vh + 40px),0) rotate(180deg);}
}
html.card-dragging #pp-theme-fx span{animation-play-state:paused;}
@media (prefers-reduced-motion: reduce){ #pp-theme-fx{display:none;} }
