*{box-sizing:border-box} html{scroll-behavior:smooth;scroll-padding-top:calc(var(--topbar-h) + 28px)}
body{margin:0;background:var(--canvas);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-size:var(--text-base);line-height:1.62;text-align:left;-webkit-font-smoothing:antialiased}
a{color:var(--accent);text-decoration-thickness:.08em;text-underline-offset:.16em} a:hover{text-decoration-thickness:.12em}
button,input{font:inherit} button{color:inherit} img,svg{max-width:100%;height:auto} :focus-visible{outline:3px solid color-mix(in srgb,var(--accent) 72%,white);outline-offset:3px;border-radius:6px}
::selection{background:color-mix(in srgb,var(--accent) 26%,transparent)}
h1,h2,h3,h4{color:var(--ink-strong);line-height:1.08;letter-spacing:-.035em;margin:0 0 .55em} h1{font-size:clamp(2.65rem,5.5vw,5rem)} h2{font-size:clamp(2rem,3vw,3rem);margin-top:2.1em} h3{font-size:clamp(1.45rem,2vw,2rem);margin-top:1.8em} h4{font-size:1.12em;letter-spacing:-.015em;margin-top:1.5em}
p{margin:.8em 0} ul,ol{padding-left:1.25em} li+li{margin-top:.36em} blockquote{margin:1.45em 0;padding:.15em 0 .15em 1.05em;border-left:4px solid var(--accent);color:var(--ink-strong);font-size:1.08em;font-weight:650}
hr{border:0;border-top:1px solid var(--border);margin:3rem 0}.eyebrow{text-transform:uppercase;letter-spacing:.12em;font-weight:800;font-size:.72em;color:var(--accent)}
.muted{color:var(--ink-muted)} .kbd{font-size:.8em;border:1px solid var(--border);background:var(--surface-soft);padding:.12em .42em;border-radius:6px}
.skip-link{position:fixed;z-index:200;top:8px;left:8px;transform:translateY(-160%);background:var(--ink-strong);color:var(--surface);padding:.55rem .8rem;border-radius:8px}.skip-link:focus{transform:none}
