/* qa — owned by the qa work */
/* secondary screens (Настройки, Люди, Коды…) still show the floating tab bar, so they need the same bottom room:
   the bar sits 24px above the edge and is 64px tall — keep the last row ~32px clear of it */
.scr.notab{padding-bottom:calc(var(--tab-h) + 56px + var(--safe-b))}
/* iPhone web app: how to install it, shown in Safari only */
.iosadd{display:flex;flex-direction:column;gap:4px;margin:0 0 14px;padding:14px 16px;border-radius:20px;background:rgba(255,255,255,.14);color:#fff;font-size:14px;line-height:1.4;text-align:left}
.iosadd b{font-size:15px}.iosadd svg{vertical-align:-3px}
.welcome>*:not(.grow){flex-shrink:0}

/* ---------- 2.7.1: type details ---------- */
/* no lonely last word: headings balance their lines, running text avoids a one-word last line */
h1,h2,h3,.title,.tx b,.card>b,.mh-title h1,.ch1{text-wrap:balance}
p,.sub,.subtitle,.hint,.lead,.csub,.tx small,.pr,.btext{text-wrap:pretty}
/* reading measure: ~65 characters. In em, so it follows the reader's own text size (A−/A+) */
.btext{max-width:36em;margin-inline:auto}
.lyr .sg{max-width:38em}
.pr,.ann-t{max-width:40em}
/* touch targets: chips look 36–40px but answer to a 44px area */
.chip{position:relative}
.chip::before{content:"";position:absolute;inset:-4px -2px;border-radius:inherit}
.chips.scroll{padding-top:4px;padding-bottom:6px;margin-top:-4px;margin-bottom:-4px}
/* type-to-filter in long pickers */
.pk-find{position:sticky;top:-10px;z-index:2;display:flex;align-items:center;margin:12px -2px 0;padding:6px 2px;background:var(--ground)}
.pk-find .pk-ic{position:absolute;left:16px;color:var(--label-3);display:grid;pointer-events:none}
.pk-find .inp{padding-left:42px;height:48px}
.pk-none{padding:18px 0 4px}
/* welcome: the brand sits in the middle of the free space; the tagline is truly centred (.auth p.lead used to win) */
.auth .welcome p.lead{max-width:20em;margin:10px auto 0;text-align:center;text-wrap:balance}
.welcome .mark.leaf{margin:0 auto 28px}
.welcome .grow.wtop{flex:1 1 0;min-height:24px}
.welcome .grow:not(.wtop){flex:1.15 1 0;min-height:32px}
.welcome .list .row{background:rgba(255,255,255,.14);color:#fff}
.welcome .list .row small{color:rgba(255,255,255,.78)}
.welcome .list .chev{color:rgba(255,255,255,.75)}
[hidden]{display:none!important}
.pk-find input::-webkit-search-cancel-button,.pk-find input::-webkit-search-decoration{-webkit-appearance:none;appearance:none}
/* «Обновление готово» */
.toast.upd{display:flex;align-items:center;gap:14px;border:0;font:inherit;cursor:pointer}
.toast.upd b{color:var(--brand-soft,#9CC283);font-weight:700}
