/* Зал славы — стена памятных табличек.
 *
 * Владелец, 07.09.2026: «надо чтобы это выглядело как зал славы». Поэтому не
 * сетка карточек, а стена: латунная рамка, поле таблички под светом сверху,
 * гравированные имена и металлические медали с лавром у чемпиона.
 *
 * Палитра — только токены темы. Металл собирается из --top-one/--top-two/
 * --top-three: они заведены в теме ровно под пьедестал.
 *
 * Смысл цвета: золото = первое место, оранжевый = «на это можно нажать».
 * Больше ни один цвет ничего не значит. */

.hof {
  --hof-gold: var(--top-one, #ffd45c);
  --hof-silver: var(--top-two, #ffae6b);
  --hof-bronze: var(--top-three, #ff7b3a);
  --hof-accent: var(--span, #ff6b2c);
  --hof-money: var(--money, #ffc857);
  --hof-plate: #17110d;
  --hof-inset: var(--input-form, #221a14);
  --hof-line: var(--transparent-10-w, rgba(255, 255, 255, .1));
  --hof-quiet: var(--text-secondary, #9a8578);
  --hof-radius: var(--br-16, 16px);
  /* Гравировка: тень вниз, блик вверх — буква как будто врезана в металл. */
  --hof-engrave: 0 1px 0 rgb(0 0 0 / 75%), 0 -1px 0 rgb(255 255 255 / 7%);
  color: var(--text-default);
  font-family: var(--font-family-1);
  display: flex;
  flex-direction: column;
  gap: .85rem;
  margin-bottom: 1rem;
}

.hof__sprite {
  position: absolute;
  width: 0;
  height: 0;
  overflow: hidden;
}

.hof :focus-visible {
  outline: 2px solid var(--hof-accent);
  outline-offset: 2px;
}

/* Числа этой страницы сравнивают глазами по вертикали — только моноширинные
   цифры дают колонкам сойтись. */
.hof__champ-score,
.hof__runner-score,
.hof__medal-num,
.hof__col-num,
.hof__col-place,
.hof__prize,
.hof__me-stats dd {
  font-variant-numeric: tabular-nums;
}

/* ── Лавр ──────────────────────────────────────────────────────────────── */

.hof__laurel {
  width: .85em;
  height: 1.7em;
  flex-shrink: 0;
  color: inherit;
  opacity: .9;
}

.hof__laurel--right {
  transform: scaleX(-1);
}

/* ── Вывеска зала ──────────────────────────────────────────────────────── */

.hof__marquee {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: .55rem;
  padding: 1.5rem 1.15rem 1.25rem;
  border-radius: var(--hof-radius);
  border: 1px solid transparent;
  background:
    radial-gradient(120% 120% at 50% -30%, rgb(255 212 92 / 10%), transparent 60%) padding-box,
    linear-gradient(180deg, #1b140f, #120d09) padding-box,
    linear-gradient(180deg, rgb(255 212 92 / 45%), rgb(255 212 92 / 6%) 45%, rgb(255 212 92 / 30%)) border-box;
  overflow: hidden;
}

/* Две золотые нити поперёк вывески — верх и низ, как на памятной доске. */
.hof__marquee::before,
.hof__marquee::after {
  content: '';
  position: absolute;
  left: 12%;
  right: 12%;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgb(255 212 92 / 55%), transparent);
}

.hof__marquee::before { top: .55rem; }
.hof__marquee::after { bottom: .55rem; }

.hof__marquee-kicker {
  margin: 0;
  font-size: .72rem;
  letter-spacing: .32em;
  text-indent: .32em;
  text-transform: uppercase;
  color: var(--hof-gold);
  opacity: .75;
}

.hof__marquee-main {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: .9rem;
  color: var(--hof-gold);
}

.hof__marquee-main .hof__laurel {
  width: 1.5rem;
  height: 3rem;
}

.hof__marquee-center {
  text-align: center;
  min-width: 0;
}

.hof__marquee-season {
  margin: 0;
  font-size: clamp(1.5rem, 4.5vw, 2.3rem);
  font-weight: 700;
  line-height: 1.1;
  letter-spacing: -.01em;
  color: var(--text-default);
  text-shadow: var(--hof-engrave);
}

.hof__marquee-date {
  margin: .3rem 0 0;
  font-size: .8rem;
  color: var(--hof-quiet);
}

.hof__marquee-tools {
  display: flex;
  align-items: center;
  gap: .5rem;
  flex-wrap: wrap;
  justify-content: center;
}

.hof__season {
  display: flex;
  align-items: center;
  gap: .5rem;
}

.hof__season-select,
.hof__input {
  background: var(--hof-inset);
  color: var(--text-default);
  border: 1px solid var(--hof-line);
  border-radius: var(--br-10, 10px);
  padding: .42rem .65rem;
  font: inherit;
  font-size: .88rem;
  max-width: 100%;
}

/* ⚠️ Родная стрелка браузера на этом контроле вставала не по центру
   (владелец, 08.09.2026: «галочка спущена вниз»): у select своя внутренняя
   раскладка, и наследованный line-height её смещает. Рисуем свою — она
   центрируется фоном и выглядит одинаково во всех браузерах. */
.hof__season-select {
  /* ⚠️ Ширина по содержимому, а не min-width: 11rem. Название сезона
     короткое («Сезон 5»), и жёсткая ширина оставляла пустое поле между
     словом и стрелкой — стрелка выглядела оторванной от текста. */
  width: auto;
  min-width: 0;
  max-width: 100%;
  /* ⚠️ Заданная высота + box-sizing: вертикальное положение стрелки
     считается от высоты поля, и при её фиксации перестаёт зависеть от
     унаследованного line-height. Именно он и ронял стрелку вниз. */
  box-sizing: border-box;
  height: 2.25rem;
  line-height: 1.2;
  padding: 0 2.1rem 0 .7rem;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background-color: var(--hof-inset);
  /* ⚠️ Фона-картинки здесь БОЛЬШЕ НЕТ. Две попытки нарисовать стрелку
     фоном самого select провалились по разным причинам: сырые угловые
     скобки в data-URI (часть браузеров отбрасывает объявление) и то, что
     ширину поля браузер считает по-своему — стрелка то отрывалась от
     текста, то налезала на него. Теперь стрелку рисует обёртка
     .hof__select-wrap, где её положение задаём мы, а не браузер. */
  background-image: none;
}

/* Обёртка держит стрелку. Ширина — по самому списку, поэтому поле
   по-прежнему обжимает название сезона. */
.hof__select-wrap {
  position: relative;
  display: inline-flex;
  align-items: center;
  max-width: 100%;
}

/* Треугольник на границах: ни картинки, ни шрифта, ни кодирования —
   рисуется одинаково во всех браузерах. Центрируется от середины
   обёртки, а не от внутренней раскладки select. */
.hof__select-wrap::after {
  content: '';
  position: absolute;
  right: .75rem;
  top: 50%;
  margin-top: -.09rem;
  border-left: .3rem solid transparent;
  border-right: .3rem solid transparent;
  border-top: .35rem solid var(--text-custom, #c9b5a6);
  pointer-events: none;
}

/* Поле переименования в пульте админа шире — там название вводят целиком. */
.hof__modal .hof__season-select {
  min-width: 12rem;
}

/* Список раскрывается системным меню — его фон задаём отдельно, иначе на
   тёмной теме часть браузеров рисует белым по белому. */
.hof__season-select option {
  background: var(--hof-plate);
  color: var(--text-default);
}

/* ── Кнопки ────────────────────────────────────────────────────────────── */

.hof__btn {
  display: inline-flex;
  align-items: center;
  border: 1px solid var(--hof-accent);
  border-radius: var(--br-10, 10px);
  padding: .42rem .9rem;
  background: var(--hof-accent);
  color: var(--text-default-invert, #1a1109);
  font: inherit;
  font-size: .88rem;
  font-weight: 600;
  line-height: 1.2;
  text-decoration: none;
  cursor: pointer;
  transition: background .15s ease, border-color .15s ease, color .15s ease;
}

.hof__btn:hover {
  background: var(--orange, #ff8c2a);
  border-color: var(--orange, #ff8c2a);
}

.hof__btn--ghost {
  background: var(--button, #2e2218);
  border-color: var(--hof-line);
  color: var(--text-default);
  font-weight: 500;
}

.hof__btn--ghost:hover {
  background: var(--button-hover, #3d2f22);
  border-color: var(--hof-line);
}

/* ── Вкладки ───────────────────────────────────────────────────────────── */

.hof__tabs {
  display: flex;
  gap: .35rem;
  flex-wrap: wrap;
  justify-content: center;
}

.hof__tab {
  padding: .5rem .95rem;
  border-radius: var(--br-10, 10px);
  border: 1px solid var(--hof-line);
  background: var(--hof-plate);
  color: var(--hof-quiet);
  text-decoration: none;
  font-size: .89rem;
  transition: color .15s ease, border-color .15s ease;
}

.hof__tab:hover { color: var(--text-default); }

.hof__tab.is-active {
  color: var(--text-default);
  border-color: rgb(255 212 92 / 45%);
  background: rgb(255 212 92 / 8%);
}

/* ── Стена ─────────────────────────────────────────────────────────────── */

.hof__wall {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(310px, 1fr));
  gap: 1rem;
  align-items: start;
  padding: 1.1rem;
  border-radius: var(--hof-radius);
  border: 1px solid var(--hof-line);
  /* Сама стена: тёмное поле с еле заметной вертикальной штриховкой, чтобы
     таблички читались как приколоченные к ней, а не висящие в пустоте. */
  background:
    repeating-linear-gradient(90deg, rgb(255 255 255 / 1.5%) 0 1px, transparent 1px 7px),
    linear-gradient(180deg, #14100c, #0e0a07);
}

/* Табличка: латунная рамка, поле под светом сверху. */
.hof__plaque {
  position: relative;
  display: flex;
  flex-direction: column;
  padding: 1rem 1.1rem 1.1rem;
  border-radius: var(--br-12, 12px);
  border: 1px solid transparent;
  background:
    linear-gradient(180deg, #1d1610, #150f0b) padding-box,
    linear-gradient(160deg, rgb(255 212 92 / 50%), rgb(255 212 92 / 6%) 38%, rgb(255 212 92 / 4%) 62%, rgb(255 212 92 / 38%)) border-box;
  box-shadow: 0 10px 26px rgb(0 0 0 / 40%), inset 0 1px 0 rgb(255 255 255 / 5%);
  overflow: hidden;
}

/* Свет сверху — как в галерее. */
.hof__plaque::before {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(120% 70% at 50% -20%, rgb(255 212 92 / 12%), transparent 62%);
  pointer-events: none;
}

/* ⚠️ z-index: 1 обязателен: у таблички есть ::after с затемнением поверх
   карты, а он в порядке отрисовки идёт ПОСЛЕ содержимого. Без подъёма
   содержимого затемнение легло бы на имена. */
.hof__plaque > * {
  position: relative;
  z-index: 1;
}

/* Карта сервера фоном — тот же приём, что у карточек мониторинга и доски
   наград: картинка приглушена и затемнена, читается как фон, а не как
   иллюстрация. Нет карты — нет и этих правил, табличка остаётся прежней. */
.hof__plaque-map {
  position: absolute;
  inset: 0;
  z-index: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: .18;
  filter: saturate(.55);
  pointer-events: none;
  user-select: none;
}

.hof__plaque--map::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgb(21 15 11 / 45%), rgb(21 15 11 / 88%));
  pointer-events: none;
}

.hof__plaque-server {
  font-size: .7rem;
  letter-spacing: .22em;
  text-indent: .22em;
  text-transform: uppercase;
  text-align: center;
  color: var(--hof-quiet);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* ── Медаль ────────────────────────────────────────────────────────────── */

.hof__medal {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .3rem;
  color: var(--hof-gold);
}

/* ⚠️ min-width + скругление 999px, а НЕ фиксированная ширина с 50%:
   место в «Моей статистике» бывает четырёхзначным, и в жёстком круге
   цифры вылезали за края (владелец, 08.09.2026). Теперь 1-3 цифры дают
   ровный круг, а длинное число растягивает медаль в капсулу. */
.hof__medal-num {
  display: inline-grid;
  place-items: center;
  box-sizing: border-box;
  min-width: 3.1rem;
  height: 3.1rem;
  padding: 0 .6rem;
  border-radius: 999px;
  line-height: 1;
  font-size: 1.35rem;
  font-weight: 700;
  color: #2a1c08;
  /* Металл: конический градиент даёт блики по кругу, как на литой медали. */
  background: conic-gradient(from 210deg,
      #7a5a1e, #ffe9a8 22%, var(--hof-gold) 40%, #a97c28 58%, #ffe9a8 76%, #7a5a1e);
  box-shadow:
    inset 0 0 0 2px rgb(0 0 0 / 30%),
    inset 0 2px 6px rgb(255 255 255 / 35%),
    0 4px 14px rgb(0 0 0 / 45%);
}

.hof__medal--2 {
  color: var(--hof-silver);
}

.hof__medal--2 .hof__medal-num {
  background: conic-gradient(from 210deg,
      #7d4f22, #ffdcbb 22%, var(--hof-silver) 40%, #a6683a 58%, #ffdcbb 76%, #7d4f22);
}

.hof__medal--3 {
  color: var(--hof-bronze);
}

.hof__medal--3 .hof__medal-num {
  background: conic-gradient(from 210deg,
      #6b2f14, #ffb992 22%, var(--hof-bronze) 40%, #90411c 58%, #ffb992 76%, #6b2f14);
}

/* Без места на пьедестале медали нет — только тихий кружок. */
.hof__medal--none .hof__medal-num {
  background: var(--hof-inset);
  color: var(--text-default);
  box-shadow: inset 0 0 0 1px var(--hof-line);
}

.hof__medal--sm .hof__medal-num {
  min-width: 1.7rem;
  height: 1.7rem;
  padding: 0 .35rem;
  font-size: .82rem;
  box-shadow:
    inset 0 0 0 1px rgb(0 0 0 / 30%),
    inset 0 1px 3px rgb(255 255 255 / 30%);
}

/* ── Аватарки ──────────────────────────────────────────────────────────── */

/* Обводка сделана подложкой под картинкой: padding задаёт её толщину, а
   фон просвечивает кольцом. Цвет кольца и есть указание на место —
   владелец попросил убрать медали-монетки, но обводку оставить. */
.hof__ava {
  position: relative;
  display: inline-grid;
  place-items: center;
  box-sizing: border-box;
  width: 2.6rem;
  height: 2.6rem;
  padding: 2px;
  border-radius: 50%;
  background: var(--hof-line);
  flex-shrink: 0;
}

.hof__ava img {
  display: block;
  width: 100%;
  height: 100%;
  border-radius: 50%;
  object-fit: cover;
  background: var(--hof-inset);
}

/* Металл тот же, что был у медалей: золото, затем два тёплых оттенка темы. */
.hof__ava--1 {
  background: linear-gradient(160deg, #ffe9a8, var(--hof-gold) 45%, #a97c28);
  box-shadow: 0 0 0 1px rgb(0 0 0 / 35%), 0 4px 14px rgb(0 0 0 / 40%);
}

.hof__ava--2 {
  background: linear-gradient(160deg, #ffdcbb, var(--hof-silver) 45%, #a6683a);
  box-shadow: 0 0 0 1px rgb(0 0 0 / 30%);
}

.hof__ava--3 {
  background: linear-gradient(160deg, #ffb992, var(--hof-bronze) 45%, #90411c);
  box-shadow: 0 0 0 1px rgb(0 0 0 / 30%);
}

.hof__ava--lg {
  width: 3.5rem;
  height: 3.5rem;
  padding: 3px;
}

.hof__ava--sm {
  width: 1.9rem;
  height: 1.9rem;
}

/* ── Чемпион ───────────────────────────────────────────────────────────── */

.hof__champ {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: .45rem;
  margin-top: .85rem;
  padding-bottom: .95rem;
}

.hof__champ .hof__medal .hof__laurel {
  width: 1rem;
  height: 2.4rem;
}

/* Имя чемпиона — единственное место, где страница повышает голос. */
.hof__champ-name {
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.15;
  letter-spacing: -.01em;
  text-align: center;
  text-shadow: var(--hof-engrave);
}

.hof__champ-score {
  font-size: .95rem;
  font-weight: 600;
  color: var(--text-custom, #c9b5a6);
}

/* Ник-ссылка на профиль. Цвет не меняем: имя чемпиона — главная надпись
   таблички, красить её в оранжевый значило бы спорить с золотом. О том,
   что это ссылка, говорит подчёркивание при наведении. */
.hof__name-link {
  color: inherit;
  text-decoration: none;
  border-bottom: 1px solid transparent;
  transition: border-color .15s ease, color .15s ease;
}

.hof__name-link:hover {
  border-bottom-color: rgb(255 212 92 / 55%);
}

.hof__col-nick .hof__name-link:hover {
  color: var(--hof-gold);
  border-bottom-color: transparent;
}

/* ── Призёры ───────────────────────────────────────────────────────────── */

.hof__runners {
  list-style: none;
  margin: 0;
  padding: .7rem 0 0;
  border-top: 1px solid rgb(255 212 92 / 18%);
  display: flex;
  flex-direction: column;
  gap: .4rem;
}

.hof__runner {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto auto;
  align-items: center;
  gap: .55rem;
  font-size: .9rem;
}

.hof__runner-name {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.hof__runner-score {
  color: var(--hof-quiet);
}

/* Приз — единственное место, где появляется денежный цвет темы. */
.hof__prize {
  font-size: .8rem;
  font-weight: 600;
  color: var(--hof-money);
  white-space: nowrap;
}

.hof__prize--unpaid {
  color: var(--hof-quiet);
  text-decoration: line-through;
  text-decoration-thickness: 1px;
}

.hof__plaque-link {
  align-self: center;
  margin-top: .85rem;
  font-size: .76rem;
  letter-spacing: .06em;
  color: var(--hof-quiet);
  text-decoration: none;
  border-bottom: 1px solid transparent;
}

.hof__plaque-link:hover {
  color: var(--hof-gold);
  border-bottom-color: rgb(255 212 92 / 45%);
}

/* ── Моя статистика: та же табличка, но про одного человека ────────────── */

.hof__wall--me {
  grid-template-columns: repeat(auto-fill, minmax(270px, 1fr));
}

.hof__me-body {
  display: flex;
  align-items: center;
  gap: .8rem;
  margin-top: .85rem;
}

.hof__me-lines {
  display: flex;
  flex-direction: column;
  min-width: 0;
}

.hof__me-rank {
  font-size: 1.15rem;
  letter-spacing: -.01em;
}

.hof__me-of {
  font-size: .85rem;
  color: var(--hof-quiet);
}

.hof__me-season {
  font-size: .95rem;
  font-weight: 600;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.hof__me-stats {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: .5rem;
  margin: .9rem 0 0;
  padding-top: .75rem;
  border-top: 1px solid rgb(255 212 92 / 18%);
}

.hof__me-stats > div { min-width: 0; }

.hof__me-stats dt {
  font-size: .72rem;
  color: var(--hof-quiet);
}

.hof__me-stats dd {
  margin: .15rem 0 0;
  font-size: 1rem;
  font-weight: 600;
}

.hof__me-prize {
  display: flex;
  align-items: baseline;
  gap: .45rem;
  margin: .75rem 0 0;
}

.hof__me-unpaid {
  font-size: .78rem;
  color: var(--hof-quiet);
}

/* ── Таблица сезона: книга рекордов ────────────────────────────────────── */

.hof__panel {
  padding: 1rem 1.15rem;
  border-radius: var(--hof-radius);
  border: 1px solid var(--hof-line);
  background: var(--hof-plate);
}

.hof__ledger {
  border-color: rgb(255 212 92 / 20%);
}

.hof__servers {
  display: flex;
  gap: .35rem;
  flex-wrap: wrap;
}

.hof__server-chip {
  padding: .38rem .75rem;
  border-radius: 999px;
  border: 1px solid var(--hof-line);
  background: var(--hof-plate);
  color: var(--hof-quiet);
  text-decoration: none;
  font-size: .84rem;
}

.hof__server-chip:hover { color: var(--text-default); }

.hof__server-chip.is-active {
  color: var(--text-default);
  border-color: rgb(255 212 92 / 45%);
  background: rgb(255 212 92 / 8%);
}

.hof__table-wrap { overflow-x: auto; }

.hof__table {
  width: 100%;
  border-collapse: collapse;
  font-size: .88rem;
}

.hof__table th {
  padding: .5rem .6rem;
  border-bottom: 1px solid rgb(255 212 92 / 22%);
  font-size: .72rem;
  letter-spacing: .1em;
  text-transform: uppercase;
  font-weight: 600;
  color: var(--hof-quiet);
  text-align: left;
  white-space: nowrap;
}

.hof__table td {
  padding: .5rem .6rem;
  border-bottom: 1px solid var(--transparent-5-w, rgba(255, 255, 255, .05));
}

.hof__table tbody tr:last-child td { border-bottom: 0; }

/* ⚠️⚠️ Селектор с .hof__table намеренно: у правила `.hof__table th` выше
   специфичность (класс + тег), чем у голого `.hof__col-num` (класс), и
   его `text-align: left` перебивал выравнивание ЗАГОЛОВКОВ. Получалось,
   что подпись колонки стоит слева, а числа под ней справа — колонка
   читалась как съехавшая (владелец, 08.09.2026). Ячейкам td это не
   мешало, потому что `.hof__table td` выравнивание не задаёт, — оттого
   расхождение и вылезло только у шапки. */
.hof__table .hof__col-num {
  text-align: right;
  white-space: nowrap;
}

.hof__col-place {
  width: 2.6rem;
  color: var(--hof-quiet);
}

.hof__col-nick {
  max-width: 16rem;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* Тройка призёров помечена той же логикой, что и медали выше: цвет = место. */
.hof__row--top .hof__col-place {
  font-weight: 700;
  color: var(--text-default);
}

.hof__row--top1 td:first-child { box-shadow: inset 3px 0 0 var(--hof-gold); }
.hof__row--top2 td:first-child { box-shadow: inset 3px 0 0 var(--hof-silver); }
.hof__row--top3 td:first-child { box-shadow: inset 3px 0 0 var(--hof-bronze); }

.hof__row--top1 .hof__col-nick { text-shadow: var(--hof-engrave); }

.hof__pager {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: .6rem;
  margin-top: .85rem;
}

.hof__pager-state {
  font-size: .85rem;
  color: var(--hof-quiet);
  font-variant-numeric: tabular-nums;
}

/* ── Пустые состояния и уведомления ────────────────────────────────────── */

.hof__empty { text-align: center; }

.hof__empty-title {
  margin: 0 0 .4rem;
  font-size: 1.05rem;
}

.hof__empty-text {
  margin: 0 auto;
  max-width: 54ch;
  font-size: .88rem;
  line-height: 1.55;
  color: var(--hof-quiet);
}

.hof__notice {
  padding: .65rem .9rem;
  border-radius: var(--br-12, 12px);
  border: 1px solid var(--hof-line);
  font-size: .88rem;
}

.hof__notice--ok {
  border-color: var(--green, #5ecf7a);
  color: var(--green, #5ecf7a);
  background: rgb(94 207 122 / 10%);
}

.hof__notice--error {
  border-color: var(--red, #ff4940);
  color: var(--red, #ff4940);
  background: var(--red-10, rgba(255, 73, 64, .1));
}

.hof__notice--info {
  border-color: var(--hof-accent);
  color: var(--hof-accent);
  background: var(--span-10, rgba(255, 107, 44, .1));
}

/* ── Окно выбора сезона ────────────────────────────────────────────────── */

.hof__season-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: .35rem;
}

.hof__season-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .6rem;
  padding: .6rem .85rem;
  border-radius: var(--br-10, 10px);
  border: 1px solid var(--hof-line);
  background: var(--hof-inset);
  color: var(--text-default);
  text-decoration: none;
  font-size: .92rem;
  transition: border-color .15s ease, background .15s ease;
}

.hof__season-item:hover {
  border-color: rgb(255 212 92 / 45%);
}

.hof__season-item.is-current {
  border-color: rgb(255 212 92 / 55%);
  background: rgb(255 212 92 / 8%);
}

.hof__season-item-mark {
  color: var(--hof-gold);
}

/* ── Пульт администратора: модалка темы ────────────────────────────────── */

.hof__modal .popup_modal_head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
}

.hof__modal-close {
  border: 1px solid var(--hof-line);
  border-radius: var(--br-10, 10px);
  padding: .3rem .7rem;
  background: var(--button, #2e2218);
  color: var(--text-default);
  font: inherit;
  font-size: .82rem;
  cursor: pointer;
}

.hof__modal-close:hover { background: var(--button-hover, #3d2f22); }

.hof__modal-body {
  display: flex;
  flex-direction: column;
  gap: .85rem;
  padding: 1rem 1.15rem 1.15rem;
}

.hof__admin-note {
  margin: 0;
  font-size: .84rem;
  line-height: 1.55;
  color: var(--hof-quiet);
}

.hof__admin-note code {
  padding: .05rem .3rem;
  border-radius: 6px;
  background: var(--hof-inset);
  font-size: .95em;
}

.hof__admin-form {
  display: flex;
  align-items: center;
  gap: .4rem;
  flex-wrap: wrap;
}

.hof__admin-form--rename {
  padding-top: .85rem;
  border-top: 1px solid var(--hof-line);
}

.hof__admin-label {
  width: 100%;
  font-size: .82rem;
  color: var(--hof-quiet);
}

.hof__admin-done { color: var(--green, #5ecf7a); }

/* ── Узкие экраны ──────────────────────────────────────────────────────── */

@media (max-width: 720px) {
  /* В таблице остаются те столбцы, ради которых её открывают: место, имя,
     очки, K/D и приз. Убийства/смерти и «в голову» прячутся — на телефоне
     семь колонок превращают таблицу в горизонтальную ленту. */
  .hof__col-wide { display: none; }

  .hof__wall {
    padding: .7rem;
    gap: .7rem;
  }

  .hof__marquee-main .hof__laurel {
    width: 1.1rem;
    height: 2.2rem;
  }

  .hof__season {
    flex: 1 1 auto;
    min-width: 0;
  }

  /* На телефоне поле занимает строку целиком — там пустое место между
     словом и стрелкой не мешает, а попадать пальцем удобнее. */
  .hof__select-wrap {
    flex: 1 1 auto;
    min-width: 0;
  }

  .hof__season-select {
    flex: 1 1 auto;
    width: 100%;
  }
}
