/* LA2BEST.ORG: тема личного кабинета в стиле сайта (27.09.2026, раунд 2 дизайн-системы).
   Подключается последним после codebase.css, custom.css и earth.min.css. Откат: убрать подключение файла.
   Цвета сайта: фон #05090f, золото заголовков #ffc75b, багровая кнопка входа #791818 -> #4d0b0b, зелёная «Начать игру».
   Шрифты: Philosopher (русские заголовки), Raleway (всё остальное).
   Модули MMOWeb (TopVote .lbv, рефералка .lbr, HeadInfo, аккаунты, пожертвования) подключают свои стили позже темы,
   поэтому их правила здесь идут с приставкой #main-container.
   Движение: только transform и opacity; box-shadow, filter, outline и фон не анимируются. */

/* ================= 1. токены ================= */
:root {
  /* поверхности: E0 страница, E1 карточка, E2 панель в карточке, E3 плавающий слой */
  --lb-bg: #05090f;
  --lb-bg-2: #080d15;
  --lb-surface: #0d131c;
  --lb-surface-2: #121a26;
  --lb-surface-3: #182232;
  --lb-float: #1a2332;
  --lb-line: #1c2636;
  --lb-line-2: #27344a;
  --lb-line-ctl: #4a5870;
  --lb-field: #0a0f17;
  --lb-cell: #070b11;
  --lb-text: #e4e7ed;
  --lb-text-2: #b3bbc8;
  --lb-muted: #7f8898;
  --lb-placeholder: #758094;
  /* синего, жёлтого и лилового в палитре нет: только золото, багровый (как «Войти» сайта) и зелёный (как «Начать игру») */
  --lb-gold: #e5b95c;
  --lb-gold-hi: #ffc75b;
  --lb-gold-soft: rgba(229, 185, 92, .12);
  --lb-gold-line: rgba(229, 185, 92, .28);
  --lb-gold-hover: rgba(229, 185, 92, .45);
  --lb-gold-ring: rgba(229, 185, 92, .9);
  --lb-crimson-1: #791818;
  --lb-crimson-2: #4d0b0b;
  --lb-crimson-1h: #8a1d1d;
  --lb-crimson-2h: #5a0e0e;
  --lb-crimson-line: #9a2a2a;
  --lb-glow: rgba(121, 24, 24, .24);
  --lb-green-1: #178f33;
  --lb-green-2: #00570e;
  --lb-green-1h: #1a9e39;
  --lb-green-2h: #036614;
  --lb-green-line: #23a441;
  --lb-ok: #5fd07a;
  --lb-danger: #e05252;
  /* отступы: шаг 4 */
  --lb-s1: 4px;
  --lb-s2: 8px;
  --lb-s3: 12px;
  --lb-s4: 16px;
  --lb-s5: 20px;
  --lb-s6: 24px;
  --lb-s8: 32px;
  --lb-s12: 48px;
  --lb-pad: 20px;
  --lb-gap: 24px;
  /* радиусы по ролям: карточка, контрол, чип */
  --lb-r-card: 10px;
  --lb-r-in: 9px;
  --lb-r-ctl: 8px;
  --lb-r-chip: 6px;
  --lb-radius: var(--lb-r-card);
  /* высоты контролов */
  --lb-h-l: 40px;
  --lb-h-m: 34px;
  --lb-h-s: 28px;
  --lb-h-head: 34px;
  /* шрифты */
  --lb-font: Raleway, Arial, sans-serif;
  --lb-font-head: Philosopher, Georgia, serif;
  --lb-fs-cap: 11px;
  --lb-fs-xs: 12px;
  --lb-fs-sm: 13px;
  --lb-fs-md: 14px;
  --lb-fs-h3: 16px;
  --lb-fs-h2: 20px;
  --lb-fs-val: 24px;
  --lb-fs-h1: 28px;
  --lb-track: .1em;
  /* тени только у плавающих слоёв */
  --lb-shadow-float: 0 16px 40px rgba(0, 0, 0, .55);
  --lb-shadow-item: 0 4px 10px rgba(0, 0, 0, .5);
  /* движение */
  --lb-ease: cubic-bezier(.2, .7, .2, 1);
  --lb-t1: .15s;
  --lb-t2: .22s;
  --lb-t3: .5s;
  --lb-lift: -2px;
}
/* сенсорный шаг высот: планшет и телефон (шапка страницы его не получает) */
@media (max-width: 991.98px) { :root { --lb-h-l: 44px; --lb-h-m: 40px; --lb-h-s: 34px; } }
@media (max-width: 575.98px) { :root { --lb-pad: 16px; --lb-gap: 16px; } }

/* ================= 2. основа ================= */
html, body { background-color: var(--lb-bg); }
body, #page-container {
  font-family: var(--lb-font);
  color: var(--lb-text-2);
  background-color: var(--lb-bg);
  font-variant-numeric: lining-nums;
  font-feature-settings: "lnum" 1;
}
#page-container, #main-container, #page-container #main-container, #page-container.page-header-modern #main-container { background-color: var(--lb-bg); }
#main-container {
  background-image: radial-gradient(1200px 420px at 70% -120px, rgba(121, 24, 24, .16), transparent 70%);
  background-repeat: no-repeat;
}
h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6 { color: var(--lb-text); }
h1, h2, h3, .h1, .h2, .h3, .content-heading, .block-title { font-family: var(--lb-font-head); letter-spacing: 0; }
/* вторая гарнитура на всё остальное: заголовки h4-h6, кнопки, подсказки, ползунок (Muli старой темы уходит) */
h4, h5, h6, .h4, .h5, .h6, .btn, .tooltip, .popover, .popover-header, #main-container .irs { font-family: var(--lb-font); }
.content-heading { color: var(--lb-text); border-bottom-color: var(--lb-line); }
a, .link-effect { color: var(--lb-gold); transition: color var(--lb-t1) ease; }
a:hover, a:focus { color: var(--lb-gold-hi); }
hr { border-top-color: var(--lb-line); }
.text-muted { color: var(--lb-muted) !important; }
.text-dark, .text-black, .text-body-color-dark { color: var(--lb-text) !important; }
.text-primary { color: var(--lb-gold) !important; }
.text-success { color: var(--lb-ok) !important; }
.text-danger { color: var(--lb-danger) !important; }
.border, .border-b, .border-t, .border-r, .border-l, .border-right, .border-left, .border-top, .border-bottom { border-color: var(--lb-line) !important; }
code { font-family: var(--lb-font); font-size: var(--lb-fs-xs); font-weight: 600; color: var(--lb-gold-hi); background: var(--lb-surface-2); border-radius: var(--lb-r-chip); padding: 2px 6px; }
::selection { background: rgba(229, 185, 92, .35); color: #fff; }
.bg-white, .bg-body, .bg-body-light, .bg-gray-lighter, .bg-body-dark, .bg-gray-light { background-color: var(--lb-surface-2) !important; }
.table, #main-container #calculation_board, #main-container .irs { font-variant-numeric: lining-nums tabular-nums; }
/* поля и кнопки не наследуют цифры от body: у Raleway по умолчанию старые (строчные) цифры */
button, input, select, optgroup, textarea, .btn { font-variant-numeric: lining-nums; font-feature-settings: "lnum" 1; }
/* выключки по ширине нет: только влево или по центру */
#main-container .text-justify { text-align: left !important; }

/* ================= 3. боковое меню ================= */
#page-container.sidebar-inverse #sidebar, #sidebar {
  background-color: var(--lb-bg-2);
  border-right: 1px solid var(--lb-line);
  box-shadow: none;
}
#sidebar .content-header, .sidebar-inverse #sidebar .content-header { background-color: transparent; }
/* логотип сайта вместо текста «La2Best.org» */
#sidebar .content-header.content-header-fullrow { height: auto; padding-top: 12px; padding-bottom: 4px; }
#sidebar .content-header-item { height: auto; }
#sidebar .content-header-item .link-effect { display: block; }
#sidebar .content-header-item .link-effect::before { display: none; }
#sidebar .content-header-item .link-effect .font-size-xl.text-dual-primary-dark {
  display: block; width: 178px; height: 64px; margin: 0 auto;
  font-size: 0 !important; color: transparent !important;
  background: url(/template/site/la2best/images/logo/logo.webp) center / contain no-repeat;
}
#sidebar .content-header .btn-circle .text-danger { color: var(--lb-muted) !important; }
#sidebar .content-side { padding-top: 8px; }
/* переключатель сервера */
#sidebar #toolbarDrop {
  min-width: 0;
  height: var(--lb-h-l);
  padding: 0 12px;
  border-radius: var(--lb-r-ctl) !important;
  background: var(--lb-surface-2);
  border: 1px solid var(--lb-line-2);
  color: var(--lb-text);
  font-weight: 600; font-size: 13px; line-height: 16px; font-family: var(--lb-font);
  letter-spacing: 0;
  box-shadow: none;
  gap: 8px;
  margin-bottom: 12px;
  white-space: nowrap;
}
#sidebar #toolbarDrop:hover, #sidebar #toolbarDrop[aria-expanded="true"] { border-color: var(--lb-gold-hover); background: var(--lb-surface-3); color: var(--lb-text); }
#sidebar #toolbarDrop::after {
  flex: none; width: 10px; height: 6px; margin-left: auto; border: 0; vertical-align: middle;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%238a93a3' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 10px 6px no-repeat;
  transition: transform var(--lb-t1) ease;
}
#sidebar #toolbarDrop[aria-expanded="true"]::after { transform: rotate(180deg); }
/* значок платформы убран: имя сервера и стрелка помещаются в ширину меню */
#sidebar #toolbarDrop .img-avatar { display: none !important; }
#sidebar .dropdown-menu { min-width: 100%; }
/* пункты меню: высота 34, шаг 36 (было 40 и 44, между строками 24 px пустоты); значки на одной линии с переключателем и блоком файлов (x = 31 px), текст в 10 px от значка */
#sidebar .nav-main { margin-left: 0; margin-right: 0; }
.sidebar-inverse #sidebar .nav-main a,
#sidebar .nav-main a {
  display: flex;
  align-items: center;
  min-height: 34px;
  margin: 0 0 2px;
  padding: 7px 10px 7px 39px;
  border-radius: var(--lb-r-ctl);
  color: var(--lb-text-2);
  font-weight: 600; font-size: 14px; line-height: 20px; font-family: var(--lb-font);
  position: relative;
  transition: color var(--lb-t1) ease, background-color var(--lb-t1) ease, border-color var(--lb-t1) ease;
}
.sidebar-inverse #sidebar .nav-main a > i,
#sidebar .nav-main a > i { color: var(--lb-muted); left: 13px; transition: transform var(--lb-t2) var(--lb-ease), color var(--lb-t1) ease; }
.sidebar-inverse #sidebar .nav-main a:hover,
.sidebar-inverse #sidebar .nav-main a:focus-visible,
#sidebar .nav-main a:hover { color: var(--lb-text); background-color: rgba(255, 255, 255, .035); }
.sidebar-inverse #sidebar .nav-main a:hover > i,
.sidebar-inverse #sidebar .nav-main a.active > i,
.sidebar-inverse #sidebar .nav-main a:focus-visible > i,
#sidebar .nav-main a:hover > i { color: var(--lb-gold); }
#sidebar .nav-main a:hover > i { transform: translateX(2px) translateY(-50%); }
/* активный пункт: общий рецепт активного состояния */
.sidebar-inverse #sidebar .nav-main a.active,
#sidebar .nav-main a.active {
  color: var(--lb-gold-hi);
  background-color: var(--lb-gold-soft);
  box-shadow: inset 0 0 0 1px rgba(229, 185, 92, .4);
}
/* баланс CoL второй строкой под «Пожертвования», значок у первой строки */
#sidebar .nav-main a .text-success { display: block; margin-top: 0; font-weight: 700; font-size: 12px; line-height: 16px; font-family: var(--lb-font); color: var(--lb-gold) !important; }
#sidebar .nav-main a:has(.balance_html) > i { top: 17px; }
/* ссылки наружу (Telegram, Discord, сайт; открываются в новой вкладке) отделены чертой от разделов кабинета */
#sidebar .nav-main > li:has(> a:not([target="_blank"])) + li:has(> a[target="_blank"]) { margin-top: 6px; padding-top: 8px; border-top: 1px solid var(--lb-line); }
/* тихий пейзаж внизу меню */
#sidebar::after { content: ''; position: absolute; left: 0; right: 0; bottom: 0; height: 240px; z-index: 0; pointer-events: none;
  background: url(/template/site/la2best/images/footer/bg.jpg) 40% 100% / cover no-repeat; opacity: .55;
  -webkit-mask-image: linear-gradient(0deg, #000 35%, transparent); mask-image: linear-gradient(0deg, #000 35%, transparent); }
#sidebar .sidebar-content { position: relative; z-index: 1; }

/* ================= 4. шапка ================= */
#page-header, #page-container #page-header, #page-container.page-header-modern #page-header,
#page-container.page-header-fixed #page-header, #page-container.page-header-glass.page-header-fixed.page-header-scroll #page-header {
  background-color: rgba(8, 13, 21, .94);
  border-bottom: 1px solid var(--lb-line);
  box-shadow: none;
}
#page-header .content-header > .content-header-section:last-child { display: flex; align-items: center; gap: 8px; }
/* кнопки шапки: высота 34 везде, вторичный вид, радиус контрола */
html #page-header .btn,
html #page-header .btn.btn-rounded {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  height: var(--lb-h-head);
  padding: 0 12px;
  border-radius: var(--lb-r-ctl) !important;
  background-color: var(--lb-surface-2);
  border: 1px solid var(--lb-line-2);
  color: var(--lb-text-2);
  font-weight: 700; font-size: 13px; line-height: 16px; font-family: var(--lb-font);
  letter-spacing: .01em;
  box-shadow: none;
}
html #page-header .btn:hover,
html #page-header .btn:focus-visible { border-color: rgba(229, 185, 92, .55); color: var(--lb-gold-hi); background-color: var(--lb-surface-2); }
html #page-header .btn.active,
html #page-header .btn-dual-secondary:not(:disabled):not(.disabled).active {
  background-color: var(--lb-gold-soft);
  border-color: transparent;
  box-shadow: inset 0 0 0 1px rgba(229, 185, 92, .4);
  color: var(--lb-gold-hi);
}
html #page-header .btn .si, html #page-header .btn .fa { top: 0; font-size: 14px; }
/* гамбургер: круг, без рамки */
html #page-header .btn.btn-circle { width: 34px; min-width: 34px; padding: 0; border-radius: 50% !important; border-color: transparent; background-color: transparent; }
html #page-header .btn.btn-circle:hover { background-color: var(--lb-surface-2); border-color: transparent; color: var(--lb-text); }
#page-header a[href$="/logout"] i { color: var(--lb-muted); margin-left: 0; }
html #page-header a[href$="/logout"]:hover { border-color: rgba(224, 82, 82, .6); color: var(--lb-text); }
#page-header a[href$="/logout"]:hover i { color: var(--lb-danger); }
/* «Выйти» на одной линии с правым краем блоков */
#page-header .content-header-section > .btn.mr-5 { margin-right: 0 !important; }
/* индикатор загрузки MMOWeb (отправка форм, переход к оплате): была красная полоса во всю шапку.
   Теперь шапка того же цвета, маленький золотой значок загрузки и бегущая золотая линия внизу */
#page-header-loader.bg-primary { background: var(--lb-surface) !important; overflow: hidden; }
#page-header-loader .spinner-border.text-light { width: 20px; height: 20px; border-width: 2px; color: var(--lb-gold) !important; }
#page-header-loader::after { content: ''; position: absolute; left: 0; bottom: 0; width: 30%; height: 2px; background: linear-gradient(90deg, transparent, var(--lb-gold), transparent); transform: translateX(-100%); }
#page-header-loader.show::after { animation: lbLoadLine 1.1s ease-in-out infinite; }
@keyframes lbLoadLine { to { transform: translateX(334%); } }
@media (prefers-reduced-motion: reduce) { #page-header-loader.show::after { animation: none; transform: none; width: 100%; } }
/* всплывающие сообщения: непрозрачная плашка поверх шапки и индикатора, цвет типа полоской слева */
[data-notify="container"].alert { background-color: var(--lb-surface) !important; color: var(--lb-text) !important; border: 1px solid var(--lb-line-2) !important; border-left-width: 3px !important; box-shadow: var(--lb-shadow-float); z-index: 1060 !important; }
[data-notify="container"].alert-success { border-left-color: var(--lb-ok) !important; }
[data-notify="container"].alert-danger { border-left-color: var(--lb-danger) !important; }
[data-notify="container"].alert-warning, [data-notify="container"].alert-info { border-left-color: var(--lb-gold) !important; }
/* скрытый индикатор загрузки не крутится впустую */
#page-header-loader:not(.show) .spinner-border { animation: none; }
/* поле шапки как у контента: 24 на планшете, 16 на телефоне */
@media (min-width: 768px) and (max-width: 991.98px) { #page-header .content-header { padding-left: 24px; padding-right: 24px; } }
@media (max-width: 767.98px) { #page-header .content-header { padding-left: 16px; padding-right: 16px; } }
/* большие мониторы: шапка на всю ширину (меню слева, кнопки у правого края), колонка содержимого остаётся 1200 px (у MMOWeb шапка тоже была 1200 px по центру) */
#page-container.main-content-boxed > #page-header .content-header { max-width: none; }

/* ================= 5. блоки ================= */
.block, .block.block-bordered, .block-rounded {
  background-color: var(--lb-surface);
  border: 1px solid var(--lb-line);
  border-radius: var(--lb-r-card);
  box-shadow: none;
  color: var(--lb-text-2);
  margin-bottom: var(--lb-gap);
}
.block.block-rounded { border-radius: var(--lb-r-card); }
.block.block-rounded > .block-header:first-child,
.block.block-rounded > .block-content:first-child,
.block.block-rounded > .nav-tabs-block:first-child { border-top-left-radius: var(--lb-r-in); border-top-right-radius: var(--lb-r-in); }
.block.block-rounded > .block-header:last-child,
.block.block-rounded > .block-content:last-child { border-bottom-left-radius: var(--lb-r-in); border-bottom-right-radius: var(--lb-r-in); }
.block.block-fx-shadow, .block-fx-shadow, .block.block-fx-pop, .block-fx-pop { box-shadow: none !important; }
#main-container .block-content { padding-left: var(--lb-pad); padding-right: var(--lb-pad); }
.block-header, .block-header-default { background-color: transparent; border-bottom: 1px solid var(--lb-line); }
.block-title { color: var(--lb-text); font-size: var(--lb-fs-h3); line-height: 24px; }
.block-title small { color: var(--lb-muted); }
.block-options .btn-block-option { color: var(--lb-muted); transition: color var(--lb-t1) ease; }
.block-options .btn-block-option:hover { color: var(--lb-text); }
.block-content { color: var(--lb-text-2); }
.font-size-h3.font-w600, .font-size-h2.font-w600 { color: var(--lb-text); }

/* шапка раздела: одна на голосование, рефералку, аккаунты, карточки входа и окна.
   Свечение лавы из угла поверх тёмного перехода, снизу золотая нить. */
.block-header.bg-primary, .block-header.bg-primary-dark, .bg-primary-dark, .block-themed > .block-header.bg-primary,
.bg-gd-dusk, .bg-gd-primary, .bg-gd-sea, .bg-gd-emerald, .bg-gd-aqua, .bg-gd-lake, .bg-gd-sun, .bg-gd-cherry, .bg-gd-corporate, .bg-gd-earth, .bg-gd-elegance, .bg-gd-pulse, .bg-gd-leaf,
#main-container .lbv .lbv-hero, #main-container .lbr .lbr-hero, #main-container .ribbon > .block-content > .mb-20 {
  background: radial-gradient(120% 160% at 0 0, var(--lb-glow) 0%, rgba(121, 24, 24, 0) 58%), linear-gradient(180deg, #111822 0%, #0d131c 100%) !important;
  border-bottom: 1px solid var(--lb-gold-line) !important;
}
.block.block-themed > .block-header, .block-themed .block-header.bg-primary-dark, .block-themed .block-header[class*="bg-gd-"], .block-header.bg-primary-dark {
  padding: var(--lb-s5) var(--lb-pad);
}
.block-header .block-title, .block.block-themed > .block-header .block-title, .block.block-themed > .block-header > .block-title {
  font-weight: 700; font-size: 20px; line-height: 28px; font-family: var(--lb-font-head);
  color: var(--lb-gold);
  letter-spacing: 0;
}

/* ================= 6. формы ================= */
.form-control, .custom-select, select.form-control {
  background-color: var(--lb-field);
  border: 1px solid var(--lb-line-ctl);
  color: var(--lb-text);
  border-radius: var(--lb-r-ctl);
  font-family: var(--lb-font);
  transition: border-color var(--lb-t1) ease, background-color var(--lb-t1) ease;
}
.input-group-text { background-color: var(--lb-surface-2); border-color: var(--lb-line-ctl); color: var(--lb-text-2); border-radius: var(--lb-r-ctl); }
.form-material > .form-control, .form-material > .form-control ~ .input-group-append { transition: border-color var(--lb-t1) ease; }
.form-control:focus, .custom-select:focus {
  background-color: #0b111a;
  border-color: rgba(229, 185, 92, .7);
  color: #fff;
  box-shadow: 0 0 0 3px rgba(229, 185, 92, .14);
}
.form-control::placeholder { color: var(--lb-placeholder); opacity: 1; }
.form-control:disabled, .form-control[readonly] { background-color: var(--lb-surface-2); color: var(--lb-text-2); }
select.form-control option { background: var(--lb-surface); color: var(--lb-text); }
/* стрелка списков та же, что у кнопки языков (шеврон 10 x 6); меняется только картинка, цвет поля остаётся */
select.form-control:not([multiple]):not([size]), .custom-select {
  -webkit-appearance: none; -moz-appearance: none; appearance: none;
  padding-right: 36px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%238a93a3' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat; background-position: right 14px center; background-size: 10px 6px;
}
select.form-control::-ms-expand { display: none; }
label, .col-form-label { color: var(--lb-text-2); font-weight: 600; }
.form-text { color: var(--lb-muted); }
/* галочки: цель касания не меньше 32 */
.custom-control-label { cursor: pointer; padding-top: 6px; padding-bottom: 6px; }
.custom-control-label::before, .custom-control-label::after { top: calc(.1785rem + 6px); }
.custom-control-label::before { background-color: var(--lb-field); border: 1px solid var(--lb-line-ctl); transition: background-color var(--lb-t1) ease, border-color var(--lb-t1) ease; }
.custom-control-label:hover::before { border-color: rgba(229, 185, 92, .55); }
.custom-control-input:checked ~ .custom-control-label::before,
.custom-checkbox .custom-control-input:checked ~ .custom-control-label::before { background-color: var(--lb-gold); border-color: var(--lb-gold); }
.custom-control-input:focus ~ .custom-control-label::before,
.custom-checkbox .custom-control-input:focus ~ .custom-control-label::before { box-shadow: 0 0 0 3px rgba(229, 185, 92, .18); }
/* переключатель 2FA: тёмный, включённый зелёный (статус «готово») */
.css-switch { cursor: pointer; }
.css-switch .css-control-input ~ .css-control-indicator { background-color: var(--lb-surface-3); box-shadow: inset 0 0 0 1px var(--lb-line-2); transition: background-color var(--lb-t1) ease; }
.css-switch .css-control-input ~ .css-control-indicator::after { background-color: #8a94a6; box-shadow: none; transition: transform var(--lb-t2) var(--lb-ease); }
.css-switch.css-control-success .css-control-input:checked ~ .css-control-indicator { background-color: var(--lb-green-1); box-shadow: none; }
.css-switch.css-control-success .css-control-input:checked ~ .css-control-indicator::after { background-color: #fff; }
.is-invalid .form-control, .form-control.is-invalid { border-color: var(--lb-danger); }
.invalid-feedback { color: #ff8a8a; }
/* высоты: L поля и главные кнопки форм, M кнопки модулей, S мелкие действия */
#main-container .form-control:not(textarea):not(.form-control-sm),
#main-container .custom-select,
#main-container .input-group-text,
.modal .form-control:not(textarea) { height: var(--lb-h-l); }
#main-container .input-group-text { padding-top: 0; padding-bottom: 0; }
@media (max-width: 575.98px) { .form-control, .custom-select, select.form-control { font-size: 16px; } }
/* помощник пароля: глазок, Caps Lock, совпадение */
.lb-pw { position: relative; display: block; }
.lb-pw .form-control { padding-right: 44px; }
.lb-pw-eye {
  position: absolute; top: 0; right: 0;
  width: var(--lb-h-l); height: var(--lb-h-l);
  display: inline-flex; align-items: center; justify-content: center;
  padding: 0; border: 0; background: none; border-radius: var(--lb-r-ctl);
  color: var(--lb-muted); cursor: pointer;
  transition: color var(--lb-t1) ease;
}
.lb-pw-eye:hover { color: var(--lb-gold); }
.lb-pw-hint { display: block; margin-top: 4px; font-weight: 600; font-size: 12px; line-height: 16px; font-family: var(--lb-font); color: var(--lb-gold); }
.lb-pw-hint.is-ok { color: var(--lb-ok); }
.lb-pw-hint.is-bad { color: #ff8a8a; }
.lb-pw-hint[hidden] { display: none; }
/* ошибки MMOWeb (mmoweb.js кладёт .invalid-feedback в ближайший div, то есть после обёртки): показываем их как без обёртки */
.lb-pw:has(> .is-invalid) ~ .invalid-feedback { display: block; }
.lb-pw .form-control.is-invalid { background-image: none; padding-right: 44px; }
/* регистрация: штатный глазок MMOWeb (#eye в input-group) встаёт внутрь поля, как .lb-pw-eye на входе и в настройках */
#form_signup .input-group:has(> #t-signup-password) { position: relative; }
#form_signup .input-group:has(> #t-signup-password) > .form-control { border-radius: var(--lb-r-ctl) !important; padding-right: 44px; }
#form_signup .input-group:has(> #t-signup-password) > .input-group-append { position: absolute; top: 0; right: 0; z-index: 4; margin: 0; }
#form_signup #eye {
  display: inline-flex; align-items: center; justify-content: center;
  width: var(--lb-h-l); height: var(--lb-h-l); padding: 0;
  background: none !important; border: 0 !important; border-radius: var(--lb-r-ctl) !important; box-shadow: none !important;
  color: var(--lb-muted); transition: color var(--lb-t1) ease;
}
#form_signup #eye:hover { color: var(--lb-gold); }

/* ================= 7. кнопки ================= */
.btn {
  border-radius: var(--lb-r-ctl);
  font-weight: 700;
  font-size: 13px;
  letter-spacing: .01em;
  transition: color var(--lb-t1) ease, background-color var(--lb-t1) ease, border-color var(--lb-t1) ease, transform .12s ease;
}
/* таблеток нет: все кнопки с радиусом контрола */
html .btn.btn-rounded { border-radius: var(--lb-r-ctl) !important; }
.btn:not(:disabled):not(.disabled):active { transform: translateY(1px); }
.btn:disabled, .btn.disabled { opacity: .45; }
html .btn-sm { display: inline-flex; align-items: center; justify-content: center; gap: 6px; height: var(--lb-h-m); padding-top: 0; padding-bottom: 0; font-size: 13px; line-height: 16px; }
/* в строке кнопки промежуток даёт gap: свои отступы значков движка (mr-5, mb-5) и перенос <br> (значок над подписью) не нужны,
   иначе значок прилипал к тексту («PC / Mac», «iOS», «Android» в окнах оплаты) */
html .btn-sm > i[class*="mr-"], html .btn-sm > i[class*="mb-"] { margin-right: 0 !important; margin-bottom: 0 !important; }
html .btn-sm > br { display: none; }
html .btn-sm > small { font-size: 12px; line-height: 16px; }
html .btn-sm.btn-block { display: flex; }
/* ГЛАВНАЯ: багровая, как «Войти в аккаунт» на сайте; одна на блок или форму */
.btn-primary,
.btn-alt-primary.submit-form,
.btn-create-account,
#form_signup .submit-form[type="submit"],
#main-container .lbv .lbv-vote {
  background: linear-gradient(180deg, var(--lb-crimson-1) 0%, var(--lb-crimson-2) 100%);
  border: 1px solid var(--lb-crimson-line);
  color: #fff;
  box-shadow: inset 0 0 10px rgba(255, 255, 255, .12);
}
.btn-primary:hover, .btn-primary:focus-visible, .btn-primary:not(:disabled):not(.disabled):active,
.btn-alt-primary.submit-form:hover, .btn-alt-primary.submit-form:focus-visible,
.btn-create-account:hover, .btn-create-account:focus-visible,
#form_signup .submit-form[type="submit"]:hover, #form_signup .submit-form[type="submit"]:focus-visible,
#main-container .lbv .lbv-vote:hover, #main-container .lbv .lbv-vote:focus-visible {
  background: linear-gradient(180deg, var(--lb-crimson-1h) 0%, var(--lb-crimson-2h) 100%);
  border-color: #b03636;
  color: #fff;
  box-shadow: inset 0 0 12px rgba(255, 255, 255, .16);
}
.btn-alt-primary.submit-form:focus:not(:focus-visible), .btn-primary:focus:not(:focus-visible) { box-shadow: inset 0 0 10px rgba(255, 255, 255, .12); }
.btn-alt-primary.submit-form i, #form_signup .submit-form i { opacity: .9; }
/* ВТОРИЧНАЯ: нейтральная, наведение золотом */
.btn-secondary, .btn-alt-secondary, .btn-light, .btn-default,
.btn-alt-primary, .btn-alt-success, .btn-success, .btn-outline-secondary, .btn-outline-primary,
#main-container .lbv .lbv-card .btn-alt-primary,
#main-container .lbv .lbv-issue .btn,
#main-container .lbr .lbr-copy.btn-success,
#main-container .ribbon > .block-content > .text-center > .btn,
#main-container .tab-pane .input-group-append .btn,
#main-container .list_account .btn-group > .btn {
  background: var(--lb-surface-2);
  border: 1px solid var(--lb-line-2);
  color: var(--lb-text-2);
  box-shadow: none;
}
/* фокус после клика мышью выглядит как покой (зелёный фокус earth.min.css убран); клавиатуре кольцо даёт :focus-visible */
.btn-secondary:focus, .btn-alt-secondary:focus, .btn-light:focus, .btn-default:focus,
.btn-alt-primary:focus, .btn-alt-success:focus, .btn-success:focus, .btn-outline-secondary:focus, .btn-outline-primary:focus {
  background: var(--lb-surface-2); border-color: var(--lb-line-2); color: var(--lb-text-2); box-shadow: none;
}
.btn-secondary:hover, .btn-alt-secondary:hover, .btn-light:hover, .btn-default:hover,
.btn-alt-primary:hover, .btn-alt-success:hover, .btn-success:hover, .btn-outline-secondary:hover, .btn-outline-primary:hover,
.btn-secondary:focus-visible, .btn-alt-primary:focus-visible, .btn-alt-success:focus-visible, .btn-success:focus-visible, .btn-outline-primary:focus-visible, .btn-outline-secondary:focus-visible,
.btn-alt-primary:not(:disabled):not(.disabled):active, .btn-outline-primary:not(:disabled):not(.disabled):active,
#main-container .lbv .lbv-card .btn-alt-primary:hover,
#main-container .lbv .lbv-issue .btn:not(:disabled):hover,
#main-container .lbr .lbr-copy.btn-success:hover,
#main-container .ribbon > .block-content > .text-center > .btn:hover,
#main-container .tab-pane .input-group-append .btn:hover,
#main-container .list_account .btn-group > .btn:hover {
  background: var(--lb-surface-2);
  border-color: rgba(229, 185, 92, .55);
  color: var(--lb-gold-hi);
  box-shadow: none;
}
.btn-alt-danger { background-color: rgba(224, 82, 82, .1); border: 1px solid rgba(224, 82, 82, .32); color: #ff9a9a; }
.btn-alt-danger:hover { background-color: rgba(224, 82, 82, .18); color: #ffc1c1; }
.btn-alt-warning { background-color: var(--lb-gold-soft); border: 1px solid var(--lb-gold-line); color: var(--lb-gold); }
/* ТЕКСТОВАЯ: действия аккаунтов */
.btn-outline-primary.btn-noborder, .btn-outline-primary.btn-noborder:focus { background: transparent; border-color: transparent; color: var(--lb-text-2); }
.btn-outline-primary.btn-noborder:hover, .btn-outline-primary.btn-noborder:focus-visible { background: var(--lb-gold-soft); border-color: transparent; color: var(--lb-gold-hi); }

/* ================= 8. вкладки, выпадашки, таблицы, плашки ================= */
.nav-tabs-block, .nav-tabs-alt { background-color: var(--lb-surface-2); border-bottom: 1px solid var(--lb-line); }
.nav-tabs-block .nav-link, .nav-tabs-alt .nav-link { color: var(--lb-muted); font-weight: 600; font-size: 14px; line-height: 20px; font-family: var(--lb-font); border: 0; transition: color var(--lb-t1) ease, background-color var(--lb-t1) ease; }
.nav-tabs-block .nav-link:hover, .nav-tabs-block .nav-link:focus,
.nav-tabs-alt .nav-link:hover, .nav-tabs-alt .nav-link:focus { color: var(--lb-text); background: transparent; box-shadow: none; }
.nav-tabs-block .nav-link.active, .nav-tabs-block .nav-item.show .nav-link {
  color: var(--lb-text);
  background-color: var(--lb-surface);
  box-shadow: inset 0 2px 0 var(--lb-gold);
}
.nav-tabs-alt .nav-link.active, .nav-tabs-alt .nav-item.show .nav-link { color: var(--lb-text); background: transparent; box-shadow: inset 0 -2px 0 var(--lb-gold); }
.nav-pills .nav-link { color: var(--lb-text-2); }
.nav-pills .nav-link:hover, .nav-pills .nav-link:focus { background-color: var(--lb-surface-2); color: var(--lb-text); }
.nav-pills .nav-link.active, .nav-pills .nav-item.show .nav-link { background-color: var(--lb-gold-soft); color: var(--lb-gold-hi); box-shadow: inset 0 0 0 1px rgba(229, 185, 92, .4); }
/* плавающие слои (E3): меню, подсказки */
.dropdown-menu { background-color: var(--lb-surface); border: 1px solid var(--lb-line-2); border-radius: var(--lb-r-card); box-shadow: var(--lb-shadow-float); }
.dropdown-item { color: var(--lb-text-2); border-radius: var(--lb-r-chip); }
.dropdown-item:hover, .dropdown-item:focus { background-color: var(--lb-surface-2); color: var(--lb-text); }
.dropdown-item.active, .dropdown-item:active { background-color: var(--lb-gold-soft); color: var(--lb-gold-hi); box-shadow: inset 0 0 0 1px rgba(229, 185, 92, .4); }
.dropdown-divider { border-top-color: var(--lb-line); }
.tooltip-inner, .popover, #main-container .la2b-discstrip-tip, #main-container .cc-selector-2[data-pm-tip]::after {
  background: var(--lb-float);
  border: 1px solid var(--lb-line-2);
  color: var(--lb-text);
  border-radius: var(--lb-r-chip);
  box-shadow: var(--lb-shadow-float);
  font-weight: 500; font-size: 12px; line-height: 16px; font-family: var(--lb-font);
  letter-spacing: 0;
  padding: 6px 10px;
}
.tooltip.bs-tooltip-top .arrow::before, .tooltip.bs-tooltip-auto[x-placement^="top"] .arrow::before { border-top-color: var(--lb-float); }
.tooltip.bs-tooltip-bottom .arrow::before, .tooltip.bs-tooltip-auto[x-placement^="bottom"] .arrow::before { border-bottom-color: var(--lb-float); }
.tooltip.bs-tooltip-left .arrow::before { border-left-color: var(--lb-float); }
.tooltip.bs-tooltip-right .arrow::before { border-right-color: var(--lb-float); }
.popover-body { color: var(--lb-text-2); }
#main-container .cc-selector-2[data-pm-tip]::before { border-top-color: var(--lb-float); filter: none; }
#main-container .cc-selector-2[data-pm-tip]::after { padding: 8px 12px; text-align: left; }
.table { color: var(--lb-text-2); }
.table th, .table td, .table thead th { border-color: var(--lb-line); }
.table thead th { color: var(--lb-muted); font-weight: 700; font-size: 11px; line-height: 16px; font-family: var(--lb-font); text-transform: uppercase; letter-spacing: var(--lb-track); border-bottom-width: 1px; }
.table-striped tbody tr:nth-of-type(odd) { background-color: rgba(255, 255, 255, .02); }
.table-hover tbody tr:hover { background-color: rgba(229, 185, 92, .05); color: var(--lb-text); }
.table-primary, .table-primary > td, .table-primary > th { background-color: rgba(229, 185, 92, .1) !important; color: var(--lb-gold-hi); }
.badge-secondary { background-color: var(--lb-surface-3); color: var(--lb-text-2); }
.badge-primary { background-color: var(--lb-crimson-1); }
.badge-success { background-color: var(--lb-green-1); }
.list-group-item { background-color: var(--lb-surface); border-color: var(--lb-line); color: var(--lb-text-2); }
.progress { background-color: var(--lb-surface-3); }
.breadcrumb { background: transparent; }
.blockquote-footer { color: var(--lb-muted); }
.breadcrumb-item, .breadcrumb-item a { color: var(--lb-muted); }
.breadcrumb-item.active { color: var(--lb-text); }
.pagination .page-link { background: var(--lb-surface); border-color: var(--lb-line); color: var(--lb-text-2); }
.pagination .page-item.active .page-link { background: var(--lb-gold-soft); border-color: rgba(229, 185, 92, .5); color: var(--lb-gold-hi); }
.alert { border-radius: var(--lb-r-ctl); border: 1px solid transparent; }
/* справочная плашка: нейтральная с золотой кромкой (синего нет) */
.alert-info, #main-container .alert-info {
  background: var(--lb-surface-2);
  border: 1px solid var(--lb-line);
  border-left: 3px solid rgba(229, 185, 92, .55);
  border-radius: var(--lb-r-ctl);
  color: var(--lb-text-2);
}
.alert-info strong, .alert-info b, .alert-info h4, .alert-info h5 { color: var(--lb-text); }
.alert-success { background: rgba(47, 179, 80, .1); border-color: rgba(47, 179, 80, .3); color: #9fe6b0; }
.alert-warning { background: var(--lb-gold-soft); border-color: rgba(229, 185, 92, .3); color: #f0cf8a; }
.alert-danger { background: rgba(224, 82, 82, .1); border-color: rgba(224, 82, 82, .3); color: #ffb0b0; }
.alert-light { background: var(--lb-surface-2); border-color: var(--lb-line) !important; color: var(--lb-text-2); }

/* ================= 9. окна ================= */
.modal-content { background-color: var(--lb-surface); border: 1px solid var(--lb-line-2); border-radius: var(--lb-r-card); overflow: hidden; box-shadow: var(--lb-shadow-float); }
.modal-backdrop.show { opacity: .7; }
.modal .block-content.bg-body-light, .modal-ajax-footer { background-color: var(--lb-surface-2) !important; border-top: 1px solid var(--lb-line); }
.modal .block-content { padding-left: var(--lb-pad); padding-right: var(--lb-pad); }
.modal .btn-block-option { display: inline-flex; align-items: center; justify-content: center; width: var(--lb-h-m); height: var(--lb-h-m); padding: 0; border-radius: var(--lb-r-ctl); color: var(--lb-muted); }
.modal .btn-block-option:hover { color: var(--lb-text); background: rgba(255, 255, 255, .04); }
@media (min-width: 576px) { .modal-dialog.modal-dialog-popout { margin-top: 72px; margin-bottom: 72px; } }

/* ================= 10. подвал ================= */
#page-footer, #page-footer .content { background: transparent; }
/* линия над подвалом той же ширины, что блоки (внутри полей контента), текст на их левом крае */
#page-footer .content { position: relative; color: var(--lb-muted); border-top: 0 !important; }
#page-footer .content::before { content: ''; position: absolute; top: 0; left: 24px; right: 24px; height: 1px; background: var(--lb-line); }
@media (max-width: 767.98px) {
  #page-footer .content { padding-left: 16px !important; padding-right: 16px !important; }
  #page-footer .content::before { left: 16px; right: 16px; }
}
#page-footer a { display: inline-block; padding: 8px 0; color: #98a1b0; }
#page-footer a:hover { color: var(--lb-gold-hi); }
#page-footer .lb-foot-sep { margin: 0 8px; opacity: .5; }
html.lb-lang-ready #change_lang, html.lb-lang-ready #page-footer .form-material { display: none; }
#change_lang { background-color: rgba(255, 255, 255, .04); border-color: var(--lb-gold-line); color: var(--lb-text); }

/* ================= 11. заголовок страницы: кикер + заголовок 28 ================= */
/* пожертвования и магазин: имя сервера кикером, название страницы заголовком (узкие формы по центру) */
#main-container .content > .my-10.text-center { display: flex; flex-direction: column; align-items: center; gap: var(--lb-s1); margin: 0 0 var(--lb-s6) !important; }
#main-container .content > .my-10.text-center > h2 {
  order: 0; margin: 0 !important;
  font-weight: 700; font-size: 11px; line-height: 16px; font-family: var(--lb-font); letter-spacing: var(--lb-track); text-transform: uppercase;
  color: var(--lb-gold) !important;
}
#main-container .content > .my-10.text-center > h3.h5 {
  order: 1; margin: 0 !important;
  font-weight: 700; font-size: 28px; line-height: 36px; font-family: var(--lb-font-head); letter-spacing: 0; text-transform: lowercase;
  color: var(--lb-text) !important;
}
#main-container .content > .my-10.text-center > h3.h5::first-letter { text-transform: uppercase; }
/* рейтинг: сервер кикером, «Рейтинг» заголовком, на внутренней линии блоков (x = 280 при 1440) */
#main-container nav.breadcrumb:has(+ h2.content-heading) {
  display: flex; flex-direction: column-reverse; align-items: flex-start; gap: var(--lb-s1);
  padding: 0 0 0 calc(var(--lb-pad) + 1px); margin: 0 0 var(--lb-s6); background: transparent !important; border-radius: 0;
}
#main-container nav.breadcrumb:has(+ h2.content-heading) .breadcrumb-item + .breadcrumb-item { padding-left: 0; }
#main-container nav.breadcrumb:has(+ h2.content-heading) .breadcrumb-item + .breadcrumb-item::before { display: none; }
#main-container nav.breadcrumb:has(+ h2.content-heading) .breadcrumb-item.active {
  padding: 0; font-weight: 700; font-size: 11px; line-height: 16px; font-family: var(--lb-font); letter-spacing: var(--lb-track); text-transform: uppercase; color: var(--lb-gold);
}
#main-container nav.breadcrumb:has(+ h2.content-heading) .breadcrumb-item:first-child { font-weight: 700; font-size: 28px; line-height: 36px; font-family: var(--lb-font-head); color: var(--lb-text); }
/* дубль заголовка прячется визуально, для экранных дикторов остаётся */
#main-container nav.breadcrumb + h2.content-heading {
  position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; border: 0;
  overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap;
}

/* ================= 12. вход, регистрация, восстановление ================= */
#main-container .js-validation-signin .block,
#main-container .js-validation-signup .block,
#main-container .js-validation-reminder .block,
#main-container form .block.block-shadow {
  border-color: var(--lb-line-2);
  box-shadow: 0 20px 60px rgba(0, 0, 0, .55);
}
/* одно главное название: «Личный кабинет» кикером над карточкой */
#main-container .pb-20.text-center:has(+ form) { padding-bottom: var(--lb-s3) !important; }
#main-container .pb-20.text-center > h1.h4 {
  margin: 0 !important;
  font-weight: 700; font-size: 11px; line-height: 16px; font-family: var(--lb-font); letter-spacing: var(--lb-track); text-transform: uppercase;
  color: var(--lb-gold);
}
#main-container form .block-content.bg-body-light .link-effect.text-muted { color: var(--lb-text-2) !important; }
#main-container form .block-content.bg-body-light .link-effect.text-muted:hover { color: var(--lb-gold-hi) !important; }
#main-container form .block-content.bg-body-light .link-effect::before { background-color: var(--lb-gold); }
#main-container form .block-content.bg-body-light .link-effect i { color: var(--lb-muted) !important; }
/* форма шире: «Запомнить меня» и нижние ссылки в одну строку; ширина одна на все три страницы */
#main-container .col-xl-4:has(> .content > form.js-validation-signin),
#main-container .col-xl-4:has(> .content > form.js-validation-signup),
#main-container .col-xl-4:has(> .content > form.js-validation-reminder) { flex: 0 0 auto; width: 100%; max-width: 500px; }
/* строка с карточкой над героиней; на ПК кикер стоит на одной высоте на всех трёх страницах (карточка не прыгает) */
#main-container > .row:has(form.js-validation-signin),
#main-container > .row:has(form.js-validation-reminder) { position: relative; z-index: 1; }
@media (min-width: 992px) {
  #main-container > .row:has(form.js-validation-signin),
  #main-container > .row:has(form.js-validation-reminder) { min-height: calc(100vh - 48px); align-items: flex-start; padding-top: clamp(48px, 12vh, 120px); padding-bottom: 48px; }
}
/* одна вкладка «Почта» в регистрации и восстановлении: выбора нет */
#main-container form .block > .nav-tabs-alt:has(> .nav-item:only-child) { display: none; }
/* главная кнопка форм входа: во всю ширину, высота L; галочка строкой выше */
#main-container form.js-validation-signin .form-group.row.mb-0 > [class*="col-"] { flex: 0 0 100%; max-width: 100%; text-align: left !important; }
#main-container form.js-validation-signin .form-group.row.mb-0 > [class*="col-"].push { margin-bottom: var(--lb-s4); }
#main-container form.js-validation-signin .form-group.row.mb-0 > [class*="col-"]:last-child { margin-bottom: calc(var(--lb-pad) - 1px); }
#main-container form.js-validation-signin .submit-form[type="submit"],
#main-container form.js-validation-reminder .submit-form[type="submit"],
#form_signup .submit-form[type="submit"],
#main-container form .submit-form[type="submit"] {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  height: var(--lb-h-l); padding-top: 0; padding-bottom: 0;
  font-weight: 700; font-size: 14px; line-height: 20px; font-family: var(--lb-font);
}
#main-container form.js-validation-signin .submit-form[type="submit"],
#main-container form.js-validation-reminder .submit-form[type="submit"],
#form_signup .submit-form[type="submit"] { width: 100%; }
#main-container form.js-validation-signin .submit-form i, #main-container form.js-validation-reminder .submit-form i { margin-right: 0 !important; }
#main-container form.js-validation-reminder .block-content > .form-group.text-center { margin-bottom: calc(var(--lb-pad) - 1px); }
/* нижняя полоса ссылок */
#main-container form .block-content.bg-body-light { padding-top: var(--lb-s4); padding-bottom: var(--lb-s4); }
#main-container form .block-content.bg-body-light > .form-group.text-center { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px 24px; margin: 0; }
#main-container form .block-content.bg-body-light > .form-group.text-center > a { margin: 0 !important; padding: 6px 4px; }
/* ключ вместо треугольника тревоги, конверт вместо звёздочки */
#main-container form .bg-body-light .fa-warning::before { content: '\f084'; }
#main-container form.js-validation-reminder .submit-form .fa-asterisk::before { content: '\f0e0'; }

/* сцена входа: вулкан с лавой на всю высоту (от 992), на ПК от 1280 карточка левее центра, героиня рядом */
@media (min-width: 992px) {
  #main-container:has(form.js-validation-signin)::before,
  #main-container:has(form.js-validation-reminder)::before {
    height: 100%; opacity: .7; background-position: 62% 64%;
    -webkit-mask-image: linear-gradient(180deg, rgba(0, 0, 0, .35) 0, #000 45%, #000 80%, transparent 100%);
    mask-image: linear-gradient(180deg, rgba(0, 0, 0, .35) 0, #000 45%, #000 80%, transparent 100%);
  }
}
@media (min-width: 1280px) {
  /* 27.09 по просьбе владельца: форма входа по центру своей области и ПОВЕРХ героини */
  #main-container > .row:has(form.js-validation-signin),
  #main-container > .row:has(form.js-validation-reminder) { position: relative; z-index: 1; }
  /* две героини во весь рост (картинки владельца 27.09) за формой: тёмная эльфийка у правого края, светлая лучница у левого.
     Высота до 1170 px (в 1,5 раза крупнее прежней), ограничена экраном (голова не под шапкой) и шириной области (лица не уходят за форму) */
  #main-container:has(form.js-validation-signin)::after,
  #main-container:has(form.js-validation-reminder)::after {
    --lb-hh: min(calc(100vh - 80px), 1170px, calc(120vw - 900px));
    content: ''; position: absolute; bottom: 0; z-index: 0; pointer-events: none;
    left: 5%; right: 5%; width: auto; max-width: none; height: var(--lb-hh);   /* обе на 5% ширины ближе к центру (владелец 27.09) */
    background: url(/template/panel/assets/media/lb/heroine-login.webp?v=1) right bottom / auto 100% no-repeat,
                url(/template/panel/assets/media/lb/heroine-login-left.webp?v=2) left bottom / auto 100% no-repeat;   /* без оранжевого отсвета под ногами (владелец 27.09) */
    opacity: 1;
    animation: lbHeroine 1s .15s var(--lb-ease) both;
  }
  #main-container:has(form.js-validation-signin),
  #main-container:has(form.js-validation-reminder) { min-height: 100vh; }
}
@keyframes lbHeroine { from { opacity: 0; transform: translateX(24px); } to { opacity: 1; transform: none; } }
/* телефон и планшет: логотип над кикером вместо героини */
@media (max-width: 991.98px) {
  #main-container:has(form.js-validation-signin) .pb-20.text-center > h1.h4::before,
  #main-container:has(form.js-validation-reminder) .pb-20.text-center > h1.h4::before {
    content: ''; display: block; width: 156px; height: 56px; margin: 0 auto 12px;
    background: url(/template/site/la2best/images/logo/logo.webp) center / contain no-repeat;
  }
  #main-container:has(form.js-validation-signin)::before,
  #main-container:has(form.js-validation-reminder)::before { opacity: .45; }
}

/* ================= 13. модули главной ================= */
/* --- HeadInfo: почта, склад, CoL --- */
#main-container .options-container { margin-bottom: var(--lb-gap); cursor: pointer; }
#main-container .options-container > .block-content { position: relative; padding-right: 80px; }
#main-container .options-container .block-content[style*="text-align:center"] { text-align: left !important; }
#main-container .options-container .block-content > div[style*="position:absolute"] { top: 50% !important; right: 20px !important; transform: translateY(-50%); }
#main-container .options-container .block-content > .float-right.mt-15 { margin-top: 0 !important; position: absolute; right: 20px; top: 50%; transform: translateY(-50%); }
#main-container .options-container .font-size-h3 {
  font-weight: 700; font-size: 24px; line-height: 28px; font-family: var(--lb-font); font-variant-numeric: lining-nums tabular-nums;
  overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: var(--lb-text);
}
#main-container .options-container .font-size-sm.text-uppercase {
  margin-top: 4px; font-weight: 600; font-size: 12px; line-height: 16px; font-family: var(--lb-font); text-transform: none !important; letter-spacing: 0; color: var(--lb-muted) !important;
}
/* одна картинка на действие: книга мастера (почта), сундук склада, монета удачи */
#main-container .options-container .fa-user-o.fa-2x,
#main-container .options-container .fa-bank.fa-2x,
#main-container .options-container .fa-diamond.fa-2x {
  display: block; width: 44px; height: 44px; border-radius: 4px;
  background: transparent center / 100% no-repeat;
  box-shadow: 0 2px 8px rgba(0, 0, 0, .45);
  transition: transform var(--lb-t2) var(--lb-ease);
}
#main-container .options-container .fa-user-o.fa-2x::before,
#main-container .options-container .fa-bank.fa-2x::before,
#main-container .options-container .fa-diamond.fa-2x::before { content: none; }
#main-container .options-container .fa-user-o.fa-2x { background-image: url(/template/site/la2best/images/other/item_master_book.png); }
#main-container .options-container .fa-bank.fa-2x { background-image: url(/template/site/la2best/images/other/etc_marguene_collection_box_i00.png); }
#main-container .options-container .fa-diamond.fa-2x { background-image: url(/template/site/la2best/images/other/item_coin_of_luck.png); }
#main-container .options-container:hover .fa-2x { transform: scale(1.06); }
/* подсказка о скрытых действиях: три точки в углу */
#main-container .options-container > .block-content::before {
  content: ''; position: absolute; top: 8px; right: 8px; width: 16px; height: 4px; z-index: 1;
  background: radial-gradient(circle, rgba(229, 185, 92, .75) 1.6px, transparent 2px) 0 0 / 6px 4px repeat-x;
  transition: opacity var(--lb-t1) ease;
}
#main-container .options-container:hover > .block-content::before { opacity: 0; }
#main-container .options-overlay, #main-container .options-overlay.bg-white {
  background-color: rgba(13, 19, 28, .97) !important; border-radius: var(--lb-r-card);
  transition: opacity .18s ease-out, visibility 0s linear .18s;
}
#main-container .options-container:hover .options-overlay { transition-delay: 0s; }
/* под слоем действий содержимое карточки гаснет, чтобы не проступало сквозь пункты; поля слоя симметричные */
#main-container .options-container > .block-content { transition: opacity .18s ease-out; }
#main-container .options-container:hover > .block-content { opacity: 0; }
/* меню действий: было 91–96 px в карточке 90 px (заголовок и пункты упирались в рамку).
   Теперь карточки ряда 112 px, меню с полями 12 px со всех сторон, заголовок меню скрыт (карточка уже подписана), пункты 28 px */
#main-container .options-container { display: flex; flex-direction: column; justify-content: center; min-height: 112px; }
#main-container .options-overlay .options-overlay-content {
  position: absolute; inset: 0; transform: none; display: flex; flex-direction: column; justify-content: center;
  padding: 12px; text-align: left;
}
#main-container .options-overlay h3 { display: none; }
#main-container .options-overlay .row { flex-wrap: nowrap; align-items: flex-start; margin: 0; column-gap: 12px; }
#main-container .options-overlay .row > [class*="col-"] { flex: 1 1 0; max-width: none; min-width: 0; padding: 0; }
#main-container .options-overlay .nav { margin: 0 !important; padding: 0 !important; gap: 2px; min-width: 0; }
#main-container .options-overlay .nav-item { min-width: 0; }
#main-container .options-overlay .nav-link {
  display: flex; align-items: center; gap: 8px; min-height: 28px; padding: 4px 10px !important; border-radius: var(--lb-r-chip);
  color: var(--lb-text-2); font-weight: 600; font-size: 13px; line-height: 20px; font-family: var(--lb-font); white-space: nowrap;
}
#main-container .options-overlay .nav-link > span:first-child { min-width: 0; overflow: hidden; text-overflow: ellipsis; }
#main-container .options-overlay .nav-link:hover { background: var(--lb-gold-soft); color: var(--lb-gold-hi); }
#main-container .options-overlay .nav-link i { width: 16px; margin-right: 8px !important; text-align: center; color: var(--lb-gold) !important; }
#main-container .options-overlay .nav-link .badge { flex: none; padding: 3px 8px; border-radius: 999px; background: var(--lb-surface-2); color: var(--lb-text-2); font: 600 12px/16px var(--lb-font); font-variant-numeric: lining-nums tabular-nums; }
/* «Последний вход» только сведения: без подсветки как у кнопки */
#main-container .options-overlay .nav-link[title^="IP"] { cursor: default; }
#main-container .options-overlay .nav-link[title^="IP"]:hover { background: none; color: var(--lb-text-2); }
/* телефон: колонки меню мастер аккаунта друг под другом, узкие карточки (склад, CoL) с полями 8 px и шрифтом 12 px */
@media (max-width: 575.98px) {
  #main-container .options-overlay .row { flex-direction: column; row-gap: 2px; }
  #main-container .options-overlay .row > [class*="col-"] { flex: none; width: 100%; }
  #main-container .options-overlay .options-overlay-content { padding: 8px; }
  #main-container .options-overlay .nav-link { padding: 4px 8px !important; font-size: 12px; }
  #main-container .options-overlay .nav-link i { margin-right: 6px !important; }
}
/* наведение на карточку: подъём и золотая рамка, тень не меняется */
#main-container .block-link-shadow { transition: transform var(--lb-t2) var(--lb-ease), border-color var(--lb-t1) ease; }
#main-container .block-link-shadow:hover { transform: translateY(var(--lb-lift)); border-color: var(--lb-gold-hover); box-shadow: none; }
@media (max-width: 575.98px) {
  #main-container .options-container .d-none.d-sm-block { display: block !important; }
  #main-container .options-container > .block-content { padding-right: 64px; }
  #main-container .options-container .block-content > div[style*="position:absolute"],
  #main-container .options-container .block-content > .float-right.mt-15 { right: 16px !important; }
  #main-container .options-container .fa-user-o.fa-2x,
  #main-container .options-container .fa-bank.fa-2x,
  #main-container .options-container .fa-diamond.fa-2x { width: 36px; height: 36px; background-size: 100%; }
  #main-container .options-container .font-size-h3 { font-size: 18px; line-height: 24px; }
}

/* --- полоса скидки (HeadInfo): бусины на золотой нити --- */
#main-container .la2b-discstrip { background: var(--lb-surface); border-color: var(--lb-line); border-radius: var(--lb-r-card); box-shadow: none; margin-bottom: var(--lb-gap); }
#main-container .la2b-discstrip-inner { padding: var(--lb-pad); gap: 20px; }
#main-container .la2b-discstrip-cur { border-color: var(--lb-line); padding: 0 20px 0 0; }
#main-container .la2b-discstrip-cur-num {
  background: none; -webkit-text-fill-color: var(--lb-gold-hi); color: var(--lb-gold-hi);
  font-weight: 700; font-size: 24px; line-height: 28px; font-family: var(--lb-font); letter-spacing: 0; font-variant-numeric: lining-nums tabular-nums;
}
#main-container .la2b-discstrip-cur-lbl { margin-top: 4px; font-weight: 600; font-size: 12px; line-height: 16px; font-family: var(--lb-font); text-transform: none; letter-spacing: 0; color: var(--lb-muted); }
#main-container .la2b-discstrip-mid-title { margin-bottom: 12px; font-weight: 600; font-size: 12px; line-height: 16px; font-family: var(--lb-font); color: var(--lb-muted); }
#main-container .la2b-discstrip-mid-title strong { font-weight: 700; font-size: 11px; line-height: 16px; font-family: var(--lb-font); letter-spacing: var(--lb-track); text-transform: uppercase; color: var(--lb-text-2); }
#main-container .la2b-discstrip-mid-title .end { color: var(--lb-muted); font-weight: 600; }
#main-container .la2b-discstrip-progress { padding: 20px 4px; }
#main-container .la2b-discstrip-track { background: var(--lb-surface-3); border-radius: var(--lb-r-ctl); }
#main-container .la2b-discstrip-fill { background: linear-gradient(90deg, #8a6424, var(--lb-gold)); box-shadow: none; border-radius: var(--lb-r-ctl); }
#main-container .la2b-discstrip-tick { background: var(--lb-surface); border-color: #3a475c; transition: background-color .3s ease, border-color .3s ease; }
#main-container .la2b-discstrip-tick::before { content: ''; position: absolute; inset: -9px; border-radius: 50%; }
#main-container .la2b-discstrip-tick.current::before { inset: -6px; }
#main-container .la2b-discstrip-tick.done { background: #b8862e; border-color: var(--lb-surface); box-shadow: none; }
#main-container .la2b-discstrip-tick.current { background: var(--lb-gold); border-color: var(--lb-surface); box-shadow: 0 0 0 4px rgba(229, 185, 92, .25); animation: none; }
#main-container .la2b-discstrip-tick-lbl { top: auto; bottom: calc(100% + 8px); font-weight: 700; font-size: 11px; line-height: 1; font-family: var(--lb-font); color: #8e97a6; font-variant-numeric: lining-nums tabular-nums; }
#main-container .la2b-discstrip-tick.current .la2b-discstrip-tick-lbl { top: auto; bottom: calc(100% + 5px); font-size: 13px; color: var(--lb-gold-hi); }
#main-container .la2b-discstrip-tick.done .la2b-discstrip-tick-lbl { color: var(--lb-text-2); }
#main-container .la2b-discstrip-tip { top: calc(100% + 12px); }
#main-container .la2b-discstrip-tip::before { border-bottom-color: var(--lb-float); }
#main-container .la2b-discstrip-tip strong { color: var(--lb-gold-hi); font-weight: 700; font-size: 12px; line-height: 16px; font-family: var(--lb-font); margin-bottom: 2px; }
#main-container .la2b-discstrip-next, #main-container .la2b-discstrip-max {
  padding: 16px 20px; border-radius: var(--lb-r-ctl); box-shadow: none;
  transition: none;
}
#main-container .la2b-discstrip-next { background: var(--lb-surface-2); border-color: var(--lb-line); }
#main-container .la2b-discstrip-next:hover { transform: none; box-shadow: none; }
#main-container .la2b-discstrip-next-glow, #main-container .la2b-discstrip-max-glow { display: none; }
#main-container .la2b-discstrip-next-head, #main-container .la2b-discstrip-max-head {
  justify-content: center; gap: 8px; margin-bottom: 0; color: var(--lb-muted);
  font-weight: 700; font-size: 11px; line-height: 16px; font-family: var(--lb-font); letter-spacing: var(--lb-track); text-transform: uppercase;
}
#main-container .la2b-discstrip-next-head i, #main-container .la2b-discstrip-max-head i {
  width: 24px; height: 24px; border-radius: var(--lb-r-chip);
  background: var(--lb-gold-soft); color: var(--lb-gold); box-shadow: inset 0 0 0 1px rgba(229, 185, 92, .35);
}
#main-container .la2b-discstrip-next-pct {
  background: none; -webkit-text-fill-color: var(--lb-text); color: var(--lb-text);
  font-weight: 700; font-size: 24px; line-height: 28px; font-family: var(--lb-font); letter-spacing: 0; margin: 4px 0 8px; font-variant-numeric: lining-nums tabular-nums;
}
#main-container .la2b-discstrip-next-body, #main-container .la2b-discstrip-max-body {
  padding-top: 8px; border-top: 1px solid var(--lb-line-2); color: var(--lb-muted);
  font-weight: 700; font-size: 11px; line-height: 16px; font-family: var(--lb-font); letter-spacing: var(--lb-track); text-transform: uppercase;
}
#main-container .la2b-discstrip-next-body strong { color: var(--lb-gold-hi); font-size: 11px; letter-spacing: var(--lb-track); }
#main-container .la2b-discstrip-max { background: var(--lb-gold-soft); border-color: rgba(229, 185, 92, .35); }
#main-container .la2b-discstrip-max-head, #main-container .la2b-discstrip-max-body { color: var(--lb-gold); }
#main-container .la2b-discstrip-max-body { border-top-color: rgba(229, 185, 92, .3); }
#main-container .la2b-discstrip-max-icon { background: none; -webkit-text-fill-color: var(--lb-gold-hi); color: var(--lb-gold-hi); font-weight: 700; font-size: 24px; line-height: 28px; font-family: var(--lb-font); margin: 4px 0 8px; }
@media (min-width: 768px) and (max-width: 1299.98px) {
  #main-container .la2b-discstrip-mid { flex: 1 1 100%; order: 3; }
  #main-container .la2b-discstrip-next, #main-container .la2b-discstrip-max { flex: 1 1 auto; }
}
@media (max-width: 767.98px) {
  #main-container .la2b-discstrip-cur { padding: 0 0 16px; border-bottom-color: var(--lb-line); }
}

/* --- голосование (TopVote) --- */
#main-container .lbv { position: relative; }
#main-container .lbv .lbv-hero { padding: var(--lb-s5) var(--lb-pad); }
#main-container .lbv .lbv-hero:after { display: none; }
#main-container .lbv .lbv-hero-row { align-items: flex-start; gap: var(--lb-s4); }
#main-container .lbv .lbv-title { margin: 0; font-weight: 700; font-size: 20px; line-height: 28px; font-family: var(--lb-font-head); color: var(--lb-gold); letter-spacing: 0; }
#main-container .lbv .lbv-title small {
  display: block; margin: 4px 0 0; font-weight: 700; font-size: 11px; line-height: 16px; font-family: var(--lb-font); letter-spacing: var(--lb-track);
  text-transform: uppercase; color: var(--lb-muted);
}
#main-container .lbv .lbv-sub, #main-container .lbr .lbr-sub { margin-top: 4px; font-weight: 400; font-size: 13px; line-height: 20px; font-family: var(--lb-font); color: var(--lb-text-2); opacity: 1; }
/* монета раздела в ячейке 56; парит (единственное смысловое бесконечное движение) */
#main-container .lbv .lbv-coin-big {
  width: 52px; height: 52px; margin: 2px; padding: 0; border-radius: 0;
  background: none; box-shadow: none;
  filter: drop-shadow(0 3px 6px rgba(0, 0, 0, .5));
  animation: lbFloat 4.5s ease-in-out infinite;
}
/* монета кошелька в ячейке 44, как все картинки предметов */
#main-container .lbv .lbv-coin-md {
  width: 40px; height: 40px; padding: 0; flex: none; border-radius: 0;
  background: none; box-shadow: none; filter: drop-shadow(0 2px 5px rgba(0, 0, 0, .5));
}
#main-container .lbv .lbv-tops { margin: -8px -8px 0; }
#main-container .lbv .lbv-tops > div { padding: 8px; }
#main-container .lbv .lbv-card,
#main-container .lbv .lbv-card.block {
  display: flex; flex-direction: column; height: 100%; margin: 0; padding: 16px;
  background: var(--lb-surface-2); border: 1px solid var(--lb-line); border-radius: var(--lb-r-ctl);
  transition: transform var(--lb-t2) var(--lb-ease), border-color var(--lb-t1) ease;
}
#main-container .lbv .lbv-card:hover { box-shadow: none; transform: translateY(var(--lb-lift)); border-color: var(--lb-gold-hover); }
#main-container .lbv .lbv-card.block-mode-loading { transform: none; }
#main-container .lbv .lbv-card .lbv-vote { margin-top: auto; }
#main-container .lbv .lbv-card .btn + .btn { margin-top: 8px; }
#main-container .lbv .lbv-logo {
  width: 56px; height: 56px; margin: 0 auto 12px; border-radius: var(--lb-r-ctl); flex: none;
  box-shadow: 0 0 0 1px var(--lb-gold-line), 0 6px 14px rgba(0, 0, 0, .45);
}
#main-container .lbv .lbv-name { font-weight: 700; font-size: 16px; line-height: 24px; font-family: var(--lb-font); color: var(--lb-text); }
#main-container .lbv .lbv-reward-row { gap: 8px; margin: 8px 0; }
#main-container .lbv .lbv-reward,
#main-container .lbv .lbv-reward-row > .lbv-reward,
#main-container .lbv .lbv-reward-row > .lbv-boost,
#main-container .lbv .lbv-reward-row > .lbv-novpn,
#main-container .lbv .lbv-boost, #main-container .lbv .lbv-novpn {
  height: 22px; margin: 0; padding: 0 8px 0 6px; gap: 4px; border-radius: var(--lb-r-chip);
  font-weight: 700; font-size: 12px; line-height: 16px; font-family: var(--lb-font);
}
#main-container .lbv .lbv-reward { background: var(--lb-surface-3); color: var(--lb-text-2); }
#main-container .lbv .lbv-reward img { width: 16px; height: 16px; vertical-align: middle; }
#main-container .lbv .lbv-boost { background: rgba(42, 171, 238, .12); color: #8fd0f5; box-shadow: inset 0 0 0 1px rgba(42, 171, 238, .3); }
#main-container .lbv .lbv-novpn { background: rgba(224, 82, 82, .1); color: #ff9a9a; box-shadow: inset 0 0 0 1px rgba(224, 82, 82, .35); }
#main-container .lbv .lbv-boost svg, #main-container .lbv .lbv-novpn svg { width: 12px; height: 12px; fill: currentColor; }
#main-container .lbv .lbv-status { min-height: 16px; margin: 0 0 12px; font-weight: 600; font-size: 12px; line-height: 16px; font-family: var(--lb-font); color: var(--lb-muted); }
#main-container .lbv .lbv-status.ready, #main-container .lbv .lbv-status.done { color: var(--lb-ok); }
#main-container .lbv .lbv-status.wait { color: var(--lb-gold); }
#main-container .lbv .lbv-status .fa-circle { animation: none; }
#main-container .lbv .lbv-tops + .lbv-note { margin-top: 8px; }
#main-container .lbv .lbv-note { align-items: flex-start; gap: 12px; padding: 12px 16px; border-radius: var(--lb-r-ctl); background: var(--lb-surface-2); border: 1px solid var(--lb-line); }
#main-container .lbv .lbv-note-ico { width: 36px; height: 36px; flex: 0 0 36px; border-radius: var(--lb-r-ctl); background: var(--lb-gold-soft); color: var(--lb-gold); box-shadow: inset 0 0 0 1px rgba(229, 185, 92, .35); font-size: 14px; }
#main-container .lbv .lbv-note-text { font-weight: 400; font-size: 13px; line-height: 20px; font-family: var(--lb-font); color: var(--lb-muted); }
#main-container .lbv .lbv-note-text b { margin-bottom: 4px; font-weight: 700; font-size: 14px; line-height: 20px; font-family: var(--lb-font); color: var(--lb-text); }
#main-container .lbv .lbv-panel { margin-top: 16px; padding: 16px; border-radius: var(--lb-r-ctl); background: var(--lb-surface-2); border: 1px solid var(--lb-line); }
#main-container .lbv .lbv-panel-title { margin-bottom: 12px; font-weight: 700; font-size: 16px; line-height: 24px; font-family: var(--lb-font-head); color: var(--lb-text); }
#main-container .lbv .lbv-panel-title .fa { color: var(--lb-gold); margin-right: 8px; }
#main-container .lbv .lbv-panel .d-flex > div:last-child { font-weight: 600; font-size: 13px; line-height: 20px; font-family: var(--lb-font); color: var(--lb-text-2); }
#main-container .lbv .lbv-streak-n { color: var(--lb-gold-hi); }
#main-container .lbv .lbv-dots { gap: 8px; margin: 12px 0 !important; }
#main-container .lbv .lbv-dot { height: 8px; border-radius: var(--lb-r-ctl); background: var(--lb-surface-3); }
#main-container .lbv .lbv-dot.on { background: linear-gradient(90deg, #8a6424, var(--lb-gold)); box-shadow: none; }
#main-container .lbv .lbv-progress { background: var(--lb-surface-3); }
#main-container .lbv .lbv-progress .progress-bar { background: linear-gradient(90deg, #8a6424, var(--lb-gold)); }
#main-container .lbv .lbv-hint { font-weight: 400; font-size: 13px; line-height: 20px; font-family: var(--lb-font); color: var(--lb-muted); }
#main-container .lbv .lbv-hint b { color: var(--lb-text); }
#main-container .lbv .lbv-coin { width: 16px; height: 16px; vertical-align: -3px; }
/* кошелёк и выдача */
#main-container .lbv .lbv-wallet { gap: 16px; }
#main-container .lbv .lbv-wallet-sum { gap: 12px; }
#main-container .lbv .lbv-wallet-n { font-weight: 700; font-size: 24px; line-height: 28px; font-family: var(--lb-font); color: var(--lb-gold-hi); font-variant-numeric: lining-nums tabular-nums; }
#main-container .lbv .lbv-wallet-l { margin-top: 4px; font-weight: 600; font-size: 12px; line-height: 16px; font-family: var(--lb-font); text-transform: none; letter-spacing: 0; color: var(--lb-muted); }
#main-container .lbv .lbv-wallet-side { gap: 8px; }
#main-container .lbv .lbv-srv-switch {
  display: inline-flex; align-items: center; height: var(--lb-h-m); padding: 2px; gap: 2px;
  border-radius: var(--lb-r-ctl); background: var(--lb-field); border: 1px solid var(--lb-line-2); box-shadow: none;
}
#main-container .lbv .lbv-srv {
  display: inline-flex; align-items: center; justify-content: center; height: calc(var(--lb-h-m) - 6px);
  min-width: 56px; padding: 0 12px; border-radius: var(--lb-r-chip);
  font-weight: 700; font-size: 13px; line-height: 16px; font-family: var(--lb-font); color: var(--lb-muted);
}
#main-container .lbv .lbv-srv, #main-container .lbv a.lbv-srv { transition: background-color var(--lb-t1) ease, color var(--lb-t1) ease; }
#main-container .lbv a.lbv-srv { color: var(--lb-muted); }
#main-container .lbv a.lbv-srv:hover { background: var(--lb-surface-3); color: var(--lb-text); }
#main-container .lbv .lbv-srv.active { background: var(--lb-gold-soft); box-shadow: inset 0 0 0 1px rgba(229, 185, 92, .4); color: var(--lb-gold-hi); }
#main-container .lbv .lbv-srv.active .fa { margin-right: 4px; font-size: 11px; vertical-align: 0; }
#main-container .lbv .lbv-select { height: var(--lb-h-m); padding-top: 0; padding-bottom: 0; border-radius: var(--lb-r-ctl); background-color: var(--lb-field); font-size: 13px; }
#main-container .lbv .lbv-issue { gap: 8px; }
/* шаги: панели E2 на той же сетке */
#main-container .lbv .lbv-steps { gap: 16px; margin-top: 16px; }
#main-container .lbv .lbv-step { align-items: flex-start; gap: 12px; padding: 12px 16px; background: var(--lb-surface-2); border: 1px solid var(--lb-line); border-radius: var(--lb-r-ctl); }
#main-container .lbv .lbv-step-num {
  width: 36px; height: 36px; flex: 0 0 36px; border-radius: var(--lb-r-ctl);
  background: var(--lb-cell); color: var(--lb-gold); box-shadow: inset 0 0 0 1px var(--lb-gold-line); font-size: 14px;
}
#main-container .lbv .lbv-step-text { font-weight: 400; font-size: 13px; line-height: 20px; font-family: var(--lb-font); color: var(--lb-muted); }
#main-container .lbv .lbv-step-text b { font-weight: 700; color: var(--lb-text); }
/* умения за монеты: ячейки предметов */
#main-container .lbv .lbv-skill { border-radius: 4px; background: none; box-shadow: none; }
#main-container .lbv .lbv-skill img { border-radius: 4px; box-shadow: 0 2px 8px rgba(0, 0, 0, .45); }
#main-container .lbv .lbv-skill b {
  right: -4px; bottom: -6px; min-width: 22px; padding: 0 4px; border-radius: var(--lb-r-chip);
  background: var(--lb-cell); color: var(--lb-gold-hi); box-shadow: 0 0 0 1px var(--lb-gold-line);
  font-weight: 700; font-size: 11px; line-height: 16px; font-family: var(--lb-font); font-variant-numeric: lining-nums tabular-nums;
}
#main-container .lbv .lbv-scroller::before { background: linear-gradient(90deg, var(--lb-surface-2) 30%, rgba(18, 26, 38, 0)); }
#main-container .lbv .lbv-scroller::after { background: linear-gradient(270deg, var(--lb-surface-2) 30%, rgba(18, 26, 38, 0)); }
#main-container .lbv .lbv-scroll-btn {
  width: var(--lb-h-s); height: var(--lb-h-s); margin-top: calc(var(--lb-h-s) / -2); border-radius: var(--lb-r-ctl);
  background: var(--lb-surface-3); color: var(--lb-text); box-shadow: 0 0 0 1px var(--lb-line-2), var(--lb-shadow-item);
}
#main-container .lbv .lbv-scroll-btn:hover { color: var(--lb-gold-hi); }
#main-container .lbv .lbv-legend { display: flex; flex-wrap: wrap; gap: 4px 16px; margin-top: 12px; font-weight: 600; font-size: 12px; line-height: 16px; font-family: var(--lb-font); color: var(--lb-muted); }
#main-container .lbv .lbv-legend span { margin-right: 0; }
#main-container .lbv .lbv-legend em { color: var(--lb-gold); }
@media (max-width: 767px) { #main-container .lbv .lbv-srv { flex: 1; } }
/* телефон: шапка голосования собрана как у рефералки и аккаунтов (ячейка слева, текст влево) */
@media (max-width: 767.98px) {
  #main-container .lbv .lbv-hero-row { flex-direction: row; align-items: flex-start; text-align: left; }
}
/* узкий телефон: статус топа в одну строку */
@media (max-width: 399.98px) {
  #main-container .lbv .lbv-card, #main-container .lbv .lbv-card.block { padding: 12px 10px; }
  #main-container .lbv .lbv-status { font-size: 11px; }
}

/* --- пригласи друга (LbReferral) --- */
#main-container .lbr { position: relative; }
#main-container .lbr .lbr-hero { align-items: flex-start; gap: var(--lb-s4); padding: var(--lb-s5) var(--lb-pad); color: var(--lb-text-2); }
#main-container .lbr .lbr-hero-ico {
  width: 48px; height: 48px; margin: 4px; flex: none; border-radius: 4px;
  background: url(/template/panel/assets/media/icon/referral/costume.png) center / 100% no-repeat;
  box-shadow: 0 2px 8px rgba(0, 0, 0, .45);
}
#main-container .lbr .lbr-hero-ico > i { display: none; }
#main-container .lbr .lbr-title { margin: 0; font-weight: 700; font-size: 20px; line-height: 28px; font-family: var(--lb-font-head); color: var(--lb-gold); }
#main-container .lbr .lbr-count { margin-bottom: 16px; font-weight: 600; font-size: 13px; line-height: 20px; font-family: var(--lb-font); color: var(--lb-muted); }
#main-container .lbr .lbr-count b { margin-right: 4px; font-weight: 700; font-size: 24px; line-height: 28px; font-family: var(--lb-font); vertical-align: baseline; color: var(--lb-gold-hi); font-variant-numeric: lining-nums tabular-nums; }
#main-container .lbr .lbr-section { margin-bottom: 16px; padding: 16px; border-radius: var(--lb-r-ctl); background: var(--lb-surface-2); border: 1px solid var(--lb-line); }
#main-container .lbr .lbr-section-title { margin-bottom: 12px; font-weight: 700; font-size: 11px; line-height: 16px; font-family: var(--lb-font); letter-spacing: var(--lb-track); text-transform: uppercase; color: var(--lb-muted); }
#main-container .lbr .lbr-gift { gap: 12px; }
#main-container .lbr .lbr-gift + .lbr-gift { margin-top: 12px; }
#main-container .lbr .lbr-gift img {
  width: 36px; height: 36px; padding: 0; border-radius: 4px;
  background: none; box-shadow: 0 2px 6px rgba(0, 0, 0, .45);
}
#main-container .lbr .lbr-gift b { font-weight: 700; font-size: 14px; line-height: 20px; font-family: var(--lb-font); color: var(--lb-text); }
#main-container .lbr .lbr-gift span { font-weight: 400; font-size: 12px; line-height: 16px; font-family: var(--lb-font); color: var(--lb-muted); }
#main-container .lbr .lbr-percent {
  width: 36px; height: 36px; border-radius: var(--lb-r-ctl);
  background: var(--lb-cell); color: var(--lb-gold-hi); box-shadow: inset 0 0 0 1px var(--lb-gold-line);
  font-weight: 700; font-size: 12px; line-height: 16px; font-family: var(--lb-font);
}
#main-container .lbr .lbr-link-label { margin: 0 0 8px; font-weight: 600; font-size: 12px; line-height: 16px; font-family: var(--lb-font); color: var(--lb-muted); }
#main-container .lbr .lbr-link { gap: 8px; }
#main-container .lbr .lbr-link .form-control { height: var(--lb-h-m); border-radius: var(--lb-r-ctl); background: var(--lb-field); font-size: 13px; }
#main-container .lbr .lbr-note { margin-top: 12px; font-weight: 400; font-size: 12px; line-height: 16px; font-family: var(--lb-font); color: var(--lb-muted); }
/* планшет: рефералка во всю ширину под аккаунтами, «Друг получает» и «Ты получаешь» рядом (дыры справа нет) */
@media (min-width: 768px) and (max-width: 1199.98px) {
  #main-container .grid > .grid-item:has(> .lbr) { flex: 0 0 100%; max-width: 100%; width: 100%; }
  #main-container .lbr > .block-content { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 16px; align-items: stretch; }
  #main-container .lbr > .block-content > :not(.lbr-section) { grid-column: 1 / -1; }
}

/* --- список игровых аккаунтов --- */
#main-container .ribbon > .block-content { padding-top: var(--lb-pad); }
/* шапка аккаунтов собрана как у голосования и рефералки: ячейка предмета 56, справа заголовок, под ним сервер кикером */
#main-container .ribbon > .block-content > .mb-20 {
  display: grid; grid-template-columns: 56px minmax(0, 1fr); grid-template-rows: auto 1fr; column-gap: var(--lb-s4); row-gap: 4px; align-items: start;
  min-height: 96px; margin: calc(-1 * var(--lb-pad)) calc(-1 * var(--lb-pad)) var(--lb-pad);
  padding: 20px calc(var(--lb-pad) + 264px) 20px var(--lb-pad); border-radius: var(--lb-r-in) var(--lb-r-in) 0 0;
  font-weight: 700; font-size: 11px; line-height: 16px; font-family: var(--lb-font); letter-spacing: var(--lb-track); text-transform: uppercase; color: var(--lb-muted);
}
#main-container .ribbon > .block-content > .mb-20::before {
  content: ''; grid-column: 1; grid-row: 1 / span 2; width: 48px; height: 48px; margin: 4px; border-radius: 4px;
  background: url(/template/panel/assets/media/icon/referral/cap.png) center / 100% no-repeat;
  box-shadow: 0 2px 8px rgba(0, 0, 0, .45);
}
#main-container .ribbon > .block-content > .mb-20 > span {
  grid-column: 2; grid-row: 1; justify-self: start;
  display: inline-block !important; font-weight: 700; font-size: 20px; line-height: 28px; font-family: var(--lb-font-head); letter-spacing: 0; text-transform: none; color: var(--lb-gold);
}
#main-container .ribbon > .btn-create-account { top: 17px; right: var(--lb-pad); height: var(--lb-h-m); display: inline-flex; align-items: center; padding: 0 12px; }
#main-container .list_account { margin-bottom: 8px !important; }
#main-container .list_account div.accordion_account::before, #main-container .list_account div.accordion_account::after { transition: transform var(--lb-t2) var(--lb-ease), opacity var(--lb-t2) ease; }
#main-container .list_account,
#main-container .list_account .accordion_account { border-color: var(--lb-line) !important; }
#main-container .list_account .accordion_account { background-color: var(--lb-surface-2); color: var(--lb-text); }
#main-container .list_account > .accordion_account { border-radius: var(--lb-r-in) var(--lb-r-in) 0 0; }
#main-container .list_account:not(.open) > .accordion_account { border-radius: var(--lb-r-in); border-bottom-color: transparent !important; }
#main-container .list_account .accordion_account > a.font-w600 { color: var(--lb-gold); font-weight: 700; font-size: 14px; line-height: 20px; font-family: var(--lb-font); }
#main-container .list_account .accordion_account .fa-info-circle.text-primary { color: var(--lb-muted) !important; }
/* шеврон не липнет к логину; раскрытый аккаунт показывает тот же шеврон, повёрнутый вниз */
#main-container .list_account .accordion_account > a.font-w600 { margin-left: 8px; }
#main-container .list_account div.accordion_account::after { content: '\f107'; }
/* счётчик персонажей и значок сведений не слипаются */
#main-container .list_account .accordion_account .fa-user-o { margin-right: 4px; }
#main-container .list_account .accordion_account .fa-info-circle { margin-left: 8px; }
#main-container .list_account .collapse > .block-content { padding-top: 12px !important; padding-bottom: 8px !important; }
#main-container .list_account .btn-outline-primary.btn-noborder,
#main-container .list_account .btn-outline-primary.btn-noborder i { color: var(--lb-text-2); background: transparent; }
#main-container .list_account .btn-outline-primary.btn-noborder:hover,
#main-container .list_account .btn-outline-primary.btn-noborder:hover i { color: var(--lb-gold-hi); }
#main-container .list_account .btn-noborder { height: var(--lb-h-s); }
#main-container .list_account .btn-group > .btn { height: var(--lb-h-s); padding: 0 10px; white-space: nowrap; font-size: 12px; }
#main-container .list_account td.text-center:last-child { text-align: right !important; }
#main-container .list_account h6.text-muted { font-weight: 600; font-size: 13px; line-height: 20px; font-family: var(--lb-font); margin: 4px 0 12px; }
/* узкий экран (до 600): кнопка «Создать» под списком во всю ширину, заголовку шапки хватает места */
@media (max-width: 599.98px) {
  #main-container .ribbon { display: flex; flex-direction: column; }
  #main-container .ribbon > .btn-create-account { position: static; order: 2; margin: 0 var(--lb-pad) var(--lb-pad); width: auto; justify-content: center; }
  #main-container .ribbon > .block-content > .mb-20 { padding-right: var(--lb-pad); padding-top: 20px; }
}
@media (max-width: 991.98px) { #main-container .list_account .accordion_account > a.font-w600 { display: inline-block; padding: 8px 0; } }
/* ПК: шапки аккаунтов и рефералки в одном ряду одной высоты, золотые нити на одном уровне (высоту считает lb-theme.js) */
@media (min-width: 1200px) {
  #main-container .lbr .lbr-hero, #main-container .ribbon > .block-content > .mb-20 { min-height: var(--lb-sec-h, 96px); }
  #main-container .ribbon > .block-content > .mb-20 { align-content: start; }
}

/* --- пожертвования: плитки оплаты, поля, ползунок --- */
#main-container .cc-selector-2 { position: relative; }
#main-container .cc-selector-2 input[type="radio"] { position: absolute; opacity: 0; width: 1px; height: 1px; pointer-events: none; }
/* невыбранный способ: серый логотип под тёмной вуалью (светлые плиты не спорят с формой); меняется только прозрачность вуали */
#main-container .drinkcard-cc {
  position: relative; display: block; margin: 0; border-radius: var(--lb-r-ctl); overflow: hidden;
  filter: none; opacity: 1; box-shadow: 0 0 0 1px var(--lb-line-2);
  transition: none;
}
#main-container .drinkcard-cc img { display: block; width: 100%; border-radius: 0; filter: grayscale(1); }
#main-container .drinkcard-cc::after {
  content: ''; position: absolute; inset: 0; pointer-events: none;
  background: rgba(13, 19, 28, .74); transition: opacity var(--lb-t1) ease;
}
#main-container .drinkcard-cc:hover { filter: none; opacity: 1; }
#main-container .drinkcard-cc:hover::after { opacity: .6; }
#main-container .cc-selector-2 input:checked + .drinkcard-cc { filter: none; opacity: 1; box-shadow: 0 0 0 2px var(--lb-gold); }
#main-container .cc-selector-2 input:checked + .drinkcard-cc img { filter: none; }
#main-container .cc-selector-2 input:checked + .drinkcard-cc::after { opacity: 0; }
/* плитки с тёмными версиями логотипов (media/payment/dark): без белых карточек на тёмной странице.
   Невыбранный способ = светлый силуэт, выбранный = фирменные цвета и золотая рамка. Неизвестные системы остаются как были. */
#main-container .drinkcard-cc:is(:has(> img[src*="/payment/paypalych.png"]), :has(> img[src*="/payment/primepayments.png"]), :has(> img[src*="/payment/monobank.png"]), :has(> img[src*="/payment/paypal.png"])) {
  aspect-ratio: 640 / 341; padding: 11% 13%; background: var(--lb-surface-2) center / contain no-repeat; background-origin: content-box;
  box-shadow: 0 0 0 1px var(--lb-line-2); opacity: .7; transition: opacity var(--lb-t1) ease;
}
#main-container .drinkcard-cc:is(:has(> img[src*="/payment/paypalych.png"]), :has(> img[src*="/payment/primepayments.png"]), :has(> img[src*="/payment/monobank.png"]), :has(> img[src*="/payment/paypal.png"])) img { position: absolute; inset: 0; width: 100%; height: 100%; opacity: 0; }
#main-container .drinkcard-cc:is(:has(> img[src*="/payment/paypalych.png"]), :has(> img[src*="/payment/primepayments.png"]), :has(> img[src*="/payment/monobank.png"]), :has(> img[src*="/payment/paypal.png"]))::after { display: none; }
#main-container .drinkcard-cc:is(:has(> img[src*="/payment/paypalych.png"]), :has(> img[src*="/payment/primepayments.png"]), :has(> img[src*="/payment/monobank.png"]), :has(> img[src*="/payment/paypal.png"])):hover { opacity: 1; }
#main-container .drinkcard-cc:has(> img[src*="/payment/paypalych.png"]) { background-image: url(/template/panel/assets/media/payment/dark/paypalych_mono.png); }
#main-container .drinkcard-cc:has(> img[src*="/payment/primepayments.png"]) { background-image: url(/template/panel/assets/media/payment/dark/primepayments_mono.png); }
#main-container .drinkcard-cc:has(> img[src*="/payment/monobank.png"]) { background-image: url(/template/panel/assets/media/payment/dark/monobank_mono.png); }
#main-container .drinkcard-cc:has(> img[src*="/payment/paypal.png"]) { background-image: url(/template/panel/assets/media/payment/dark/paypal_mono.png); }
#main-container .cc-selector-2 input:checked + .drinkcard-cc:is(:has(> img[src*="/payment/paypalych.png"]), :has(> img[src*="/payment/primepayments.png"]), :has(> img[src*="/payment/monobank.png"]), :has(> img[src*="/payment/paypal.png"])) { opacity: 1; background-color: var(--lb-surface-3); box-shadow: 0 0 0 2px var(--lb-gold); }
#main-container .cc-selector-2 input:checked + .drinkcard-cc:has(> img[src*="/payment/paypalych.png"]) { background-image: url(/template/panel/assets/media/payment/dark/paypalych_color.png); }
#main-container .cc-selector-2 input:checked + .drinkcard-cc:has(> img[src*="/payment/primepayments.png"]) { background-image: url(/template/panel/assets/media/payment/dark/primepayments_color.png); }
#main-container .cc-selector-2 input:checked + .drinkcard-cc:has(> img[src*="/payment/monobank.png"]) { background-image: url(/template/panel/assets/media/payment/dark/monobank_color.png); }
#main-container .cc-selector-2 input:checked + .drinkcard-cc:has(> img[src*="/payment/paypal.png"]) { background-image: url(/template/panel/assets/media/payment/dark/paypal_color.png); }
/* заметка под плитками (текст из админки) читается подсказкой, а не подписью выбранного способа */
#main-container .col-md-12:has(.cc-selector-2) + .col-md-12 > p:first-child { margin: 16px 0 16px; font-size: 13px; line-height: 20px; color: var(--lb-muted); }
#main-container .col-md-12:has(.cc-selector-2) + .col-md-12 > p:first-child strong { color: var(--lb-text-2); }
#main-container .cc-selector-2 input:focus-visible + .drinkcard-cc { outline: 2px solid var(--lb-gold-ring); outline-offset: 2px; }
#main-container .row:has(> [class*="col-"] > .cc-selector-2) { margin-left: -4px; margin-right: -4px; }
#main-container .col-4:has(> .cc-selector-2) { margin-bottom: 8px; padding-left: 4px; padding-right: 4px; }
#main-container .form-group:has(> label[for="payment_method"]) { margin-bottom: 0; }
#main-container .form-group:has(> label[for="payment_method"]) + .row.mt-20 { margin-top: 8px !important; }
#main-container form .block-content.pl-50.pr-50 { padding-left: 48px !important; padding-right: 48px !important; }
@media (min-width: 576px) { #main-container form .block-content.pl-50.pr-50 { padding-top: 32px; } }
#main-container #calculation_board > .row { margin-left: 0; margin-right: 0; padding-bottom: 4px; }
#main-container #calculation_board > .row > [class*="col-"] { padding-left: 0; padding-right: 0; }
#main-container form .block-content.block-content-full.bg-body-light.text-center {
  padding: 16px var(--lb-pad); border-top: 1px solid var(--lb-line); border-radius: 0 0 var(--lb-r-in) var(--lb-r-in);
}
#main-container form .block-content.bg-body-light.text-center > .submit-form[type="submit"] { min-width: 280px; }
@media (max-width: 575.98px) {
  #main-container .col-4:has(> .cc-selector-2) { flex: 0 0 50%; max-width: 50%; }
  #main-container form .block-content.pl-50.pr-50 { padding-left: 16px !important; padding-right: 16px !important; }
  #main-container .irs--round .irs-grid-text { display: none; }
  #main-container form .block-content.bg-body-light.text-center > .submit-form[type="submit"] { width: 100%; min-width: 0; }
}
/* ползунок суммы (ion.rangeSlider, скин round) */
#main-container .irs--round .irs-line { background-color: var(--lb-surface-3); }
#main-container .irs--round .irs-bar { background: linear-gradient(90deg, #8a6424, var(--lb-gold)); }
#main-container .irs--round .irs-handle { background-color: var(--lb-gold-hi); border: 3px solid var(--lb-surface); box-shadow: 0 0 0 1px rgba(229, 185, 92, .6); }
#main-container .irs--round .irs-handle.state_hover, #main-container .irs--round .irs-handle:hover { background-color: #fff; }
#main-container .irs--round .irs-single, #main-container .irs--round .irs-from, #main-container .irs--round .irs-to {
  background-color: var(--lb-gold); color: #1a1206; font-weight: 700; font-size: 12px; line-height: 16px; font-family: var(--lb-font); border-radius: var(--lb-r-chip);
}
#main-container .irs--round .irs-single:before, #main-container .irs--round .irs-from:before, #main-container .irs--round .irs-to:before { border-top-color: var(--lb-gold); }
/* края шкалы подписаны делениями снизу, чипы min и max сверху их только повторяют */
#main-container .irs--round .irs-min, #main-container .irs--round .irs-max { display: none !important; }
#main-container .irs--round .irs-grid-text { color: #939cab; font-weight: 600; font-size: 11px; line-height: 16px; font-family: var(--lb-font); }
/* крайние подписи делений не выходят за поля формы: первая от левого края, последняя до правого */
#main-container .irs--round .irs-grid-text.js-grid-text-0 { margin-left: 0 !important; padding-left: 0; }
#main-container .irs--round .irs-grid-text:last-child { margin-left: 0 !important; transform: translateX(-100%); padding-right: 0; }
#main-container .irs--round .irs-grid-pol { background-color: var(--lb-line-2); }

/* --- рейтинг --- */
#main-container .block > .nav-tabs-block { padding-left: 6px; padding-right: 6px; }
/* телефон: вкладки в одну строку, лишние листаются вбок внутри полосы */
@media (max-width: 575.98px) {
  #main-container .block > .nav-tabs-block { flex-wrap: nowrap; overflow-x: auto; overflow-y: hidden; scrollbar-width: none; }
  #main-container .block > .nav-tabs-block::-webkit-scrollbar { display: none; }
  #main-container .block > .nav-tabs-block .nav-link { white-space: nowrap; padding-left: 10px; padding-right: 10px; }
}
#main-container .block-content .table th:first-child, #main-container .block-content .table td:first-child { padding-left: 0; }
#main-container .block-content .table th:last-child, #main-container .block-content .table td:last-child { padding-right: 0; }
#main-container :is(#tab-top_pvp, #tab-top_pk) .table :is(th, td):nth-child(n+5):nth-child(-n+7) { text-align: right; }
/* пьедестал: цифры набираются Raleway (у Philosopher цифры разной высоты) */
#main-container :is(#tab-top_pvp, #tab-top_pk, #tab-top_clan) .table tbody tr:nth-child(-n+3) > th { font-weight: 700; font-size: 16px; line-height: 20px; font-family: var(--lb-font); font-variant-numeric: lining-nums tabular-nums; }
#main-container :is(#tab-top_pvp, #tab-top_pk, #tab-top_clan) .table tbody tr:nth-child(1) > th { color: #ffc75b; }
#main-container :is(#tab-top_pvp, #tab-top_pk, #tab-top_clan) .table tbody tr:nth-child(2) > th { color: #cfd6e0; }
#main-container :is(#tab-top_pvp, #tab-top_pk, #tab-top_clan) .table tbody tr:nth-child(3) > th { color: #d08a4e; }
#main-container :is(#tab-top_pvp, #tab-top_pk, #tab-top_clan) .table tbody tr:nth-child(-n+3) > td:nth-child(2) { color: var(--lb-text); font-weight: 700; }
#main-container .table .si-globe.text-gray { color: #3a4659 !important; }
#main-container .table .si-globe.text-success { color: var(--lb-ok) !important; }
/* «в сети»: значок по центру своей колонки, отступ от TIME */
@media (min-width: 576px) {
  #main-container :is(#tab-top_pvp, #tab-top_pk) .table :is(th, td):nth-child(8) { width: 80px; text-align: center; padding-left: 16px; }
}
/* телефон: ID, ник, уровень и PvP / PK без прокрутки вбок; клан, класс и время прячутся, «в сети» точкой у ника */
@media (max-width: 575.98px) {
  #main-container :is(#tab-top_pvp, #tab-top_pk) .table :is(th, td):is(:nth-child(3), :nth-child(4), :nth-child(7), :nth-child(8)) { display: none; }
  #main-container .tab-pane.table-responsive .table :is(th, td) { white-space: nowrap; padding: 8px 6px; }
  #main-container :is(#tab-top_pvp, #tab-top_pk) .table :is(th, td):nth-child(6) { padding-right: 0; }
  #main-container :is(#tab-top_pvp, #tab-top_pk) tbody tr:has(.si-globe.text-success) > td:nth-child(2)::after {
    content: ''; display: inline-block; width: 6px; height: 6px; margin-left: 6px; border-radius: 50%; background: var(--lb-ok); vertical-align: middle;
  }
}
@media (max-width: 359.98px) {
  #main-container :is(#tab-top_pvp, #tab-top_pk) .table :is(th, td):nth-child(5) { display: none; }
}
/* время обновления: значок часов вместо длинного тире codebase.css */
#main-container .blockquote-footer { font-size: 12px; line-height: 16px; font-family: var(--lb-font); font-variant-numeric: lining-nums tabular-nums; }
#main-container .blockquote-footer::before { content: '\f017'; margin-right: 6px; font-family: FontAwesome; color: var(--lb-muted); }

/* --- пустой магазин --- */
#main-container .content > .my-10.text-center + p.alert-warning {
  position: relative; max-width: 560px; margin: 0 auto; padding: 104px 24px 28px;
  border-radius: var(--lb-r-card) !important; background: var(--lb-surface); border: 1px solid var(--lb-line);
  color: var(--lb-text-2); font-weight: 600; font-size: 14px; line-height: 20px; font-family: var(--lb-font);
}
#main-container .content > .my-10.text-center + p.alert-warning::before {
  content: ''; position: absolute; top: 28px; left: 50%; width: 56px; height: 56px; margin-left: -28px;
  border-radius: 4px; transform: scale(.857);
  background: url(/template/site/la2best/images/other/etc_readybox_bronze.png) center / 100% no-repeat;
  box-shadow: 0 2px 8px rgba(0, 0, 0, .45);
}

/* --- настройки и окно смены пароля --- */
#main-container .tab-pane h4.text-center { margin: 0; font-weight: 700; font-size: 20px; line-height: 28px; font-family: var(--lb-font-head); color: var(--lb-gold); text-align: left !important; }
@media (min-width: 768px) { #main-container .tab-pane h4.text-center { padding-left: calc((100% + 30px) / 3); } }
#main-container .tab-pane h4.text-center + hr { margin: 8px 0 24px; border-top-color: var(--lb-line); }
#main-container .tab-pane form > h4.text-center { margin-top: 40px; }
/* ПК: карточка настроек узкая и по центру, как форма пожертвований; колонка формы во всю карточку */
@media (min-width: 992px) {
  #main-container .content > .row > .box_mw > .block:has(#settings) { max-width: 928px; margin-left: auto; margin-right: auto; }
  #main-container #settings > .row > .col-xl-12 { flex: 0 0 100%; max-width: 100%; }
  #main-container #settings .form-group.row > .col-md-6 { flex: 0 0 66.667%; max-width: 66.667%; }
}
/* подсказка Telegram: шаги с ровным ритмом */
#main-container .tab-pane .form-text dt { margin-top: 12px; font-weight: 700; color: var(--lb-text); }
#main-container .tab-pane .form-text dd, #main-container .tab-pane .form-text dd > p { margin-bottom: 0; }
/* подписи без вертикальных черт; центр подписи совпадает с центром поля 40 */
#main-container .form-group.row > .col-form-label.border-right,
.modal .form-group.row > .col-form-label.border-right { border-right: 0 !important; padding-top: 15px; padding-bottom: 0; line-height: 20px; }
@media (max-width: 991.98px) {
  #main-container .form-group.row > .col-form-label.border-right,
  .modal .form-group.row > .col-form-label.border-right { padding-top: 17px; }
}
#main-container #settings .form-group.row > .text-justify { padding-top: 15px !important; }
#main-container #settings .text-justify > .mr-5 { margin-right: 8px !important; }
#main-container #settings .text-justify > .css-switch { margin: 0; vertical-align: middle; }
#main-container .tab-pane .text-justify > .mr-5 { font-weight: 600; color: var(--lb-text-2); }
@media (max-width: 767.98px) {
  #main-container .form-group.row > .col-form-label.text-right,
  .modal .form-group.row > .col-form-label.text-right { text-align: left !important; padding-top: 0; padding-bottom: 4px; }
  #main-container .form-group.row > .col-form-label + .pt-5,
  .modal .form-group.row > .col-form-label + .pt-5 { padding-top: 0 !important; }
}
#main-container .input-group > .input-group-append > .btn,
#main-container .input-group > .input-group-prepend > .btn { height: var(--lb-h-l); display: inline-flex; align-items: center; gap: 8px; padding: 0 16px; }
/* полоса сохранения: во всю ширину блока, кнопка на оси полей */
/* полоса выходит на всю ширину карточки через единицы контейнера (на ПК колонка формы во всю карточку 928, расчёт тот же) */
#main-container .block-content.tab-content:has(> #settings) { container-type: inline-size; }
#main-container .block-settings-save-fix {
  width: auto;
  margin: 24px calc((100% - 100cqw) / 2 - var(--lb-pad)) -21px; padding: 16px var(--lb-pad);
  border-top: 1px solid var(--lb-line); border-radius: 0 0 var(--lb-r-in) var(--lb-r-in); text-align: left;
}
#main-container .block-settings-save-fix > .row, .modal .block-settings-save-fix > .row { margin: 0; justify-content: flex-start !important; }
@media (min-width: 768px) { #main-container .block-settings-save-fix:has(> .row > .submit-form) { padding-left: calc(var(--lb-pad) + (100cqw - 100%) / 2 + (100% + 30px) / 3); } }
.modal .block-settings-save-fix { padding: 16px var(--lb-pad); text-align: left; }
/* сдвиг кнопки под поля (на треть) только для подвала «одна кнопка», как в настройках и смене пароля */
@media (min-width: 768px) { .modal .block-settings-save-fix:has(> .row > .submit-form) { padding-left: calc(var(--lb-pad) + (100% - 2 * var(--lb-pad) + 30px) / 3); } }
/* подвал «сведения слева, кнопка справа» (перевод CoL в игру): сумма уезжала под кнопку из-за сдвига; теперь ровная строка,
   на телефоне кнопка во всю ширину под суммой */
.modal .block-settings-save-fix > .row:has(> [class*="col-"]) { flex-wrap: wrap; align-items: center; justify-content: space-between !important; gap: 8px 16px; }
.modal .block-settings-save-fix > .row > [class*="col-"] { flex: 0 1 auto; width: auto; max-width: none; padding: 0 !important; }
.modal .block-settings-save-fix > .row > [class*="col-"] > .m-5 { margin: 0 !important; color: var(--lb-text-2); font-weight: 600; font-size: 13px; line-height: 20px; }
.modal .block-settings-save-fix > .row > [class*="col-"] > .float-right { float: none !important; }
@media (max-width: 575.98px) { .modal .block-settings-save-fix > .row > [class*="col-"]:has(> .submit-form) { flex-basis: 100%; } }
#main-container .block-settings-save-fix .submit-form[type="submit"], .modal .block-settings-save-fix .submit-form[type="submit"] {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  min-width: 200px; height: var(--lb-h-l); padding: 0 20px; font-weight: 700; font-size: 14px; line-height: 20px; font-family: var(--lb-font);
}
.block-settings-save-fix .submit-form .fa-save::before { content: '\f023'; }
.block-settings-save-fix .submit-form i { margin-right: 0 !important; }
@media (max-width: 575.98px) {
  #main-container .block-settings-save-fix .submit-form[type="submit"], .modal .block-settings-save-fix .submit-form[type="submit"] { width: 100%; }
}

/* ================= 14. блок «Файлы игры» в меню ================= */
.lbdl {
  position: relative;
  margin: 12px 0 8px;
  padding: 16px 12px;
  border-radius: var(--lb-r-card);
  background: var(--lb-surface);
  border: 1px solid var(--lb-line);
  font-family: var(--lb-font);
  scroll-margin-top: 64px;
}
.lbdl-head { display: flex; align-items: baseline; justify-content: space-between; gap: 8px; margin-bottom: 12px; }
.lbdl-title { font-weight: 700; font-size: 16px; line-height: 24px; font-family: var(--lb-font-head); color: var(--lb-text); letter-spacing: 0; }
.lbdl-srv { font-weight: 700; font-size: 12px; line-height: 16px; font-family: var(--lb-font); letter-spacing: .02em; text-transform: none; color: var(--lb-muted); }
.lbdl-file + .lbdl-file { margin-top: 16px; padding-top: 16px; border-top: 1px solid var(--lb-line); }
.lbdl-row { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.lbdl-name { display: inline-flex; align-items: center; color: var(--lb-text); font-weight: 700; font-size: 14px; line-height: 20px; font-family: var(--lb-font); }
.lbdl-need, .lbdl-new {
  display: inline-flex; align-items: center; height: 18px; padding: 0 6px; border-radius: var(--lb-r-chip);
  font-weight: 700; font-size: 11px; line-height: 16px; font-family: var(--lb-font); letter-spacing: var(--lb-track); text-transform: uppercase;
}
.lbdl-need { color: var(--lb-gold); border: 1px solid var(--lb-gold-hover); }

.lbdl-meta { margin: 4px 0 12px; color: var(--lb-muted); font-weight: 400; font-size: 12px; line-height: 16px; font-family: var(--lb-font); font-variant-numeric: lining-nums tabular-nums; }
.lbdl-meta b { color: var(--lb-text-2); font-weight: 600; }
.lbdl-btn {
  position: relative; overflow: hidden;
  display: flex; align-items: center; justify-content: center; gap: 8px;
  height: var(--lb-h-l); border-radius: var(--lb-r-ctl);
  font-weight: 700; font-size: 14px; line-height: 20px; font-family: var(--lb-font); color: #fff !important; text-decoration: none !important;
  background: linear-gradient(180deg, var(--lb-green-1) 0%, var(--lb-green-2) 100%);
  border: 1px solid var(--lb-green-line);
  box-shadow: inset 0 0 10px rgba(255, 255, 255, .12);
  transition: transform var(--lb-t1) ease;
}
.lbdl-btn:hover, .lbdl-btn:focus-visible { background: linear-gradient(180deg, var(--lb-green-1h) 0%, var(--lb-green-2h) 100%); }
.lbdl-btn svg { width: 16px; height: 16px; flex: none; }
/* патч: вторичная кнопка */
.lbdl-btn--patch { background: var(--lb-surface-2); border-color: var(--lb-line-2); color: var(--lb-text-2) !important; box-shadow: none; }
.lbdl-btn--patch:hover, .lbdl-btn--patch:focus-visible { background: var(--lb-surface-2); border-color: rgba(229, 185, 92, .55); color: var(--lb-gold-hi) !important; }
/* блик при наведении: только туда, без обратного хода */
.lbdl-btn::after {
  content: ''; position: absolute; top: 0; bottom: 0; left: -45%; width: 35%;
  background: linear-gradient(100deg, transparent, rgba(255, 255, 255, .22), transparent);
  transform: skewX(-18deg) translateX(0); transition: none;
}
.lbdl-btn:hover::after { transform: skewX(-18deg) translateX(480%); transition: transform .7s ease; }
.lbdl-btn:hover svg { animation: lbDrop .9s ease-in-out 2; }
.lbdl-btn:active, .lbdl-mirror:active { transform: translateY(1px); }
@keyframes lbDrop { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(2px); } }
.lbdl-mirrors { display: flex; gap: 8px; margin-top: 8px; }
.lbdl-mirror {
  flex: 1; display: flex; align-items: center; justify-content: center; gap: 8px;
  height: var(--lb-h-s); border-radius: var(--lb-r-ctl);
  font-weight: 600; font-size: 12px; line-height: 16px; font-family: var(--lb-font); color: var(--lb-text-2) !important; text-decoration: none !important;
  background: var(--lb-surface-2); border: 1px solid var(--lb-line-2);
  transition: color var(--lb-t1) ease, background-color var(--lb-t1) ease, border-color var(--lb-t1) ease;
}
.lbdl-mirror:hover, .lbdl-mirror:focus-visible { color: var(--lb-gold-hi) !important; border-color: rgba(229, 185, 92, .55); }
.lbdl-mirror i { width: 14px; height: 14px; flex: none; border-radius: 0; background: center / contain no-repeat; }
.lbdl-mirror--mega i { background-image: url(/template/site/la2best/images/downloads/ico-mega.png); }
.lbdl-mirror--yadisk i { background-image: url(/template/site/la2best/images/downloads/ico-yandex.png); }
.lbdl-mirror--gdrive i { background-image: url(/template/site/la2best/images/downloads/ico-gd.png); }
.lbdl-howto { margin-top: 12px; color: var(--lb-muted); font-weight: 400; font-size: 12px; line-height: 16px; font-family: var(--lb-font); }
.sidebar-mini #sidebar .lbdl { display: none; }
/* новый патч с прошлого визита: метка мигает три раза и замирает */
.lbdl-new { display: none; margin-left: 8px; color: #0b1a0f; background: var(--lb-ok); animation: lbBlink 2.4s ease-in-out 3; }
.lbdl-file.is-new .lbdl-new { display: inline-flex; }
.lbdl-file.is-new .lbdl-need { display: none; }
/* заглавные в плашке по центру по самим буквам: у Raleway место под хвосты букв поднимало надпись на ~1 px (замер по пикселям при 100/125/150%).
   Строка обрезается ровно по высоте заглавных (7.8 px), поля 4 px сверху и снизу + рамка = 18 px; без поддержки остаётся вариант выше */
@supports (text-box: trim-both cap alphabetic) {
  .lbdl-need, .lbdl-new { display: inline-block; height: auto; padding: 4px 6px; line-height: 1; text-box: trim-both cap alphabetic; }
  .lbdl-new { display: none; }
  .lbdl-file.is-new .lbdl-new { display: inline-block; }
}
@keyframes lbBlink { 0%, 100% { opacity: 1; } 50% { opacity: .55; } }

/* ================= 15. сетка и ритм ================= */
/* блоки кабинета: левый и правый край совпадают с шапкой, промежутки 24 (на телефоне 16) */
#main-container .content > .grid { margin-left: -12px; margin-right: -12px; }
#main-container .content > .grid > .box_mw { padding-left: 12px; padding-right: 12px; }
#main-container .content > .grid > .box_mw > .row { margin-left: -12px; margin-right: -12px; }
#main-container .content > .grid > .box_mw > .row > [class*="col-"] { padding-left: 12px; padding-right: 12px; }
@media (max-width: 1199.98px) {
  #main-container .content > .grid > .box_mw > .row > .col-4.col-xl-2,
  #main-container .content > .grid > .box_mw > .row > .col-6.col-xl-4 { flex: 0 0 50%; max-width: 50%; }
}
@media (max-width: 767.98px) {
  #main-container .content { padding-left: 16px; padding-right: 16px; }
}
/* телефон: сверху то же поле 16, что по бокам и между блоками */
@media (max-width: 575.98px) {
  #main-container .content { padding-top: 16px; }
}
@media (max-width: 575.98px) {
  #main-container .content > .grid > .box_mw > .row { margin-left: -8px; margin-right: -8px; }
  #main-container .content > .grid > .box_mw > .row > [class*="col-"] { padding-left: 8px; padding-right: 8px; }
}

/* ================= 16. фон, искры, появление ================= */
#main-container { position: relative; isolation: isolate; }
#main-container::before {
  content: ''; position: absolute; left: 0; right: 0; top: 0; height: 620px; z-index: -1; pointer-events: none;
  background: url(/template/site/la2best/images/header/bg.jpg) center 42% / cover no-repeat;
  opacity: .32;
  -webkit-mask-image: linear-gradient(180deg, #000 0%, rgba(0, 0, 0, .55) 45%, transparent 100%);
  mask-image: linear-gradient(180deg, #000 0%, rgba(0, 0, 0, .55) 45%, transparent 100%);
}
@media (max-width: 991.98px) { #main-container::before { height: 420px; } .lb-embers { height: 420px; } }
/* искры: единственное фоновое бесконечное движение (только transform и opacity) */
.lb-embers { position: absolute; left: 0; right: 0; top: 0; height: 600px; z-index: -1; overflow: hidden; pointer-events: none; }
.lb-embers i {
  position: absolute; bottom: -8px; left: 50%; width: 3px; height: 3px; border-radius: 50%;
  background: radial-gradient(circle, #ffe1a6 0%, #ff9a3c 45%, rgba(255, 110, 30, 0) 72%);
  opacity: 0; animation: lbEmber 16s linear infinite; will-change: transform, opacity;
}
.lb-embers i:nth-child(1) { left: 8%;  animation-duration: 17s; animation-delay: -2s; }
.lb-embers i:nth-child(2) { left: 17%; animation-duration: 21s; animation-delay: -9s; width: 2px; height: 2px; }
.lb-embers i:nth-child(3) { left: 26%; animation-duration: 15s; animation-delay: -5s; }
.lb-embers i:nth-child(4) { left: 35%; animation-duration: 23s; animation-delay: -14s; width: 4px; height: 4px; }
.lb-embers i:nth-child(5) { left: 44%; animation-duration: 19s; animation-delay: -1s; width: 2px; height: 2px; }
.lb-embers i:nth-child(6) { left: 53%; animation-duration: 16s; animation-delay: -11s; }
.lb-embers i:nth-child(7) { left: 62%; animation-duration: 22s; animation-delay: -6s; width: 2px; height: 2px; }
.lb-embers i:nth-child(8) { left: 71%; animation-duration: 18s; animation-delay: -16s; width: 4px; height: 4px; }
.lb-embers i:nth-child(9) { left: 80%; animation-duration: 20s; animation-delay: -3s; }
.lb-embers i:nth-child(10) { left: 89%; animation-duration: 24s; animation-delay: -12s; width: 2px; height: 2px; }
.lb-embers i:nth-child(11) { left: 94%; animation-duration: 17s; animation-delay: -7s; }
.lb-embers i:nth-child(12) { left: 3%;  animation-duration: 25s; animation-delay: -18s; width: 2px; height: 2px; }
@keyframes lbEmber {
  0% { transform: translate3d(0, 0, 0); opacity: 0; }
  12% { opacity: .75; }
  60% { opacity: .45; }
  100% { transform: translate3d(36px, -560px, 0); opacity: 0; }
}
/* блоки появляются мягко, по очереди; только при первом заходе за сессию */
@keyframes lbIn { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: none; } }
#main-container .content > .grid > .box_mw > *,
#main-container .content > .row > .box_mw > *,
#main-container form .block.block-shadow { animation: lbIn var(--lb-t3) var(--lb-ease) both; }
#main-container .content > .grid > .box_mw:nth-child(2) > * { animation-delay: .03s; }
#main-container .content > .grid > .box_mw:nth-child(3) > * { animation-delay: .09s; }
#main-container .content > .grid > .box_mw:nth-child(4) > * { animation-delay: .15s; }
#main-container .content > .grid > .box_mw:nth-child(5) > * { animation-delay: .21s; }
#main-container .content > .grid > .box_mw:nth-child(n+6) > * { animation-delay: .27s; }
html.lb-seen #main-container .content > .grid > .box_mw > *,
html.lb-seen #main-container .content > .row > .box_mw > *,
html.lb-seen #main-container form .block.block-shadow,
html.lb-seen .lbh-bg { animation: none; }
/* голосование: монета слегка парит */
@keyframes lbFloat { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-4px); } }

/* ================= 17. баннер главной ================= */
.lbh { position: relative; overflow: hidden; isolation: isolate; min-height: 236px; margin-bottom: var(--lb-gap); border-radius: var(--lb-r-card); border: 1px solid var(--lb-line-2); background: #0a0e14; }
/* фон: скриншот сервера, разово осаживается при загрузке */
.lbh-bg { position: absolute; inset: 0; z-index: -2; background-size: cover; background-position: 72% 22%; transform: scale(1.02); transition: none; animation: lbSettle 1.6s var(--lb-ease) both; }
@keyframes lbSettle { from { opacity: 0; transform: scale(1.07); } to { opacity: 1; transform: scale(1.02); } }
/* затемнение слева и снизу под текстом и плитками */
.lbh::before { content: ''; position: absolute; inset: 0; z-index: -1; pointer-events: none;
  background: linear-gradient(90deg, rgba(5, 9, 15, .97) 0%, rgba(5, 9, 15, .86) 36%, rgba(5, 9, 15, .4) 66%, rgba(5, 9, 15, .15) 100%),
              linear-gradient(0deg, rgba(5, 9, 15, .96) 0%, rgba(5, 9, 15, .82) 34%, rgba(5, 9, 15, 0) 60%); }
/* золотая нить сверху: единственное исключение из рецепта шапки */
.lbh::after { content: ''; position: absolute; left: 0; right: 0; top: 0; height: 1px; pointer-events: none; background: linear-gradient(90deg, rgba(229, 185, 92, .7), rgba(229, 185, 92, .15) 60%, transparent); }
.lbh-body { position: relative; padding: 24px var(--lb-pad); }
.lbh-kicker { display: flex; align-items: center; gap: 8px; color: var(--lb-gold); font-weight: 700; font-size: 11px; line-height: 16px; font-family: var(--lb-font); letter-spacing: var(--lb-track); text-transform: uppercase; }
.lbh-dot { flex: none; width: 8px; height: 8px; margin-left: 3px; border-radius: 50%; background: var(--lb-ok); box-shadow: 0 0 0 3px rgba(95, 208, 122, .18); animation: none; }
.lbh-title { margin: 8px 0 16px; font-weight: 700; font-size: 28px; line-height: 36px; font-family: var(--lb-font-head); letter-spacing: 0; color: var(--lb-text); text-shadow: 0 2px 12px rgba(0, 0, 0, .6); }
.lbh-title b { color: var(--lb-gold-hi); font-weight: 700; overflow-wrap: anywhere; }
.lbh-season { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 16px; min-height: var(--lb-h-s); margin-bottom: 24px; max-width: 640px; }
.lbh-season-lbl { color: var(--lb-text-2); font-weight: 600; font-size: 13px; line-height: 20px; font-family: var(--lb-font); }
.lbh-season-date { color: var(--lb-text-2); font-weight: 500; font-size: 13px; line-height: 20px; font-family: var(--lb-font); }
.lbh-cd { display: inline-flex; align-items: center; gap: 4px; }
.lbh-cd b {
  display: inline-block; height: 28px; min-width: 28px; padding: 0 6px; border-radius: var(--lb-r-chip);
  text-align: center; font-weight: 700; font-size: 14px; line-height: 26px; font-family: var(--lb-font); font-variant-numeric: lining-nums tabular-nums;
  color: var(--lb-gold-hi); background: var(--lb-gold-soft); border: 1px solid rgba(229, 185, 92, .32);
}
.lbh-cd b.is-tick { animation: lbTick .45s var(--lb-ease); }
@keyframes lbTick { from { transform: translateY(-6px); opacity: 0; } to { transform: none; opacity: 1; } }
.lbh-cd i { margin-right: 8px; font-weight: 600; font-size: 12px; line-height: 16px; font-family: var(--lb-font); font-style: normal; color: var(--lb-muted); }
.lbh-cd i:last-child { margin-right: 0; }
/* после старта: зелёная метка вместо отсчёта и даты */
.lbh-live { display: none; }
.lbh.is-live .lbh-cd, .lbh.is-live .lbh-season-lbl, .lbh.is-live .lbh-season-date { display: none; }
.lbh.is-live .lbh-live {
  display: inline-flex; align-items: center; gap: 8px; height: var(--lb-h-s); padding: 0 10px;
  border-radius: var(--lb-r-chip); background: rgba(95, 208, 122, .1); box-shadow: inset 0 0 0 1px rgba(95, 208, 122, .35);
  color: #7fe095; font-weight: 600; font-size: 13px; line-height: 16px; font-family: var(--lb-font);
}
.lbh-live .lbh-dot { margin-left: 0; box-shadow: none; }
/* быстрые действия: на ПК та же сетка 4 в ряд, что у карточек топов */
.lbh-actions { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.lbh-act {
  display: flex; align-items: center; gap: 12px; min-width: 0; padding: 12px; border-radius: var(--lb-r-ctl);
  background: rgba(8, 12, 18, .9); border: 1px solid var(--lb-line-2); color: var(--lb-text) !important; text-decoration: none !important;
  transition: transform var(--lb-t2) var(--lb-ease), border-color var(--lb-t1) ease, background-color var(--lb-t1) ease;
}
.lbh-act:hover, .lbh-act:focus-visible { transform: translateY(var(--lb-lift)); border-color: var(--lb-gold-hover); background: rgba(18, 26, 38, .94); }
.lbh-act:active { transform: scale(.985); transition-duration: .06s; }
.lbh-ico { position: relative; flex: none; width: 40px; height: 40px; display: grid; place-items: center; }
.lbh-ico img { width: 40px; height: 40px; border-radius: 4px; box-shadow: 0 2px 8px rgba(0, 0, 0, .45); transition: transform var(--lb-t2) var(--lb-ease); }
.lbh-act:hover .lbh-ico img { transform: scale(1.08); }
/* «можно голосовать»: неподвижная зелёная точка на ячейке */
.lbh-act.has-ready .lbh-ico::after { content: ''; position: absolute; top: -3px; right: -3px; width: 8px; height: 8px; border-radius: 50%; background: var(--lb-ok); box-shadow: 0 0 0 2px var(--lb-cell); }
.lbh-txt { min-width: 0; }
.lbh-txt b { display: block; font-weight: 700; font-size: 14px; line-height: 20px; font-family: var(--lb-font); color: var(--lb-text); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.lbh-txt small { display: block; font-weight: 500; font-size: 12px; line-height: 16px; font-family: var(--lb-font); color: var(--lb-muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.lbh-go { margin-left: auto; flex: none; width: 14px; height: 14px; color: var(--lb-gold); opacity: .45; transition: transform var(--lb-t2) var(--lb-ease), opacity var(--lb-t1) ease; }
.lbh-act:hover .lbh-go { transform: translateX(3px); opacity: 1; }
/* подписи плиток целиком: 4 в ряд только от 1300 (на 1300-1399 без стрелки), ниже 2 в ряд */
@media (max-width: 1299.98px) { .lbh-actions { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1300px) and (max-width: 1399.98px) { .lbh-go { display: none; } }
@media (max-width: 1199.98px) {
  /* на планшете текст шире относительно арта: затемнение уходит дальше вправо */
  .lbh::before { background: linear-gradient(90deg, rgba(5, 9, 15, .97) 0%, rgba(5, 9, 15, .9) 50%, rgba(5, 9, 15, .55) 78%, rgba(5, 9, 15, .25) 100%),
                             linear-gradient(0deg, rgba(5, 9, 15, .96) 0%, rgba(5, 9, 15, .82) 34%, rgba(5, 9, 15, 0) 60%); }
}
@media (max-width: 575.98px) {
  .lbh::before { background: linear-gradient(180deg, rgba(5, 9, 15, .78) 0%, rgba(5, 9, 15, .9) 45%, rgba(5, 9, 15, .97) 100%); }
  .lbh-bg { background-position: 62% 20%; }
  .lbh-body { padding: 20px var(--lb-pad) var(--lb-pad); }
  .lbh-title { font-size: 24px; line-height: 32px; }
  .lbh-season { gap: 8px 12px; margin-bottom: 16px; }
  .lbh-season-lbl { width: 100%; }
  .lbh-actions { gap: 12px; }
  /* на телефоне плитка в столбик: ячейка сверху, подпись во всю ширину плитки */
  .lbh-act { flex-direction: column; align-items: flex-start; padding: 12px; gap: 8px; }
  .lbh-ico { width: 36px; height: 36px; }
  .lbh-ico img { width: 36px; height: 36px; }
  .lbh-txt { width: 100%; }
  .lbh-txt b { white-space: normal; overflow: visible; }
  .lbh-txt small { display: none; }
  .lbh-go { display: none; }
}

/* ================= 18. языки: флажки в шапке ================= */
.lb-lang { position: relative; }
.lb-lang-btn {
  height: var(--lb-h-head); display: inline-flex; align-items: center; gap: 8px; padding: 0 10px;
  border-radius: var(--lb-r-ctl); border: 1px solid var(--lb-line-2); background: var(--lb-surface-2); color: var(--lb-text-2);
  font-weight: 700; font-size: 12px; line-height: 16px; font-family: var(--lb-font); letter-spacing: .06em; cursor: pointer;
  transition: color var(--lb-t1) ease, background-color var(--lb-t1) ease, border-color var(--lb-t1) ease, transform .12s ease;
}
.lb-lang-btn img, .lb-lang-menu img { width: 18px; height: 18px; border-radius: 50%; object-fit: cover; box-shadow: 0 0 0 1px rgba(255, 255, 255, .15); }
.lb-lang-btn svg { width: 10px; height: 6px; opacity: .7; transition: transform var(--lb-t1) ease; }
.lb-lang-btn:hover, .lb-lang.open .lb-lang-btn { border-color: rgba(229, 185, 92, .55); color: var(--lb-gold-hi); }
.lb-lang-btn:active { transform: translateY(1px); }
.lb-lang.open .lb-lang-btn svg { transform: rotate(180deg); }
.lb-lang-menu {
  position: absolute; left: 0; right: auto; top: calc(100% + 8px); z-index: 1060; min-width: 168px; padding: 6px;
  border-radius: var(--lb-r-card); background: var(--lb-surface); border: 1px solid var(--lb-line-2); box-shadow: var(--lb-shadow-float);
  opacity: 0; visibility: hidden; transform: translateY(-4px); pointer-events: none;
  transition: opacity var(--lb-t1) ease, transform var(--lb-t1) ease, visibility 0s linear var(--lb-t1);
}
.lb-lang.open .lb-lang-menu { opacity: 1; visibility: visible; transform: none; pointer-events: auto; transition-delay: 0s; }
/* телефон: кнопка языка стоит ближе к правому краю, меню раскрывается влево и не уходит за экран (375 px и уже) */
@media (max-width: 575.98px) { .lb-lang-menu { left: auto; right: 0; } }
/* шкала скидки: подсказки первой и последней отметки прижаты к своему краю и не обрезаются экраном */
#main-container .la2b-discstrip-tick:first-child .la2b-discstrip-tip { left: 0; transform: translateY(4px); }
#main-container .la2b-discstrip-tick:last-child .la2b-discstrip-tip { left: auto; right: 0; transform: translateY(4px); }
#main-container .la2b-discstrip-tick:first-child:is(:hover, :focus) .la2b-discstrip-tip,
#main-container .la2b-discstrip-tick:last-child:is(:hover, :focus) .la2b-discstrip-tip { transform: none; }
#main-container .la2b-discstrip-tick:first-child .la2b-discstrip-tip::before { left: 1px; transform: none; }
#main-container .la2b-discstrip-tick:last-child .la2b-discstrip-tip::before { left: auto; right: 1px; transform: none; }
.lb-lang-menu a {
  display: flex; align-items: center; gap: 12px; min-height: 36px; padding: 8px 10px; border-radius: var(--lb-r-chip);
  color: var(--lb-text-2) !important; font-weight: 600; font-size: 13px; line-height: 20px; font-family: var(--lb-font); text-decoration: none !important;
  transition: color var(--lb-t1) ease, background-color var(--lb-t1) ease, border-color var(--lb-t1) ease;
}
.lb-lang-menu a:hover { background: var(--lb-surface-2); color: var(--lb-text) !important; }
.lb-lang-menu a.active { background: var(--lb-gold-soft); box-shadow: inset 0 0 0 1px rgba(229, 185, 92, .4); color: var(--lb-gold-hi) !important; }
@media (max-width: 399.98px) {
  #page-header .content-header { padding-left: 10px; padding-right: 10px; }
  #page-header .content-header-section:last-child { gap: 6px; margin-left: 8px; }
  .lb-lang-btn { padding: 0 8px; gap: 6px; }
  .lb-lang-code { display: none; }
}
@media (max-width: 359.98px) {
  html #page-header .btn.btn-rounded[href$="/sign-up"] { width: 34px; padding: 0; gap: 0; font-size: 0; }
  html #page-header .btn.btn-rounded[href$="/sign-up"] > i { font-size: 14px; margin: 0; }
}

/* ================= 19. фокус с клавиатуры, «К содержимому», кольцо цели ================= */
html body :focus-visible:not([tabindex="-1"]),
html body :is(a, button, select, summary, .btn, [tabindex]:not([tabindex="-1"])):focus-visible { outline: 2px solid var(--lb-gold-ring) !important; outline-offset: 2px; }
html body :is(.form-control, .custom-select):focus-visible { outline: none !important; }
html body #sidebar .nav-main a:focus-visible { outline-offset: -2px; }
.lb-skip {
  position: fixed; top: 8px; left: 8px; z-index: 1100; height: 34px; padding: 0 12px;
  display: inline-flex; align-items: center; border-radius: var(--lb-r-ctl);
  background: var(--lb-surface); border: 1px solid var(--lb-gold-hover); color: var(--lb-gold-hi);
  font-weight: 700; font-size: 13px; line-height: 16px; font-family: var(--lb-font); transform: translateY(-150%);
}
.lb-skip:focus-visible { transform: none; }
/* куда привезло быстрое действие: одно золотое кольцо на три цели */
#main-container .lbv, #main-container .lbr { scroll-margin-top: 64px; }
.lbdl::after, #main-container .lbv::after, #main-container .lbr::after {
  content: ''; position: absolute; inset: 0; z-index: 5; border: 2px solid var(--lb-gold-ring);
  border-radius: inherit; opacity: 0; pointer-events: none;
}
.lbdl.is-focus::after, #main-container .lbv.is-focus::after, #main-container .lbr.is-focus::after { animation: lbRing 1.6s var(--lb-ease) 1; }
@keyframes lbRing { 0% { opacity: 0; transform: scale(.99); } 15% { opacity: 1; transform: none; } 100% { opacity: 0; transform: none; } }

/* ================= 20. без движения по просьбе системы ================= */
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .lb-embers { display: none; }
  #main-container .content > .grid > .box_mw > *, #main-container .content > .row > .box_mw > *, #main-container form .block.block-shadow,
  .lbdl-btn::after, .lbdl-btn:hover svg, .lbdl-new, .lbh-bg, .lbh-cd b, .lbh-dot, .lbdl.is-focus::after,
  #main-container .lbv.is-focus::after, #main-container .lbr.is-focus::after,
  #main-container .lbv .lbv-coin-big, #main-container .lbv .lbv-status .fa-circle,
  #main-container:has(form.js-validation-signin)::after, #main-container:has(form.js-validation-reminder)::after { animation: none !important; }
  .lbdl-btn::after, .lbh-act, .lbh-ico img, .lbh-go, .lb-lang-menu, .lb-lang-btn svg, .lbdl-mirror,
  #sidebar .nav-main a > i, #main-container .options-container .fa-2x, #main-container .block-link-shadow,
  #main-container .lbv .lbv-card, #main-container .lbv .lbv-skill, #main-container .lbv .lbv-scroll-btn, #sidebar #toolbarDrop::after { transition: none !important; }
  .lbh-act:hover, .lbh-act:focus-visible, .lbh-act:active, .lbh-act:hover .lbh-ico img, .lbh-act:hover .lbh-go,
  #sidebar .nav-main a:hover > i, #main-container .options-container:hover .fa-2x, #main-container .block-link-shadow:hover,
  #main-container .lbv .lbv-card:hover, #main-container .lbv .lbv-skill:hover, .lb-lang-btn:active, .btn:active, .lbdl-btn:active, .lbdl-mirror:active { transform: none !important; }
  #sidebar .nav-main a > i { transform: translateX(0) translateY(-50%) !important; }
  .lbdl-btn:hover::after { transform: skewX(-18deg) translateX(0); }
}

/* полоса прокрутки */
* { scrollbar-color: #2a3547 transparent; }
::-webkit-scrollbar { width: 10px; height: 10px; }
::-webkit-scrollbar-thumb { background: #243044; border-radius: var(--lb-r-chip); border: 2px solid var(--lb-bg); }
::-webkit-scrollbar-track { background: transparent; }
