/* Minta Finance — DS V2.3. ГЕНЕРИРУЕТСЯ: node scripts/ds/build-v23.mjs из docs/design/v2.3-research/system/ds/base.css. Руками не править.
   Правила действуют под `.ds23` (класс на <html>) и НЕ входят в островок прежних экранов `.ds22`: `@scope (.ds23) to (.ds22)`, см. scripts/ds/css-scope.mjs и scripts/ds/README.md. */
html.ds23{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:calc(var(--layout-ctxbar-h) + var(--space-4))}
html.ds23,.ds23 body{margin:0}
.ds23 body{font:var(--type-body-large);letter-spacing:var(--type-body-large-tracking);background:var(--background);color:var(--text-primary);-webkit-font-smoothing:antialiased;min-height:100vh}
@scope (.ds23) to (.ds22){/* Minta Finance — DS V2.3 base: шрифт, сброс, фокус, ссылка-пропуск, числа. Цвета, радиусы, кегли — только токены. */
:scope *,:scope *::before,:scope *::after{box-sizing:border-box}

:scope h1,:scope h2,:scope h3,:scope h4,:scope p,:scope ul,:scope ol,:scope dl,:scope dd,:scope figure{margin:0}
:scope ul,:scope ol{padding:0;list-style:none}
:scope a{color:inherit;text-decoration:none}
:scope button,:scope input,:scope select,:scope textarea{font:inherit;color:inherit;letter-spacing:inherit}
:scope button{background:none;border:0;padding:0;margin:0;cursor:pointer;text-align:inherit}
:scope svg{display:block}
:scope table{border-collapse:collapse}
:scope ::selection{background:var(--accent-mint-subtle);color:var(--text-primary)}

/* фокус: задан, а не браузерный. Кольцо 2 px + зазор 2 px; работает на любой подложке (P12, a11y) */
:scope :focus{outline:none}
:scope :focus-visible,:scope .is-focus{outline:var(--focus-ring-width) solid var(--focus-ring);outline-offset:var(--focus-ring-offset);border-radius:var(--radius-sm)}
:scope .btn:focus-visible,:scope .pill:focus-visible,:scope .seg button:focus-visible,:scope .input:focus-visible,:scope .search-field:focus-within,:scope .btn.is-focus,:scope .pill.is-focus{border-radius:var(--radius-md)}
:scope [tabindex="-1"]:focus{outline:none}

/* ссылка «К основному содержимому» — первый таб-стоп страницы */
:scope .skip-link{position:fixed;top:var(--space-4);left:var(--space-4);z-index:var(--z-tooltip);transform:translateY(-200%);padding:var(--space-4) var(--space-6);background:var(--action-primary);color:var(--text-inverse);font:var(--type-button);border-radius:var(--radius-md)}
:scope .skip-link:focus{transform:none}

/* визуально скрытый текст: доступное имя без видимой подписи (полоса значков, иконки-кнопки, слово серьёзности) */
:scope .vh{position:absolute!important;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0}

/* значки: один язык (штрих 1,7–2, currentColor); размер — токен */
:scope .ic{width:var(--icon-md);height:var(--icon-md);display:inline-block;flex:none;vertical-align:-3px}
:scope .ic svg{width:100%;height:100%}
:scope .ic--xs{width:var(--icon-xs);height:var(--icon-xs)}
:scope .ic--sm{width:var(--icon-sm);height:var(--icon-sm)}
:scope .ic--lg{width:var(--icon-lg);height:var(--icon-lg)}
:scope .ic--xl{width:var(--icon-xl);height:var(--icon-xl)}
:scope .ic--2xl{width:var(--icon-2xl);height:var(--icon-2xl)}

/* деньги: единственный форматтер — facts/format.mjs; здесь только подача */
:scope .fx{font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1;white-space:nowrap}
:scope .fx .k,:scope .k{color:var(--text-subtle);font-weight:inherit}      /* копейки приглушены */
:scope .u{color:var(--text-subtle);font-weight:500}                /* «₽» рядом с крупной суммой */
:scope .num{font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1;white-space:nowrap}
:scope .fx.is-neg,:scope .is-neg,:scope .neg{color:var(--negative)}
:scope .fx.is-pos,:scope .is-pos,:scope .pos{color:var(--positive)}
:scope .is-warn-text,:scope .warn-text{color:var(--warning)}
:scope .muted{color:var(--text-muted)}
:scope .subtle{color:var(--text-subtle)}
:scope .mono{font:var(--type-technical)}
:scope .fx[data-mode=TEXT]{white-space:normal}
}
