/* Reset, tipografiya va umumiy yordamchilar */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{
  margin:0; min-height:100vh;
  font-family:var(--font); font-size:15px; line-height:1.55;
  color:var(--text); background:var(--bg);
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3,h4{margin:0;line-height:1.2;letter-spacing:-.02em;font-weight:800}
h1{font-size:30px} h2{font-size:22px} h3{font-size:18px} h4{font-size:15px}
p{margin:0}
a{color:var(--primary);text-decoration:none}
a:hover{color:var(--primary-hover)}
img,svg{display:block;max-width:100%}
button,input,select,textarea{font:inherit;color:inherit}
button{cursor:pointer}
code,pre{font-family:var(--font-mono)}
:focus-visible{outline:none;box-shadow:var(--focus);border-radius:var(--r-sm)}
::selection{background:var(--primary-200)}

.num{font-variant-numeric:tabular-nums}
.muted{color:var(--text-2)}
.subtle{color:var(--text-3);font-size:13px}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.stack{display:flex;flex-direction:column;gap:var(--gap,16px)}
.row{display:flex;align-items:center;gap:var(--gap,12px)}
.row-wrap{display:flex;flex-wrap:wrap;align-items:center;gap:var(--gap,12px)}
.spread{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px}
.grid{display:grid;gap:var(--gap,18px);grid-template-columns:repeat(var(--cols,3),minmax(0,1fr))}
@media (max-width:900px){ .grid{grid-template-columns:repeat(var(--cols-md,2),minmax(0,1fr))} }
@media (max-width:600px){ .grid{grid-template-columns:repeat(var(--cols-sm,1),minmax(0,1fr))} }
.span-2{grid-column:span 2}
@media (max-width:600px){ .span-2{grid-column:auto} }

@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
}
