*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;scroll-padding-top:5rem}
body{margin:0;min-width:320px;font-family:var(--font-body);font-size:var(--text-base);line-height:1.6;color:var(--color-text);background:var(--color-bg);-webkit-font-smoothing:antialiased}
button,input,select,textarea{font:inherit}
button,a{-webkit-tap-highlight-color:transparent}
button{cursor:pointer}
a{color:inherit;text-underline-offset:5px}
button{color:inherit}
img{max-width:100%;height:auto;display:block;background:var(--color-surface)}
h1,h2,h3,p,figure{margin:0}
button:focus-visible,a:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--color-text);outline-offset:5px}
button:active,.button:active{transform:scale(.985)}
::selection{background:var(--color-accent);color:white}
.skip-link{position:fixed;top:-100%;left:1rem;z-index:1000;background:var(--color-bg);padding:1rem}
.skip-link:focus{top:1rem}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
