/* Sol Design System · base */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font-sans);font-size:var(--fs-16);line-height:1.5;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;transition:background-color var(--dur) var(--ease),color var(--dur) var(--ease)}

h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6{margin:0;font-weight:500;line-height:1.2;letter-spacing:-0.01em}
h1,.h1{font-size:var(--fs-48);letter-spacing:-0.02em}
h2,.h2{font-size:var(--fs-32);letter-spacing:-0.015em}
h3,.h3{font-size:var(--fs-24)}
h4,.h4{font-size:var(--fs-20)}
h5,.h5{font-size:var(--fs-16)}
h6,.h6{font-size:var(--fs-14)}
@media (max-width:600px){h1,.h1{font-size:var(--fs-32)}h2,.h2{font-size:var(--fs-24)}}

p{margin:0 0 var(--s-4)}
small,.small{font-size:var(--fs-12);color:var(--text-3)}
.text-2{color:var(--text-2)}
.text-3{color:var(--text-3)}

a{color:var(--accent-fg);text-decoration:none}
a:hover{text-decoration:underline;text-underline-offset:3px}

code,kbd,samp,pre{font-family:var(--font-mono);font-size:0.875em}
code{background:var(--surface-2);padding:2px 6px;border-radius:4px}
pre{margin:0 0 var(--s-4);padding:var(--s-4);background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-sm);overflow:auto;line-height:1.6}
pre code{background:none;padding:0}
kbd{background:var(--surface-2);border:1px solid var(--border);border-bottom-width:2px;border-radius:4px;padding:1px 6px}

button,input,select,textarea{font:inherit;color:inherit}
img,svg{display:block;max-width:100%}
hr{border:0;border-top:1px solid var(--border);margin:var(--s-6) 0}
ul,ol{padding-left:var(--s-5)}
[hidden]{display:none!important}

:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
::selection{background:var(--accent);color:#fff}

.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

*{scrollbar-width:thin;scrollbar-color:var(--border) transparent}
::-webkit-scrollbar{width:6px;height:6px}
::-webkit-scrollbar-track{background:transparent}
::-webkit-scrollbar-thumb{background:var(--border);border-radius:var(--r-full)}
::-webkit-scrollbar-thumb:hover{background:var(--border-strong)}

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