/* Ремастер сайта (D-086, выбор владельца 2026-09-30: «бережный ремастер», вариант «Б» «Шире и чётче») — слой поверх
   site.css на всех страницах (body.rm). Картинки lc.mail.ru вдвое больше (mr2x/ ← tools/upscale.py, нейросеть
   Real-ESRGAN), шапка растёт до 1.2 (data-kmax), страница до 1200 px, текст PT Sans 16 px, заголовки — Alegreya SC (выбор
   владельца 2026-09-30 вместо Ruslan Display: «не очень понятный», в английской версии плохо). */

body.rm { --font-title: "Alegreya SC", Georgia, "Times New Roman", serif; --font-text: "PT Sans", Tahoma, Verdana, sans-serif; --text: #4a372d; --wide: 1200px; font: 16px/1.6 var(--font-text); }

/* полоса сверху */
.rm .strip { font-size: 14px; }
.rm .strip__inner { width: min(100% - 32px, var(--wide)); height: 38px; }
.rm .strip__out button { font-size: 14px; }
.rm .lang a { padding: 2px 9px; font-size: 12px; }

/* шапка: те же места, картинки вдвое чётче; подложка — вся картинка шапки (1x) под кусками: при масштабе 1.2 края
   кусков попадают между пикселями, и в щели видна та же картинка, а не светлая линия */
.rm .hdr__under { position: absolute; left: -299px; top: 0; width: 1605px; height: 444px; background: url("../img/mr2x/top-under-bg.jpg") 0 0 / 100% 100% no-repeat; }
.rm .hdr:not(.hdr--live) .hdr__under { background-image: url("../img/mr2x/top-under.jpg"); }
.rm .hbtn--download { background-image: url("../img/mr2x/download-blank.jpg"); background-size: 342px 97px; }
.rm .hbtn--register { background-image: url("../img/mr2x/register-blank.jpg"); background-size: 292px 97px; }
.rm .hbtn__sub { font-size: 12px; }
.rm .menu { background-image: url("../img/mr2x/topmenubg.jpg"); background-size: 1001px 94px; }
.rm .menu::before { background-image: url("../img/mr2x/menu-ext-l.png"); background-size: 120px 94px; }
.rm .menu::after { background-image: url("../img/mr2x/menu-ext-r.png"); background-size: 120px 94px; }

/* заголовки Alegreya SC: главные — жирные заглавные (как было у Ruslan Display, у него только заглавные), остальные —
   капители шрифта сами */
.rm .menu a, .rm .hbtn__title, .rm .banner__title, .rm .ptitle, .rm .rtitle, .rm .mtabs a { font-weight: 700; text-transform: uppercase; letter-spacing: .03em; }
.rm .road__name, .rm .ncard__title, .rm .mcard__name, .rm .acc__title, .rm .terms h3, .rm .mrules summary, .rm .foot__brand { font-weight: 700; }

/* общее для текста */
.rm .ptitle::before { background-image: url("../img/mr2x/titleleaf.png"); background-size: 24px 42px; }
.rm .more { font-size: 15px; }
.rm .cat { width: auto; min-width: 96px; height: 22px; padding: 0 10px; border-radius: 11px; font: bold 12px/22px var(--font-text); }
.rm .ndraft { font-size: 12px; line-height: 20px; padding: 0 8px; border-radius: 10px; }
.rm .portrait { width: 91px; height: 150px; }
.rm .portrait img { width: 100%; height: 100%; }
.rm .portrait__name { bottom: 8px; font-size: 11px; }
.rm .portraits { gap: 12px; }
.rm .allclasses { font-size: 14px; padding: 3px 10px; border-radius: 12px; white-space: nowrap; }
.rm .ranks table { font-size: 15px; }
.rm .ranks th, .rm .ranks td { padding: 7px 10px; }
.rm .ranks td:first-child { width: 64px; }
.rm .tabs a { padding: 5px 14px; border-radius: 14px; font-size: 14px; }
.rm .nmeta { gap: 10px; font-size: 14px; }
.rm .ncard__title { font-size: 19px; line-height: 1.3; }
.rm .ncard__more > summary, .rm .ncard__more p { font-size: 15px; }
.rm .sbtn { height: 32px; font-size: 12px; }
.rm .srv { font-size: 16px; }
.rm .road__name { font-size: 17px; }
.rm .road__note, .rm .facts__note, .rm .facts--castles td small { font-size: 13px; }
.rm .foot__inner { width: min(100% - 32px, var(--wide)); font-size: 14px; }
.rm .foot__brand { font-size: 18px; }
.rm .mtabs a { font-size: 16px; }

/* формы и мелкий текст внутренних страниц (вход, регистрация, кабинет, рейтинг, маркетплейс) — под текст 16 px */
.rm .form { max-width: 460px; gap: 12px; }
.rm .form__field input, .rm .msell__form select { height: 38px; padding: 4px 10px; font-size: 16px; }
.rm .form__field small, .rm .acc__small, .rm .terms__ver, .rm .facts__note { font-size: 13px; }
.rm .form__note, .rm .form__actions, .rm .msell__fee { font-size: 14px; }
.rm .sbtn--big { height: 40px; padding: 0 18px; font-size: 13px; }
.rm .rsearch input { height: 34px; max-width: 280px; font-size: 15px; }
.rm .pager { font-size: 14px; }
.rm .pager a { min-width: 32px; padding: 4px 8px; }
.rm .terms h3 { font-size: 17px; }
.rm .acc__title { font-size: 18px; }
.rm .mfilter { font-size: 14px; }
.rm .mfilter select, .rm .mfilter input { height: 32px; font-size: 14px; }
.rm .mlist a, .rm .mcard__cls, .rm .mrules { font-size: 14px; }
.rm .mlist a span:nth-child(2), .rm .goods { font-size: 13px; }
.rm .mcard__name { font-size: 18px; }
.rm .msplit { grid-template-columns: 230px 1fr; }

/* страница «Скачать» (D-087): карточки площадок, шаги, системные требования */
.rm .sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.rm .dlcards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; margin: 8px 0 14px; }
.rm .dlcard { display: grid; justify-items: center; align-content: start; gap: 8px; padding: 20px 14px 18px; border: 1px dashed var(--line); border-radius: 6px; background: var(--paper); text-align: center; transition: box-shadow .3s, transform .3s var(--ease-out); }
.rm .dlcard:hover { box-shadow: 0 6px 16px rgb(95 33 5 / .14); transform: translateY(-2px); }
.rm .dlbadge { display: grid; place-items: center; width: 66px; height: 74px; border: 2px solid #c79a5b; border-radius: 8px 8px 14px 14px; background: linear-gradient(#5a1e0b, #2c0e05); color: #ffe39a; font: 700 19px/1 var(--font-title); letter-spacing: .04em; box-shadow: inset 0 1px 0 rgb(255 255 255 / .2), 0 3px 8px rgb(60 20 5 / .3); }
.rm .dlcard__host { margin: 2px 0 0; font: 700 21px/1.2 var(--font-title); color: var(--title); }
.rm .dlcard__fmt { margin: 0 0 4px; font-size: 15px; }
.rm .dlbtn { height: 40px; padding: 0 18px; font-size: 13px; }
.rm .sbtn.is-off { background: #b9a48c; border-color: #b9a48c; color: #fff8ec; cursor: default; box-shadow: none; }
.rm .dlsub { margin: 22px 0 8px; font: 700 20px/1.2 var(--font-title); color: var(--title); text-transform: uppercase; letter-spacing: .03em; }
.rm .dlinstall { margin: 0; padding-left: 22px; }
.rm .dlinstall li { margin: 0 0 6px; }
.rm .facts.dlreq th, .rm .facts.dlreq td { padding: 7px 12px 7px 0; text-align: left; vertical-align: top; font-weight: normal; color: var(--text); }
.rm .facts.dlreq thead th { font: 700 15px/1.2 var(--font-title); color: var(--link); text-transform: uppercase; letter-spacing: .03em; border-bottom: 1px solid var(--line); }
.rm .facts.dlreq tbody th { width: 24%; font-weight: bold; color: var(--title); }
.rm .dlsteps { list-style: none; margin: 8px 0 6px; padding: 0; display: grid; gap: 14px; }
.rm .dlstep { display: grid; grid-template-columns: 54px minmax(0, 1fr); gap: 16px; padding: 16px 18px; border: 1px dashed var(--line); border-radius: 6px; background: var(--paper); }
.rm .dlstep__n { display: grid; place-items: center; width: 54px; height: 54px; border: 2px solid #e0a860; border-radius: 50%; background: linear-gradient(#b4521f, #7a2a10); color: #fff3cf; font: 700 25px/1 var(--font-title); box-shadow: 0 3px 8px rgb(95 33 5 / .3); }
.rm .dlstep__title { margin: 6px 0 4px; font: 700 21px/1.2 var(--font-title); color: var(--title); text-transform: uppercase; letter-spacing: .03em; }
.rm .dlstep p { margin: 0 0 10px; }
.rm .dlstep p:last-child { margin-bottom: 0; }
.rm .dllinks { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 4px; }

/* ================= раскладка 2010 года, но до 1200 px ================= */
@media (min-width: 961px) {
  /* пергамент растянут целиком и одинаково по ширине и высоте: узоры крупнее, но не искажены */
  .rm .page { width: min(100% - 32px, var(--wide)); background: url("../img/mr2x/mainbg.jpg") repeat-y 0 0 / 100% auto; }
  .rm .page::before { width: 100%; height: auto; aspect-ratio: 931 / 149; background: url("../img/mr2x/maintop.jpg") no-repeat 0 0 / 100% auto; }
  /* боковой арт в масштабе шапки (×1.2), край уходит под пергамент — продолжает края шапки */
  .rm .page__side { width: 401px; height: auto; z-index: -1; -webkit-mask-image: linear-gradient(#000 70%, transparent); mask-image: linear-gradient(#000 70%, transparent); }
  .rm .page__side--l { right: calc(100% - 42px); }
  .rm .page__side--r { left: calc(100% - 42px); }
  .rm .page__cols { grid-template-columns: minmax(0, 1fr) 372px; gap: 0 10px; padding: 22px 30px 0 22px; min-height: 800px; }
  .rm .col-center { gap: 18px; }

  /* листы бумаги резиновые: края — из листа оригинала (reitingbg), середина тянется под текст */
  .rm .paper, .rm .paper--rank, .rm .paper--form { width: auto; margin: 0; min-height: 0; padding: 30px 44px 36px 40px; background: none;
    border: 0; border-image: url("../img/mr2x/reitingbg.jpg") 80 fill / 40px stretch; }
  .rm .ptitle { height: 46px; font-size: 26px; }
  .rm .promos { justify-content: center; gap: 24px; padding: 0; }
  .rm .banner { zoom: 1.2; }
  .rm .news__row { gap: 10px; padding: 8px 0; }
  .rm .news__date { font-size: 14px; }
  .rm .ncards { gap: 16px; }
  .rm .ncard { padding: 14px 16px; }

  /* правая колонка: блоки на всю колонку (окно входа — в разделе адаптации ниже) */
  .rm .rblock { width: 100%; padding: 0 14px; }
  .rm .rtitle { font-size: 20px; background-size: 100% 3px; }
  .rm .facts th, .rm .facts td { padding: 5px 0; }

  .rm .foot__edge { width: min(100% - 32px, var(--wide)); height: auto; aspect-ratio: 931 / 42; background: url("../img/mr2x/bottomcenter.jpg") no-repeat 0 0 / 100% auto; }
}

@media (max-width: 960px) {
  .rm .page { background-image: url("../img/mr2x/maintop.jpg"); background-size: 931px auto; }
}
@media (max-width: 759px) {
  body.rm { font-size: 16px; }
  .rm .portraits { justify-content: center; }
  .rm .portrait { width: 76px; height: 125px; }
  /* «Скачать» на телефоне: карточки друг под другом, кружки шагов меньше */
  .rm .dlcards { grid-template-columns: minmax(0, 1fr); }
  .rm .dlstep { grid-template-columns: 40px minmax(0, 1fr); gap: 12px; padding: 14px; }
  .rm .dlstep__n { width: 40px; height: 40px; font-size: 19px; }
  /* требования на телефоне: строка — блок «название, минимальные: …, рекомендуемые: …» (три колонки не влезают) */
  .rm .dlreq, .rm .dlreq tbody, .rm .dlreq tr { display: block; }
  .rm .dlreq thead { display: none; }
  .rm .dlreq tr { padding: 6px 0; border-bottom: 1px dashed var(--line); }
  .rm .facts.dlreq th, .rm .facts.dlreq td { display: block; width: auto; padding: 1px 0; border: 0; }
  .rm .facts.dlreq td::before { content: attr(data-label) ": "; font-weight: bold; color: var(--link); }
  /* маркетплейс на телефоне: фильтры в две колонки, список над карточкой */
  .rm .mfilter { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
  .rm .mfilter__go { grid-column: 1 / -1; }
  .rm .msplit { grid-template-columns: minmax(0, 1fr); }
  .rm .mlist { max-height: 260px; }
  .rm .mslots { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .rm .mhero__top { flex-wrap: wrap; }
}

/* ================= главная: порядок блоков (layout 2026-10-01, вариант «А» владельца) =================
   В разметке блоки стоят в порядке телефона: рассказ, баннеры, статус, новости, рейтинг. На компьютере баннеры
   поднимаются над рассказом (order), статус стоит справа; в конце правой колонки — лист «Вернуться в Ирис» с плашками
   из шапки, он прилипает при прокрутке и занимает пустое место рядом с рейтингом. Второй статус (.status-m) виден
   только на узких экранах, справа тогда свой статус скрыт: в дереве доступности всегда один. */
.status-m { display: none; }
.paper--invite { text-align: center; }
.paper--invite .ptitle { justify-content: center; }
.paper--invite p { text-wrap: balance; }
.invite__btns { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px 14px; margin-top: 14px; }
.invite__btns .hbtn--inline { position: relative; top: auto; left: auto; flex: none; }
@media (min-width: 961px) {
  .rm.page-home .promos { order: -1; }
  .rm .paper--invite { position: sticky; top: 16px; justify-self: stretch; padding: 28px 40px 34px; }
  .rm .paper--invite .ptitle { font-size: 22px; }
  .rm .paper--invite .hbtn--inline { zoom: .85; }
}
@media (max-width: 960px) {
  .page-home .status-m { display: block; }
  .page-home .col-right .rblock--status { display: none; }
  .paper--invite { grid-column: 1 / -1; justify-self: stretch; }
}
@media (max-width: 759px) {
  .paper--invite .hbtn--inline { zoom: .86; }
}
@media (max-width: 360px) {
  .paper--invite .hbtn--inline { zoom: .7; }
}

/* ================= адаптация главной (2026-10-01, по разбору; выбор владельца) =================
   Окно входа 2010 года — то же, но крупнее на всех экранах (владелец: «старое окно, только крупнее»): табличка из трёх
   частей (tools/plates_cut.py: верх и низ с узором, середина повторяется), ширина резиновая, узоры не тянутся;
   подписи 14 px, поля 16 px и 38 px высотой (iPhone не увеличивает страницу при вводе), кнопки 38 px. */
.rm .auth { width: min(100%, 360px); height: auto; padding: calc(52 / 584 * 100%) calc(28 / 584 * 100%) calc(50 / 584 * 100%);
  background: url("../img/mr2x/auth-top.jpg") center top / 100% auto no-repeat,
    url("../img/mr2x/auth-bot.jpg") center bottom / 100% auto no-repeat,
    url("../img/mr2x/auth-mid.jpg") center / 100% auto repeat-y; }
.rm .auth__form { position: static; width: auto; gap: 8px 12px; padding: 14px 14px 16px; }
.rm .auth__field { gap: 4px; font-size: 14px; font-weight: bold; }
.rm .auth__field input { width: 100%; height: 38px; padding: 4px 9px; border-radius: 2px; font-size: 16px; color: #5a2410;
  background: url("../img/mr2x/authloginbg.jpg") 0 0 / 100% 100%; }
.rm .auth__field input:focus { outline: 2px solid #f0c060; outline-offset: 1px; }
.rm .auth__row { font-size: 14px; min-height: 26px; }
.rm .auth__row a { text-underline-offset: 3px; }
.rm .auth__check { gap: 7px; }
.rm .auth__check input { width: 18px; height: 18px; }
.rm .auth .sbtn { height: 38px; font-size: 13px; }
.rm .auth--in .auth__in { position: static; width: auto; gap: 12px; padding: 16px 14px 18px; }
.rm .auth__who { font-size: 15px; }

/* плашки «Скачать игру» и «Регистрация» отдельно от шапки (под логотипом на телефоне, лист «Вернуться в Ирис»):
   без кусков соседнего арта (шар посоха, небо, доспехи) — вырезаны по краю рамки (tools/plates_cut.py) */
.rm .hbtn--download.hbtn--static, .rm .hbtn--download.hbtn--inline { background-image: url("../img/mr2x/download-plate.webp"); }
.rm .hbtn--register.hbtn--static, .rm .hbtn--register.hbtn--inline { background-image: url("../img/mr2x/register-plate.webp"); }

/* шапка на планшете уменьшается целиком (до ×0.76): подпись на плашках не мельче 11 px на экране */
.rm .hdr .hbtn__sub { font-size: max(12px, calc(11px / var(--k))); }

/* сенсорный экран: «Войти», «Регистрация» и RU/EN в верхней полосе — под палец (полоса 44 px) */
@media (pointer: coarse) {
  .rm .strip__inner { height: 44px; }
  .rm .strip__right { gap: 6px; }
  .rm .strip__right > a, .rm .strip__out button { display: inline-flex; align-items: center; min-height: 44px; padding: 0 8px; }
  .rm .lang a { display: inline-flex; align-items: center; min-height: 32px; padding: 0 12px; font-size: 13px; }
}

@media (max-width: 759px) {
  /* таблица рейтинга шире экрана: тени по краям показывают, что её можно сдвинуть (у края — пропадают) */
  .rm .ranks { background: linear-gradient(90deg, #fffaf1 40%, rgb(255 250 241 / 0)) left / 28px 100% no-repeat local,
      linear-gradient(270deg, #fffaf1 40%, rgb(255 250 241 / 0)) right / 28px 100% no-repeat local,
      radial-gradient(farthest-side at 0 50%, rgb(95 33 5 / .2), transparent) left / 12px 100% no-repeat scroll,
      radial-gradient(farthest-side at 100% 50%, rgb(95 33 5 / .2), transparent) right / 12px 100% no-repeat scroll; }

  /* шапка на телефоне — «Герои вплотную» (выбор владельца 2026-10-01; «Вся шапка» и «Герои ближе» не выбраны):
     маг и рыцарь стоят у самого логотипа, видны лица, логотип крупный. site.js берёт --pw (сколько сцены видно по
     ширине), --pcx (её середина), --ph (высота); героев и их эффекты (шар посоха; клинок, звезда, отсвет доспехов)
     сдвигает translate — небо под ними дорисовано (tools/heroes_cut.py) */
  .hdr { --pw: 560; --pcx: 503; --ph: 350; }
  .hl--mage, .fx__orb { translate: 190px 0; }
  .hl--knight, .fx__blade, .fx__twinkle, .fx__armor { translate: -190px 0; }
}

/* ================= надёжность главной (2026-10-01, D-088) =================
   состояния сервера: открытие скоро — цвет ссылок, профилактика — тёмный янтарь, работает — зелёный (пульс), отдыхает —
   серо-коричневый (контраст не ниже 4.5:1 на бумаге); подпись под ним — мельче */
.rm .srv.is-soon { color: var(--link); }
.rm .srv.is-maint { color: #8a4b08; }
.rm .srv.is-down { color: #6e6255; }
.rm .srv__note { margin: -2px 0 8px 18px; font-size: 14px; line-height: 1.4; color: #5e4a3c; text-wrap: pretty; }
/* название события (из календаря игры, по-английски бывает длинным): не больше трёх строк, отсчёт ниже не задевает */
.rm .banner__title--small { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 3; overflow: hidden; }

/* ================= «скоро» не тупик, якоря (2026-10-01, D-088) ================= */
.rm .soon__more { margin: 14px 0 4px; font-weight: bold; color: var(--title); }
.rm .soon__links { margin: 0 0 16px; padding-left: 20px; display: grid; gap: 6px; }
.rm .soon__links a { text-underline-offset: 3px; }
/* переход по ссылке к разделу (#install, #req, #vote): заголовок не уходит под прилипшее меню на телефоне */
.rm .dlsub, .rm #vote, .rm #about-title { scroll-margin-top: 64px; }

/* ================= кабинет: голос за сервер — «Табличка наград» (выбор владельца 2026-10-01) =================
   табличка окна входа 2010 года (три части, tools/plates_cut.py), светлые надписи, награда — значки предметов в игровых
   ячейках (как в маркетплейсе), золотая кнопка; после голоса — отсчёт до следующего */
.rm .vote { width: min(100%, 600px); margin: 4px auto 22px; text-align: center; color: #f6e3c0;
  padding: calc(60 / 584 * 100%) calc(56 / 584 * 100%) calc(56 / 584 * 100%);
  background: url("../img/mr2x/auth-top.jpg") center top / 100% auto no-repeat, url("../img/mr2x/auth-bot.jpg") center bottom / 100% auto no-repeat,
    url("../img/mr2x/auth-mid.jpg") center / 100% auto repeat-y; }
.rm .vote__title { margin: 0 0 6px; font: 700 22px/1.2 var(--font-title); text-transform: uppercase; letter-spacing: .03em; color: #ffe39a;
  text-shadow: 0 2px 0 rgb(40 10 2 / .7); }
.rm .vote__lead { margin: 0 0 10px; }
.rm .vote__label { margin: 0; font-weight: bold; }
.rm .vreward { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px 16px; margin: 6px 0 14px; padding: 0; list-style: none; }
.rm .vreward li { display: inline-flex; align-items: center; gap: 8px; }
.rm .vslot { display: grid; place-items: center; width: 40px; height: 40px; flex: none; border: 1px solid #c79a5b; border-radius: 3px;
  background: linear-gradient(#4a1809, #2c0e05); box-shadow: inset 0 0 0 1px rgb(255 220 150 / .15), 0 2px 4px rgb(30 8 2 / .35); }
.rm .vslot img { width: 32px; height: 32px; }
.rm .vreward__name { font-weight: bold; color: #fff3d6; }
.rm .vreward__n { color: #ffe39a; font-weight: bold; }
.rm .vnext { margin: 0; font-weight: bold; }
.rm .vnext__left { margin-left: 6px; color: #ffe39a; }
.rm .vnext__left a { color: #ffe39a; }
.rm .vwait { margin: 8px 0 0; font-size: 14px; font-weight: bold; color: #c8f0a0; }
.rm .vgo { min-width: 220px; }
.rm .sbtn--gold { background: linear-gradient(#f6dc98, #c99536); border-color: #fff0c4; color: #3a1405; box-shadow: 0 2px 6px rgb(30 8 2 / .45); }
.rm .sbtn--gold:hover { background: linear-gradient(#ffeab6, #dcaa48); color: #2a0e03; box-shadow: 0 0 14px rgb(255 214 120 / .8); }
@media (max-width: 759px) {
  .rm .vgo { min-width: 0; width: 100%; }
}

/* ================= доводка (2026-10-01, по разбору главной) =================
   бледные надписи — до контраста 4.5:1 и выше; рамка фокуса — тёмная внутри и золотая снаружи (видна и на бумаге, и на
   красных и золотых плашках); подпись баннера не мельче 12 px; ссылки «Все новости», «Весь рейтинг» — под палец */
.rm .foot__note { color: #6e5c4e; }
.rm .facts__note { color: #6b5546; }
.rm .ndraft { background: #e4d9c8; color: #574a3e; }
.rm .sbtn.is-off { background: #ece2d2; border-color: #c9b497; color: #5e4a3c; }
.rm :focus-visible { outline: 2px solid #f0c060; outline-offset: 2px; box-shadow: 0 0 0 2px #3a1405; }
.rm .banner__text { font-size: 12px; }
@media (pointer: coarse) {
  .rm .more { min-height: 44px; }
}
/* длина строки в широких листах — не больше 75 знаков (читать легче; таблицы и карточки не трогаем) */
.rm .paper p, .rm .paper ol > li, .rm .paper ul.soon__links, .rm .foot__note { max-width: 75ch; }

/* ================= магазин: пополнение Cash — «Ларцы» (выбор владельца 2026-10-01, /shop) =================
   правки владельца: семь наборов 5-500 €, своей суммы нет, золота на картинке больше от набора к набору. Четыре набора
   поменьше сверху, три крупнее снизу (картинка выше), «Казна» — золотая рамка; на телефоне по два, «Казна» во всю ширину */
.rm .shop fieldset { min-width: 0; margin: 0; padding: 0; border: 0; }
.rm .shop label { position: relative; }
.rm .shop input[type="radio"] { position: absolute; width: 1px; height: 1px; margin: 0; opacity: 0; }
.rm .shop input:focus-visible + span { outline: 2px solid #f0c060; outline-offset: 2px; box-shadow: 0 0 0 2px #3a1405; }
.rm .shop .ptitle-row { flex-wrap: wrap; gap: 8px 16px; }
.rm .shop__legend { margin: 22px 0 10px; padding: 0; font: 700 19px/1.2 var(--font-title); color: var(--title); text-transform: uppercase; letter-spacing: .03em; }
.rm .shop__bal { margin: 0; font-size: 15px; }
.rm .shop__bal b { color: var(--title); }
.rm .cur { display: inline-flex; padding: 3px; border: 1px solid #c79a5b; border-radius: 20px; background: var(--paper); }
.rm .cur span { display: block; padding: 5px 14px; border-radius: 16px; font-size: 14px; font-weight: bold; color: var(--link); cursor: pointer; transition: background-color .2s, color .2s; }
.rm .cur input:checked + span { background: linear-gradient(#b4521f, #7a2a10); color: #fff3cf; }

/* наборы */
.rm .packs { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 14px; }
.rm .packs > label { display: grid; grid-column: span 3; }
.rm .packs > label.is-big { grid-column: span 4; }
.rm .pack { position: relative; display: grid; justify-items: center; align-content: start; gap: 2px; padding: 12px 10px 14px; border: 1px dashed var(--line); border-radius: 8px; background: var(--paper); text-align: center; cursor: pointer; transition: transform .3s var(--ease-out), box-shadow .3s, border-color .2s; }
.rm .pack:hover { transform: translateY(-2px); box-shadow: 0 6px 16px rgb(95 33 5 / .14); }
.rm .is-top .pack { border: 1px solid #d9a441; background: linear-gradient(#fffaf0, #fbedc9); }
.rm .packs input:checked + .pack { border: 2px solid #b4521f; padding: 11px 9px 13px; background: radial-gradient(circle at 50% 30%, #fff8e4, #fbe6b8); box-shadow: 0 0 0 3px rgb(240 192 96 / .45), 0 6px 16px rgb(95 33 5 / .18); }
.rm .pack__art { position: relative; display: grid; place-items: end center; width: 100%; height: 104px; margin-bottom: 6px; }
.rm .is-big .pack__art { height: 146px; }
.rm .pack__art img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: contain; object-position: 50% 100%; filter: drop-shadow(0 6px 6px rgb(60 20 5 / .3)); transform-origin: 50% 100%; transition: transform .4s var(--ease-out); }
.rm .pack:hover .pack__art img, .rm .packs input:checked + .pack .pack__art img { transform: scale(1.05); }
/* место под картинку, если её нет: золотое свечение */
.rm .pack__slot { display: grid; place-items: center; width: 100%; height: 100%; padding: 8px; border: 1px dashed #d9b77a; border-radius: 40% 40% 8px 8px / 26% 26% 8px 8px; background: radial-gradient(ellipse at 50% 85%, rgb(255 210 110 / .6), rgb(255 210 110 / 0) 70%); color: #7a5a2c; font-size: 12px; line-height: 1.3; }
.rm .pack__name { font: 700 18px/1.2 var(--font-title); color: var(--title); }
.rm .pack__cash { font: 700 25px/1.15 var(--font-title); color: #7a2a10; }
.rm .is-big .pack__cash { font-size: 29px; }
.rm .pack__cash small { font-size: 15px; }
.rm .pack__gift { min-height: 22px; font-size: 14px; font-weight: bold; color: var(--green); }
.rm .pack__price { margin-top: 8px; padding: 4px 18px; border-radius: 16px; background: #4a1809; color: #ffe39a; font-size: 17px; font-weight: bold; }
.rm .pack__rib { position: absolute; top: 12px; right: -7px; z-index: 1; padding: 2px 10px; border-radius: 3px 0 0 3px; background: linear-gradient(#c8401a, #8a2208); color: #fff3cf; font-size: 13px; font-weight: bold; box-shadow: 0 2px 4px rgb(60 20 5 / .3); }
.rm .pack__rib::after { content: ""; position: absolute; right: 0; top: 100%; border-left: 7px solid #5a1505; border-bottom: 6px solid transparent; }
.rm .pack__best { position: absolute; top: 12px; left: 10px; z-index: 1; padding: 0 8px; border-radius: 10px; background: #4a1809; color: #ffe39a; font-size: 12px; font-weight: bold; line-height: 20px; }

/* способы оплаты, итог, низ */
.rm .meth__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; }
.rm .meth__grid > label { display: grid; }
.rm .meth__tile { display: grid; justify-items: center; align-content: center; gap: 2px; min-height: 100px; padding: 12px 8px; border: 1px dashed var(--line); border-radius: 6px; background: var(--paper); text-align: center; cursor: pointer; transition: border-color .2s, box-shadow .25s, background-color .2s; }
.rm .meth__tile:hover { border-color: #c0702f; }
.rm .micon { margin-bottom: 2px; color: var(--link); }
.rm .meth__name { font-size: 15px; line-height: 1.25; color: var(--title); }
.rm .meth__sub { font-size: 13px; color: #6b5546; }
.rm .meth input:checked + .meth__tile { border: 1px solid #b4521f; background: #fff3d6; box-shadow: inset 0 0 0 2px #e0a860; }
.rm .shop__pay { min-width: 230px; }
.rm .shop__sum { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px 18px; margin: 24px 0 0; padding: 14px 18px; border-radius: 8px; background: linear-gradient(#5a1e0b, #2c0e05); color: #f6e3c0; box-shadow: inset 0 1px 0 rgb(255 220 150 / .2), 0 4px 12px rgb(60 20 5 / .2); }
.rm .shop__sumtext { margin: 0; font-size: 16px; }
.rm .shop__sumtext b { font: 700 24px/1 var(--font-title); color: #ffe39a; }
.rm .shop__safe { display: flex; align-items: flex-start; gap: 8px; margin: 18px 0 0; font-size: 14px; }
.rm .shop__safe svg { flex: none; margin-top: 2px; color: var(--green); }
.rm .shop__terms { margin: 6px 0 0; font-size: 14px; }
.rm .shop__note { margin: 12px 0 0; }

@media (max-width: 759px) {
  .rm .packs { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
  .rm .packs > label, .rm .packs > label.is-big { grid-column: span 1; }
  .rm .packs > label.is-top { grid-column: 1 / -1; }
  .rm .pack__art, .rm .is-big .pack__art { height: 104px; }
  .rm .is-top .pack__art { height: 160px; }
  .rm .pack__cash, .rm .is-big .pack__cash { font-size: 23px; }
  .rm .is-top .pack__cash { font-size: 29px; }
  .rm .meth__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .rm .shop__sum { flex-direction: column; align-items: stretch; text-align: center; }
  .rm .shop__pay { width: 100%; min-width: 0; }
}

/* страница выбора «на телефоне»: все варианты рядом в рамках 390 точек */
.demo-frames { padding-bottom: 170px; }
.demo-frames__note { width: min(100% - 24px, 1001px); margin: 0 auto 10px; font-size: 15px; }
.phones { display: flex; flex-wrap: wrap; justify-content: center; gap: 28px; padding: 8px 16px 24px; }
.phone { display: grid; justify-items: center; gap: 8px; margin: 0; }
.phone figcaption { font-size: 15px; font-weight: bold; color: var(--title); }
.phone figcaption b { display: inline-grid; place-items: center; width: 22px; height: 22px; margin-right: 4px; border-radius: 50%; background: #8c3519; color: #fbe9c6; font-size: 12px; }
.phone iframe { display: block; width: 414px; height: 804px; border: 12px solid #1f1611; border-radius: 36px; background: var(--bg); box-shadow: 0 12px 30px rgb(40 20 10 / .3); }

/* ================= «Пригласи друга» — «Свиток» (D-091, выбор владельца 2026-10-01, /invite) =================
   ссылка-приглашение на пергаменте с печатью, шаги, награды вам и другу, друзья с полоской до уровня, правила */
.rm .isub { margin: 24px 0 10px; font: 700 19px/1.2 var(--font-title); color: var(--title); text-transform: uppercase; letter-spacing: .03em; }
.rm .ilink { margin: 14px 0 0; }
.rm .ilink__label { display: block; margin: 0 0 6px; font-weight: bold; color: var(--title); }
.rm .ilink__row { display: flex; gap: 10px; }
.rm .ilink__input { flex: 1; min-width: 0; height: 42px; padding: 4px 12px; border: 1px solid #c79a5b; border-radius: 3px; background: #fff; font: bold 16px/1 var(--font-text); color: var(--title); }
.rm .ilink__copy { flex: none; height: 42px; min-width: 150px; }
.rm .ilink__code { margin: 6px 0 0; font-size: 14px; color: #6b5546; }
.rm .ilink--scroll { position: relative; padding: 16px 18px 14px 74px; border: 1px solid #d9b77a; border-radius: 6px; background: linear-gradient(#fffaf0, #f6e8c8); box-shadow: inset 0 0 0 4px #fffdf6, 0 3px 10px rgb(95 33 5 / .12); }
.rm .ilink--scroll::before { content: "A"; position: absolute; left: 16px; top: 50%; display: grid; place-items: center; width: 44px; height: 44px; margin-top: -22px; border-radius: 50%;
  background: radial-gradient(circle at 35% 30%, #d0452e, #8e1d10 70%); color: #ffd9b0; font: 700 22px/1 var(--font-title); box-shadow: 0 0 0 3px rgb(142 29 16 / .35), 0 3px 6px rgb(60 10 5 / .4); }
.rm .imy { margin: 14px 0 0; }
.rm .isteps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; margin: 0; padding: 0; list-style: none; }
.rm .isteps li { display: grid; justify-items: center; gap: 8px; padding: 14px 12px; border: 1px dashed var(--line); border-radius: 8px; background: var(--paper); text-align: center; font-size: 15px; }
.rm .isteps__n { display: grid; place-items: center; width: 44px; height: 44px; border: 2px solid #e0a860; border-radius: 50%; background: linear-gradient(#b4521f, #7a2a10); color: #fff3cf; font: 700 21px/1 var(--font-title); }
.rm .irew { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; margin: 18px 0 0; }
.rm .irew__col { padding: 12px 14px; border: 1px dashed var(--line); border-radius: 8px; background: var(--paper); }
.rm .irew__title { margin: 0 0 8px; font: 700 17px/1.2 var(--font-title); color: var(--title); }
.rm .iitems { display: grid; gap: 6px; margin: 0; padding: 0; list-style: none; }
.rm .iitems li { display: flex; align-items: center; gap: 10px; }
.rm .iitems__name { font-weight: bold; }
.rm .iitems__n { color: #7a2a10; font-weight: bold; }
.rm .isum { margin: 0 0 10px; font-size: 15px; }
.rm .istate { display: inline-block; padding: 2px 10px; border-radius: 12px; background: #efe3cf; color: #5e4a3c; font-size: 13px; font-weight: bold; white-space: nowrap; }
.rm .istate.is-ready { background: #f6dc98; color: #3a1405; box-shadow: 0 0 10px rgb(240 192 96 / .6); }
.rm .istate.is-done { background: #e6efd8; color: var(--green); }
.rm .ifr { width: 100%; border-collapse: collapse; font-size: 15px; }
.rm .ifr td { padding: 9px 8px; border-top: 1px solid #ecdcc6; vertical-align: middle; }
.rm .ifr__who b { display: block; color: var(--title); }
.rm .ifr__who small { color: #6b5546; }
.rm .ifr__bar { width: 38%; }
.rm .ifr__bar small { display: block; margin-top: 2px; font-size: 13px; color: #6b5546; }
.rm .ibar { display: block; height: 10px; border-radius: 5px; background: #e9dcc6; overflow: hidden; }
.rm .ibar span { display: block; height: 100%; border-radius: 5px; background: linear-gradient(90deg, #c99536, #f0c060); }
.rm .ifr__state { text-align: right; }
.rm .irules { margin: 20px 0 0; font-size: 14px; }
.rm .irules summary { cursor: pointer; font: 700 15px/1.2 var(--font-title); color: var(--title); }
.rm .irules ul { margin: 8px 0 0; padding-left: 20px; }
.rm .iguest { margin: 14px 0 0; padding: 14px 16px; border: 1px dashed #d9a441; border-radius: 8px; background: #fff7e2; }
.rm .iguest p { margin: 0 0 10px; font-weight: bold; color: var(--title); }
.rm .iguest__btns { display: flex; flex-wrap: wrap; gap: 10px; }
.rm .accinv { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 10px; margin: 0 0 6px; }
.rm .accinv label { display: grid; gap: 4px; font-weight: bold; color: var(--title); }
.rm .accinv input { width: 200px; height: 38px; padding: 4px 10px; border: 1px solid #c79a5b; border-radius: 3px; font: bold 16px/1 var(--font-text); text-transform: uppercase; }
.rm .accinv .sbtn { height: 38px; }

@media (max-width: 759px) {
  .rm .ilink__row { flex-direction: column; }
  .rm .ilink__copy { width: 100%; }
  .rm .ilink--scroll { padding-left: 18px; padding-top: 64px; }
  .rm .ilink--scroll::before { top: 12px; left: 50%; margin: 0 0 0 -22px; }
  .rm .isteps, .rm .irew { grid-template-columns: minmax(0, 1fr); }
  .rm .isteps li { grid-template-columns: 44px minmax(0, 1fr); justify-items: start; text-align: left; align-items: center; }
  .rm .ifr tr { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); border-top: 1px solid #ecdcc6; }
  .rm .ifr td { border-top: 0; }
  .rm .ifr__bar { width: auto; }
  .rm .ifr__state { grid-column: 1 / -1; padding-top: 0; text-align: left; }
  .rm .accinv input { width: 100%; }
}

/* ================= «Поддержка» и правила сервера — «Что случилось?» (D-092 игры, выбор владельца 2026-10-01) =================
   /support: шесть плиток-ситуаций, нажатая раскрывается во всю ширину с ответом, другие вопросы (details), правила и
   «Связаться»; /rules: документ с оглавлением. Уровни наказаний L1-L5 — цвет от зелёного к тёмно-красному, метка у пункта —
   по самому строгому уровню */
.rm { --l1: #5f7d2e; --l2: #9a6a12; --l3: #b4521f; --l4: #962c17; --l5: #4a0f06; }
.rm .sico { flex: none; box-sizing: border-box; }
.rm .sanchor, .rm .rsec, .rm .rlist li, .rm .sfaq__item, .rm .ssit__card { scroll-margin-top: 70px; }
.rm .sgroup { margin: 20px 0 8px; font: 700 17px/1.2 var(--font-title); color: var(--title); }
/* вопросы */
.rm .sfaq { display: grid; gap: 8px; }
.rm .sfaq__item { border: 1px solid #e3cfae; border-radius: 6px; background: #fffaf0; }
.rm .sfaq__item > summary { display: flex; align-items: center; gap: 12px; min-height: 44px; padding: 8px 14px; cursor: pointer; font-weight: bold; color: var(--title); list-style: none; }
.rm .sfaq__item > summary::-webkit-details-marker { display: none; }
.rm .sfaq__item > summary::after { content: ""; flex: none; width: 8px; height: 8px; margin: -4px 2px 0 auto; border-right: 2px solid #b4521f; border-bottom: 2px solid #b4521f; transform: rotate(45deg); transition: transform .2s; }
.rm .sfaq__item[open] > summary::after { margin-top: 4px; transform: rotate(-135deg); }
.rm .sfaq__item > summary:hover { color: #8e1d10; }
.rm .sfaq__item[open], .rm .sfaq__item:target { border-color: #d9a441; box-shadow: 0 2px 8px rgb(95 33 5 / .1); }
.rm .sfaq__item p { margin: 0; padding: 0 14px 12px; }
/* плитки-ситуации */
.rm .ssit { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); grid-auto-flow: dense; gap: 12px; margin: 14px 0 0; }
.rm .ssit__card { border: 1px solid #d9b77a; border-radius: 10px; background: linear-gradient(#fffaf0, #f6e8c8); box-shadow: 0 2px 6px rgb(95 33 5 / .08); transition: box-shadow .15s; }
.rm .ssit__card > summary { display: grid; justify-items: center; gap: 10px; padding: 18px 12px 16px; cursor: pointer; text-align: center; list-style: none; }
.rm .ssit__card > summary::-webkit-details-marker { display: none; }
.rm .ssit__card .sico { width: 54px; height: 54px; padding: 12px; border-radius: 50%; background: linear-gradient(#b4521f, #7a2a10); color: #fff3cf; box-shadow: 0 0 0 3px rgb(224 168 96 / .45); transition: box-shadow .15s; }
.rm .ssit__card b { font: 700 17px/1.25 var(--font-title); color: var(--title); }
.rm .ssit__card > summary:hover .sico { box-shadow: 0 0 0 3px #f0c060, 0 0 14px rgb(240 192 96 / .7); }
.rm .ssit__card[open] { grid-column: 1 / -1; border-color: #d9a441; box-shadow: 0 6px 16px rgb(95 33 5 / .16); }
.rm .ssit__card[open] > summary { grid-template-columns: 54px minmax(0, 1fr); justify-items: start; align-items: center; padding-bottom: 6px; text-align: left; }
.rm .ssit__card p { margin: 0; padding: 0 18px 16px 84px; }
/* правила и «Связаться» внизу */
.rm .sbot { display: grid; grid-template-columns: 250px minmax(0, 1fr); gap: 14px; align-items: start; margin: 22px 0 0; }
.rm .srules { display: grid; grid-template-columns: 44px minmax(0, 1fr); column-gap: 12px; align-items: center; padding: 12px 14px; border: 1px solid #d9b77a; border-radius: 8px;
  background: linear-gradient(#fffaf0, #f6e8c8); color: var(--text); text-decoration: none; box-shadow: 0 2px 6px rgb(95 33 5 / .08); transition: transform .15s, box-shadow .15s; }
.rm .srules .sico { grid-row: span 2; width: 44px; height: 44px; padding: 9px; border-radius: 50%; background: linear-gradient(#b4521f, #7a2a10); color: #fff3cf; }
.rm .srules b { font: 700 16px/1.2 var(--font-title); color: var(--title); }
.rm .srules small { font-size: 13px; line-height: 1.3; color: #6b5546; }
.rm .srules:hover { transform: translateY(-2px); box-shadow: 0 6px 14px rgb(95 33 5 / .16); }
.rm .scontact { padding: 14px 16px; border: 1px dashed #d9a441; border-radius: 8px; background: #fff7e2; }
.rm .scontact__lead { margin: 0 0 12px; font-weight: bold; }
.rm .scontact__btn { display: inline-flex; align-items: center; justify-content: center; min-width: 220px; text-decoration: none; }
.rm .scontact__ch { display: grid; gap: 8px; margin: 14px 0 0; padding: 0; list-style: none; font-size: 14px; line-height: 1.35; }
.rm .scontact__ch b { display: block; }
.rm .scontact__pw { margin: 12px 0 0; font-size: 13px; }
/* уровни наказаний и пункты правил */
.rm .lvl { display: inline-block; min-width: 34px; padding: 1px 8px; border-radius: 11px; font: bold 12px/20px var(--font-text); text-align: center; white-space: nowrap; color: #fff; background: var(--c, var(--l3)); }
.rm .lvl--L1 { --c: var(--l1); } .rm .lvl--L2 { --c: var(--l2); } .rm .lvl--L3 { --c: var(--l3); } .rm .lvl--L4 { --c: var(--l4); } .rm .lvl--L5 { --c: var(--l5); }
.rm .lvls { margin: 0; padding: 0; list-style: none; }
.rm .lvls__row { display: flex; align-items: center; gap: 10px; padding: 7px 4px; border-top: 1px solid #ecdcc6; }
.rm .lvls__note { margin: 8px 0 0; font-size: 14px; color: #6b5546; }
.rm .rsec { margin: 20px 0 0; }
.rm .rsec__title { display: flex; align-items: center; gap: 10px; margin: 0 0 6px; font: 700 18px/1.2 var(--font-title); color: var(--title); }
.rm .rsec__n { display: grid; place-items: center; flex: none; width: 30px; height: 30px; border-radius: 50%; background: linear-gradient(#b4521f, #7a2a10); color: #fff3cf; font-size: 16px; }
.rm .rsec__note { margin: 0 0 6px; font-size: 14px; font-style: italic; color: #6b5546; }
.rm .rlist { margin: 0; padding: 0; list-style: none; }
.rm .rlist li { display: grid; grid-template-columns: 40px minmax(0, 1fr) auto; gap: 4px 10px; align-items: baseline; padding: 8px 6px; border-top: 1px solid #ecdcc6; }
.rm .rlist li:target { background: #fff3cf; box-shadow: inset 3px 0 0 #d9a441; }
.rm .rlist__n { color: #7a2a10; }
.rm .rlist__t small { display: block; margin-top: 4px; font-size: 14px; color: #6b5546; }
.rm .paper .rlist li, .rm .paper .lvls li { max-width: none; }
/* /rules: оглавление слева */
.rm .rdoc__grid { display: grid; grid-template-columns: 220px minmax(0, 1fr); gap: 24px; align-items: start; margin-top: 10px; }
.rm .rdoc__toc { position: sticky; top: 16px; padding: 12px 14px; border: 1px solid #e3cfae; border-radius: 8px; background: #fffaf0; font-size: 15px; }
.rm .rdoc__toc b { display: block; margin: 0 0 8px; font: 700 15px/1.2 var(--font-title); color: var(--title); }
.rm .rdoc__toc ol { display: grid; gap: 6px; margin: 0 0 12px; padding: 0; list-style: none; }
.rm .rdoc__back { font-size: 14px; }
.rm .rdoc__body > .sgroup:first-child { margin-top: 0; }

@media (max-width: 759px) {
  .rm .sbot, .rm .rdoc__grid { grid-template-columns: minmax(0, 1fr); }
  .rm .ssit { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .rm .ssit__card > summary { padding: 14px 8px 12px; }
  .rm .ssit__card b { font-size: 15px; }
  .rm .ssit__card p { padding: 0 14px 14px; }
  .rm .scontact__btn { width: 100%; min-width: 0; }
  .rm .rdoc__toc { position: static; }
  .rm .rlist li { grid-template-columns: 34px minmax(0, 1fr); }
  .rm .rlist li .lvl { grid-column: 2; justify-self: start; }
}

/* ================= Discord на сайте — «Знамя сверху» (выбор владельца 2026-10-01) =================
   кнопка в верхней полосе на каждой странице, знамя под полосой пока сервер не открыт, блок на регистрации; знак Discord
   (вектор) на синем цвете Discord, с золотой кромкой сайта */
.rm .dlogo { flex: none; }
.rm .dstrip { display: inline-flex; align-items: center; gap: 7px; height: 28px; padding: 0 12px 0 10px; border-radius: 14px; background: linear-gradient(#6f7bf7, #4752c4); color: #fff; font-weight: bold; text-decoration: none;
  box-shadow: inset 0 0 0 1px rgb(255 255 255 / .18), 0 0 0 1px #c99536; transition: box-shadow .2s, background .2s; }
.rm .strip__right > a.dstrip { color: #fff; }
.rm .dstrip .dlogo { width: 18px; height: 18px; }
.rm .strip__right > a.dstrip:hover { color: #fff; text-decoration: none; background: linear-gradient(#7f8aff, #5865f2); box-shadow: inset 0 0 0 1px rgb(255 255 255 / .3), 0 0 0 1px #f0c060, 0 0 12px rgb(88 101 242 / .7); }
.rm .dbtn { display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 44px; padding: 0 20px; border: 1px solid #f0c060; border-radius: 4px; background: linear-gradient(#6f7bf7, #4752c4); color: #fff;
  font: 700 14px/1 var(--font-text); letter-spacing: .03em; text-transform: uppercase; text-decoration: none; box-shadow: inset 0 1px 0 rgb(255 255 255 / .25), 0 2px 6px rgb(30 8 2 / .4); transition: box-shadow .2s, transform .2s; }
.rm .dbtn .dlogo { width: 22px; height: 22px; }
.rm .dbtn:hover { color: #fff; transform: translateY(-1px); box-shadow: inset 0 1px 0 rgb(255 255 255 / .3), 0 0 16px rgb(110 125 255 / .75); }
.rm .dbtn--small { min-height: 38px; padding: 0 14px; font-size: 13px; white-space: nowrap; }
/* знамя под верхней полосой */
.rm .dribbon { position: relative; z-index: 5; border-top: 1px solid #c99536; border-bottom: 2px solid #c99536; background: linear-gradient(#6e1a0c, #4a1006); color: #f6e3c0; box-shadow: 0 2px 8px rgb(30 8 2 / .35); }
.rm .dribbon__in { display: flex; align-items: center; justify-content: center; gap: 14px; width: min(100% - 32px, var(--wide)); min-height: 56px; margin: 0 auto; padding: 8px 0; }
.rm .dribbon__mark { display: grid; place-items: center; flex: none; width: 38px; height: 38px; border-radius: 50%; background: linear-gradient(#6f7bf7, #4752c4); color: #fff; box-shadow: 0 0 0 2px #c99536, 0 0 12px rgb(88 101 242 / .6); }
.rm .dribbon__mark .dlogo { width: 22px; height: 22px; }
.rm .dribbon__text { margin: 0; font-size: 15px; line-height: 1.35; }
.rm .dribbon__text b { color: #ffe39a; }
.rm .dribbon__short { display: none; }
/* блок на регистрации */
.rm .dreg { position: relative; margin: 0 0 18px; padding: 16px 18px 18px 86px; border: 1px solid #c99536; border-radius: 8px; background: linear-gradient(#6e1a0c, #4a1006); color: #f6e3c0; box-shadow: 0 3px 10px rgb(60 10 5 / .3); }
.rm .dreg__mark { position: absolute; left: 18px; top: 18px; display: grid; place-items: center; width: 50px; height: 50px; border-radius: 50%; background: linear-gradient(#6f7bf7, #4752c4); color: #fff;
  box-shadow: 0 0 0 3px #c99536, 0 3px 8px rgb(30 8 2 / .35); }
.rm .dreg__mark .dlogo { width: 28px; height: 28px; }
.rm .dreg__title { margin: 0 0 4px; font: 700 19px/1.2 var(--font-title); text-transform: uppercase; letter-spacing: .03em; color: #ffe39a; }
.rm .dreg__lead { margin: 0 0 10px; }
.rm .dreg__list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; margin: 0 0 14px; padding: 0; list-style: none; font-size: 15px; line-height: 1.3; }
.rm .dreg__list li { display: flex; align-items: flex-start; gap: 10px; }
.rm .dreg__list svg { flex: none; color: #f0c060; }

@media (pointer: coarse) {   /* полоса 44 px под палец: сама кнопка Discord — обычной высоты */
  .rm .strip__right > a.dstrip { min-height: 0; height: 34px; padding: 0 12px 0 10px; }
}
@media (max-width: 759px) {
  .rm .dstrip, .rm .strip__right > a.dstrip { width: 34px; padding: 0; justify-content: center; border-radius: 50%; }
  .rm .dstrip span { display: none; }
  .rm .dribbon__in { justify-content: space-between; gap: 10px; min-height: 52px; }
  .rm .dribbon__mark, .rm .dribbon__long { display: none; }
  .rm .dribbon__short { display: inline; }
  .rm .dribbon__text { font-size: 14px; }
  .rm .dreg { padding: 76px 14px 16px; }
  .rm .dreg__mark { top: 14px; left: 14px; }
  .rm .dreg__list { grid-template-columns: minmax(0, 1fr); }
  .rm .dreg .dbtn { width: 100%; }
}

/* ================= телефон (проверка 2026-10-01): места нажатия под палец, текст не мельче 12 px ================= */
@media (pointer: coarse) {
  .rm .strip__brand { min-width: 44px; min-height: 44px; justify-content: center; }
  .rm .auth__row a, .rm .auth__check, .rm .form__check { display: inline-flex; align-items: center; min-height: 44px; }
  .rm .auth__check input, .rm .form__check input { width: 20px; height: 20px; }
  .rm .allclasses { display: inline-flex; align-items: center; min-height: 36px; }
  .rm a.mailok { display: inline-flex; align-items: center; min-height: 32px; padding: 0 12px; }
  .rm .irules > summary { display: flex; align-items: center; min-height: 44px; }
}
@media (max-width: 759px) {
  .rm .news__date, .rm .portrait__name { font-size: 12px; }
}

/* почта в кабинете: подтверждена или нет; напоминание со ссылкой «отправить ещё раз» */
.rm .mailok { display: inline-block; margin-left: 6px; padding: 1px 8px; border-radius: 10px; font-size: 13px; font-weight: bold; vertical-align: 1px; }
.rm .mailok--yes { background: #e3f1d8; color: #2f5d1a; }
.rm .mailok--no { background: #fde3c8; color: #8e3a10; text-decoration: none; }
.rm .mailbox { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 16px; margin: 8px 0 12px; padding: 12px 14px; border: 1px solid #e8b98a; border-radius: 8px; background: #fff3e2; }
.rm .mailbox p { flex: 1 1 320px; margin: 0; }

/* капча Cloudflare Turnstile в формах (регистрация, «Забыли пароль?», вход после неверных паролей) */
.rm .form__captcha { min-height: 65px; margin: 4px 0 2px; }

/* ================= Политика конфиденциальности, /privacy («Документ с оглавлением», выбор владельца 2026-10-01) =================
   оглавление и разделы — как у правил (.rdoc, .rsec); текст — content/privacy_<язык>.txt; ‹…› — место для решения владельца */
.rm .pver { margin: -2px 0 10px; font-size: 14px; color: #6b5546; }
.rm .pol .psec { scroll-margin-top: 16px; }
.rm .pol .psec p { margin: 6px 0; }
.rm .pol .plist { margin: 4px 0 8px; padding-left: 18px; list-style: none; }
.rm .pol .plist li { margin: 4px 0; }
.rm .pol mark.ph { padding: 0 4px; border-radius: 4px; background: #ffe7a3; color: #7a2a10; font-weight: bold; }
.rm .ptable { overflow-x: auto; margin: 8px 0 12px; border: 1px solid #e3cfae; border-radius: 8px; background: #fffaf0; }
.rm .ptable table { width: 100%; border-collapse: collapse; font-size: 15px; }
.rm .ptable th, .rm .ptable td { padding: 8px 12px; border-top: 1px solid #ecdcc6; text-align: left; vertical-align: top; }
.rm .ptable th { border-top: 0; background: #f6e8c8; font: 700 14px/1.2 var(--font-title); color: var(--title); }
.rm .ptable code { font: 700 14px/1.3 ui-monospace, Consolas, monospace; color: #7a2a10; }

/* ================= телефон, внутренние страницы: шапка «Лента с героями» (выбор владельца 2026-10-02) =================
   На главной шапка как была («Герои вплотную»); на остальных страницах на телефоне видна только верхняя часть сцены
   (--ph): маг и рыцарь у логотипа, всё так же дышат, логотип меньше. Две большие плашки заменены строкой из двух
   кнопок (.mcta2: «Скачать игру» и «Регистрация» или «Профиль»). Заголовок формы входа на 375 px — 300 px от верха
   вместо 561, форма видна целиком. На ПК — как есть. */
.mcta2 { display: none; }
@media (max-width: 759px) {
  .page-inner .mcta { display: none; }
  .page-inner .mcta2 { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; padding: 8px 10px; background: var(--bg); }
  .rm .mcta2 .sbtn { height: 44px; padding: 0 8px; font-size: 14px; letter-spacing: .02em; }
  .page-inner .hdr { --pw: 560; --pcx: 503; --ph: 196; border-bottom: 2px solid #8c5a2b; }
  .page-inner .hdr__logo { width: 172px; left: 417px; top: 10px; }
}
