/* ═══════════════════════════════════════════════════
   КРИСТАЛЛ · v11.0.0 · Ивент-темы (накладываются)
   ═══════════════════════════════════════════════════ */
.snow-layer,.halloween-layer{display:none}

[data-theme="halloween"]{
  --blue:#d97706;--blue-soft:rgba(217,119,6,0.10);--blue-line:rgba(217,119,6,0.30);--blue-strong:#b45309;
  --cyan:#be185d;--cyan-soft:rgba(190,24,93,0.10);--cyan-line:rgba(190,24,93,0.28);
  --grad-blue:linear-gradient(135deg,#f59e0b,#d97706);
  --grad-hero:linear-gradient(135deg,#d97706 0%,#be185d 50%,#7c3aed 100%)
}
[data-theme="halloween"] .bg-layer{background:radial-gradient(ellipse 60% 50% at 10% 0%,rgba(217,119,6,0.10),transparent 70%),radial-gradient(ellipse 50% 60% at 90% 100%,rgba(124,58,237,0.08),transparent 70%),linear-gradient(180deg,#fdf6ee 0%,#f7f1fc 50%,#f5f8fc 100%)}
[data-theme="halloween"] .brand-mark{background:linear-gradient(135deg,#f59e0b,#be185d)}
[data-theme="halloween"] .halloween-layer{display:block}
.halloween-layer{position:fixed;inset:0;pointer-events:none;z-index:1;overflow:hidden}
.hw-bat{position:absolute;font-size:22px;opacity:.5;animation:hwBatFly linear infinite;will-change:transform}
@keyframes hwBatFly{0%{transform:translate3d(-10vw,0,0) scale(1);opacity:0}10%{opacity:.7}50%{transform:translate3d(60vw,var(--batY,0),0) scale(var(--batScale,1)) rotate(-8deg);opacity:.7}90%{opacity:.5}100%{transform:translate3d(120vw,calc(var(--batY,0)*-1),0) scale(1);opacity:0}}
.hw-ghost{position:absolute;font-size:26px;opacity:.4;animation:hwGhostRise ease-in-out infinite;will-change:transform,opacity}
@keyframes hwGhostRise{0%{transform:translate3d(0,0,0) scale(.9);opacity:0}15%{opacity:.5}50%{transform:translate3d(var(--ghostDrift,0),-50vh,0) scale(1.05);opacity:.4}85%{opacity:.25}100%{transform:translate3d(calc(var(--ghostDrift,0)*-1),-110vh,0) scale(.85);opacity:0}}
.hw-pumpkin{position:absolute;font-size:44px;opacity:.35;animation:hwPumpkinBob 5s ease-in-out infinite}
.hw-pumpkin.tl{top:90px;left:30px}.hw-pumpkin.tr{top:90px;right:30px;animation-delay:.8s}
.hw-pumpkin.bl{bottom:40px;left:30px;animation-delay:1.6s}.hw-pumpkin.br{bottom:40px;right:30px;animation-delay:2.4s}
@keyframes hwPumpkinBob{0%,100%{transform:translateY(0) rotate(-3deg)}50%{transform:translateY(-10px) rotate(3deg)}}

[data-theme="newyear"]{
  --blue:#0284c7;--blue-soft:rgba(2,132,199,0.10);--blue-line:rgba(2,132,199,0.30);--blue-strong:#0369a1;
  --cyan:#7c3aed;--grad-blue:linear-gradient(135deg,#38bdf8,#7c3aed);
  --grad-hero:linear-gradient(135deg,#38bdf8 0%,#a78bfa 50%,#f0abfc 100%)
}
[data-theme="newyear"] .bg-layer{background:radial-gradient(ellipse 60% 50% at 10% 0%,rgba(56,189,248,0.10),transparent 70%),radial-gradient(ellipse 50% 60% at 90% 100%,rgba(167,139,250,0.08),transparent 70%),linear-gradient(180deg,#f0f9ff 0%,#f5f3ff 50%,#f5f8fc 100%)}
[data-theme="newyear"] .brand-mark{background:linear-gradient(135deg,#38bdf8,#7c3aed)}
[data-theme="newyear"] .snow-layer{display:block}
.snow-layer{position:fixed;inset:0;pointer-events:none;z-index:1;overflow:hidden}
.snowflake{position:absolute;color:#0284c7;top:-20px;opacity:.5;animation:snowFall linear infinite;will-change:transform}
@keyframes snowFall{0%{transform:translate3d(0,0,0) rotate(0deg);opacity:0}10%{opacity:.6}90%{opacity:.6}100%{transform:translate3d(var(--snowDrift,40px),105vh,0) rotate(360deg);opacity:0}}

[data-theme="easter"]{
  --blue:#be185d;--blue-soft:rgba(190,24,93,0.10);--blue-line:rgba(190,24,93,0.28);--blue-strong:#9d174d;
  --cyan:#059669;--grad-blue:linear-gradient(135deg,#f472b6,#fbbf24);
  --grad-hero:linear-gradient(135deg,#f472b6 0%,#fbbf24 50%,#34d399 100%)
}
[data-theme="easter"] .bg-layer{background:radial-gradient(ellipse 60% 50% at 10% 0%,rgba(244,114,182,0.08),transparent 70%),radial-gradient(ellipse 50% 60% at 90% 100%,rgba(52,211,153,0.06),transparent 70%),linear-gradient(180deg,#fdf2f8 0%,#ecfdf5 50%,#f5f8fc 100%)}
[data-theme="easter"] .brand-mark{background:linear-gradient(135deg,#f472b6,#fbbf24)}

@media (prefers-reduced-motion:reduce){
  .hw-bat,.hw-ghost,.hw-pumpkin,.snowflake{animation-duration:0.01ms !important;animation-iteration-count:1 !important}
  .halloween-layer,.snow-layer{display:none !important}
}
@media (max-width:768px){.hw-pumpkin{font-size:32px !important}.hw-ghost{font-size:20px !important}}