*,*::before,*::after{box-sizing:border-box}
body{margin:0;background:var(--background);color:var(--foreground);font-family:var(--font-sans);font-size:var(--text-base);line-height:var(--leading-normal);font-weight:400;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
h1,h2,h3,h4,h5,h6{font-family:var(--font-sans);font-weight:600;line-height:var(--leading-tight);letter-spacing:var(--tracking-tight);margin:0 0 var(--space-2);color:var(--foreground);text-wrap:balance}
h1{font-size:var(--text-5xl);letter-spacing:var(--tracking-tighter)}h2{font-size:var(--text-4xl)}h3{font-size:var(--text-3xl)}h4{font-size:var(--text-2xl)}h5{font-size:var(--text-lg)}h6{font-size:var(--text-base)}
p{margin:0 0 var(--space-3);text-wrap:pretty}
a{color:var(--primary);text-decoration:none;text-underline-offset:3px}a:hover{color:var(--primary-hover);text-decoration:underline}
code,kbd,pre{font-family:var(--font-mono);font-size:.92em}
img{display:block;max-width:100%}figure{margin:0}
figcaption{font-size:var(--text-xs);margin-top:var(--space-1);color:var(--muted-foreground)}
:focus{outline:none}:focus-visible{outline:2px solid var(--ring);outline-offset:2px}
::selection{background:var(--red-100);color:var(--red-900)}
