/* ═══════════════════════════════════════════════════════════════════════════
   css/v2-skin.css — V2 skin для старых экранов (виз. язык LB v2 / Rival Ladder)
   ..........................................................................
   Приводит 13 старых экранов к языку lb-v2.css:
     1  Game Over        (#gameover)          8  Level up      (#levelup-overlay)
     2  HUD              (#hud-bar)           9  LB Promo      (#lbpromo-overlay)
     3  Reward           (#reward-overlay)   10  Challenge     (.challenge-overlay)
     4  Confirm          (#confirm-overlay)  11  Review        (#review-overlay)
     5  Info             (#info-overlay)     12  Task          (#task-overlay)
     6  Language         (#lang-overlay)     13  Sound popup   (#sound-overlay)
     7  Mission          (#mission-overlay)  + bonus: #remove-cube-cancel-bar

   Принципы:
     • старые селекторы НЕ меняются — только перекрываются (файл грузится
       ПОСЛЕ всех старых css, каскад решает);
     • маркап не трогаем, кроме index.html (подключение файлов);
     • ни одного селектора из #lb-overlay / .lb-* / #lbv2-overlay / .lbv2-*;
     • тема: светлый дефолт, тёмный — :root.v2-dark (js/v2-theme.js);
     • неон и жёсткие тени убраны, шрифт Nunito, радиусы мягкие,
       кнопки — пилюли в стиле .lbv2-btn*.

   Откат: удалить <link> на этот файл (и на v2-tokens.css) из index.html.
   ═══════════════════════════════════════════════════════════════════════════ */

/* ═════════════════════ §0. Общие паттерны V2 ═══════════════════════════════ */

/* ── Бэкдроп модалок: ровно как .lbv2-backdrop ── */
#gameover,
#reward-overlay,
#confirm-overlay,
#info-overlay,
#lang-overlay,
#mission-overlay,
#levelup-overlay,
#lbpromo-overlay,
#task-overlay,
#review-overlay,
#sound-overlay,
.challenge-overlay {
  background: rgba(0, 0, 0, 0.55);
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
}

/* ── Каркас модальных карточек: аналог листа #lbv2-root ── */
#gameover-box,
#reward-box,
#confirm-box,
#info-box,
#lang-box,
#mission-box,
#levelup-box,
#lbpromo-box,
#task-box,
#review-box,
#sound-box,
.challenge-box {
  font-family: var(--v2-font);
  background: var(--v2-box);
  color: var(--v2-ink);
  border: 1px solid var(--v2-line);
  border-radius: 24px;
  box-shadow: var(--v2-sh-md);
  animation: v2Rise 0.28s cubic-bezier(0.16, 1, 0.3, 1) both;
}

/* ── Кнопки-закрытия: аналог .lbv2-ibtn (круглые 34px) ── */
#info-close-btn,
#lang-close-btn,
#mission-close-btn,
#sound-close-btn {
  width: 34px;
  height: 34px;
  border-radius: 50%;
  background: var(--v2-surface-2);
  border: 1px solid var(--v2-line);
  color: var(--v2-ink-2);
  transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1);
}
#info-close-btn:hover,
#lang-close-btn:hover,
#mission-close-btn:hover,
#sound-close-btn:hover {
  background: var(--v2-surface-3);
  color: var(--v2-ink);
}

/* ── База кнопок: порт .lbv2-btn (пилюля, Nunito 800) ── */
#restart-btn,
#info-ok-btn,
#reward-watch-btn,
#reward-buy-btn,
#reward-cancel-btn,
#confirm-ok-btn,
#confirm-cancel-btn,
#levelup-continue-btn,
#lbpromo-continue-btn,
#task-action-btn,
#task-skip-btn,
#review-rate-btn,
#review-continue-btn,
.challenge-box .go-cta,
.challenge-box .go-secondary-link {
  font-family: var(--v2-font);
  font-weight: 800;
  font-size: 14.5px;
  letter-spacing: 0.01em;
  line-height: 1.35;
  border-radius: 999px;
  padding: 13px 20px;
  cursor: pointer;
  transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1);
  touch-action: manipulation;
  -webkit-tap-highlight-color: transparent;
}
/* Блеск-свайп старых кнопок не нужен */
#restart-btn::before,
#info-ok-btn::before,
#reward-watch-btn::before,
#reward-buy-btn::before,
#review-rate-btn::before,
#task-action-btn::before,
#levelup-continue-btn::before,
#lbpromo-continue-btn::before,
#confirm-ok-btn::before { display: none; content: none; }

/* ── Gold CTA: порт .lbv2-btn-gold ── */
#restart-btn,
#info-ok-btn,
#reward-watch-btn,
#confirm-ok-btn,
#levelup-continue-btn,
#lbpromo-continue-btn,
#task-action-btn,
#review-rate-btn,
.challenge-box .go-cta {
  background: var(--v2-grad);
  color: var(--v2-gold-ink);
  border: none;
  box-shadow: var(--v2-sh-gold);
}
#restart-btn:hover,
#info-ok-btn:hover,
#reward-watch-btn:hover,
#confirm-ok-btn:hover,
#levelup-continue-btn:hover,
#lbpromo-continue-btn:hover,
#task-action-btn:hover,
#review-rate-btn:hover,
.challenge-box .go-cta:hover { filter: brightness(1.05); transform: none; }
#restart-btn:active,
#info-ok-btn:active,
#reward-watch-btn:active,
#confirm-ok-btn:active,
#levelup-continue-btn:active,
#lbpromo-continue-btn:active,
#task-action-btn:active,
#review-rate-btn:active,
.challenge-box .go-cta:active { transform: scale(0.97); filter: none; }

/* ── Ghost-кнопки: порт .lbv2-btn-ghost ── */
#reward-cancel-btn,
#confirm-cancel-btn,
#task-skip-btn,
#review-continue-btn,
.challenge-box .go-secondary-link {
  background: var(--v2-surface-2);
  color: var(--v2-ink);
  border: 1px solid var(--v2-line);
  font-weight: 700;
}
#reward-cancel-btn:hover,
#confirm-cancel-btn:hover,
#task-skip-btn:hover,
#review-continue-btn:hover,
.challenge-box .go-secondary-link:hover {
  background: var(--v2-surface-3);
  color: var(--v2-ink);
  border-color: var(--v2-line);
  transform: none;
  box-shadow: none;
}
#reward-cancel-btn:active,
#confirm-cancel-btn:active,
#task-skip-btn:active,
#review-continue-btn:active,
.challenge-box .go-secondary-link:active { transform: scale(0.97); }

/* ── Focus ring как в LB v2 ── */
#hud-bar button:focus-visible,
#gameover-box button:focus-visible,
#reward-box button:focus-visible,
#confirm-box button:focus-visible,
#info-box button:focus-visible,
#lang-box button:focus-visible,
#mission-box button:focus-visible,
#levelup-box button:focus-visible,
#lbpromo-box button:focus-visible,
#task-box button:focus-visible,
#review-box button:focus-visible,
#sound-box button:focus-visible,
.challenge-box button:focus-visible,
.lang-item:focus-visible {
  outline: 2px solid var(--v2-gold);
  outline-offset: 2px;
}

/* ═════════════════════ §1. HUD (#hud-bar) ══════════════════════════════════ */

#hud-bar {
  font-family: var(--v2-font);
  background: var(--v2-hud-bg);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  border: 1px solid var(--v2-line);
  border-radius: 18px;
  box-shadow: var(--v2-sh-sm);
}

.hud-row.bottom-row { border-top: 1px solid var(--v2-line); }

.cell-label {
  font-family: var(--v2-font);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.08em;
  color: var(--v2-ink-3);
}

#score-val {
  font-family: var(--v2-font);
  font-size: 20px;
  font-weight: 800;
  color: var(--v2-gold);
  letter-spacing: -0.02em;
  text-shadow: none;
  font-variant-numeric: tabular-nums;
}
#score-val.penalty-flash { color: var(--v2-down); }

.level-cell .cell-label { color: var(--v2-ink-3); }

#level-val {
  font-family: var(--v2-font);
  font-size: 16px;
  font-weight: 800;
  color: var(--v2-accent);
  text-shadow: none;
  font-variant-numeric: tabular-nums;
}

#hud-xp-track {
  background: var(--v2-track);
  border-radius: 999px;
  border: none;
}
#hud-xp-fill {
  background: var(--v2-grad);
  border-radius: 999px;
  box-shadow: 0 0 8px rgba(217, 119, 6, 0.25);
}
#hud-xp-text {
  font-family: var(--v2-font);
  font-size: 9px;
  font-weight: 700;
  color: var(--v2-ink-3);
  letter-spacing: 0.02em;
}

/* Кнопка лидерборда в HUD — золотой чип как .lbv2-chip-gold */
.lb-cell {
  background: var(--v2-gold-tint);
  border: 1px solid var(--v2-gold-brd);
  border-radius: 999px;
}
.lb-cell:hover { background: var(--v2-gold-soft); border-color: var(--v2-gold); }
.lb-trophy { color: var(--v2-gold); opacity: 1; }
#lb-rank {
  font-family: var(--v2-font);
  font-size: 12px;
  font-weight: 800;
  color: var(--v2-gold);
  opacity: 1;
  font-variant-numeric: tabular-nums;
}

/* Ходы: спокойные «пилюльки», warn — красный тинт */
.moves-cell { background: transparent; border-color: transparent; }
.moves-cell.warn {
  background: var(--v2-down-tint);
  border-color: rgba(220, 38, 38, 0.25);
  animation: none;
}
:root.v2-dark .moves-cell.warn { border-color: rgba(235, 91, 91, 0.26); }
.moves-cell.warn .cell-label { color: var(--v2-down); }

.move-pip {
  border: 1.5px solid var(--v2-line);
  border-radius: 4.5px;
}
.move-pip.active {
  background: var(--v2-grad);
  border-color: transparent;
  box-shadow: none;
}
.moves-cell.warn .move-pip.active {
  background: var(--v2-down);
  border-color: transparent;
  box-shadow: none;
}
.move-pip.spent { border-color: var(--v2-line); }

/* Power bar: золотый фил, без «электричества» */
.powerup-label {
  font-family: var(--v2-font);
  font-size: 9px;
  font-weight: 800;
  letter-spacing: 0.08em;
  color: var(--v2-ink-3);
}
#powerup-container {
  background: var(--v2-track);
  border: none;
  border-radius: 999px;
}
#powerup-fill {
  background: var(--v2-grad);
  border-radius: 999px;
  box-shadow: 0 0 8px rgba(217, 119, 6, 0.25);
}
#powerup-fill::before,
#powerup-fill::after { content: none; display: none; animation: none; }

/* Иконки-кнопки HUD: порт .lbv2-ibtn (круглые, surface-2) */
#sound-btn,
#info-btn,
#lang-btn,
#mission-btn,
#hint-btn,
#remove-cube-btn,
#no-ad-btn {
  border-radius: 50%;
  background: var(--v2-surface-2);
  border: 1px solid var(--v2-line);
  color: var(--v2-ink-2);
  box-shadow: none;
}
#sound-btn:hover,
#info-btn:hover,
#lang-btn:hover,
#mission-btn:hover,
#hint-btn:hover,
#remove-cube-btn:hover,
#no-ad-btn:hover {
  background: var(--v2-surface-3);
  color: var(--v2-ink);
  border-color: var(--v2-line);
  box-shadow: none;
}
#lang-btn {
  font-family: var(--v2-font);
  font-size: 10.5px;
  font-weight: 800;
  letter-spacing: 0.04em;
}

/* Hint: без неоновых пульсаций */
#hint-btn,
#hint-btn.energy-mode {
  background: var(--v2-surface-2);
  border: 1px solid var(--v2-line);
  color: var(--v2-ink-2);
  box-shadow: none;
}
#hint-btn.visible { animation: v2GoldRing 2.4s ease-in-out infinite; }
#hint-btn:hover {
  background: var(--v2-surface-3);
  transform: none;
  box-shadow: none;
}

/* Mission: готово/непрочитано — мягкое золотое кольцо вместо неона */
#mission-btn.mission-complete-glow {
  animation: v2GoldRing 1.8s ease-in-out infinite;
  border-color: var(--v2-gold-brd);
}
#mission-btn.mission-unread { animation: v2GoldRing 1.2s ease-in-out infinite; }

/* Remove Cube: активный режим — красный тинт */
#remove-cube-btn.active {
  background: var(--v2-down-tint);
  border-color: rgba(220, 38, 38, 0.35);
  color: var(--v2-down);
  box-shadow: none;
}
:root.v2-dark #remove-cube-btn.active { border-color: rgba(235, 91, 91, 0.32); }

/* No-Ad куплен — зелёная галочка, токены */
#no-ad-btn.purchased {
  color: var(--v2-up);
  border-color: rgba(22, 163, 74, 0.3);
  background: var(--v2-up-tint);
}

/* ═════════════════════ §2. Game Over (#gameover) ═══════════════════════════ */

.go-title {
  font-family: var(--v2-font);
  font-size: 22px;
  font-weight: 800;
  letter-spacing: -0.01em;
  color: var(--v2-ink);
}
.go-title.record-title { color: var(--v2-gold); text-shadow: none; }
.go-title.competitive-title { color: var(--v2-accent); text-shadow: none; }

.go-score {
  font-family: var(--v2-font);
  font-size: 48px;
  font-weight: 800;
  letter-spacing: -0.03em;
  color: var(--v2-gold);
  text-shadow: none;
  font-variant-numeric: tabular-nums;
}

.go-achievement {
  font-family: var(--v2-font);
  font-weight: 700;
  color: var(--v2-ink-2);
}
.go-achievement .ach-record { color: var(--v2-gold); }
.go-achievement .ach-percentile { color: var(--v2-up); }

.go-xp-block {
  background: var(--v2-surface-2);
  border: 1px solid var(--v2-line);
  border-radius: 16px;
}
.go-xp-header {
  font-family: var(--v2-font);
  font-size: 12.5px;
  font-weight: 700;
  color: var(--v2-ink-2);
}
#gameover-xp-track {
  background: var(--v2-track);
  border-radius: 999px;
}
#gameover-xp-fill {
  background: var(--v2-grad);
  border-radius: 999px;
  box-shadow: 0 0 8px rgba(217, 119, 6, 0.25);
}
.go-unlock-hint {
  font-family: var(--v2-font);
  font-size: 12.5px;
  font-weight: 700;
  color: var(--v2-gold);
}

.go-rank-hint {
  font-family: var(--v2-font);
  font-weight: 700;
  color: var(--v2-ink-2);
}
.go-rank-hint .rank-highlight { color: var(--v2-gold); }

/* Main CTA — gold pill (порт .lbv2-btn-gold) */
.go-cta {
  font-family: var(--v2-font);
  font-size: 15px;
  font-weight: 800;
  letter-spacing: 0.01em;
  border: none;
  border-radius: 999px;
  padding: 14px 24px;
}
.go-cta.competitive-cta {
  background: var(--v2-grad-primary);
  color: #ffffff;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.15);
}
:root.v2-dark .go-cta.competitive-cta {
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.35);
  border: 1px solid rgba(255, 255, 255, 0.12);
}
.go-cta.competitive-cta:hover { filter: brightness(1.08); transform: none; }

.go-cta-sub {
  font-family: var(--v2-font);
  font-weight: 700;
  color: var(--v2-ink-3);
}

.go-secondary-link {
  font-family: var(--v2-font);
  font-size: 13px;
  font-weight: 700;
  color: var(--v2-ink-3);
  letter-spacing: 0.01em;
}
.go-secondary-link:hover { color: var(--v2-ink); transform: none; }
.go-secondary-link:active { transform: scale(0.97); }

/* ═════════════════════ §3. Reward (#reward-overlay) ════════════════════════ */

#reward-title {
  font-family: var(--v2-font);
  font-size: 19px;
  font-weight: 800;
  letter-spacing: -0.01em;
  color: var(--v2-ink);
}
#reward-subtitle {
  font-family: var(--v2-font);
  font-size: 12.5px;
  font-weight: 600;
  color: var(--v2-ink-3);
}

#reward-type-icon { border-radius: 14px; }
#reward-type-icon.hint-icon {
  background: var(--v2-gold-tint);
  border: 1px solid var(--v2-gold-brd);
  box-shadow: none;
}
#reward-type-icon.energy-icon {
  background: var(--v2-accent-bg);
  border: 1px solid var(--v2-accent-brd);
  box-shadow: none;
}

/* Опция «Видео» — золотая карточка (как .lbv2-target) */
.reward-option { border-radius: 16px; }
.reward-option-ad {
  background: var(--v2-gold-soft);
  border: 1px solid var(--v2-gold-brd);
  box-shadow: none;
}
/* Опция «Без рекламы» — красный тинт (как .lbv2-chaser) */
.reward-option-no-ad {
  background: var(--v2-down-tint);
  border: 1px solid rgba(220, 38, 38, 0.25);
}
:root.v2-dark .reward-option-no-ad { border-color: rgba(235, 91, 91, 0.24); }

/* Бейджи: пилюли в стиле .lbv2-tag */
.reward-option-badge {
  font-family: var(--v2-font);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  padding: 2.5px 8px;
  border-radius: 999px;
}
.reward-option-badge-ad {
  color: var(--v2-gold);
  background: var(--v2-gold-tint);
  border: 1px solid var(--v2-gold-brd);
}
.reward-option-badge-noad {
  color: var(--v2-down);
  background: var(--v2-down-tint);
  border: 1px solid rgba(220, 38, 38, 0.25);
}
:root.v2-dark .reward-option-badge-noad { border-color: rgba(235, 91, 91, 0.24); }
.reward-option-badge-stars {
  color: var(--v2-gold);
  background: var(--v2-gold-tint);
  border: 1px solid var(--v2-gold-brd);
}
.reward-option-no-ad.reward-stars-mode {
  background: var(--v2-gold-soft);
  border: 1px solid var(--v2-gold-brd);
}

.reward-option-recommend {
  font-family: var(--v2-font);
  font-size: 9px;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--v2-gold);
}

.reward-option-label {
  font-family: var(--v2-font);
  font-size: 12.5px;
  font-weight: 600;
  color: var(--v2-ink-2);
}

.reward-option-penalty {
  font-family: var(--v2-font);
  font-size: 19px;
  font-weight: 800;
  font-variant-numeric: tabular-nums;
  letter-spacing: -0.01em;
}
.reward-option-ad .reward-option-penalty { color: var(--v2-gold); text-shadow: none; }
.reward-option-no-ad .reward-option-penalty { color: var(--v2-down); text-shadow: none; }

.reward-option-divider {
  font-family: var(--v2-font);
  font-size: 10.5px;
  font-weight: 800;
  letter-spacing: 0.08em;
  color: var(--v2-ink-3);
}
.reward-option-divider::before,
.reward-option-divider::after { background: var(--v2-line); }

/* Watch video — gold; Buy — «danger ghost» */
#reward-buy-btn {
  background: var(--v2-down-tint);
  color: var(--v2-down);
  border: 1px solid rgba(220, 38, 38, 0.28);
}
:root.v2-dark #reward-buy-btn { border-color: rgba(235, 91, 91, 0.26); }
#reward-buy-btn:hover {
  background: var(--v2-down-tint);
  border-color: var(--v2-down);
  color: var(--v2-down);
  transform: none;
  box-shadow: none;
  filter: brightness(1.06);
}
#reward-buy-btn.stars-mode {
  background: var(--v2-gold-tint);
  color: var(--v2-gold);
  border: 1px solid var(--v2-gold-brd);
}
#reward-buy-btn.stars-mode:hover {
  background: var(--v2-gold-tint);
  border-color: var(--v2-gold);
  color: var(--v2-gold);
  box-shadow: none;
  filter: brightness(1.06);
}

#reward-progress-track {
  background: var(--v2-track);
  border-radius: 999px;
}
#reward-progress-fill {
  background: var(--v2-grad);
  border-radius: 999px;
  box-shadow: 0 0 8px rgba(217, 119, 6, 0.25);
}
#reward-progress-text {
  font-family: var(--v2-font);
  font-size: 12.5px;
  font-weight: 700;
  color: var(--v2-ink-2);
  letter-spacing: 0.01em;
}
#reward-result-text {
  font-family: var(--v2-font);
  font-size: 14px;
  font-weight: 800;
  color: var(--v2-up);
  letter-spacing: 0;
}

/* ═════════════════════ §4. Confirm (#confirm-overlay) ══════════════════════ */

#confirm-icon {
  background: var(--v2-down-tint);
  border: 1px solid rgba(220, 38, 38, 0.22);
  color: var(--v2-down);
}
:root.v2-dark #confirm-icon { border-color: rgba(235, 91, 91, 0.2); }

#confirm-title {
  font-family: var(--v2-font);
  font-size: 18px;
  font-weight: 800;
  letter-spacing: -0.01em;
  color: var(--v2-ink);
}
#confirm-text {
  font-family: var(--v2-font);
  font-size: 14px;
  font-weight: 600;
  color: var(--v2-ink-2);
  line-height: 1.5;
}
#confirm-price-display {
  font-family: var(--v2-font);
  font-size: 22px;
  font-weight: 800;
  color: var(--v2-gold);
  text-shadow: none;
  font-variant-numeric: tabular-nums;
}

/* ═════════════════════ §5. Info (#info-overlay) ════════════════════════════ */

#info-box-title {
  font-family: var(--v2-font);
  font-size: 17px;
  font-weight: 800;
  letter-spacing: -0.01em;
  color: var(--v2-ink);
}
.info-section-title {
  font-family: var(--v2-font);
  font-size: 11.5px;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--v2-ink-2);
  border-bottom: 1px solid var(--v2-line);
  padding-bottom: 6px;
}
.info-rule {
  font-family: var(--v2-font);
  font-size: 13.5px;
  font-weight: 600;
  color: var(--v2-ink-2);
  line-height: 1.55;
}
/* Info из стартового экрана (transparent-mode) перекрыт в <style> index.html */

/* ═════════════════════ §6. Language (#lang-overlay) ════════════════════════ */

#lang-box-title {
  font-family: var(--v2-font);
  font-size: 17px;
  font-weight: 800;
  letter-spacing: -0.01em;
  color: var(--v2-ink);
}

.lang-item {
  background: var(--v2-surface-2);
  border: 1px solid var(--v2-line);
  border-radius: 14px;
}
.lang-item:hover {
  background: var(--v2-surface-3);
  border-color: var(--v2-line);
}
.lang-item.active {
  background: var(--v2-gold-tint);
  border: 1px solid var(--v2-gold-brd);
  box-shadow: none;
}
.lang-item-native {
  font-family: var(--v2-font);
  font-size: 15.5px;
  font-weight: 700;
  color: var(--v2-ink);
}
.lang-item-code {
  font-family: var(--v2-font);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.04em;
  color: var(--v2-ink-3);
}
.lang-item.active .lang-item-native { color: var(--v2-gold); }
.lang-item.active .lang-item-code { color: var(--v2-gold); opacity: 0.7; }
.lang-item.active .lang-item-check { color: var(--v2-gold); }

/* ═════════════════════ §7. Mission (#mission-overlay) ══════════════════════ */

#mission-box-title {
  font-family: var(--v2-font);
  font-size: 17px;
  font-weight: 800;
  letter-spacing: -0.01em;
  color: var(--v2-ink);
}

#mission-level-row {
  background: var(--v2-surface-2);
  border: 1px solid var(--v2-line);
  border-radius: 14px;
}
#mission-level-label {
  font-family: var(--v2-font);
  font-size: 10.5px;
  font-weight: 800;
  letter-spacing: 0.08em;
  color: var(--v2-ink-3);
}
#mission-level-num {
  font-family: var(--v2-font);
  font-size: 20px;
  font-weight: 800;
  color: var(--v2-accent);
  text-shadow: none;
  font-variant-numeric: tabular-nums;
}
#mission-xp-track {
  background: var(--v2-track);
  border: none;
  border-radius: 999px;
}
#mission-xp-fill {
  background: var(--v2-grad);
  border-radius: 999px;
  box-shadow: 0 0 8px rgba(217, 119, 6, 0.25);
}
#mission-xp-text {
  font-family: var(--v2-font);
  font-size: 10.5px;
  font-weight: 700;
  color: var(--v2-ink-3);
}

#mission-active-label {
  font-family: var(--v2-font);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.08em;
  color: var(--v2-gold);
}
#mission-active-name {
  font-family: var(--v2-font);
  font-size: 15.5px;
  font-weight: 800;
  letter-spacing: -0.01em;
  color: var(--v2-ink);
}
#mission-active-desc {
  font-family: var(--v2-font);
  font-size: 13px;
  font-weight: 600;
  color: var(--v2-ink-2);
  line-height: 1.5;
}
#mission-progress-track {
  background: var(--v2-track);
  border: none;
  border-radius: 999px;
}
#mission-progress-fill {
  background: var(--v2-grad);
  border-radius: 999px;
  box-shadow: 0 0 8px rgba(217, 119, 6, 0.25);
}
#mission-progress-text {
  font-family: var(--v2-font);
  font-size: 11.5px;
  font-weight: 700;
  color: var(--v2-ink-2);
}
#mission-moves-remaining {
  font-family: var(--v2-font);
  font-size: 11px;
  font-weight: 700;
  color: var(--v2-ink-3);
}
#mission-divider { background: var(--v2-line); }
#mission-completed-label {
  font-family: var(--v2-font);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.08em;
  color: var(--v2-ink-3);
}
.mission-completed-item {
  font-family: var(--v2-font);
  font-size: 13px;
  font-weight: 600;
  color: var(--v2-ink-2);
}
.mission-completed-item .mission-check { color: var(--v2-up); }
.mission-completed-item.mission-failed { color: var(--v2-ink-3); }

/* ═════════════════════ §8. Level Up (#levelup-overlay) ═════════════════════ */

#levelup-title {
  font-family: var(--v2-font);
  font-size: 26px;
  font-weight: 800;
  letter-spacing: -0.01em;
  color: var(--v2-ink);
  text-shadow: none;
}
#levelup-number {
  font-family: var(--v2-font);
  font-size: 64px;
  font-weight: 800;
  letter-spacing: -0.03em;
  color: var(--v2-gold);
  text-shadow: none;
  font-variant-numeric: tabular-nums;
}

/* ═════════════════════ §9. LB Promo (#lbpromo-overlay) ═════════════════════ */

#lbpromo-icon {
  background: var(--v2-gold-tint);
  border: 1px solid var(--v2-gold-brd);
  color: var(--v2-gold);
  box-shadow: none;
}
#lbpromo-title {
  font-family: var(--v2-font);
  font-size: 24px;
  font-weight: 800;
  letter-spacing: -0.01em;
  color: var(--v2-gold);
  text-shadow: none;
}
#lbpromo-rank {
  font-family: var(--v2-font);
  font-size: 56px;
  font-weight: 800;
  letter-spacing: -0.03em;
  color: var(--v2-gold);
  text-shadow: none;
  font-variant-numeric: tabular-nums;
}
#lbpromo-subtitle {
  font-family: var(--v2-font);
  font-size: 13.5px;
  font-weight: 600;
  color: var(--v2-ink-2);
}

/* Тиры: акцентные рамки вместо неоновых свечений (теней sh-md достаточно) */
#lbpromo-box.tier-1,
#lbpromo-box.tier-3   { border-color: var(--v2-gold-brd); box-shadow: var(--v2-sh-md); }
#lbpromo-box.tier-10  { border-color: rgba(217, 119, 6, 0.16); box-shadow: var(--v2-sh-md); }
#lbpromo-box.tier-25  { border-color: var(--v2-accent-brd); box-shadow: var(--v2-sh-md); }
#lbpromo-box.tier-50  { border-color: rgba(22, 163, 74, 0.28); box-shadow: var(--v2-sh-md); }
#lbpromo-box.tier-100 { border-color: rgba(22, 163, 74, 0.2); box-shadow: var(--v2-sh-md); }
#lbpromo-box.tier-1000,
#lbpromo-box.tier-1001 { border-color: var(--v2-line); box-shadow: var(--v2-sh-md); }
:root.v2-dark #lbpromo-box.tier-50  { border-color: rgba(52, 199, 89, 0.26); }
:root.v2-dark #lbpromo-box.tier-100 { border-color: rgba(52, 199, 89, 0.2); }

#lbpromo-box.tier-1 #lbpromo-rank,
#lbpromo-box.tier-3 #lbpromo-rank,
#lbpromo-box.tier-1 #lbpromo-title,
#lbpromo-box.tier-3 #lbpromo-title { color: var(--v2-gold); }
#lbpromo-box.tier-10 #lbpromo-rank,
#lbpromo-box.tier-10 #lbpromo-title { color: var(--v2-gold-2); }
#lbpromo-box.tier-25 #lbpromo-rank,
#lbpromo-box.tier-25 #lbpromo-title { color: var(--v2-accent); }
#lbpromo-box.tier-50 #lbpromo-rank,
#lbpromo-box.tier-100 #lbpromo-rank,
#lbpromo-box.tier-50 #lbpromo-title,
#lbpromo-box.tier-100 #lbpromo-title { color: var(--v2-up); }
#lbpromo-box.tier-1000 #lbpromo-rank,
#lbpromo-box.tier-1001 #lbpromo-rank,
#lbpromo-box.tier-1000 #lbpromo-title,
#lbpromo-box.tier-1001 #lbpromo-title { color: var(--v2-ink); }

/* ═════════════════════ §10. Challenge (.challenge-overlay) ═════════════════ */

.challenge-icon {
  font-size: 48px;
  filter: none;
  margin-bottom: 16px;
}
.challenge-from {
  font-family: var(--v2-font);
  font-size: 18px;
  font-weight: 800;
  letter-spacing: -0.01em;
  color: var(--v2-gold);
}
.challenge-title {
  font-family: var(--v2-font);
  font-size: 11.5px;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--v2-ink-3);
}
.challenge-score {
  font-family: var(--v2-font);
  font-size: 40px;
  font-weight: 800;
  letter-spacing: -0.03em;
  color: var(--v2-gold);
  text-shadow: none;
  font-variant-numeric: tabular-nums;
}
.challenge-box .go-cta {
  font-family: var(--v2-font);
  font-size: 15px;
  font-weight: 800;
  letter-spacing: 0.01em;
  text-transform: none;
  border-radius: 999px;
  box-shadow: var(--v2-sh-gold);
}
.challenge-box .go-secondary-link {
  font-family: var(--v2-font);
  font-size: 13.5px;
  font-weight: 700;
  letter-spacing: 0.01em;
  text-transform: none;
}

/* ═════════════════════ §11. Review (#review-overlay) ═══════════════════════ */

#review-icon {
  background: var(--v2-gold-tint);
  border: 1px solid var(--v2-gold-brd);
  color: var(--v2-gold);
  box-shadow: none;
}
#review-title {
  font-family: var(--v2-font);
  font-size: 23px;
  font-weight: 800;
  letter-spacing: -0.01em;
  color: var(--v2-ink);
  text-shadow: none;
}
#review-level,
#review-reward-label {
  font-family: var(--v2-font);
  font-size: 10.5px;
  font-weight: 800;
  letter-spacing: 0.08em;
  color: var(--v2-ink-3);
}
#review-level-number {
  font-family: var(--v2-font);
  font-size: 44px;
  font-weight: 800;
  letter-spacing: -0.03em;
  color: var(--v2-gold);
  text-shadow: none;
  font-variant-numeric: tabular-nums;
}
#review-reward-amount {
  font-family: var(--v2-font);
  font-size: 32px;
  font-weight: 800;
  letter-spacing: -0.03em;
  color: var(--v2-gold);
  text-shadow: none;
  font-variant-numeric: tabular-nums;
}

/* ═════════════════════ §12. Task (#task-overlay) ═══════════════════════════ */

#task-icon {
  background: var(--v2-gold-tint);
  border: 1px solid var(--v2-gold-brd);
  color: var(--v2-gold);
  box-shadow: none;
}
#task-title {
  font-family: var(--v2-font);
  font-size: 20px;
  font-weight: 800;
  letter-spacing: -0.01em;
  color: var(--v2-ink);
  text-shadow: none;
}
#task-text {
  font-family: var(--v2-font);
  font-size: 14px;
  font-weight: 600;
  color: var(--v2-ink-2);
  line-height: 1.55;
}
#task-reward-label {
  font-family: var(--v2-font);
  font-size: 10.5px;
  font-weight: 800;
  letter-spacing: 0.08em;
  color: var(--v2-ink-3);
}
#task-reward-amount {
  font-family: var(--v2-font);
  font-size: 32px;
  font-weight: 800;
  letter-spacing: -0.03em;
  color: var(--v2-gold);
  text-shadow: none;
  font-variant-numeric: tabular-nums;
}

/* ═════════════════════ §13. Sound popup (#sound-overlay) ═══════════════════ */

#sound-box-title {
  font-family: var(--v2-font);
  font-size: 17px;
  font-weight: 800;
  letter-spacing: -0.01em;
  color: var(--v2-ink);
  text-transform: none;
}
.sound-section-label {
  font-family: var(--v2-font);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--v2-ink-3);
}
#sound-divider { background: var(--v2-line); }

.sound-slider-icon { color: var(--v2-ink-3); opacity: 1; }
.sound-slider {
  background: var(--v2-track);
  height: 6px;
  border-radius: 999px;
}
.sound-slider:hover { background: var(--v2-track); }
.sound-slider::-webkit-slider-thumb {
  background: var(--v2-gold);
  border: 3px solid var(--v2-box);
  box-shadow: var(--v2-sh-sm);
}
.sound-slider::-webkit-slider-thumb:hover { transform: scale(1.1); box-shadow: var(--v2-sh-sm); }
.sound-slider::-moz-range-thumb {
  background: var(--v2-gold);
  border: 3px solid var(--v2-box);
  box-shadow: var(--v2-sh-sm);
}
.sound-slider::-moz-range-progress {
  background: var(--v2-gold);
  height: 6px;
  border-radius: 999px;
}
.sound-slider-value {
  font-family: var(--v2-font);
  font-size: 13px;
  font-weight: 800;
  color: var(--v2-ink);
  font-variant-numeric: tabular-nums;
}

.sound-toggle-label {
  font-family: var(--v2-font);
  font-size: 15px;
  font-weight: 700;
  color: var(--v2-ink);
  letter-spacing: 0;
}
.sound-toggle-desc {
  font-family: var(--v2-font);
  font-size: 11.5px;
  font-weight: 600;
  color: var(--v2-ink-3);
}

/* Тумблеры: off — surface-3, on — золотой (единый акцент, как LB v2) */
.sound-toggle-switch { background: var(--v2-surface-3); }
#sound-music-switch.on,
#sound-effects-switch.on { background: var(--v2-gold); }
.sound-toggle-knob { box-shadow: 0 2px 6px rgba(0, 0, 0, 0.25); }

/* ═════════════════════ §14. Bonus: Remove Cube bar ═════════════════════════ */

#remove-cube-cancel-bar {
  background: var(--v2-box);
  border: 1px solid var(--v2-line);
  border-radius: 16px;
  box-shadow: var(--v2-sh-md);
}
#remove-cube-cancel-label {
  font-family: var(--v2-font);
  font-size: 14px;
  font-weight: 700;
  color: var(--v2-ink-2);
}
#remove-cube-cancel-btn {
  font-family: var(--v2-font);
  font-size: 12.5px;
  font-weight: 800;
  letter-spacing: 0.01em;
  color: var(--v2-down);
  background: var(--v2-down-tint);
  border: 1px solid rgba(220, 38, 38, 0.28);
  border-radius: 999px;
  animation: none;
}
:root.v2-dark #remove-cube-cancel-btn { border-color: rgba(235, 91, 91, 0.26); }
#remove-cube-cancel-btn:hover {
  background: var(--v2-down-tint);
  color: var(--v2-down);
  border-color: var(--v2-down);
}
#remove-cube-cancel-btn:active { transform: scale(0.95); }

/* ═════════════════════ §15. Адаптив V2 ═════════════════════════════════════ */

@media (max-width: 420px) {
  /* Круглые иконки остаются круглыми (старый responsive.css делал radius 8px) */
  #sound-btn, #info-btn, #lang-btn, #mission-btn, #hint-btn,
  #remove-cube-btn, #no-ad-btn { border-radius: 50%; }
  .lb-cell { border-radius: 999px; }
  .move-pip { border-radius: 4px; }

  #hud-bar { border-radius: 16px; }

  .go-cta { padding: 13px 20px; font-size: 14px; }
  .go-score { font-size: 42px; }
  .go-title { font-size: 19px; }

  #levelup-title { font-size: 22px; }
  #levelup-number { font-size: 54px; }

  #lbpromo-title { font-size: 21px; }
  #lbpromo-rank { font-size: 48px; }

  #review-title { font-size: 20px; }
  #review-level-number { font-size: 36px; }
  #review-reward-amount { font-size: 27px; }

  #task-title { font-size: 18px; }
  #task-reward-amount { font-size: 27px; }

  .challenge-score { font-size: 34px; }
}

@media (max-height: 600px) {
  .go-score { font-size: 40px; }
  #levelup-number { font-size: 50px; }
  #lbpromo-rank { font-size: 44px; }
  #review-level-number { font-size: 32px; }
  #review-reward-amount { font-size: 24px; }
  #task-reward-amount { font-size: 24px; }
}

