*,*::before,*::after{box-sizing:border-box}
body{margin:0;font:var(--type-body);color:var(--text-primary);background:var(--surface-page);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-variant-numeric:tabular-nums}
h1,h2,h3,h4,h5,h6{margin:0;color:var(--text-primary);text-wrap:balance}
h1{font:var(--type-h1);letter-spacing:var(--tracking-heading)}
h2{font:var(--type-h2);letter-spacing:var(--tracking-heading)}
h3{font:var(--type-h3)}
h4{font:var(--type-h4)}
p{margin:0;text-wrap:pretty}
a{color:var(--text-accent);text-decoration:none;border-bottom:1px solid transparent;transition:var(--transition-color)}
a:hover{border-bottom-color:currentColor}
a:active{color:var(--action-primary-bg-active)}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--border-focus);outline-offset:2px;border-radius:var(--radius-xs)}
code,kbd,samp,pre{font-family:var(--font-mono);font-size:.92em}
hr{border:0;border-top:var(--stroke-hairline) solid var(--border-subtle);margin:var(--space-8) 0}
::selection{background:var(--af-verdigris-200);color:var(--af-basalt-950)}
[data-theme="dark"] ::selection{background:var(--af-verdigris-700);color:#EDEAE3}
