/* Base: reset and shared helpers. Loaded right after tokens.css on every page. */
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--char);font-family:var(--f);font-size:var(--fs-body);line-height:var(--lh-body);font-variant-numeric:tabular-nums;overflow-x:clip}
h1,h2,h3,h4,h5,h6,b,strong,th,dt,optgroup{font-weight:var(--fw-regular)}
html{font-synthesis:none}
::selection{background:var(--red);color:var(--on-red)}
h1,h2,h3,h4,h5{font-family:var(--f);color:var(--head);margin:0;line-height:1.3;text-wrap:balance;font-weight:var(--fw-bold)}
p{margin:0;text-wrap:pretty}
a{color:inherit;text-underline-offset:.3em}
img{max-width:100%;display:block}
::placeholder{color:var(--placeholder)}
:focus-visible{outline:2px solid var(--red);outline-offset:3px;border-radius:var(--r-4)}
.ltr{direction:ltr;unicode-bidi:isolate}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
body.is-locked{overflow:hidden}
[hidden]{display:none!important}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:1ms!important;animation-delay:0ms!important;transition-property:opacity,background-color,color,border-color!important}
}
