/* ===== ВАПУ ТАП — Хэллоуин-тема =====
   Подключается ПОСЛЕ style.css. Всё под body.halloween, чтобы тему можно было
   выключить одной строкой (ENABLED=false в halloween.js). */

body.halloween{
  --bg-color:#1b0a2b;
  --card-bg:rgba(40,12,64,.58);
  --card-border:rgba(236,130,255,.42);
  --accent-pink:#d65bff;
  --accent-glow:rgba(214,91,255,.55);
  --text-muted:#e9cdff;
  --hw-orange:#ffb347;
  background:linear-gradient(180deg,#2a0e45 0%,#12041f 100%);
}

/* Фон: ваша картинка + затемнение сверху/снизу для читаемости */
body.halloween .app-bg{
  background-image:
    linear-gradient(180deg,rgba(18,5,32,.60) 0%,rgba(18,5,32,0) 26%,rgba(18,5,32,0) 52%,rgba(14,3,26,.88) 100%),
    url('halloween/bg.jpg');
  background-size:cover;
  background-position:70% center;
}

/* Счёт */
body.halloween .score-value{text-shadow:0 0 22px rgba(255,92,225,.75),0 3px 0 #4a1587}
body.halloween .coin-icon-img{width:40px;height:40px;filter:drop-shadow(0 0 8px rgba(216,107,255,.9))}
body.halloween .currency-label{letter-spacing:3px;color:var(--text-muted)}
body.halloween .progress-bar-fill,
body.halloween .energy-bar-fill{background:linear-gradient(90deg,#c24dff,#ff5ce1)}
body.halloween .level-badge{background:linear-gradient(180deg,#e07bff,#9b2fd8)}

/* Панели и карточки */
body.halloween .panel-card,
body.halloween .profile-pill,
body.halloween .rating-btn,
body.halloween .prizes-section{
  backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);
  box-shadow:0 4px 16px rgba(0,0,0,.35);
}
body.halloween .panel-icon img{width:24px;height:24px;filter:drop-shadow(0 2px 3px rgba(0,0,0,.4))}
body.halloween #season-timer .panel-value-small,
body.halloween #season-timer{color:#ffd27a}
body.halloween .bonus-card.ready{border-color:var(--hw-orange);box-shadow:0 0 16px rgba(255,179,71,.55);animation:hw-bonus 1.6s ease-in-out infinite}
@keyframes hw-bonus{0%,100%{box-shadow:0 0 10px rgba(255,179,71,.4)}50%{box-shadow:0 0 22px rgba(255,179,71,.8)}}
body.halloween #bonus-timer{color:#ffd27a}

/* Персонаж: мягкое фиолетовое свечение вместо чёрной тени */
body.halloween .character-img{filter:drop-shadow(0 10px 16px rgba(0,0,0,.5)) drop-shadow(0 0 18px rgba(214,91,255,.35))}
body.halloween .floating-plus{color:var(--hw-orange);text-shadow:0 2px 0 #4a1587,0 0 10px rgba(255,92,225,.9)}

/* Кнопки «Кейсы / Рейтинг» */
body.halloween .main-action-buttons{background:rgba(27,10,43,.55);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
body.halloween .main-action-btn{
  min-height:98px;
  background:linear-gradient(180deg,rgba(184,76,240,.42),rgba(90,29,156,.35));
  border-color:rgba(236,130,255,.6);
}
body.halloween .main-action-icon{width:52px;height:52px;filter:drop-shadow(0 4px 6px rgba(0,0,0,.45))}

/* Нижняя навигация */
body.halloween .bottom-nav{background:linear-gradient(180deg,rgba(27,10,43,.92),#12041f);border-top-color:rgba(236,130,255,.35)}
body.halloween .nav-item{color:rgba(251,241,255,.55)}
body.halloween .nav-item .nav-icon img{opacity:.65;filter:saturate(.75);transition:opacity .15s}
body.halloween .nav-item.active{color:#ffb3f1}
body.halloween .nav-item.active .nav-icon img{opacity:1;filter:drop-shadow(0 0 10px rgba(255,92,225,.9))}
body.halloween .nav-icon img{width:42px;height:42px}

/* Модалки */
body.halloween .modal{background:rgba(10,2,20,.78)}
body.halloween .modal-content{background:linear-gradient(180deg,#34124f,#1d0a2e);border-color:rgba(236,130,255,.45)}
body.halloween .boost-buy-btn,
body.halloween .referral-copy-btn{background:linear-gradient(180deg,#e07bff,#a93be0)}
body.halloween .achievement-avatar .lock-badge{background:rgba(14,3,26,.6)}
body.halloween .toast{background:linear-gradient(180deg,#e07bff,#a93be0)}

/* Профиль */
body.halloween .profile-card{background:linear-gradient(180deg,#4a1587,#1b0a2b);border-color:rgba(236,130,255,.5)}
body.halloween .profile-hero-avatar{border-color:#e07bff;box-shadow:0 0 24px rgba(214,91,255,.75);background:#e07bff}
body.halloween .profile-hero-level{color:#e9b3ff}
body.halloween .pg-row b{color:#ffd27a}
body.halloween .pg-fill{background:linear-gradient(90deg,#c24dff,#ff5ce1)}
body.halloween .profile-ach-btn{background:linear-gradient(180deg,#e07bff,#9b2fd8)}
body.halloween .profile-stat-card .ps-icon{width:44px;height:44px}

/* «Отправить другу»: убираем системный синий цвет кнопки */
body.halloween .gift-btn{color:#fff}
body.halloween .gift-btn .panel-value-small{color:#ffd27a}

/* Летящие эмодзи (бывшие снежинки): ярче и крупнее */
body.halloween .snowflake{z-index:1;opacity:.7;filter:drop-shadow(0 0 6px rgba(255,140,0,.5))}

/* Хэллоуин-подсветка эмодзи-призов */
body.halloween .prize-item.claimed{border-color:var(--hw-orange)}
body.halloween .prize-status{color:var(--hw-orange)}

@media (prefers-reduced-motion:reduce){
  body.halloween .snowflake,body.halloween .bonus-card.ready{animation:none!important}
}

/* Эмодзи пролетают за интерфейсом, а не поверх цифр */
body.halloween .score-section,
body.halloween .header,
body.halloween .main-action-buttons{position:relative;z-index:3}
body.halloween .character-img{max-height:100%}

/* Праздничный скин: уменьшаем, чтобы не залезал на панели и кнопки */
body.halloween .character-img[src*="halloween/skin"]{
  height:322px;width:auto;max-width:none;max-height:none;
  position:relative;top:-44px;left:5px;
}
@media (min-width:700px){
  body.halloween .character-img[src*="halloween/skin"]{height:440px;top:0}
}

/* === levitate v1 === */
/* Платформа под праздничным скином + лёгкое парение.
   Включается классом body.hw-skin (его ставит halloween.js, только когда показан праздничный скин). */
@keyframes hw-levitate{0%,100%{translate:0 4px}50%{translate:0 -6px}}
@keyframes hw-counter{0%,100%{translate:0 -4px}50%{translate:0 6px}}
@keyframes hw-glow{0%,100%{opacity:.9;scale:1}50%{opacity:.45;scale:.85}}

body.hw-skin .character-card{animation:hw-levitate 3.6s ease-in-out infinite}
body.hw-skin .character-card .character-img{position:relative;z-index:1}

/* платформа (не двигается: компенсируем парение обратной анимацией) */
body.hw-skin .character-card::before{
  content:"";position:absolute;z-index:0;pointer-events:none;
  left:50%;top:250px;width:236px;height:94px;margin-left:-118px;
  background:url('halloween/platform.svg') center/100% 100% no-repeat;
  filter:drop-shadow(0 0 14px rgba(255,92,225,.55));
  animation:hw-counter 3.6s ease-in-out infinite;
}
/* свечение под платформой: тускнеет, когда ангел поднимается */
body.hw-skin .character-card::after{
  content:"";position:absolute;z-index:0;pointer-events:none;
  left:50%;top:322px;width:190px;height:26px;margin-left:-95px;border-radius:50%;
  background:radial-gradient(ellipse,rgba(255,92,225,.55),rgba(255,92,225,0) 70%);
  animation:hw-counter 3.6s ease-in-out infinite,hw-glow 3.6s ease-in-out infinite;
}
@media (min-width:700px){
  body.hw-skin .character-card::before{top:435px;width:330px;height:132px;margin-left:-165px}
  body.hw-skin .character-card::after{top:548px;width:260px;height:34px;margin-left:-130px}
}
@media (prefers-reduced-motion:reduce){
  body.hw-skin .character-card,
  body.hw-skin .character-card::before,
  body.hw-skin .character-card::after{animation:none!important}
}

/* === panels v2 (round badges) === */
body.halloween .left-panels,
body.halloween .right-panels{gap:12px;align-items:center}
body.halloween .left-panels .panel-card,
body.halloween .right-panels .panel-card{
  width:100%;min-height:0;margin:0;left:0;padding:0;gap:0;
  background:none;border:none;border-radius:0;box-shadow:none;
  backdrop-filter:none;-webkit-backdrop-filter:none;
  align-items:center;text-align:center;color:#fff;animation:none;
}
body.halloween .left-panels .panel-title,
body.halloween .right-panels .panel-title,
body.halloween .left-panels .energy-bar-mini{display:none}

/* круглая «рамка» с иконкой */
body.halloween .left-panels .panel-icon,
body.halloween .right-panels .panel-icon{
  position:relative;width:60px;height:60px;border-radius:50%;
  display:grid;place-items:center;
  background:linear-gradient(180deg,#e07bff,#8a2fd0);
  box-shadow:0 4px 14px rgba(0,0,0,.45);
}
body.halloween .left-panels .panel-icon::before,
body.halloween .right-panels .panel-icon::before{
  content:"";position:absolute;inset:3.5px;border-radius:50%;
  background:radial-gradient(circle at 40% 30%,#4b1a72,#240c3a);
}
body.halloween .left-panels .panel-icon img,
body.halloween .right-panels .panel-icon img{
  position:relative;z-index:1;width:36px;height:36px;object-fit:contain;
  filter:drop-shadow(0 2px 3px rgba(0,0,0,.45));
}
/* энергия: кольцо заполняется (значение --p ставит halloween.js) */
body.halloween .left-panels .panel-card:first-child .panel-icon{
  background:conic-gradient(#ff5ce1 var(--p,100%),rgba(255,255,255,.18) 0);
}

/* значения — «таблетки» под кругом */
body.halloween .left-panels .panel-value,
body.halloween .left-panels .panel-value-small,
body.halloween .right-panels .panel-value-small{
  position:relative;margin-top:-9px;padding:3px 9px;border-radius:999px;
  background:rgba(27,10,43,.9);border:1px solid rgba(236,130,255,.55);
  font-size:11.5px;font-weight:700;line-height:1.25;color:#fff;white-space:nowrap;
}
body.halloween .gift-btn .panel-value-small{color:#ffd27a}
body.halloween .gift-btn .panel-value-small::first-letter{text-transform:uppercase}

/* ежедневный бонус: золотая рамка, когда можно забрать */
body.halloween .right-panels .bonus-card.ready .panel-icon{
  background:linear-gradient(180deg,#ffd27a,#ff8a1f);
  box-shadow:0 0 18px rgba(255,179,71,.85);
  animation:hw-ring 1.6s ease-in-out infinite;
}
@keyframes hw-ring{50%{box-shadow:0 0 30px rgba(255,179,71,1)}}
body.halloween .right-panels .bonus-card.ready .panel-value-small{border-color:rgba(255,210,122,.85);color:#ffd27a}
body.halloween .right-panels .bonus-card:not(.ready) .panel-value-small{color:#e9cdff}
@media (prefers-reduced-motion:reduce){body.halloween .right-panels .bonus-card.ready .panel-icon{animation:none!important}}

/* === badges edge === */
body.halloween .left-panels{position:relative;left:-18px}
body.halloween .right-panels{position:relative;left:18px}
/* === /badges edge === */
/* заставка 31:10 */
.splash-screen { background: #000 !important; }
.splash-img { object-fit: contain !important; animation: splash-flicker 3.2s steps(1, end) infinite; }
@keyframes splash-flicker {
  0% { opacity: 1; } 38% { opacity: .08; } 41% { opacity: 1; }
  43% { opacity: .15; } 46% { opacity: 1; } 78% { opacity: .05; } 86% { opacity: 1; }
}
