/* ============================================================
   ROTHY × HALLOWEEN THEME
   Подключается после style.css. Чтобы отключить — уберите
   <link> и <script> halloween.* в templates/base.html
   ============================================================ */
:root{
  --hw-pumpkin:#ff7a1a;
  --hw-pumpkin2:#ffb347;
  --hw-purple:#9b4dff;
  --hw-purple-d:#2a0f4a;
  --hw-slime:#8dff4f;
  --hw-blood:#d4142f;
  --hw-bone:#f6ecd6;
  --orange:#ff7a1a;
  --orange2:#ffb347;
  --green:#8dff4f;
  --line:#2f2142;
}

/* ---------- ФОН: туман, луна, паутина-сетка ---------- */
body{
  background:
    radial-gradient(ellipse 60% 40% at 78% -5%,rgba(155,77,255,.34),transparent 70%),
    radial-gradient(ellipse 50% 40% at 8% 100%,rgba(255,122,26,.22),transparent 70%),
    repeating-linear-gradient(0deg,rgba(155,77,255,.07) 0,rgba(155,77,255,.07) 1px,transparent 1px,transparent 48px),
    repeating-linear-gradient(90deg,rgba(155,77,255,.07) 0,rgba(155,77,255,.07) 1px,transparent 1px,transparent 48px),
    #0a0612 !important;
  background-attachment:fixed !important;
  color:var(--hw-bone);
}
body::before{ /* луна */
  content:"";position:fixed;top:70px;right:7vw;width:150px;height:150px;border-radius:50%;
  background:radial-gradient(circle at 36% 34%,#fffbe8 0,#f6e7b0 38%,#d9c27c 70%,#b99e55 100%);
  box-shadow:0 0 60px 20px rgba(255,236,170,.25),0 0 180px 80px rgba(155,77,255,.18);
  opacity:.16;z-index:0;pointer-events:none;animation:hw-moon 9s ease-in-out infinite;
}
body::after{ /* туман */
  content:"";position:fixed;left:-20%;right:-20%;bottom:-10px;height:38vh;z-index:0;pointer-events:none;
  background:
    radial-gradient(ellipse 30% 60% at 20% 100%,rgba(155,77,255,.20),transparent 70%),
    radial-gradient(ellipse 35% 50% at 55% 100%,rgba(255,122,26,.14),transparent 70%),
    radial-gradient(ellipse 30% 60% at 85% 100%,rgba(141,255,79,.09),transparent 70%);
  animation:hw-fog 18s ease-in-out infinite alternate;filter:blur(8px);
}
.page,.sidebar{position:relative;z-index:2}
.sidebar{position:fixed}
@keyframes hw-moon{0%,100%{opacity:.14;transform:translateY(0)}50%{opacity:.22;transform:translateY(8px)}}
@keyframes hw-fog{from{transform:translateX(-4%)}to{transform:translateX(4%)}}

/* canvas с летучими мышами и искрами */
#hw-canvas{position:fixed;inset:0;width:100%;height:100%;z-index:1;pointer-events:none}

/* вспышка молнии */
#hw-flash{position:fixed;inset:0;z-index:9998;pointer-events:none;background:#d9c2ff;opacity:0}
#hw-flash.on{animation:hw-lightning .9s ease-out}
@keyframes hw-lightning{0%{opacity:0}6%{opacity:.34}12%{opacity:.05}20%{opacity:.26}100%{opacity:0}}

/* ---------- САЙДБАР ---------- */
.sidebar{
  background:linear-gradient(180deg,#12081f 0,#0a0612 60%,#130a08 100%) !important;
  border-right:1px solid #3a2559 !important;
  box-shadow:6px 0 40px rgba(155,77,255,.14);
}
.sidebar::after{ /* светящаяся граница */
  content:"";position:absolute;top:0;right:-1px;width:1px;height:100%;
  background:linear-gradient(180deg,transparent,var(--hw-purple),var(--hw-pumpkin),transparent);
  opacity:.7;animation:hw-edge 5s linear infinite;background-size:100% 300%;
}
@keyframes hw-edge{from{background-position:0 0}to{background-position:0 300%}}
.logo{display:flex !important;align-items:center;gap:10px}
.logo img{filter:drop-shadow(0 0 8px rgba(255,122,26,.7)) hue-rotate(-8deg);animation:hw-bob 3.6s ease-in-out infinite}
.logo span{text-shadow:0 0 18px rgba(255,122,26,.55);animation:hw-flicker 5s infinite}
.logo b,.mobile-logo b{color:var(--hw-pumpkin) !important;text-shadow:0 0 12px var(--hw-pumpkin)}
.side-label{color:#7b5aa8 !important}
.side-link{position:relative;overflow:hidden;transition:transform .25s,background .25s,color .25s,box-shadow .25s}
.side-link::before{
  content:"";position:absolute;left:0;top:15%;bottom:15%;width:3px;border-radius:3px;
  background:linear-gradient(var(--hw-pumpkin),var(--hw-purple));transform:scaleY(0);transition:transform .25s;
}
.side-link:hover{background:linear-gradient(90deg,rgba(155,77,255,.22),transparent) !important;transform:translateX(5px);color:#fff !important}
.side-link:hover::before,.side-link.active::before{transform:scaleY(1)}
.side-link.active{background:linear-gradient(90deg,rgba(255,122,26,.22),transparent) !important;color:#fff !important}
.side-link i{display:inline-block;transition:transform .3s}
.side-link:hover i{animation:hw-wiggle .5s}
.side-notify{animation:hw-pulse 1.2s infinite}
.sidebar-bottom{border-top:1px solid #3a2559 !important;color:#8a67b8 !important;position:relative}
.sidebar-bottom::before{content:"🦇  🕸️  🎃  👻  💀";display:block;letter-spacing:4px;font-size:15px;margin-bottom:8px;opacity:.85}

/* ---------- ШАПКА ---------- */
.topbar{
  background:rgba(14,7,24,.82) !important;border-bottom:1px solid #3a2559 !important;
  box-shadow:0 8px 30px rgba(0,0,0,.45);
}
.topbar::after{ /* лавовая линия под шапкой */
  content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;
  background:linear-gradient(90deg,transparent,var(--hw-purple),var(--hw-pumpkin),var(--hw-slime),var(--hw-pumpkin),var(--hw-purple),transparent);
  background-size:200% 100%;animation:hw-slide 6s linear infinite;opacity:.85;
}
@keyframes hw-slide{from{background-position:0 0}to{background-position:200% 0}}
.coin-pill{box-shadow:0 0 14px rgba(255,122,26,.35);animation:hw-glow 2.6s ease-in-out infinite}

/* ---------- ЗАГОЛОВКИ ---------- */
h1{
  background:linear-gradient(100deg,#fff 0,var(--hw-pumpkin2) 35%,var(--hw-pumpkin) 60%,var(--hw-purple) 100%);
  background-size:200% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;
  filter:drop-shadow(0 0 22px rgba(255,122,26,.35));animation:hw-hue 7s ease-in-out infinite alternate;
}
@keyframes hw-hue{from{background-position:0 0}to{background-position:100% 0}}
.eyebrow{color:var(--hw-slime) !important;text-shadow:0 0 10px rgba(141,255,79,.55)}
.eyebrow::before{content:"🎃 ";letter-spacing:0}
.subline{color:#a18bc7}

/* ---------- HERO ---------- */
.hero-art{
  position:relative;overflow:hidden;border:1px solid #4a2d70 !important;
  background:radial-gradient(circle at 50% 40%,rgba(255,122,26,.30),transparent 52%),linear-gradient(160deg,#1c0d33,#0b0714) !important;
  box-shadow:0 0 60px rgba(155,77,255,.28),0 35px 100px #000 !important;
}
.hero-art strong{
  position:relative;z-index:2;color:var(--hw-bone) !important;
  text-shadow:0 0 30px var(--hw-pumpkin),0 0 70px rgba(255,122,26,.6) !important;
  animation:hw-flicker 4s infinite;
}
.hero-art span,.hero-art small{position:relative;z-index:2;color:#bfa4e8 !important}
#hw-pumpkin{
  position:absolute;left:50%;top:50%;width:300px;height:300px;margin:-150px 0 0 -150px;z-index:1;
  opacity:.32;filter:drop-shadow(0 0 30px rgba(255,122,26,.7));animation:hw-float 5s ease-in-out infinite;pointer-events:none;
}
.hero-art:hover #hw-pumpkin{opacity:.5;animation-duration:2s}
.hero-art::after{ /* мерцающие светлячки */
  content:"";position:absolute;inset:0;z-index:1;pointer-events:none;
  background-image:radial-gradient(2px 2px at 15% 25%,var(--hw-slime),transparent),radial-gradient(2px 2px at 80% 20%,var(--hw-pumpkin2),transparent),
    radial-gradient(2px 2px at 30% 78%,var(--hw-pumpkin2),transparent),radial-gradient(2px 2px at 72% 70%,var(--hw-slime),transparent),
    radial-gradient(3px 3px at 52% 12%,#fff,transparent),radial-gradient(2px 2px at 90% 55%,var(--hw-purple),transparent);
  animation:hw-twinkle 3s ease-in-out infinite alternate;
}
@keyframes hw-twinkle{from{opacity:.25}to{opacity:1}}

/* ---------- КНОПКИ ---------- */
.btn,button.btn{
  position:relative;overflow:hidden;
  background:linear-gradient(135deg,#ff5a00,var(--hw-pumpkin2)) !important;color:#1a0a00 !important;
  box-shadow:0 0 0 rgba(255,122,26,0),0 6px 22px rgba(255,90,0,.35);
  transition:transform .2s,box-shadow .25s;letter-spacing:.3px;
}
.btn::after{
  content:"";position:absolute;top:0;left:-80%;width:50%;height:100%;
  background:linear-gradient(100deg,transparent,rgba(255,255,255,.55),transparent);transform:skewX(-20deg);
}
.btn:hover{transform:translateY(-2px) scale(1.04);box-shadow:0 0 28px rgba(255,122,26,.8),0 8px 28px rgba(155,77,255,.5)}
.btn:hover::after{animation:hw-shine .7s}
.btn:active{transform:scale(.97)}
@keyframes hw-shine{to{left:140%}}
.danger{box-shadow:0 0 14px rgba(212,20,47,.4)}
.danger:hover{animation:hw-shake .4s}

/* ---------- ПАНЕЛИ / КАРТОЧКИ ---------- */
.panel,.product,.game-card,.admin-card,.rating-panel,.match-player-card,.inventory-item,.stat{
  border-color:#33224d !important;
}
.panel{
  position:relative;
  background:linear-gradient(180deg,rgba(26,14,44,.92),rgba(12,7,20,.95)) !important;
  box-shadow:0 10px 30px rgba(0,0,0,.4);
}
.panel::before{ /* тающая слизь сверху */
  content:"";position:absolute;left:14px;right:14px;top:-1px;height:3px;border-radius:0 0 4px 4px;
  background:linear-gradient(90deg,transparent,var(--hw-slime),transparent);opacity:.0;transition:opacity .3s;
}
.panel:hover{border-color:#6c3fb0 !important;box-shadow:0 0 30px rgba(155,77,255,.22),0 10px 30px rgba(0,0,0,.4)}
.panel:hover::before{opacity:.9}
.product,.game-card,.inventory-item,.match-player-card,.leader-row{transition:transform .25s,box-shadow .25s,border-color .25s}
.product:hover,.game-card:hover,.inventory-item:hover{
  transform:translateY(-6px) rotate(-.6deg);box-shadow:0 18px 40px rgba(155,77,255,.3),0 0 24px rgba(255,122,26,.25);border-color:var(--hw-pumpkin) !important;
}
.leader-row:hover,.row-link:hover{transform:translateX(6px);background:linear-gradient(90deg,rgba(255,122,26,.12),transparent) !important}
.row b{color:var(--hw-pumpkin2)}

/* появление блоков */
.hw-reveal{opacity:0;transform:translateY(26px) scale(.98);transition:opacity .7s cubic-bezier(.2,.8,.2,1),transform .7s cubic-bezier(.2,.8,.2,1)}
.hw-reveal.in{opacity:1;transform:none}

/* ---------- ФОРМЫ ---------- */
input,textarea,select{
  background:#0b0613 !important;border:1px solid #3a2559 !important;color:var(--hw-bone) !important;transition:border-color .2s,box-shadow .2s;
}
input:focus,textarea:focus,select:focus{outline:none;border-color:var(--hw-pumpkin) !important;box-shadow:0 0 0 3px rgba(255,122,26,.2),0 0 20px rgba(255,122,26,.3)}
.role-picker label input:checked + span{border-color:var(--hw-pumpkin) !important;box-shadow:0 0 22px rgba(255,122,26,.45);background:rgba(255,122,26,.1)}
.role-picker label span{transition:transform .2s,border-color .2s,box-shadow .2s}
.role-picker label:hover span{transform:translateY(-3px);border-color:var(--hw-purple)}
.auth{position:relative}
.auth::after{content:"🕸️";position:absolute;top:-6px;right:-4px;font-size:54px;opacity:.5;pointer-events:none;transform:rotate(15deg)}

.flash{background:#1b0f2e !important;border-color:var(--hw-purple) !important;color:var(--hw-bone);box-shadow:0 0 18px rgba(155,77,255,.3);animation:hw-drop .6s cubic-bezier(.3,1.5,.5,1)}
@keyframes hw-drop{from{transform:translateY(-30px);opacity:0}to{transform:none;opacity:1}}
.error{box-shadow:0 0 16px rgba(212,20,47,.4);animation:hw-shake .5s}

/* ---------- ФУТЕР: кладбище ---------- */
footer{position:relative;border-top:1px solid #3a2559 !important;color:#8a67b8 !important;padding-top:70px !important;overflow:hidden}
footer::before{
  content:"🪦      🎃      🪦  🕯️  🪦      💀      🪦      🎃      🪦";
  position:absolute;left:0;right:0;top:12px;text-align:center;font-size:30px;white-space:nowrap;opacity:.55;letter-spacing:2px;
  animation:hw-bob 5s ease-in-out infinite;
}

/* ---------- ПАУК НА НИТКЕ ---------- */
#hw-spider{position:fixed;top:0;left:250px;width:60px;z-index:30;pointer-events:none;transform-origin:top center;animation:hw-sway 4s ease-in-out infinite}
#hw-spider .thread{width:1px;height:var(--len,90px);margin:0 auto;background:linear-gradient(#cdb8f5,#8a67b8);animation:hw-drop-spider 7s ease-in-out infinite}
#hw-spider .bug{font-size:34px;text-align:center;line-height:1;margin-top:-4px;filter:drop-shadow(0 4px 6px #000)}
@keyframes hw-sway{0%,100%{transform:rotate(-5deg)}50%{transform:rotate(5deg)}}
@keyframes hw-drop-spider{0%,100%{height:60px}50%{height:150px}}

/* паутины в углах */
.hw-web{position:fixed;width:170px;height:170px;z-index:25;pointer-events:none;opacity:.5}
.hw-web.tl{top:64px;left:230px}
.hw-web.br{bottom:0;right:0;transform:rotate(180deg)}

/* ---------- ПЕРЕКЛЮЧАТЕЛЬ ---------- */
#hw-toggle{
  position:fixed;right:18px;bottom:18px;z-index:9999;width:48px;height:48px;border-radius:50%;
  border:2px solid var(--hw-pumpkin);background:#1a0d2e;font-size:24px;cursor:pointer;line-height:1;
  box-shadow:0 0 20px rgba(255,122,26,.6);animation:hw-glow 2.4s infinite;transition:transform .2s;
}
#hw-toggle:hover{transform:scale(1.15) rotate(12deg)}
html.hw-off #hw-canvas,html.hw-off #hw-spider,html.hw-off .hw-web,html.hw-off #hw-flash,html.hw-off #hw-pumpkin{display:none !important}
html.hw-off body::before,html.hw-off body::after{display:none}

/* ---------- ОБЩИЕ KEYFRAMES ---------- */
@keyframes hw-flicker{0%,18%,22%,25%,53%,57%,100%{opacity:1}20%,24%,55%{opacity:.72}}
@keyframes hw-bob{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}
@keyframes hw-float{0%,100%{transform:translateY(0) rotate(-3deg)}50%{transform:translateY(-14px) rotate(3deg)}}
@keyframes hw-wiggle{0%,100%{transform:rotate(0)}25%{transform:rotate(-18deg) scale(1.2)}75%{transform:rotate(18deg) scale(1.2)}}
@keyframes hw-pulse{0%,100%{transform:scale(1);opacity:1}50%{transform:scale(1.2);opacity:.7}}
@keyframes hw-glow{0%,100%{box-shadow:0 0 10px rgba(255,122,26,.35)}50%{box-shadow:0 0 26px rgba(255,122,26,.85)}}
@keyframes hw-shake{0%,100%{transform:translateX(0)}20%{transform:translateX(-5px)}40%{transform:translateX(5px)}60%{transform:translateX(-4px)}80%{transform:translateX(4px)}}

/* уважаем настройки «уменьшить анимацию» */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001s !important;animation-iteration-count:1 !important;transition-duration:.001s !important}
  #hw-canvas,#hw-spider{display:none}
}
/* барабан ежедневного кейса — основной элемент геймплея, его анимация не должна отключаться */
.daily-case-reel{transition-duration:5.2s !important}
@media (max-width:900px){
  .hw-web,#hw-spider,body::before{display:none}
}


/* ============================================================
   ХЭЛЛОУИНСКИЕ ЗНАЧКИ: HELPER / TESTER / ADMIN / VIP / галочка
   ============================================================ */
.support-badge,.vip-mini,.vip-lite,.vip-plus{
  position:relative;overflow:hidden;display:inline-flex !important;align-items:center;gap:4px;
  font-weight:900;letter-spacing:.8px;border:1px solid transparent;text-shadow:0 1px 2px rgba(0,0,0,.6);
}
.support-badge::before,.vip-mini::before{font-size:1.15em;line-height:1;filter:drop-shadow(0 0 3px rgba(0,0,0,.6))}
/* блик, пробегающий по значку */
.support-badge::after,.vip-mini::after{
  content:"";position:absolute;top:0;left:-70%;width:45%;height:100%;pointer-events:none;
  background:linear-gradient(100deg,transparent,rgba(255,255,255,.55),transparent);transform:skewX(-20deg);
  animation:hw-badge-shine 4.5s ease-in-out infinite;
}
@keyframes hw-badge-shine{0%,60%{left:-70%}100%{left:140%}}

/* HELPER — призрак, ядовито-зелёная слизь */
.support-helper{
  background:linear-gradient(135deg,#1c5a12,#58c92b 55%,#b8ff7a) !important;color:#07200a !important;text-shadow:none;
  border-color:#b8ff7a;box-shadow:0 0 12px rgba(141,255,79,.55);
}
.support-helper::before{content:"👻"}
/* TESTER — зелье, мистический фиолетовый */
.support-tester{
  background:linear-gradient(135deg,#1a0833,#5b1fb0 55%,#b57bff) !important;color:#f1e4ff !important;
  border-color:#b57bff;box-shadow:0 0 12px rgba(155,77,255,.7);
}
.support-tester::before{content:"🧪"}
/* ADMIN — череп, кроваво-красный, пульсирует */
.support-admin{
  background:linear-gradient(135deg,#4a0008,#c80f2e 55%,#ff5a3c) !important;color:#fff !important;
  border-color:#ff7a5c;box-shadow:0 0 14px rgba(212,20,47,.85);animation:hw-admin 1.8s ease-in-out infinite;
}
.support-admin::before{content:"💀"}
@keyframes hw-admin{0%,100%{box-shadow:0 0 8px rgba(212,20,47,.6)}50%{box-shadow:0 0 22px rgba(255,60,40,1),0 0 4px #fff inset}}

/* VIP LITE — летучая мышь, лунное серебро */
.vip-mini.silver,.vip-lite{
  background:linear-gradient(135deg,#2b2540,#8e86b3 50%,#e9e4ff) !important;color:#17112b !important;
  border-color:#e9e4ff;box-shadow:0 0 12px rgba(200,190,255,.5);text-shadow:none;
}
.vip-mini.silver::before{content:"🦇"}
/* VIP PLUS (ROTHY PLUS) — золотая тыква */
.vip-mini.gold,.vip-plus{
  background:linear-gradient(135deg,#7a2e00,#ff7a1a 45%,#ffd36b) !important;color:#2b0f00 !important;
  border-color:#ffd36b;box-shadow:0 0 14px rgba(255,140,30,.8);text-shadow:none;animation:hw-glow 2.2s ease-in-out infinite;
}
.vip-mini.gold::before{content:"🎃"}
.vip-plus,.vip-lite{padding:3px 10px;border-radius:999px}

/* рамки аватара под VIP */
.vip-gold-frame{
  border-color:#ff8a1a !important;
  box-shadow:0 0 0 2px rgba(255,200,80,.4),0 0 20px rgba(255,122,26,.75),0 0 40px rgba(255,90,0,.35) !important;
  animation:hw-frame-fire 2s ease-in-out infinite;
}
.vip-silver-frame{
  border-color:#cbbcff !important;
  box-shadow:0 0 0 2px rgba(255,255,255,.3),0 0 20px rgba(170,140,255,.7) !important;
  animation:hw-frame-ghost 3s ease-in-out infinite;
}
@keyframes hw-frame-fire{0%,100%{box-shadow:0 0 0 2px rgba(255,200,80,.4),0 0 14px rgba(255,122,26,.6)}50%{box-shadow:0 0 0 2px rgba(255,200,80,.6),0 0 30px rgba(255,122,26,1),0 0 50px rgba(255,60,0,.4)}}
@keyframes hw-frame-ghost{0%,100%{box-shadow:0 0 0 2px rgba(255,255,255,.25),0 0 12px rgba(170,140,255,.5)}50%{box-shadow:0 0 0 2px rgba(255,255,255,.5),0 0 28px rgba(190,160,255,1)}}
.vip-banner-plus{background:radial-gradient(circle at 20% 20%,rgba(255,220,120,.45),transparent 38%),linear-gradient(135deg,#3a1300,#d9560a 45%,#ffc15a 70%,#4a1a00) !important}
.vip-banner-lite{background:radial-gradient(circle at 20% 20%,rgba(190,160,255,.4),transparent 38%),linear-gradient(135deg,#1c1530,#6f5fa8 50%,#e0d9ff 75%,#2c2348) !important}
.vip-panel{border-color:rgba(255,122,26,.55) !important;box-shadow:0 0 24px rgba(255,122,26,.2)}

/* ГАЛОЧКА ОФИЦИАЛЬНОГО ЛИЦА — тыква-джек с галочкой */
.verified-badge{
  width:22px !important;height:22px !important;flex:0 0 22px !important;margin-left:6px !important;
  filter:drop-shadow(0 0 5px rgba(255,122,26,.95)) !important;animation:hw-verified 2.6s ease-in-out infinite;
  vertical-align:-.3em !important;
}
.verified-badge svg{display:none !important}
.verified-badge::before{
  content:"";position:absolute;inset:0;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 5.2C11.4 3.6 11.6 2.2 13 1' stroke='%2378d640' stroke-width='1.9' stroke-linecap='round' fill='none'/%3E%3Cellipse cx='7.6' cy='14' rx='5.6' ry='7.4' fill='%23e8620c'/%3E%3Cellipse cx='16.4' cy='14' rx='5.6' ry='7.4' fill='%23e8620c'/%3E%3Cellipse cx='12' cy='14' rx='5.2' ry='7.8' fill='%23ff7a1a'/%3E%3Cellipse cx='9.5' cy='9.5' rx='2' ry='1.4' fill='%23fff' opacity='.28'/%3E%3Cpath d='M7 14.2l3.3 3.4 6.7-7.2' fill='none' stroke='%231a0a00' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M7 14.2l3.3 3.4 6.7-7.2' fill='none' stroke='%23fff3c4' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;
}
.verified-badge::after{ /* искорка */
  content:"✦";position:absolute;right:-6px;top:-7px;font-size:9px;line-height:1;color:#ffe27a;text-shadow:0 0 6px #ffb347;
  animation:hw-twinkle2 1.6s ease-in-out infinite;
}
@keyframes hw-verified{0%,100%{transform:rotate(-5deg) scale(1)}50%{transform:rotate(5deg) scale(1.12)}}
@keyframes hw-twinkle2{0%,100%{opacity:.2;transform:scale(.6) rotate(0)}50%{opacity:1;transform:scale(1.3) rotate(90deg)}}

/* ===== Хэллоуин: хаб, лиги, ники ===== */
.hub-profile,.hub-online,.league-panel{background:linear-gradient(180deg,rgba(30,15,52,.95),rgba(12,7,20,.96))!important}
.hub-stat,.hub-tile{border-color:#3a2559!important;background:rgba(155,77,255,.07)!important;transition:transform .25s,box-shadow .25s,border-color .25s}
.hub-stat:hover,.hub-tile:hover{transform:translateY(-4px);border-color:var(--hw-pumpkin)!important;box-shadow:0 8px 24px rgba(255,122,26,.25)}
.hub-tile b{text-shadow:0 0 16px rgba(255,122,26,.55)}
.hub-level img{filter:drop-shadow(0 0 12px rgba(255,122,26,.7));animation:hw-bob 3.6s ease-in-out infinite}
.hub-id-row code{border-color:#6c3fb0!important;color:var(--hw-slime);text-shadow:0 0 8px rgba(141,255,79,.45)}
.league-body{border-color:#3a2559!important;background:rgba(155,77,255,.06)!important}
.league-card input:checked + .league-body{border-color:var(--hw-pumpkin)!important;background:rgba(255,122,26,.1)!important}
.league-qual .league-name{text-shadow:0 0 14px rgba(106,183,255,.6)}
.league-pro .league-name{text-shadow:0 0 14px rgba(255,207,74,.7)}
.league-pro .league-body{box-shadow:inset 0 0 30px rgba(255,207,74,.07)}
.hub-tile:nth-child(2) b::after{content:" 🦇";font-size:.5em}
.hub-tile:nth-child(4) b::after{content:" 🎃";font-size:.5em}

/* Компактный переключатель оригинального фонового эмбиента */
@media(max-width:700px){@media(prefers-reduced-motion:reduce){