/* Буфер «Неучтённые компоненты» — стили компонентов на рассмотрении. Только токены ДС. */
.u-vsp { display: block; flex: none; width: 100%; }
.u-hsp { display: inline-block; flex: none; align-self: stretch; }
/* Карточка компонента на странице буфера */
.pend-meta { display: grid; grid-template-columns: max-content 1fr; gap: 6px 16px; margin: 8px 0 0; font-size: 13px; line-height: 18px; }
.pend-meta dt { color: var(--ink-3, #888); }
.pend-meta dd { margin: 0; }
.pend-status { display: inline-block; padding: 2px 8px; border-radius: 8px; background: rgb(255 170 0 / .16); color: #b26b00; font-size: 12px; font-weight: 600; }

/* List-Item: заголовок Text/Secondary и плитка Container/Negative | Accent (переопределения из макетов продуктов) */
.u-li.u-pli-title-secondary .u-li__title { color: var(--c-text-secondary); }
.u-li.u-pli-tile-negative .u-tile { background: var(--c-container-negative); }
.u-li.u-pli-tile-accent .u-tile { background: var(--c-container-accent); }

/* Кнопка Apple Wallet: Primary button с заливкой Graphic/Primary и текстом Text/Inverse Primary */
.u-btn.u-pbtn-wallet { background: var(--c-graphic-primary); color: var(--c-text-inverse-primary, var(--c-graphic-inverse-primary)); }

/* ПИН-клавиатура: сетка 3×4, пад 16 со всех сторон, gap 8; кнопка 109×64 r20 Actions/Tertiary White; под сеткой VSpacing s 12 и хоум-индикатор */
.u-pinpad { display: flex; flex-direction: column; transition: transform var(--kb-ms, 250ms) var(--kb-ease, cubic-bezier(.38, .7, .125, 1)); }
.u-pinpad.is-hidden { transform: translateY(100%); pointer-events: none; } /* show={false}: за нижним краем; появление/скрытие — как у клавиатуры ДС */
.u-pinpad__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; padding: 16px; } /* «Pin code keyboard»: пад 16 со всех сторон */
.u-pinpad__grid + .u-home, .u-pinpad__gap { margin-top: 12px; } /* VSpacing s 12 до хоум-индикатора */
.u-pinpad__k { height: 64px; border-radius: 20px; background: var(--c-actions-tertiary-white); -webkit-backdrop-filter: var(--blur-m); backdrop-filter: var(--blur-m);
  display: grid; place-items: center; font: 600 20px/24px var(--font-ui); letter-spacing: -0.01em; color: var(--c-text-primary); transition: transform .1s ease; user-select: none; }
.u-pinpad__k:active { transform: scale(.94); }
.u-pinpad__k.is-text { font: 600 16px/20px var(--font-ui); color: var(--c-text-secondary); }
.u-pinpad__k.is-icon { color: var(--c-text-secondary); }
/* Индикатор ПИН-кода: ячейки 40×40, пад 0 20 */
.u-pindots { position: relative; display: flex; align-items: center; height: 64px; padding: 0 20px; }
.u-pindots__in { position: absolute; inset: 0; width: 100%; height: 100%; opacity: 0; border: 0; padding: 0; background: none; color: transparent; caret-color: transparent; cursor: pointer; }
.u-pindots.is-error.has-field .u-pindots__c > .u-ic { color: var(--c-graphic-error); }
.u-pindots.is-error .u-pindots__c > .u-ic { color: var(--c-graphic-error); }
.u-pindots__err { padding: 0 20px; font: 500 16px/20px var(--font-ui); letter-spacing: -0.01em; color: var(--c-text-error); }
.u-pindots__c { width: 40px; height: 40px; display: grid; place-items: center; color: var(--c-graphic-disabled); }
.u-pindots__c > .u-ic { width: 40px; height: 40px; } /* bullet-large на всю ячейку: ромб 23×23 */
.u-pindots__c > i { width: 20px; height: 20px; border-radius: 50%; background: var(--c-graphic-accent); animation: u-pin-pop .2s ease; }
.u-pindots.is-saving .u-pindots__c > i { animation: none; }
.u-pindots.is-error .u-pindots__c > i { background: var(--c-graphic-error); }
.u-pindots.is-error { animation: u-shake 400ms ease; }
.u-pindots.is-success .u-pindots__c > i { animation: u-pin-pulse .6s ease-in-out infinite alternate; }
@keyframes u-pin-pop { from { transform: scale(.4); } }
@keyframes u-pin-pulse { to { transform: scale(.8); } }

/* Ссылка в тексте: Text/Link, шрифт наследуется */
.u-tlink { color: var(--c-text-link); text-decoration: none; cursor: pointer; }

/* График по месяцам */
.u-barchart { display: flex; gap: 8px; align-items: flex-end; overflow-x: auto; scrollbar-width: none; padding: 0 16px; }
/* Рост столбиков: высота 0 → своя от базовой линии (подпись едет вверх вместе с верхом), 600 мс, cubic-bezier(.2, .8, .2, 1). До старта (is-wait) —
   нулевая высота без перехода; старт (is-go) даёт BarChart, когда график виден. */
.u-barchart__bar { overflow: hidden; }
.u-barchart.is-wait .u-barchart__bar { padding-top: 0; padding-bottom: 0; transition: none; }
.u-barchart.is-go .u-barchart__bar { transition: height .6s cubic-bezier(.2, .8, .2, 1), padding .6s cubic-bezier(.2, .8, .2, 1), transform .12s ease; }
@media (prefers-reduced-motion: reduce) { .u-barchart.is-go .u-barchart__bar { transition: transform .12s ease; } }
.u-barchart::-webkit-scrollbar { display: none; }
.u-barchart__bar { flex: none; width: 56px; border-radius: 12px; padding: 9px 0; display: flex; align-items: flex-end; justify-content: center; white-space: nowrap;
  background: var(--c-container-grey); color: var(--c-text-secondary); font: 500 12px/15px var(--font-ui); transition: transform .12s ease; }
.u-barchart__bar:active { transform: scale(.95); }
.u-barchart__bar.is-on { background: var(--g-graphic-secondary); color: var(--c-text-inverse-primary, var(--c-graphic-inverse-primary)); }

/* List-Item: значение / подзначение Text/Accent, зачёркнутое, тексты Text/Disabled без приглушения значка, бейдж Text/Accent */
.u-li.u-pli-value-accent .u-li__value { color: var(--c-text-accent); }
.u-li.u-pli-subvalue-accent .u-li__subvalue { color: var(--c-text-accent); }
.u-li.u-pli-strike-value .u-li__value, .u-li.u-pli-strike-subvalue .u-li__subvalue { text-decoration: line-through; }
.u-li.u-pli-text-disabled .u-li__title, .u-li.u-pli-text-disabled .u-li__sub, .u-li.u-pli-text-disabled .u-li__value, .u-li.u-pli-text-disabled .u-li__subvalue { color: var(--c-text-disabled); }
.u-li.u-pli-badge-accent .u-badge { color: var(--c-text-accent); }

/* Widget: Wrapper Container/Grey */
.u-widget.u-pw-grey { background: var(--c-container-grey); --par-tint: var(--c-container-grey); }

/* Extra promo color=promo: заливка Container/Promo 1 gradient, текст Text/Primary, «ушки» в тон верха градиента */
.u-xpromo.u-pxp-promo .u-xpromo__band { color: var(--c-text-primary); }
.u-xpromo.u-pxp-promo .u-xpromo__band::before { background: var(--g-promo-1); }
.u-xpromo.u-pxp-promo .u-xpromo__ear { background: var(--c-container-promo-1-gradient-start); }
.u-xpromo.u-pxp-promo .u-xpromo__band .u-ic.is-chev { color: var(--c-graphic-secondary); }
.u-xpromo.u-pxp-promo .u-xpromo__ic { color: var(--c-graphic-primary); }

/* Carousel-Item */
.u-carits { display: flex; gap: 8px; padding: 0 16px; overflow-x: auto; scrollbar-width: none; }
.u-carits::-webkit-scrollbar { display: none; }
.u-carit { position: relative; flex: none; width: 100px; height: 90px; border-radius: 20px; background: var(--c-surface-widget); transition: transform .12s ease; }
.u-carit:has(.u-carit__main:active) { transform: scale(.96); }
.u-carit.is-shimmer { display: flex; flex-direction: column; justify-content: space-between; padding: 12px 8px 12px 12px; }
.u-carit__main { width: 100%; height: 100%; display: flex; flex-direction: column; justify-content: space-between; padding: 12px 8px 12px 12px; text-align: left; border-radius: inherit; }
.u-carit__ps { display: flex; height: 20px; }
.u-carit__txt { display: flex; flex-direction: column; gap: 2px; width: 80px; }
.u-carit__t, .u-carit__s { font: 500 12px/15px var(--font-ui); --fade: 16px; }
.u-carit__t { color: var(--c-text-primary); }
.u-carit__s { color: var(--c-text-secondary); }
.u-carit__more { position: absolute; right: 0; top: 0; width: 44px; height: 40px; padding: 10px 8px 10px 16px; display: grid; place-items: center; color: var(--c-graphic-secondary); transition: transform .1s ease; }
.u-carit__more:active { transform: scale(.9); }

/* Pull to refresh: строка 48 — иконка 24 сверху, ниже 24 */
.u-ptr { height: 48px; display: flex; justify-content: center; color: var(--c-graphic-primary); }
.u-ptr__ic { display: flex; width: 24px; height: 24px; transition: transform .1s linear; }
.u-ptr__ic.is-spin { animation: u-ptr-spin .8s linear infinite; }
@keyframes u-ptr-spin { to { transform: rotate(360deg); } }

/* Промо-карусель */
.u-banners { display: flex; gap: 12px; padding: 0 16px; overflow-x: auto; scrollbar-width: none; }
.u-banners::-webkit-scrollbar { display: none; }
.u-banners__it { flex: none; width: 100px; height: 96px; border-radius: 16px; overflow: hidden; transition: transform .12s ease; }
.u-banners__it:active { transform: scale(.96); }
.u-banners__it .u-img { height: 100%; }

/* Тона текстов ячейки */
.u-li.u-pli-title-accent .u-li__title { color: var(--c-text-accent); }
.u-li.u-pli-title-negative .u-li__title { color: var(--c-text-error); }
.u-li.u-pli-sub-accent .u-li__sub { color: var(--c-text-accent); }
.u-li.u-pli-subvalue-bold .u-li__subvalue { font-weight: 600; }
/* Плитки страховок: КАСКО — Container gradient (ΔE 6,1); ОСАГО — синего токена нет */
.u-li.u-pli-tile-kasko .u-tile { background: var(--g-container-static); }
.u-li.u-pli-tile-osago .u-tile { background: linear-gradient(180deg, #57a3fb, #1f69e6); /* brand: в ДС нет синего, ΔE ≥ 33 — вопрос дизайнеру */ }

/* Ячейка: тона и плитки (волна 4) */
.u-li.u-pli-value-negative .u-li__value { color: var(--c-text-error); }
.u-li.u-pli-value-secondary .u-li__value { color: var(--c-text-secondary); }
.u-li.u-pli-sub-negative .u-li__sub { color: var(--c-text-error); }
.u-li.u-pli-title-bold .u-li__title { font-weight: 600; }
.u-li.u-pli-tile-accent-solid .u-tile { background: var(--c-graphic-accent); }
.u-li.u-pli-tile-negative-saturated .u-tile { background: var(--c-container-negative-saturated); }
.u-li.u-pli-badge-bg .u-badge { background: rgb(1 1 1 / .25); box-shadow: none; } /* RAW #010101 25% из макета — токена нет */

/* Контекстное меню на Spotlight-Base */
.u-pctx { position: absolute; inset: 0; z-index: 75; background: rgb(0 0 0 / .15); -webkit-backdrop-filter: blur(40px); backdrop-filter: blur(40px); animation: u-fade-in .2s ease; }
.u-pctx.is-closing { animation: u-fade-out .2s ease forwards; }
.u-pctx__sb { position: absolute; left: 0; right: 0; top: 0; }
.u-pctx__menu { position: absolute; width: 200px; padding: 4px; border-radius: 20px; background: var(--c-container-white); transform-origin: 100% 0; animation: u-pctx-in .22s cubic-bezier(.2, .8, .2, 1); }
.u-pctx.is-closing .u-pctx__menu { animation: u-pctx-out .18s ease forwards; }
@keyframes u-pctx-in { from { opacity: 0; transform: scale(.9); } }
@keyframes u-pctx-out { to { opacity: 0; transform: scale(.94); } }
.u-pctx__it { width: 100%; display: flex; align-items: center; gap: 8px; padding: 12px; border-radius: 16px; font: 500 16px/20px var(--font-ui); letter-spacing: -0.01em; color: var(--c-text-primary); transition: transform .1s ease; }
.u-pctx__it > span { flex: 1; text-align: left; }
.u-pctx__it .u-ic { color: var(--c-graphic-primary); }
.u-pctx__it:active { transform: scale(.97); }
.u-pctx__it.is-danger, .u-pctx__it.is-danger .u-ic { color: var(--c-text-error); }

/* Стеклянный чипс камеры */
.u-pglass { display: inline-flex; align-items: center; gap: 4px; height: 28px; padding: 0 10px; border-radius: 32px; background: var(--c-graphic-static-disabled); -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px);
  color: var(--c-text-inverse-static-primary); font: 500 12px/15px var(--font-ui); transition: transform .1s ease; }
.u-pglass .u-ic { color: var(--c-graphic-inverse-static-primary); }
.u-pglass:active { transform: scale(.95); }

/* Постоянная шторка с двумя положениями */
.u-psnap { position: absolute; left: 0; right: 0; top: 0; height: 812px; z-index: 22; display: flex; flex-direction: column; transition: transform .35s cubic-bezier(.32, .72, 0, 1); touch-action: none; }
.u-psnap .u-xpromo { flex: none; }
.u-psnap__sheet { position: relative; flex: 1; margin-top: -1px; border-radius: 32px 32px 0 0; background: var(--c-surface-bottom-sheet); box-shadow: 0 6px 32px rgb(0 0 0 / .12); overflow: hidden; display: flex; flex-direction: column; }
.u-psnap__tabs { display: flex; justify-content: center; gap: 16px; padding: 30px 12px 14px; }
.u-psnap__tabs button { font: 600 16px/20px var(--font-ui); letter-spacing: -0.01em; color: var(--c-text-secondary); transition: color .15s ease; }
.u-psnap__tabs button.is-on { color: var(--c-text-primary); }
.u-psnap__body { flex: 1; min-height: 0; overflow: auto; scrollbar-width: none; padding-top: 40px; }

/* Кешбэк */
.u-pglassw { position: relative; display: block; width: calc(100% - 32px); margin: 0 16px; padding: 24px 16px 20px; border-radius: 20px; background: var(--g-widget-alpha);
  box-shadow: inset 0 0 0 1px var(--c-surface-widget); -webkit-backdrop-filter: blur(40px); backdrop-filter: blur(40px); text-align: center; overflow: hidden; transition: transform .2s ease; }
.u-pglassw.is-tap:active { transform: scale(.97); }
.u-poffer { position: relative; display: block; width: 100%; height: 252px; border-radius: 20px; overflow: hidden; text-align: left; isolation: isolate; transition: transform .2s ease; }
/* Скругление снизу: плашка с backdrop-filter в Chrome не обрезается overflow родителя по радиусу — режем карточку clip-path и скругляем саму плашку */
.u-poffer { clip-path: inset(0 round 20px); }
.u-poffer__panel { border-radius: 0 0 20px 20px; }
.u-poffer:active { transform: scale(.97); }
.u-poffer__img { position: absolute; inset: 0; height: 100%; }
.u-poffer__shade { position: absolute; left: 0; top: 0; bottom: 0; width: 174px; background: linear-gradient(270deg, rgb(0 0 0 / 0), var(--c-surface-darkening)); }
.u-poffer__top { position: absolute; left: 16px; right: 16px; top: 20px; display: flex; gap: 12px; align-items: flex-start; }
.u-poffer__logo { flex: none; width: 32px !important; height: 32px; margin-top: 4px; }
.u-poffer__tt { flex: 1; min-width: 0; display: flex; flex-direction: column; }
.u-poffer__name { font: 600 20px/24px var(--font-ui); letter-spacing: -0.01em; color: var(--c-text-inverse-static-primary); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.u-poffer__cat { font: 500 12px/15px var(--font-ui); color: var(--c-text-inverse-static-secondary); }
.u-poffer__panel { position: absolute; left: 0; right: 0; bottom: 0; padding: 10px 16px 16px; display: flex; gap: 12px; align-items: flex-start; background: var(--c-surface-darkening); -webkit-backdrop-filter: var(--blur-m); backdrop-filter: var(--blur-m); }
.u-poffer__sum { flex: none; font: 500 32px/38px var(--font-display); color: var(--c-text-inverse-static-primary); white-space: nowrap; }
.u-poffer__cap { flex: 1; min-width: 0; padding-top: 6px; font: 500 14px/18px var(--font-ui); color: var(--c-text-inverse-static-primary); display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.u-poffer__pay { flex: none; margin-top: 8px; display: flex; gap: 4px; padding: 8px; border-radius: 100px; background: var(--c-actions-transparent); -webkit-backdrop-filter: blur(20px); backdrop-filter: blur(20px); }
.u-pcaps { display: inline-flex; align-items: center; gap: 2px; padding: 4px 8px; border-radius: 20px; background: var(--g-button-accent); color: var(--c-text-inverse-static-primary); font: 600 12px/15px var(--font-ui); transition: transform .2s ease; }
.u-pcaps.is-l { gap: 4px; padding: 4px 12px 4px 8px; }
button.u-pcaps:active { transform: scale(.97); }
.u-pbar { height: 9px; border-radius: 9px; background: var(--c-border-border-subtle); overflow: hidden; }
.u-pbar > i { display: block; height: 100%; border-radius: 9px; background: var(--c-graphic-accent); transition: width .3s ease; }
.u-pgood { flex: none; width: 132px; display: flex; flex-direction: column; gap: 4px; text-align: left; transition: transform .2s ease; }
.u-pgood:active { transform: scale(.97); }
.u-pgood__img { width: 132px; background: var(--c-container-grey); }
.u-pgood__p { padding: 0 8px; display: flex; flex-direction: column; }
.u-pgood__price { font: 600 16px/20px var(--font-ui); letter-spacing: -0.01em; color: var(--c-text-primary); }
.u-pgood__price.is-uz { color: var(--c-text-accent); }
.u-pgood__old { font: 500 12px/15px var(--font-ui); color: var(--c-text-secondary); }
.u-pgood__t { font: 500 12px/15px var(--font-ui); color: var(--c-text-secondary); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }

/* Волна 6 */
.u-pglass.is-plain { background: none; -webkit-backdrop-filter: none; backdrop-filter: none; }
.u-pglassw.pad-bottom16 { padding-bottom: 16px; }
.u-pglassw.pad-none { padding: 0; text-align: left; }
.u-poffer__slot { flex: none; display: flex; gap: 4px; }
.u-pgood__price { display: flex; align-items: center; gap: 4px; }
.u-li.u-pli-badge-bg .u-badge { color: var(--c-graphic-inverse-static-primary); }
.u-li.u-pli-badge-bg .u-badge .u-ic--paint { --paint: var(--c-graphic-inverse-static-primary) !important; }

/* ---------- Волна 8: сканер Uzum Pay ---------- */
.u-pscan { display: block; width: 243px; height: 243px; color: var(--c-graphic-inverse-static-primary); transition: transform .15s ease; }
.u-pscan svg { display: block; width: 100%; height: 100%; fill: none; stroke: currentColor; stroke-width: 4; stroke-linecap: round; }
button.u-pscan:active { transform: scale(.97); }
.u-pscan.is-loading { animation: u-pscan-pulse 1.1s ease-in-out infinite; }
@keyframes u-pscan-pulse { 50% { opacity: .4; } }
.u-pqr { display: flex; justify-content: center; height: 247px; }
.u-pqr__btn { display: block; border-radius: 24px; transition: transform .15s ease; }
.u-pqr__btn:active { transform: scale(.98); }
/* сцена с перспективой: карточка поворачивается целиком, тень лежит под ней отдельно (0 6px 32px Container/Shadow) */
.u-pqr__stage { position: relative; display: block; width: 247px; height: 247px; perspective: 900px; }
.u-pqr__sh { position: absolute; inset: 0; border-radius: 24px; background: var(--c-container-shadow); transform: translateY(6px); filter: blur(16px); pointer-events: none; }
.u-pqr__card { position: relative; display: block; box-sizing: border-box; padding: 24px 0 0 24px; width: 247px; height: 247px; border-radius: 24px; background: var(--c-graphic-inverse-static-primary); transform-origin: 50% 50%; will-change: transform; }
.u-pqr__shade { position: absolute; inset: 0; border-radius: 24px; background: var(--c-graphic-static-primary); opacity: 0; pointer-events: none; }
.u-pqr__qr { display: block; width: 200px; height: 200px; }
.u-pqr__qr > .u-img { width: 200px; }
.u-pqr__sk { display: block; width: 200px; height: 200px; border-radius: 12px; }
/* ---------- Волна 8: лендинг регистрации ---------- */
.u-phead { box-sizing: border-box; min-height: 331px; border-radius: 0 0 32px 32px; overflow: hidden; background: radial-gradient(120% 100% at 50% 0%, var(--c-surface-sussess-gradient-start), var(--c-surface-sussess-gradient-end)); }
.u-phead__sb { height: 46px; } /* статус-бар @2,2 во фрейме макета */
.u-phead__in { padding: 16px 22px 32px 26px; } /* содержимое фрейма «Image» в макете сдвинуто на 2 px вправо и вниз (статус-бар @2,2) */
.u-phead__t { margin: 0; font: 700 32px/35px var(--font-display); text-transform: uppercase; color: var(--c-text-inverse-static-primary); }
.u-phead__p { margin: 16px 0 0; font: 500 16px/20px var(--font-ui); letter-spacing: -0.01em; color: var(--c-text-inverse-static-secondary); }
.u-pacct { margin: 0; padding: 0 24px; font: 700 32px/35px var(--font-display); text-transform: uppercase; color: var(--c-text-accent); }
.u-pacct__card { display: inline-block; width: 38px; height: 27px; margin-left: 8px; border-radius: 3px; vertical-align: -2px; object-fit: cover; }
/* Плитка tile="green" (лендинг регистрации): в макете radial RAW #00c06c → #02864c; ближайший токен Graphic/Success (ΔE 3,7 / 25,2) — сплошной, вопрос дизайнеру */
.u-li.u-pli-tile-green .u-tile { background: var(--c-graphic-success); }

.u-pindots__dia { display: grid; color: var(--c-graphic-accent); }
.u-pindots__dia > .u-ic { width: 40px; height: 40px; }

/* ---------- Волна 9б: экран блокировки ---------- */
.u-plock { position: relative; width: 375px; height: var(--uz-screen-h, 812px); overflow: hidden; background: radial-gradient(120% 70% at 80% 0%, var(--c-surface-sussess-gradient-start), var(--c-surface-sussess-gradient-end) 70%) center / cover no-repeat;
  color: var(--c-text-inverse-static-primary); }
.u-plock[style*="background-image"] { background-size: cover; background-position: center; }
.u-plock .u-statusbar { position: absolute; left: 0; top: 0; }
.u-plock__sb { position: absolute; left: 0; right: 0; top: 0; height: 52px; padding: 22px 24px 10px; box-sizing: border-box; display: flex; justify-content: space-between; align-items: center;
  font: 500 14px/20px Roboto, var(--font-ui); color: var(--c-text-inverse-static-primary); }
.u-plock__sb i { display: flex; gap: 6px; align-items: center; }
.u-plock__sb svg { width: 16px; height: 16px; fill: currentColor; }
.u-plock__sb svg:last-child { width: 10px; }
.u-plock__time { position: absolute; left: 16px; width: 343px; display: flex; flex-direction: column; }
.is-android .u-plock__time { top: 82px; height: 148px; padding-left: 16px; box-sizing: border-box; gap: 49px; }
.is-android .u-plock__t { font: 300 86px/74px Roboto, var(--font-ui); letter-spacing: -0.06em; color: var(--c-text-inverse-static-primary); }
.is-android .u-plock__d { font: 400 20px/25px Roboto, var(--font-ui); color: var(--c-text-inverse-static-primary); }
.is-ios .u-plock__time { top: 87px; align-items: center; text-align: center; }
.is-ios .u-plock__d { font: 500 22px/26px -apple-system, "SF Pro Text", system-ui, sans-serif; }
.is-ios .u-plock__t { font: 300 100px/102px -apple-system, "SF Pro Display", system-ui, sans-serif; letter-spacing: -0.02em; }
.u-plock__list { position: absolute; display: flex; flex-direction: column; gap: 8px; }
.is-android .u-plock__list { top: 296px; left: 16px; right: 16px; }
.is-ios .u-plock__list { bottom: 120px; left: 10px; right: 10px; }
.is-ios.is-top .u-plock__list { top: 232px; bottom: auto; left: 8px; right: 8px; }
.u-plock .u-push, .uz .u-plock .u-push.is-android { position: relative; left: auto; right: auto; top: auto; }
.u-plock .u-push__pill { animation: none; }
.u-plock__btn { position: absolute; top: 712px; width: 50px; height: 50px; border-radius: 25px; display: grid; place-items: center; background: rgb(0 0 0 / .25); -webkit-backdrop-filter: blur(20px); backdrop-filter: blur(20px); color: var(--c-graphic-inverse-static-primary); }
.u-plock__btn.is-l { left: 46px; } .u-plock__btn.is-r { left: 279px; }
.u-plock__home { position: absolute; left: 0; right: 0; bottom: 0; }
.is-android .u-plock__home { height: 28px; display: flex; justify-content: center; padding-top: 18px; box-sizing: border-box; }
.is-android .u-plock__home i { width: 108px; height: 4px; border-radius: 2px; background: var(--c-graphic-inverse-static-primary); }
/* PromoHeader variant="overlap" + PromoPanel */
.u-phead.bg-accent { background: var(--g-graphic-accent); }
.u-phead.bg-success { background: radial-gradient(120% 100% at 50% 0%, var(--c-surface-sussess-gradient-start), var(--c-surface-sussess-gradient-end)); }
.u-phead.is-overlap { position: relative; height: 420px; min-height: 0; border-radius: 0; overflow: hidden; }
.u-phead__abs { position: absolute; }
.u-ppanel { position: relative; z-index: 1; border-radius: 32px 32px 0 0; background: var(--c-surface-bottom-sheet); --par-base: var(--c-surface-bottom-sheet); --par-tint: transparent; }
/* DocText */
.u-pdoc { display: flex; flex-direction: column; gap: 8px; padding: 0 24px 16px; }
.u-pdoc p { margin: 0; font: 500 16px/20px var(--font-ui); letter-spacing: -0.01em; color: var(--c-text-primary); white-space: pre-line; }
.u-pdoc b { font-weight: 600; }
.u-li.u-pli-tile-positive .u-tile { background: var(--c-container-positive); }
/* Extra promo color="graphite" */
.u-xpromo.u-pxp-graphite .u-xpromo__band { color: var(--c-text-inverse-static-primary); }
.u-xpromo.u-pxp-graphite .u-xpromo__band::before { background: var(--g-container-static); } /* static: в тёмной теме тёмно-серая (727583 → 3b3b3b), а не светлая */
.u-xpromo.u-pxp-graphite .u-xpromo__ear { background: var(--c-actions-gradient-container-static-start); }
.u-xpromo.u-pxp-graphite .u-xpromo__ear.is-r { background: var(--c-actions-gradient-container-static-end); }
.u-xpromo.u-pxp-graphite .u-xpromo__band .u-ic.is-chev, .u-xpromo.u-pxp-graphite .u-xpromo__ic { color: var(--c-graphic-inverse-static-primary); }
/* Header 2: тона сегментов подзаголовка */
.u-ptone-success { color: var(--c-text-success); } .u-ptone-error { color: var(--c-text-error); } .u-ptone-secondary { color: var(--c-text-secondary); }
/* Пагинатор */
.u-ppag { display: flex; align-items: center; justify-content: center; gap: 6px; }
.u-ppag__d { width: 6px; height: 6px; border-radius: 3px; background: var(--c-graphic-disabled); padding: 0; transition: background-color .2s ease; }
.u-ppag__d.is-on { background: var(--c-graphic-secondary); }
.u-ppag__d.has-ic { width: 10px; height: 10px; background: none; color: var(--c-graphic-disabled); display: grid; place-items: center; }
.u-ppag__d.has-ic.is-on { color: var(--c-graphic-secondary); }
.u-ppag__d.has-ic .u-ic { width: 10px; height: 10px; }
.u-pdoc p.is-bullet { position: relative; padding-left: 24px; }
.u-pdoc__mark { position: absolute; left: 0; top: 0; width: 10px; text-align: center; font-style: normal; }
.u-pscan.is-card { width: 327px; height: 212px; }
/* Screen navPadBottom="compact": Navigation stack Large с Padding Bottom=Compact (VSpacing m 16 под большим заголовком вместо l 24) */
.u-pscreen--nav-compact .u-large-title { padding-bottom: 16px; }
/* BottomSheet appear={false}: шторка уже на экране при его появлении — без въезда снизу при монтировании */
.u-sheet.u-psheet--still { animation: none; }
/* Маркер и кластер на карте */
.u-ppin { display: inline-flex; flex-direction: column; align-items: center; transition: transform .12s ease; }
.u-ppin:active { transform: scale(.95); }
.u-ppin__call { display: flex; flex-direction: column; gap: 2px; padding: 8px 12px; border-radius: 12px; text-align: center; white-space: nowrap; }
.u-ppin__call b { font: 600 14px/18px var(--font-ui); letter-spacing: -0.01em; }
.u-ppin__call span { font: 500 12px/15px var(--font-ui); }
.u-ppin__tail { width: 24px; height: 9px; margin-top: -1px; display: block; flex: none; } /* 1 px заходит под выноску — без шва */
.u-ppin.is-primary .u-ppin__call { background: var(--c-graphic-accent); color: var(--c-text-inverse-static-primary); }
.u-ppin.is-primary .u-ppin__tail { fill: var(--c-graphic-accent); }
.u-ppin.is-primary .u-ppin__call span { color: var(--c-text-inverse-static-secondary); }
.u-ppin.is-secondary .u-ppin__call { background: var(--c-graphic-inverse-primary); color: var(--c-text-primary); }
/* выноска + хвостик — один силуэт: тень у группы, а не у выноски (иначе тень выноски ложится на хвостик и он темнее) */
.u-ppin__bub { display: flex; flex-direction: column; align-items: center; }
.u-ppin.is-secondary .u-ppin__bub, .u-ppin.is-secondary .u-ppin__side { filter: drop-shadow(0 6px 32px var(--c-container-shadow)); } /* = box-shadow 0 6 32 из макета */
.u-ppin.is-secondary .u-ppin__tail { fill: var(--c-graphic-inverse-primary); }
.u-ppin.is-secondary .u-ppin__call span { color: var(--c-text-secondary); }
.u-ppin > .u-ic { width: 72px; height: 72px; color: var(--c-graphic-accent); }
.u-pclust { width: 36px; height: 36px; border-radius: 18px; background: var(--c-graphic-accent); color: var(--c-text-inverse-static-primary); font: 600 14px/36px var(--font-ui); text-align: center; transition: transform .12s ease; }
.u-pclust:active { transform: scale(.92); }
/* SnapSheet без вкладок: граббер (как у BottomSheet) + VSpacing xs; затемнение под раскрытой шторкой */
.u-psnap__grab { flex: none; display: flex; justify-content: center; height: 13px; padding-top: 8px; box-sizing: border-box; cursor: grab; } /* граббер как Bottom sheet handle (13) */
.u-psnap__grab + .u-psnap__body { padding-top: 0; } /* отступ 40 — только под вкладки */
.u-psnap__grab i { width: 48px; height: 5px; border-radius: 7px; background: var(--c-border-border-subtle); }
.u-psnap-dim { position: absolute; inset: 0; z-index: 21; background: rgb(0 0 0 / .4); opacity: 0; pointer-events: none; transition: opacity .35s cubic-bezier(.32, .72, 0, 1); }
.u-psnap-dim.is-on { opacity: 1; pointer-events: auto; }
.u-ppin__call b { letter-spacing: 0; }
.u-ppin__sub { display: inline-flex; align-items: center; justify-content: center; gap: 2px; }
.u-ppin__sub .u-ic { width: 12px; height: 12px; }
.u-ppin.is-h { flex-direction: row; align-items: flex-start; }
.u-ppin__side { display: flex; align-items: center; margin-top: 11px; }
.u-ppin__tail.is-h { width: 9px; height: 24px; margin: 0 -1px 0 -8px; } /* остриё на краю иконки (x 64), выноска сразу за иконкой (x 72); 1 px под выноской */.u-ppin.is-h .u-ppin__call { text-align: center; }
.u-ppin.is-h .u-ppin__sub { justify-content: center; }
.u-ppin.is-primary .u-ppin__tail.is-h { fill: var(--c-graphic-accent); }
.u-ppin.is-secondary .u-ppin__tail.is-h { fill: var(--c-graphic-inverse-primary); }
.u-ppin__img { display: block; object-fit: contain; }
.u-pclust.is-icon { width: 40px; height: 40px; background: none; color: var(--c-graphic-accent); display: grid; place-items: center; }
.u-pclust.is-icon .u-ic { width: 40px; height: 40px; }

/* AccentRing — подсветка по краю Circle Button L (круг 56 — верх обёртки), один проход ~6,7 с.
   Огонёк — дуга не длиннее 60% круга с неравномерным градиентом: прозрачные концы, сиреневый, белое ядро ближе к голове.
   Выходит из верхней точки круга по часовой, делает 2 круга с ровной скоростью (3,3 с на круг, без остановок) и уходит в верхнюю
   точку по часовой — хвост догоняет голову, огонёк плавно гаснет. Слои и сила свечения — как у кнопки «Увеличить до 25 млн сум»:
   обод 1,2px, его свечение (2,4px, размыто 5px) и дымка вокруг края (размыта 10px).
   Анимируются угол головы --pr-h (линейно) и длина дуги --pr-l (@property); цвета — примитивы Brand и белый через color-mix. */
@property --pr-h { syntax: "<angle>"; inherits: true; initial-value: 0deg; }
@property --pr-l { syntax: "<angle>"; inherits: true; initial-value: 0deg; }
.u-pring { position: relative; display: inline-flex; }
.u-pring__shine { position: absolute; left: 50%; top: 0; width: 56px; height: 56px; margin-left: -28px; border-radius: 50%; pointer-events: none; z-index: 1;
  --pw: color-mix(in srgb, var(--c-graphic-inverse-static-primary) 95%, transparent);
  --pl: color-mix(in srgb, var(--p-brand-400) 45%, transparent);            /* сиреневый, rgba(178,142,246,.425) в образце */
  --pt: color-mix(in srgb, var(--p-brand-500) 40%, transparent);            /* фиолетовый край, rgba(160,120,250,.51) */
  --pg: color-mix(in srgb, var(--p-brand-500) 45%, transparent);            /* свечение, rgba(134,80,238,.45) */
  --ph: color-mix(in srgb, var(--c-graphic-accent) 12%, transparent);       /* дымка, rgba(122,48,232,.12) */
  --pf: calc(var(--pr-h) - var(--pr-l));                                    /* хвост */
  animation: u-pring-head 6.67s linear var(--d, 0ms) both, u-pring-len 6.67s var(--d, 0ms) both, u-pring-op 6.67s var(--d, 0ms) both; }
.u-pring__shine i { position: absolute; display: block; }
.u-pring__haze { inset: 0; border-radius: 50%; filter: blur(10px); }
.u-pring__halo { inset: 0; border-radius: 50%; filter: blur(5px); }
.u-pring__rim, .u-pring__band { inset: 0; border-radius: 50%; padding: 1.2px;
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0); -webkit-mask-composite: xor; mask: linear-gradient(#000 0 0) content-box exclude, linear-gradient(#000 0 0); }
.u-pring__halo .u-pring__rim { padding: 2.4px; }
.u-pring__band { inset: -16px; padding: 26px; }
/* дуга от хвоста --pf длиной --pr-l по часовой: ядро белое ближе к голове, к концам — сиреневый и фиолетовый, концы прозрачные */
.u-pring__rim.is-top { background: conic-gradient(from var(--pf), transparent 0deg, var(--pt) calc(var(--pr-l) * .22), var(--pl) calc(var(--pr-l) * .44),
  var(--pw) calc(var(--pr-l) * .6), var(--pw) calc(var(--pr-l) * .66), var(--pl) calc(var(--pr-l) * .78), var(--pt) calc(var(--pr-l) * .9), transparent var(--pr-l)); }
.u-pring__halo .u-pring__rim { background: conic-gradient(from var(--pf), transparent 0deg, var(--pg) calc(var(--pr-l) * .42), var(--pw) calc(var(--pr-l) * .63),
  var(--pg) calc(var(--pr-l) * .84), transparent var(--pr-l)); }
.u-pring__haze .u-pring__band { background: conic-gradient(from var(--pf), transparent 0deg, var(--ph) calc(var(--pr-l) * .45), var(--ph) calc(var(--pr-l) * .75), transparent var(--pr-l)); }
/* голова — ровно 2 круга, без остановок */
@keyframes u-pring-head { from { --pr-h: 0deg; } to { --pr-h: 720deg; } }
/* дуга вырастает из точки до 60% круга за первые ~0,7 с и сходится в точку в верхнем центре за последние ~1 с */
@keyframes u-pring-len {
  0% { --pr-l: 0deg; animation-timing-function: cubic-bezier(.25, .6, .4, 1); }
  10.2% { --pr-l: 216deg; }
  84.4% { --pr-l: 216deg; animation-timing-function: cubic-bezier(.5, 0, .75, .9); }
  100% { --pr-l: 0deg; } }
/* мягкое появление и угасание */
@keyframes u-pring-op {
  0% { opacity: 0; animation-timing-function: ease-out; }
  4.8% { opacity: 1; }
  83.2% { opacity: 1; animation-timing-function: cubic-bezier(.4, 0, .6, 1); }
  100% { opacity: 0; } }
@media (prefers-reduced-motion: reduce) { .u-pring__shine { display: none; } }
/* shape="widget" — огонёк по краю всего виджета (U.Widget: HSpacing m 16 + Wrapper r20), 2 с, симметрично: выходит из верхней точки по центру,
   две дуги расходятся влево и вправо по краю, идут к нижней точке по центру и сливаются там; хвосты догоняют и уходят в нижнюю точку.
   Контур — SVG по реальному периметру (ровная скорость по краю), цвета и слои те же, что у кнопки: обод 1,2px, свечение 2,4px (размыто 5px), дымка (10px). */
.u-pring.is-widget { display: block; }
.u-pring__wshine { position: absolute; left: 16px; right: 16px; top: 0; bottom: 0; pointer-events: none; z-index: 1;
  --pw: color-mix(in srgb, var(--c-graphic-inverse-static-primary) 95%, transparent);
  --pl: color-mix(in srgb, var(--p-brand-400) 45%, transparent);
  --pt: color-mix(in srgb, var(--p-brand-500) 40%, transparent);
  --pg: color-mix(in srgb, var(--p-brand-500) 45%, transparent);
  --ph: color-mix(in srgb, var(--c-graphic-accent) 12%, transparent); }
.u-pring__wshine svg { position: absolute; inset: 0; width: 100%; height: 100%; overflow: visible; }
.u-pring__wshine path { fill: none; stroke-linecap: butt; }
.u-pring__wshine .is-haze { filter: blur(10px); }
.u-pring__wshine .is-halo { filter: blur(5px); }
@media (prefers-reduced-motion: reduce) { .u-pring__wshine { display: none; } }

/* ---------- Волна страхования ---------- */
/* Плитки «Путешествия» и «Недвижимость» (RAW-градиенты макета; в ДС нет — вопрос дизайнеру) */
.u-li.u-pli-tile-travel .u-tile { background: linear-gradient(180deg, #8c33ff, #5b34c1); /* brand: ближайшее Graphic/Accent gradient ΔE 21,6 */ }
.u-li.u-pli-tile-property .u-tile { background: linear-gradient(180deg, #0aa05e, #02864c); /* brand: в ДС зелёного градиента нет (ΔE ≥ 56) */ }
/* leadFaded — AddLeft opacity 50%; titleStyle="s" — TitleText Body S [14] Text/Secondary */
.u-li.u-pli-lead-faded .u-li__lead { opacity: .5; }
.u-li.u-pli-title-s .u-li__title { font: 500 14px/18px var(--font-ui); letter-spacing: 0; color: var(--c-text-secondary); }
/* Плитка страховки у выбора продукта: обёртка без своей раскладки */
.u-pps { display: contents; }
.u-pps .u-psel__card .u-tile { background: var(--ptile, var(--c-container-grey)); }
.u-pps-from-osago .u-psel__card:first-child, .u-pps-to-osago .u-psel__card:last-child { --ptile: linear-gradient(180deg, #57a3fb, #1f69e6); /* brand: см. tile="osago" */ }
.u-pps-from-kasko .u-psel__card:first-child, .u-pps-to-kasko .u-psel__card:last-child { --ptile: var(--g-container-static); }
.u-pps-from-travel .u-psel__card:first-child, .u-pps-to-travel .u-psel__card:last-child { --ptile: linear-gradient(180deg, #8c33ff, #5b34c1); /* brand */ }
.u-pps-from-property .u-psel__card:first-child, .u-pps-to-property .u-psel__card:last-child { --ptile: linear-gradient(180deg, #0aa05e, #02864c); /* brand */ }
/* Список покрытия тарифа: AL:V пад 0 16 16 16 (12 снизу у недвижимости), gap 12; строка AL:H gap 8 */
.u-pcov { display: flex; flex-direction: column; gap: 12px; padding: 0 16px 16px; }
.u-pcov.is-pad12 { padding-bottom: 12px; }
.u-pcov.is-top { padding-top: 8px; }
.u-pcov__r { display: flex; align-items: center; gap: 8px; min-width: 0; min-height: 18px; color: var(--c-text-primary); text-align: left; }
.u-pcov__r > .u-ic, .u-pcov__r > .u-sk { flex: none; }
.u-pcov__t { flex: 1; min-width: 0; }
.u-pcov__v { flex: none; text-align: right; }
button.u-pcov__r { transition: transform .12s ease; transform-origin: left center; }
button.u-pcov__r:active { transform: scale(.98); }
/* Шторка с закреплённым поиском: шапка (граббер, Header 1) и поиск — одна полупрозрачная группа с блюром; полоска под группой при прокрутке */
.u-sheet.u-psheet-search .u-sheet__head:not(.is-spacer) { background: rgb(from var(--c-surface-bottom-sheet) r g b / .9); -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); }
.u-psheet__search { position: sticky; top: 86px; z-index: 2; background: rgb(from var(--c-surface-bottom-sheet) r g b / .9); -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); transition: box-shadow .2s ease; }
.u-psheet-search.is-compact .u-psheet__search { top: 78px; }
.u-sheet.u-psheet-search.is-scrolled .u-psheet__search { box-shadow: 0 .5px 0 var(--c-border-border-subtle); }
/* Фото автомобиля: сетка 2 колонки (AL:G 0,16 g12) и плитка 166×165 r20 */
.u-pph { display: grid; grid-template-columns: repeat(2, 166px); gap: 12px; padding: 0 16px; justify-content: space-between; }
.u-pph__tile { position: relative; height: 165px; border-radius: 20px; overflow: hidden; background: var(--c-surface-widget); display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 8px;
  color: var(--c-text-primary); cursor: pointer; transition: transform .12s ease; }
.u-pph__tile:active { transform: scale(.97); }
.u-pph__tile.is-err { color: var(--c-text-error); }
.u-pph__img { position: absolute; inset: 0; }
.u-pph__img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.u-pph__shade { position: absolute; left: 0; right: 0; bottom: 0; height: 50px; background: linear-gradient(180deg, rgb(from var(--c-surface-darkening) r g b / 0), var(--c-surface-darkening)); }
.u-pph__label { position: absolute; left: 0; right: 0; bottom: 12px; text-align: center; color: var(--c-text-inverse-static-primary); }
.u-pph__del { position: absolute; top: 10px; right: 10px; width: 24px; height: 24px; border-radius: 12px; display: grid; place-items: center; background: var(--c-text-secondary); color: var(--c-graphic-inverse-static-primary); transition: transform .12s ease; }
.u-pph__del:active { transform: scale(.9); }
/* Видоискатель: 343×472 r20, направляющие и лента кадров 56×80 r8 */
.u-pcam { position: relative; margin: 0 16px; height: 472px; border-radius: 20px; overflow: hidden; background: var(--c-graphic-static-primary); }
.u-pcam__img { position: absolute; inset: 0; }
.u-pcam__img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.u-pcam__guide { position: absolute; top: 120px; width: 3px; height: 200px; border-radius: 2px; background: var(--c-graphic-inverse-static-primary); }
.u-pcam__guide.is-l { left: 18px; } .u-pcam__guide.is-r { right: 18px; }
.u-pcam__box { position: absolute; left: 72px; top: 190px; width: 200px; height: 60px; border: 3px solid var(--c-graphic-inverse-static-primary); border-radius: 16px; }
.u-pcam__frames { position: absolute; left: 16px; right: 16px; bottom: 16px; display: grid; grid-template-columns: repeat(5, 1fr); gap: 8px; }
.u-pcam__fr { height: 80px; border-radius: 8px; overflow: hidden; border: 1.5px dashed var(--c-graphic-inverse-static-primary); position: relative; transition: transform .12s ease; }
.u-pcam__fr:active { transform: scale(.95); }
.u-pcam__fr.is-cur { border-style: solid; background: rgb(from var(--c-surface-darkening) r g b / .5); }
.u-pcam__fr.is-on { border: none; }
.u-pcam__fr.is-on.is-cur { border: 1.5px solid var(--c-graphic-inverse-static-primary); }
.u-pcam__fr img { width: 100%; height: 100%; object-fit: cover; display: block; }

/* ---------- HiddenValue — скрытие балансов точками ---------- */
.u-phv { white-space: nowrap; }
.u-phv__v { position: relative; display: inline-block; transition: margin-right .35s cubic-bezier(.2, .8, .2, 1); }
.u-phv__t { transition: opacity .28s ease .14s; }
.u-phv.is-hidden .u-phv__t { opacity: 0; transition: opacity .2s ease; -webkit-user-select: none; user-select: none; }
.u-phv__c { position: absolute; left: -3px; top: -3px; width: 0; height: 0; pointer-events: none; }
.u-phv__sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); clip-path: inset(50%); white-space: nowrap; }
@media (prefers-reduced-motion: reduce) { .u-phv__v, .u-phv__t, .u-phv.is-hidden .u-phv__t { transition: none; } }
/* onReveal / peekProps — тап по сумме на странице продукта раскрывает её; нажатие — только уменьшение */
.u-phv-tap { display: inline-block; cursor: pointer; -webkit-tap-highlight-color: transparent; transition: transform .12s ease; }
.u-phv-tap:active { transform: scale(.96); }/* демо на странице буфера */
.u-phv-demos { padding: 16px 0; }
.u-phv-demo__bar { padding: 0 16px 16px; max-width: 343px; }
.u-phv-demo__row { display: flex; flex-wrap: wrap; gap: 16px; padding: 0 16px; }
.u-phv-demo { flex: 1 1 340px; max-width: 375px; padding: 16px 0; border-radius: 24px; background: var(--c-surface-main); color: var(--c-text-primary); }
.u-phv-demo__cap { padding: 0 16px 12px; font: 500 12px/16px var(--font-ui); color: var(--c-text-secondary); }
.u-phv-demo__card { position: relative; margin: 0 16px; height: 120px; border-radius: 14px; background: var(--g-success); color: var(--c-text-inverse-static-primary); }
.u-phv-demo__bal { position: absolute; left: 16px; top: 52px; font: 600 20px/24px var(--font-ui); letter-spacing: -0.01em; white-space: nowrap; }
.u-phv-demo__bal i { font-style: normal; opacity: .6; }
.u-phv-demo__num { position: absolute; left: 16px; bottom: 14px; font: 500 14px/18px var(--font-ui); color: var(--c-text-inverse-static-secondary); }
.u-phv-demo__center { text-align: center; padding: 0 24px; }

/* ---------- Landing — шаблон промо-лендинга ДС ---------- */
.u-pland__media { position: sticky; top: 0; z-index: 0; overflow: hidden; }
.u-pland__ph { background: var(--c-container-grey); }
.u-pland__video { display: block; width: 100%; height: auto; object-fit: cover; }
.u-pland__sheet { position: relative; z-index: 1; box-sizing: border-box; border-radius: 32px 32px 0 0; background: var(--c-surface-bottom-sheet); --par-base: var(--c-surface-bottom-sheet); --par-tint: transparent; }
.u-pland__stk { display: contents; }

/* ---------- PinCarousel — закреплённые получатели с драг-энд-дропом ---------- */
.u-pinc { position: relative; }
.u-pinc__row { position: relative; }
.u-pinc__slot { flex: none; touch-action: pan-x; user-select: none; -webkit-user-select: none; -webkit-touch-callout: none; will-change: transform; }
.u-pinc__ph { flex: none; width: 100px; height: 90px; border-radius: 20px; background: var(--c-container-shimmer-start); animation: u-pinc-ph .2s ease both; }
@keyframes u-pinc-ph { from { opacity: 0; transform: scale(.86); } }
.u-pinc-src { user-select: none; -webkit-user-select: none; -webkit-touch-callout: none; transition: opacity .2s ease; }
.u-pinc-src.is-pin-src, .u-pinc__slot.is-pin-src { opacity: .4; }
.u-pinc-ghost { position: absolute; left: 0; top: 0; z-index: 900; width: 100px; height: 90px; pointer-events: none; will-change: transform; }
/* подложка цвета экрана под плиткой: в тёмной теме $Surface/Widget полупрозрачный — поднятая плитка не должна просвечивать */
.u-pinc-ghost > .u-carit { background: linear-gradient(var(--c-surface-widget), var(--c-surface-widget)), var(--c-surface-main); }
.u-pinc-ghost > .u-carit, .u-pinc-ghost > * { transition: transform .2s cubic-bezier(.2, .8, .2, 1), opacity .2s ease, box-shadow .2s ease; }
.u-pinc-ghost.is-up > .u-carit { transform: scale(1.06); box-shadow: 0 12px 24px var(--c-container-shadow), 0 2px 6px var(--c-container-shadow); }
.u-pinc-ghost.is-out > .u-carit { opacity: .6; transform: scale(.94); }
.u-pinc-ghost.is-back > .u-carit, .u-pinc-ghost.is-gone > .u-carit { opacity: 0; transform: scale(.6); }
.u-pinc-ghost.is-static { z-index: 2; }
@media (prefers-reduced-motion: reduce) { .u-pinc__ph { animation: none; } .u-pinc-ghost > .u-carit { transition: none; } }
.u-pinc-demo { position: relative; padding: 24px 0 16px; background: var(--c-surface-main); }
.u-pinc__slot.is-fresh { animation: u-pinc-ph .32s cubic-bezier(.2, .8, .2, 1) .12s both; }

/* ---------- TagChips ---------- */
.u-ptags { gap: 0; row-gap: 8px; } /* Multi-line: строки чипсов друг под другом */
.u-ptags__it { flex: none; display: inline-flex; margin-right: 8px; overflow: hidden; border-radius: 20px; }
.u-ptags__it:last-child { margin-right: 0; }
.u-ptags__it.is-in { animation: u-ptag-in .26s cubic-bezier(.2, .8, .2, 1) both; }
@keyframes u-ptag-in { from { opacity: 0; transform: scale(.7); } }
.u-ptags__it.is-out { pointer-events: none; }
.u-ptags__it.is-run { transition: max-width .24s cubic-bezier(.2, .8, .2, 1), margin-right .24s cubic-bezier(.2, .8, .2, 1), opacity .18s ease; opacity: 0; margin-right: 0; }
@media (prefers-reduced-motion: reduce) { .u-ptags__it.is-in { animation: none; } .u-ptags__it.is-run { transition: none; } }

/* FaceId — системная плашка iOS «Face ID» (22108:92574): оверлей с Background blur 2, _Bezel 145×145 r42 @y10, тень 0 12 74 #000 22%, глиф 72 RAW #a1f293.
   Цвета — системные iOS из библиотеки (как у SystemDialog), токенов ДС для них нет. */
.u-faceid { position: absolute; inset: 0; z-index: 90; -webkit-backdrop-filter: blur(1px); backdrop-filter: blur(1px); animation: u-fade-in 200ms ease both; }
.u-faceid__bezel { position: absolute; left: calc(50% - 72.5px); top: 10px; width: 145px; height: 145px; border-radius: 42px; background: #000; box-shadow: 0 12px 74px rgb(0 0 0 / .22);
  display: grid; place-items: center; color: #a1f293; animation: u-faceid-in 260ms cubic-bezier(.2, .9, .3, 1.15) both; }
.u-faceid__glyph { display: grid; place-items: center; }
.u-faceid.is-success .u-faceid__glyph { animation: u-faceid-ok 220ms ease both; }
.u-faceid.is-fail .u-faceid__glyph { animation: u-faceid-shake 420ms ease both; }
.u-faceid.is-closing { animation: u-faceid-fade 220ms ease forwards; }
.u-faceid.is-closing .u-faceid__bezel { animation: u-faceid-out 220ms ease-in forwards; }
@keyframes u-faceid-in { from { opacity: 0; transform: scale(.82); } }
@keyframes u-faceid-out { to { opacity: 0; transform: scale(.9); } }
@keyframes u-faceid-fade { to { opacity: 0; } }
@keyframes u-faceid-ok { from { opacity: 0; transform: scale(.7); } }
@keyframes u-faceid-shake { 15%, 85% { transform: translateX(-4px); } 30%, 70% { transform: translateX(8px); } 45% { transform: translateX(-10px); } 60% { transform: translateX(10px); } }
@media (prefers-reduced-motion: reduce) { .u-faceid, .u-faceid__bezel, .u-faceid__glyph { animation-duration: 1ms !important; } }

/* RatesTable — таблица курсов (110661:8968): строка 44 = pad 10 + контент 24; HSpacing m 16 по бокам (в шторке — l 24); название FILL: флаг 16 + gap 12 + TitleText;
   Value Text 72 по правому краю; линия 1 px $Border/Border Subtle между строками с теми же боковыми отступами (в потоке 0 px).
   Три колонки значений (покупка, продажа, курс ЦБ) по 72: в виджете на экране 375 (таблица 343, контент 311) название с флагом получает 95 —
   «Доллар» с флагом занимает 90, самое длинное число («14 087») — 56 из 72, ничего не обрезается. Узкие устройства — масштаб макета 375 (--uz-k), раскладка та же. */
.u-rates { --rates-x: 16px; --rates-col: 72px; }
.u-rates.is-sheet { --rates-x: 24px; }
.u-rates__row { position: relative; display: flex; align-items: center; min-height: 44px; padding: 10px var(--rates-x); box-sizing: border-box; color: var(--c-text-primary); }
.u-rates__row + .u-rates__row::before { content: ""; position: absolute; left: var(--rates-x); right: var(--rates-x); top: 0; border-top: 1px solid var(--c-border-border-subtle); }
.u-rates__name { flex: 1 1 0; min-width: 0; height: 24px; display: flex; align-items: center; gap: 12px; }
.u-rates__flag { flex: none; width: 16px; height: 16px; border-radius: 50%; overflow: hidden; display: block; } /* Icon → Flag 16×16 в круглой маске, как флаги ДС в полях */
.u-rates__flag > .u-ic { display: block; }
.u-rates__t { min-width: 0; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.u-rates__val { flex: none; width: var(--rates-col); height: 24px; display: flex; align-items: center; justify-content: flex-end; white-space: nowrap; }
.u-rates__name > .u-sk { flex: 0 1 auto; min-width: 0; } /* шиммер названия 86 ужимается под колонку, размер строки не меняется */
.u-rates__row.is-head { color: var(--c-text-secondary); }
/* по просьбе пользователя 22.10.2026: под шапкой линии нет (линии — только между валютами), строки плотнее — pad 8 вместо 10 (40 вместо 44) */
.u-rates__row.is-head + .u-rates__row::before { display: none; }
.u-rates__row { min-height: 40px; padding-top: 8px; padding-bottom: 8px; }

/* Footnote — сноска под блоком экрана: Body/Caption [12] $Text/Secondary, HSpacing m 16 по бокам; align="center" — по центру. Шиммер — SkLine в форме текста (размер тот же). */
.u-footnote { margin: 0; padding: 0 16px; color: var(--c-text-secondary); overflow-wrap: anywhere; }
.u-footnote.is-center { text-align: center; }

/* ---------- Лист Apple Wallet — системные экраны iOS 27 (U.pending.IosPage и др.) ----------
   Цвета — системные iOS из переменных Colors библиотеки iOS 27 (Light / Dark), не токены ДС: системные экраны не принадлежат приложению (как U.SystemDialog). */
.u-ios { --ios-label: #000; --ios-label2: rgb(60 60 67 / .6); --ios-label3: rgb(60 60 67 / .3); --ios-ctl: #1a1a1a; --ios-bg: #fff; --ios-bg2: #f2f2f7; --ios-group: #f2f2f7;
  --ios-fill: rgb(120 120 128 / .16); --ios-fill-off: rgb(118 118 128 / .22); --ios-sep: rgb(0 0 0 / .12); --ios-blue: #0088ff; --ios-tint: #0091ff; --ios-alert-text: rgb(0 0 0 / .6);
  --ios-glass: rgb(255 255 255 / .72); --ios-glass-edge: rgb(255 255 255 / .6); --ios-glass-sh: 0 8px 40px rgb(0 0 0 / .12); --ios-alert: rgb(245 245 245 / .8);
  --ios-font: -apple-system, "SF Pro Text", "SF Pro", system-ui, sans-serif; color: var(--ios-label); font-family: var(--ios-font); }
[data-proto-theme="dark"] .uz:not([data-uz-theme]) .u-ios, .uz[data-uz-theme="dark"] .u-ios { --ios-label: #fff; --ios-label2: rgb(235 235 245 / .7); --ios-label3: rgb(235 235 245 / .3);
  --ios-ctl: #f5f5f5; --ios-bg: #000; --ios-bg2: #1c1c1e; --ios-group: #1c1c1e; --ios-fill: rgb(120 120 128 / .32); --ios-fill-off: rgb(118 118 128 / .32); --ios-sep: rgb(255 255 255 / .17);
  --ios-blue: #0091ff; --ios-alert-text: rgb(255 255 255 / .6); --ios-glass: rgb(44 44 46 / .72); --ios-glass-edge: rgb(255 255 255 / .12); --ios-glass-sh: 0 8px 40px rgb(0 0 0 / .4); --ios-alert: rgb(40 40 40 / .8); }
/* Toolbar - Top: стеклянная кнопка 44 @16,62 (статус-бар iOS 27 — 62; у ДС 44 + 18) */
.u-ios__bar { position: absolute; z-index: 30; left: 16px; top: calc(var(--sb-h, 44px) + 18px); }
.u-ios__bar.is-intro { top: calc(var(--sb-h, 44px) + 6px); }
/* content-body: AL:V пад 20/32 под тулбаром 54 (контент с 136) */
.u-ios__body { padding: calc(var(--sb-h, 44px) + 92px) 32px 160px; display: flex; flex-direction: column; gap: var(--ios-gap, 32px); }
.u-ios__foot { position: absolute; z-index: 20; left: 32px; right: 32px; bottom: calc(var(--home-h, 34px) + 6px); display: flex; flex-direction: column; gap: 10px; }
.u-ios__foot.is-row { flex-direction: row; }
.u-ios__foot.is-row > * { flex: 1 1 0; min-width: 0; }
.u-ios__foot.is-intro { left: 38px; right: 38px; }
/* _Buttons - Top (Liquid Glass Regular Small): 44, r296, стекло + тень 0 8 40 / 12% */
.u-ios-glass { width: 44px; height: 44px; border-radius: 50%; display: grid; place-items: center; color: var(--ios-ctl); background: var(--ios-glass);
  box-shadow: var(--ios-glass-sh), inset 0 0 0 .5px var(--ios-glass-edge); -webkit-backdrop-filter: blur(8px) saturate(1.6); backdrop-filter: blur(8px) saturate(1.6);
  transition: transform .2s cubic-bezier(.3, .7, .4, 1); }
.u-ios-glass:active { transform: scale(.92); }
/* Button - Content Area {Large, Bordered - Prominent}: h50 r1000 пад 14/20, Accents/Blue, SF Pro Regular 17/22 −0.43; Is Enabled=False — Fills, символ Labels/Tertiary */
.u-ios-btn { width: 100%; display: flex; align-items: center; justify-content: center; gap: 4px; border-radius: 1000px; font: 400 17px/22px var(--ios-font); letter-spacing: -0.43px;
  text-align: center; white-space: nowrap; transition: transform .2s cubic-bezier(.3, .7, .4, 1), background-color .2s ease, color .2s ease; }
.u-ios-btn:active:not(:disabled) { transform: scale(.97); }
.u-ios-btn.is-prominent { height: 50px; padding: 14px 20px; background: var(--ios-blue); color: #fff; }
.u-ios-btn.is-prominent:disabled { background: var(--ios-fill-off); color: var(--ios-label3); }
/* Button - Liquid Glass - Text {Glass | Glass Prominent}: h48 r1000 пад 6/20, SF Pro Medium 15 */
.u-ios-btn.is-glass, .u-ios-btn.is-tinted { height: 48px; padding: 6px 20px; font: 500 15px/18px var(--ios-font); letter-spacing: 0; }
.u-ios-btn.is-glass { background: var(--ios-glass); color: var(--ios-ctl); box-shadow: var(--ios-glass-sh), inset 0 0 0 .5px var(--ios-glass-edge);
  -webkit-backdrop-filter: blur(8px) saturate(1.6); backdrop-filter: blur(8px) saturate(1.6); }
.u-ios-btn.is-tinted { background: var(--ios-tint); color: #fff; box-shadow: var(--ios-glass-sh); }
.u-ios-btn.is-tinted:disabled, .u-ios-btn.is-glass:disabled { opacity: .5; }
.u-ios-spin { display: block; stroke: currentColor; stroke-width: 2.3; stroke-linecap: round; animation: u-ios-spin .8s steps(8) infinite; }
@keyframes u-ios-spin { to { transform: rotate(360deg); } }
/* Заголовок листа: SF Pro Text Bold 20/24 −2% и Regular 20/24 Labels/Secondary, gap 4 */
.u-ios-head { display: flex; flex-direction: column; gap: 4px; }
.u-ios-head h2 { margin: 0; font: 700 20px/24px var(--ios-font); letter-spacing: -0.4px; color: var(--ios-label); }
.u-ios-head p { margin: 0; font: 400 20px/24px var(--ios-font); letter-spacing: -0.4px; color: var(--ios-label2); }
.u-ios-doc { margin: 0; font: 400 14px/16px var(--ios-font); letter-spacing: -0.14px; color: var(--ios-label); }
/* Сгруппированная ячейка (inset grouped) r26: строки 44 (Semibold 15 + Medium 15 Labels/Secondary), 56 (две строки Regular 15), 55 (поле); разделитель 1 px */
.u-ios-group { border-radius: 26px; background: var(--ios-group); padding: 4.5px 0; }
.u-ios-group.is-wide { margin: 0 -8px; padding: 0; }
.u-ios-row { position: relative; width: 100%; display: flex; align-items: center; justify-content: space-between; gap: 12px; height: 44px; padding: 0 16px 0 15px;
  font: 600 15px/15px var(--ios-font); letter-spacing: -0.3px; color: var(--ios-label); text-align: left; }
.u-ios-row + .u-ios-row::before { content: ""; position: absolute; left: 15px; right: 15px; top: 0; border-top: 1px solid var(--ios-sep); }
.u-ios-row b { flex: none; font-weight: 500; color: var(--ios-label2); }
.u-ios-row.is-sub { height: 56px; padding: 0 16px; font-weight: 400; }
.u-ios-group.is-wide .u-ios-row + .u-ios-row::before { left: 16px; right: 16px; }
.u-ios-row__t { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.u-ios-row__t small { font: inherit; color: var(--ios-label2); }
.u-ios-row__ch { flex: none; display: grid; color: var(--ios-blue); }
.u-ios-row.is-field { height: 55px; padding: 0 16px; cursor: text; }
.u-ios-row.is-field input { flex: 1; min-width: 0; height: 100%; padding: 0; border: 0; outline: 0; background: none; text-align: right; font: 500 15px/15px var(--ios-font);
  letter-spacing: -0.3px; color: var(--ios-label2); caret-color: var(--ios-blue); }
/* Карта в листе Wallet 193×125 r8; кромка снизу — фирменная графика карты Uzum (зелёная, как у Big Card) */
.u-ios-card { position: relative; flex: none; align-self: center; border-radius: 8px; overflow: hidden; box-shadow: 0 1px 0 #4abd00; }
.u-ios-card svg { position: absolute; inset: 0; width: 100%; height: 100%; }
.u-ios-card span { position: absolute; left: 9px; bottom: 10px; font: 500 10.33px/12.9px var(--font-ui); letter-spacing: -0.1px; color: #fff; }
/* Alert {Button Layout=Stacked}: затемнение 40%, 300 r34 пад 14 gap 10; Title and Description пад 8 gap 10; кнопка 48 r100 Fills/Secondary */
.u-ios-dim { position: absolute; inset: 0; z-index: 85; display: grid; place-items: center; background: rgb(0 0 0 / .4); animation: u-fade-in .2s ease; }
.u-ios-dim.is-closing { animation: u-fade-out .18s ease forwards; }
.u-ios-alert { width: 300px; padding: 14px; border-radius: 34px; display: flex; flex-direction: column; gap: 10px; background: var(--ios-alert); box-shadow: 0 8px 40px rgb(0 0 0 / .12);
  -webkit-backdrop-filter: blur(24px) saturate(1.8); backdrop-filter: blur(24px) saturate(1.8); animation: u-ios-alert-in .3s cubic-bezier(.2, .9, .3, 1.1); }
.u-ios-dim.is-closing .u-ios-alert { animation: u-ios-alert-out .18s ease-in forwards; }
@keyframes u-ios-alert-in { from { opacity: 0; transform: scale(1.1); } }
@keyframes u-ios-alert-out { to { opacity: 0; transform: scale(.96); } }
.u-ios-alert__t { padding: 8px; display: flex; flex-direction: column; gap: 10px; }
.u-ios-alert__t b { font: 600 17px/22px var(--ios-font); letter-spacing: -0.43px; color: var(--ios-label); }
.u-ios-alert__t p { margin: 0; font: 400 15px/19px var(--ios-font); letter-spacing: -0.43px; color: var(--ios-alert-text); }
.u-ios-alert__b { width: 100%; height: 48px; display: flex; align-items: center; justify-content: center; border-radius: 100px; background: var(--ios-fill); font: 500 17px/22px var(--ios-font); letter-spacing: -0.43px; color: var(--ios-label);
  transition: transform .2s cubic-bezier(.3, .7, .4, 1); }
.u-ios-alert__b:active { transform: scale(.97); }
/* Знакомство с Apple Pay (110025:3819) */
.u-wintro__top { position: relative; height: 348px; overflow: hidden; background: var(--ios-bg2); }
.u-wintro__phone { position: absolute; left: 83px; top: 124px; width: 209px; height: 260px; border-radius: 30px; background: var(--ios-bg); box-shadow: 0 6px 24px rgb(0 0 0 / .05); }
.u-wintro__card { position: absolute; left: 9px; top: 29px; }
.u-wintro__face { position: absolute; left: 88px; top: 171px; display: grid; color: var(--ios-blue); }
.u-wintro__sheet { padding: 24px 38px 140px; background: var(--ios-bg); }
.u-wintro__logo { display: block; width: 82px; height: 32px; background: var(--ios-label); -webkit-mask: var(--logo) left center / contain no-repeat; mask: var(--logo) left center / contain no-repeat; }
.u-wintro__lead { margin: 6px 0 0; height: 135px; overflow: hidden; font: 400 20px/24px var(--ios-font); letter-spacing: -0.45px; color: var(--ios-label2);
  -webkit-mask-image: linear-gradient(180deg, #000 52%, transparent 100%); mask-image: linear-gradient(180deg, #000 52%, transparent 100%); }
.u-wintro__priv { display: block; width: 30px; height: 26px; color: var(--ios-blue); }
.u-wintro__note { margin: 17px 0 0; font: 400 12px/13.3px var(--ios-font); letter-spacing: -0.1px; color: var(--ios-label2); }
.u-wintro__link { color: var(--ios-blue); }
@media (prefers-reduced-motion: reduce) { .u-ios-alert, .u-ios-dim { animation-duration: 1ms !important; } }
