/* Эскиз «дедлоковского» редизайна, партия 2 (07–08.10.2026). Всё под body.rd — без класса мини-апп прежний.
   Приёмы — с официальной страницы City Never Sleeps (разобраны по коду): наклейки — кривые четырёхугольники с
   заливкой и мягкой сдвинутой тенью .25, номера — «мятые» кружки по маске, основной текст — Jost (как у них).
   Шрифты Valve (Oracle, Pulp) встраивать нельзя — ближайшие свободные: Days One (вместо Pulp, наклейки) и
   Alegreya ExtraBold (вместо Oracle, крупные названия). Фактуры и значки — из файлов игры (assets/). */
body.rd {
    --rd-ink: #121d22; --rd-paper: #f7e9d5; --rd-cream: #f6efe0; --rd-mint: #5fd3a8;
    --rd-spirit: #c19cf5; --rd-weapon: #f0a640; --rd-green: #97da79;
    --rd-f-st: "Days One", "Exo 2", sans-serif; --rd-f-title: "Alegreya", Georgia, serif; --rd-f-body: "Jost", "Exo 2", sans-serif;
}
/* плёночное зерно поверх всего (файл зерна из игры) */
/* 13.10: без mix-blend-mode — смешивание по всему экрану пересчитывалось на каждом кадре прокрутки (на телефоне ~25 кадров/с,
   худший кадр 219 мс при 6× замедлении); обычная полупрозрачность — 18 мс, вид почти тот же */
body.rd::after { content: ""; position: fixed; inset: 0 0 auto; height: var(--rd-vh, 100lvh); pointer-events: none; z-index: 1; opacity: .035; background: url("grain.webp") repeat; background-size: 256px; }
body.rd #view { position: relative; z-index: 2; }

/* --- наклейка: кривой четырёхугольник, своя наклонка, мягкая сдвинутая тень (как у официальной страницы) --- */
body.rd .rd-st { display: inline-flex; vertical-align: middle; transform: rotate(var(--rot, -1.5deg)); filter: drop-shadow(4px 4px 0 rgba(0, 0, 0, .25)); }
body.rd .rd-st-in { display: inline-flex; align-items: center; height: 26px; padding: 2px 13px 0; background: var(--c, #dd6638); color: var(--rd-ink);
    font: 400 13px/1 var(--rd-f-st); letter-spacing: .03em; text-transform: uppercase; white-space: nowrap; }
body.rd .rd-st-sm .rd-st-in { height: 22px; padding: 2px 10px 0; font-size: 11px; }
/* заголовок раздела — наклейка, слегка «вылезает» за верх блока, как ярлыки на официальной странице */
body.rd .rd-h3 { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: -24px 0 10px -6px; height: 30px; font-size: 0; position: relative; z-index: 3; }
body.rd .block:has(> .rd-h3) { margin-top: 26px; }

/* --- кружок-номер по маске «мятого» круга --- */
body.rd .rd-badge { display: inline-flex; align-items: center; justify-content: center; width: 22px; height: 22px; background: var(--c);
    -webkit-mask: url("badge_circle_1.webp") center / 100% 100%; mask: url("badge_circle_1.webp") center / 100% 100%; }
body.rd .rd-badge-2 { -webkit-mask-image: url("badge_circle_2.webp"); mask-image: url("badge_circle_2.webp"); }
body.rd .rd-badge b { font: 400 11px/1 var(--rd-f-st); color: var(--rd-ink); padding-top: 2px; }

/* ===== карточка героя ===== */
body.rd .card-title-row { display: flex; flex-direction: column; align-items: flex-start; gap: 10px; }
body.rd .rd-logo { display: block; max-width: 74%; max-height: 66px; filter: drop-shadow(0 3px 8px rgba(0, 0, 0, .85)); }
body.rd .rd-tags { display: flex; flex-wrap: nowrap; gap: 4px; width: 100%; padding: 2px 6px 4px 2px; overflow: hidden; }
body.rd .rd-tags .rd-st-in { font-size: var(--tag-fs, 11px); padding: 2px .8em 0; }
/* роль — на стыке шапки и блока способностей, всегда в одном месте (правый верхний угол блока) */
body.rd .ability-block { position: relative; overflow: visible; }
/* у основного стиля .block.ability-block > *:not(.ability-bg) { position: relative } — вес выше, поэтому селекторы длиннее */
body.rd .block.ability-block > .rd-role { position: absolute; top: -15px; right: 12px; z-index: 4; }
body.rd .block.ability-block > .rd-strings { position: absolute; inset: 0; z-index: 1; }
body.rd .block.ability-block.rd-kit::before { display: none; }

/* --- способности: весь раздел — как подсказка игры (тёмная фактура, мятная рамка) --- */
body.rd .rd-kit { padding: 14px 12px 14px; border: 1px solid rgba(95, 211, 168, .6); border-radius: 3px; margin-top: 30px;
    background: url("ab_bg.webp") center / cover, #10141b; box-shadow: 0 12px 26px -14px rgba(0, 0, 0, .95); }
body.rd .rd-kit > .ability-bg { display: none; }
body.rd .rd-tabs { position: relative; z-index: 2; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 4px; margin: 2px 0 30px; }
body.rd .rd-tab { position: relative; display: flex; flex-direction: column; align-items: center; padding: 0; border: 0; background: none; color: #8d96a8; cursor: pointer; font: inherit; }
body.rd .rd-tab-ico { width: 54px; height: 54px; border-radius: 50%; display: flex; align-items: center; justify-content: center; background: #171c25;
    border: 2px solid #2d3443; box-shadow: inset 0 2px 8px rgba(0, 0, 0, .7); transition: border-color .2s, box-shadow .2s; }
body.rd .rd-tab-ico img { width: 32px; height: 32px; object-fit: contain; display: block; filter: brightness(.75); transition: filter .2s; }
body.rd .rd-tab.on .rd-tab-ico { border-color: var(--rd-mint); box-shadow: 0 0 0 4px rgba(95, 211, 168, .16), inset 0 2px 8px rgba(0, 0, 0, .7); }
body.rd .rd-tab.on .rd-tab-ico img { filter: none; }
body.rd .rd-tab .rd-badge { margin-top: -10px; position: relative; }
body.rd .rd-tab-name { margin-top: 5px; font: 600 10.5px/1.15 var(--rd-f-body); text-align: center; text-transform: uppercase; letter-spacing: .02em;
    hyphens: auto; -webkit-hyphens: auto; max-width: 100%; }
body.rd .rd-tab.on .rd-tab-name { color: var(--rd-cream); }
/* нити от выбранного кружка к карточке */
body.rd .rd-strings { position: absolute; inset: 0; width: 100%; height: 100%; pointer-events: none; z-index: 1; overflow: visible; }
body.rd .rd-strings path { fill: none; stroke: var(--rd-mint); stroke-width: 1.5; stroke-dasharray: 1; stroke-dashoffset: 0; opacity: .85; }
body.rd .rd-strings circle { fill: var(--rd-mint); }
body.rd .rd-kit-anim .rd-strings path { animation: rdString .45s ease-out both; }
body.rd .rd-kit-anim .rd-panel { animation: rdPanel .35s .1s ease-out both; }
@keyframes rdString { from { stroke-dashoffset: 1; } to { stroke-dashoffset: 0; } }
@keyframes rdPanel { from { opacity: 0; transform: translateY(-6px); } to { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: reduce) { body.rd .rd-kit-anim .rd-strings path, body.rd .rd-kit-anim .rd-panel { animation: none; } }

body.rd .rd-panel { position: relative; z-index: 2; padding: 14px 12px 12px; border: 2px solid var(--rd-mint); background: none; border-radius: 3px; }
body.rd .rd-ab-head { display: flex; align-items: center; gap: 12px; }
body.rd .rd-ab-ico { width: 46px; height: 46px; object-fit: contain; flex: none; filter: drop-shadow(0 2px 4px rgba(0, 0, 0, .7)); }
body.rd .rd-ab-name { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 3px; }
body.rd .rd-ab-name b { font: 800 22px/1.02 var(--rd-f-title); color: var(--rd-cream); }
body.rd .rd-ab-name small { font: 400 10px/1 var(--rd-f-st); letter-spacing: .08em; text-transform: uppercase; color: #8d96a8; }
body.rd .rd-cd { flex: none; display: inline-flex; align-items: center; gap: 5px; height: 30px; padding: 0 10px; border-radius: 3px; background: rgba(0, 0, 0, .5);
    border: 1px solid rgba(255, 255, 255, .08); color: var(--rd-cream); line-height: 1; }
body.rd .rd-cd img { width: 15px; height: 15px; display: block; }
body.rd .rd-cd b { font: 700 16px/1 var(--rd-f-body); }
body.rd .rd-cd small { font: 500 11px/1 var(--rd-f-body); color: #8d96a8; }
body.rd .rd-chips { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 12px; }
body.rd .rd-chip { display: flex; align-items: center; gap: 5px; min-width: 0; height: 30px; padding: 0 9px; border-radius: 3px; background: rgba(0, 0, 0, .42);
    border: 1px solid rgba(255, 255, 255, .07); color: var(--rd-cream); line-height: 1; white-space: nowrap; }
body.rd .rd-chip img { width: 14px; height: 14px; display: block; flex: none; }
body.rd .rd-chip b { font: 700 14px/1 var(--rd-f-body); }
body.rd .rd-chip small { font: 500 11px/1 var(--rd-f-body); color: #8d96a8; }
body.rd .rd-chip em { font: 500 12px/1 var(--rd-f-body); font-style: normal; color: #a6aec0; margin-left: 3px; }
body.rd .rd-desc { margin: 12px 0 2px; font: 400 14.5px/1.5 var(--rd-f-body); color: #dcd6c8; }
body.rd .rd-desc .dim { color: #9aa3b5; }
body.rd .rd-desc .ian, body.rd .rd-up .ian, body.rd .rd-panel .highlight { color: var(--rd-cream); font-weight: 700; }
body.rd .rd-desc img.ia, body.rd .rd-up img.ia { width: 15px; height: 15px; vertical-align: -2px; margin-right: 3px; }
body.rd .inline-attribute-label { font-weight: 700; }
body.rd .inline-attribute-label.SpiritDamage, body.rd .inline-attribute-label.SpiritDPS, body.rd .inline-attribute-label.BonusSpiritDamage, body.rd .inline-attribute-label.Spirit { color: var(--rd-spirit); }
body.rd .inline-attribute-label.WeaponDamage, body.rd .inline-attribute-label.BulletDamage, body.rd .inline-attribute-label.MeleeDamage, body.rd .inline-attribute-label.BonusWeaponDamage { color: var(--rd-weapon); }
body.rd .inline-attribute-label.Healing, body.rd .inline-attribute-label.Heal, body.rd .inline-attribute-label.Heals, body.rd .inline-attribute-label.Regen, body.rd .inline-attribute-label.MaxHealth, body.rd .inline-attribute-label.CombatBarrier { color: var(--rd-green); }
body.rd .inline-attribute-label.Slow, body.rd .inline-attribute-label.Stun, body.rd .inline-attribute-label.Silence, body.rd .inline-attribute-label.Immobilize, body.rd .inline-attribute-label.KnockUp { color: #8fd0ff; }
body.rd .rd-blk-t { margin: 14px 0 6px; font: 400 10.5px/1 var(--rd-f-st); letter-spacing: .08em; text-transform: uppercase; color: #8d96a8; }
/* окошки свойств: сетка сама подбирает число колонок, подписи переносятся, ничего не налезает */
body.rd .rd-stats { display: grid; grid-template-columns: repeat(auto-fit, minmax(96px, 1fr)); gap: 10px 6px; margin-top: 14px; }
body.rd .rd-blk-t + .rd-stats, body.rd .rd-pills + .rd-stats { margin-top: 8px; }
body.rd .rd-stat { position: relative; min-width: 0; padding: 13px 6px 9px; border-radius: 3px; text-align: center; background: rgba(0, 0, 0, .4); border: 1px solid rgba(255, 255, 255, .08); }
body.rd .rd-k-spirit { background: linear-gradient(180deg, rgba(120, 82, 190, .34), rgba(60, 40, 100, .3)); border-color: rgba(193, 156, 245, .55); }
body.rd .rd-k-weapon { background: linear-gradient(180deg, rgba(190, 120, 40, .34), rgba(100, 62, 20, .3)); border-color: rgba(240, 166, 64, .55); }
body.rd .rd-stat-v { display: flex; align-items: center; justify-content: center; gap: 5px; color: #fbf4e6; line-height: 1; }
body.rd .rd-stat-v img { width: 16px; height: 16px; display: block; flex: none; }
body.rd .rd-stat-v b { font: 700 19px/1 var(--rd-f-body); }
body.rd .rd-stat-v small { font: 500 11px/1 var(--rd-f-body); color: #cfc8b9; }
body.rd .rd-stat-l { margin-top: 6px; font: 500 10.5px/1.2 var(--rd-f-body); letter-spacing: -.01em; color: #cfc8b9; hyphens: auto; -webkit-hyphens: auto; }
body.rd .rd-scale { position: absolute; top: -9px; right: 5px; display: inline-flex; align-items: center; gap: 3px; height: 18px; padding: 0 6px; border-radius: 3px;
    background: #171c25; border: 1px solid currentColor; font: 700 11px/1 var(--rd-f-body); }
body.rd .rd-scale img { width: 11px; height: 11px; display: block; }
body.rd .rd-scale-spirit { color: var(--rd-spirit); }
body.rd .rd-scale-melee, body.rd .rd-scale-weapon { color: var(--rd-weapon); }
/* эффект без числа («Неудержимость») — плашкой со значком, а не пустым окошком */
body.rd .rd-pills { display: flex; flex-wrap: wrap; justify-content: center; gap: 6px; margin-top: 12px; }
body.rd .rd-status { display: inline-flex; align-items: center; gap: 6px; height: 28px; padding: 0 11px; border-radius: 3px; background: rgba(143, 208, 255, .12);
    border: 1px solid rgba(143, 208, 255, .45); color: #cbe9ff; }
body.rd .rd-status img { width: 14px; height: 14px; display: block; }
body.rd .rd-status b { font: 600 12.5px/1 var(--rd-f-body); }
/* прокачка 1 / 2 / 5 — значок очка способности из игры (ромб с глазом) */
body.rd .rd-ups { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(0, 1fr); gap: 6px; margin-top: 14px; align-items: stretch; }
body.rd .rd-up { border-radius: 3px; overflow: hidden; border: 1px solid rgba(95, 211, 168, .28); background: rgba(0, 0, 0, .38); display: flex; flex-direction: column; }
body.rd .rd-up-h { display: flex; align-items: center; justify-content: center; gap: 5px; height: 26px; background: rgba(95, 211, 168, .14); color: var(--rd-mint); }
body.rd .rd-up-h b { font: 400 12px/1 var(--rd-f-st); padding-top: 1px; }
body.rd .rd-ap { width: 13px; height: 13px; background: currentColor; -webkit-mask: url("icons/ap_icon.svg") center / contain no-repeat; mask: url("icons/ap_icon.svg") center / contain no-repeat; }
body.rd .rd-up-b { margin: auto 0; padding: 10px 5px; min-width: 0; text-align: center; font: 600 11.5px/1.25 var(--rd-f-body); color: var(--rd-cream); hyphens: auto; -webkit-hyphens: auto; overflow-wrap: break-word; }

/* ===== карточка предмета: стопка рваной бумаги в фактуре типа ===== */
body.rd .rd-piece { position: relative; background: transparent !important; border: 0 !important; box-shadow: none !important; border-radius: 0;
    padding: 16px 16px 14px; color: var(--rd-cream); font-family: var(--rd-f-body); }
body.rd .rd-piece { isolation: isolate; }
body.rd .rd-paper, body.rd .rd-paper-sh { position: absolute !important; inset: 0; pointer-events: none; }
body.rd .rd-paper-sh { z-index: -2 !important; background: rgba(0, 0, 0, .32); transform: translate(5px, 6px); }
body.rd .rd-paper { z-index: -1 !important; background-size: cover; background-position: center; }
body.rd .rd-t-weapon > .rd-paper { background-image: url("tt_weapon.webp"); }
body.rd .rd-t-vitality > .rd-paper { background-image: url("tt_vitality.webp"); }
body.rd .rd-t-spirit > .rd-paper { background-image: url("tt_spirit.webp"); }
body.rd .rd-t-weapon > .rd-paper-sh { -webkit-mask: url("tt_weapon.webp") center / cover; mask: url("tt_weapon.webp") center / cover; }
body.rd .rd-t-vitality > .rd-paper-sh { -webkit-mask: url("tt_vitality.webp") center / cover; mask: url("tt_vitality.webp") center / cover; }
body.rd .rd-t-spirit > .rd-paper-sh { -webkit-mask: url("tt_spirit.webp") center / cover; mask: url("tt_spirit.webp") center / cover; }
/* тёмная бумага (шапка сборки, последний матч, комментарии вне предмета) */
body.rd .rd-t-dark > .rd-paper { background: #1d2230 url("paper_dark.webp"); background-size: 256px; }
body.rd .rd-t-dark > .rd-paper-sh { background: rgba(0, 0, 0, .45); }
/* бумажки чуть повёрнуты в разные стороны — стопка, а не ровные окна */
body.rd .rd-piece:nth-of-type(odd) { transform: rotate(-.35deg); }
body.rd .rd-piece:nth-of-type(even) { transform: rotate(.3deg); }
/* шрифт и значки «впечатаны»: светлые чернила с лёгкой тенью, значки — маской одного цвета */
body.rd .rd-piece .statline { color: var(--rd-cream); font: 500 15px/1.35 var(--rd-f-body); text-shadow: 0 1px 1px rgba(0, 0, 0, .35); align-items: center; }
body.rd .rd-piece .statline b { color: #fff; font-weight: 700; }
body.rd .rd-ink-ico { flex: none; width: 20px; height: 20px; margin-right: 8px; background: var(--rd-cream); opacity: .92;
    -webkit-mask-position: center; mask-position: center; -webkit-mask-size: contain; mask-size: contain; -webkit-mask-repeat: no-repeat; mask-repeat: no-repeat; }
body.rd .rd-piece .stat-group-label { font: 400 10.5px/1 var(--rd-f-st); letter-spacing: .08em; text-transform: uppercase; color: var(--rd-cream); opacity: .7;
    border-top: 1px dashed rgba(246, 239, 224, .3); padding-top: 12px; margin-top: 10px; }
body.rd .rd-piece { font: 500 15px/1.5 var(--rd-f-body); }
body.rd .rd-piece b { color: #fff; }
body.rd .rd-piece .buyer-row, body.rd .rd-piece .comp-card { background: rgba(10, 12, 16, .3); border-radius: 3px; border: 0; }
body.rd .rd-piece .buyer-row b, body.rd .rd-piece .comp-name { color: #fff; }
/* шапка предмета — тоже бумажка, без рамки: мазок игры, картинка в светлой рамке, наклейка, ценник */
body.rd .rd-ihead { padding: 18px 16px 20px; margin-top: 8px; overflow: visible; z-index: 5; }
body.rd .rd-ihead-stroke { position: absolute !important; z-index: 0 !important; left: 0; right: 0; top: 0; height: 92px; background-size: cover; background-position: left center; opacity: .85; pointer-events: none; }
body.rd .rd-ihead-row { position: relative; z-index: 1; display: grid; grid-template-columns: 92px 1fr; gap: 14px; align-items: center; padding-right: 70px; }
body.rd .rd-ihead-img { width: 92px; height: 92px; border-radius: 2px; border: 4px solid var(--rd-paper); box-shadow: 4px 5px 0 rgba(0, 0, 0, .3); transform: rotate(-3.5deg); }
body.rd .rd-ihead-txt { min-width: 0; display: flex; flex-direction: column; align-items: flex-start; gap: 6px; }
body.rd .rd-ihead-txt b { font: 800 26px/1 var(--rd-f-title); color: #fff; text-shadow: 0 2px 0 rgba(0, 0, 0, .35); overflow-wrap: break-word; max-width: 100%; }
body.rd .rd-ihead-sub { font: 500 13px/1 var(--rd-f-body); color: var(--rd-cream); opacity: .85; }
body.rd .rd-price { position: absolute !important; z-index: 2 !important; right: 4px; bottom: -14px; width: 92px; transform: rotate(-9deg); filter: drop-shadow(3px 4px 0 rgba(0, 0, 0, .3)); }

/* ===== Арсенал: клетки на подложках карточек магазина ===== */
body.rd .item-grid { gap: 10px 8px; }
body.rd .rd-cell { position: relative; display: flex; flex-direction: column; align-items: center; padding: 6px 6px 7px; border-radius: 3px;
    background-position: center; background-size: cover; box-shadow: 3px 4px 0 rgba(0, 0, 0, .3); }
body.rd .rd-cell:nth-child(3n) { transform: rotate(.6deg); }
body.rd .rd-cell:nth-child(3n+1) { transform: rotate(-.5deg); }
/* клетки магазина: наклон от предмета (--cr из itemCellHtml), чтобы фильтр не перекручивал карточки */
body.rd .rd-cell[style*="--cr"] { transform: rotate(var(--cr)); }
/* подложка клетки — картинка под содержимым (isolation: своя стопка слоёв, z-index: -1 не уходит под соседей) */
body.rd .rd-cell { isolation: isolate; }
body.rd .rd-cell-fx { position: absolute; inset: 0; z-index: -1; border-radius: inherit; overflow: hidden; pointer-events: none; }
/* 27.10: подложка — тоже <img> внутри .item-cell, общее правило .item-cell img (скругление 12px, рамка, тень)
   её не касается: углы как у прежнего фона клетки (владелец: «были острые»), как у .rd-cell-art img ниже */
body.rd .rd-cell-fx img { width: 100%; height: 100%; object-fit: cover; display: block; border: 0; border-radius: 0; box-shadow: none; }
body.rd .rd-cell-art { display: block; width: 100%; aspect-ratio: 1; border-radius: 2px; overflow: hidden; box-shadow: 0 2px 0 rgba(0, 0, 0, .25); }
body.rd .rd-cell-art img { width: 100%; height: 100%; object-fit: cover; display: block; border: 0; border-radius: 0; box-shadow: none; }
body.rd .rd-cell .n { margin-top: 6px; font: 800 11.5px/1 var(--rd-f-title); color: var(--rd-ink); text-align: center; min-height: 24px; display: flex; align-items: center;
    hyphens: auto; -webkit-hyphens: auto; }
body.rd .rd-cell-t4 .n { color: var(--rd-cream); }

/* головы покупателей без серой подложки, целиком, без искажения */
body.rd .rd-piece .buyer-row .counter-head { background: none; border-radius: 0; object-fit: contain; }

/* ===== Сборка: этапы, связанные пунктиром (как маршрут на официальной странице), записка автора ===== */
body.rd .rd-bd-title { font: 800 26px/1.05 var(--rd-f-title); color: var(--rd-cream); margin-top: 6px; }
body.rd .rd-t-note > .rd-paper { background: #ebdfc8; }
body.rd .rd-t-note > .rd-paper-sh { background: rgba(0, 0, 0, .4); }
body.rd .rd-t-note.rd-piece, body.rd .rd-t-note.rd-piece b { color: #2a241b; text-shadow: none; }
body.rd .rd-t-note.rd-piece { font: 500 14px/1.5 var(--rd-f-body); white-space: pre-line; transform: rotate(-.6deg); margin-top: 22px; padding-top: 22px; }
body.rd .rd-note-k { position: absolute !important; top: -12px; left: 12px; z-index: 3; white-space: normal; }
body.rd .rd-stage { position: relative; margin: 22px 0 0; padding: 0 0 4px 34px; background: none !important; border: 0 !important; box-shadow: none !important; }
body.rd .rd-stage::before { content: ""; position: absolute; left: 13px; top: 30px; bottom: var(--route-end, -22px); border-left: 2px dashed rgba(246, 239, 224, .26); }
/* отвод от линии маршрута к ряду — той же толщины, упирается в первую клетку ряда */
body.rd .rd-branch { position: absolute; left: 15px; width: 17px; border-top: 2px dashed rgba(246, 239, 224, .26); pointer-events: none; }
body.rd .rd-order .bd-order-wrap { position: relative; z-index: 1; }
body.rd .rd-stage .bd-cat-head { margin: 0 0 10px; }
body.rd .rd-stage .bd-cat-name { display: flex; align-items: center; gap: 10px; margin-left: -34px; }
body.rd .rd-stage .rd-badge { width: 28px; height: 28px; flex: none; }
body.rd .rd-stage .rd-badge b { font-size: 13px; }
body.rd .rd-stage-t { display: flex; flex-direction: column; gap: 3px; min-width: 0; }
body.rd .rd-stage-t small { font: 400 10px/1 var(--rd-f-st); letter-spacing: .1em; text-transform: uppercase; color: #8d96a8; }
body.rd .rd-stage-t b { font: 800 20px/1.05 var(--rd-f-title); color: var(--rd-cream); }
body.rd .rd-stage .bd-cat-desc { margin-top: 6px; font: 400 13px/1.4 var(--rd-f-body); color: #a9b1c1; }
body.rd .rd-stage .bd-item-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px 8px; }
body.rd .rd-bd-cell { cursor: pointer; }
body.rd .rd-cost { position: absolute; top: -6px; right: -5px; z-index: 2; padding: 3px 5px 2px; background: #6be3b0; color: var(--rd-ink);
    font: 400 9.5px/1 var(--rd-f-st); transform: rotate(6deg); box-shadow: 2px 2px 0 rgba(0, 0, 0, .25);
    clip-path: polygon(0 8%, 100% 0, 97% 100%, 3% 92%); }

/* ===== партия 4 ===== */
/* шапка героя: имя, под ним ярлыки строкой */
body.rd .rd-tags { margin-top: -2px; }

/* комментарии */
body.rd .rd-c-h { font-size: 0; margin: 26px 0 10px -4px !important; }
body.rd .comments-composer-inline.rd-piece { padding: 12px; }
body.rd .comments-composer-inline .comment-input { background: rgba(10, 12, 16, .35); border: 1px dashed rgba(246, 239, 224, .35); border-radius: 3px; color: var(--rd-cream);
    font: 500 14px/1.4 var(--rd-f-body); }
body.rd .comments-composer-inline .comment-input::placeholder { color: rgba(246, 239, 224, .6); }
body.rd #inlineCommentsList .empty { font: 500 13px/1.4 var(--rd-f-body); color: #8d96a8; }

/* шапка сборки — бумажка со всем про сборку */
body.rd .bd-header-row { justify-content: flex-start; }
body.rd .rd-bd-head { margin-top: 10px; padding: 18px 14px 16px; display: flex; flex-direction: column; gap: 10px; }
body.rd .rd-bd-kick { display: flex; gap: 6px; flex-wrap: wrap; margin: -26px 0 0 -6px; }
body.rd .rd-bd-head .rd-bd-title { font: 800 24px/1.05 var(--rd-f-title); color: var(--rd-cream); overflow-wrap: anywhere; }
body.rd .rd-bd-meta { display: flex; flex-wrap: wrap; gap: 6px; }
body.rd .rd-bd-chip { display: inline-flex; align-items: center; gap: 5px; height: 26px; padding: 0 9px; border-radius: 3px; background: rgba(0, 0, 0, .35);
    border: 1px solid rgba(255, 255, 255, .08); color: #b9c0cf; font: 500 12.5px/1 var(--rd-f-body); }
body.rd .rd-bd-chip svg { width: 13px; height: 13px; flex: none; }
body.rd .rd-bd-chip b { color: var(--rd-cream); font-weight: 700; }
body.rd .rd-bd-author a.link { color: var(--rd-weapon); font-weight: 700; text-decoration: underline dashed; text-underline-offset: 3px; }
body.rd .rd-bd-act { display: flex; }
body.rd .rd-bd-share { margin: 2px 0 0 !important; height: 36px !important; padding: 0 16px !important; }
body.rd .rd-bd-share svg { width: 15px; height: 15px; order: -1; }
/* порядок прокачки — последним этапом */
body.rd .rd-order .bd-order-wrap { background: none; border: 0; padding: 0; margin: 0; }
body.rd .rd-order .bd-order-table { border-collapse: separate; border-spacing: 0; }
body.rd .rd-order .bd-order-table th, body.rd .rd-order .bd-order-table td { background: none !important; border: 0 !important; border-bottom: 1px dashed rgba(246, 239, 224, .14) !important; }
body.rd .rd-order .bd-order-table th i { font: 400 10px/1 var(--rd-f-st); color: #8d96a8; font-style: normal; }
body.rd .rd-order .bd-order-ability span { font: 600 12px/1.15 var(--rd-f-body); color: var(--rd-cream); }
body.rd .rd-order .bd-order-ability img { filter: none; }
body.rd .bd-pick-tier { width: 20px !important; height: 20px !important; border: 0 !important; border-radius: 0 !important; background: var(--rd-mint) !important;
    -webkit-mask: url("badge_circle_1.webp") center / 100% 100%; mask: url("badge_circle_1.webp") center / 100% 100%; display: inline-flex; align-items: center; justify-content: center; }
body.rd .bd-pick-tier.rd-pk2 { -webkit-mask-image: url("badge_circle_2.webp"); mask-image: url("badge_circle_2.webp"); }
body.rd .bd-pick-tier i { font: 400 10px/1 var(--rd-f-st) !important; color: var(--rd-ink) !important; font-style: normal; padding-top: 1px; }
body.rd .bd-pick-unlock { width: 14px !important; height: 14px !important; border-radius: 0 !important; background: var(--rd-weapon) !important;
    -webkit-mask: url("icons/ap_icon.svg") center / contain no-repeat; mask: url("icons/ap_icon.svg") center / contain no-repeat; }
body.rd .rd-order .bd-order-legend { font: 500 12px/1.3 var(--rd-f-body); color: #8d96a8; margin-top: 10px; }

/* ===== Главная ===== */
body.rd .rd-home .h2-hi small { font: 400 10.5px/1 var(--rd-f-st); letter-spacing: .1em; text-transform: uppercase; color: #8d96a8; }
body.rd .rd-home .h2-hi b { font: 800 28px/1 var(--rd-f-title); color: var(--rd-cream); }
body.rd .rd-home .h2-rank { border-radius: 2px; background: #2a303d; border: 0; transform: rotate(2deg); box-shadow: 4px 4px 0 rgba(0, 0, 0, .25);
    clip-path: polygon(0 6%, 100% 0, 98% 100%, 2% 94%); }
body.rd .rd-home .h2-rank span { color: #fff; font: 400 13px/1 var(--rd-f-st); }
/* патч: снимок в светлой рамке с наклоном, наклейка даты на углу, заголовок под снимком */
body.rd .rd-home .h2-bar .lab { font: 600 14px/1 var(--rd-f-body); }
/* последний матч — тёмная рваная бумага, портрет в рамке */
body.rd .rd-home .h2-card.rd-piece { padding: 14px 14px 6px; }
body.rd .rd-home .h2-card-mood { border: 4px solid var(--rd-paper); border-radius: 2px !important; transform: rotate(-3deg); box-shadow: 4px 5px 0 rgba(0, 0, 0, .3); }
body.rd .rd-home .h2-card-main small { font-size: 0; }
body.rd .rd-home .h2-card-main b { font: 800 22px/1.1 var(--rd-f-title); }
body.rd .rd-home .h2-card-main span { font: 500 13px/1.3 var(--rd-f-body); }
body.rd .rd-home .h2-bar { border-top: 1px dashed rgba(246, 239, 224, .2); background: none; }
/* «Мета сейчас»: снимки на столе — светлые рамки, разный наклон, «мятые» номера */
body.rd .rd-home .h2-sec h3 { font-size: 0; margin-left: -4px; }
body.rd .rd-home .h2-meta { gap: 10px; }
body.rd .rd-home .h2-hcard { border: 5px solid var(--rd-paper); border-radius: 2px; box-shadow: 5px 6px 0 rgba(0, 0, 0, .3); overflow: visible; }
body.rd .rd-home .h2-hcard:nth-child(1) { transform: rotate(-2deg); }
body.rd .rd-home .h2-hcard:nth-child(2) { transform: rotate(1.4deg) translateY(4px); }
body.rd .rd-home .h2-hcard:nth-child(3) { transform: rotate(-1deg); }
body.rd .rd-home .h2-hcard .rd-badge { position: absolute; top: -10px; left: -10px; width: 30px; height: 30px; z-index: 3; }
body.rd .rd-home .h2-hcard .rd-badge b { font-size: 13px; }
body.rd .rd-home .h2-hcard .nm { font: 800 17px/1.05 var(--rd-f-title); }
body.rd .rd-bd-share span { display: inline !important; }
body.rd .rd-bd-share, body.rd .rd-bd-share span { color: #0c0e13 !important; background: linear-gradient(180deg, #f0c063, #c98d2c) !important; border: 0 !important; }

/* ===== партия 5 ===== */
/* кнопка отправки комментария — «мятый» кружок цвета типа предмета */
body.rd .comments-composer-inline .comment-send-btn { border-radius: 0; background: var(--rd-mint);
    -webkit-mask: url("badge_circle_1.webp") center / 100% 100%; mask: url("badge_circle_1.webp") center / 100% 100%; color: var(--rd-ink); box-shadow: none; }
body.rd .rd-t-weapon.comments-composer-inline .comment-send-btn { background: var(--rd-weapon); }
body.rd .rd-t-vitality.comments-composer-inline .comment-send-btn { background: var(--rd-green); }
body.rd .rd-t-spirit.comments-composer-inline .comment-send-btn { background: var(--rd-spirit); }

/* талончики вместо полос со стрелкой: бумажный билет с вырезами по краям */
body.rd .rd-home .h2-bar { display: inline-flex !important; align-items: center; gap: 8px; width: auto !important; height: 36px; margin: 12px 0 6px;
    padding: 0 18px !important; border: 0 !important; background: #ebdfc8 !important; color: var(--rd-ink) !important; transform: rotate(-1.2deg);
    -webkit-mask: radial-gradient(circle 7px at 0 50%, transparent 98%, #000) left / 51% 100% no-repeat, radial-gradient(circle 7px at 100% 50%, transparent 98%, #000) right / 51% 100% no-repeat;
    mask: radial-gradient(circle 7px at 0 50%, transparent 98%, #000) left / 51% 100% no-repeat, radial-gradient(circle 7px at 100% 50%, transparent 98%, #000) right / 51% 100% no-repeat; }
body.rd .rd-home .h2-bar svg { color: var(--rd-ink); width: 16px; height: 16px; }
body.rd .rd-home .h2-bar .lab { color: var(--rd-ink) !important; font: 400 12.5px/1 var(--rd-f-st) !important; text-transform: uppercase; letter-spacing: .04em; }
body.rd .rd-home .h2-bar .go { display: none !important; }
body.rd .rd-home .h2-bar { margin-left: 4px; }
/* последний матч: портрет-открытка крупнее, левее, рамкой выходит за край листа; наклейка выше имени */
body.rd .rd-home .h2-card.rd-piece { overflow: visible; padding: 16px 14px 8px; }
body.rd .rd-home .h2-card-top { overflow: visible; }
body.rd .rd-home .h2-card-mood { width: 96px !important; height: 112px !important; margin: -26px 0 -6px -26px; border-width: 5px; transform: rotate(-5deg); position: relative; z-index: 3; }
body.rd .rd-home .h2-card-main { position: relative; }
body.rd .rd-home .h2-card-main > small { position: absolute; top: -30px; left: -2px; }
/* «Мета сейчас»: номера внутри снимка, наклон без выхода за экран */
body.rd .rd-home .h2-meta { padding: 8px 6px 4px; }
body.rd .rd-home .h2-hcard .rd-badge { top: -8px; left: -6px; }

/* сетка героев — постеры */
body.rd .hero-grid { gap: 14px 12px; }
body.rd .rd-poster { position: relative; aspect-ratio: 4 / 5; border: 5px solid var(--rd-paper); border-radius: 2px !important; overflow: hidden; background: #141822;
    transform: rotate(var(--rot)); box-shadow: 6px 7px 0 rgba(0, 0, 0, .3) !important; }
body.rd .rd-poster img.rd-po-bg { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: .75; }
body.rd .rd-poster img.rd-po-hero { position: absolute; left: 50%; bottom: 0; width: auto !important; height: 112% !important; max-width: none; transform: translateX(-50%); object-fit: contain !important; }
body.rd .rd-poster::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 52%, rgba(10, 12, 16, .88)); pointer-events: none; }
body.rd .rd-po-role { position: absolute; top: 8px; left: 6px; z-index: 2; }
body.rd .rd-po-logo { position: absolute; left: 8px; right: 8px; bottom: 8px; z-index: 2; width: auto !important; height: auto !important; max-height: 38px; max-width: calc(100% - 16px);
    object-fit: contain !important; object-position: left bottom; filter: drop-shadow(0 2px 4px rgba(0, 0, 0, .9)); }
body.rd .rd-po-name { position: absolute; left: 8px; bottom: 8px; z-index: 2; font: 800 20px/1 var(--rd-f-title); color: #fff; }

/* ===== партия 6: Патчи, Мета, Винрейт, Лидерборд ===== */
/* Патчи: лента пунктиром, кружки «мятые», дата — наклейка, патч — тёмная рваная бумага, картинки в рамках */
body.rd .rd-tl .patch-timeline-line { background: none !important; border-left: 2px dashed rgba(246, 239, 224, .22); width: 0 !important; }
body.rd .rd-tl .rd-dot { width: auto !important; height: auto !important; background: none !important; box-shadow: none !important; }
body.rd .rd-tl .rd-dot .rd-badge { width: 18px; height: 18px; }
body.rd .rd-tl .patch-timeline-date { margin-bottom: 8px; }
body.rd .rd-tl .patch.rd-piece { padding: 16px 14px 10px; }
body.rd .rd-tl .patch .patch-img, body.rd .rd-tl .patch img.kew-img { border: 5px solid var(--rd-paper); border-radius: 2px; transform: rotate(-.8deg); box-shadow: 5px 6px 0 rgba(0, 0, 0, .3); }
body.rd .rd-tl .patch-title, body.rd .rd-tl .patch h2, body.rd .rd-tl .patch .ph-title { font-family: var(--rd-f-title); font-weight: 800; }
body.rd .rd-tl .patch .comments-btn { background: rgba(0, 0, 0, .3); border: 1px dashed rgba(246, 239, 224, .22); border-radius: 3px; }
body.rd .patch-sub { border-radius: 3px; background: #1d2230 url("paper_dark.webp"); background-size: 256px; border: 0; box-shadow: 5px 6px 0 rgba(0, 0, 0, .3); transform: rotate(-.4deg); }

/* Мета: снимки в рамках */
body.rd .rd-mf .mf-head b { font: 800 30px/1 var(--rd-f-title); color: var(--rd-cream); }
body.rd .rd-mf .mf-head small { font: 400 10.5px/1 var(--rd-f-st); letter-spacing: .1em; text-transform: uppercase; color: #8d96a8; }
body.rd .rd-mf .mf-big, body.rd .rd-mf .mf-tile { border: 5px solid var(--rd-paper) !important; border-radius: 3px !important; box-shadow: 6px 7px 0 rgba(0, 0, 0, .3); }
body.rd .rd-mf .mf-big::after { border: 0 !important; }
body.rd .rd-mf .mf-big-hero { clip-path: inset(0 0 0 0 round 0) !important; }
body.rd .rd-mf .mf-big { transform: rotate(-.6deg); }
body.rd .rd-mf #mfBoard { transform: rotate(.5deg); }
body.rd .rd-mf #mfMap { transform: rotate(-.4deg); }
body.rd .rd-mf #mfRandom { transform: rotate(.4deg); }
body.rd .rd-mf .mf-grid .mf-tile:nth-child(1) { transform: rotate(-.9deg); }
body.rd .rd-mf .mf-grid .mf-tile:nth-child(2) { transform: rotate(.8deg); }
body.rd .rd-mf .mf-txt b { font-family: var(--rd-f-title) !important; font-weight: 800 !important; }
body.rd .rd-mf .mf-txt small { font-family: var(--rd-f-body) !important; }
body.rd .rd-mf .mf-soon { font-family: var(--rd-f-st) !important; border-radius: 2px !important; background: var(--rd-paper) !important; color: var(--rd-ink) !important; transform: rotate(4deg); }

/* Винрейт и Лидерборд */
body.rd .rd-rhead b { font: 800 26px/1.05 var(--rd-f-title) !important; color: var(--rd-cream); }
body.rd .rd-rhead small { font: 500 12.5px/1.3 var(--rd-f-body) !important; }
body.rd .rd-strip { border: 0 !important; border-radius: 0 !important; box-shadow: none !important; margin-top: 6px; background: #1b202c url("paper_dark.webp") !important; background-size: 256px !important; }
body.rd .rd-strip:nth-child(odd) { transform: rotate(-.25deg); }
body.rd .rd-strip:nth-child(even) { transform: rotate(.2deg); }
body.rd .rd-strip > .rd-badge { width: 26px; height: 26px; flex: none; }
body.rd .rd-strip > .rd-badge b { font-size: 12px; }
body.rd .rd-strip .tier-name, body.rd .rd-strip .lb-main > b { font-family: var(--rd-f-body); font-weight: 700; }
body.rd .rd-strip .tier-wr { font-family: var(--rd-f-body); font-weight: 700; }
body.rd .rd-strip .tier-head { border-radius: 2px; border: 2px solid var(--rd-paper); }
body.rd .lb-row.rd-strip.top { background-color: #2a2717 !important; }
/* переключатели регионов/рангов — наклейки */
body.rd .mf-seg button { border-radius: 2px !important; font-family: var(--rd-f-st) !important; font-weight: 400 !important; font-size: 11px !important;
    clip-path: polygon(0 8%, 100% 0, 98% 100%, 2% 92%); border: 0 !important; background: #262c38 !important; color: #b9c0cf !important; }
body.rd .mf-seg button.on { background: var(--rd-orange, #dd6638) !important; color: var(--rd-ink) !important; }
body.rd .tr-rank { border-radius: 3px !important; }
body.rd .tr-rank.on { box-shadow: 0 0 0 2px var(--rd-mint) inset !important; }
/* наведение (компьютер): старое золотое кольцо вокруг картинки предмета из style.css — не из этого стиля
   (владелец, 11.10: «убери наводку на предмет, осталось от старого интерфейса»); вместо него карточка чуть приподнимается */
@media (hover: hover) and (pointer: fine) {
    body.rd .rd-cell img, body.rd .rd-cell:hover img { outline: 0 !important; border-color: transparent !important; }
    body.rd .rd-cell { transition: translate .18s ease, filter .18s ease; }
    body.rd .rd-cell:hover { translate: 0 -3px; filter: drop-shadow(3px 5px 0 rgba(0, 0, 0, .35)); }
}

/* ===== Партия 7 (08.10.2026): весь мини-апп кроме Профиля, каждый экран — свой приём ===== */
/* Шрифты по ролям — ВЕЗДЕ одинаково: наклейка — Days One, заголовок — Alegreya 800, текст — Jost,
   печатная машинка (только Патчи) — PT Mono, записки от руки — Caveat. */
body.rd .rd-st-in { font-family: "Days One", "Exo 2", sans-serif !important; font-weight: 400 !important; letter-spacing: .03em !important; }
/* тёмный текст — без тени (общая тень #view давала «грязь» у тёмных надписей) */
body.rd #view .rd-st-in, body.rd #view .rd-cell .n, body.rd #view .rd-t-note, body.rd #view .rd-t-note *, body.rd #view .rd-sheet, body.rd #view .rd-sheet *,
body.rd #view .rd-note, body.rd #view .rd-note *, body.rd #view .rd-clipping, body.rd #view .rd-clipping *, body.rd #view .rd-paper-news, body.rd #view .rd-paper-news *,
body.rd #view .rd-file-name, body.rd #view .rd-ticket, body.rd #view .rd-ticket *, body.rd #view .rd-newspaper, body.rd #view .rd-newspaper * { text-shadow: none !important; }

/* ---------- фон по вкладкам: 4 слоя, видим один, плавная смена ---------- */
.rd-bgs { position: fixed; inset: 0; z-index: 0; pointer-events: none; }
.rd-bg { position: absolute; inset: 0; opacity: 0; transition: opacity .5s ease; background-size: cover; background-position: center; }
.rd-bg-home { background: radial-gradient(120% 60% at 50% 0%, rgba(221, 102, 56, .16), transparent 60%), linear-gradient(180deg, #14171f, #0e1016); }
.rd-bg-arsenal { background: linear-gradient(180deg, rgba(14, 16, 22, .55), #0e1016 70%), url("shop_bg_weapon.webp") center top / 140% auto no-repeat, #0e1016; }
.rd-bg-meta { background: radial-gradient(90% 50% at 80% 10%, rgba(96, 205, 227, .14), transparent 60%), linear-gradient(180deg, #121620, #0d0f15); }
.rd-bg-patches { background: radial-gradient(80% 40% at 50% 100%, rgba(255, 225, 77, .08), transparent 70%), linear-gradient(180deg, #1a1612, #100e0c); }
body.rd[data-rdtab="home"] .rd-bg-home, body.rd[data-rdtab="arsenal"] .rd-bg-arsenal, body.rd[data-rdtab="meta"] .rd-bg-meta, body.rd[data-rdtab="patches"] .rd-bg-patches { opacity: 1; }
@media (prefers-reduced-motion: reduce) { .rd-bg { transition: none; } }

/* ---------- таббар: полоса тёмной бумаги, активная вкладка — наклейка ---------- */
body.rd #tabbar-inner { border-radius: 3px; border: 0; background: #1a1f2a url("paper_dark.webp"); background-size: 256px; box-shadow: 6px 7px 0 rgba(0, 0, 0, .35);
    clip-path: polygon(0 4%, 100% 0, 99.6% 100%, .4% 96%); }
body.rd #tabbar-inner::before { border-radius: 2px; background: #dd6638; clip-path: polygon(3% 8%, 98% 0, 96% 94%, 0 100%); }
body.rd .tab { font-family: "Days One", sans-serif; font-weight: 400; font-size: 9.5px; letter-spacing: .02em; text-transform: uppercase; color: #b9b2a2; }
body.rd .tab.active { color: #121d22; }
body.rd #searchbar-row input, body.rd .search-toggle-btn, body.rd .subtab { border-radius: 3px !important; }
/* ---------- Сетка героев: фото на скотче, 3 в ряд ---------- */
body.rd .hero-grid { grid-template-columns: repeat(3, 1fr) !important; gap: 18px 10px !important; }
body.rd .rd-file { position: relative; aspect-ratio: auto !important; height: auto !important; background: none !important; border: 0 !important; box-shadow: none !important; overflow: visible !important;
    rotate: var(--rot); display: flex; flex-direction: column; align-items: center; }
body.rd .rd-file-photo { display: block; width: 100%; aspect-ratio: 280 / 380; border: 4px solid #efe3cc; border-bottom-width: 26px; background: #1d2230; box-shadow: 3px 4px 0 rgba(0, 0, 0, .35); overflow: hidden; }
/* портрет целиком в родной пропорции (280×380): никому не режет макушку/подбородок (владелец, 11.10: Haze, Celeste) */
body.rd .rd-file-photo img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 50%; display: block; }
body.rd .rd-tape { position: absolute; top: -7px; left: 50%; width: 46%; height: 14px; transform: translateX(-50%) rotate(var(--tape)); background: rgba(239, 227, 204, .55);
    box-shadow: 0 1px 0 rgba(0, 0, 0, .1); clip-path: polygon(3% 0, 97% 8%, 100% 100%, 0 92%); }
/* подпись на полароиде — от руки (роль «записка» = Caveat), как подписывают фото */
body.rd .rd-file-name { position: absolute; left: 4px; right: 4px; bottom: 1px; height: 24px; display: flex; align-items: center; justify-content: center; font: 700 17px/1 "Caveat", cursive;
    color: #1c2a33; letter-spacing: 0; white-space: nowrap; overflow: hidden; transform: rotate(-1.5deg); }

/* ---------- Карточка героя: советы — записки, ряды — билетики, история — газета ---------- */
body.rd .rd-note { position: relative; margin: 10px 4px !important; padding: 14px 12px 12px !important; background: #fff1a6 !important; color: #2a2620 !important; transform: rotate(var(--rot));
    font: 600 18px/1.25 "Caveat", cursive !important; box-shadow: 3px 4px 0 rgba(0, 0, 0, .25); border: 0 !important; }
body.rd .rd-note::before { content: ""; position: absolute; top: -6px; left: 50%; width: 40%; height: 12px; transform: translateX(-50%) rotate(-2deg); background: rgba(239, 227, 204, .6); }
body.rd .rd-note a, body.rd .rd-note .skill-link, body.rd .rd-note [class*="link"] { color: #a33a1f !important; font-family: inherit !important; }
/* партия 8 (11.10): остальное из партии 7 вырезано — владелец забраковал; новое в p8.css */

/* ===== Партия 7б (11.10.2026): Винрейт и Арсенал заново + чистка багов партии 7 ===== */

/* --- фон магазина из игры НЕ используется нигде (DESIGN.md) --- */
.rd-bg-arsenal { background: radial-gradient(100% 40% at 50% 0%, rgba(240, 166, 64, .12), transparent 65%), linear-gradient(180deg, #15130f, #0e0d0b) !important; }
body.rd .rd-catalog, body.rd .rd-catalog-cover { background: #ece3cf !important; }
body.rd .rd-catalog::after { background: linear-gradient(180deg, transparent 45%, rgba(236, 227, 207, .96)) !important; }
body.rd .rd-catalog .mf-txt b, body.rd .rd-catalog .mf-txt small { color: #1c1915 !important; }
body.rd .rd-awning { display: none !important; }

/* ================= АРСЕНАЛ ================= */
body.rd .ar-hide { display: none !important; }
body.rd .ar { margin: 4px 0 16px; display: flex; flex-direction: column; gap: 12px; }
body.rd .ar-cats { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; }
body.rd .ar-cat { height: 66px; padding: 8px 4px 6px; border: 0; cursor: pointer; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 7px;
    background: #20252f; color: #b9b2a2; transition: transform .15s, background .15s; }
body.rd .ar-cat .ar-glyph { width: 24px; height: 24px; flex: none; background: var(--ac); -webkit-mask-size: contain; mask-size: contain; -webkit-mask-repeat: no-repeat; mask-repeat: no-repeat;
    -webkit-mask-position: center; mask-position: center; }
body.rd .ar-cat .ar-all { -webkit-mask: none; mask: none; background: none; display: grid; grid-template-columns: 1fr 1fr; gap: 3px; padding: 2px; }
body.rd .ar-cat .ar-all b { background: var(--ac); border-radius: 1px; }
body.rd .ar-cat span { font: 400 9.5px/1 "Days One", sans-serif; text-transform: uppercase; letter-spacing: .02em; white-space: nowrap; }
body.rd .ar-cat.on { background: var(--ac); color: #121d22; transform: rotate(var(--rot)) translateY(-2px); filter: drop-shadow(4px 4px 0 rgba(0, 0, 0, .3)); }
body.rd .ar-cat.on .ar-glyph, body.rd .ar-cat.on .ar-all b { background: #121d22; }
body.rd .ar-tiers { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 6px; }
body.rd .ar-tier, body.rd .ar-act { height: 44px; padding: 3px 2px 0; border: 0; cursor: pointer; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 4px;
    background: #20252f; color: #b9b2a2; }
body.rd .ar-tier b, body.rd .ar-act b { font: 400 13px/1 "Days One", sans-serif; color: #f6efe0; }
body.rd .ar-tier small, body.rd .ar-act small { font: 500 10px/1 "Jost", sans-serif; color: #8d96a8; }
body.rd .ar-tier.on { background: #efe3cc; transform: rotate(-2deg); }
body.rd .ar-tier.on b, body.rd .ar-tier.on small { color: #121d22; }
body.rd .ar-act b { font-size: 11px; }
body.rd .ar-act.on { background: #dd6638; transform: rotate(2deg); }
body.rd .ar-act.on b, body.rd .ar-act.on small { color: #121d22; }
body.rd .item-grid[data-shop] { padding: 0 !important; background: none !important; box-shadow: none !important; }

/* ================= ВИНРЕЙТ ================= */
body.rd .tw-head-b { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 12px; margin: 4px 2px 12px; }
body.rd .tw-head-b b { font: 800 34px/1 "Alegreya", serif; color: #f6efe0; }
body.rd .tw-sel { display: inline-flex; align-items: center; height: 26px; padding: 2px 12px 0; background: #dd6638; color: #121d22; font: 400 12px/1 "Days One", sans-serif;
    text-transform: uppercase; transform: rotate(-2deg); filter: drop-shadow(3px 3px 0 rgba(0, 0, 0, .25)); }
body.rd .tw-head-b small { flex-basis: 100%; font: 500 12.5px/1.3 "Jost", sans-serif; color: #8d96a8; }
/* лента рангов: значки без коробок, листается вбок; выбранный крупнее и на светлой «пятне» */
body.rd .tw-ranks { display: flex; gap: 2px; overflow-x: auto; margin: 0 -12px 16px; padding: 6px 12px 10px; scrollbar-width: none; }
body.rd .tw-ranks::-webkit-scrollbar { display: none; }
body.rd .tw-rk { flex: none; width: 46px; height: 46px; padding: 0; border: 0 !important; background: none !important; box-shadow: none !important; border-radius: 0 !important;
    display: flex; align-items: center; justify-content: center; cursor: pointer; transition: transform .15s; clip-path: none !important; }
body.rd .tw-rk img { width: 38px; height: 38px; object-fit: contain; filter: grayscale(.85) brightness(.6); transition: filter .15s; }
body.rd .tw-rk .tw-all { font: 400 11px/1 "Days One", sans-serif; text-transform: uppercase; color: #8d96a8; }
body.rd .tw-rk.on { transform: scale(1.18) !important; background: radial-gradient(closest-side, rgba(255, 225, 77, .28), transparent) !important; }
body.rd .tw-rk.on img { filter: none; }
body.rd .tw-rk.on .tw-all { color: #ffe14d; }
/* полки */
body.rd .tw-shelf { position: relative; margin: 0 0 18px; padding-left: 0; }
body.rd .tw-shelf-h { display: flex; align-items: center; gap: 12px; margin: 0 0 8px; }
body.rd .tw-letter { width: 44px; height: 44px; flex: none; display: flex; align-items: center; justify-content: center; background: var(--sc); color: #121d22;
    font: 400 26px/1 "Days One", sans-serif; padding-top: 3px; transform: rotate(var(--rot)); filter: drop-shadow(3px 3px 0 rgba(0, 0, 0, .3)); }
body.rd .tw-shelf-t { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
body.rd .tw-shelf-t b { font: 800 20px/1 "Alegreya", serif; color: #f6efe0; }
body.rd .tw-shelf-t small { font: 500 12px/1 "Jost", sans-serif; color: #8d96a8; }
/* строка: ровная, без старых окон; слева полоса цвета полки */
body.rd .tier-row.tw-row { display: grid !important; grid-template-columns: 22px 36px minmax(0, 1fr) 74px; align-items: center; gap: 10px; margin: 0 0 6px !important;
    padding: 8px 10px 8px 12px !important; background: #191d26 !important; border: 0 !important; border-radius: 0 !important; box-shadow: none !important;
    border-left: 3px solid var(--sc) !important; cursor: pointer; overflow: visible !important; }
body.rd .tw-row::before, body.rd .tw-row::after { display: none !important; }
body.rd .tw-pos { font: 400 12px/1 "Days One", sans-serif; color: #8d96a8; text-align: center; }
body.rd .tw-head { width: 36px; height: 36px; object-fit: cover; border-radius: 2px; background: #232936; }
body.rd .tw-main { display: flex; flex-direction: column; gap: 7px; min-width: 0; }
body.rd .tw-name { font: 700 15px/1.1 "Jost", sans-serif !important; color: #f6efe0 !important; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
body.rd .tw-bar { position: relative; height: 5px; background: #2a303d; }
body.rd .tw-bar i { position: absolute; left: 0; top: 0; bottom: 0; background: var(--sc); }
body.rd .tw-bar em { position: absolute; top: -3px; bottom: -3px; left: 40%; width: 1px; background: rgba(246, 239, 224, .45); }  /* отметка 50% */
body.rd .tw-num { display: grid; grid-template-columns: 12px 1fr; grid-template-rows: auto auto; align-items: center; column-gap: 4px; row-gap: 4px; justify-items: end; }
body.rd .tw-num b { font: 700 15px/1 "Jost", sans-serif; color: #f6efe0; }
body.rd .tw-num small { grid-column: 1 / -1; font: 500 10.5px/1 "Jost", sans-serif; color: #8d96a8; white-space: nowrap; }
body.rd .tw-tr { width: 0; height: 0; border-left: 5px solid transparent; border-right: 5px solid transparent; justify-self: center; }
body.rd .tw-tr.up { border-bottom: 7px solid #97da79; }
body.rd .tw-tr.down { border-top: 7px solid #ed4a4b; }
body.rd .tier-row.tw-row.flash { animation: none; outline: 2px solid #ffe14d; outline-offset: 2px; }

/* --- прочие баги партии 7 --- */
/* Главная: «С возвращением» не налезает на имя; наклейка даты над заголовком */
body.rd .rd-home .h2-hi { display: flex; flex-direction: column; gap: 6px; }
body.rd .rd-home .h2-hi small, body.rd .rd-home .h2-hi b { line-height: 1.1 !important; }
/* Карточка героя: наклейки-заголовки не обрезаются блоками с фоном; названия сборок — до 2 строк */
body.rd .block.bg-block > .rd-h3 { margin-top: -2px !important; }
body.rd .block.bg-block:has(> .rd-h3) { margin-top: 16px !important; }
body.rd .build-row-title { white-space: normal !important; display: -webkit-box !important; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden !important;
    text-overflow: clip !important; line-height: 1.2 !important; }
/* Лидерборд: без размытого водяного знака; ник целиком (переносится), герои крупнее, ранг значком */
body.rd .rd-wm { display: none !important; }
body.rd .lb-row.rd-p7 .lb-rk { display: block !important; width: 34px !important; height: 34px !important; }
body.rd .lb-row.rd-p7 .lb-main { flex: 1; min-width: 0; flex-direction: column !important; align-items: flex-start !important; gap: 6px !important; }
body.rd .lb-row.rd-p7 .lb-main > b { white-space: normal !important; overflow: visible !important; text-overflow: clip !important; overflow-wrap: anywhere; line-height: 1.15; }
body.rd .lb-row.rd-p7 .lb-heroes { display: flex; gap: 4px; }
body.rd .lb-row.rd-p7 .lb-heroes img { width: 28px !important; height: 28px !important; border-radius: 2px !important; }
/* Патчи: зажим-биндер вместо «ланчбокса» */
body.rd .rd-clip { top: -12px !important; width: 58px !important; height: 18px !important; border-radius: 3px 3px 1px 1px !important;
    background: linear-gradient(180deg, #3b3f47, #121418 70%) !important; box-shadow: 0 3px 4px rgba(0, 0, 0, .5), inset 0 1px 0 rgba(255, 255, 255, .25) !important; }
body.rd .rd-clip i { position: absolute; top: -16px !important; width: 16px !important; height: 20px !important; border: 2.5px solid #c9ced6 !important; border-bottom: 0 !important;
    border-radius: 9px 9px 0 0 !important; }
body.rd .rd-clip i:nth-child(1) { left: 8px !important; right: auto !important; transform: rotate(-10deg); }
body.rd .rd-clip i:nth-child(2) { right: 8px !important; left: auto !important; transform: rotate(10deg); }

/* ===== Таблица прокачки — 1 в 1 по рисунку владельца (DESIGN.md §4) =====
   Линия маршрута от кружка этапа идёт вниз и становится ЛЕВОЙ стороной таблицы; сверху и между строками —
   пунктир во всю ширину той же толщины; правой стороны нет; номера уровней — над верхним пунктиром. */
body.rd .rd-order::before { bottom: var(--route-end, 0px) !important; }
body.rd .rd-order .bd-order-wrap { margin: 10px 0 0 -21px !important; padding: 0 !important; border: 0 !important; border-radius: 0 !important; overflow-x: auto; }
body.rd .rd-order .bd-order-table { border-collapse: separate !important; border-spacing: 0 !important; }
body.rd .rd-order .bd-order-table th, body.rd .rd-order .bd-order-table td { border: 0 !important; background: transparent !important; }
body.rd .rd-order .bd-order-table tbody td { border-top: 2px dashed rgba(246, 239, 224, .26) !important; }
body.rd .rd-order .bd-order-table tbody tr:last-child td { border-bottom: 2px dashed rgba(246, 239, 224, .26) !important; }
body.rd .rd-order .bd-order-table tbody td.bd-order-ability { padding-left: 14px !important; }
body.rd .rd-order .bd-order-corner, body.rd .rd-order .bd-order-ability { position: sticky; left: 0; z-index: 2; background: #0f1218 !important; }
body.rd .rd-order .bd-order-legend { margin: 12px 0 0 -6px !important; }
/* правки после второго прогона */
body.rd .ar-cat .ar-all { width: 24px; height: 24px; grid-template-columns: 10px 10px !important; grid-template-rows: 10px 10px; gap: 4px !important; padding: 0 !important; }
body.rd .ar-cat .ar-all b { width: 10px; height: 10px; display: block; }
body.rd .tw-rk img { filter: grayscale(.55) brightness(.9) !important; opacity: .7; }
body.rd .tw-rk.on img { opacity: 1; filter: none !important; }
body.rd .tw-rk.on, body.rd .tw-rk.on:focus { box-shadow: none !important; outline: 0 !important; }
body.rd .build-row-title { height: auto !important; max-height: none !important; margin-bottom: 3px; }
body.rd .rd-lb-rank { flex: none; width: 64px; display: flex; flex-direction: column; align-items: center; gap: 4px; }
body.rd .rd-lb-rank small { font: 400 8.5px/1 "Days One", sans-serif; text-transform: uppercase; color: #b9b2a2; text-align: center; }
body.rd .ar-cat .ar-glyph.ar-all, body.rd .ar-cat.on .ar-glyph.ar-all { background: none !important; }

/* ===== Партия 8 (11.10.2026): разбор партии 7 владельцем. Правила — DESIGN.md «Партия 8» + «Портрет вкуса». ===== */

/* ---------- талончик — единая главная кнопка нового интерфейса ---------- */
body.rd .rd-tk { display: flex !important; align-items: center; justify-content: center; width: max-content !important; min-width: 168px; max-width: 100%; height: 42px !important;
    margin: 14px auto 4px !important; padding: 0 30px !important; border: 0 !important; border-radius: 0 !important; background: #efe3cc !important; color: #121d22 !important;
    box-shadow: none !important; transform: rotate(var(--rot, -1deg)); filter: drop-shadow(3px 4px 0 rgba(0, 0, 0, .3)); cursor: pointer; text-shadow: none !important;
    -webkit-mask: radial-gradient(circle 7px at 0 50%, transparent 98%, #000) left / 51% 100% no-repeat, radial-gradient(circle 7px at 100% 50%, transparent 98%, #000) right / 51% 100% no-repeat;
    mask: radial-gradient(circle 7px at 0 50%, transparent 98%, #000) left / 51% 100% no-repeat, radial-gradient(circle 7px at 100% 50%, transparent 98%, #000) right / 51% 100% no-repeat;
    transition: transform .15s ease; }
body.rd .rd-tk span { font: 400 14px/1 "Days One", sans-serif !important; letter-spacing: .04em; text-transform: uppercase; color: #121d22 !important; padding-top: 2px; }
body.rd .rd-tk svg { display: none !important; }
body.rd .rd-tk:active { transform: rotate(var(--rot, -1deg)) scale(.96); }
body.rd .rd-bd-act .rd-tk { margin: 4px 0 0 !important; }

/* ---------- таблица прокачки: горизонтальные пунктиры = вертикальная линия маршрута (штрих 7/6, 2px, тот же цвет) ---------- */
body.rd { --rd-dash: rgba(246, 239, 224, .3); }
body.rd .rd-stage::before { border-left: 0 !important; width: 2px; background: repeating-linear-gradient(180deg, var(--rd-dash) 0 7px, transparent 7px 13px); }
body.rd .rd-order .bd-order-wrap { position: relative; }
body.rd .rd-order .bd-order-table tbody td, body.rd .rd-order .bd-order-table tbody tr:last-child td { border-top: 0 !important; border-bottom: 0 !important; }
body.rd .rd-hl { position: absolute; left: 0; height: 2px; z-index: 3; pointer-events: none; background: repeating-linear-gradient(90deg, var(--rd-dash) 0 7px, transparent 7px 13px); }

/* ---------- свет фона в предметах — цветом типа ---------- */
.rd-glow { position: fixed; inset: 0; z-index: 1; pointer-events: none; opacity: 0; transition: opacity .45s ease, background .45s ease; }
body.rd[data-rditem="weapon"] .rd-glow { opacity: 1; background: radial-gradient(110% 55% at 50% 0%, rgba(255, 205, 64, .26), transparent 62%), radial-gradient(60% 40% at 100% 100%, rgba(255, 205, 64, .08), transparent 70%); }
body.rd[data-rditem="vitality"] .rd-glow { opacity: 1; background: radial-gradient(110% 55% at 50% 0%, rgba(120, 214, 96, .24), transparent 62%), radial-gradient(60% 40% at 100% 100%, rgba(120, 214, 96, .08), transparent 70%); }
body.rd[data-rditem="spirit"] .rd-glow { opacity: 1; background: radial-gradient(110% 55% at 50% 0%, rgba(176, 126, 255, .28), transparent 62%), radial-gradient(60% 40% at 100% 100%, rgba(176, 126, 255, .09), transparent 70%); }
/* при открытом предмете общий оранжевый свет Арсенала гасим, иначе цвета смешиваются */
body.rd[data-rditem="weapon"] .rd-bg-arsenal, body.rd[data-rditem="vitality"] .rd-bg-arsenal, body.rd[data-rditem="spirit"] .rd-bg-arsenal { background: linear-gradient(180deg, #121318, #0d0e12) !important; }
@media (prefers-reduced-motion: reduce) { .rd-glow { transition: none; } }

/* ---------- верхний ряд «Поиск · Герои · Предметы» — в системе наклеек Арсенала (не старые скруглённые кнопки) ---------- */
body.rd #searchbar-row { height: 44px; padding-top: 2px; }
body.rd:not(.has-subtabbar) #searchbar-row { height: 0; padding: 0; }
body.rd .search-toggle-btn { top: 2px; width: 42px; height: 40px; border: 0 !important; border-radius: 0 !important; background: #20252f !important; color: #f6efe0 !important;
    clip-path: polygon(4% 6%, 100% 0, 96% 100%, 0 94%); }
body.rd .search-toggle-btn.active { background: #efe3cc !important; color: #121d22 !important; }
body.rd .search-toggle-btn svg { width: 19px; height: 19px; stroke-width: 2.2; }
body.rd #subtabbar { top: 2px; left: 50px; gap: 8px; }
body.rd .subtab { height: 40px; border: 0 !important; border-radius: 0 !important; background: #20252f !important; color: #b9b2a2 !important; gap: 8px;
    font: 400 12px/1 "Days One", sans-serif !important; text-transform: uppercase; letter-spacing: .03em; padding-top: 2px; transition: background .18s, color .18s, transform .18s; }
body.rd .subtab:nth-child(1) { clip-path: polygon(0 4%, 98% 0, 100% 100%, 2% 96%); }
body.rd .subtab:nth-child(2) { clip-path: polygon(2% 0, 100% 5%, 98% 96%, 0 100%); }
body.rd .subtab svg { width: 15px; height: 15px; margin-top: -2px; }
body.rd .subtab.active { color: #121d22 !important; }
body.rd .subtab.active:nth-child(1) { background: #dd6638 !important; }
body.rd .subtab.active:nth-child(2) { background: #ffe14d !important; }
body.rd #search { top: 2px; left: 50px; height: 40px; border: 0 !important; border-radius: 0 !important; background: #efe3cc !important; color: #121d22 !important;
    font: 500 15px/1 "Jost", sans-serif !important; clip-path: polygon(0 5%, 100% 0, 99% 100%, 1% 95%); }
body.rd #search::placeholder { color: #6b6457; }
body.rd #search::-webkit-search-cancel-button { background-color: #121d22; }

/* ---------- нити способностей: карточка выезжает из кружка, нити и точки едут с ней (перерисовка в redesign.js followStrings) ---------- */
body.rd-all .rd-kit-anim .rd-strings path { animation: none !important; }

@keyframes rd8Panel { from { opacity: .15; transform: translateY(-14px); } to { opacity: 1; transform: none; } }
/* нити прорисовываются от способности к рамке за то же время (концы при этом едут вместе с рамкой — <animate> в redesign.js) */

@keyframes rd8Draw { from { stroke-dashoffset: 1; } to { stroke-dashoffset: 0; } }
@media (prefers-reduced-motion: reduce) { body.rd-all .rd-strings.draw path, body.rd-all .rd-kit-anim .rd-panel { animation: none !important; } }
@media (prefers-reduced-motion: reduce) { body.rd-all .rd-kit-anim .rd-panel { animation: none !important; } }

/* ---------- Винрейт: полка — наклейка во всю ширину, текст по центру; без полосы; голова — фото-квадрат ---------- */
body.rd .tw-band { display: flex; align-items: center; justify-content: center; gap: 12px; height: 40px; margin: 6px 0 10px; padding-top: 2px; background: var(--sc); color: #121d22;
    transform: rotate(var(--rot)); filter: drop-shadow(4px 4px 0 rgba(0, 0, 0, .25)); }
body.rd .tw-band b { font: 400 24px/1 "Days One", sans-serif; }
body.rd .tw-band span { font: 400 13px/1 "Days One", sans-serif; text-transform: uppercase; letter-spacing: .04em; padding-top: 2px; }
body.rd .tw-shelf { margin-bottom: 22px; }
body.rd .tier-row.tw-row { grid-template-columns: 22px 40px minmax(0, 1fr) auto !important; min-height: 56px; }
body.rd .tw-main { justify-content: center; }
body.rd .tw-name { font-size: 16px !important; }
body.rd .tw-num { grid-template-columns: 12px auto !important; }
body.rd .tw-num b { font-size: 17px !important; color: var(--sc) !important; }

/* ---------- ОДНА форма аватара героя во всём новом интерфейсе: «фото-квадрат» — светлая рамка 2px, без скругления ---------- */
body.rd .tw-head, body.rd .rd-ph { width: 40px; height: 40px; flex: none; object-fit: cover; object-position: 50% 20%; border: 2px solid #efe3cc !important; border-radius: 0 !important;
    background: #232936; box-shadow: 2px 3px 0 rgba(0, 0, 0, .3); }

/* ---------- Лидерборд ---------- */
body.rd .lb8-head { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 12px; margin: 4px 2px 12px; }
body.rd .lb8-head b { font: 800 34px/1 "Alegreya", serif; color: #f6efe0; }
body.rd .lb8-head small { flex-basis: 100%; font: 500 12.5px/1.3 "Jost", sans-serif; color: #8d96a8; }
body.rd .lb8-reg { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 6px; margin: 0 0 16px; }
body.rd .lb8-r { height: 38px; border: 0; padding: 2px 2px 0; background: #20252f; color: #b9b2a2; font: 400 10.5px/1 "Days One", sans-serif; text-transform: uppercase; white-space: nowrap; cursor: pointer;
    transition: transform .15s, background .15s; }
body.rd .lb8-r.on { background: var(--ac); color: #121d22; transform: rotate(var(--rot)) translateY(-2px); filter: drop-shadow(3px 3px 0 rgba(0, 0, 0, .3)); }
body.rd .lb8-list { display: flex; flex-direction: column; gap: 8px; }
/* строка — баннер; справа свет ранга «из-за кадра» перетекает в цвет баннера */
body.rd .lb8-row { --rkc: 246, 239, 224; --bn: #181c25; position: relative; display: flex; align-items: center; gap: 12px; min-height: 74px; padding: 10px 92px 10px 12px;
    background: var(--bn); overflow: hidden; }
body.rd .lb8-row.t1 { --bn: #2a2414; } body.rd .lb8-row.t2 { --bn: #22252c; } body.rd .lb8-row.t3 { --bn: #2a1d16; }
body.rd .lb8-glow { position: absolute; right: -34px; top: 50%; width: 190px; height: 190px; transform: translateY(-50%); pointer-events: none;
    background: radial-gradient(closest-side, rgba(var(--rkc), .5), rgba(var(--rkc), .14) 55%, transparent 100%); }
body.rd .lb8-glow img { position: absolute; inset: 22px; width: calc(100% - 44px); height: calc(100% - 44px); object-fit: contain; transform: rotate(-16deg);
    opacity: .3; filter: brightness(2.2) saturate(.4) blur(.6px); mix-blend-mode: screen; }
body.rd .lb8-row::after { content: ""; position: absolute; inset: 0 0 0 45%; pointer-events: none; background: linear-gradient(90deg, var(--bn), transparent 40%); }
body.rd .lb8-rk { position: absolute; right: 16px; top: 50%; width: 62px; height: 62px; object-fit: contain; transform: translateY(-50%) rotate(-8deg); z-index: 2;
    filter: drop-shadow(0 0 10px rgba(var(--rkc), .55)) drop-shadow(3px 4px 0 rgba(0, 0, 0, .35)); }
body.rd .lb8-pos { position: relative; z-index: 2; flex: none; width: 30px; font: 400 16px/1 "Days One", sans-serif; color: #8d96a8; text-align: center; }
body.rd .lb8-row.top .lb8-pos { color: #121d22; height: 30px; display: flex; align-items: center; justify-content: center; padding-top: 2px;
    background: #ffe14d; clip-path: polygon(6% 4%, 100% 0, 94% 100%, 0 94%); }
body.rd .lb8-row.t2 .lb8-pos { background: #d9dde6; } body.rd .lb8-row.t3 .lb8-pos { background: #e0a070; }
body.rd .lb8-main { position: relative; z-index: 2; flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 7px; }
body.rd .lb8-main b { font: 700 15.5px/1.15 "Jost", sans-serif; color: #f6efe0; overflow-wrap: anywhere; }
body.rd .lb8-heroes { display: flex; gap: 6px; }
body.rd .lb8-heroes .rd-ph { width: 28px; height: 28px; border-width: 1.5px !important; box-shadow: 1.5px 2px 0 rgba(0, 0, 0, .3); }

/* ---------- Сетка героев: фото приколоты к карте города (миникарта из файлов игры), свет от нескольких ламп ---------- */
.rd-wall { position: fixed; inset: 0; z-index: 1; pointer-events: none; opacity: 0; transition: opacity .45s ease;
    background: radial-gradient(38% 26% at 12% 18%, rgba(255, 196, 120, .16), transparent 70%), radial-gradient(40% 28% at 92% 52%, rgba(255, 196, 120, .12), transparent 70%),
        radial-gradient(45% 30% at 30% 92%, rgba(96, 205, 227, .10), transparent 70%), linear-gradient(180deg, #16140f, #0e0d0b); }
.rd-wall i { position: absolute; inset: -12% -30%; background: #efe3cc; opacity: .075; transform: rotate(-8deg);
    -webkit-mask: url("../assets/map/streets.webp") center 30% / 150% auto no-repeat; mask: url("../assets/map/streets.webp") center 30% / 150% auto no-repeat; }
body.rd[data-rdview="heroes"] .rd-wall { opacity: 1; }
@media (prefers-reduced-motion: reduce) { .rd-wall { transition: none; } }

/* ================= КАРТОЧКА ГЕРОЯ ================= */
/* фон героя на всю страницу: фиксированный слой (700px картинку на 4000px не растягиваем — была бы мыльной);
   видео сверху своим нижним растворением перетекает в него */
.rd-herobg { position: fixed; inset: 0; z-index: 1; pointer-events: none; opacity: 0; transition: opacity .45s ease; background: #0c0e12; }
.rd-herobg i { position: absolute; inset: 0; background-size: cover; background-position: 50% 30%; }
.rd-herobg::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(10, 12, 16, .42) 0%, rgba(10, 12, 16, .64) 45%, rgba(10, 12, 16, .76) 100%); }
body.rd[data-rdview="hero"] .rd-herobg { opacity: 1; }
@media (prefers-reduced-motion: reduce) { .rd-herobg { transition: none; } }
#view[data-rdhero] { --hc: 95, 211, 168; }

/* окна-коробки убраны: блоки лежат на фоне страницы; ширина — как у рамки способностей */
body.rd #view[data-rdhero] .block.bg-block, body.rd #view[data-rdhero] #heroPatchNotesBlock > .block { background: none !important; background-image: none !important; border: 0 !important;
    box-shadow: none !important; border-radius: 0 !important; padding: 0 !important; margin: 40px 0 0 !important; overflow: visible !important; }
body.rd #view[data-rdhero] .block.bg-block::before, body.rd #view[data-rdhero] .block.bg-block::after,
body.rd #view[data-rdhero] #heroPatchNotesBlock > .block::before, body.rd #view[data-rdhero] #heroPatchNotesBlock > .block::after { display: none !important; }
/* заголовок раздела — наклейка по центру, крупнее */
body.rd #view[data-rdhero] .block.bg-block > .rd-h3, body.rd #view[data-rdhero] .hc8-notes .rd-h3 { display: flex; justify-content: center; margin: 0 0 14px !important; }
body.rd #view[data-rdhero] .block.bg-block > .rd-h3 .rd-st-in, body.rd #view[data-rdhero] .hc8-notes .rd-h3 .rd-st-in { height: 32px; padding: 3px 18px 0; font-size: 16px; }
body.rd #view[data-rdhero] .hc8-tips .rd-note { margin: 12px 2px !important; }
body.rd #view[data-rdhero] .hc8-hint { margin: -6px 0 10px; text-align: center; font: 500 12.5px/1.35 "Jost", sans-serif; color: rgba(246, 239, 224, .62); }

/* Винрейт — крупная цифра «на столе» */
body.rd .hc8-wr { width: 100%; display: grid; grid-template-columns: 62px 1fr; grid-template-rows: auto auto; column-gap: 16px; row-gap: 8px; align-items: center; padding: 6px 4px 4px;
    border: 0; background: none; text-align: left; cursor: pointer; color: inherit; }
body.rd .hc8-letter { grid-row: 1 / 3; width: 62px; height: 62px; display: flex; align-items: center; justify-content: center; padding-top: 4px; background: var(--sc); color: #121d22;
    font: 400 36px/1 "Days One", sans-serif; transform: rotate(-4deg); filter: drop-shadow(4px 4px 0 rgba(0, 0, 0, .3)); }
body.rd .hc8-big { display: flex; align-items: center; gap: 10px; }
body.rd .hc8-big b { font: 800 46px/1 "Alegreya", serif; color: #f6efe0; letter-spacing: -.01em; }
body.rd .hc8-big .tw-tr { transform: scale(1.5); }
body.rd .hc8-facts { display: flex; flex-wrap: wrap; gap: 6px 14px; font: 500 13px/1 "Jost", sans-serif; color: rgba(246, 239, 224, .7); }
body.rd .hc8-facts b { color: #f6efe0; font-weight: 700; }
body.rd .hc8-go { color: var(--sc); font-weight: 600; }

/* «реестр»: строки разделены пунктиром (штрих как у маршрута сборки), без фона */
body.rd #view[data-rdhero] .hc8-row { display: flex !important; align-items: center; gap: 12px; min-height: 58px; margin: 0 !important; padding: 9px 2px !important; background: none !important;
    border: 0 !important; border-radius: 0 !important; box-shadow: none !important; position: relative; cursor: pointer; }
body.rd #view[data-rdhero] .hc8-row::before { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 2px; background: repeating-linear-gradient(90deg, var(--rd-dash) 0 7px, transparent 7px 13px); }
body.rd #view[data-rdhero] .hc8-row.hc8-last::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 2px;
    background: repeating-linear-gradient(90deg, var(--rd-dash) 0 7px, transparent 7px 13px); }
body.rd #view[data-rdhero] .hc8-row:active { background: rgba(246, 239, 224, .04) !important; }
/* синергии */
body.rd .hc8-pair { position: relative; flex: none; width: 66px; height: 44px; }
body.rd .hc8-pair .rd-ph { position: absolute; top: 2px; left: 0; transform: rotate(-5deg); }
body.rd .hc8-pair .rd-ph2 { left: 24px; top: 2px; transform: rotate(4deg); }
body.rd #view[data-rdhero] .syn-pair { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 4px; }
body.rd #view[data-rdhero] .syn-names { font: 500 15px/1.15 "Jost", sans-serif !important; color: rgba(246, 239, 224, .7) !important; }
body.rd #view[data-rdhero] .syn-names b { font-weight: 700; color: #f6efe0; }
body.rd #view[data-rdhero] .syn-pair small, body.rd #view[data-rdhero] .syn-wr small { font: 500 12px/1 "Jost", sans-serif !important; color: rgba(246, 239, 224, .58) !important; }
body.rd #view[data-rdhero] .syn-wr { display: flex; flex-direction: column; align-items: flex-end; gap: 4px; }
body.rd #view[data-rdhero] .syn-wr .tier-wr { font: 700 18px/1 "Jost", sans-serif !important; color: #97da79 !important; }
/* контрпики */
body.rd .hc8-group { display: flex; flex-direction: column; align-items: center; gap: 6px; margin: 18px 0 8px; }
body.rd .hc8-group:first-of-type { margin-top: 2px; }
body.rd .hc8-group small { font: 500 12px/1.2 "Jost", sans-serif; color: rgba(246, 239, 224, .58); }
body.rd #view[data-rdhero] .hc8-counters .counter-name { flex: 1; font: 700 15.5px/1.1 "Jost", sans-serif !important; color: #f6efe0 !important; }
body.rd #view[data-rdhero] .hc8-counters .counter-delta { font: 700 18px/1 "Jost", sans-serif !important; }
body.rd #view[data-rdhero] .hc8-counters .counter-delta.beat-me { color: #ed4a4b !important; }
body.rd #view[data-rdhero] .hc8-counters .counter-delta.i-beat { color: #60cde3 !important; }
/* популярные сборки */
body.rd #view[data-rdhero] .hc8-builds .rd-badge { flex: none; }
body.rd #view[data-rdhero] .hc8-builds .build-row-main { flex: 1; min-width: 0; }
body.rd #view[data-rdhero] .hc8-builds .build-row-title { font: 600 15px/1.2 "Jost", sans-serif !important; color: #f6efe0 !important; }
body.rd #view[data-rdhero] .hc8-builds .build-row-title .rd-st { margin-left: 4px; transform: rotate(-2deg) scale(.85); }
body.rd #view[data-rdhero] .hc8-builds .build-row-meta { font: 500 12px/1.2 "Jost", sans-serif !important; color: rgba(246, 239, 224, .58) !important; margin-top: 3px; }
body.rd #view[data-rdhero] .hc8-builds .build-row-meta svg { width: 11px; height: 11px; }
body.rd #view[data-rdhero] .hc8-builds .build-row-tags { display: flex; gap: 5px; }
body.rd #view[data-rdhero] .hc8-builds .build-tag-icon { width: 30px !important; height: 30px !important; border-radius: 0 !important; border: 1.5px solid rgba(239, 227, 204, .8);
    background: #1a1e27; padding: 2px; box-shadow: 1.5px 2px 0 rgba(0, 0, 0, .3); }
/* последние изменения — тёмным, обычным шрифтом */
body.rd #view[data-rdhero] .hc8-notes .section-toggle-row { position: relative; display: flex; justify-content: center; }
body.rd #view[data-rdhero] .hc8-notes .section-toggle-row h3 { margin: 0 0 14px !important; }
body.rd #view[data-rdhero] .hc8-notes .expand-chevron { position: absolute; right: 0; top: 2px; width: 32px; height: 30px; display: flex; align-items: center; justify-content: center;
    background: #efe3cc; color: #121d22; clip-path: polygon(6% 4%, 100% 0, 94% 100%, 0 94%); }
body.rd #view[data-rdhero] .hc8-notes .hero-patch-entry { padding: 12px 2px 12px; position: relative; border: 0 !important; background: none !important; }
body.rd #view[data-rdhero] .hc8-notes .hero-patch-entry::before { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 2px; background: repeating-linear-gradient(90deg, var(--rd-dash) 0 7px, transparent 7px 13px); }
body.rd #view[data-rdhero] .hc8-notes .patch-timeline-date { margin: 0 0 8px; }
body.rd #view[data-rdhero] .hc8-notes .body, body.rd #view[data-rdhero] .hc8-notes .body * { font-family: "Jost", sans-serif !important; }
body.rd #view[data-rdhero] .hc8-notes .body { font-size: 14.5px !important; line-height: 1.5 !important; color: rgba(246, 239, 224, .82) !important; }
body.rd #view[data-rdhero] .hc8-notes .body b { color: #f6efe0 !important; }
/* история — текст на фоне, буквица цветом героя, логотип героя подписью */
body.rd #view[data-rdhero] .hc8-history .history-text { font: 400 15px/1.62 "Jost", sans-serif !important; color: rgba(246, 239, 224, .86) !important; text-align: left; padding: 0 2px; }
body.rd #view[data-rdhero] .hc8-history .history-text::first-letter { float: left; font: 800 58px/.82 "Alegreya", serif; margin: 6px 8px 0 0; color: rgb(var(--hc)); }
body.rd #view[data-rdhero] .hc8-history .hero-logo { display: block; max-width: 62%; margin: 18px auto 0; opacity: .92; filter: drop-shadow(3px 4px 0 rgba(0, 0, 0, .35)); }

/* комментарии — в цвет героя */
body.rd #view[data-rdhero] #heroComments .comments-composer-inline .rd-paper { background: rgba(var(--hc), .16) !important; }
body.rd #view[data-rdhero] #heroComments .comment-send, body.rd #view[data-rdhero] #heroComments [class*="send"] { background: rgb(var(--hc)) !important; color: #121d22 !important; }
body.rd #view[data-rdhero] #heroComments > .rd-c-h { display: flex; justify-content: center; margin: 44px 0 14px !important; }
body.rd #view[data-rdhero] #heroComments > .rd-c-h .rd-st-in { height: 32px; padding: 3px 18px 0; font-size: 16px; }

/* ================= ГЛАВНАЯ ================= */
/* шапка: ранг — без «таблетки», значок + надпись наклеечным шрифтом */
/* 25.10 (владелец: «в эскизе за рангом была серая рамочка, сейчас нет; ранг и название криво»): табличка вернулась, значок и надпись — по центру */
body.rd .h8 .h2-rank { background: #2a303d !important; border: 0 !important; box-shadow: 3px 4px 0 rgba(0, 0, 0, .3) !important; padding: 0 12px 0 5px !important; gap: 7px;
    height: 40px; display: flex; align-items: center; rotate: 1.5deg; transform: none !important; clip-path: polygon(0 5%, 100% 0, 98% 100%, 2% 95%) !important; }
body.rd .h8 .h2-rank img { width: 32px; height: 32px; display: block; filter: none; }
body.rd .h8 .h2-rank span { font: 400 12px/1 "Days One", sans-serif !important; text-transform: uppercase; color: #f6efe0 !important; display: block; text-box: trim-both cap alphabetic; }
/* 26.10 (владелец: «пробел между рангом и названием, не на одном уровне»): табличка ровная (поворот 1,5° поднимал надпись
   над значком), значок — обрезанный по рисунку (ranks_trim: у Initiate в исходнике поля 76 px слева и 71 сверху — он
   казался мелким, ниже и дальше от надписи) */
body.rd .h8 .h2-rank { rotate: 0deg !important; gap: 8px; padding: 0 13px 0 7px !important; }
body.rd .h8 .h2-rank img { width: 28px; height: 28px; }

/* патч: фото на скотче + напечатанный листок */
body.rd .mc8-go { display: flex; align-items: center; justify-content: center; min-width: 180px; height: 40px; margin: 16px auto 0; padding: 0 26px; border: 0; cursor: pointer;
    background: #23201b; transform: rotate(-.8deg);
    -webkit-mask: radial-gradient(circle 7px at 0 50%, transparent 98%, #000) left / 51% 100% no-repeat, radial-gradient(circle 7px at 100% 50%, transparent 98%, #000) right / 51% 100% no-repeat;
    mask: radial-gradient(circle 7px at 0 50%, transparent 98%, #000) left / 51% 100% no-repeat, radial-gradient(circle 7px at 100% 50%, transparent 98%, #000) right / 51% 100% no-repeat; }
body.rd .mc8-go span { font: 400 13px/1 "Days One", sans-serif; text-transform: uppercase; letter-spacing: .04em; color: #eee4cd; padding-top: 2px; }
body.rd .mc8-go:active { transform: rotate(-.8deg) scale(.96); }

/* последний матч — письмо: конверт авиапочты */
/* марка: портрет героя в зубчатом крае */
/* зубцы по краю: фон марки — бумага с дырочками на шаге 9px, картинка закрывает середину, дырочки остаются только на кромке */
/* почтовый штемпель итога — круг с волнистыми линиями поверх угла марки */
/* поля анкеты — машинкой по пунктирной линии */
/* новость — на столе, без белой вырезки */
body.rd .nw8 { margin: 10px 0 18px; padding: 0 2px; }
body.rd .nw8-photo { position: relative; aspect-ratio: 16 / 9; border: 6px solid #efe3cc; background: #1a1e27; transform: rotate(var(--rot, -1deg)); box-shadow: 4px 6px 0 rgba(0, 0, 0, .35); margin: 8px 6px 16px; }
body.rd .nw8-photo img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 22%; display: block; border-radius: 0 !important; }
body.rd .nw8-meta { display: flex; align-items: center; gap: 12px; }
body.rd .nw8-meta > span { font: 500 12.5px/1 "Jost", sans-serif; color: rgba(246, 239, 224, .6); }
body.rd .nw8-title { display: block; margin: 12px 0 8px; font: 800 26px/1.08 "Alegreya", serif; color: #f6efe0; }
body.rd .nw8-body { margin: 0; font: 400 15px/1.55 "Jost", sans-serif; color: rgba(246, 239, 224, .82); }

/* ================= КАРТА — интерфейс вокруг карты (сама карта и значки не тронуты) ================= */
body.rd #view.mp8 .mp-head b { font: 800 34px/1 "Alegreya", serif !important; color: #f6efe0 !important; }
body.rd #view.mp8 .mp-head small { font: 500 12.5px/1.3 "Jost", sans-serif !important; color: #8d96a8 !important; margin-top: 6px; }
body.rd #view.mp8 .mp-seg { gap: 6px; margin-bottom: 14px; }
body.rd #view.mp8 .mp-seg button { height: 38px; border: 0 !important; border-radius: 0 !important; background: #20252f !important; color: #b9b2a2 !important;
    font: 400 11.5px/1 "Days One", sans-serif !important; text-transform: uppercase; padding-top: 2px; clip-path: polygon(3% 6%, 100% 0, 97% 100%, 0 94%); transition: transform .15s; }
body.rd #view.mp8 .mp-seg button.on { background: #97da79 !important; color: #121d22 !important; transform: rotate(-1.5deg) translateY(-2px); }
body.rd #view.mp8 .mp-seg button[data-l="s"].on { background: #ffe14d !important; }
body.rd #view.mp8 .mp-seg button[data-l="u"].on { background: #5fd3a8 !important; }
/* рамка карты — светлая, как фото на официальной странице (без поворота: жесты считают координаты) */
body.rd #view.mp8 .mp-view { border: 5px solid #efe3cc !important; border-radius: 0 !important; box-shadow: 5px 7px 0 rgba(0, 0, 0, .35); }
body.rd #view.mp8 .mp-frame.has-info .mp-view { border-radius: 0 !important; }
body.rd #view.mp8 .mp-zoom button { width: 32px; height: 32px; border: 0 !important; border-radius: 0 !important; background: #efe3cc !important; color: #121d22 !important;
    clip-path: polygon(6% 4%, 100% 0, 94% 100%, 0 96%); }
/* подсказка и карточка объекта — напечатанная записка под картой */
body.rd #view.mp8 .mp-info { margin: -2px 6px 0; border: 0 !important; border-radius: 0 !important; background: #eee4cd !important; transform: rotate(-.5deg);
    box-shadow: inset 0 0 30px rgba(120, 96, 52, .12), 3px 5px 0 rgba(0, 0, 0, .3); }
body.rd #view.mp8 .mp-hint { font: 400 13px/1.3 "IBM Plex Mono", "PT Mono", monospace !important; color: #25221c !important; padding: 12px 14px; }
body.rd #view.mp8 .mp-card { background: none !important; }
body.rd #view.mp8 .mp-card-main b { font: 800 19px/1.1 "Alegreya", serif !important; color: #25221c !important; }
body.rd #view.mp8 .mp-card-main small, body.rd #view.mp8 .mp-card-note { font: 400 12.5px/1.35 "IBM Plex Mono", "PT Mono", monospace !important; color: rgba(37, 34, 28, .7) !important; }
body.rd #view.mp8 .mp-card-ic { border-radius: 0 !important; background: #23201b !important; border: 0 !important; }
body.rd #view.mp8 .mp-card-rows { border-top: 1.5px dotted rgba(37, 34, 28, .45) !important; }
body.rd #view.mp8 .mp-card-rows div + div { border-left: 1.5px dotted rgba(37, 34, 28, .45) !important; }
body.rd #view.mp8 .mp-card-rows span { font: 400 10.5px/1.2 "IBM Plex Mono", monospace !important; color: rgba(37, 34, 28, .6) !important; }
body.rd #view.mp8 .mp-card-rows b { font: 500 15px/1.2 "IBM Plex Mono", monospace !important; color: #25221c !important; }
body.rd #view.mp8 .mp-card-note { border-top: 1.5px dotted rgba(37, 34, 28, .45) !important; }
body.rd #view.mp8 .mp-card-x { color: #25221c !important; }
/* инструменты — наклейки */
body.rd #view.mp8 .mp-tools { margin-top: 16px; gap: 8px; }
body.rd #view.mp8 .mp-tool { height: 40px; border: 0 !important; border-radius: 0 !important; background: #20252f !important; color: #f6efe0 !important; clip-path: polygon(5% 5%, 100% 0, 95% 100%, 0 95%);
    font: 400 11.5px/1 "Days One", sans-serif !important; text-transform: uppercase; }
body.rd #view.mp8 .mp-tool.sq { width: 42px; }
body.rd #view.mp8 .mp-tool.on { background: #dd6638 !important; color: #121d22 !important; transform: rotate(-3deg); }
body.rd #view.mp8 .mp-color { border-radius: 0 !important; width: 24px; height: 24px; clip-path: polygon(8% 6%, 100% 0, 92% 100%, 0 94%); box-shadow: none !important; }
body.rd #view.mp8 .mp-color.on { transform: scale(1.18) rotate(-6deg); border-color: transparent !important; outline: 0; filter: drop-shadow(0 0 0 #f6efe0) drop-shadow(2px 2px 0 rgba(0, 0, 0, .4)); }
/* минута матча — линейка с делениями */
body.rd #view.mp8 .mp-time { margin-top: 16px; padding: 12px 12px 10px; border: 0 !important; border-radius: 0 !important; background: #1c211f !important;
    clip-path: polygon(0 3%, 100% 0, 99.6% 100%, .4% 97%); }
body.rd #view.mp8 .mp-play { border-radius: 0 !important; background: #efe3cc !important; color: #121d22 !important; clip-path: polygon(6% 4%, 100% 0, 94% 100%, 0 96%); }
body.rd #view.mp8 .mp-time-top span { font: 400 11px/1 "Days One", sans-serif !important; text-transform: uppercase; color: #b9b2a2 !important; }
body.rd #view.mp8 .mp-time-top b { font: 500 16px/1 "IBM Plex Mono", monospace !important; color: #ffe14d !important; }
body.rd #view.mp8 .mp-time input[type=range] { -webkit-appearance: none; appearance: none; height: 22px; margin-top: 8px; background:
    repeating-linear-gradient(90deg, rgba(246, 239, 224, .5) 0 2px, transparent 2px 10%) 0 100% / 100% 8px no-repeat,
    repeating-linear-gradient(90deg, rgba(246, 239, 224, .25) 0 1px, transparent 1px 2%) 0 100% / 100% 4px no-repeat,
    linear-gradient(rgba(246, 239, 224, .3), rgba(246, 239, 224, .3)) 0 calc(100% - 8px) / 100% 2px no-repeat; }
body.rd #view.mp8 .mp-time input[type=range]::-webkit-slider-thumb { -webkit-appearance: none; width: 14px; height: 22px; background: #dd6638; clip-path: polygon(0 0, 100% 0, 100% 70%, 50% 100%, 0 70%); cursor: pointer; }
body.rd #view.mp8 .mp-time input[type=range]::-moz-range-thumb { width: 14px; height: 22px; border: 0; border-radius: 0; background: #dd6638; }
body.rd #view.mp8 .mp-time-off { border: 0 !important; border-radius: 0 !important; background: #efe3cc !important; color: #121d22 !important; font: 400 10.5px/1 "Days One", sans-serif !important;
    text-transform: uppercase; clip-path: polygon(6% 4%, 100% 0, 94% 100%, 0 96%); }
/* объекты — ярлыки-бирки */
body.rd #view.mp8 .mp-group-top span { font: 400 11.5px/1 "Days One", sans-serif !important; letter-spacing: .06em !important; color: #b9b2a2 !important; }
body.rd #view.mp8 .mp-all { font: 400 11px/1 "Days One", sans-serif !important; text-transform: uppercase; color: #ffe14d !important; }
body.rd #view.mp8 .mp-chip { height: 40px; border: 0 !important; border-radius: 0 !important; background: #1a1e27 !important; color: rgba(246, 239, 224, .55) !important;
    font: 600 13px/1 "Jost", sans-serif !important; clip-path: polygon(0 4%, 100% 0, 98% 100%, 1% 96%); }
body.rd #view.mp8 .mp-chip.on { background: #262c38 !important; color: #f6efe0 !important; box-shadow: inset 3px 0 0 #ffe14d; }
body.rd #view.mp8 .mp-chip .ct { font: 400 11px/1 "Days One", sans-serif !important; }
body.rd #view.mp8 .mp-chip.on .ct { color: #ffe14d !important; }

/* ================= УГАДАЙ ПРЕДМЕТ ================= */
body.rd .gi-cover.g8 { background: none !important; border: 0 !important; box-shadow: none !important; padding: 26px 0 6px !important; transform: none !important; text-align: center; }
body.rd .gi-cover.g8::before, body.rd .gi-cover.g8::after { display: none !important; }
body.rd .gi-cover.g8 .gi-items { display: flex; justify-content: center; height: 108px; margin-bottom: 18px; }
body.rd .g8-card { width: 76px; height: 92px; margin: 0 -8px; padding: 8px; background-size: cover; background-position: center; display: flex; align-items: center; justify-content: center;
    transform: translateY(calc(abs(var(--k)) * 9px)) rotate(calc(var(--k) * 9deg)); box-shadow: 3px 4px 0 rgba(0, 0, 0, .35); animation: g8Deal .5s cubic-bezier(.2, .9, .3, 1.2) backwards;
    animation-delay: calc((var(--k) + 2) * 70ms); }
@keyframes g8Deal { from { opacity: 0; transform: translateY(40px) rotate(0); } }
body.rd .g8-card img { width: 100% !important; height: 100% !important; object-fit: contain; position: static !important; transform: none !important; animation: none !important; }
body.rd .gi-cover.g8 b, body.rd .gi-cover.g8 h2, body.rd .gi-cover.g8 .gi-title { font: 800 32px/1 "Alegreya", serif !important; color: #f6efe0 !important; text-shadow: none !important; }
body.rd .gi-cover.g8 small, body.rd .gi-cover.g8 p { font: 500 13.5px/1.35 "Jost", sans-serif !important; color: rgba(246, 239, 224, .7) !important; text-shadow: none !important; }
body.rd .gi-rules { margin-top: 14px; }
body.rd .gi-rule.g8-rule { position: relative; display: flex !important; align-items: center; gap: 14px; margin: 0 !important; padding: 12px 4px !important; background: none !important; border: 0 !important;
    border-radius: 0 !important; box-shadow: none !important; -webkit-mask: none !important; mask: none !important; }
body.rd .gi-rule.g8-rule::before { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 2px; background: repeating-linear-gradient(90deg, var(--rd-dash) 0 7px, transparent 7px 13px); }
body.rd .gi-rule.g8-rule:last-child::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 2px; background: repeating-linear-gradient(90deg, var(--rd-dash) 0 7px, transparent 7px 13px); }
body.rd .gi-rule.g8-rule b { font: 400 15px/1.1 "Days One", sans-serif !important; text-transform: uppercase; color: #f6efe0 !important; }
body.rd .gi-rule.g8-rule small { font: 500 13px/1.3 "Jost", sans-serif !important; color: rgba(246, 239, 224, .65) !important; }
body.rd .gi-best.g8 { display: flex; justify-content: center; margin: 16px 0 0; background: none !important; border: 0 !important; }
/* отсчёт */
body.rd .guess-countdown-num { font: 400 96px/1 "Days One", sans-serif !important; color: #121d22 !important; width: 160px; height: 160px; display: flex !important; align-items: center; justify-content: center;
    margin: 0 auto; padding-top: 8px; background: #ffe14d; -webkit-mask: url("badge_circle_1.webp") center / contain no-repeat; mask: url("badge_circle_1.webp") center / contain no-repeat; text-shadow: none !important; }
body.rd .guess-countdown-label { font: 400 15px/1 "Days One", sans-serif !important; text-transform: uppercase; color: #f6efe0 !important; margin-top: 16px; }
/* раунд */
body.rd .guess-hud { align-items: center; }
body.rd .guess-round { padding: 7px 12px 5px; background: #60cde3; color: #121d22 !important; font: 400 12px/1 "Days One", sans-serif !important; text-transform: uppercase;
    transform: rotate(-2deg); clip-path: polygon(3% 6%, 100% 0, 97% 100%, 0 94%); }
body.rd .guess-heart svg { color: #ed4a4b !important; filter: drop-shadow(2px 2px 0 rgba(0, 0, 0, .35)); }
body.rd .guess-heart.lost svg { color: #3a4252 !important; filter: none; }
body.rd .guess-timer-fg { stroke: #ffe14d !important; }
body.rd .guess-timer-bg { stroke: rgba(246, 239, 224, .14) !important; }
body.rd .guess-timer-num { font: 400 14px/1 "Days One", sans-serif !important; color: #f6efe0 !important; }
body.rd .guess-mute-btn, body.rd .guess-exit { border-radius: 0 !important; clip-path: polygon(6% 4%, 100% 0, 94% 100%, 0 96%); }
body.rd .guess-stage.g8 { width: 168px !important; height: 200px !important; margin: 14px auto 0 !important; padding: 20px; background: var(--g8-bg) center / cover no-repeat !important; border: 0 !important;
    border-radius: 0 !important; box-shadow: 5px 7px 0 rgba(0, 0, 0, .35) !important; transform: rotate(-2deg); display: flex; align-items: center; justify-content: center; }
body.rd .guess-stage.g8 img { width: 100% !important; height: 100% !important; object-fit: contain; }
body.rd .guess-question { font: 800 22px/1.15 "Alegreya", serif !important; color: #f6efe0 !important; margin-top: 22px !important; }
body.rd .guess-opt { height: 48px !important; border: 0 !important; border-radius: 0 !important; background: #efe3cc !important; color: #121d22 !important; font: 600 15px/1.1 "Jost", sans-serif !important;
    text-shadow: none !important; box-shadow: none !important; filter: drop-shadow(3px 4px 0 rgba(0, 0, 0, .3));
    -webkit-mask: radial-gradient(circle 7px at 0 50%, transparent 98%, #000) left / 51% 100% no-repeat, radial-gradient(circle 7px at 100% 50%, transparent 98%, #000) right / 51% 100% no-repeat;
    mask: radial-gradient(circle 7px at 0 50%, transparent 98%, #000) left / 51% 100% no-repeat, radial-gradient(circle 7px at 100% 50%, transparent 98%, #000) right / 51% 100% no-repeat; }
body.rd .guess-opt:nth-child(odd) { transform: rotate(-.8deg); } body.rd .guess-opt:nth-child(even) { transform: rotate(.8deg); }
body.rd .guess-opt.correct { background: #97da79 !important; } body.rd .guess-opt.wrong { background: #ed4a4b !important; }
/* конец игры — чек машинкой со штампом рекорда */
body.rd .go-card.g8 { position: relative; width: min(300px, 86%); margin: 30px auto 0 !important; padding: 26px 20px 34px !important; border: 0 !important; border-radius: 0 !important;
    background: #f3ead6 !important; box-shadow: none !important; filter: drop-shadow(4px 6px 0 rgba(0, 0, 0, .35)); transform: rotate(-1deg);
    -webkit-mask: linear-gradient(#000, #000) top / 100% calc(100% - 10px) no-repeat, conic-gradient(from -45deg at 50% 100%, #000 90deg, transparent 0) bottom / 16px 10px repeat-x;
    mask: linear-gradient(#000, #000) top / 100% calc(100% - 10px) no-repeat, conic-gradient(from -45deg at 50% 100%, #000 90deg, transparent 0) bottom / 16px 10px repeat-x; }
body.rd .go-card.g8::before, body.rd .go-card.g8::after { display: none !important; }
body.rd .go-card.g8 .go-label { font: 500 14px/1 "IBM Plex Mono", monospace !important; color: #25221c !important; text-transform: uppercase; letter-spacing: .12em; padding-bottom: 12px;
    border-bottom: 1.5px dashed rgba(37, 34, 28, .5); display: block; }
body.rd .go-card.g8 .go-score { font: 800 72px/1 "Alegreya", serif !important; color: #25221c !important; margin: 16px 0 4px; text-shadow: none !important; }
body.rd .go-card.g8 .go-sub { font: 400 13px/1.3 "IBM Plex Mono", monospace !important; color: rgba(37, 34, 28, .7) !important; }
body.rd .go-card.g8 .go-chip { margin-top: 18px; background: none !important; border: 2px solid #b3261e !important; border-radius: 3px !important; color: #b3261e !important; padding: 6px 10px 4px !important;
    transform: rotate(-5deg); }
body.rd .go-card.g8 .go-chip i { font: 400 12px/1 "Days One", sans-serif !important; font-style: normal !important; text-transform: uppercase; color: #b3261e !important; }
body.rd .go-card.g8 .go-chip svg { display: none !important; }
body.rd .go-card.g8 .go-chip:not(.gold) { border-color: rgba(37, 34, 28, .55) !important; }
body.rd .go-card.g8 .go-chip:not(.gold) i { color: rgba(37, 34, 28, .75) !important; }
body.rd .go-back { font: 400 12px/1 "Days One", sans-serif !important; text-transform: uppercase; color: rgba(246, 239, 224, .7) !important; background: none !important; border: 0 !important; }

/* правки после сканера: хвосты букв в синергиях, зазор заголовок/подпись, длинные имена в автомате */
body.rd #view[data-rdhero] .syn-names { overflow: visible !important; white-space: normal !important; text-overflow: clip !important; line-height: 1.25 !important; }
body.rd .gi-cover.g8 small, body.rd .gi-cover.g8 p { display: block; margin-top: 10px !important; }

/* ================= ПАРТИЯ 9: карточка героя ================= */
/* точки на концах нитей — убраны (владелец: «сползли, уже не нравятся»), остаются линии */
body.rd-all .rd-strings circle { display: none; }
/* видео: растворение короче и ниже — яркий фон героя (Billy) больше не просвечивает через полгероя */
body.rd-all .hero-video-frame { -webkit-mask-image: linear-gradient(to bottom, #000 0, #000 calc(100% - 110px), transparent 100%) !important;
    mask-image: linear-gradient(to bottom, #000 0, #000 calc(100% - 110px), transparent 100%) !important; }
body.rd-all.tg-safe-area-active .hero-video-frame { -webkit-mask-image: linear-gradient(to bottom, transparent 0, #000 48px, #000 calc(100% - 110px), transparent 100%) !important;
    mask-image: linear-gradient(to bottom, transparent 0, #000 48px, #000 calc(100% - 110px), transparent 100%) !important; }
.rd-herobg::before { content: ""; position: absolute; inset: 0 0 auto; height: 70vh; z-index: 1; background: linear-gradient(180deg, rgba(10, 12, 16, .55), transparent); }
/* сетки героев и предметов: появление только прозрачностью — сдвиг из общей анимации сбрасывал наклон фото («дрожат») */
@keyframes rd9Fade { from { opacity: 0; } to { opacity: 1; } }
body.rd .rd-file, body.rd .rd-cell { animation-name: rd9Fade !important; }

/* стрелка тренда — мятая наклейка с шевроном (вместо голого красного треугольника) */
body.rd .rd-trend9 { display: inline-flex; align-items: center; justify-content: center; width: 22px; height: 22px; flex: none; background: var(--c);
    -webkit-mask: url("badge_circle_2.webp") center / contain no-repeat; mask: url("badge_circle_2.webp") center / contain no-repeat; }
body.rd .rd-trend9 svg { width: 12px; height: 12px; stroke: #121d22; stroke-width: 3.2; fill: none; stroke-linecap: round; stroke-linejoin: round; }
body.rd .rd-trend9.up { --c: #97da79; } body.rd .rd-trend9.down { --c: #ed4a4b; }

/* винрейт героя — всё по центру группой */
body.rd .hc8-wr { display: flex !important; flex-direction: column; align-items: center; gap: 10px; padding: 4px 0 !important; text-align: center !important; }
body.rd .hc8-top { display: flex; align-items: center; justify-content: center; gap: 14px; }
body.rd .hc8-letter.rd-badge { width: 58px !important; height: 58px !important; transform: rotate(-6deg); }
body.rd .hc8-letter.rd-badge b { font: 400 30px/1 "Days One", sans-serif !important; color: #121d22 !important; padding-top: 3px; }
body.rd .hc8-num { font: 800 50px/1 "Alegreya", serif; color: #f6efe0; letter-spacing: -.01em; }
body.rd .hc8-top .rd-trend9 { width: 26px; height: 26px; }
body.rd .hc8-facts { justify-content: center; gap: 8px !important; font-size: 13.5px !important; }
body.rd .hc8-facts i { font-style: normal; opacity: .5; }
body.rd .hc8-go { font: 400 11.5px/1 "Days One", sans-serif !important; text-transform: uppercase; letter-spacing: .04em; color: var(--sc) !important; }

/* контрпики — две колонки */
body.rd .hc8-cols { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
body.rd .hc8-col { display: flex; flex-direction: column; align-items: stretch; gap: 10px; }
body.rd .hc8-col > .rd-st { align-self: center; margin-bottom: 4px; }
body.rd .hc8-cnt { display: flex; align-items: center; gap: 10px; padding: 8px 8px; border: 0; background: rgba(12, 14, 19, .55); cursor: pointer; text-align: left;
    rotate: var(--rot); clip-path: polygon(0 4%, 100% 0, 98% 100%, 2% 96%); }
body.rd .hc8-cnt .rd-ph { width: 46px; height: 46px; }
body.rd .hc8-cnt span { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
body.rd .hc8-cnt b { font: 700 14px/1.1 "Jost", sans-serif; color: #f6efe0; overflow-wrap: anywhere; }
body.rd .hc8-cnt em { font: 400 15px/1 "Days One", sans-serif; font-style: normal; }
body.rd .hc8-col.hard em { color: #ff6b5e; } body.rd .hc8-col.easy em { color: #60cde3; }
body.rd .hc8-counters .hc8-hint { margin: 14px 0 0 !important; }

/* популярные сборки — карточки */
body.rd #view[data-rdhero] .hc8-builds .hc8-bcard { position: relative; display: grid !important; grid-template-columns: 1fr; gap: 8px; margin: 0 4px 16px !important; padding: 16px 14px 14px 22px !important;
    background: rgba(12, 14, 19, .72) !important; border: 0 !important; border-radius: 0 !important; rotate: var(--rot); cursor: pointer; overflow: visible !important; }
body.rd #view[data-rdhero] .hc8-builds .hc8-bcard::before, body.rd #view[data-rdhero] .hc8-builds .hc8-bcard::after { display: none !important; }
body.rd #view[data-rdhero] .hc8-builds .hc8-bn { position: absolute; left: 4px; top: 8px; transform: scale(.85); }
body.rd #view[data-rdhero] .hc8-builds .build-row-main { padding-left: 18px; }
body.rd #view[data-rdhero] .hc8-builds .build-row-title { font: 800 18px/1.15 "Alegreya", serif !important; color: #f6efe0 !important; -webkit-line-clamp: 3 !important; }
body.rd #view[data-rdhero] .hc8-builds .build-row-tags { padding-left: 18px; gap: 8px !important; }
body.rd .hc8-tag { width: 44px; height: 50px; display: inline-flex; align-items: center; justify-content: center; padding: 5px; background: #2a2f3a center / cover no-repeat;
    box-shadow: 2px 3px 0 rgba(0, 0, 0, .35); }
body.rd .hc8-tag:nth-child(odd) { rotate: -3deg; } body.rd .hc8-tag:nth-child(even) { rotate: 2deg; }
body.rd #view[data-rdhero] .hc8-builds .hc8-tag .build-tag-icon { width: 100% !important; height: 100% !important; border: 0 !important; background: none !important; padding: 0 !important; box-shadow: none !important; object-fit: contain; }

/* история — комиксный кривой лист: растровые точки цвета героя, жирная рамка */
body.rd #view[data-rdhero] .hc8-history { position: relative; padding: 26px 18px 20px !important; margin-top: 46px !important; }
body.rd #view[data-rdhero] .block.bg-block.hc8-history::before { content: "" !important; display: block !important; position: absolute; inset: 0; z-index: 0; background: #efe3cc;
    clip-path: polygon(1% 2%, 99% 0, 100% 97%, 0 100%); transform: rotate(-.8deg); }
body.rd #view[data-rdhero] .block.bg-block.hc8-history::after { content: "" !important; display: block !important; position: absolute; inset: 4px; z-index: 0;
    background: radial-gradient(circle, rgba(var(--hc), .38) 1.6px, transparent 2px) 0 0 / 9px 9px, linear-gradient(160deg, #1b1f27, #101318 70%);
    clip-path: polygon(1% 2%, 99% 0, 100% 97%, 0 100%); transform: rotate(-.8deg);
    -webkit-mask: linear-gradient(170deg, #000, #000) ; }
body.rd #view[data-rdhero] .hc8-history > * { position: relative; z-index: 1; }
body.rd #view[data-rdhero] .hc8-history > .rd-h3 { margin: -46px 0 12px !important; }
body.rd #view[data-rdhero] .hc8-history .history-text { font: 500 15px/1.6 "Jost", sans-serif !important; color: #f6efe0 !important; }
body.rd #view[data-rdhero] .hc8-history .history-text::first-letter { font-size: 64px; color: rgb(var(--hc)); text-shadow: 3px 3px 0 #000; }
/* головы героев в тексте патча (Патчи, «Последние изменения») — тот же фото-квадрат, что везде; значки предметов — без скругления */
body.rd-all #view .body img.tier-head[data-hero] { width: 30px !important; height: 30px !important; border: 2px solid #efe3cc !important; border-radius: 0 !important; background: #232936 !important;
    object-fit: cover; object-position: 50% 20%; box-shadow: 2px 3px 0 rgba(0, 0, 0, .3); }
body.rd-all #view .body img.tier-head:not([data-hero]) { border-radius: 0 !important; }
body.rd #view[data-rdhero] .block.bg-block.hc8-history { padding: 30px 22px 22px !important; margin: 50px 4px 0 !important; }
body.rd #view[data-rdhero] .block.bg-block.hc8-history > .rd-h3 { margin: -48px 0 14px !important; }
body.rd #view[data-rdhero] .block.bg-block.hc8-history::after { inset: 5px !important; }

/* ================= ПАРТИЯ 9: Винрейт ================= */
/* ранги — сеткой 6×2, все видны сразу; «все ранги» — значок Obscurus из игры */
body.rd .tw-ranks { display: grid !important; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 4px 2px; overflow: visible !important; margin: 0 0 18px !important; padding: 4px 0 !important; }
body.rd .tw-rk { width: auto !important; height: 50px !important; }
body.rd .tw-rk img { width: 40px !important; height: 40px !important; }
body.rd .tw-rk.on { transform: scale(1.12) !important; background: radial-gradient(closest-side, rgba(255, 225, 77, .32), transparent) !important; }
/* полка: цветная полоса + буква — мятая наклейка поверх полосы, как оценка */
body.rd .tw-band { position: relative; background: none !important; filter: none !important; height: 44px !important; }
body.rd .tw-band-bg { position: absolute; inset: 4px 0; background: var(--sc); filter: drop-shadow(4px 4px 0 rgba(0, 0, 0, .25)); }
body.rd .tw-band .tw-grade { position: relative; z-index: 1; width: 52px; height: 52px; --c: #efe3cc; transform: rotate(-8deg); filter: drop-shadow(3px 3px 0 rgba(0, 0, 0, .3)); }
body.rd .tw-band .tw-grade b { font: 400 26px/1 "Days One", sans-serif !important; color: #121d22 !important; padding-top: 3px; }
body.rd .tw-band-t { position: relative; z-index: 1; font: 400 13px/1 "Days One", sans-serif; text-transform: uppercase; letter-spacing: .04em; color: #121d22; padding-top: 2px; }
body.rd .tw-num { grid-template-columns: 24px auto !important; }

/* ================= МЕТА (партия 9): цветная изолента слева, номера на ленте, карточки справа ================= */
/* фоновое свечение: на витрине — прежнее голубое сверху и зелёное слева; в разделе — оба цвета его обложки (27.10, владелец),
   метку body[data-rdsec] ставит p8.js. Сила подобрана по снимкам: тёмные цвета (красный, оранжевый) чуть сильнее светлых */
body.rd { --sec-glow: 96, 205, 227; --sec-glow-a: .07; --sec-glow2: 151, 218, 121; --sec-glow2-a: .05; }
body.rd[data-rdsec="wr"] { --sec-glow: 237, 74, 75; --sec-glow-a: .15; --sec-glow2: 237, 74, 75; --sec-glow2-a: .07; }
body.rd[data-rdsec="board"] { --sec-glow: 255, 225, 77; --sec-glow-a: .10; --sec-glow2: 255, 225, 77; --sec-glow2-a: .05; }
body.rd[data-rdsec="map"] { --sec-glow: 151, 218, 121; --sec-glow-a: .11; --sec-glow2: 151, 218, 121; --sec-glow2-a: .06; }
body.rd[data-rdsec="random"] { --sec-glow: 255, 107, 94; --sec-glow-a: .14; --sec-glow2: 255, 107, 94; --sec-glow2-a: .06; }
body.rd[data-rdsec="guess"] { --sec-glow: 221, 102, 56; --sec-glow-a: .15; --sec-glow2: 221, 102, 56; --sec-glow2-a: .07; }
.rd-bg-meta { background: radial-gradient(90% 50% at 70% 0%, rgba(var(--sec-glow), var(--sec-glow-a)), transparent 60%), radial-gradient(70% 40% at 0% 60%, rgba(var(--sec-glow2), var(--sec-glow2-a)), transparent 70%),
    linear-gradient(180deg, #151a1b, #0e1112) !important; }
body.rd .mt8-head { display: flex; flex-direction: column; align-items: flex-start; gap: 8px; margin: 4px 2px 10px; }
body.rd .mt8-head b { font: 800 34px/1 "Alegreya", serif; color: #f6efe0; }
/* изолента: сегмент на высоту раздела — цвет меняется от раздела к разделу; матовая, с бликом и неровными краями */
/* лента приходит «из-за экрана» сверху */
/* номер — мятый кружок на ленте, напротив карточки */
/* карточка — фото в светлой рамке с наклоном, левый край заходит на ленту (приклеена к ней) */
/* 1 — Винрейт: Виктор вылезает за верх рамки */
body.rd .mt8-bg { position: absolute; right: -8%; bottom: -46px; height: 250px; }
/* 2 — Лидерборд: три старших ранга веером */
/* 3 — Карта */
body.rd .mt8-map { position: absolute; right: -6%; top: 50%; width: 78%; transform: translateY(-50%) rotate(-6deg); }
/* 4 — Случайный герой: три окошка барабана */
body.rd .mt8-reels { position: absolute; right: 12px; top: 12px; bottom: 12px; display: flex; gap: 6px; }
body.rd .mt8-reel { width: 62px; overflow: hidden; border: 3px solid #efe3cc; background: #23262e; rotate: 0deg; }
body.rd .mt8-reel:nth-child(1) { rotate: -3deg; } body.rd .mt8-reel:nth-child(3) { rotate: 3deg; }
body.rd .mt8-reel img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 25%; }
/* 5 — Угадай предмет: предметы на подложках магазина */
/* 6 — GeoGuessr (скоро) */
body.rd .mt8-geomap { position: absolute; inset: -20%; background: #efe3cc; opacity: .12; -webkit-mask: url("../assets/map/streets.webp") center / 120% auto no-repeat; mask: url("../assets/map/streets.webp") center / 120% auto no-repeat; }
body.rd .mt8-geo { position: absolute; right: -6%; bottom: -30px; height: 160px; filter: grayscale(.4); opacity: .85; }
/* лента приходит из-за верхнего края экрана */

/* ================= ПАРТИЯ 9: единая кнопка-значок (крестик, звук, выход) — во всём новом интерфейсе одна ================= */
body.rd-all:not(.rd-skip) #view .icon-btn { width: 36px !important; height: 36px !important; border: 0 !important; border-radius: 0 !important; background: #20252f !important; color: #f6efe0 !important;
    clip-path: polygon(6% 4%, 100% 0, 94% 100%, 0 96%); box-shadow: none !important; }
body.rd-all:not(.rd-skip) #view .icon-btn svg { width: 16px !important; height: 16px !important; stroke-width: 2.4; }

/* ================= ПАРТИЯ 9: карта ================= */
/* шрифты: без машинки и без тени у тёмного текста — обычный жирный Jost, цифры наклеечным */
body.rd #view.mp8 .mp-info, body.rd #view.mp8 .mp-info * { text-shadow: none !important; }
body.rd #view.mp8 .mp-hint { font: 600 14px/1.3 "Jost", sans-serif !important; color: #25221c !important; }
body.rd #view.mp8 .mp-card-main b { font: 800 20px/1.1 "Alegreya", serif !important; }
body.rd #view.mp8 .mp-card-main small, body.rd #view.mp8 .mp-card-note { font: 500 13px/1.35 "Jost", sans-serif !important; color: rgba(37, 34, 28, .72) !important; }
body.rd #view.mp8 .mp-card-rows span { font: 400 10.5px/1.2 "Days One", sans-serif !important; letter-spacing: .04em; color: rgba(37, 34, 28, .6) !important; }
body.rd #view.mp8 .mp-card-rows b { font: 700 16px/1.25 "Jost", sans-serif !important; color: #25221c !important; }
body.rd #view.mp8 .mp-time-top b { font: 400 18px/1 "Days One", sans-serif !important; }
body.rd #view.mp8 .mp-time-top span, body.rd #view.mp8 .mp-time-off { font-family: "Days One", sans-serif !important; }
/* подсказка/карточка объекта — нижнее поле той же рамки, что у карты (как у полароида), ровно по её контуру */
body.rd #view.mp8 .mp-frame.has-info .mp-view, body.rd #view.mp8 .mp-view { border-bottom-width: 5px !important; }
body.rd #view.mp8 .mp-info { margin: 0 !important; transform: none !important; background: #efe3cc !important; box-shadow: 5px 7px 0 rgba(0, 0, 0, .35) !important; border-top: 1.5px dashed rgba(37, 34, 28, .3) !important; }
body.rd #view.mp8 .mp-frame.has-info .mp-view { box-shadow: 5px 0 0 rgba(0, 0, 0, .35) !important; }
body.rd #view.mp8 .mp-card-x { flex: none; }
/* рисовалки: всё в одну строку и в экран */
body.rd #view.mp8 .mp-tools.drawing { gap: 4px !important; justify-content: flex-start !important; flex-wrap: wrap; }
body.rd #view.mp8 .mp-tools.drawing .mp-color { width: 21px !important; height: 21px !important; }
body.rd #view.mp8 .mp-tools.drawing .mp-tool.sq { width: 36px !important; }
body.rd #view.mp8 .mp-tools.drawing #mpUndo { margin-left: auto; }

/* ================= СЛУЧАЙНЫЙ ГЕРОЙ (партия 9): автомат из элементов всего меню, без казино и рычага ================= */
body.rd .sm8-head { display: none !important; }
/* корпус — одна тёмная рваная панель от барабана до «кто участвует» (продолжение автомата) */
body.rd .sm9 { position: relative; margin: 26px 0 18px; padding: 30px 12px 16px; background: #1c211f; clip-path: polygon(0 1.2%, 100% 0, 99.4% 100%, .6% 99.4%);
    box-shadow: inset 0 0 0 1px rgba(246, 239, 224, .05); }
body.rd .sm9-head { display: flex; flex-direction: column; align-items: center; gap: 8px; margin: 0 0 16px; }
body.rd .sm9-head .rd-st-in { height: 34px !important; padding: 3px 18px 0 !important; font-size: 17px !important; }
body.rd .sm9-head small { font: 500 13px/1.3 "Jost", sans-serif; color: rgba(246, 239, 224, .62); }
body.rd .sm9 > .rl { margin: 0 !important; padding: 0 !important; background: none !important; border: 0 !important; box-shadow: none !important; }
body.rd .sm9 > .rl::before, body.rd .sm9 > .rl::after { display: none !important; }
body.rd .sm9 .rl-top { display: flex; align-items: center; gap: 10px; margin: 0 2px 10px; }
body.rd .sm9 .rl-label { font: 400 12px/1 "Days One", sans-serif !important; text-transform: uppercase; letter-spacing: .05em; color: #f6efe0 !important; }
body.rd .sm9 .rl-count { margin-left: auto; font: 500 12.5px/1 "Jost", sans-serif !important; color: rgba(246, 239, 224, .62) !important; }
/* барабан — в светлой рамке, как фото; указатели — жёлтые наклейки-треугольники */
body.rd .sm9 .rl-win { border: 5px solid #efe3cc !important; border-radius: 0 !important; background: #11141a !important; box-shadow: 5px 7px 0 rgba(0, 0, 0, .35) !important; }
body.rd .sm9 .rl-frame { border: 3px solid #ffe14d !important; border-radius: 0 !important; box-shadow: none !important; }
body.rd .sm9 .rl-arrow { border-top-color: #ffe14d !important; border-bottom-color: #ffe14d !important; }
body.rd .sm9 .rl-card { border-radius: 0 !important; border: 0 !important; }
body.rd .sm9 .rl-card .rl-face, body.rd .sm9 .rl-card .rl-bg { border-radius: 0 !important; }
body.rd .sm9 #rhSpin.rd-tk { margin: 18px auto 2px !important; }
/* результат — полароид героя + имя, роль, талончик */
body.rd .sm9 > #rhRes { margin: 18px 0 0; }
body.rd .sm9 .rl-res { display: flex !important; align-items: center; gap: 16px; padding: 0 !important; background: none !important; border: 0 !important; box-shadow: none !important; overflow: visible !important; }
body.rd .sm9 .rl-res::before, body.rd .sm9 .rl-res::after, body.rd .sm9 .rl-res-art { display: none !important; }
body.rd .sm9 .rl-res-pic { flex: none; width: 108px; height: 130px; border: 5px solid #efe3cc; border-bottom-width: 18px; border-radius: 0 !important; overflow: hidden; rotate: -3deg; box-shadow: 4px 5px 0 rgba(0, 0, 0, .35); }
body.rd .sm9 .rl-res-pic img { border-radius: 0 !important; }
body.rd .sm9 .rl-res-txt { display: flex; flex-direction: column; align-items: flex-start; gap: 6px; }
body.rd .sm9 .rl-res-txt small { font: 400 11px/1 "Days One", sans-serif !important; text-transform: uppercase; color: rgba(246, 239, 224, .62) !important; }
body.rd .sm9 .rl-res-txt b { font: 800 28px/1 "Alegreya", serif !important; color: #f6efe0 !important; }
body.rd .sm9 .rl-chip { padding: 4px 9px 2px; background: #60cde3 !important; border: 0 !important; border-radius: 0 !important; clip-path: polygon(3% 6%, 100% 0, 97% 100%, 0 94%); }
body.rd .sm9 .rl-chip i { font: 400 11px/1 "Days One", sans-serif !important; font-style: normal; text-transform: uppercase; color: #121d22 !important; }
body.rd .sm9 .rl-open { display: inline-flex; align-items: center; height: 34px; margin-top: 4px; padding: 0 20px; background: #efe3cc !important; border: 0 !important; border-radius: 0 !important; color: #121d22 !important;
    -webkit-mask: radial-gradient(circle 6px at 0 50%, transparent 98%, #000) left / 51% 100% no-repeat, radial-gradient(circle 6px at 100% 50%, transparent 98%, #000) right / 51% 100% no-repeat;
    mask: radial-gradient(circle 6px at 0 50%, transparent 98%, #000) left / 51% 100% no-repeat, radial-gradient(circle 6px at 100% 50%, transparent 98%, #000) right / 51% 100% no-repeat; }
body.rd .sm9 .rl-open span { font: 400 11.5px/1 "Days One", sans-serif !important; text-transform: uppercase; color: #121d22 !important; padding-top: 2px; }
body.rd .sm9 .rl-open svg { display: none !important; }
/* «кто участвует» — нижняя часть того же корпуса: пунктир-разделитель, роли наклейками, мини-полароиды */
body.rd .sm9 > .rl-pool { position: relative; margin: 22px 0 0 !important; padding: 20px 0 0 !important; background: none !important; border: 0 !important; box-shadow: none !important; }
body.rd .sm9 > .rl-pool::before { content: "" !important; display: block !important; position: absolute; left: 0; right: 0; top: 0; height: 2px;
    background: repeating-linear-gradient(90deg, var(--rd-dash) 0 7px, transparent 7px 13px); }
body.rd .sm9 > .rl-pool::after { display: none !important; }
body.rd .sm9 .rl-all { font: 400 11px/1 "Days One", sans-serif !important; text-transform: uppercase; color: #ffe14d !important; background: none !important; border: 0 !important; margin-left: auto; }
body.rd .sm9 #rhRoles { display: grid !important; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 5px !important; background: none !important; border: 0 !important; padding: 0 !important; margin: 4px 0 10px !important; }
body.rd .sm9 #rhRoles button { height: 34px; padding: 2px 0 0 !important; border: 0 !important; border-radius: 0 !important; background: #2a302d !important; color: #b9b2a2 !important; box-shadow: none !important;
    font: 400 9.5px/1 "Days One", sans-serif !important; text-transform: uppercase; white-space: nowrap; clip-path: polygon(4% 6%, 100% 0, 96% 100%, 0 94%); }
body.rd .sm9 #rhRoles button.on { background: #f28fb5 !important; color: #121d22 !important; transform: rotate(-2deg) translateY(-2px); }
body.rd .sm9 .rl-hint { font: 500 12.5px/1.3 "Jost", sans-serif !important; color: rgba(246, 239, 224, .62) !important; margin-bottom: 10px; }
body.rd .sm9 .rl-grid { display: grid !important; grid-template-columns: repeat(4, minmax(0, 1fr)) !important; gap: 12px 8px !important; }
body.rd .sm9 .rl-pick { position: relative; display: flex !important; flex-direction: column; padding: 3px 3px 0 !important; border: 0 !important; border-radius: 0 !important; background: #efe3cc !important;
    box-shadow: 2px 3px 0 rgba(0, 0, 0, .35) !important; aspect-ratio: auto !important; height: auto !important; overflow: visible !important; }
body.rd .sm9 .rl-pick:nth-child(3n+1) { rotate: -1.5deg; } body.rd .sm9 .rl-pick:nth-child(3n+2) { rotate: 1deg; } body.rd .sm9 .rl-pick:nth-child(3n) { rotate: -.5deg; }
body.rd .sm9 .rl-pick::before, body.rd .sm9 .rl-pick::after { display: none !important; }
body.rd .sm9 .rl-pick img { position: static !important; width: 100% !important; height: auto !important; aspect-ratio: 1 / 1.1; object-fit: cover; object-position: 50% 20%; border-radius: 0 !important; background: #1d2230; }
body.rd .sm9 .rl-pick span { position: static !important; display: block !important; padding: 2px 0 3px !important; background: none !important; text-align: center; white-space: nowrap; overflow: hidden;
    font: 700 14px/1 "Caveat", cursive !important; color: #1c2a33 !important; text-shadow: none !important; text-transform: none !important; letter-spacing: 0 !important; }
body.rd .sm9 .rl-pick.off { opacity: .4; }
/* роль в «Кто участвует»: герои не той роли прячутся атрибутом hidden (app.js), а display: flex !important выше его
   перебивал — выбрал «Стрелок», а внизу все 44 (владелец, 27.10) */
body.rd .sm9 .rl-pick[hidden], body.rd .sm9 [hidden] { display: none !important; }
body.rd .sm9 .rl-pick.off::after { content: "" !important; display: block !important; position: absolute; inset: 22% 18% 38%; background: linear-gradient(45deg, transparent 44%, #ed4a4b 44% 56%, transparent 56%), linear-gradient(-45deg, transparent 44%, #ed4a4b 44% 56%, transparent 56%); }
/* талончики: тень всей кнопки ложилась и на тёмный текст («тёмный текст — без тени», DESIGN.md) — без тени */
body.rd .rd-tk, body.rd .mc8-go, body.rd .guess-opt, body.rd .sm9 .rl-open { filter: none !important; }
body.rd .rd-tk *, body.rd .sm9 .rl-open *, body.rd .guess-opt { text-shadow: none !important; }

/* ================= УГАДАЙ ПРЕДМЕТ (партия 9) ================= */
body.rd .g9-head { display: flex; flex-direction: column; align-items: center; gap: 10px; text-align: center; }
body.rd .g9-head .rd-st-in { height: 36px !important; padding: 3px 18px 0 !important; font-size: 18px !important; }
body.rd .g9-head small { font: 500 13.5px/1.35 "Jost", sans-serif; color: rgba(246, 239, 224, .66); }
/* предмет на подложке магазина своего типа и тира — как клетка Арсенала */
body.rd .g9-card { display: inline-flex; align-items: center; justify-content: center; width: 96px; height: 116px; padding: 14px; background-size: cover; background-position: center;
    box-shadow: 4px 5px 0 rgba(0, 0, 0, .35); }
body.rd .g9-card img { width: 100%; height: 100%; object-fit: contain; }
/* заставка */
body.rd .g9-intro { display: flex; flex-direction: column; align-items: center; gap: 22px; padding: 10px 0 20px; }
body.rd .g9-q { position: absolute; right: 36px; top: -4px; z-index: 3; width: 44px !important; height: 44px !important; --c: #ffe14d !important; rotate: 10deg; filter: drop-shadow(2px 3px 0 rgba(0, 0, 0, .35)); }
body.rd .g9-q b { font: 400 24px/1 "Days One", sans-serif !important; color: #121d22 !important; padding-top: 3px; }
body.rd .g9-intro #startGameBtn.rd-tk { margin: 0 auto !important; }
/* раунд: без старого окна HUD */
body.rd .g9-game { display: flex; flex-direction: column; min-height: calc(100vh - var(--safe-top) - 40px); padding-bottom: 20px; }
body.rd .g9-hud { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 8px; margin: 6px 0 0; }
body.rd .g9-hud .guess-hearts { display: flex; gap: 4px; }
body.rd .g9-hud .guess-heart svg { width: 22px; height: 22px; color: #ed4a4b; filter: drop-shadow(2px 2px 0 rgba(0, 0, 0, .35)); }
body.rd .g9-hud .guess-heart.lost svg { color: #3a4252; filter: none; }
body.rd .g9-hud-r { display: flex; align-items: center; justify-content: flex-end; gap: 8px; }
body.rd .g9-timer { width: 44px !important; height: 44px !important; --c: #ffe14d; transition: background .2s; }
body.rd .g9-timer b { font: 400 18px/1 "Days One", sans-serif !important; color: #121d22 !important; padding-top: 2px; }
body.rd .g9-timer:has(.urgent) { --c: #ed4a4b; animation: g9Pulse .5s ease-in-out infinite alternate; }
@keyframes g9Pulse { to { transform: scale(1.1); } }
body.rd .g9-stage { position: relative; flex: 1; min-height: 220px; display: flex; align-items: center; justify-content: center; }
body.rd .g9-glow { position: absolute; left: 50%; top: 50%; width: 230px; height: 230px; transform: translate(-50%, -50%); border-radius: 50%; --gc: 246, 239, 224;
    background: radial-gradient(closest-side, rgba(var(--gc), .38), rgba(var(--gc), .1) 60%, transparent); pointer-events: none; transition: background .3s; }
body.rd .g9-card.big { position: relative; width: 150px; height: 182px; padding: 20px; rotate: -2deg; animation: g9In .35s cubic-bezier(.2, .9, .3, 1.2) backwards; }
@keyframes g9In { from { opacity: 0; transform: translateY(14px) scale(.92); } }
body.rd .g9-question { margin: 6px 0 14px; text-align: center; font: 800 22px/1.15 "Alegreya", serif; color: #f6efe0; }
body.rd .g9-options { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
body.rd .g9-opt { min-height: 54px; padding: 8px 10px !important; border: 0 !important; border-radius: 0 !important; background: #20252f !important; color: #f6efe0 !important;
    font: 600 15px/1.15 "Jost", sans-serif !important; text-shadow: none !important; box-shadow: none !important; -webkit-mask: none !important; mask: none !important; transform: none !important; filter: none !important; }
body.rd .g9-opt.picked { background: #ffe14d !important; color: #121d22 !important; }
body.rd .g9-opt.correct { background: #97da79 !important; color: #121d22 !important; }
body.rd .g9-opt.wrong { background: #ed4a4b !important; color: #121d22 !important; }
/* конец игры */
body.rd .g9-over { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 10px; min-height: calc(100vh - var(--safe-top) - 60px); text-align: center; }
body.rd .g9-sub { font: 500 15px/1.3 "Jost", sans-serif; color: rgba(246, 239, 224, .7); }
body.rd .g9-best b { color: #ffe14d; }
body.rd .g9-over #againBtn.rd-tk { margin: 22px auto 0 !important; }
body.rd .g9-over .go-back { margin-top: 6px; }
body.rd .g9-timer .guess-timer-num { position: static !important; transform: none !important; inset: auto !important; display: block; color: #121d22 !important; font: 400 18px/1 "Days One", sans-serif !important; text-shadow: none !important; }
body.rd .g9-glow { background: radial-gradient(closest-side, rgba(var(--gc), .55), rgba(var(--gc), .16) 60%, transparent) !important; }

/* ================= ГЛАВНАЯ (партия 9) ================= */

/* последний матч — тёмный конверт, крупно */
/* марка с героем (зубцы по краю) и штемпель итога */
/* крупные цифры */

/* «Мета сейчас»: герои не вылезают за рамки — содержимое обрезано по рамке, номер внутри угла */
body.rd .rd-home .h2-hcard { overflow: hidden !important; }
body.rd .rd-home .h2-hcard .rd-badge { top: 4px !important; left: 4px !important; }

/* штамп (красная резиновая печать) — общий: «Скоро» в Мете и т.п. */
body.rd .tw8-stamp { display: inline-block; padding: 5px 9px 3px; border: 2px solid #ed4a4b; border-radius: 3px; color: #ed4a4b; font: 400 11px/1 "Days One", sans-serif;
    text-transform: uppercase; letter-spacing: .06em; rotate: -4deg; }

/* ================= ПАТЧИ (партия 9): тёмный лист с цветным корешком, читаемый текст ================= */
/* действия: «Разбор Кью» (наклейка-кнопка), свернуть/развернуть, комментарии — одной строкой талончиков */
/* разбор Кью — тёмная вставка с фиолетовой рамкой, обычный шрифт */
/* герои патча — фото-квадраты строкой под листом */
/* подписка — полоса с переключателем */
/* пустое место под голову героя — только если в тексте патча есть головы; иначе текст от края листа */
body.rd #view .body:not(:has(img.tier-head)) .patch-hero-spacer { display: none !important; }

/* ================= КОММЕНТАРИИ (партия 9): везде одинаково — страница патча, герой, предмет ================= */
body.rd-all:not(.rd-skip) #view > .card-h1:first-of-type { font: 800 32px/1 "Alegreya", serif !important; color: #f6efe0 !important; margin: 4px 2px 10px !important; text-shadow: none !important; }
body.rd-all:not(.rd-skip) .comments-rules { background: none !important; border: 0 !important; padding: 0 2px 6px !important; font: 500 12.5px/1.4 "Jost", sans-serif !important; color: rgba(246, 239, 224, .55) !important; }
body.rd-all:not(.rd-skip) .comment-row { position: relative; gap: 12px !important; margin: 12px 0 0 !important; padding: 12px 12px 10px !important; border: 0 !important; background: #1a1f26 !important;
    clip-path: polygon(0 2%, 100% 0, 99.5% 100%, .5% 98%); text-shadow: none !important; transform: none !important; box-shadow: none !important; }
body.rd-all:not(.rd-skip) .comment-row.mine { background: #232a24 !important; }
body.rd-all:not(.rd-skip) .comment-row.mine::before { content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 4px; background: #97da79; }
body.rd-all:not(.rd-skip) .comment-row.reply { margin-left: 26px !important; background: #161a20 !important; }
body.rd-all:not(.rd-skip) .comment-row.reply::after { content: ""; position: absolute; left: -16px; top: -12px; width: 2px; height: 34px; background: repeating-linear-gradient(180deg, var(--rd-dash) 0 7px, transparent 7px 13px); }
body.rd-all:not(.rd-skip) .comment-avatar { width: 40px !important; height: 40px !important; border-radius: 0 !important; border: 2px solid #efe3cc !important; object-fit: cover; background: #232936;
    box-shadow: 2px 3px 0 rgba(0, 0, 0, .3) !important; transform: none !important; }
body.rd-all:not(.rd-skip) .comment-name { font: 400 12px/1.1 "Days One", sans-serif !important; text-transform: uppercase; letter-spacing: .03em; color: #ffe14d !important; }
body.rd-all:not(.rd-skip) .comment-text { margin-top: 5px; font: 500 15px/1.45 "Jost", sans-serif !important; color: rgba(246, 239, 224, .9) !important; }
body.rd-all:not(.rd-skip) .comment-footer, body.rd-all:not(.rd-skip) .comment-footer *, body.rd-all:not(.rd-skip) .comment-time { font: 500 12px/1 "Jost", sans-serif !important; color: rgba(246, 239, 224, .5) !important; }
body.rd-all:not(.rd-skip) .comment-like-btn.liked, body.rd-all:not(.rd-skip) .comment-like-btn.liked * { color: #ed4a4b !important; }
/* поле ввода внизу страницы — тёмная полоса, кнопка отправки — мятый кружок */
body.rd-all:not(.rd-skip) .comments-composer { border: 0 !important; border-radius: 0 !important; background: #1a1f26 !important; box-shadow: 0 -6px 18px rgba(0, 0, 0, .4) !important; }
body.rd-all:not(.rd-skip) .comment-input { border: 0 !important; border-radius: 0 !important; background: #0f1217 !important; color: #f6efe0 !important; font: 500 15px/1.35 "Jost", sans-serif !important; }
body.rd-all:not(.rd-skip) .comment-send-btn { border-radius: 0 !important; border: 0 !important; background: #ffe14d !important; color: #121d22 !important;
    -webkit-mask: url("badge_circle_1.webp") center / contain no-repeat; mask: url("badge_circle_1.webp") center / contain no-repeat; }
body.rd #view[data-rdhero] .hc8-builds .build-row-title { display: block !important; -webkit-line-clamp: unset !important; overflow: visible !important; max-height: none !important; }
body.rd #view[data-rdhero] .hc8-builds .build-row-meta { margin-top: 6px !important; }

/* ======================= ПАРТИЯ 10 ======================= */
/* головы героев — без рамки и подложки, просто голова (владелец: квадраты «как иконы на кладбище») */
body.rd .rd-ph, body.rd .tw-head, body.rd-all #view .body img.tier-head[data-hero], body.rd-all:not(.rd-skip) .comment-avatar {
    border: 0 !important; background: none !important; box-shadow: none !important; border-radius: 0 !important; object-fit: contain !important;
    filter: drop-shadow(2px 3px 0 rgba(0, 0, 0, .35)); }
body.rd .hc8-pair .rd-ph { width: 44px; height: 44px; }
body.rd .hc8-pair .rd-ph2 { left: 22px; }
/* значки способностей — без серого кружка */
body.rd .rd-tab-ico { background: none !important; border: 0 !important; box-shadow: none !important; }
body.rd .rd-tab.on .rd-tab-ico { box-shadow: none !important; }
/* бумага советов — на пару капель темнее */
body.rd .rd-note { background: #f2e399 !important; }

/* мелкие детали строго по центру: цифра/буква в мятом кружке */
body.rd .rd-badge { display: inline-flex !important; align-items: center !important; justify-content: center !important; }
body.rd .rd-badge b { display: block; line-height: 1 !important; padding: 0 !important; transform: translateY(1px); }
/* стрелка тренда — меньше и по центру, ничего не обрезает */
body.rd .rd-trend9 { width: 18px !important; height: 18px !important; -webkit-mask-image: url("badge_circle_1.webp") !important; mask-image: url("badge_circle_1.webp") !important; }
body.rd .rd-trend9 svg { width: 10px; height: 10px; display: block; }
body.rd .hc8-top .rd-trend9 { width: 22px !important; height: 22px !important; }
body.rd .hc8-top .rd-trend9 svg { width: 12px; height: 12px; }
body.rd .tw-num { overflow: visible !important; align-items: center; }
/* винрейт героя — цифра тем же шрифтом, что на экране Винрейта */
body.rd .hc8-num { font: 700 46px/1 "Jost", sans-serif !important; letter-spacing: -.02em; }
body.rd .hc8-letter.rd-badge { width: 50px !important; height: 50px !important; filter: none !important; }
body.rd .hc8-letter.rd-badge b { font-size: 26px !important; }

/* История: комиксный растр — мелкие круглые точки, чуть размыто, текст читаемый на тёмной подложке; лист растёт под логотип */
body.rd #view[data-rdhero] .block.bg-block.hc8-history::after {
    background: radial-gradient(circle at center, rgba(var(--hc), .3) 0 1.1px, transparent 1.5px) 0 0 / 6px 6px, linear-gradient(160deg, #1b1f27, #101318 70%) !important;
    filter: blur(.35px); }
body.rd #view[data-rdhero] .block.bg-block.hc8-history { padding: 30px 22px 34px !important; }
body.rd #view[data-rdhero] .hc8-history .history-text { position: relative; padding: 12px 14px !important; margin: 0 -6px; background: rgba(12, 14, 19, .78);
    font: 400 15.5px/1.6 "Jost", sans-serif !important; color: #f6efe0 !important; }
body.rd #view[data-rdhero] .hc8-history .history-text::first-letter { text-shadow: none !important; }
body.rd #view[data-rdhero] .hc8-history .hero-logo { max-width: 70%; margin: 20px auto 6px; }

/* порядок прокачки: колонка «значок+название» неподвижна и НАД цифрами; таблица не ездит вверх-вниз */
body.rd .rd-order .bd-order-wrap { overflow-x: auto !important; overflow-y: hidden !important; overscroll-behavior-x: contain; }
body.rd .rd-order .bd-order-corner, body.rd .rd-order .bd-order-ability { z-index: 6 !important; background: #0f1218 !important; box-shadow: 8px 0 8px -6px #0f1218; }
body.rd .rd-order .rd-hl { z-index: 7; }
body.rd .rd-order .bd-order-table td:not(.bd-order-ability), body.rd .rd-order .bd-order-table th:not(.bd-order-corner) { position: relative; z-index: 1; }

/* комментарии: стрелка отправки крупнее и по центру; плашка «Ответ для …» в новом стиле */
body.rd-all:not(.rd-skip) .comment-send-btn { display: flex !important; align-items: center; justify-content: center; }
body.rd-all:not(.rd-skip) .comment-send-btn svg { width: 22px !important; height: 22px !important; margin: 0 !important; transform: translate(-1px, 1px); }
body.rd-all:not(.rd-skip) .comment-replying-chip { border: 0 !important; border-radius: 0 !important; background: #2a303a !important; color: rgba(246, 239, 224, .7) !important;
    font: 500 13px/1 "Jost", sans-serif !important; clip-path: polygon(0 6%, 100% 0, 99% 100%, 1% 94%); }
body.rd-all:not(.rd-skip) .comment-replying-chip b { color: #ffe14d !important; font: 400 12px/1 "Days One", sans-serif !important; text-transform: uppercase; }

/* Арсенал: свет сверху — цвет выбранной категории */
body.rd[data-rdcat="weapon"] .rd-glow { opacity: 1; background: radial-gradient(110% 45% at 50% 0%, rgba(255, 170, 60, .22), transparent 62%); }
body.rd[data-rdcat="vitality"] .rd-glow { opacity: 1; background: radial-gradient(110% 45% at 50% 0%, rgba(120, 214, 96, .2), transparent 62%); }
body.rd[data-rdcat="spirit"] .rd-glow { opacity: 1; background: radial-gradient(110% 45% at 50% 0%, rgba(176, 126, 255, .24), transparent 62%); }

/* Винрейт: ранги одной лентой с прокруткой; Obscurus одного размера; свет — цвета выбранного ранга */
body.rd .tw-ranks { display: flex !important; gap: 2px !important; overflow-x: auto !important; overflow-y: hidden; margin: 0 -12px 18px !important; padding: 8px 12px 10px !important;
    scroll-behavior: smooth; scrollbar-width: none; }
body.rd .tw-rk { flex: none !important; width: 52px !important; height: 52px !important; --rkc: 255, 225, 77; }
body.rd .tw-rk img { width: 40px !important; height: 40px !important; object-fit: contain; }
body.rd .tw-rk.on { transform: scale(1.15) !important; background: radial-gradient(closest-side, rgba(var(--rkc), .45), transparent) !important; }
/* буква полки: кружок меньше, без тени, буква по центру */
body.rd .tw-band .tw-grade { width: 40px !important; height: 40px !important; filter: none !important; }
body.rd .tw-band .tw-grade b { font-size: 21px !important; }

/* Лидерборд: свет ранга шире и мягко рассеивается до края; основной значок крупнее и левее */
body.rd .lb8-glow { right: -90px !important; width: 300px !important; height: 300px !important;
    background: radial-gradient(closest-side, rgba(var(--rkc), .42), rgba(var(--rkc), .16) 45%, rgba(var(--rkc), .05) 72%, transparent 100%) !important; }
body.rd .lb8-glow img { inset: 70px !important; width: 160px !important; height: 160px !important; opacity: .22 !important; filter: brightness(2) saturate(.5) blur(1.5px) !important; }
body.rd .lb8-row::after { background: linear-gradient(90deg, var(--bn), transparent 70%) !important; inset: 0 0 0 30% !important; }
body.rd .lb8-rk { width: 76px !important; height: 76px !important; right: 30px !important; }
body.rd .lb8-row { padding-right: 112px !important; min-height: 84px !important; }

/* Карта: без пунктиров — фото с полем; значок объекта на тёмной подложке, чтобы белые не сливались с бумагой */
body.rd #view.mp8 .mp-info { border-top: 0 !important; }
body.rd #view.mp8 .mp-card-rows, body.rd #view.mp8 .mp-card-rows div + div, body.rd #view.mp8 .mp-card-note { border: 0 !important; }
body.rd #view.mp8 .mp-card-rows div + div { padding-left: 14px; }
body.rd #view.mp8 .mp-card-ic { background: #23201b !important; clip-path: polygon(6% 4%, 100% 0, 94% 100%, 0 96%); }

/* Случайный герой: меньше лоб, без надписи «Барабан», звук — просто значок; барабан без щели и без золотого свечения;
   указатель — зубец сверху, как у колеса фортуны; «Вернуть всех» держит место всегда */
body.rd .sm9 { margin-top: 6px !important; padding-top: 20px !important; }
body.rd .sm9 > .rl:not(.rl-pool) .rl-top .rl-label { display: none !important; }
body.rd .sm9 .rl-count { margin-left: 0 !important; }
body.rd .sm9 > .rl > .rl-top { justify-content: space-between; }
body.rd .sm9 .rl-top .icon-btn { background: none !important; clip-path: none !important; width: 30px !important; height: 30px !important; color: rgba(246, 239, 224, .75) !important; }
body.rd .sm9 .rl-win { overflow: visible !important; }
body.rd .sm9 .rl-strip { top: 0 !important; height: 100%; align-items: stretch; }
body.rd .sm9 .rl-card { height: 100% !important; }
body.rd .sm9 .rl-win::before, body.rd .sm9 .rl-win::after { display: none !important; }
body.rd .sm9 .rl-frame, body.rd .sm9 .rl-arrow.down { display: none !important; }
body.rd .sm9 .rl-arrow.up { top: -14px !important; border-left: 11px solid transparent !important; border-right: 11px solid transparent !important; border-top: 16px solid #ffe14d !important;
    filter: drop-shadow(2px 2px 0 rgba(0, 0, 0, .4)); }
body.rd .sm9 .rl-win { clip-path: inset(-20px 0 0 0); }
body.rd .sm9 .rl-strip { clip-path: inset(0); }
body.rd .sm9 .rl-card.win { border: 0 !important; box-shadow: none !important; outline: 3px solid #ffe14d; outline-offset: -3px; }
body.rd .sm9 .rl-all[hidden] { display: inline-flex !important; visibility: hidden; }
body.rd .sm9 { margin-bottom: 0 !important; }

/* Таббар: старая тень-контур под старый размер — убрать */
body.rd #tabbar-inner { box-shadow: 5px 6px 0 rgba(0, 0, 0, .35) !important; border: 0 !important; backdrop-filter: none !important; }

/* Всплывашка (тост) — тёмная наклейка с цветной кромкой */
body.rd:not(.rd-skip) .toast { border: 0 !important; border-radius: 0 !important; background: #1f2622 !important; color: #f6efe0 !important; font: 600 14px/1.35 "Jost", sans-serif !important;
    box-shadow: inset 4px 0 0 #ffe14d, 5px 6px 0 rgba(0, 0, 0, .4) !important; clip-path: polygon(0 4%, 100% 0, 99% 100%, 1% 96%); padding: 14px 18px 14px 20px !important; text-shadow: none !important; }
/* Кнопка «наверх» — мятый кружок */
body.rd-all #backToTopBtn { width: 46px !important; height: 46px !important; border: 0 !important; border-radius: 0 !important; background: #ffe14d !important; color: #121d22 !important; box-shadow: none !important;
    -webkit-mask: url("badge_circle_2.webp") center / contain no-repeat; mask: url("badge_circle_2.webp") center / contain no-repeat; display: flex; align-items: center; justify-content: center; }
body.rd-all #backToTopBtn svg { width: 20px !important; height: 20px !important; stroke-width: 2.6; }
/* Пустые экраны — Рем вместо серой коробки, фраза наклейкой (текст добавляет p8.js) */
body.rd-all:not(.rd-skip) #view .empty { padding: 30px 0 10px; gap: 14px !important; font: 600 15px/1.4 "Jost", sans-serif !important; color: rgba(246, 239, 224, .75) !important; text-align: center; }
body.rd-all:not(.rd-skip) #view .empty::before { width: 120px !important; height: 130px !important; opacity: 1 !important; background: var(--rd-empty-art, url("../assets/hero_renders/rem.webp")) center / contain no-repeat !important;
    -webkit-mask: none !important; mask: none !important; filter: drop-shadow(4px 5px 0 rgba(0, 0, 0, .35)); }
body.rd-all:not(.rd-skip) #view .empty.rd-sad::before { background-image: var(--rd-empty-art, url("../assets/hero_renders/rem.webp")) !important; }
body.rd .empty .rd-st { margin-top: 2px; }

/* ================= ГЛАВНАЯ (партия 10) ================= */
/* патч и новости: снимок в рамке + тёмная панель, наложенная на его низ */
body.rd .hb10 { position: relative; margin: 18px 0 10px; }
body.rd .hb10-photo { position: relative; aspect-ratio: 16 / 9; border: 5px solid #efe3cc; background: #1a1e27; overflow: hidden; rotate: -1deg; box-shadow: 5px 7px 0 rgba(0, 0, 0, .35); }
body.rd .hb10-photo img { width: 100%; height: 100%; object-fit: cover; display: block; border-radius: 0 !important; }
body.rd .hb10-photo.is-hero img { object-position: 50% 18%; }
body.rd .hb10-panel { position: relative; z-index: 2; margin: -44px 10px 0 18px; padding: 16px 16px 16px; background: #1c2321; rotate: .8deg;
    box-shadow: 5px 7px 0 rgba(0, 0, 0, .35); clip-path: polygon(0 2%, 100% 0, 99.4% 100%, .6% 98%); }
body.rd .hb10-tag { display: flex; align-items: center; gap: 10px; }
body.rd .hb10-tag small { font: 500 12.5px/1 "Jost", sans-serif; color: rgba(246, 239, 224, .6); }
body.rd .hb10-title { margin: 12px 0 0; font: 400 20px/1.15 "Days One", sans-serif; text-transform: uppercase; color: #f6efe0; text-wrap: balance; }
body.rd .hb10-go { margin: 16px 0 0 !important; background: #efe3cc !important; }
body.rd .hb10-go span { color: #121d22 !important; }
body.rd .nw10 .hb10-title { font: 800 23px/1.1 "Alegreya", serif; text-transform: none; }
body.rd .nw10-body { margin: 10px 0 0; font: 400 15px/1.55 "Jost", sans-serif; color: rgba(246, 239, 224, .82); }

/* последний матч — тёмный конверт с клапаном и сургучной печатью */

/* «Мета сейчас»: герой по центру своей рамки */
body.rd .rd-home .h2-hcard img { left: 50% !important; right: auto !important; transform: translateX(-50%) !important; object-position: 50% 0 !important; }

/* ================= ПАТЧИ (партия 10): спокойнее и читаемее, как старые, но в новой системе ================= */
/* действия — под заголовком */
/* комментарии — внизу листа, по центру, целиком внутри */
/* разбор Кью — в цвет кнопки, спокойнее */

/* ================= УГАДАЙ ПРЕДМЕТ — заставка (партия 10) ================= */
body.rd .g10-cover { width: 100%; padding: 22px 10px 18px; background: #1c2321; box-shadow: 5px 7px 0 rgba(0, 0, 0, .35); clip-path: polygon(0 2%, 100% 0, 99.4% 100%, .6% 98%); }
body.rd .g10-shelf { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; }
body.rd .g10-it { width: 100% !important; height: auto !important; aspect-ratio: 5 / 6; padding: 10px !important; animation: g10In .4s cubic-bezier(.2, .9, .3, 1.2) backwards; animation-delay: calc(var(--i) * 80ms); }
body.rd .g10-it:nth-child(odd) { rotate: -2deg; } body.rd .g10-it:nth-child(even) { rotate: 2deg; translate: 0 6px; }
@keyframes g10In { from { opacity: 0; transform: translateY(14px); } }
@media (prefers-reduced-motion: reduce) { body.rd .g10-it { animation: none; } }
/* неподвижная колонка таблицы прокачки: фон и слой сильнее общего «все ячейки прозрачные» (иначе кружки поверх названий) */
body.rd .rd-order .bd-order-table th.bd-order-corner, body.rd .rd-order .bd-order-table td.bd-order-ability { position: sticky !important; left: 0; z-index: 6 !important; background: #0f1218 !important; }
body.rd .rd-order .bd-order-table td.bd-order-ability { box-shadow: 10px 0 10px -6px #0f1218 !important; }
body.rd .rd-order .bd-order-table th.bd-order-corner, body.rd .rd-order .bd-order-table td.bd-order-ability { background: #100f0d !important; }
body.rd .rd-order .bd-order-table td.bd-order-ability { box-shadow: 10px 0 10px -6px #100f0d !important; }

/* ======================= ПАРТИЯ 11 ======================= */
/* ярлыки героя: шрифт не ужимается; длинный ярлык — в две строки внутри своей наклейки, ряд остаётся рядом */
body.rd-all .rd-tags { flex-wrap: nowrap !important; align-items: center; overflow: visible !important; gap: 6px !important; }
body.rd-all .rd-tags .rd-st-in { font-size: 11px !important; height: auto !important; min-height: 22px; padding: 4px 10px 3px !important; line-height: 1.05 !important;
    white-space: normal !important; max-width: 128px; text-align: center; }
/* видео героя: растворение ещё ниже и короче — у ярких фонов (Abrams) переход больше не выбивается */
body.rd-all .hero-video-frame { -webkit-mask-image: linear-gradient(to bottom, #000 0, #000 calc(100% - 64px), transparent 100%) !important;
    mask-image: linear-gradient(to bottom, #000 0, #000 calc(100% - 64px), transparent 100%) !important; }
body.rd-all.tg-safe-area-active .hero-video-frame { -webkit-mask-image: linear-gradient(to bottom, transparent 0, #000 48px, #000 calc(100% - 64px), transparent 100%) !important;
    mask-image: linear-gradient(to bottom, transparent 0, #000 48px, #000 calc(100% - 64px), transparent 100%) !important; }
/* шапка предмета: без рисованной полосы за названием */
body.rd-all .rd-ihead-stroke { display: none !important; }
/* комментарии — в цвет места: герой — его цвет, предмет — цвет типа, патчи и прочее — коричневатый. Один набор правил на все экраны */
body.rd-all { --cc: 176, 138, 92; }
body.rd-all[data-rditem="weapon"] { --cc: 240, 166, 64; }
body.rd-all[data-rditem="vitality"] { --cc: 151, 218, 121; }
body.rd-all[data-rditem="spirit"] { --cc: 193, 156, 245; }
body.rd-all #view[data-rdhero] { --cc: var(--hc); }
body.rd-all:not(.rd-skip) #view .comment-row { background: linear-gradient(rgba(var(--cc), .1), rgba(var(--cc), .1)), #15181d !important; }
body.rd-all:not(.rd-skip) #view .comment-row.reply { background: linear-gradient(rgba(var(--cc), .06), rgba(var(--cc), .06)), #121418 !important; }
body.rd-all:not(.rd-skip) #view .comment-row.mine::before { background: rgb(var(--cc)) !important; }
body.rd-all:not(.rd-skip) #view .comment-name { color: rgb(var(--cc)) !important; filter: brightness(1.15); }
body.rd-all:not(.rd-skip) .comments-composer-inline .rd-paper { background: rgba(var(--cc), .16) !important; }
body.rd-all:not(.rd-skip) .comments-composer-inline .rd-paper-sh { background: rgba(0, 0, 0, .35) !important; }
body.rd-all:not(.rd-skip) .comments-composer-inline .comment-input, body.rd-all:not(.rd-skip) .comments-composer .comment-input { background: rgba(10, 12, 15, .78) !important; }
body.rd-all:not(.rd-skip) .comment-send-btn { background: rgb(var(--cc)) !important; }
body.rd-all:not(.rd-skip) .comments-composer { background: linear-gradient(rgba(var(--cc), .12), rgba(var(--cc), .12)), #15181d !important; }

/* высота экрана приложения: в прототипе — высота корпуса телефона, в Telegram — экран */
:root { --app-h: 100vh; }

/* ================= ПАТЧИ (партия 11): лента «на столе» ================= */
/* дата: мятый кружок с числом + месяц */
/* лист убран: патч лежит на фоне */
/* заголовок — длинная наклонённая полоса цвета патча */
/* наклейки действий под полосой */
/* текст — прямо на фоне, крупно и спокойно */
/* разбор Кью — фиолетовая записка, обычный шрифт */
/* читать полностью / свернуть — строкой по центру под текстом */
/* комментарии — облачко реплики */
/* герои патча — головы строкой, без рамок */
/* подписка — тёмная полоса */

/* ================= МЕТА (партия 11): большие бумажные блоки, скреплённые скотчем ================= */
body.rd .mt11-hub { gap: 0 !important; padding-bottom: 20px; }
body.rd .mt11 { position: relative; margin: 0 0 22px; rotate: var(--rot); cursor: pointer; -webkit-tap-highlight-color: transparent; }
body.rd .mt11-frame { position: relative; padding: 6px; background: #efe3cc; box-shadow: 5px 7px 0 rgba(0, 0, 0, .35); }
body.rd .mt11-photo { position: relative; height: 150px; overflow: hidden; background: #161a21; }
body.rd .mt11-photo::after { content: ""; position: absolute; inset: 0; pointer-events: none; background: linear-gradient(90deg, rgba(12, 14, 18, .85) 0%, rgba(12, 14, 18, .35) 55%, transparent 80%); }
body.rd .mt11-txt { position: absolute; left: 22px; bottom: 20px; z-index: 3; display: flex; flex-direction: column; gap: 6px; max-width: 70%; }
body.rd .mt11-txt b { font: 400 25px/1.02 "Days One", sans-serif; text-transform: uppercase; color: #f6efe0; text-shadow: 0 2px 10px rgba(0, 0, 0, .6); }
body.rd .mt11-txt small { font: 500 13px/1.25 "Jost", sans-serif; color: rgba(246, 239, 224, .78); text-shadow: 0 1px 6px rgba(0, 0, 0, .7); }
body.rd .mt11-txt b::after { content: ""; display: block; width: 42px; height: 5px; margin-top: 6px; background: var(--tc); }
/* скотч — на стыке с блоком выше */
body.rd .mt11-tape { position: absolute; z-index: 5; top: -14px; left: 50%; width: 92px; height: 24px; margin-left: -46px; rotate: var(--tr); background: rgba(239, 227, 204, .5);
    clip-path: polygon(3% 0, 97% 6%, 100% 100%, 0 92%); box-shadow: 0 1px 0 rgba(0, 0, 0, .08); }
body.rd .mt8-head + .mt11 .mt11-tape { display: none; }
body.rd .mt11:active { scale: .985; }
/* Винрейт: Виктор вылезает за верх рамки */
body.rd .mt11-big { margin-top: 84px; }
body.rd .mt11-big .mt11-photo { height: 158px; }
body.rd .mt11-big .mt8-bg { position: absolute; right: -8%; bottom: -46px; height: 250px; }
body.rd .mt11-out { position: absolute; left: 6px; right: 6px; top: 6px; bottom: 6px; clip-path: inset(-150px -6px 0 -6px); pointer-events: none; z-index: 2; }
body.rd .mt11-out img { position: absolute; right: -4%; bottom: -36px; height: 244px; filter: drop-shadow(-6px 0 14px rgba(0, 0, 0, .5)); }
/* наполнение картинок — справа, под текст слева */
body.rd .mt11 .mt8-map { position: absolute; right: -6%; top: 50%; width: 72%; transform: translateY(-50%) rotate(-6deg); }
body.rd .mt11-photo:has(.mt8-map) { background: radial-gradient(60% 90% at 75% 50%, rgba(151, 218, 121, .2), transparent 70%), #141a17; }
body.rd .mt11-photo:has(.mt8-reels) { background: radial-gradient(60% 90% at 75% 50%, rgba(242, 143, 181, .22), transparent 70%), #1a1418; }
body.rd .mt11 .mt8-reels { position: absolute; right: 12px; top: 12px; bottom: 12px; display: flex; gap: 6px; }
body.rd .mt11 .mt8-reel { width: 58px; overflow: hidden; border: 3px solid #efe3cc; background: #23262e; }
body.rd .mt11 .mt8-reel:nth-child(1) { rotate: -3deg; } body.rd .mt11 .mt8-reel:nth-child(3) { rotate: 3deg; }
body.rd .mt11 .mt8-reel img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 25%; }
/* два половинных блока */
body.rd .mt11-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin-top: 4px; }
body.rd .mt11-grid .mt11 { margin: 0; }
body.rd .mt11-grid .mt11-photo { height: 150px; }
body.rd .mt11-grid .mt11-photo::after { background: linear-gradient(0deg, rgba(12, 14, 18, .9) 0%, rgba(12, 14, 18, .3) 55%, transparent 80%); }
body.rd .mt11-grid .mt11-txt { left: 14px; right: 10px; bottom: 14px; max-width: none; }
body.rd .mt11-grid .mt11-txt b { font-size: 16px; }
body.rd .mt11-grid .mt11-txt small { font-size: 12px; }
body.rd .mt11-photo:has(.items) { background: radial-gradient(70% 80% at 50% 35%, rgba(96, 205, 227, .22), transparent 70%), #121820; }
body.rd .mt11 .mt8-geomap { position: absolute; inset: -20%; background: #efe3cc; opacity: .12; -webkit-mask: url("../assets/map/streets.webp") center / 120% auto no-repeat; mask: url("../assets/map/streets.webp") center / 120% auto no-repeat; }
body.rd .mt11 .mt8-geo { position: absolute; right: -14%; bottom: -10px; height: 140px; filter: grayscale(.4); opacity: .8; }
body.rd .mt11-soon { position: absolute; top: 14px; right: 12px; z-index: 4; rotate: 8deg; background: rgba(22, 26, 33, .85) !important; }
body.rd .mt11.soon { cursor: default; }

/* ================= ГЛАВНАЯ (партия 11) ================= */
/* патч: панель — светлый листок по центру поверх снимка; кнопка — маленькая тёмная наклейка */
body.rd .hb10-panel { background: #efe3cc !important; rotate: 1deg; }
body.rd .hb10 .hb10-title { color: #121d22 !important; }
body.rd .hb10 .hb10-tag small { color: rgba(18, 29, 34, .6) !important; }
body.rd .nw10 .hb10-panel { background: #1c2321 !important; }
body.rd .nw10 .hb10-title { color: #f6efe0 !important; }
body.rd .nw10 .hb10-tag small { color: rgba(246, 239, 224, .6) !important; }
/* последний матч: рамка с фоном героя, герой вылезает вверх, итог — полоса */
body.rd .mc11 { position: relative; margin: 74px 0 10px; cursor: pointer; -webkit-tap-highlight-color: transparent; }
body.rd .mc11-frame { position: relative; height: 128px; padding: 6px; background: #efe3cc; box-shadow: 5px 7px 0 rgba(0, 0, 0, .35); rotate: -.6deg; }
body.rd .mc11-bg { position: absolute; inset: 6px; width: calc(100% - 12px); height: calc(100% - 12px); object-fit: cover; }
body.rd .mc11-frame::after { content: ""; position: absolute; inset: 6px; background: linear-gradient(90deg, rgba(12, 14, 18, .85), rgba(12, 14, 18, .3) 60%, transparent); }
body.rd .mc11-txt { position: absolute; z-index: 2; left: 20px; top: 50%; transform: translateY(-50%); display: flex; flex-direction: column; align-items: flex-start; gap: 8px; max-width: 55%; }
body.rd .mc11-txt b { font: 400 26px/1 "Days One", sans-serif; text-transform: uppercase; color: #f6efe0; text-shadow: 0 2px 10px rgba(0, 0, 0, .6); }
body.rd .mc11-hero { position: absolute; z-index: 3; right: 8px; bottom: 76px; height: 190px; max-width: 48%; object-fit: contain; object-position: bottom; filter: drop-shadow(-6px 4px 12px rgba(0, 0, 0, .55)); pointer-events: none; }
body.rd .mc11-row { display: grid; grid-template-columns: repeat(4, 1fr); gap: 6px; margin: 16px 2px 0; }
body.rd .mc11-n { display: flex; flex-direction: column; gap: 5px; }
body.rd .mc11-n b { font: 700 20px/1 "Jost", sans-serif; color: #f6efe0; }
body.rd .mc11-n:first-child b { color: #ffe14d; }
body.rd .mc11-n small { font: 500 12px/1 "Jost", sans-serif; color: rgba(246, 239, 224, .6); }

/* ================= УГАДАЙ ПРЕДМЕТ (партия 11) ================= */
body.rd .g11-rules { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; width: 100%; }
body.rd .g11-rule { display: flex; flex-direction: column; align-items: center; gap: 7px; text-align: center; }
body.rd .g11-rule .rd-badge { width: 56px !important; height: 56px !important; filter: drop-shadow(3px 3px 0 rgba(0, 0, 0, .3)); }
body.rd .g11-rule .rd-badge i { width: 26px; height: 26px; background: #121d22; -webkit-mask-size: contain; mask-size: contain; -webkit-mask-repeat: no-repeat; mask-repeat: no-repeat; -webkit-mask-position: center; mask-position: center; }
body.rd .g11-rule b { font: 400 13px/1.1 "Days One", sans-serif; text-transform: uppercase; color: #f6efe0; margin-top: 2px; }
body.rd .g11-rule small { font: 500 12px/1.25 "Jost", sans-serif; color: rgba(246, 239, 224, .6); }
body.rd-all .guess-game { min-height: calc(var(--app-h) - var(--safe-top) - 40px) !important; }
body.rd .g9-game { display: flex !important; flex-direction: column; min-height: calc(var(--app-h) - var(--safe-top) - 40px) !important; }
body.rd .g11-mid { margin: auto 0; padding: 10px 0 40px; }
body.rd .g11-stage { flex: none !important; height: 230px; min-height: 0 !important; }
body.rd .g11-stage .g9-glow { width: 300px; height: 300px; }
body.rd .g11-item { position: relative; width: 170px; height: 170px; object-fit: contain; filter: drop-shadow(0 8px 16px rgba(0, 0, 0, .5)); animation: g9In .35s cubic-bezier(.2, .9, .3, 1.2) backwards, guessIdle 2.6s ease-in-out .35s infinite; }   /* 25.10: покачивание вернулось (терялось при переносе в редизайн) */
body.rd-all .guess-countdown { min-height: calc(var(--app-h) - var(--safe-top) - 120px); justify-content: center !important; }
/* конец игры — по центру экрана */
body.rd .g11-over { justify-content: center !important; gap: 14px !important; min-height: calc(var(--app-h) - var(--safe-top) - 60px) !important; }
body.rd .g11-score { display: flex; flex-direction: column; align-items: center; gap: 10px; margin: 6px 0; }
body.rd .g11-score .rd-badge { width: 150px !important; height: 150px !important; filter: drop-shadow(5px 6px 0 rgba(0, 0, 0, .35)); }
body.rd .g11-score .rd-badge b { font: 400 64px/1 "Days One", sans-serif !important; color: #121d22 !important; }
body.rd .g11-score small { font: 500 15px/1.3 "Jost", sans-serif; color: rgba(246, 239, 224, .75); }
body.rd .g11-btn { margin-top: 8px; height: 48px; padding: 2px 28px 0; border: 0; cursor: pointer; background: #ffe14d; color: #121d22; font: 400 15px/1 "Days One", sans-serif; text-transform: uppercase;
    letter-spacing: .04em; filter: drop-shadow(4px 4px 0 rgba(0, 0, 0, .3)); }
body.rd .g11-btn:active { scale: .96; }

/* ================= СЛУЧАЙНЫЙ ГЕРОЙ (партия 11) ================= */
body.rd .sm9 > .rl:not(.rl-pool) { position: relative; padding-top: 14px !important; }
/* «40 из 40» и звук — наклейки на верхнем краю барабана */
body.rd .sm9 > .rl:not(.rl-pool) > .rl-top { position: absolute; z-index: 8; left: 10px; right: 10px; top: 0; margin: 0 !important; pointer-events: none; }
body.rd .sm9 > .rl:not(.rl-pool) > .rl-top > * { pointer-events: auto; }
body.rd .sm9 > .rl:not(.rl-pool) .rl-count { padding: 5px 9px 3px; background: #efe3cc; color: #121d22 !important; font: 400 10.5px/1 "Days One", sans-serif !important; text-transform: uppercase;
    rotate: -3deg; clip-path: polygon(3% 8%, 100% 0, 97% 100%, 0 92%); }
body.rd .sm9 > .rl:not(.rl-pool) .rl-top .icon-btn { width: 34px !important; height: 34px !important; background: #efe3cc !important; color: #121d22 !important; border-radius: 0 !important;
    -webkit-mask: url("badge_circle_2.webp") center / contain no-repeat; mask: url("badge_circle_2.webp") center / contain no-repeat; clip-path: none !important; }
/* барабан: без щелей между портретами, белая рамка поверх всегда */
body.rd .sm9 .rl-win { border: 0 !important; margin-top: 18px; }
body.rd .sm9 .rl-strip { column-gap: 0 !important; }
body.rd .sm9 .rl-win::after { content: "" !important; display: block !important; position: absolute; inset: 0; z-index: 6; border: 5px solid #efe3cc; pointer-events: none; background: none !important; width: auto !important; }
body.rd .sm9 .rl-card.win { outline: 0 !important; }
body.rd .sm9 .rl-card.win::after { content: ""; position: absolute; inset: 0; z-index: 4; border: 4px solid #ffe14d; pointer-events: none; }
/* язычок бьётся о зубцы */
body.rd .sm9 .rl-arrow.up { z-index: 9 !important; transform-origin: 50% 0; transform: translateX(-50%); }
/* «Крутить» — наклейка на нижнем краю барабана */
body.rd .sm9 #rhSpin.sm11-spin { position: relative; z-index: 9; display: flex !important; align-items: center; justify-content: center; width: auto !important; min-width: 170px; height: 46px !important;
    margin: -18px auto 0 !important; padding: 2px 26px 0 !important; border: 0 !important; border-radius: 0 !important; background: #f28fb5 !important; box-shadow: none !important; rotate: -1.5deg;
    filter: drop-shadow(4px 4px 0 rgba(0, 0, 0, .35)); -webkit-mask: none !important; mask: none !important; }
body.rd .sm9 #rhSpin.sm11-spin, body.rd .sm9 #rhSpin.sm11-spin * { font: 400 15px/1 "Days One", sans-serif !important; text-transform: uppercase; color: #121d22 !important; text-shadow: none !important; }
body.rd .sm9 #rhSpin.sm11-spin svg { display: none !important; }
/* участники: без анимаций фильтра (из-за неё соседний портрет на миг мылился) */
body.rd .sm9 .rl-pick, body.rd .sm9 .rl-pick img { transition: none !important; will-change: auto !important; }
body.rd .sm9 .rl-pick img { backface-visibility: hidden; }
body.rd .mt11-txt b { font-size: 22px; }
body.rd .sm9 > .rl:not(.rl-pool) .rl-count { font-size: 9.5px !important; padding: 4px 7px 2px !important; }
body.rd .g9-intro .g11-btn { margin: 4px auto 0; }
body.rd-all .rd-tags .rd-st-in { max-width: 160px !important; }

/* ======================= ПАРТИЯ 12 (выкладка Арсенала) ======================= */
/* ярлыки героя — цвет героя из игры (colors.style), текст светлый или тёмный по яркости */
body.rd .rd-tags .rd-st { --c: var(--tagc, #dd6638) !important; }
body.rd .rd-tags .rd-st-in { background: var(--tagc, var(--c)) !important; color: var(--tagfg, #121d22) !important; }
/* сетка героев: фон за портретом — чёрный */
body.rd .rd-file-photo { background: #000 !important; }
/* упоминание способности в советах — без пунктира, цвет оставляем */
body.rd .rd-note .skill-link { text-decoration: none !important; border-bottom: 0 !important; background-image: none !important; }
/* клавиши в описаниях: кнопки мыши — значки из игры, клавиши — маленькая наклейка */
body.rd img.kb { display: inline-block; width: 1.15em; height: 1.15em; vertical-align: -.22em; margin: 0 .1em; }
body.rd .kbd { display: inline-block; min-width: 1.4em; padding: .1em .35em 0; margin: 0 .1em; border: 1.5px solid currentColor; border-radius: 3px; font: 400 .78em/1.25 "Days One", sans-serif;
    text-align: center; vertical-align: .05em; }
/* значок атрибута, которого нет в нашем наборе, — размером строки; битые — прячем (redesign.js убирает при ошибке загрузки) */
body.rd .rd-desc img[data-ia], body.rd .rd-up img[data-ia], body.rd .rd-desc img.inline-attribute { width: 15px !important; height: 15px !important; vertical-align: -2px; margin-right: 3px; }
body.rd img.kb { margin: 0 -.14em 0 0 !important; }
/* 13.10: на телефоне (Telegram) проявление полноэкранного фона героя за .45 с на время анимации рисовалось ПОВЕРХ карточки —
   «карточка мигает, остаётся только фон». Фоновые слои меняются сразу, без анимации прозрачности */
.rd-herobg, .rd-glow, .rd-wall, .rd-bg { transition: none !important; }
/* надпись Рема на пустом экране — переносится, не шире экрана */
body.rd-all:not(.rd-skip) #view .empty .rd-st { max-width: calc(100% - 24px); }
body.rd-all:not(.rd-skip) #view .empty .rd-st-in { white-space: normal !important; height: auto !important; min-height: 26px; padding: 5px 14px 4px !important; line-height: 1.2 !important; text-align: center; }

/* 13.10: ярлыки — каждый в одну строку, не помещаются — переносятся вторым рядом (раньше длинный ярлык ломался в 3 строки
   и обрезался кривой формой наклейки — Calico «большой мгновенный урон») */
body.rd-all .rd-tags { flex-wrap: wrap !important; row-gap: 7px !important; }
body.rd-all .rd-tags .rd-st-in { white-space: nowrap !important; max-width: none !important; height: 22px !important; min-height: 0 !important; padding: 2px 10px 0 !important; }
/* 13.10: под строкой состояния была полоса: видео начиналось ниже края экрана, а его верх растворялся — сквозь просвечивал фон.
   Видео — до самого верха экрана и без растворения сверху (голова героя выше всего на ~14 px) */
body.rd-all.tg-safe-area-active .hero-video-wrap { margin-top: calc(-1 * (var(--safe-top) + 6px)) !important; }
body.rd-all.tg-safe-area-active .hero-video-frame { -webkit-mask-image: linear-gradient(to bottom, #000 0, #000 calc(100% - 64px), transparent 100%) !important;
    mask-image: linear-gradient(to bottom, #000 0, #000 calc(100% - 64px), transparent 100%) !important; }

/* 13.10 (открытие карточки героя): постер видео и фон способностей — сразу, без проявления; нижние блоки страницы героя
   раскладываются, только когда до них доходит прокрутка (на телефоне раскладка всей страницы разом давала рывок ~0,1 с) */
body.rd-all .video-bg, body.rd-all .ability-bg { opacity: 1 !important; transition: none !important; }



/* 13.10: шапка героя (логотип + ярлыки) — постоянной высоты, привязана к низу: второй ряд ярлыков растёт ВВЕРХ, на видео,
   и блок способностей у всех героев стоит на одном месте (раньше съезжал на 29 px ниже конца видео — проглядывал фон) */
body.rd-all .hero-title-row { height: 85px; display: flex !important; flex-direction: column; justify-content: flex-end; overflow: visible; }
/* второй ряд — плотно и вразнобой, как наклеенные */
body.rd-all .rd-tags { row-gap: 3px !important; }
body.rd-all .rd-tags .rd-st:nth-child(2) { translate: 0 -2px; }
body.rd-all .rd-tags .rd-st:nth-child(3) { translate: 0 2px; }

/* 13.10: окно «войди через Steam» (комментарии и т.п.) — в новом стиле: тёмный лист без скругления и рамки, текст Jost,
   кнопка — талончик (как «Поделиться»/«Все сборки»), знак Steam — водяной знак. Профиль не трогаем (.rd-skip) */
body.rd-all:not(.rd-skip) #view .steam-gate { border: 0 !important; border-radius: 0 !important; background: rgba(12, 14, 18, .78) !important; box-shadow: 5px 7px 0 rgba(0, 0, 0, .35) !important;
    clip-path: polygon(0 2%, 100% 0, 99.4% 100%, .6% 97%); padding: 26px 20px 24px !important; }
body.rd-all:not(.rd-skip) #view .steam-gate::before, body.rd-all:not(.rd-skip) #view .steam-gate::after { display: none !important; }
body.rd-all:not(.rd-skip) #view .steam-gate-bg { opacity: .07 !important; color: #efe3cc !important; }
body.rd-all:not(.rd-skip) #view .steam-gate-text { font: 500 15px/1.45 "Jost", sans-serif !important; color: rgba(246, 239, 224, .85) !important; text-shadow: none !important; }
body.rd-all:not(.rd-skip) #view .steam-gate-benefits li { font: 500 14px/1.4 "Jost", sans-serif !important; color: rgba(246, 239, 224, .85) !important; }
body.rd-all:not(.rd-skip) #view .steam-gate-btn { display: inline-flex !important; align-items: center; justify-content: center; width: auto !important; min-width: 200px; height: 42px !important;
    margin: 6px auto 0 !important; padding: 2px 26px 0 !important; border: 0 !important; border-radius: 0 !important; background: #efe3cc !important; box-shadow: none !important; rotate: -1deg;
    color: #121d22 !important; font: 400 13.5px/1 "Days One", sans-serif !important; text-transform: uppercase; letter-spacing: .04em; text-shadow: none !important;
    -webkit-mask: radial-gradient(circle 7px at 0 50%, transparent 98%, #000) left / 51% 100% no-repeat, radial-gradient(circle 7px at 100% 50%, transparent 98%, #000) right / 51% 100% no-repeat;
    mask: radial-gradient(circle 7px at 0 50%, transparent 98%, #000) left / 51% 100% no-repeat, radial-gradient(circle 7px at 100% 50%, transparent 98%, #000) right / 51% 100% no-repeat; }
body.rd-all:not(.rd-skip) #view .steam-gate-btn:active { scale: .96; }

body.rd .hero-cell.rd-opening { scale: .94; filter: brightness(.8); transition: scale .12s ease, filter .12s ease; }

/* ======================= 13.10 (вечер): плавность ======================= */
/* переключение способности: карточка раскрывается сверху вниз, нити прорисовываются — одна кривая, одна длительность, старт разом */
body.rd-all .rd-kit-anim .rd-panel { animation: rd13Panel .45s cubic-bezier(.4, 0, .2, 1) both !important; }
@keyframes rd13Panel { from { opacity: .25; clip-path: inset(-30px -30px 100% -30px); } to { opacity: 1; clip-path: inset(-30px); } }
body.rd-all .rd-strings.draw path { animation: rd8Draw .45s cubic-bezier(.4, 0, .2, 1) both !important; }
body.rd-all .rd-panel.rd-wait, body.rd-all .rd-strings.rd-wait path { animation-play-state: paused !important; }
/* комментарии — только они раскладываются по прокрутке (у Истории и др. наклейка выходит за край — content-visibility её резал) */
body.rd-all #view[data-rdhero] > #heroComments { content-visibility: auto; contain-intrinsic-size: auto 420px; }
/* общие тормоза на телефоне: фон body был закреплён при прокрутке (background-attachment: fixed — перерисовка всего экрана
   на каждом шаге), хотя в новом оформлении его закрывают наши слои; невидимые полноэкранные слои убраны из отрисовки */
body.rd { background: #0e1016 !important; background-attachment: scroll !important; }
.rd-bg:not(:is(body.rd[data-rdtab="home"] .rd-bg-home, body.rd[data-rdtab="arsenal"] .rd-bg-arsenal, body.rd[data-rdtab="meta"] .rd-bg-meta, body.rd[data-rdtab="patches"] .rd-bg-patches)) { display: none; }
body.rd:not([data-rditem="weapon"]):not([data-rditem="vitality"]):not([data-rditem="spirit"]):not([data-rdcat="weapon"]):not([data-rdcat="vitality"]):not([data-rdcat="spirit"]) .rd-glow { display: none; }
body.rd:not([data-rdview="heroes"]) .rd-wall { display: none; }
body.rd:not([data-rdview="hero"]) .rd-herobg { display: none; }
/* размытие под полем комментария — облегчённое: 6 px вместо 10 и плотнее подложка (дешевле для телефона, вид почти тот же) */
body.rd-all .comments-composer { backdrop-filter: blur(6px) !important; -webkit-backdrop-filter: blur(6px) !important; }
/* сетки героев и предметов: появляются целиком одним проявлением (раньше каждая плитка со своей задержкой — «то медленно, то быстро») */
body.rd .rd-file, body.rd .rd-cell { animation: none !important; }
body.rd .hero-grid, body.rd .item-grid { animation: rd9Fade .22s ease-out both; }
/* значок премиума у имени — без круглой подложки, на одной линии с именем */
body.rd-all:not(.rd-skip) .premium-badge-img { background: none !important; border-radius: 0 !important; width: 18px !important; height: 18px !important; object-fit: contain !important; }
body.rd-all:not(.rd-skip) .premium-star { display: inline-flex; vertical-align: middle !important; margin-left: 5px; }
body.rd-all:not(.rd-skip) .comment-name { display: flex; align-items: center; }

/* 13.10: фон не двигается при открытии клавиатуры — полноэкранные слои закреплены по полной высоте экрана
   (--rd-vh — наибольшая высота окна, ставит redesign.js), а не по видимой части, которую клавиатура уменьшает */
.rd-herobg, .rd-bgs, .rd-glow, .rd-wall { bottom: auto !important; height: var(--rd-vh, 100lvh) !important; }

/* пока печатаешь в поле на странице — таббар спрятан (не закрывает поле над клавиатурой) */
body.rd.rd-typing #tabbar { opacity: 0; pointer-events: none; transition: opacity .15s ease; }

/* тайминги предметов (13.10): фишка в шапке предмета и минута у покупателей — тем же светлым мелким, что «N матчей» */
body.rd .rd-ihead-txt .rd-ihead-time { margin-top: 2px; white-space: nowrap; max-width: 100%; }
body.rd .rd-ihead-txt .rd-ihead-time b { font: 700 12.5px/1 var(--rd-f-body); color: var(--rd-cream); text-shadow: none; }
body.rd .rd-piece .buyer-time { color: var(--rd-cream); opacity: .75; font: 600 12px/1 var(--rd-f-body); }

/* «Твои смерти» в Мете (14.10): та же обложка карты, что у «Карты города», повёрнута в другую сторону, с точками гибели */

/* скелетон загрузки (14.10, владелец: «комментарии грузятся ещё в старом стиле») — та же полоска, что у готового комментария:
   неровный край, оттенок места (--cc), квадратная аватарка в кремовой рамке; мерцание тёплое, а не серое */
body.rd-all:not(.rd-skip) .skel-row { gap: 12px; margin: 12px 0 0; padding: 12px; border: 0; border-radius: 0; background: #1a1f26;
    clip-path: polygon(0 2%, 100% 0, 99.5% 100%, .5% 98%); }
body.rd-all:not(.rd-skip) #view .skel-row { background: linear-gradient(rgba(var(--cc, 239, 227, 204), .08), rgba(var(--cc, 239, 227, 204), .08)), #15181d; }
body.rd-all:not(.rd-skip) .skel { border-radius: 0; background: rgba(246, 239, 224, .09); }
body.rd-all:not(.rd-skip) .skel-avatar { width: 40px; height: 40px; border: 2px solid rgba(239, 227, 204, .5); box-sizing: border-box; box-shadow: 2px 3px 0 rgba(0, 0, 0, .3); }
body.rd-all:not(.rd-skip) .skel-line { height: 9px; }
body.rd-all:not(.rd-skip) .skel::after { background: linear-gradient(90deg, transparent, rgba(255, 225, 77, .1), transparent); }
/* фон за фото героя в сетке (14.10, владелец выбрал вариант B): игровая сцена героя — уменьшенная копия фона карточки,
   слой .rd-file-fx под прозрачным портретом, края слегка затемнены, чтобы герой читался */
body.rd .rd-file-photo { position: relative; background: #0b0d12 !important; }
body.rd .rd-file-photo img { position: relative; z-index: 1; }
body.rd .rd-file-fx { position: absolute; inset: 0; z-index: 0; overflow: hidden; }
body.rd .rd-file-fx::before, body.rd .rd-file-fx::after { content: ""; position: absolute; inset: 0; }
body.rd .rd-file-fx { background-position: center; background-size: cover; background-repeat: no-repeat; filter: saturate(1.25); }
body.rd .rd-file-fx::before { display: none; }
/* 25.10 (владелец: «уйдёшь в другие разделы, вернёшься — фоны Арсенала грузятся заново, а герои нет»): фон был CSS-фоном — его
   браузер раскодирует отдельно и рисует позже картинки; теперь это такая же картинка, как портрет (decoding=sync) */
body.rd .rd-file-fx > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; display: block; }
body.rd .rd-file-fx::after { background: radial-gradient(130% 100% at 50% 35%, transparent 55%, rgba(0, 0, 0, .45)); }

/* обход «прилагающегося» (14.10, владелец: «всё, про что обычно забывают»): тост выше — на всех экранах, кроме Профиля
   (раньше только на Арсенале, а всплывает он где угодно); загрузка — кремовая наклейка с пульсацией вместо серого текста;
   просмотр картинки — фото в кремовой рамке, крестик — бумажный квадрат */
body.rd:not(.rd-skip) #view > .loading { display: table; margin: 48px auto; padding: 9px 16px 8px; background: #efe3cc; color: #121d22;
    font: 400 12px/1 "Days One", sans-serif; text-transform: uppercase; letter-spacing: .04em; transform: rotate(-1.2deg);
    box-shadow: 3px 4px 0 rgba(0, 0, 0, .35); clip-path: polygon(0 6%, 100% 0, 99% 100%, 1% 94%); }
body.rd .lightbox { background: rgba(8, 10, 14, .92); }
body.rd .lightbox img { border: 5px solid #efe3cc; border-radius: 0; box-shadow: 6px 8px 0 rgba(0, 0, 0, .45); background: #0b0d12; }
body.rd .lightbox-close { width: 40px; height: 40px; border: 0; border-radius: 0; background: #efe3cc; color: #121d22;
    box-shadow: 3px 4px 0 rgba(0, 0, 0, .4); clip-path: polygon(4% 0, 100% 5%, 96% 100%, 0 95%); }
body.rd .lightbox-close svg { width: 18px; height: 18px; }

/* «Назад» на компьютере (15.10, владелец): табличка-указатель, как на столбе с городами — острый носик влево, справа вырез
   флажком. Только ПК (на телефоне кнопку заменяет нативная Telegram), везде, кроме Профиля (.rd-skip). Стрелка «‹» из текста
   скрыта: направление показывает сам носик таблички. Тень — drop-shadow: обычную обрезал бы clip-path. */
/* 15.10: табличка уменьшена (владелец: «слишком большая») — 26px, шрифт 11px */
body.rd.is-desktop:not(.rd-skip) .backbtn { isolation: isolate; height: 26px; padding: 0 17px 0 20px !important; margin-bottom: 10px; font-size: 0 !important;
    color: transparent; background: none; border: 0; display: inline-flex; align-items: center; transform: rotate(-1.5deg);
    filter: drop-shadow(3px 4px 0 rgba(0, 0, 0, .4)); transition: transform .15s ease; }
body.rd.is-desktop:not(.rd-skip) .backbtn::before { content: ""; position: absolute; inset: 0; z-index: -1; background: #efe3cc;
    clip-path: polygon(0 50%, 12px 0, 100% 0, calc(100% - 8px) 50%, 100% 100%, 12px 100%); }
body.rd.is-desktop:not(.rd-skip) .backbtn::after { content: "Назад"; position: relative; font: 400 11px/1 "Days One", sans-serif;
    text-transform: uppercase; letter-spacing: .05em; color: #121d22; }
body.rd.is-desktop:not(.rd-skip) .backbtn:hover { transform: rotate(-1.5deg) translateX(-3px); }
body.rd.is-desktop:not(.rd-skip) .backbtn:active { opacity: 1; transform: rotate(-1.5deg) translateX(-3px) scale(.97); }
body.rd.is-desktop:not(.rd-skip) .backbtn:focus-visible { outline: 2px solid #ffe14d; outline-offset: 3px; }

/* «История» (15.10, владелец на Sinclair): тёмная подложка текста почти касалась верхней рамки — сверху тот же зазор, что по бокам */
body.rd #view[data-rdhero] .block.bg-block.hc8-history > .rd-h3 { margin-bottom: 24px !important; }

/* наклейка ранга (15.10): без своего наклона — поворот + filter: drop-shadow мылили мелкий текст «Eternus» */
body.rd .rd-st-flat { transform: none !important; }

/* строки сборок вне карточки героя (15.10) — тёмная бумага с неровным краем, как «Популярные сборки» в карточке героя */
body.rd:not(.rd-skip) #view .rd-brow { position: relative; display: grid !important; grid-template-columns: auto minmax(0, 1fr) auto; grid-template-areas: "ic main arr" "ic tags arr";
    column-gap: 12px; row-gap: 9px; align-items: center; margin: 0 4px 14px !important; padding: 14px 12px 14px 16px !important; background: rgba(12, 14, 19, .74) !important;
    border: 0 !important; border-radius: 0 !important; box-shadow: none !important; rotate: var(--rot); cursor: pointer; overflow: visible !important; }
body.rd:not(.rd-skip) #view .rd-brow::before, body.rd:not(.rd-skip) #view .rd-brow::after { display: none !important; }
body.rd:not(.rd-skip) #view .rd-brow .build-row-hero-icon { grid-area: ic; width: 46px; height: 46px; border-radius: 0 !important; border: 0 !important; background: none !important; object-fit: contain; }
body.rd:not(.rd-skip) #view .rd-brow .build-row-main { grid-area: main; min-width: 0; }
body.rd:not(.rd-skip) #view .rd-brow .build-row-title { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 8px; font: 800 17px/1.15 "Alegreya", serif !important; color: #f6efe0 !important; }
body.rd:not(.rd-skip) #view .rd-brow .build-row-meta { margin-top: 4px; font: 500 12.5px/1.35 "Jost", sans-serif !important; color: rgba(246, 239, 224, .6) !important; }
body.rd:not(.rd-skip) #view .rd-brow .build-row-tags { grid-area: tags; display: flex !important; gap: 8px !important; }
body.rd:not(.rd-skip) #view .rd-brow .hc8-tag { width: 38px; height: 44px; padding: 4px; }
body.rd:not(.rd-skip) #view .rd-brow .hc8-tag .build-tag-icon { width: 100% !important; height: 100% !important; border: 0 !important; background: none !important; padding: 0 !important; box-shadow: none !important; object-fit: contain; }
body.rd:not(.rd-skip) #view .rd-brow .arrow { grid-area: arr; color: #efe3cc; opacity: .55; }
body.rd:not(.rd-skip) #view .rd-brow:active { transform: scale(.985); }

/* порядок прокачки (15.10): колонка названий без заливки и тени — названия прозрачным слоем .rd-ocol (p8.js drawOrderLines),
   клетки под ней скрывает маска таблицы. Сами ячейки-названия в таблице остаются только ради ширины и высоты строк. */
body.rd .rd-order .bd-order-table th.bd-order-corner, body.rd .rd-order .bd-order-table td.bd-order-ability { background: transparent !important; box-shadow: none !important; }
body.rd .rd-order .bd-order-table td.bd-order-ability > * { visibility: hidden; }
body.rd .rd-order .rd-ocol { position: absolute; z-index: 6; display: flex; align-items: center; padding-left: 14px; box-sizing: border-box; pointer-events: none; }
body.rd .rd-order .rd-ocol > div { display: flex; align-items: center; gap: 6px; min-width: 0; }
body.rd .rd-order .rd-ocol img { width: 22px; height: 22px; object-fit: cover; flex: 0 0 auto; }
body.rd .rd-order .rd-ocol span { font: 600 12px/1.15 var(--rd-f-body); color: var(--rd-cream); }

/* значки способностей/предметов в тексте изменений (15.10, владелец: «опять серый фон под значками») — без подложки везде, кроме Профиля */
body.rd:not(.rd-skip) .kew-chip img { background: none !important; border-radius: 0 !important; box-shadow: none !important; }

/* ===== ПАТЧИ, 17.10.2026 (pt13, p8.js decoratePatches13): прод-вид в новом стиле, структура та же ===== */
/* лента: пунктир-маршрут (штрих и толщина — как в таблице прокачки), точка — мятый кружок; у свежего патча — оранжевый */
body.rd #view.pt13 .patch-timeline-item { gap: 12px; }
body.rd #view.pt13 .patch-timeline-line { width: 0 !important; background: none !important; border-left: 2px dashed var(--rd-dash, rgba(246, 239, 224, .3)) !important; margin-left: 1px; }
body.rd #view.pt13 .patch-timeline-dot { width: 14px !important; height: 14px !important; border: 0 !important; box-shadow: none !important; background: #8a8f9a !important;
    -webkit-mask: url("badge_circle_1.webp") center / contain no-repeat; mask: url("badge_circle_1.webp") center / contain no-repeat; }
body.rd #view.pt13 .pt13-new .patch-timeline-dot { background: #dd6638 !important; }
body.rd #view.pt13 .patch-timeline-date { font: 400 11px/1 "Days One", sans-serif !important; text-transform: uppercase; letter-spacing: .08em; color: rgba(246, 239, 224, .55) !important; margin-bottom: 8px; }
body.rd #view.pt13 .pt13-new .patch-timeline-date { color: #dd6638 !important; }

/* карточка — тёмная бумага (как «Популярные сборки»), края чуть неровные, без скругления и рамки */
body.rd #view.pt13 .patch { background: rgba(12, 14, 19, .74) !important; border: 0 !important; border-radius: 0 !important; box-shadow: none !important;
    clip-path: polygon(0 3px, 100% 0, 100% calc(100% - 3px), 0 100%); padding: 16px 14px 12px !important; }
body.rd #view.pt13 .patch, body.rd #view.pt13 .patch * { text-shadow: none !important; }
/* кнопки справа «обтекаются»: первая строка заголовка рядом с ними, дальше — на всю ширину (было: колонка 172px, 4 строки) */
body.rd #view.pt13 .patch-headrow h3 { flex: 1 1 auto; min-width: 0; font: 800 18px/1.2 "Alegreya", serif !important; color: #f6efe0 !important; }
body.rd #view.pt13 .pt13-new .patch-headrow h3 { font-size: 19px !important; }
body.rd #view.pt13 .patch-headrow { margin-bottom: 10px !important; }
/* 19.10 (владелец: «на проде лучше»): строки без головы держат колонку героя, как на проде — текст патча идёт
   ровным столбиком, а не «первая строка героя с отступом, остальные у края». Колонка = ширина головы (30px). */
body.rd #view.pt13 .body:has(img.tier-head[data-hero]) .patch-hero-spacer { width: 30px !important; }
/* «Кью» — жёлтая наклейка (значок Кью тёмный), сворачивание — мятый кружок с шевроном */
body.rd #view.pt13 .kew-toggle { height: 30px !important; padding: 2px 10px 0 12px !important; border: 0 !important; border-radius: 0 !important; background: #ffe14d !important;
    color: #121d22 !important; font: 400 12px/1 "Days One", sans-serif !important; text-transform: uppercase; letter-spacing: .04em; box-shadow: none !important;
    clip-path: polygon(2% 8%, 100% 0, 97% 100%, 0 92%); transform: rotate(-2deg); gap: 6px !important; }
body.rd #view.pt13 .kew-toggle svg { width: 16px !important; height: 16px !important; color: #121d22 !important; margin-top: -2px; }
body.rd #view.pt13 .patch.kew-active .kew-toggle { background: #efe3cc !important; }
body.rd #view.pt13 .patch-fold-toggle { width: 32px !important; height: 32px !important; padding: 0 !important; border: 0 !important; border-radius: 0 !important; background: #efe3cc !important;
    color: #121d22 !important; box-shadow: none !important; display: flex !important; align-items: center; justify-content: center;
    -webkit-mask: url("badge_circle_2.webp") center / contain no-repeat; mask: url("badge_circle_2.webp") center / contain no-repeat; }
body.rd #view.pt13 .patch-fold-toggle svg { width: 16px !important; height: 16px !important; color: #121d22 !important; }
body.rd #view.pt13 .patch-fold-toggle.disabled { opacity: .4; }

/* текст — как на проде, шрифт и цвет нового стиля */
body.rd #view.pt13 .patch .body, body.rd #view.pt13 .patch .body *, body.rd #view.pt13 .kew-panel, body.rd #view.pt13 .kew-panel * { font-family: "Jost", sans-serif !important; }
body.rd #view.pt13 .patch .body { font-size: 15px !important; line-height: 1.55 !important; color: rgba(246, 239, 224, .88) !important; }
body.rd #view.pt13 .patch .body b, body.rd #view.pt13 .patch .body strong, body.rd #view.pt13 .patch .body .patch-hero-name { color: #fff !important; }
body.rd #view.pt13 .patch .body .kew-chip { background: none !important; border: 0 !important; padding: 0 !important; color: #fff !important; }
body.rd #view.pt13 .patch .body .kew-chip img, body.rd #view.pt13 .patch-hero-spacer img { background: none !important; border: 0 !important; border-radius: 0 !important; }
body.rd #view.pt13 .patch .body .patch-section-h { display: inline-block !important; margin: 14px 0 6px !important; padding: 5px 9px 3px !important; background: #efe3cc !important;
    color: #121d22 !important; font: 400 11px/1 "Days One", sans-serif !important; letter-spacing: .06em; text-transform: uppercase; transform: rotate(-1deg); border: 0 !important; }
body.rd #view.pt13 .patch .body .patch-img { border: 5px solid #efe3cc !important; border-radius: 0 !important; box-shadow: 4px 5px 0 rgba(0, 0, 0, .35); transform: rotate(-.6deg); }
body.rd #view.pt13 .patch .patch-fade { background: linear-gradient(180deg, rgba(17, 19, 25, 0), #111319 90%) !important; }
/* Кью: заголовок — наклейка, подзаголовки — жёлтым заголовочным шрифтом */
body.rd #view.pt13 .kew-header { display: inline-flex !important; padding: 5px 9px 3px; background: #ffe14d; color: #121d22 !important; font: 400 11px/1 "Days One", sans-serif !important;
    text-transform: uppercase; letter-spacing: .04em; transform: rotate(-1deg); }
body.rd #view.pt13 .kew-header svg { color: #121d22 !important; }
body.rd #view.pt13 .kew-h { font: 800 17px/1.2 "Alegreya", serif !important; color: #ffe14d !important; }
body.rd #view.pt13 .kew-p { font-size: 15px !important; line-height: 1.55 !important; color: rgba(246, 239, 224, .88) !important; }

/* комментарии — полоска внизу карточки за пунктиром, подпись наклеечным шрифтом */
body.rd #view.pt13 .comments-btn { margin-top: 12px !important; padding: 12px 2px 2px !important; height: auto !important; background: none !important; border: 0 !important;
    border-top: 2px dashed var(--rd-dash, rgba(246, 239, 224, .3)) !important; border-radius: 0 !important; box-shadow: none !important; }
body.rd #view.pt13 .comments-btn .comments-count { font: 400 12px/1 "Days One", sans-serif !important; text-transform: uppercase; letter-spacing: .04em; color: #f6efe0 !important; padding-top: 2px; }
body.rd #view.pt13 .comments-btn .arrow { color: #ffe14d !important; }
body.rd #view.pt13 .comments-avatars img { border-radius: 50%; }
/* ряд голов под карточкой — головы без рамок и подложек */
body.rd #view.pt13 .patch-hero-touch { width: 28px !important; height: 28px !important; border: 0 !important; border-radius: 0 !important; background: none !important; box-shadow: none !important;
    object-fit: contain; filter: drop-shadow(2px 2px 0 rgba(0, 0, 0, .4)); }
/* уведомления — та же тёмная бумага */
body.rd #view.pt13 .patch-sub { background: rgba(12, 14, 19, .74) !important; border: 0 !important; border-radius: 0 !important; box-shadow: none !important; }
body.rd #view.pt13 .patch-sub .ps-txt b { font: 400 12px/1.1 "Days One", sans-serif !important; text-transform: uppercase; color: #f6efe0 !important; }
body.rd #view.pt13 .patch-sub .ps-ic { color: #ffe14d !important; background: none !important; }


/* последний матч: форма — подпись и кружки в одну строку, внизу единый талончик */
body.rd .mc12-go { margin: 16px auto 2px !important; }
/* герой — от верха рамки (128px): вылезает вверх и кончается на полосе итога, не зависит от высоты низа карточки */
body.rd .mc11-hero { top: -66px !important; bottom: auto !important; height: 196px !important; }
body.rd .h8 .mc11 { margin-top: 96px !important; }

/* 16.10: значки рангов — в правый верх, название — левый низ: по диагонали, не налезают (было: веер по центру под словом ЛИДЕРБОРД) */

/* 16.10: длинные имена (Deadman Danny) — переносом на вторую строку, без многоточия и без ужатия шрифта; место под две
   строки у всех подписей, чтобы фото в ряду стояли ровно */
body.rd .sm9 .rl-pick span { white-space: normal !important; overflow: visible !important; text-overflow: clip !important; display: flex !important;
    align-items: center; justify-content: center; min-height: 2em; line-height: 1 !important; overflow-wrap: anywhere; }

/* 16.10: заставка угадайки — по центру высоты, как экран конца (было: прижата к верху, низ пустой); снизу таббар */
body.rd .g9-intro { justify-content: center !important; gap: 22px !important; min-height: calc(var(--app-h, 100vh) - var(--safe-top, 0px) - 150px) !important; }
body.rd .g9-intro .g10-cover { background: none !important; box-shadow: none !important; border: 0 !important; }   /* карточки — прямо на столе, без коробки (портрет вкуса, п. 2) */


/* 17.10: «Берут на 9:45» — кремовая наклейка (та же система, что наклейка типа над названием), а не тёмная «таблетка»;
   часы — по пикселям на одной высоте с цифрами (были ниже на 0,6px — владелец: «часы сползают вниз») */
body.rd .rd-ihead-time { height: 28px !important; padding: 2px 11px 0 10px !important; border-radius: 0 !important; background: #efe3cc !important; color: #121d22 !important;
    font: 400 11.5px/1 "Days One", sans-serif !important; text-transform: uppercase; letter-spacing: .03em; clip-path: polygon(1% 10%, 100% 0, 98% 100%, 0 90%);
    transform: rotate(-1.2deg); filter: drop-shadow(2px 3px 0 rgba(0, 0, 0, .3)); gap: 6px !important; }
body.rd .rd-ihead-time b { color: #121d22 !important; font: 400 13px/1 "Days One", sans-serif !important; }
body.rd .rd-ihead-time svg { width: 13px !important; height: 13px !important; color: #121d22; translate: 0 -1.6px; }
body.rd .rd-ihead-time, body.rd .rd-ihead-time * { text-shadow: none !important; }   /* тёмный текст — без тени */
body.rd .buyer-time svg { translate: 0 -.6px; }
/* 25.10 (владелец: «Берут на — тёмное, нечитаемо, значок и время не на одном уровне»): правило наклейки выше полторы недели
   выбрасывал обрывок CSS; вернул — и сделал компактнее, чтобы на дорогих предметах не заезжало под ценник */
body.rd .rd-ihead-time { text-transform: none !important; letter-spacing: 0 !important; font: 600 12.5px/1 "Jost", sans-serif !important; padding: 1px 10px 0 9px !important; gap: 5px !important; }
body.rd .rd-ihead-time b { font: 400 13px/1 "Days One", sans-serif !important; margin-left: 2px; }
/* 26.10 (владелец: «часы, текст и время не на одном уровне»): наклейка была повёрнута на 1,2° — на 140 px правый край
   выше левого на 2 px, а часы ещё и подняты на 1,6 px под прежний шрифт. Теперь ровно (скошенные края остались),
   часы без сдвига: середина часов = середина заглавных и цифр (по пикселям, ±0,3 px). */
body.rd .rd-ihead-time { transform: none !important; }
body.rd .rd-ihead-time svg { translate: none !important; }


/* ===== Главная, последний матч (17.10): вырезка героя, имя заголовочным шрифтом, тёмная полоса итога, цифры на бумаге ===== */
body.rd .mc12 .mc11-txt b { font: 800 30px/1.05 "Alegreya", serif !important; text-transform: none !important; letter-spacing: 0; color: #f6efe0; text-shadow: 0 2px 12px rgba(0, 0, 0, .55); }
body.rd .mc12 .mc11-hero.mc12-cut { top: -112px !important; height: 270px !important; right: -10px !important; max-width: 66% !important; object-fit: contain; object-position: right bottom;
    filter: drop-shadow(-8px 6px 14px rgba(0, 0, 0, .5)); }
body.rd .mc12-band { position: relative; z-index: 4; display: flex; align-items: center; justify-content: space-between; gap: 10px; margin: -12px -4px 0; padding: 13px 18px 11px;
    background: #121d22; rotate: .6deg; filter: drop-shadow(3px 4px 0 rgba(0, 0, 0, .35)); }
body.rd .mc12-band, body.rd .mc12-band * { text-shadow: none !important; }
body.rd .mc12-band b { font: 400 18px/1 "Days One", sans-serif; text-transform: uppercase; letter-spacing: .03em; }
body.rd .mc12.win .mc12-band b { color: #97da79; } body.rd .mc12.loss .mc12-band b { color: #ff7b6b; }
body.rd .mc12-band span { font: 400 18px/1 "Days One", sans-serif; color: #f6efe0; }
body.rd .mc12-sheet { margin: 12px 2px 0; padding: 14px 16px 14px; background: rgba(12, 14, 19, .74); clip-path: polygon(0 2px, 100% 0, 100% calc(100% - 2px), 0 100%); }
body.rd .mc12-sheet .mc11-row { margin: 0 !important; }
body.rd .mc12-form { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-top: 14px; padding-top: 12px; border-top: 2px dashed var(--rd-dash, rgba(246, 239, 224, .3)); }
body.rd .mc12-form small { font: 400 11px/1 "Days One", sans-serif; text-transform: uppercase; letter-spacing: .06em; color: rgba(246, 239, 224, .55); padding-top: 2px; }
body.rd .mc12-form > span { display: flex; gap: 5px; }
body.rd .mc12-f { display: inline-flex; align-items: center; justify-content: center; width: 24px; height: 24px;
    -webkit-mask: url("badge_circle_1.webp") center / contain no-repeat; mask: url("badge_circle_1.webp") center / contain no-repeat; }
body.rd .mc12-f:nth-child(even) { -webkit-mask-image: url("badge_circle_2.webp"); mask-image: url("badge_circle_2.webp"); }
body.rd .mc12-f.w { background: #97da79; } body.rd .mc12-f.l { background: #ed4a4b; }
body.rd .mc12-f svg { width: 12px; height: 12px; fill: none; stroke: #121d22; stroke-width: 2.2; stroke-linecap: round; stroke-linejoin: round; }

body.rd .h8 .mc11.mc12 { margin-top: 142px !important; }


/* ===== Мета, сетка (18.10, владелец: «края рамок обрезаны, всё маленькое, пробелы, Виктор сломался — посмотри прод») =====
   Геометрия — как на проде (style.css .mf/.mf-big): высоты 150/132, промежуток как у прода, Виктор теми же числами —
   голова выходит на 104px вверх, к заголовку «Мета». Бумажная рамка — ровная, без clip-path (он срезал края и тень). */
body.rd .mt11-hub { gap: 12px !important; }
body.rd .mt8-head { position: relative; z-index: 3; max-width: 58%; margin: 4px 2px 6px !important; }
body.rd .mt11 { rotate: 0deg !important; margin: 0 !important; }
body.rd .mt11-frame { clip-path: none !important; padding: 4px !important; }
body.rd .mt11-photo { height: 132px !important; }
body.rd #mfBoard .mt11-photo, body.rd .mt11-big .mt11-photo { height: 150px !important; }
body.rd .mt11-big { margin-top: 0 !important; }
body.rd .mt11-big .mt8-bg { right: -9% !important; bottom: -48px !important; height: 270px !important; }
body.rd .mt11-out { left: 4px !important; right: 4px !important; top: -100px !important; bottom: 4px !important; overflow: hidden; clip-path: none !important; }
body.rd .mt11-out img { right: -6% !important; bottom: -41px !important; height: 240px !important; transform: scale(1.06); transform-origin: 50% 100%; }
body.rd .mt11-txt b { font-size: 22px !important; }
body.rd .mt11-big .mt11-txt b, body.rd #mfBoard .mt11-txt b { font-size: 26px !important; }
body.rd .mt11-tape { top: -13px !important; width: 64px !important; height: 18px !important; margin-left: -32px !important; }
body.rd .mt11-grid { gap: 12px !important; margin: 0 !important; }
body.rd .mt11-grid .mt11-photo { height: 150px !important; }
body.rd .mt11-grid .mt11-txt b { font-size: 17px !important; }
body.rd .mt11-hub.enter-anim > * { animation-name: rd9Fade !important; }

/* ===== Патчи, 18.10 (владелец: «читается тяжело», «КОММЕНТАРИИ по центру без стрелки», «Кью — анимация через раз,
   визуально улучшить включённый разбор: свечение заголовков, рамка — как было до») ===== */
/* обтекание кнопок без перестановки DOM: кнопки — в углу, в заголовке — невидимый «заполнитель» той же ширины */
body.rd #view.pt13 .patch-headrow { position: relative; display: block !important; }
body.rd #view.pt13 .patch-headrow-actions { position: absolute !important; top: 0; right: 0; float: none !important; margin: 0 !important; }
body.rd #view.pt13 .patch-headrow h3::before { content: ""; float: right; width: 44px; height: 34px; }
body.rd #view.pt13 .patch-headrow:has(.kew-toggle) h3::before { width: 128px; }
/* читаемость: бумага почти непрозрачная (зерно фона не проступает), текст плотнее и спокойнее по цвету, шире межстрочный */
body.rd #view.pt13 .patch { background: rgba(14, 16, 22, .9) !important; }
body.rd #view.pt13 .patch .body, body.rd #view.pt13 .kew-p { font-weight: 500 !important; font-size: 15px !important; line-height: 1.62 !important;
    color: rgba(236, 231, 220, .8) !important; letter-spacing: .005em; }
body.rd #view.pt13 .patch .body b, body.rd #view.pt13 .patch .body strong, body.rd #view.pt13 .kew-p b { font-weight: 700 !important; color: #f6efe0 !important; }
body.rd #view.pt13 .patch-line { margin-bottom: 8px !important; }
/* комментарии — по центру, без стрелки */
body.rd #view.pt13 .comments-btn { justify-content: center !important; gap: 10px; }
body.rd #view.pt13 .comments-btn .arrow { display: none !important; }
body.rd #view.pt13 .comments-btn .comments-count { margin: 0 !important; }
/* включённый Кью — как на проде, в цвете Кью: рамка карточки, залитая кнопка, свечение заголовков, блик при переключении */
body.rd #view.pt13 .patch.kew-active { box-shadow: inset 0 0 0 1px rgba(255, 225, 77, .5), 0 0 22px -6px rgba(255, 225, 77, .35) !important; }
body.rd #view.pt13 .patch.kew-active .kew-toggle { background: #ffe14d !important; filter: drop-shadow(0 0 8px rgba(255, 225, 77, .45)); }
body.rd #view.pt13 .kew-header { display: inline-flex !important; background: none !important; transform: none !important; padding: 0 !important; margin: 0 0 10px !important;
    color: #ffe14d !important; font: 400 12px/1 "Days One", sans-serif !important; letter-spacing: .06em;
    text-shadow: 0 0 6px rgba(255, 225, 77, .5), 0 0 16px rgba(255, 225, 77, .28) !important; }
body.rd #view.pt13 .kew-header svg { color: #ffe14d !important; filter: drop-shadow(0 0 4px rgba(255, 225, 77, .6)) drop-shadow(0 0 9px rgba(255, 225, 77, .35)); }
body.rd #view.pt13 .kew-h { text-shadow: 0 0 6px rgba(255, 225, 77, .45), 0 0 16px rgba(255, 225, 77, .25) !important; }
body.rd #view.pt13 .patch.kew-flip::after { background: linear-gradient(100deg, transparent 40%, rgba(255, 225, 77, .22) 50%, transparent 60%) !important;
    background-size: 250% 100% !important; }

/* ===== Поле комментария над таббаром (18.10, владелец: «странно присоединено — по цветам и отступам») =====
   Одна панель с таббаром: та же тёмная бумага, шов — пунктир-маршрут, поле ввода и кнопка в тон; без своей тени. */
body.rd-all:not(.rd-skip) .comments-composer { background: #1a1f2a url("paper_dark.webp") !important; background-size: 256px !important; box-shadow: none !important;
    border-bottom: 2px dashed rgba(246, 239, 224, .18) !important; padding: 10px 10px 9px !important; backdrop-filter: none !important; -webkit-backdrop-filter: none !important; }
body.rd-all:not(.rd-skip) .comments-composer .comment-input { background: rgba(8, 10, 14, .55) !important; height: 40px; }
body.rd-all:not(.rd-skip) .comments-composer .comment-send-btn { width: 40px !important; height: 40px !important; border-radius: 0 !important;
    clip-path: polygon(6% 4%, 100% 0, 96% 100%, 0 94%); }
body.rd-all:not(.rd-skip).comments-open #tabbar-inner { box-shadow: 5px 6px 0 rgba(0, 0, 0, .35) !important; }

/* «Назад» на ПК (18.10, владелец: «нажимается, только если навести ровно на текст») — верх таблички перекрывала невидимая
   шапка #topbar (пустая с 27.09 — поиск переехал к таббару, но висит прозрачным слоем z 20); она пропускает нажатия насквозь */
body.rd #topbar { pointer-events: none; }
body.rd #topbar > * { pointer-events: auto; }

/* ===== Главная, 18.10 (владелец): последний матч — одним блоком (рамка, итог, цифры без зазоров), до кнопки — маленький
   отступ; патч и матч связаны, как Виктор с заголовком в Мете: герой матча заходит на правый нижний угол карточки патча.
   Работает для любого героя: вырезка (mc12-cut) или прозрачный портрет из игры (gloat/critical) — у каждого свой размер. */
body.rd .mc12-band { margin: -10px 0 0 !important; rotate: 0deg !important; }
body.rd .mc12-sheet { margin: 0 !important; clip-path: none !important; }
body.rd .mc12 .mc12-go { margin: 12px auto 2px !important; }
body.rd .h8 .mc11.mc12 { margin-top: 64px !important; z-index: 2; }
body.rd .mc12 .mc11-hero.mc12-cut { top: -126px !important; height: 270px !important; }
/* 24.10 (владелец): вырезки — одной высоты у всех, ширина своя; широкий герой уходит за правый край экрана (сдвиг и обрезка —
   fitHomeHero в p8.js), а не ужимается в 66% ширины: «кто-то крошечный, а кто-то большой — выглядит странно» */
body.rd .mc12 .mc11-hero.mc12-cut { width: auto !important; max-width: none !important; right: -10px !important; object-fit: fill !important; }
/* имя и «Последний матч» — поверх героя, как на постере (оружие широких героев проходит под надписью, а не уводит героя
   за край экрана); надпись вынесена из рамки, наклон и середина — как у рамки (128px, −0,6°) */
body.rd .mc12 > .mc12-txt { z-index: 5; top: 64px; rotate: -.6deg; pointer-events: none; }
/* ушедший вправо герой не должен давать боковую прокрутку: clip (в отличие от hidden) режет только по горизонтали
   и не делает Главную прокручиваемым блоком — вверх герой по-прежнему выходит */
body.rd .h8 { overflow-x: clip; margin-inline: -12px; padding-inline: 12px; }   /* рамка обрезки — по краям экрана: свечение логотипа слева не режется (25.10) */
body.rd .mc12 > .mc12-txt b { text-shadow: 0 2px 12px rgba(0, 0, 0, .7), 0 0 3px rgba(0, 0, 0, .55) !important; }
body.rd .mc12 .mc11-hero:not(.mc12-cut) { top: -104px !important; height: 236px !important; right: -4px !important; max-width: 58% !important; object-position: right bottom; }
/* портрет из игры (не вырезка) — квадратный: края мягко растворяются, чтобы не было прямых срезов справа и снизу */
body.rd .mc12 .mc11-hero:not(.mc12-cut) { -webkit-mask-image: linear-gradient(to bottom, #000 62%, transparent 96%), linear-gradient(to left, transparent 0, #000 18%);
    -webkit-mask-composite: source-in; mask-image: linear-gradient(to bottom, #000 62%, transparent 96%), linear-gradient(to left, transparent 0, #000 18%); mask-composite: intersect; }

/* Случайный герой, 18.10: кнопка звука — кремовая мятая наклейка (общее правило icon-btn с #view перебивало её в тёмный),
   стоит над рамкой барабана, значок по центру; язычок — физикой в p8.js (CSS-толчок убран) */
body.rd .sm9 .rl-arrow.up { will-change: transform; }

/* Угадай предмет, заставка (18.10, владелец: «зачем обводки у предметов — просто обложка предмета, без рамочки») */
body.rd .g10-it { background: none !important; padding: 0 !important; aspect-ratio: 1 !important; filter: drop-shadow(4px 5px 0 rgba(0, 0, 0, .4)); }
body.rd .g10-it img { border-radius: 0; }

/* ===== Патчи, 18.10 вечер (владелец: «сравни с продом — цвета не те, шрифт не тот, глаза режет, фон дерьмовый»;
   «у Кью анимации вообще нет — должно выглядеть на вау») =====
   Текст и карточка — ровно как на проде (Exo 2, #8b93a4, 14px/1.55, карточка #171c27); новый стиль — в акцентах. */
body.rd #view.pt13 .patch { background: #171c27 !important; box-shadow: 0 10px 26px -18px rgba(0, 0, 0, .8) !important; }
body.rd #view.pt13 .patch .body, body.rd #view.pt13 .patch .body *, body.rd #view.pt13 .kew-panel, body.rd #view.pt13 .kew-panel * { font-family: "Exo 2", system-ui, sans-serif !important; }
body.rd #view.pt13 .patch .body, body.rd #view.pt13 .kew-p { font-weight: 500 !important; font-size: 14.5px !important; line-height: 1.55 !important; color: #8b93a4 !important; letter-spacing: 0; }
body.rd #view.pt13 .patch .body b, body.rd #view.pt13 .patch .body strong, body.rd #view.pt13 .kew-p b, body.rd #view.pt13 .patch .body .patch-hero-name, body.rd #view.pt13 .patch .body .kew-chip { color: #e8e6df !important; font-weight: 700 !important; }
body.rd #view.pt13 .patch .patch-fade { background: linear-gradient(180deg, rgba(23, 28, 39, 0), #171c27 90%) !important; }
body.rd #view.pt13 .kew-h { font-family: "Alegreya", serif !important; }
/* Кью «на вау»: блик по карточке (прод), вспышка рамки, отщёлк кнопки, разбор выплывает строками */
body.rd #view.pt13 .patch.kew-flip::after { display: block !important; content: "" !important; position: absolute; inset: 0; z-index: 5; pointer-events: none;
    background: linear-gradient(100deg, transparent 35%, rgba(255, 225, 77, .32) 50%, transparent 65%) !important; background-size: 250% 100% !important;
    animation: kewShimmer .7s ease-out !important; }
/* 19.10 (владелец: патчи «лаганные»): вспышка Кью — дешёвая для телефона. Раньше анимировался сам box-shadow
   с размытием 38px на всю высокую карточку (перерисовка большой площади каждый кадр); теперь тень нарисована
   один раз на отдельном слое ::before, а анимируется только его прозрачность — это видеокарта делает почти даром. */
body.rd #view.pt13 .patch.kew-active { box-shadow: inset 0 0 0 1px rgba(255, 225, 77, .5) !important; }
body.rd #view.pt13 .patch.kew-active::before { content: "" !important; display: block !important; position: absolute; inset: 0; z-index: 4; width: auto !important; pointer-events: none;
    background: none !important; box-shadow: inset 0 0 0 2px rgba(255, 225, 77, .95), 0 0 38px 4px rgba(255, 225, 77, .55); opacity: 0; animation: pt13KewGlow 1.1s ease-out; }
@keyframes pt13KewGlow { 0% { opacity: 1; } 100% { opacity: 0; } }
body.rd #view.pt13 .patch.kew-active .kew-toggle { animation: pt13KewPop .45s cubic-bezier(.2, 1.6, .4, 1); }
@keyframes pt13KewPop { 0% { transform: rotate(-2deg) scale(.82); } 60% { transform: rotate(-4deg) scale(1.12); } 100% { transform: rotate(-2deg) scale(1); } }
body.rd #view.pt13 .kew-panel > * { animation: pt13KewIn .5s cubic-bezier(.2, .8, .3, 1) backwards; }
body.rd #view.pt13 .kew-panel > *:nth-child(1) { animation-delay: .08s; } body.rd #view.pt13 .kew-panel > *:nth-child(2) { animation-delay: .16s; }
body.rd #view.pt13 .kew-panel > *:nth-child(3) { animation-delay: .24s; } body.rd #view.pt13 .kew-panel > *:nth-child(4) { animation-delay: .32s; }
body.rd #view.pt13 .kew-panel > *:nth-child(5) { animation-delay: .4s; } body.rd #view.pt13 .kew-panel > *:nth-child(n+6) { animation-delay: .48s; }
@keyframes pt13KewIn { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: none; } }   /* без blur: на телефоне это слой на каждый блок */
body.rd #view.pt13 .kew-header { animation: pt13KewHead 1.6s ease-out; }
@keyframes pt13KewHead { 0% { text-shadow: 0 0 2px rgba(255, 225, 77, .9), 0 0 30px rgba(255, 225, 77, .9); } 100% { text-shadow: 0 0 6px rgba(255, 225, 77, .5), 0 0 16px rgba(255, 225, 77, .28); } }
@media (prefers-reduced-motion: reduce) { body.rd #view.pt13 .kew-panel > *, body.rd #view.pt13 .patch.kew-active::before, body.rd #view.pt13 .patch.kew-active .kew-toggle, body.rd #view.pt13 .kew-header { animation: none !important; } }

/* фоны вкладок (18.10, владелец: «фон дерьмовый» у Патчей, «фон не подходит» у Главной): Патчи — тёмно-синий, как на проде
   (тёплый коричневый резал вместе с текстом); Главная — тот же спокойный холодный, что у принятой Меты, без оранжевого свечения */
.rd-bg-patches { background: radial-gradient(90% 45% at 50% 0%, rgba(96, 120, 180, .08), transparent 65%), linear-gradient(180deg, #121621, #0c0e13) !important; }
.rd-bg-home { background: radial-gradient(90% 50% at 70% 0%, rgba(96, 205, 227, .07), transparent 60%), radial-gradient(70% 40% at 0% 60%, rgba(151, 218, 121, .05), transparent 70%),
    linear-gradient(180deg, #151a1b, #0e1112) !important; }

/* ===== Главная, 18.10 вечер: полоса патча — синеватая карточка патча (как во вкладке «Патчи»), не оранжевая; кнопка — только
   «Читать патч», приклеенная к правому краю полосы под углом; блоки при открытии только проявляются (сдвиг делал их отдельными
   слоями — голова героя на полсекунды уходила за карточку патча) */
body.rd .h8.enter-anim > *, body.rd .h2.enter-anim > * { animation-name: rd9Fade !important; }

/* ===== Главная, 19.10 (владелец): плашка патча — не кнопка (снят отклик на нажатие); дата текстом; «Читать патч» — в левом
   нижнем углу под полосой; блоки при открытии без анимации (даже проявление делает их отдельными слоями — голова героя
   уходила за плашку); «Открыть матч» ближе; заголовок новостей — крупно по центру между пунктирами ===== */
body.rd .h8.enter-anim > *, body.rd .h2.enter-anim > * { animation: none !important; }
body.rd .mc12 .mc12-go { margin: 6px auto 0 !important; }
body.rd .h8 .mc11.mc12 { margin-top: 74px !important; }
body.rd .nw19-head { display: flex; align-items: center; gap: 14px; margin: 34px 2px 16px; }
body.rd .nw19-head i { flex: 1; height: 0; border-top: 2px dashed rgba(246, 239, 224, .3); }
body.rd .nw19-head b { font: 800 24px/1 "Alegreya", serif; color: #f6efe0; white-space: nowrap; }
body.rd .nw19-date { display: block; margin-bottom: 8px; font: 400 11px/1 "Days One", sans-serif; letter-spacing: .06em; text-transform: uppercase; color: rgba(246, 239, 224, .55); }

/* ================= МЕТА 19.10 (владелец): без скотча, низ без лишнего, три обложки заново ================= */
body.rd .mt11-hub { padding-bottom: 0 !important; }
/* GeoGuessr (скоро) — чёрно-белая, «Скоро» — бумажная наклейка в общем стиле */
body.rd .mt11.soon .mt11-photo { filter: grayscale(1) contrast(1.05); }
body.rd .mt11 .mt8-geomap { opacity: .16; }
body.rd .mt11 .mt8-geo { filter: none; opacity: .9; }
body.rd .mt19-soon { position: absolute; top: 12px; right: 10px; z-index: 4; }
body.rd #mfBoard .mt11-txt b { font-size: 24px !important; }
body.rd .mt11.soon .mt11-txt b::after { background: #8b8f97; }

/* ================= СЛУЧАЙНЫЙ ГЕРОЙ 19.10 (владелец): без серой кривой панели за автоматом — на весь экран ================= */
body.rd .sm9 { background: none !important; clip-path: none !important; box-shadow: none !important; padding: 8px 0 16px !important; margin-top: 0 !important; }

/* ================= Карточка героя: винрейт по рангам (19.10) — в палитре редизайна ================= */
body.rd .hr-cap { font: 500 13px/1.3 "Jost", sans-serif; color: rgba(246, 239, 224, .7); }
body.rd .hr-cap b { color: #f6efe0; }
body.rd .hr-v { font: 400 10px/1 "Days One", sans-serif; color: rgba(246, 239, 224, .62); }
body.rd .hr-bar { border-radius: 0; background: #97da79; }
body.rd .hr-col.minus .hr-bar { background: #ed4a4b; }
body.rd .hr-col.best .hr-bar { background: #ffe14d; }
body.rd .hr-col.best .hr-v { color: #ffe14d; }
body.rd .hr-cols::before { border-top-color: rgba(246, 239, 224, .25); }

/* ================= МЕТА 21.10: обложки Лидерборда и Угадайки — крупный арт во всю плитку, как у соседей ================= */
/* Лидерборд — один постер героя справа, растворяется к заголовку (как Карта) */
body.rd .mt11-photo:has(.mt21-lb) { background: #15110d; }
body.rd .mt21-lb { position: absolute; inset: 0; }
body.rd .mt21-art { position: absolute; right: 0; top: 0; height: 100%; width: 66%; object-fit: cover; object-position: 50% 28%;
    -webkit-mask: linear-gradient(90deg, transparent, #000 34%); mask: linear-gradient(90deg, transparent, #000 34%); }
/* Угадай предмет — стена рисованных иконок предметов (витрина магазина) */
body.rd .mt11-photo:has(.mt21-guess) { background: #0e1116; }
body.rd .mt21-guess { position: absolute; inset: 0; overflow: hidden; }
body.rd .mt21-wall { position: absolute; left: 50%; top: 42%; display: grid; grid-template-columns: repeat(5, 46px); gap: 5px; translate: -50% -50%; rotate: -12deg; }
body.rd .mt21-wall img { width: 46px; height: 46px; object-fit: cover; filter: brightness(.42) saturate(.7); }
/* ================= Случайный герой 21.10: язычок — прежний треугольник, кончик заходит в ленту на ~6 px ================= */
/* Ось поворота — на 10 px выше треугольника (переменные совпадают с физикой в p8.js: L=27, S=21). */
body.rd .sm9 .rl-arrow.up { top: -6px !important; border-left: 11px solid transparent !important; border-right: 11px solid transparent !important;
    border-top: 17px solid #ffe14d !important; transform-origin: 50% -10px !important; }
body.rd .sm9 .rl-win { clip-path: inset(-30px 0 0 0) !important; }   /* штырёк и лопатка выше рамки — не резать */


/* ================= ПАТЧИ 23.10 — пятый заход: шапка карточки = плашка патча с Главной =================
   Владелец принял за 4 захода только «длинные наклонённые полосы» и плашку патча на Главной (выкачена 23.10); правило
   18.10 — числа и поведение прода, меняется вид. Шапка (.patch-headrow) — та же тёмная полоса с наклоном и тенью, дата —
   лейбл в её первой строке (как «16 СЕНТЯБРЯ · НОВЫЙ ПАТЧ»), «Кью» — маленькая жёлтая наклейка, как «Читать патч»;
   заголовок — во всю ширину (распорка под кнопки ломала его в 3 строки). Только CSS: DOM внутри патча не переставлять
   (ломает FLIP разворота). Тело — по числам прода. */
body.rd #view.pt13 .patch-timeline-body { position: relative; }
body.rd #view.pt13 .patch-timeline-date { position: absolute; z-index: 3; left: 16px; top: 18px; margin: 0 !important; pointer-events: none;
    font: 400 10.5px/1.2 "Days One", sans-serif !important; letter-spacing: .01em !important; color: rgba(246, 239, 224, .6) !important; rotate: -1.2deg; }
body.rd #view.pt13 .patch { padding-top: 0 !important; background: #10141c !important; }
body.rd #view.pt13 .patch-headrow { margin: 0 -10px 14px -8px !important; padding: 42px 16px 14px 18px !important; background: #171c27;
    rotate: -1.2deg; filter: drop-shadow(3px 5px 0 rgba(0, 0, 0, .4)); }
body.rd #view.pt13 .patch-timeline-item:nth-of-type(even) .patch-headrow { rotate: .9deg; padding-top: 46px !important; }   /* наклон вправо опускает угол с кнопками */
body.rd #view.pt13 .patch-timeline-item:nth-of-type(even) .patch-timeline-date { rotate: .9deg; }
body.rd #view.pt13 .patch-headrow h3::before { display: none !important; }
body.rd #view.pt13 .patch-headrow h3 { font: 800 19px/1.22 "Alegreya", serif !important; color: #f6efe0 !important; }
body.rd #view.pt13 .patch-headrow-actions { top: 10px !important; right: 6px !important; display: flex !important; align-items: center; gap: 6px; }
body.rd #view.pt13 .kew-toggle { height: 24px !important; padding: 3px 8px 1px 9px !important; gap: 5px; font: 400 10.5px/1 "Days One", sans-serif !important; rotate: 2deg; }
body.rd #view.pt13 .kew-toggle svg { width: 13px !important; height: 13px !important; margin-top: -1px; }
body.rd #view.pt13 .patch-fold-toggle { width: 26px !important; height: 26px !important; background: rgba(246, 239, 224, .1) !important; }
body.rd #view.pt13 .patch-fold-toggle svg { width: 14px !important; height: 14px !important; color: #efe3cc !important; }
/* общие строки (не герой и не предмет) — от края: колонку под голову держат только строки героев и предметов */
body.rd #view.pt13 .patch-line:not(:has(.patch-hero-name, .patch-item-name)) .patch-hero-spacer { display: none !important; }
/* новый патч — как на Главной: «16 СЕНТЯБРЯ · НОВЫЙ ПАТЧ», серым */
body.rd #view.pt13 .pt13-new .patch-timeline-date { color: rgba(246, 239, 224, .6) !important; }
body.rd #view.pt13 .pt13-new .patch-timeline-date::after { content: " · новый патч"; }

/* Новости на Главной 24.10 (владелец: «забагались — заголовка не видно, несколько новостей слиплись в одну»): панель
   наезжает на фото отрицательным отступом — без фото она наезжала на заголовок блока и на соседнюю новость. Без фото —
   обычная карточка; соседние новости — с зазором. */
body.rd .nw10.nw24-plain .hb10-panel { margin: 0 4px !important; rotate: .5deg !important; }
body.rd .nw10 + .nw10 { margin-top: 26px !important; }
body.rd .nw19-head { position: relative; z-index: 3; }


/* ===== 24.10: «Мета сейчас» — фон героя + вырезка 960 px, голова по центру плитки (--hx — доля ширины вырезки) ===== */
body.rd .rd-home .h2-hcard.mn24 img.mn24-bg { left: 0 !important; top: 0 !important; width: 100% !important; height: 100% !important;
    transform: none !important; object-fit: cover; object-position: 50% 35% !important; filter: brightness(.82); }
body.rd .rd-home .h2-hcard.mn24 img.mn24-hero { top: var(--top, 4%) !important; height: calc(var(--k, 1.25) * 100%) !important; width: auto !important; max-width: none !important;
    left: 50% !important; transform: translateX(calc(var(--hx) * -100%)) !important; object-fit: contain; filter: drop-shadow(0 6px 10px rgba(0, 0, 0, .45)); }

/* ===== 25.10: «Последний матч» — итог прямо на снимке (четвёртая попытка; три прошлых — отдельный блок под фото:
   тёмный «скучно», цветной «ужасно», кремовый «белый квадрат»). Снимок выше, слева — тёмный переход, по нему итог как
   на экране итогов матча; внизу снимка — тонкая тёмная полоса с последними матчами; наклона нет — стыки ровные. ===== */
/* 26.10 (владелец: «рамка странно обрезалась — наклон не задался; оружие будто под фоном»): у рамки была своя кривая маска,
   а полоса и затемнение — ровные, кайма выходила разной толщины; рамка теперь ровный прямоугольник. Затемнения ПОВЕРХ героя
   больше нет — тёмный переход только на самом снимке (::after), герой обходит надписи (placeCutHero). */
body.rd .mc12.mc25 .mc11-frame { clip-path: none !important; }
/* 26.10 (глубокий прогон): «кто берёт» в карточке предмета — имени оставалось 80 px («Nurse Har…» при свободном месте);
   длинное имя теперь переносится на вторую строку, промежутки 8 px */
body.rd .rd-piece .buyer-row { gap: 8px; }
body.rd .rd-piece .buyer-name { white-space: normal; text-overflow: clip; overflow-wrap: break-word; line-height: 1.15; }
/* 26.10: подписи фильтров карты — строка 13 px резала хвосты «р», «у» («Урна: появление»); 16 px — запас поровну сверху и снизу,
   центровка относительно значка не меняется */
body.rd #view.mp8 .mp-chip .nm { line-height: 16px; }
/* значок чипа — на середину заглавных надписи: строка центруется по своей высоте, и значок сидел на 0,7–0,8 px ниже
   (у «Центр. босс» 1,2 px; замер audit_centering, 27.10). Сдвиг — целый пиксель: дробный браузер не рисует (0,75 px — снимок
   тот же). Отступ 2px поднимает значок на 1px: по пикселям 0,3 выше середины у всех, у босса 0,2 ниже. text-box на .nm
   нельзя — обрезка строки срезала бы хвосты у/р/д */
body.rd #view.mp8 .mp-chip .mp-sw { margin-bottom: 2px; }
/* герой больше не под затемнением и местами заходит под надписи — у имени и цифр тонкий чёткий тёмный контур (как у цифр
   в самой игре), не размытая тень: на тёмном снимке его не видно, на герое — держит буквы */
body.rd .mc12.mc25 > .mc12-txt b, body.rd .mc25-res b, body.rd .mc25-res span, body.rd .mc25-kda b, body.rd .mc25-kda i, body.rd .mc25-kda small, body.rd .mc25-souls {
    paint-order: stroke fill; -webkit-text-stroke: 3px rgba(10, 12, 16, .88); }
body.rd .mc25-kda small, body.rd .mc25-res span, body.rd .mc25-souls { -webkit-text-stroke-width: 2.5px; }
body.rd .mc12.mc25 .mc11-frame { height: 262px !important; rotate: 0deg !important; padding: 6px !important; }
body.rd .mc12.mc25 .mc11-bg { object-position: 50% 30%; }
body.rd .mc12.mc25 .mc11-frame::after { background: linear-gradient(90deg, rgba(10, 12, 16, .94) 0, rgba(10, 12, 16, .8) 40%, rgba(10, 12, 16, .25) 66%, transparent 82%) !important; }
body.rd .mc12.mc25 > .mc12-txt { top: 26px !important; transform: none !important; rotate: 0deg !important; }
body.rd .mc12.mc25 > .mc12-txt b { text-shadow: none !important; }
body.rd .mc25-stats { position: absolute; z-index: 5; left: 22px; top: 112px; display: flex; flex-direction: column; align-items: flex-start; gap: 9px; pointer-events: none; }
body.rd .mc25-stats, body.rd .mc25-stats * { text-shadow: none !important; }
body.rd .mc25-res { display: flex; align-items: baseline; gap: 9px; }
body.rd .mc25-res b { font: 400 17px/1 "Days One", sans-serif; text-transform: uppercase; letter-spacing: .04em; color: #97da79; }
body.rd .mc12.loss .mc25-res b { color: #ff7b6b; }
body.rd .mc25-res span { font: 500 13px/1 "Jost", sans-serif; color: rgba(246, 239, 224, .6); }
body.rd .mc25-kda { display: flex; align-items: flex-start; gap: 8px; }
body.rd .mc25-kda span { display: flex; flex-direction: column; align-items: center; gap: 4px; }
body.rd .mc25-kda b { font: 400 30px/1 "Days One", sans-serif; color: #f6efe0; }
body.rd .mc25-kda small { font: 500 10.5px/1 "Jost", sans-serif; color: rgba(246, 239, 224, .55); }
body.rd .mc25-kda i { font: 400 22px/30px "Days One", sans-serif; font-style: normal; color: rgba(246, 239, 224, .35); }
body.rd .mc25-souls { font: 500 13px/1 "Jost", sans-serif; color: rgba(246, 239, 224, .7); }
body.rd .mc25-souls b { font: 400 16px/1 "Days One", sans-serif; color: #ffe14d; margin-right: 3px; }
body.rd .mc12.mc25 .mc25-foot { position: absolute !important; z-index: 4; left: 6px; right: 6px; top: 212px; height: 44px; margin: 0 !important; rotate: 0deg !important;
    display: flex; align-items: center; justify-content: space-between; padding: 0 12px 0 16px !important; background: rgba(10, 12, 16, .9) !important;
    box-shadow: none !important; filter: none !important; }
body.rd .mc12.mc25 .mc25-foot small { font: 400 11px/1 "Days One", sans-serif; text-transform: uppercase; letter-spacing: .05em; color: rgba(246, 239, 224, .55); }
body.rd .mc12.mc25 .mc25-foot > span { display: flex; gap: 5px; }
body.rd .mc12.mc25 .mc12-go { margin-top: 14px !important; }


/* ===== 24.10: «Пульс патча» на Главной — 4 карточки: цвет фона героя, вырезка над верхним краем, чёрная наклейка-ярлык,
   крупная цифра, кремовая наклейка с именем (как «Мета прямо сейчас» у Deadlock Labs, в нашем бумажном стиле) ===== */
body.rd .pp24-sec { margin-top: 30px; }
body.rd .pp24-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 58px 12px; margin-top: 56px; }
body.rd .pp24-card { position: relative; min-height: 224px; cursor: pointer; -webkit-tap-highlight-color: transparent; color: var(--pi); }
body.rd .pp24-card:nth-child(odd) { rotate: -.8deg; } body.rd .pp24-card:nth-child(even) { rotate: .7deg; translate: 0 6px; }
body.rd .pp24-bg { position: absolute; inset: 0; background: var(--pc); box-shadow: 4px 6px 0 rgba(0, 0, 0, .35); }
body.rd .pp24-bg::after { content: ""; position: absolute; inset: 0; pointer-events: none; opacity: .17;
    background: radial-gradient(circle, var(--pi) 1.1px, transparent 1.6px) 0 0 / 7px 7px;
    -webkit-mask-image: linear-gradient(200deg, #000 0, transparent 55%); mask-image: linear-gradient(200deg, #000 0, transparent 55%); }
body.rd .pp24-hero { position: absolute; z-index: 1; left: 50%; top: -48px; height: 168px; width: auto; max-width: none;
    transform: translateX(calc(var(--hx) * -100%)); filter: drop-shadow(0 6px 8px rgba(0, 0, 0, .35)); pointer-events: none;
    -webkit-mask-image: linear-gradient(to bottom, #000 72%, transparent 96%); mask-image: linear-gradient(to bottom, #000 72%, transparent 96%); }
body.rd .pp24-hero.pp24-flat { left: 0; top: 0; width: 100%; height: 118px; transform: none; object-fit: cover; object-position: 50% 15%; }
body.rd .pp24-card { overflow: hidden; overflow: clip; overflow-clip-margin: 60px; }
body.rd .pp24-txt { position: relative; z-index: 2; display: flex; flex-direction: column; align-items: flex-start; gap: 6px; padding: 104px 12px 14px; }
body.rd .pp24-lbl { white-space: nowrap; background: #121214; color: #f6efe0; font: 400 10px/1 "Days One", sans-serif; text-transform: uppercase; letter-spacing: .04em;
    padding: 6px 8px 5px; rotate: -2deg; box-shadow: 2px 3px 0 rgba(0, 0, 0, .28); }
body.rd .pp24-big { font: 400 34px/1 "Days One", sans-serif; color: var(--pi); letter-spacing: -.01em; margin-top: 2px; }
body.rd .pp24-nm { background: #f6efe0; color: #121214; font: 800 15px/1.05 "Alegreya", serif; padding: 4px 8px 3px; rotate: 1.5deg; box-shadow: 2px 3px 0 rgba(0, 0, 0, .25); }
body.rd .pp24-txt p { margin: 2px 0 0; font: 500 12px/1.3 "Jost", sans-serif; color: var(--pi); opacity: .85; }

body.rd .pp24-item .pp24-art { position: absolute; z-index: 1; left: 50%; top: -30px; width: 104px; height: 104px; translate: -50% 0; rotate: -4deg;
    background: #f6efe0; padding: 8px; box-shadow: 4px 6px 0 rgba(0, 0, 0, .3); }
body.rd .pp24-item .pp24-art img { width: 100%; height: 100%; object-fit: contain; filter: drop-shadow(0 2px 2px rgba(0, 0, 0, .3)); }
body.rd .pp24-foot { display: flex; justify-content: space-between; gap: 10px; margin: 26px 2px 0; font: 500 12px/1.3 "Jost", sans-serif; color: rgba(246, 239, 224, .62); }
body.rd .pp24-foot b { font: 400 13px/1 "Days One", sans-serif; color: #f6efe0; margin-right: 4px; }

/* 25.10 (владелец: «тень за буквами ужасная»): в «Пульсе патча» — без тени за текстом */
body.rd .pp24-card, body.rd .pp24-card *, body.rd .pp24-foot, body.rd .pp24-foot * { text-shadow: none !important; }


/* ===== 25.10: «Пульс патча» — заголовок по центру с кардиограммой, пояснение, нажатие — карточка чуть растёт;
   Scourge крупнее; «Мета сейчас» — наклейка по центру ===== */
body.rd .pp25-head { display: flex; align-items: center; justify-content: center; gap: 10px; margin: 34px 0 6px; }
body.rd .pp25-head i { display: none; }
body.rd .pp25-head h3 { margin: 0; font: 400 25px/1 "Days One", sans-serif; text-transform: uppercase; letter-spacing: .02em; color: #f6efe0; white-space: nowrap; text-shadow: none; }
body.rd .pp25-beat { width: 58px; height: 24px; flex: none; fill: none; stroke: #dd6638; stroke-width: 2.4; stroke-linecap: round; stroke-linejoin: round; }
body.rd .pp25-beat.r { transform: scaleX(-1); }
body.rd .pp25-sub { margin: 0 12px; text-align: center; font: 500 13px/1.35 "Jost", sans-serif; color: rgba(246, 239, 224, .62); text-wrap: balance; }
body.rd .pp24-grid { margin-top: 62px !important; }
body.rd .pp24-card { transition: scale .2s cubic-bezier(.3, 1.5, .5, 1); }
body.rd .pp24-card:active { scale: 1.05; z-index: 2; }
@media (hover: hover) { body.rd .pp24-card:hover { scale: 1.05; z-index: 2; } }
@media (prefers-reduced-motion: reduce) { body.rd .pp24-card { transition: none; } }
body.rd .pp24-hero { transform: translateX(-50%) !important; max-width: 118% !important; object-fit: contain; object-position: bottom; }
body.rd .pp24-item .pp24-art { width: 136px !important; height: 136px !important; top: -46px !important; padding: 9px !important; }
body.rd .pp24-item .pp24-txt { padding-top: 112px !important; }
body.rd .rd-home #homeMeta .h2-sec { display: flex; justify-content: center; }
