* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin:0; color:var(--ink); background:var(--paper); font-family:system-ui,-apple-system,"Segoe UI",sans-serif; line-height:1.65; }
body::before { content:""; position:fixed; inset:0; pointer-events:none; opacity:.16; background-image:linear-gradient(90deg, transparent 49.5%, var(--line) 49.8%, transparent 50.2%),linear-gradient(0deg, transparent 49.5%, var(--line) 49.8%, transparent 50.2%); background-size:76px 76px; mask-image:linear-gradient(to bottom, black, transparent 65%); }
a { color:var(--teal); text-decoration-thickness:.08em; text-underline-offset:.18em; }
a:hover { color:var(--teal-dark); }
button,input,select { font:inherit; }
button { cursor:pointer; }
:focus-visible { outline:3px solid var(--focus); outline-offset:3px; }
h1,h2,h3 { font-family:ui-serif,Georgia,Cambria,serif; line-height:1.12; letter-spacing:-.02em; }
h1 { font-size:clamp(2.6rem, 6vw, 5.8rem); max-width:12ch; margin:.15em 0 .2em; }
h2 { font-size:clamp(1.8rem, 3vw, 2.8rem); }
h3 { font-size:1.35rem; }
p { max-width:72ch; }
code,.eyebrow,.meta,.id { font-family:ui-monospace,Consolas,monospace; }
code { font-size:.9em; }
table { border-collapse:collapse; width:100%; }
th,td { padding:.7rem .8rem; border-bottom:1px solid var(--line); text-align:left; vertical-align:top; }
th { color:var(--muted); font-size:.78rem; text-transform:uppercase; letter-spacing:.08em; }
img,svg { max-width:100%; }
.skip { position:absolute; left:1rem; top:-4rem; padding:.6rem 1rem; z-index:10; background:var(--ink); color:var(--paper); }
.skip:focus { top:1rem; }
.sr-only { position:absolute!important; width:1px!important; height:1px!important; padding:0!important; margin:-1px!important; overflow:hidden!important; clip:rect(0,0,0,0)!important; white-space:nowrap!important; border:0!important; }
