/* State of Proof — base element styles. */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg-page);color:var(--text-primary);font:var(--w-regular) var(--text-base)/var(--lh-body) var(--font-sans);font-feature-settings:"tnum" 0;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}
a{color:var(--text-primary);text-decoration:underline;text-decoration-color:var(--sop-line-2);text-underline-offset:3px;transition:color var(--dur-1) var(--ease-out),text-decoration-color var(--dur-1) var(--ease-out)}
a:hover{color:var(--accent);text-decoration-color:var(--accent)}
:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px;border-radius:2px}
::selection{background:var(--sop-blue);color:var(--sop-mineral)}
hr{border:0;border-top:var(--bw-hairline) solid var(--border-hairline);margin:0}
code,pre,kbd,samp{font-family:var(--font-mono)}
strong,b{font-weight:var(--w-semibold)}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms !important;animation-iteration-count:1 !important;transition-duration:.01ms !important;scroll-behavior:auto !important}}
