@charset "UTF-8";
/* [pravka 168] */
    /* [168] Замок скролла оболочки, пока открыт режим или страница во фрейме: инерционный
       свайп с главной и цепочка скролла из фрейма не должны крутить документ под ними. */
    html[data-game-scroll-owner], html:has(#rezhim-korpus.vidno) { overflow: hidden !important; overscroll-behavior: none; }
  
/* [pravka 169] */
    /* [169] Карточки главной и лента баннера получают постоянный слой отрисовки: на iPhone нажатие
       при свайпе и рывок вертикальной прокрутки больше не пересобирают слой с канвасом и текстом. */
    /* [185] строка «#tab-home .home-card { will-change: transform; }» снята: постоянный слой у 14 карточек при быстрой
       прокрутке не успевал прорисоваться — фон и названия пропадали, оставались только канвасы стикеров. */
    .home-banner-carousel [data-home-banner-viewport] { will-change: transform; }
  
/* [pravka 180] */
    /* [180] Меню оболочки скрыто, пока открыт режим или страница во фрейме: на Android событие resize
       возвращало ему display поверх игры, на iOS таких событий нет. Меню самих страниц не трогаем. */
    html[data-game-scroll-owner]:has(iframe.app-page-frame--ready:not([inert])) body > .bottom-nav,
    html[data-game-scroll-owner]:has(iframe.app-page-frame--loading:not([inert])) body > .bottom-nav,
    html:has(#rezhim-korpus.vidno) body > .bottom-nav { display: none !important; }
  
/* [pravka 182] */
    /* [182] Профиль по доске «фикс»: картинка баланса создателя внутри панели; настройки компактнее и плавнее. */
    #tab-profile .pf-creator:after { top: 8px; right: 10px; width: 118px; height: 116px; }
    .app-settings-head h2 { font-size: 18px; }
    .app-settings-controls { gap: 8px; }
    .app-settings-language { font-size: 14px; }
    .app-settings-language select { height: 32px; padding: 0 30px 0 10px; appearance: none; -webkit-appearance: none;
      background: var(--ds-bg-2) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%239ca1b0' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat right 12px center / 10px 6px; }
    .app-settings-toggle { min-height: 34px; padding: 4px 10px; border-radius: 12px; }
    .app-settings-toggle > span:first-child { font-size: 14px; }
    .app-settings-sheet[open] { animation-duration: .6s; animation-timing-function: cubic-bezier(.16, 1, .3, 1); }
    .app-settings-sheet[open]::backdrop { animation-duration: .45s; }
    .app-settings-sheet[data-closing] { animation-duration: .42s; animation-timing-function: cubic-bezier(.4, 0, .6, 1); }
    .app-settings-sheet[data-closing]::backdrop { animation-duration: .4s; }
  
/* [pravka 183] */
    /* [183] Keep the original Figma raster above the full 368x192 composition:
       it preserves the gift's hue/edges, while the full export carries the glow below the 95px crop. */
    .app #tab-profile .pf-creator {
      background: url(/img/pravki/183-balans-sozdatelya.webp?v=f13c90e2) right top / 198px 95px no-repeat,
        #181a1f url(/img/ds/wallet/figma-creator-20260909.svg?v=e200c278c297) right top / 368px 192px no-repeat !important;
    }
  
/* [pravka 185] */
    /* [185] Карточки главной без своего слоя (см. блок 169): при нажатии не масштабируем карточку (это создавало слой
       и мигание при касании в начале свайпа), вместо этого чуть гасим название — обычная перерисовка. */
    #tab-home .home-card:active { transform: none; }
    #tab-home .home-card:active .home-card__title { opacity: .75; }
  
/* [pravka 186] */
    /* [186] Карточки главной: новые эффекты сборки 10.09 (маска подложки, backdrop-filter, наложения, размытия) дают
       чёрные карточки при быстрой прокрутке в WebKit; заменены дешёвыми аналогами (как в сборке 09.09, где чёрного нет). */
    #tab-home.home-figma .home-card--css:after { mask: none !important; -webkit-mask: none !important; left: 0 !important; top: 55% !important; width: 100% !important; height: 45% !important;
      background: linear-gradient(180deg, transparent, var(--card-scrim, #051f2b)) !important; filter: none !important; opacity: .85; }
    #tab-home .home-card__upgrade-slot { backdrop-filter: none !important; -webkit-backdrop-filter: none !important; background: #ffffff26 !important; }
    #tab-home .home-card__native-number, #tab-home .home-card__plane-mult { mix-blend-mode: normal !important; filter: none !important; }
    #tab-home .home-card__pepe-glow { mix-blend-mode: normal !important; opacity: .55; }
    #tab-home .home-card--native[data-game=pepe-jump] .home-card__poster, #tab-home .home-card--native[data-game=pepe-jump] .home-card__animation { filter: none !important; }
    #tab-home .home-card__plane-trail { filter: none !important; opacity: .7; }
  
/* [pravka 188] */
    /* [188] Главная по доске «фикс»: воздух справа у шапки. Баннеры (правый край, свечения без svg-blur) — /js/pravka-188.js. */
    .ds-topbar__end { padding-right: 6px; }
    /* «Светлый квадрат справа снизу» на 777, заданиях и кейсе (на синем чате его нет): у этих трёх белый блик лежит в слое с
       mix-blend-mode: plus-lighter, WebKit рисует такой слой светлым прямоугольником по его границе (как screen у ракетки в 181).
       Наложение снимаем, белый блик с прозрачностью и так светлит. Кольцо плинко — то же наложение («плинко криво сверху»). */
    .home-banner .home-banner-layer { mix-blend-mode: normal !important; }
    #tab-home .home-card__figma-ring { mix-blend-mode: normal !important; }
  
/* [pravka 197] */
    /* [197] Модалка рейкбека — как модалка лидеров у Кодекса (#leadersInfoModal в main-*.css), по макету 4593:15047 */
    #rakebackInfoModal { align-items: center; justify-content: center; padding-left: max(var(--ds-gutter), var(--tg-inset-left)); padding-right: max(var(--ds-gutter), var(--tg-inset-right)); }
    #rakebackInfoModal .leaders-info-modal-backdrop { background: #0a0b0e99; -webkit-backdrop-filter: none; backdrop-filter: none; }
    #rakebackInfoModal .leaders-info-modal-content { width: 294px; max-width: 100%; display: flex; flex-direction: column; gap: var(--ds-space-5); padding: 11px; background: var(--ds-bg-2); border: 1px solid var(--ds-border-subtle); border-radius: var(--ds-radius-lg); box-shadow: none; text-align: center; }
    #rakebackInfoModal .leaders-info-modal-title { order: 1; margin: 0; color: var(--ds-text-primary); font-size: var(--ds-fs-16); font-weight: var(--ds-fw-medium); line-height: var(--ds-lh-tight); letter-spacing: var(--ds-tracking); }
    #rakebackInfoModal .leaders-info-modal-text { order: 2; margin: 0; color: var(--ds-text-tertiary); font-size: var(--ds-fs-14); font-weight: var(--ds-fw-regular); line-height: var(--ds-lh-tight); letter-spacing: var(--ds-tracking); }
    #rakebackInfoModal .leaders-info-modal-close-btn { order: 3; position: static; top: auto; right: auto; font-size: var(--ds-fs-16); font-weight: var(--ds-fw-regular); line-height: var(--ds-lh-tight); }
  
/* [pravka 199] */
    /* [199] окно выбора способа оплаты не показываем — оплата сразу с баланса (см. /js/pravka-199-start-ac442ebbe3ee-sync-eb0ac36ab12f.js) */
    #roulettePayModal, #racePayModal, #lastpayerPayModal, #auctionPayModal { display: none !important; }
  
/* [pravka 202] */
    /* [202] реферальный раздел: сворачиваемые «Стандартные ссылки» и карточка «Бесплатные розыгрыши» (см. /js/pravka-202-i18n-509c832dcdeb.js) */
    .ref-links-card .ref-links-title[data-pravka202], .ref-contests-card .pravka202-title { display: flex; align-items: center; justify-content: space-between; gap: 10px; cursor: pointer; user-select: none; -webkit-user-select: none; }
    .ref-links-card .ref-links-title[data-pravka202]::after, .ref-contests-card .pravka202-title::after { content: ""; width: 10px; height: 10px; flex: 0 0 auto; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: rotate(45deg); margin: -4px 6px 0 0; opacity: .6; transition: transform .2s; }
    .ref-links-card.pravka202-svernuto .ref-links-title[data-pravka202]::after, .ref-contests-card.pravka202-svernuto .pravka202-title::after { transform: rotate(-45deg); margin-top: 2px; }
    .ref-links-card.pravka202-svernuto > :not(.ref-links-title) { display: none !important; }
    .ref-contests-card.pravka202-svernuto > :not(.pravka202-title) { display: none !important; }
    .ref-contests-card .pravka202-itog { margin-left: auto; margin-right: 8px; font-size: var(--ds-fs-14, 14px); font-weight: 400; color: var(--ds-text-tertiary, #ffffff99); white-space: nowrap; }
    .ref-contests-card .pravka202-hint { margin-top: 6px; }
    .ref-contests-card .pravka202-list { display: flex; flex-direction: column; gap: 10px; margin: 16px -19px -19px; }
    .pravka202-row { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 14px 20px; background: var(--ds-bg-2, #181a1f); border-radius: var(--ds-radius-lg, 16px); }
    .pravka202-row__t { font-size: var(--ds-fs-14, 14px); color: var(--ds-text-primary, #fff); }
    .pravka202-row__d { font-size: 12px; color: var(--ds-text-tertiary, #ffffff99); margin-top: 2px; }
    .pravka202-row__r { text-align: right; white-space: nowrap; }
    .pravka202-row__refs { font-size: 13px; color: var(--ds-text-primary, #fff); }
    .pravka202-row__sum { font-size: 13px; color: #00e676; margin-top: 2px; }
  
/* [pravka 203] */
    /* [203] Keep the existing card/background edge cleanup. The PvP illustration
       now has its own transparent export and uses the original Figma bounds. */
    #tab-home .home-card--css { box-shadow: none !important; }
    #tab-home .home-card__art { scale: 1.03; }
  
/* [pravka 206] */
    /* [206] видимая плашка «Пусто · 0 ★» над кнопкой «Готово» при пустом исходе бесплатного кейса (см. /js/pravka-206-zh-f1d7fe39bca9.js) */
    .pravka206-blok { width: 100%; box-sizing: border-box; padding: 12px 14px; border-radius: 16px; background: var(--ds-bg-2, #181a1f); text-align: center; font-family: var(--ds-font, inherit); }
    .pravka206-blok__zag { font-size: 16px; font-weight: var(--ds-fw-medium, 500); line-height: 1.3; color: var(--ds-text-primary, #fff); }
    .pravka206-blok__pod { margin-top: 4px; font-size: 13px; line-height: 1.4; color: var(--ds-text-secondary, #9ca1b0); }
    .case-result-summary.pravka206-pusto .case-result-summary__status { color: var(--ds-text-tertiary, #686c78); }
  
/* [pravka 219] */

/* [pravka 312] */
/* [312] «Мои подарки»: до первого ответа инвентаря — скелет трёх карточек (классы 221, разметка в карточке),
   «У вас пока нет подарков» — только после ответа с пустым списком; сбой первого ответа — «Не удалось загрузить» + «Повторить»
   (рисует profile-i18n [312]). Геометрия — как у .profile-inventory-list: 3 колонки, зазор 5, плитка 94.67:95, ряд кнопок 25,
   та же маска снизу и «Пополнить» вплотную — при замене скелета сеткой кнопки не прыгают. */
#tab-profile .profile-gifts-card:is([data-gifts-state="loading"],[data-gifts-state="error"])>.profile-empty-text{display:none}
#tab-profile .profile-gifts-card:not([data-gifts-state="loading"])>.pf-gifts__sk{display:none}
#tab-profile .profile-gifts-card[data-gifts-state="loading"]>.profile-gifts-fill-btn{margin-top:0}
#tab-profile .pf-gifts__sk>.sk{--sk-fon:var(--ds-bg-2,#181a1f);--sk-fon2:var(--ds-bg-3,#202228);display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;margin-top:20px;-webkit-mask-image:linear-gradient(180deg,#000 0%,#000 87%,transparent 100%);mask-image:linear-gradient(180deg,#000 0%,#000 87%,transparent 100%)}
#tab-profile .sk-pf-gift{display:flex;flex-direction:column;gap:12px;padding:5px;border:1px solid var(--ds-border-subtle,#1e2026);border-radius:var(--ds-radius-md,16px)}
#tab-profile .sk-pf-gift__thumb{width:100%;aspect-ratio:94.67/95;border-radius:var(--ds-radius-sm,12px)}
#tab-profile .sk-pf-gift__row{display:flex;gap:2px;height:25px}
#tab-profile .sk-pf-gift__row>.sk-polosa{flex:1 1 auto;width:auto;height:25px;border-radius:var(--ds-radius-pill,999px)}
#tab-profile .sk-pf-gift__row>.sk-polosa+.sk-polosa{flex:0 0 29px}
#tab-profile .pf-gifts__err{margin-top:20px;text-align:center}
#tab-profile .pf-gifts__err[hidden]{display:none}
#tab-profile .pf-gifts__err .pf-empty{margin:0}
#tab-profile .pf-gifts__retry{display:inline-flex;align-items:center;justify-content:center;height:30px;margin-top:10px;padding:0 16px;border:0;border-radius:var(--ds-radius-pill,999px);background:var(--ds-bg-3,#202228);color:var(--ds-text-primary,#fff);font-family:var(--ds-font,inherit);font-size:var(--ds-fs-14,14px);font-weight:var(--ds-fw-medium,500);line-height:1;cursor:pointer}
