/* Помощник — только своё. Общие компоненты и цвета — /ds/v1/ («Байкал»). */
.tgx{font-size:14.5px;line-height:1.55;color:var(--ink);word-break:break-word}
.tgx b{font-weight:800}.tgx code{font-family:ui-monospace,monospace;font-size:13px;background:var(--slot);padding:1px 5px;border-radius:6px}
.tgx a{color:var(--acc)}
.hero .tgx,.hero .s{color:#fff}
.todaybtn{flex:none;background:var(--grad);color:#fff;font-weight:800;font-size:14px;padding:11px 14px;border-radius:14px}
.hero .row .pill{margin-top:2px}
.quotes{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:12px 0 0}
.qt{background:var(--card);border-radius:16px;padding:10px 11px;box-shadow:var(--shadow)}
.ql{font-size:11.5px;color:var(--ink3);font-weight:700}.qv{font-family:var(--font-title);font-size:17px;font-weight:700;margin-top:2px;white-space:nowrap}
.qv small{font-family:var(--font-body);font-size:11px;color:var(--ink3);font-weight:700}
.qc{font-size:12px;font-weight:800;color:var(--ink3);margin-top:1px}.qc.up{color:var(--b-pine)}.qc.dn{color:var(--bad)}
body.idle-lock .screen{filter:blur(14px)}
body.idle-lock #sheet,body.idle-lock #sheet-dim{visibility:hidden}
.quotes.busy{opacity:.55;transition:opacity .2s}.qt{cursor:pointer}
.qt.stale .qv{opacity:.6}
/* переключатель доступа VPN — цель нажатия не меньше 44 px (общий .tg в «Байкале» ≈ 32 px) */
.tg.tg-big button{min-height:44px;min-width:56px;padding:10px 14px;font-size:14px}

/* Equal rows across sibling quote cards; tabular figures across lists and KPIs. */
#app,#sheet{font-variant-numeric:tabular-nums lining-nums}
.quotes{grid-template-columns:repeat(3,minmax(0,1fr));row-gap:0}
.qt{min-width:0;display:grid;grid-template-rows:minmax(2.8em,auto) auto auto;align-content:start;row-gap:3px}
.ql{line-height:1.4;overflow-wrap:anywhere}.qv{margin:0;line-height:1.4}.qc{margin:0;min-height:1.4em;line-height:1.4}
@supports(grid-template-rows:subgrid){.qt{grid-row:span 3;grid-template-rows:subgrid}.ql{min-height:2.8em}}
.kp{grid-template-columns:repeat(2,minmax(0,1fr))}.kpi{min-width:0}.kpi .v{line-height:1.35;min-height:1.35em;overflow-wrap:anywhere}
.li>div:first-child:not(.mini):not(.tg):not(.ic){min-width:0;flex:1}.li b,.li small{overflow-wrap:anywhere}.li>.tg,.li>span:last-child{flex-shrink:0}
.np-row>div:first-child{min-width:0;overflow-wrap:anywhere}.np-r{flex-shrink:0;text-align:right;font-variant-numeric:tabular-nums}.np-dist .top{gap:10px}.np-dist .top>b{min-width:0;overflow-wrap:anywhere}.np-dist .top>span{flex-shrink:0}
.sec{gap:8px}.sec>b{min-width:0}.sec>span:last-child{text-align:right}
@media(max-width:350px){.quotes{gap:0 6px}.qt{padding:9px 7px}.ql{font-size:10.5px}.qv{font-size:14px}.qv small{font-size:9px}.qc{font-size:11px}}

/* Keep keyboard focus visible alongside touch navigation. */
:where(button,a,input,textarea,select,[role=button]):focus-visible{outline:3px solid var(--acc);outline-offset:3px}
