/* База UI-кита. Вид не задаёт: цвета и размеры только из tokens.css.
   Кадр телефона и оболочка просмотра сюда не входят. */
*,*::before,*::after{box-sizing:border-box}
html{height:100%}
body{margin:0;min-height:100%;background:var(--bg);color:var(--text);font-family:var(--font);font-size:var(--fs-md);line-height:1.45;-webkit-font-smoothing:antialiased}
button,input,select,textarea{font:inherit;color:inherit}
button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}
button{cursor:pointer}
button:disabled,input:disabled,select:disabled,textarea:disabled{opacity:.45;cursor:not-allowed}
a{color:inherit;text-decoration:none}
button,input,select,textarea{border-radius:var(--r-md)}
button{border:0;background:none;padding:0}
img,svg{display:block;max-width:100%}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
h1,h2,h3,p{margin:0}
/* Файлов Inter и Ghivar нет: стеки заданы токенами, @font-face не подключается. */
.font-ui{font-family:var(--font)}
.font-display{font-family:var(--font-display)}
.mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums}
.muted{color:var(--text-2)}
.faint{color:var(--text-3)}
.accent{color:var(--accent)}
.purple{color:var(--st-review)}
.amber{color:var(--st-waiting)}
.small{font-size:var(--fs-sm)}
.tiny{font-size:var(--fs-xs)}
.upper{text-transform:uppercase;letter-spacing:1.6px;font-size:10px}
.icon-sprite{position:absolute;width:0;height:0;overflow:hidden}
.icon{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}
.row{display:flex;align-items:center;gap:var(--sp-3)}
.between{justify-content:space-between}
.stack{display:flex;flex-direction:column;gap:var(--sp-3)}
.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-3)}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--sp-2)}
.gap-4{gap:var(--sp-4)}
.grow{flex:1;min-width:0}
.m0{margin:0}
.mt8{margin-top:var(--sp-2)}
.mt16{margin-top:var(--sp-4)}
.mt24{margin-top:var(--sp-6)}
.mb16{margin-bottom:var(--sp-4)}
.pad-cabinet{padding-left:var(--pad-cabinet);padding-right:var(--pad-cabinet)}
.pad-landing{padding-left:var(--pad-landing);padding-right:var(--pad-landing)}
.full{width:100%}
.kit-frame{width:min(100%,var(--bp-max));margin-inline:auto}
@media(max-width:360px){
.grid-3{grid-template-columns:1fr}
}
@media(prefers-reduced-motion:reduce){
*,*::before,*::after{animation:none!important;scroll-behavior:auto!important;transition:none!important}
}
