.v3 .ft-pay { display: grid; gap: 12px; margin-top: 22px; }
.v3 .ft-pay-row { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.v3 .ft-pay-row a { display: inline-flex; }
.v3 .ft-pay-row img { display: block; height: 32px; width: auto; }
.v3 .pe-pay { margin-top: 16px; }
.v3 .pm-pays { display: flex; flex-wrap: wrap; gap: 8px; }
.v3 .pm-buy { display: grid; gap: 12px; justify-items: start; }
.v3 .pm-buy-in { display: grid; gap: 12px; justify-items: start; justify-self: stretch; }   /* во всю ширину карточки: по ней тянутся строки пакетов */
.v3 .pm-buy-in.is-on .pm-state { color: #3ecf6e; background: rgb(62 207 110 / .12); }
.v3 .pm-usdt { display: grid; gap: 10px; justify-items: start; padding: 14px 16px; border: 1px solid rgb(38 161 123 / .45); border-radius: 14px; background: rgb(38 161 123 / .08); }
.v3 .pm-usdt-bill { display: grid; gap: 8px; width: 100%; }
.v3 .pm-usdt-bill code { word-break: break-all; font-size: 13px; padding: 2px 6px; border-radius: 6px; background: rgb(255 255 255 / .06); }
.v3 .pm-gp { display: grid; gap: 8px; width: 100%; margin-top: 6px; }
.v3 .pm-gp-row { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 14px; padding: 10px 0; border-top: 1px solid var(--line); }
.v3 .pm-gp-name { flex: 1 1 160px; font-weight: 500; }
.v3 .pm-gp-price { font-variant-numeric: tabular-nums; color: var(--dim); }
.v3 .pm-gp-btns { display: flex; gap: 8px; }
.v3 .pm-abroad { margin-top: 18px; }
.v3 .pm-hide { display: grid; gap: 6px; width: 100%; margin-top: 14px; padding-top: 12px; border-top: 1px solid var(--line); }
.v3 .pm-hide-t { display: flex; align-items: center; gap: 8px; margin: 0; font-weight: 600; color: var(--text); }
.v3 .pm-hide-t .ico { width: 18px; height: 18px; color: #f0c478; }
.v3 .pm-hide-on { color: #3ecf6e; }
.v3 .pm-tabs { margin: 0; }
.v3 .pm-tabs [role="tab"]:disabled { cursor: not-allowed; opacity: .5; }
.v3 .pm-tabs [role="tab"]:disabled:hover { color: var(--dim); }
.v3 .pm-marks { display: inline-flex; gap: 3px; margin-left: 6px; vertical-align: -4px; }
/* на телефоне вкладки не влезают в строку (~450 px): переносим, а не прячем «Карту РФ» за прокрутку */
@media (max-width: 560px) { .v3 .pm-tabs { flex-wrap: wrap; justify-content: center; width: 100%; border-radius: 20px; overflow: visible; }
  .v3 .pm-ptabs { width: 100%; } .v3 .pm-ptabs [role="tab"] { flex: 1 1 auto; padding-left: 10px; padding-right: 10px; } }
.v3 .pm-soon { margin-left: 4px; font-size: 11px; font-weight: 500; text-transform: lowercase; opacity: .8; }
.v3 [data-paytab="paw"] [data-m]:not([data-m~="paw"]),
.v3 [data-paytab="usdt"] [data-m]:not([data-m~="usdt"]),
.v3 [data-paytab="rf"] [data-m]:not([data-m~="rf"]) { display: none !important; }
.v3 .pm-usdt-bill[hidden] { display: none; }
/* USDT: выбор сети TON / TRON (TRC20) и счёт TRC20 — сеть крупно, точная сумма, предупреждение про комиссию биржи */
.v3 .pm-nets { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.v3 .pm-nets .pe-note { margin: 0; }
.v3 [data-usdtnet="ton"] [data-net]:not([data-net="ton"]),
.v3 [data-usdtnet="trc"] [data-net]:not([data-net="trc"]),
.v3 .pm-usdt-bill[data-net="ton"] [data-bn]:not([data-bn="ton"]),
.v3 .pm-usdt-bill[data-net="trc"] [data-bn]:not([data-bn="trc"]) { display: none !important; }
.v3 .pm-usdt-net { margin: 0; font-size: 18px; font-weight: 600; color: var(--text); }
.v3 .pm-usdt-sum { font-size: 18px; font-variant-numeric: tabular-nums; }
.v3 .pm-usdt-warn { padding: 8px 12px; border-radius: 10px; border: 1px solid rgb(240 196 120 / .45); background: rgb(240 196 120 / .08); color: var(--text); }
/* вкладки товаров (_premium_cards.html): Премиум / Гоблин-поинты / Услуги / Игры; на /premium — в шапке страницы */
.v3 [data-ptab="prem"] [data-pane]:not([data-pane="prem"]),
.v3 [data-ptab="gp"] [data-pane]:not([data-pane="gp"]),
.v3 [data-ptab="svc"] [data-pane]:not([data-pane="svc"]),
.v3 [data-ptab="games"] [data-pane]:not([data-pane="games"]) { display: none !important; }
.v3 .pm-ptabs { margin: 4px 0 0; }
.v3 .pm-pane { display: grid; gap: 12px; width: 100%; }
.v3 .pm-desc, .v3 .pm-side { display: grid; gap: 12px; align-content: start; min-width: 0; }
.v3 .pm-desc:empty { display: none; }
.v3 .pm-side > .x-btn, .v3 .pm-pane > .x-btn { justify-self: start; }
.v3 .pm-desc .pm-perks { margin: 0; }
.v3 .pm-side.pm-gp { margin: 0; gap: 8px; }
.v3 .pm-svc .pm-desc { gap: 6px; }
.v3 .pm-pane-svc > .pm-svc:first-child, .v3 .pm-svc-pay + .pm-svc { margin-top: 0; padding-top: 0; border-top: 0; }
/* услуги на /premium — каждая отдельным блоком: сплошным списком они сливались (замечание владельца 24.10) */
.v3 .pm-shop .pm-pane-svc { gap: 12px; }
.v3 .pm-shop .pm-pane-svc > .pm-svc { margin: 0; padding: 18px 20px; border: 1px solid var(--line); border-radius: 14px; background: rgb(255 255 255 / .025); }
.v3 .pm-shop .pm-svc .pm-hide-t { font-size: 16px; }
.v3 .pm-shop .pm-svc .pm-gp-price { color: var(--text); font-weight: 600; }
/* три игры сеткой из трёх одинаковых плашек (колесо, скретч-карта, «Сундук удачи»; решение владельца 24.10) */
.v3 .pm-games { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); align-items: start; gap: 12px 20px; }
.v3 .pm-games .wh-chip { width: 100%; max-width: 360px; margin: 0; }
@media (max-width: 860px) { .v3 .pm-games { grid-template-columns: minmax(0, 360px); justify-content: center; } }
.v3 .pm-legal { margin-top: 18px; }
/* вкладка «Игры»: подпись под плашкой — когда следующая попытка; контакты для зарубежных и условия оплаты здесь не нужны */
.v3 .pm-game { display: grid; gap: 6px; justify-items: center; }
.v3 .pm-game:empty { display: none; }
.v3 .pm-game-next { margin: 0; color: var(--dim); font-size: 13px; }
.v3 .pm-game-next.is-ready { color: #3ecf6e; }
.v3 .pm-shop:has([data-ptab="games"]) :is(.pm-abroad, .pm-abroad + .pm-contacts, .pm-legal) { display: none; }
/* страница /premium на широком экране: слева описание, справа оплата */
@media (min-width: 900px) {
  .v3 .pm-shop .pm-pane:not(.pm-pane-svc):not([data-pane="games"]) { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 16px 48px; align-items: start; }
  .v3 .pm-shop .pm-svc { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 8px 48px; align-items: start; }
  .v3 .pm-shop .pm-svc-pay { display: grid; gap: 12px; justify-self: end; width: calc(50% - 24px); }
  .v3 .pm-shop .pm-svc .pm-side .pm-gp-row:first-child { border-top: 0; padding-top: 0; }
  .v3 .pm-shop .pm-side.pm-gp > .pm-gp-row:first-of-type { border-top: 0; }
}
.v3 .pm-pay[hidden] { display: none; }
/* Страница /premium без p-e.css: те же кнопки, что в кабинете — без рамки браузера у <button>, высота 42px */
.v3 .pm-buy button.x-btn, .v3 .pm-cards button.x-btn { cursor: pointer; font-family: var(--font); }
.v3 .pm-buy button.x-btn-primary, .v3 .pm-cards button.x-btn-primary { border: 0; }
.v3 .pm-buy .x-btn:disabled, .v3 .pm-cards .x-btn:disabled { opacity: .55; cursor: default; transform: none; }
.v3 .pm-buy .pe-btn-sm, .v3 .pm-cards .pe-btn-sm { min-height: 42px; padding: 0 18px; font-size: 14px; }
/* сундуки во вкладке «Игры» (static_v3/chests.js): цвета редкости — серый, синий, фиолетовый, золотой, как в рулетках */
.v3 .pm-chests { --t-c: #8f9db0; --t-r: #4b7bff; --t-e: #b44cf0; --t-s: #f0b232; display: grid; gap: 14px; margin-top: 12px; padding-top: 18px; border-top: 1px solid var(--line); min-width: 0; }
.v3 .pm-chests[hidden] { display: none; }
.v3 .pm-ch-head { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px 16px; }
.v3 .pm-ch-head .pd-ch { margin: 0; }
.v3 .pm-ch-gp { padding: 6px 14px; border: 1px solid var(--line-hi); border-radius: 999px; background: var(--glass); font-weight: 600; }
.v3 .pm-ch-kinds[hidden] { display: none; }
.v3 .pm-ch-kinds { display: grid; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); gap: 12px; }
.v3 .pm-ch-kind { display: grid; justify-items: center; align-content: start; gap: 6px; padding: 14px 12px 12px; text-align: center;
  border: 1px solid var(--line); border-radius: 14px; background: rgb(255 255 255 / .025); }
.v3 .pm-ch-kind.has { border-color: var(--line-hi); background: rgb(255 255 255 / .045); }
.v3 .pm-ch-kind.k-gold { box-shadow: inset 0 -40px 60px -50px #f0b232; }
.v3 .pm-ch-kind.k-diamond { box-shadow: inset 0 -40px 60px -50px #5ac8ff; }
.v3 .pm-ch-kind.k-zenaria { box-shadow: inset 0 -40px 60px -50px #e32636; }
.v3 .pm-ch-pic { width: 112px; height: 112px; object-fit: contain; filter: drop-shadow(0 6px 14px rgb(0 0 0 / .5)); }
.v3 .pm-ch-name { font-size: 16px; }
.v3 .pm-ch-price, .v3 .pm-ch-count { color: var(--dim); font-size: 13px; }
.v3 .pm-ch-count { color: var(--text); }
.v3 .pm-ch-none { color: var(--faint); font-size: 13px; padding: 6px 0; }
.v3 .pm-ch-pity { color: var(--dim); font-size: 12px; line-height: 1.3; }
.v3 .pm-ch-oddsbtn { font-size: 12px; color: var(--dim); }
.v3 .pm-ch-hero select { margin-left: 6px; max-width: 100%; }
.v3 .pm-ch-stage { display: grid; gap: 10px; }
.v3 .pm-ch-stage[hidden] { display: none; }
.v3 .pm-ch-reel { position: relative; overflow: hidden; border: 1px solid var(--line-hi); border-radius: 12px; background: #0a0c10; padding: 10px 0;
  -webkit-mask-image: linear-gradient(90deg, transparent, #000 12%, #000 88%, transparent); mask-image: linear-gradient(90deg, transparent, #000 12%, #000 88%, transparent); }
.v3 .pm-ch-strip { display: flex; gap: 6px; width: max-content; will-change: transform; }
.v3 .pm-ch-mark { position: absolute; top: 0; bottom: 0; left: 50%; width: 2px; margin-left: -1px; background: #f0b232; box-shadow: 0 0 10px #f0b232; }
.v3 .pm-ch-item { --tc: var(--t-c); flex: 0 0 auto; display: grid; justify-items: center; align-content: center; gap: 4px; width: 112px; height: 116px; padding: 6px;
  border-radius: 8px; background: linear-gradient(180deg, rgb(255 255 255 / .04), color-mix(in srgb, var(--tc) 22%, transparent)); border-bottom: 3px solid var(--tc); }
.v3 .t-r { --tc: var(--t-r); } .v3 .t-e { --tc: var(--t-e); } .v3 .t-s { --tc: var(--t-s); } .v3 .t-c { --tc: var(--t-c); }
.v3 .pm-ch-img { display: grid; place-items: center; width: 64px; height: 64px; }
.v3 .pm-ch-img img { max-width: 64px; max-height: 64px; object-fit: contain; }
.v3 .pm-ch-lbl { font-size: 11.5px; line-height: 1.2; text-align: center; color: var(--text); }
.v3 .pm-ch-item.is-win { outline: 2px solid var(--tc); box-shadow: 0 0 24px var(--tc); }
.v3 .pm-ch-res { margin: 0; text-align: center; font-size: 16px; }
.v3 .pm-ch-res b { color: var(--tc, var(--text)); }
.v3 .pm-ch-res small { color: var(--dim); font-size: 13px; }
.v3 .pm-ch-cols { display: grid; gap: 16px 32px; }
@media (min-width: 900px) { .v3 .pm-ch-cols { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); } }
.v3 .pm-ch-h { margin: 0 0 8px; font-size: 15px; }
.v3 .pm-ch-feed { list-style: none; margin: 0; padding: 0; display: grid; gap: 6px; max-height: 330px; overflow: auto; }
.v3 .pm-ch-feed li { font-size: 14px; }
.v3 .pm-ch-feed li b { color: var(--tc); }
.v3 .pm-ch-feed small { color: var(--faint); }
.v3 .pm-ch-empty { color: var(--dim); }
.v3 .pm-ch-dot { display: inline-block; width: 8px; height: 8px; margin-right: 8px; border-radius: 50%; background: var(--tc); vertical-align: 1px; }
.v3 .pm-ch-otabs { margin-bottom: 8px; flex-wrap: wrap; border-radius: 14px; }
.v3 .pm-ch-otabs [role="tab"] { padding: 6px 12px; font-size: 13px; }
.v3 .pm-ch-odds { width: 100%; border-collapse: collapse; font-size: 14px; }
.v3 .pm-ch-odds td { padding: 5px 4px; border-bottom: 1px solid var(--line); }
.v3 .pm-ch-odds td:nth-child(2) { color: var(--tc); font-size: 12.5px; }
.v3 .pm-ch-odds .num { text-align: right; white-space: nowrap; }
@media (max-width: 560px) { .v3 .pm-ch-kinds { grid-template-columns: 1fr 1fr; } .v3 .pm-ch-pic { width: 84px; height: 84px; } .v3 .pm-ch-item { width: 96px; } }
/* «Сундук удачи»: шесть окон в кованой рамке (как у скретч-карты), игровые кнопки (.gbtn), лента выигранных сундуков под барабаном */
.v3 .pm-slot { display: grid; justify-items: center; gap: 12px; padding: 18px 12px 16px; border-radius: 18px;
  background: radial-gradient(90% 120% at 50% 0%, rgb(240 178 50 / .12), transparent 65%), rgb(255 255 255 / .02); }
.v3 .pm-slot-frame { max-width: 100%; padding: 6px; border: 44px solid transparent; border-image: url(/v3/img/scratch-frame-1000.webp) 120 fill / 44px stretch;
  filter: drop-shadow(0 12px 26px rgb(0 0 0 / .6)); }
.v3 .pm-slot-reels { display: grid; grid-template-columns: repeat(6, 104px); gap: 8px; }
.v3 .pm-slot-win { position: relative; width: 104px; height: 104px; overflow: hidden; border-radius: 10px;
  background: radial-gradient(circle at 50% 45%, #232733, #0b0d11 75%); box-shadow: inset 0 0 0 1px rgb(214 168 86 / .45), inset 0 10px 14px -8px #000, inset 0 -10px 14px -8px #000;
  transition: box-shadow .3s, opacity .4s, transform .3s; }
.v3 .pm-slot-win.is-stop { transform: scale(1.03); }
.v3 .pm-slot-win.is-win { box-shadow: inset 0 0 0 2px #f0b232, 0 0 22px rgb(240 178 50 / .8); transform: scale(1.06); }
.v3 .pm-slot-win.is-lose { opacity: .45; }
.v3 .pm-slot-strip { display: grid; will-change: transform; }
.v3 .pm-slot-strip img { width: 104px; height: 104px; padding: 8px; object-fit: contain; }
.v3 .pm-slot-btns { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px 14px; }
.v3 .pm-slot-go { border: 0; cursor: pointer; width: auto; min-width: 230px; height: 70px; padding: 0 22px; font-size: 15px; white-space: nowrap; }
.v3 .pm-slot-go[hidden] { display: none; }
.v3 .pm-slot-go:disabled { cursor: default; filter: grayscale(.7) brightness(.7); transform: none; }
.v3 .pm-slot-note { margin: 0; min-height: 1.4em; text-align: center; color: var(--dim); font-size: 15px; }
.v3 .pm-slot-note b, .v3 .pm-slot-feed b { color: #f0b232; }
.v3 .pm-slot-note.is-err { color: #ff8a8f; font-weight: 500; }
.v3 .pm-slot-note .k-diamond, .v3 .pm-slot-feed .k-diamond b { color: #6fd0ff; }
.v3 .pm-slot-note .k-zenaria, .v3 .pm-slot-feed .k-zenaria b { color: #ff5a64; }
.v3 .pm-slot-note .k-silver, .v3 .pm-slot-feed .k-silver b { color: #c9d1dc; }
.v3 .pm-slot-odds { margin: 0; max-width: 720px; text-align: center; color: var(--faint); font-size: 12.5px; }
.v3 .pm-slot-feedbox { width: min(720px, 100%); }
.v3 .pm-slot-feed { max-height: 220px; }
.v3 .pm-slot-feed li { display: flex; align-items: center; gap: 8px; }
.v3 .pm-slot-feed img { width: 28px; height: 28px; object-fit: contain; }
@media (max-width: 860px) { .v3 .pm-slot-reels { grid-template-columns: repeat(3, 92px); } .v3 .pm-slot-win, .v3 .pm-slot-strip img { width: 92px; height: 92px; } }
@media (max-width: 420px) { .v3 .pm-slot-frame { border-width: 30px; border-image-width: 30px; } .v3 .pm-slot-reels { grid-template-columns: repeat(3, 76px); gap: 6px; }
  .v3 .pm-slot-win, .v3 .pm-slot-strip img { width: 76px; height: 76px; } }
.v3 .pm-ch-more { color: var(--dim); }
.v3 .pm-ch-mine { margin: 4px 0 0; font-size: 17px; }
/* страница «Сундука удачи» /chests (24.10.2026): игра во всю ширину — барабан и «Мои сундуки», вскрытие там же; ниже три колонки */
.v3 .ch-page[hidden] { display: none; }
.v3 .ch-page { display: grid; grid-template-columns: minmax(0, 1fr); gap: 22px; }
.v3 .ch-page > * { grid-column: 1 / -1; }
.v3 .ch-game { display: grid; gap: 22px; }
.v3 .ch-game .pm-slot { width: 100%; padding-top: 4px; }
.v3 .ch-mine { display: grid; gap: 14px; }
.v3 .ch-arena { position: relative; min-height: 300px; }
.v3 .ch-mine .pm-ch-kinds { grid-template-columns: repeat(4, minmax(0, 1fr)); }
@media (max-width: 760px) { .v3 .ch-mine .pm-ch-kinds { grid-template-columns: 1fr 1fr; } }
.v3 .ch-page .pm-ch-stage { justify-items: center; gap: 14px; padding: 10px 0; }
.v3 .ch-page .pm-ch-reel { width: 100%; padding: 16px 0; }
.v3 .ch-page .pm-ch-item { width: 132px; height: 136px; }
.v3 .ch-page .pm-ch-img, .v3 .ch-page .pm-ch-img img { width: 76px; height: 76px; max-width: 76px; max-height: 76px; }
.v3 .ch-page .pm-ch-res { font-size: 18px; }
/* кому выдать — поверх сундуков */
.v3 .ch-pick { position: absolute; inset: 0; z-index: 3; display: grid; place-items: center; padding: 12px; border-radius: 14px;
  background: rgb(7 8 11 / .82); backdrop-filter: blur(3px); }
.v3 .ch-pick[hidden] { display: none; }
.v3 .ch-pick-in { display: grid; justify-items: center; gap: 12px; width: min(440px, 100%); padding: 20px 22px; text-align: center;
  border: 1px solid rgb(240 178 50 / .45); border-radius: 16px; background: linear-gradient(180deg, #1a1712, #0e0f13); box-shadow: 0 18px 40px rgb(0 0 0 / .6); }
.v3 .ch-pick-img { width: 120px; height: 120px; object-fit: contain; filter: drop-shadow(0 8px 18px rgb(0 0 0 / .6)); }
.v3 .ch-pick-t { font-size: 18px; color: #f6d48a; }
.v3 .ch-pick-l { display: grid; gap: 6px; width: 100%; color: var(--dim); font-size: 14px; }
.v3 .ch-pick-l select { width: 100%; }
.v3 .ch-pick-btns { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; }
.v3 .ch-below { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 22px; align-items: start; }
.v3 .ch-info { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.3fr); gap: 16px 40px; align-items: start; }
@media (max-width: 860px) { .v3 .ch-below, .v3 .ch-info { grid-template-columns: minmax(0, 1fr); } }
.v3 .ch-head-r { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 14px; }
.v3 .ch-hero { display: inline-flex; align-items: center; gap: 8px; color: var(--dim); font-size: 14px; }
.v3 .ch-hero[hidden] { display: none; }
.v3 .ch-hero select { width: auto; min-width: 170px; }
.v3 .ch-pick-l { margin: 0; }
.v3 .ch-pick-l b { color: var(--text); }
.v3 .ch-feed { max-height: 360px; margin-bottom: 0; }
.v3 .ch-feed li b { display: inline-flex; align-items: center; gap: 6px; white-space: normal; text-align: right; }
.v3 .ch-feed li b img { width: 22px; height: 22px; object-fit: contain; }
.v3 .ch-feed li.k-diamond b { color: #6fd0ff; } .v3 .ch-feed li.k-zenaria b { color: #ff5a64; } .v3 .ch-feed li.k-silver b { color: #c9d1dc; }
.v3 .ch-feed li.t-c b { color: var(--dim); font-weight: 500; }
.v3 .ch-feed li.t-r b { color: #7c9bff; } .v3 .ch-feed li.t-e b { color: #cf7bf5; } .v3 .ch-feed li.t-s b { color: #f0b232; }
.v3 .ch-feed li.is-big { background: linear-gradient(90deg, rgb(180 76 240 / .16), transparent); border-radius: 8px; }
.v3 .ch-feed li.t-s.is-big { background: linear-gradient(90deg, rgb(240 178 50 / .2), transparent); }
.v3 .ch-page .pm-slot-odds { text-align: left; margin: 0 0 14px; }
.v3 .ch-page [data-ch-odds] { margin-bottom: 14px; }
/* «Как это работает», шансы барабана плитками, где ещё взять сундуки (24.10.2026: прежний сплошной текст плохо читался) */
.v3 .ch-steps { list-style: none; margin: 0 0 22px; padding: 0; display: grid; gap: 10px; counter-reset: chs; }
.v3 .ch-steps li { position: relative; display: grid; grid-template-columns: 64px minmax(0, 1fr); grid-template-rows: auto auto; column-gap: 14px; align-items: center;
  padding: 12px 14px; border: 1px solid var(--line); border-radius: 14px; background: rgb(255 255 255 / .025); }
.v3 .ch-step-pic { grid-row: 1 / 3; width: 64px; height: 64px; object-fit: contain; filter: drop-shadow(0 6px 12px rgb(0 0 0 / .5)); }
.v3 .ch-step-pic.is-chip { object-fit: cover; object-position: 0 50%; border-radius: 50%; }
.v3 .ch-steps b { font-size: 15.5px; color: #f6d48a; }
.v3 .ch-steps b::before { counter-increment: chs; content: counter(chs) ". "; color: var(--faint); }
.v3 .ch-steps span { color: var(--dim); font-size: 14px; line-height: 1.45; }
.v3 .ch-odds-row { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; margin-bottom: 22px; }
.v3 .ch-odd { display: grid; justify-items: center; gap: 2px; padding: 10px 6px 12px; text-align: center; border: 1px solid var(--line); border-radius: 14px; background: rgb(255 255 255 / .025); }
.v3 .ch-odd img { width: 56px; height: 56px; object-fit: contain; }
.v3 .ch-odd small { color: var(--dim); font-size: 12.5px; line-height: 1.2; }
.v3 .ch-odd b { font-size: 22px; font-weight: 800; color: var(--text); }
.v3 .ch-odd.k-gold b { color: #f0b232; } .v3 .ch-odd.k-diamond b { color: #6fd0ff; } .v3 .ch-odd.k-zenaria b { color: #ff5a64; }
.v3 .ch-odd span { color: var(--faint); font-size: 11.5px; }
.v3 .ch-odd-note { grid-column: 1 / -1; margin: 2px 0 0; color: var(--faint); font-size: 12.5px; }
@media (max-width: 560px) { .v3 .ch-odds-row { grid-template-columns: 1fr 1fr; } }
.v3 .ch-chips { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.v3 .ch-chips li { padding: 6px 12px; border: 1px solid var(--line-hi); border-radius: 999px; background: rgb(255 255 255 / .03); color: var(--text); font-size: 13.5px; }
.v3 .ch-chips a { color: #f6d48a; text-decoration: none; }
/* лучшее за сегодня — закреплено над лентой «Только что выпало» */
.v3 .ch-top { list-style: none; margin: 0 0 12px; padding: 10px; display: grid; gap: 6px; border: 1px solid rgb(240 178 50 / .35); border-radius: 14px;
  background: linear-gradient(180deg, rgb(240 178 50 / .1), transparent); }
.v3 .ch-top[hidden] { display: none; }
.v3 .ch-top-h { color: #f6d48a; font-size: 12.5px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.v3 .ch-top li:not(.ch-top-h) { display: grid; grid-template-columns: 22px 34px minmax(0, 1fr) auto; gap: 10px; align-items: center; }
.v3 .ch-top-n { color: var(--faint); font-weight: 700; text-align: center; }
.v3 .ch-top img { width: 34px; height: 34px; object-fit: contain; }
.v3 .ch-top-who { display: grid; min-width: 0; }
.v3 .ch-top-who b { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.v3 .ch-top-who small { color: var(--faint); font-size: 12px; }
.v3 .ch-top em { font-style: normal; font-weight: 700; color: var(--text); text-align: right; }
.v3 .ch-top li.t-r em { color: #7c9bff; } .v3 .ch-top li.t-e em { color: #cf7bf5; } .v3 .ch-top li.t-s em { color: #f0b232; }
.v3 .ch-feed .wh-feed-who small { color: var(--faint); font-weight: 400; font-size: 12px; }
/* одно окно — два сценария (24.10.2026): вкладки «Барабан» / «Мои сундуки», баланс справа */
.v3 .ch-game { gap: 18px; }
.v3 .ch-bar { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px 16px; }
.v3 .ch-tabs [role="tab"] { font-size: 15px; padding: 9px 18px; }
.v3 .ch-tabs [role="tab"]:disabled { opacity: .45; cursor: default; }
.v3 .ch-n { display: inline-grid; place-items: center; min-width: 22px; height: 22px; margin-left: 6px; padding: 0 6px; border-radius: 999px;
  background: #f0b232; color: #1a1206; font-size: 12.5px; font-weight: 800; }
.v3 .ch-n[hidden] { display: none; }
.v3 .ch-pane[hidden] { display: none; }
.v3 .ch-pane { display: grid; gap: 14px; min-height: 420px; align-content: start; }
.v3 .ch-mine-top { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px 16px; }
.v3 .ch-mine-hint { margin: 0; }
/* выбор героя — в стиле сайта: стеклянная «пилюля» со стрелкой, как переключатели вкладок */
.v3 .ch-hero { display: inline-flex; align-items: center; gap: 10px; color: var(--dim); font-size: 14px; }
.v3 .ch-hero[hidden] { display: none; }
.v3 .ch-select { appearance: none; -webkit-appearance: none; min-width: 220px; padding: 9px 38px 9px 16px; border: 1px solid var(--line-hi); border-radius: 999px;
  background: rgb(255 255 255 / .05) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%23f6d48a' stroke-width='2'/%3E%3C/svg%3E") no-repeat right 14px center;
  color: var(--text); font: inherit; font-size: 14px; font-weight: 600; cursor: pointer; transition: border-color .2s, background-color .2s; }
.v3 .ch-select:hover, .v3 .ch-select:focus-visible { border-color: rgb(240 178 50 / .6); background-color: rgb(255 255 255 / .08); outline: none; }
.v3 .ch-select option { background: #12141a; color: var(--text); }
.v3 .ch-res-btns { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; }
.v3 .ch-res-btns [hidden] { display: none; }
.v3 .ch-tease { color: #cf7bf5; font-weight: 700; }
.v3 [data-ch-to-mine][hidden] { display: none; }
@media (max-width: 560px) { .v3 .ch-select { min-width: 0; width: 100%; } .v3 .ch-hero { width: 100%; } }
/* лента вскрытия в стиле сундука (24.10.2026): серебро, золото, алмаз с искрами, «Сундук Zenaria» — кованая рамка с углями */
.v3 .pm-ch-stage { position: relative; }
.v3 .pm-ch-reel.rk-silver { border: 2px solid #aeb7c4; background: linear-gradient(180deg, #1b1f26, #0c0e12 45%, #1b1f26); box-shadow: inset 0 0 0 1px rgb(255 255 255 / .08), 0 0 18px rgb(190 200 215 / .18); }
.v3 .rk-silver .pm-ch-mark { background: #e6ebf2; box-shadow: 0 0 10px #e6ebf2; }
.v3 .pm-ch-reel.rk-gold { border: 2px solid #d9a63a; background: linear-gradient(180deg, #241a0a, #0f0b05 45%, #241a0a); box-shadow: inset 0 0 0 1px rgb(255 214 120 / .15), 0 0 22px rgb(240 178 50 / .25); }
.v3 .rk-gold .pm-ch-mark { background: #ffd56b; box-shadow: 0 0 12px #ffd56b; }
.v3 .pm-ch-reel.rk-gold::after, .v3 .pm-ch-reel.rk-zenaria::after { content: ""; position: absolute; inset: 0; pointer-events: none;
  background: linear-gradient(105deg, transparent 40%, rgb(255 230 160 / .12) 50%, transparent 60%) -100% 0 / 200% 100% no-repeat; animation: rk-sheen 3.2s linear infinite; }
.v3 .pm-ch-reel.rk-diamond { border: 2px solid #7fd6ff; background: radial-gradient(120% 140% at 50% 0%, #10283a, #070b12 70%); box-shadow: inset 0 0 0 1px rgb(160 230 255 / .2), 0 0 24px rgb(111 208 255 / .3); }
.v3 .rk-diamond .pm-ch-mark { background: #c8f1ff; box-shadow: 0 0 14px #6fd0ff; }
/* искры алмазного: россыпь точек, мерцают по очереди */
.v3 .pm-ch-reel.rk-diamond::before, .v3 .pm-ch-stage.win-diamond::before { content: ""; position: absolute; inset: 0; pointer-events: none; z-index: 2;
  background-image: radial-gradient(2px 2px at 8% 20%, #fff, transparent), radial-gradient(1.5px 1.5px at 23% 80%, #bdf0ff, transparent),
    radial-gradient(2px 2px at 41% 12%, #fff, transparent), radial-gradient(1.5px 1.5px at 62% 88%, #bdf0ff, transparent),
    radial-gradient(2px 2px at 78% 25%, #fff, transparent), radial-gradient(1.5px 1.5px at 93% 70%, #bdf0ff, transparent);
  animation: rk-twinkle 1.6s ease-in-out infinite alternate; }
.v3 .pm-ch-reel.rk-zenaria { border: 22px solid transparent; border-image: url(/v3/img/scratch-frame-1000.webp) 120 fill / 22px stretch; padding: 12px 0;
  background: radial-gradient(100% 140% at 50% 100%, rgb(227 38 54 / .25), transparent 60%), #0b0607; box-shadow: 0 0 30px rgb(227 38 54 / .35); }
.v3 .rk-zenaria .pm-ch-mark { width: 3px; background: linear-gradient(#ffd56b, #ff5a64, #ffd56b); box-shadow: 0 0 16px #ff5a64, 0 0 4px #ffd56b; }
@keyframes rk-sheen { to { background-position: 100% 0; } }
@keyframes rk-twinkle { from { opacity: .25; } to { opacity: 1; } }
/* выигрыш: серебряный — мягкое сияние, золотой — перелив по надписи, алмазный — искры, Zenaria — салют (холст .ch-fw из chests.js) */
.v3 .win-silver .pm-ch-item.is-win { animation: win-glow 1.4s ease-in-out 2; }
.v3 .win-gold .pm-ch-item.is-win { animation: win-glow 1.2s ease-in-out 3; }
.v3 .win-gold .pm-ch-res b, .v3 .win-zenaria .pm-ch-res b { background: linear-gradient(90deg, #f6d48a, #fff3c4, #f0b232, #fff3c4, #f6d48a) 0 0 / 200% 100%;
  -webkit-background-clip: text; background-clip: text; color: transparent; animation: win-shimmer 2.4s linear infinite; }
.v3 .win-diamond .pm-ch-item.is-win { animation: win-glow 1s ease-in-out 4; box-shadow: 0 0 30px #6fd0ff; }
.v3 .win-diamond .pm-ch-res b { color: #9fe3ff; text-shadow: 0 0 12px rgb(111 208 255 / .7); }
.v3 .win-zenaria .pm-ch-item.is-win { animation: win-glow .9s ease-in-out 5; box-shadow: 0 0 36px #ff5a64; }
.v3 .ch-fw { position: absolute; inset: 0; width: 100%; height: 100%; pointer-events: none; z-index: 4; }
@keyframes win-glow { 50% { transform: scale(1.06); filter: brightness(1.25); } }
@keyframes win-shimmer { to { background-position: -200% 0; } }
@media (prefers-reduced-motion: reduce) { .v3 .pm-ch-reel::after, .v3 .pm-ch-reel::before, .v3 .pm-ch-stage::before, .v3 [class*="win-"] .pm-ch-item.is-win, .v3 [class*="win-"] .pm-ch-res b { animation: none; } }
/* отступ после заголовков нижнего блока («Как это работает», «Что в сундуках» и др.) */
.v3 .ch-info .pd-ch { margin: 0 0 14px; }
.v3 .ch-info .ch-steps + .pd-ch, .v3 .ch-info .ch-odds-row + .pd-ch { margin-top: 6px; }
.v3 .pm-ch-reel[class*="rk-"] { -webkit-mask-image: none; mask-image: none; }
/* «Что в сундуках» плитками (24.10.2026): сверху джекпот во всю ширину, ниже призы сеткой, цвет рамки — уровень приза */
.v3 .ch-prizes { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 8px; }
.v3 .ch-prize { --tc: var(--t-c, #8f9db0); display: grid; grid-template-columns: 44px minmax(0, 1fr) auto; align-items: center; gap: 10px; padding: 8px 10px;
  border: 1px solid color-mix(in srgb, var(--tc) 45%, transparent); border-left-width: 3px; border-radius: 12px;
  background: linear-gradient(90deg, color-mix(in srgb, var(--tc) 14%, transparent), rgb(255 255 255 / .02)); }
.v3 .ch-prize.t-c { --tc: #8f9db0; } .v3 .ch-prize.t-r { --tc: #4b7bff; } .v3 .ch-prize.t-e { --tc: #b44cf0; } .v3 .ch-prize.t-s { --tc: #f0b232; }
.v3 .ch-prize-img { display: grid; place-items: center; width: 44px; height: 44px; }
.v3 .ch-prize-img img { max-width: 44px; max-height: 44px; object-fit: contain; filter: drop-shadow(0 3px 6px rgb(0 0 0 / .5)); }
.v3 .ch-prize-tx { display: grid; gap: 1px; min-width: 0; font-size: 13.5px; line-height: 1.25; overflow-wrap: anywhere; hyphens: auto; }   /* длинные «Transformation Ring» и названия +13 не вылезают за плитку */
.v3 .ch-prize-tx small { color: var(--tc); font-size: 11px; text-transform: uppercase; letter-spacing: .05em; }
.v3 .ch-prize > b { font-size: 14px; color: var(--text); white-space: nowrap; }
.v3 .ch-prize.is-jack { grid-column: 1 / -1; grid-template-columns: 72px minmax(0, 1fr) auto; padding: 14px 18px; border-width: 1px; border-color: rgb(240 178 50 / .7);
  background: radial-gradient(120% 160% at 0% 50%, rgb(240 178 50 / .22), transparent 60%), rgb(255 255 255 / .03); box-shadow: 0 0 22px rgb(240 178 50 / .18); }
.v3 .ch-prize.is-jack .ch-prize-img, .v3 .ch-prize.is-jack .ch-prize-img img { width: 72px; height: 72px; max-width: 72px; max-height: 72px; }
.v3 .ch-prize.is-jack .ch-prize-tx { font-size: 17px; font-weight: 700; }
.v3 .ch-prize.is-jack em { font-style: normal; color: #f0b232; font-size: 12px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.v3 .ch-prize.is-jack > b { font-size: 18px; color: #f6d48a; }
.v3 .ch-pity-note { margin-top: 10px; }
@media (max-width: 560px) { .v3 .ch-prizes { grid-template-columns: minmax(0, 1fr); } }
/* шанс — строкой под названием приза, а не отдельной колонкой: при переносе названия процент наезжал на текст */
.v3 .ch-prize, .v3 .ch-prize.is-jack { grid-template-columns: 44px minmax(0, 1fr); }
.v3 .ch-prize.is-jack { grid-template-columns: 72px minmax(0, 1fr); }
.v3 .ch-prize-tx .ch-prize-p { font-size: 12.5px; font-weight: 600; color: var(--dim); }
.v3 .ch-prize.is-jack .ch-prize-tx .ch-prize-p { font-size: 14px; color: #f6d48a; }
/* «Вскрыть все»: плитка призов, каждый появляется с толчком, крупные — со свечением, лучший — подсвечен */
.v3 .ch-bulk { position: relative; display: grid; gap: 14px; padding: 14px; border-radius: 14px; }
.v3 .ch-bulk[hidden] { display: none; }
.v3 .ch-bulk.rk-silver { border: 2px solid #aeb7c4; } .v3 .ch-bulk.rk-gold { border: 2px solid #d9a63a; }
.v3 .ch-bulk.rk-diamond { border: 2px solid #7fd6ff; } .v3 .ch-bulk.rk-zenaria { border: 2px solid #e32636; box-shadow: 0 0 26px rgb(227 38 54 / .3); }
.v3 .ch-bulk-sum { margin: 0; text-align: center; font-size: 16px; }
.v3 .ch-bulk-sum b.t-r { color: #7c9bff; } .v3 .ch-bulk-sum b.t-e { color: #cf7bf5; } .v3 .ch-bulk-sum b.t-s { color: #f0b232; }
.v3 .ch-bulk-sum small { color: var(--dim); font-size: 13px; }
.v3 .ch-bulk-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(110px, 1fr)); gap: 8px; }
.v3 .ch-bulk-grid .pm-ch-item { width: auto; height: 120px; }
.v3 .ch-pop { animation: ch-pop .35s cubic-bezier(.2, 1.4, .4, 1) both; }
.v3 .ch-pop.is-big { box-shadow: 0 0 18px var(--tc); }
.v3 .ch-bulk-grid .is-best { outline: 2px solid var(--tc); transform: scale(1.04); }
.v3 .ch-all-btn { font-size: 12.5px; }
@keyframes ch-pop { from { opacity: 0; transform: scale(.6) translateY(8px); } }
/* оружие или вещь сета +13 (25.10.2026): плашка «ждёт выбора» и окно выбора вещи на месте сундуков */
.v3 .ch-wait { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px 14px; padding: 10px 14px;
  border: 1px solid rgb(240 178 50 / .55); border-radius: 12px; background: linear-gradient(90deg, rgb(240 178 50 / .16), transparent); color: #f6d48a; }
.v3 .ch-wait[hidden], .v3 .ch-choose[hidden] { display: none; }
.v3 .ch-choose { display: grid; gap: 14px; padding: 14px; border: 2px solid #d9a63a; border-radius: 14px; background: radial-gradient(120% 120% at 50% 0%, rgb(240 178 50 / .1), transparent 60%); }
.v3 .ch-choose-h { margin: 0; text-align: center; font-size: 16px; }
.v3 .ch-choose-h b { color: #f6d48a; } .v3 .ch-choose-h small { color: var(--dim); font-size: 13px; }
.v3 .ch-choose-tabs { justify-self: center; }
.v3 .ch-choose-grid { display: grid; gap: 12px; }
.v3 .ch-gear-set { display: grid; gap: 6px; }
.v3 .ch-gear-set > b { color: var(--dim); font-size: 13px; }
.v3 .ch-gear-row { display: grid; grid-template-columns: repeat(auto-fill, minmax(118px, 1fr)); gap: 8px; }
.v3 .ch-gear { display: grid; justify-items: center; gap: 6px; padding: 10px 6px; border: 1px solid var(--line-hi); border-radius: 12px; background: rgb(255 255 255 / .03);
  color: var(--text); font: inherit; font-size: 12.5px; line-height: 1.25; text-align: center; cursor: pointer; transition: border-color .2s, background-color .2s, transform .2s; }
.v3 .ch-gear img { width: 64px; height: 64px; object-fit: contain; filter: drop-shadow(0 4px 8px rgb(0 0 0 / .5)); }
.v3 .ch-gear:hover { border-color: rgb(240 178 50 / .6); transform: translateY(-1px); }
.v3 .ch-gear.is-on { border-color: #f0b232; background: rgb(240 178 50 / .14); box-shadow: 0 0 16px rgb(240 178 50 / .35); }
/* «Мои выигрыши» (25.10.2026) */
.v3 .ch-won { list-style: none; margin: 0; padding: 0; display: grid; gap: 6px; max-height: 520px; overflow-y: auto; scrollbar-width: thin; }
.v3 .ch-won li { --tc: #8f9db0; display: grid; grid-template-columns: 40px minmax(0, 1fr) auto; align-items: center; gap: 12px; padding: 8px 12px;
  border: 1px solid var(--line); border-left: 3px solid var(--tc); border-radius: 10px; background: rgb(255 255 255 / .025); }
.v3 .ch-won li.t-r { --tc: #4b7bff; } .v3 .ch-won li.t-e { --tc: #b44cf0; } .v3 .ch-won li.t-s { --tc: #f0b232; }
.v3 .ch-won li.wh-feed-empty { display: block; border-left-width: 1px; }
.v3 .ch-won img { width: 40px; height: 40px; object-fit: contain; }
.v3 .ch-won-tx { display: grid; min-width: 0; }
.v3 .ch-won-tx b { font-size: 14px; } .v3 .ch-won li:not(.t-c) .ch-won-tx b { color: var(--tc); }
.v3 .ch-won-tx small { color: var(--faint); font-size: 12px; }
.v3 .ch-won .is-wait { font-style: normal; font-size: 12px; color: #f6d48a; white-space: nowrap; }
.v3 .ch-hero-note { color: var(--faint); font-size: 12px; }
/* «Сундук удачи» на телефоне (25.10.2026): рамка барабана и карточки помещаются в 320–430 px, без горизонтальной прокрутки */
@media (max-width: 560px) {
  .v3 .ch-page { gap: 14px; }
  .v3 .ch-game, .v3 .ch-info, .v3 .ch-below > .x-card { padding: 14px 10px; }
  .v3 .ch-game { min-width: 0; }
  .v3 .ch-bar { justify-content: center; }
  .v3 .ch-tabs { flex-wrap: wrap; justify-content: center; width: 100%; border-radius: 18px; }
  .v3 .ch-tabs [role="tab"] { flex: 1 1 auto; padding: 8px 10px; font-size: 14px; }
  .v3 .ch-pane { min-height: 0; }
  .v3 .pm-slot { padding: 8px 0 4px; }
  .v3 .pm-slot-frame, .v3 .ch-page .pm-slot-frame { border-width: 22px; border-image-width: 22px; padding: 4px; }
  .v3 .pm-slot-reels, .v3 .ch-page .pm-slot-reels { grid-template-columns: repeat(3, minmax(0, 72px)); gap: 6px; }
  .v3 .pm-slot-win, .v3 .pm-slot-strip img { width: 72px; height: 72px; }
  .v3 .pm-slot-strip img { padding: 6px; }
  .v3 .pm-slot-go { width: auto; min-width: min(280px, 100%); max-width: 100%; height: 60px; font-size: 14px; letter-spacing: .03em; }
  .v3 .pm-slot-note { font-size: 14px; }
  .v3 .ch-mine-top { gap: 8px; }
  .v3 .ch-mine .pm-ch-kinds { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
  .v3 .pm-ch-kind { padding: 10px 6px; }
  .v3 .pm-ch-kind .x-btn { width: 100%; white-space: normal; line-height: 1.2; padding-left: 8px; padding-right: 8px; }
  .v3 .pm-ch-pic { width: 76px; height: 76px; }
  .v3 .ch-page .pm-ch-item { width: 100px; height: 118px; }
  .v3 .ch-page .pm-ch-img, .v3 .ch-page .pm-ch-img img { width: 56px; height: 56px; max-width: 56px; max-height: 56px; }
  .v3 .pm-ch-reel.rk-zenaria { border-width: 14px; border-image-width: 14px; }
  .v3 .ch-bulk { padding: 10px 6px; }
  .v3 .ch-bulk-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 6px; }
  .v3 .ch-bulk-grid .pm-ch-item { height: 104px; }
  .v3 .ch-choose { padding: 10px 6px; }
  .v3 .ch-gear-row { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .v3 .ch-wait { justify-content: center; text-align: center; }
  .v3 .ch-steps li { grid-template-columns: 46px minmax(0, 1fr); padding: 10px; column-gap: 10px; }
  .v3 .ch-step-pic { width: 46px; height: 46px; }
  .v3 .ch-odds-row { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .v3 .ch-prize.is-jack { grid-template-columns: 52px minmax(0, 1fr); padding: 12px; }
  .v3 .ch-prize.is-jack .ch-prize-img, .v3 .ch-prize.is-jack .ch-prize-img img { width: 52px; height: 52px; max-width: 52px; max-height: 52px; }
  .v3 .ch-prize.is-jack .ch-prize-tx { font-size: 15px; }
  .v3 .pm-ch-otabs [role="tab"] { padding: 6px 10px; font-size: 12.5px; }
  .v3 .ch-won li { grid-template-columns: 32px minmax(0, 1fr); gap: 10px; padding: 8px; }
  .v3 .ch-won img { width: 32px; height: 32px; }
  .v3 .ch-won .is-wait { grid-column: 2; white-space: normal; }
  .v3 .ch-top li:not(.ch-top-h) { grid-template-columns: 18px 28px minmax(0, 1fr); }
  .v3 .ch-top em { grid-column: 3; text-align: left; font-size: 13px; }
  .v3 .ch-top img { width: 28px; height: 28px; }
  .v3 .ch-feed li { grid-template-columns: 40px minmax(0, 1fr); }
  .v3 .ch-feed li b { grid-column: 2; justify-content: flex-start; text-align: left; }
}
/* 25.10: без цветной полосы слева («полумесяц» при скруглении смотрелся чужеродно) — ровная рамка, уровень приза — цветом названия */
.v3 .ch-won li { border: 1px solid var(--line); border-left-width: 1px; background: rgb(255 255 255 / .02); }
.v3 .ch-won li:not(.t-c) { border-color: color-mix(in srgb, var(--tc) 30%, var(--line)); }
.v3 .ch-won img { padding: 3px; border-radius: 8px; background: rgb(255 255 255 / .04); }
.v3 .ch-prize { border-left-width: 1px; background: rgb(255 255 255 / .025); }
.v3 .pm-ch-lbl { overflow-wrap: anywhere; hyphens: auto; }

/* «Поддержать проект» (28.10): плавающее сердечко внизу слева, снаружи основного контейнера (--wrap) с отступом 32 px; где места нет — у края экрана; на всех страницах; окно — в игровой рамке */
.v3 .dn-float { position: fixed; left: max(10px, calc((100% - var(--wrap)) / 2 - 92px)); bottom: 18px; z-index: 35; animation: dn-in .5s cubic-bezier(.2, .8, .2, 1) both; }
@keyframes dn-in { from { opacity: 0; transform: translateY(14px); } }
.v3 .dn-open { display: block; padding: 0; border: 0; background: none; cursor: pointer; animation: dn-float 4s ease-in-out infinite; }
.v3 .dn-open img { display: block; width: 60px; height: 60px; filter: drop-shadow(0 0 10px rgb(255 70 50 / .5)) drop-shadow(0 8px 14px rgb(0 0 0 / .6)); transition: transform .25s; }
.v3 .dn-open:hover img { transform: scale(1.1) rotate(-4deg); }
@keyframes dn-float { 50% { transform: translateY(-5px); } }
@media (prefers-reduced-motion: reduce) { .v3 .dn-open { animation: none; } }
@media (max-width: 560px) { .v3 .dn-float { left: 8px; bottom: 10px; } .v3 .dn-open img { width: 40px; height: 40px; } }

.v3 .dn-dialog { position: fixed; inset: 0; margin: auto; width: min(560px, calc(100% - 16px)); height: fit-content; max-height: calc(100dvh - 16px); overflow: auto; padding: 0;
  border: 56px solid transparent; border-image: url(/v3/img/donate/donate-panel.webp) 175 fill / 56px stretch; border-width: 0; background: none; color: var(--text);
  filter: drop-shadow(0 30px 60px rgb(0 0 0 / .85)); }
.v3 .dn-dialog[open] { display: block; padding: 42px; }
/* при открытии фокус на самом окне, без рамки выделения; рамка фокуса — только при управлении с клавиатуры */
.v3 .dn-dialog:focus, .v3 .dn-dialog :focus:not(:focus-visible) { outline: none; }
.v3 .dn-dialog::backdrop { background: rgb(5 6 9 / .74); backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px); }
.v3 .dn-art { position: relative; aspect-ratio: 960 / 330; overflow: hidden; border-radius: 4px; box-shadow: 0 0 0 1px rgb(232 189 106 / .35); }
.v3 .dn-art img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: 50% 60%; }
.v3 .dn-art::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 55%, rgb(22 15 12 / .9)); pointer-events: none; }
.v3 .dn-body { display: grid; gap: 14px; justify-items: center; padding: 16px 10px 8px; text-align: center; }
.v3 .dn-body[hidden] { display: none; }
.v3 .dn-body h2 { margin: 0; font-size: 26px; background: linear-gradient(180deg, #fff3d0 10%, #e8bd6a 70%, #b07d33); -webkit-background-clip: text; background-clip: text; color: transparent; }
.v3 .dn-love { display: flex; align-items: center; justify-content: center; gap: 8px; margin: -4px 0 0; color: #ffb4a6; font-size: 16px; font-weight: 600; }
.v3 .dn-love span { font-size: 20px; line-height: 1; }
.v3 .dn-thx-heart { font-size: 72px; line-height: 1; margin-top: 6px; }
.v3 .dn-lead { margin: 0; color: rgb(236 226 210 / .78); font-size: 15px; line-height: 1.5; }
.v3 .dn-sums { display: flex; justify-content: center; gap: 6px; width: 100%; }
.v3 .dn-sum { flex: 1 1 0; min-width: 0; min-height: 44px; padding: 0 4px; white-space: nowrap; border: 0; border-radius: 999px; background: rgb(0 0 0 / .45); color: var(--dim);
  font: 600 15px/1 var(--font); font-variant-numeric: tabular-nums; cursor: pointer; transition: background .15s, color .15s; }
.v3 .dn-sum:hover { background: rgb(255 255 255 / .08); color: var(--text); }
.v3 .dn-sum[aria-checked="true"] { background: rgb(255 255 255 / .16); color: #fff; }
.v3 .dn-mail { display: grid; gap: 6px; width: min(320px, 100%); text-align: left; font-size: 13px; color: rgb(246 220 156 / .6); }
.v3 .dn-mail[hidden] { display: none; }
.v3 .dn-mail input { height: 44px; padding: 0 16px; border-radius: 999px; border: 0; background: rgb(0 0 0 / .45); color: var(--text); font: inherit; font-size: 15px; }
.v3 .dn-dialog [hidden] { display: none !important; }
.v3 .dn-tabs, .v3 .dn-nets { justify-content: center; }
.v3 .dn-btns { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; }
.v3 .dn-bill { text-align: left; padding: 14px 16px; border: 1px solid rgb(38 161 123 / .45); border-radius: 14px; background: rgb(38 161 123 / .08); }
.v3 .dn-bill .pe-note { margin: 0; }
.v3 .dn-go { min-width: 220px; }
.v3 .dn-go:disabled, .v3 .dn-tpay:disabled { opacity: .5; cursor: default; transform: none; }
.v3 .dn-note { margin: 0; font-size: 12px; color: rgb(246 220 156 / .45); }
.v3 .dn-err { margin: 0; color: #ff8a80; font-size: 14px; }
@media (max-width: 560px) { .v3 .dn-tabs { flex-wrap: nowrap; width: fit-content; border-radius: 999px; } .v3 .dn-tabs [role="tab"] { padding: 8px 10px; font-size: 13px; } .v3 .dn-tabs .pm-marks svg { width: 22px; height: 14px; } }
@media (max-width: 520px) { .v3 .dn-dialog { border-image-width: 40px; } .v3 .dn-dialog[open] { padding: 30px; }   .v3 .dn-sums { flex-wrap: wrap; } .v3 .dn-sum { flex: 1 1 28%; } }

/* «Донат» (/donate): все разделы подряд, у каждого свой заголовок */
.v3 .pm-all .pm-pane-h { margin: 28px 0 4px; font-size: 20px; font-weight: 600; letter-spacing: -.01em; color: var(--text); }
.v3 .pm-all .pm-pane-h:first-of-type { margin-top: 4px; }
