/* ══════════════════════════════════════════
   Оформление Хэллоуина: главная и форум (фаза 4, 2026-10-01)
   ══════════════════════════════════════════
   Тот же атрибут body[data-event="halloween"] и тот же рубильник halloween_open, что в
   игре (js/ui/eventTheme.js), но СВОЙ файл: у главной (css/login.css) и форума
   (forum/css/forum.css) свои имена переменных, и одно имя значит разное — здесь
   --accent = #5B5BF0 (в игре это --accent-strong), --accent-2 = #8A7CFF (в игре
   --accent-dark). Переименовывать 445 мест под имена игры решили не стоит: --accent
   поменял бы смысл посреди файла. Подключается с главной и всех страниц форума.

   🔴 Переопределяем ТОЛЬКО переменные акцента и фона. Смысловые цвета заданы своими
   литералами и тему не видят: красные кнопки опасных действий (.btn-danger,
   .cat-action-danger), розовое «спасибо», цвета текста в постах (md-fg-* — выбор
   автора), «ауры» категорий (свои пять цветов). Цветов ролей у авторов форума нет.
   «Закреплено» (.topic-item.pinned) берёт --accent-2 и станет оранжевым — решено
   оставить (01.10): выделение сохраняется, просто в цвет темы.

   Контраст (WCAG, норма текста 4.5; не хуже, чем без темы; худший случай — светлая
   картинка под стеклом панели):
     --accent-2 #ff9a3c на стекле панели           6.10 (было 2.99)
     --link / --primary #ffb070 на стекле          7.18 (было 4.18)
     белый на --accent #c2410c                     5.18 (было 5.00)
     белый на конце градиента кнопок #ea580c       3.56 (было 3.30 на #8A7CFF) — конец
       градиента вынесен в --accent-grad-end именно затем, чтобы не стать #ff9a3c (2.2). */

body[data-event="halloween"] {
  --accent:          #c2410c;
  --accent-rgb:      194, 65, 12;
  --accent-2:        #ff9a3c;
  --accent-2-rgb:    255, 154, 60;
  --accent-grad-end: #ea580c;
  --link:            #ffb070;
  --link-hover:      #ffc48f;
  --primary:         #ffb070;
  --primary-hover:   #ffc48f;
  --primary-light:   rgba(255, 154, 60, .15);
  --primary-border:  rgba(255, 154, 60, .42);
  --brand-grad:      linear-gradient(135deg, #ffb070, #ff9a3c 60%, #ffc48f);
  /* фон — темнее и холоднее */
  --glass:           rgba(7, 11, 22, .58);
  --glass-panel:     rgba(7, 11, 22, .80);
  --surface:         rgba(7, 11, 22, .80);
  --header-bg:       rgba(5, 8, 16, .64);
  --modal-bg:        rgba(9, 12, 22, .94);
  --panel-solid:     rgba(7, 11, 22, .86);
  --card-solid:      rgba(7, 11, 22, .92);
}
/* Без размытия фона главная поднимает плотность панелей правилом на :root — переменная
   на body перебила бы его, поэтому то же правило повторено здесь. */
@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) {
  body[data-event="halloween"] { --glass-panel: rgba(7, 11, 22, .95); }
}

/* ══ Украшения ══
   Все — псевдоэлементы под атрибутом: снят → их нет, картинки не скачиваются.
   pointer-events: none, z-index -1 внутри хоста со своим слоем наложения (isolation),
   без анимаций и фильтров. Сообщения форума и список тем не украшаем — там читают. */

/* Тыква у логотипа: главная — после «WildLegacy» в карточке входа, форум — после «Форум». */
body[data-event="halloween"] .brand::after,
body[data-event="halloween"] .forum-logo::after {
  content: '';
  flex: none;
  pointer-events: none;
  background: url('/assets/event/pumpkin.png') center / contain no-repeat;
}
body[data-event="halloween"] .brand::after { width: 30px; height: 30px; margin-left: 8px; }
body[data-event="halloween"] .forum-logo::after { width: 24px; height: 24px; }

/* Узор 18 %, как на боковой панели игры: нижнее меню главной, шапка форума. */
body[data-event="halloween"] .bottom-nav,
body[data-event="halloween"] .forum-header { isolation: isolate; }
body[data-event="halloween"] .bottom-nav::before,
body[data-event="halloween"] .forum-header::before {
  content: '';
  position: absolute;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  border-radius: inherit;
  background: url('/assets/event/halloween-pattern.png') 0 0 / 192px 192px repeat;
  opacity: 0.18;
}

/* Паутина (главная): левый верхний угол карточки входа, правый нижний — панели
   новостей. У заголовка форума её нет: фон там прозрачный, паутина терялась (01.10). */
body[data-event="halloween"] .login-card,
body[data-event="halloween"] .side-panel { isolation: isolate; }
body[data-event="halloween"] .login-card::before,
body[data-event="halloween"] .side-panel::after {
  content: '';
  position: absolute;
  width: 140px;
  height: 140px;
  z-index: -1;
  pointer-events: none;
  background: url('/assets/event/cobweb.png') top left / contain no-repeat;
  opacity: 0.18;
}
body[data-event="halloween"] .login-card::before { top: 0; left: 0; }
body[data-event="halloween"] .side-panel::after { right: 0; bottom: 0; transform: rotate(180deg); }

/* Телефон: карточка входа и панель почти во весь экран, угол = логотип и заголовок. */
@media (max-width: 760px) {
  body[data-event="halloween"] .login-card::before,
  body[data-event="halloween"] .side-panel::after { content: none; }
}

/* ── Фон сцены: ночной город с тыквами (01.10) ──
   Тот же .scene на главной и форуме; размеры — как у прежнего login-scene
   (2048×1143 / 1080×1935, JPEG q85). Имена НОВЫЕ: картинки кэшируются на 30 суток,
   и замена под старым именем показала бы игрокам прежний фон. Грузится, только пока
   тема включена (правило не совпадает — картинка не скачивается). Порог телефонной
   версии — тот же 560 px, что у страниц. */
body[data-event="halloween"] .scene {
  background-image: url('/assets/backgrounds/halloween-scene.jpg');
}
@media (max-width: 560px) {
  body[data-event="halloween"] .scene {
    background-image: url('/assets/backgrounds/halloween-scene-mobile.jpg');
  }
}
