:root{color-scheme:dark;--bg:#080808;--fg:#f4f4f4;--muted:#a1a1a1;--border:#303030;--panel:#151515;--link:#f4f4f4}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--bg);color:var(--fg);font:17px/1.75 Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-underline-offset:5px;text-decoration-thickness:1px}a:hover{color:#bdbdbd}a:focus-visible,summary:focus-visible{outline:2px solid #fff;outline-offset:5px}.wrap{max-width:1440px;margin:auto;padding:0 48px}.site-header{display:flex;align-items:center;gap:48px;min-height:84px}.brand{font-size:24px;font-weight:600;letter-spacing:-1px;text-decoration:none}.site-header nav{display:flex;gap:28px;font-size:14px}.site-header nav a{text-decoration:none;color:var(--muted)}.site-header nav a[aria-current=page]{color:var(--fg)}.draft-label{margin-left:auto;color:var(--muted);font-size:12px;white-space:nowrap}.skip{position:absolute;top:-100px;left:16px;background:var(--bg);padding:12px;z-index:5}.skip:focus{top:8px}
main{min-width:0;padding:72px 0 100px}h1,h2,h3{font-weight:400;line-height:1.15;letter-spacing:-.035em;text-wrap:balance}h1{font-size:clamp(40px,5vw,68px);max-width:980px;margin:0 auto 28px;text-align:center}h2{font-size:32px;margin:64px 0 24px}h3{font-size:23px;margin:36px 0 16px}p{margin:0 0 24px}strong{font-weight:600}.lead{font-size:20px;line-height:1.55;max-width:610px;margin:0 auto 44px;text-align:center;color:var(--fg)}.eyebrow,.status-row{font-size:13px;display:flex;justify-content:center;gap:18px;color:var(--muted);margin-bottom:28px}.status{font-size:12px;color:var(--muted)}.article-hero{margin:0 auto 80px}.article-hero .actions{display:flex;gap:24px;justify-content:center;align-items:center;font-size:14px}.button{display:inline-block;background:var(--fg);color:var(--bg);padding:10px 22px;border-radius:30px;text-decoration:none;font-size:14px}.button:hover{background:#d9d9d9;color:#000}.reading,.spec{max-width:690px;margin:auto}.reading p,.spec p{line-height:1.8}.reading section{margin-top:64px}.reading section h2{margin-top:0}.reading .lead{max-width:none}.muted{color:var(--muted)}.rule{border-top:1px solid var(--border);margin-top:56px;padding-top:28px}.rule h2{margin-top:0}.callout{border-left:1px solid #777;padding:0 0 0 24px;margin:32px 0}.callout p:last-child{margin-bottom:0}
.pathway{display:grid;grid-template-columns:repeat(4,1fr);margin:0 auto 80px;padding:40px 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border);max-width:1040px;gap:32px}.pathway span{font-size:12px;color:var(--muted);display:block;margin-bottom:24px}.pathway strong{font-size:22px;font-weight:400;display:block;letter-spacing:-.02em}.pathway p{font-size:14px;color:var(--muted);margin:8px 0 0;line-height:1.6}.links-grid,.three-grid{display:grid;grid-template-columns:1fr;gap:0;margin:32px 0}.link-card,.mini{border-top:1px solid var(--border);padding:24px 0;text-decoration:none}.link-card strong{display:block;font-size:21px;font-weight:400}.link-card span,.mini p{display:block;color:var(--muted);font-size:16px;margin:8px 0 0}.mini h2{margin:0;font-size:24px}.research-item{padding:28px 0;border-top:1px solid var(--border)}.research-head{display:flex;gap:20px;align-items:center}.research-head h2{font-size:25px;margin:0}.research-item p{margin-top:16px}.research-item .status{margin-left:auto}
.spec h1{font-size:44px;text-align:left;margin:0 0 36px;max-width:none}.spec h2{padding-top:28px;margin-top:48px;border-top:1px solid var(--border)}.spec h3{font-size:24px}.spec p{margin-bottom:22px}main>.status-row{max-width:690px;margin:0 auto 32px;justify-content:flex-start}main>h1+ .lead{margin-bottom:64px}main>section,main>pre,main>.callout,main>.three-grid,main>p:not(.lead),main>.links-grid,main>.research-item{max-width:690px;margin-left:auto;margin-right:auto}.contents{border-top:1px solid var(--border);border-bottom:1px solid var(--border);padding:18px 0;margin:36px 0}.toc{display:flex;flex-direction:column;gap:8px;margin-top:16px;font-size:14px}.toc a{color:var(--muted);text-decoration:none}.toc a:hover{color:#fff}summary{cursor:pointer;font-size:15px}.document-resources{max-width:690px;margin:64px auto 0;border-top:1px solid var(--border);padding-top:20px;font-size:14px}ul,ol{padding-left:24px;margin:24px 0}li+li{margin-top:12px}pre{max-width:100%;white-space:pre;overflow:auto;padding:24px;background:var(--panel);border:1px solid var(--border);border-radius:4px;font-size:13px;line-height:1.7;margin:28px 0}code{font-family:ui-monospace,SFMono-Regular,Consolas,monospace}p code,li code{font-size:.85em;overflow-wrap:anywhere}p,li{overflow-wrap:break-word}table{border-collapse:collapse;width:100%;font-size:14px}th,td{text-align:left;padding:12px;border-bottom:1px solid var(--border)}.library{max-width:960px;margin:64px auto;display:grid;grid-template-columns:1fr 1fr;gap:24px 48px}.library p{border-top:1px solid var(--border);padding-top:20px;font-size:14px}.library a{display:block;margin-bottom:8px}.library a:first-child{font-size:19px;text-decoration:none}footer{display:flex;align-items:center;gap:28px;border-top:1px solid var(--border);padding:30px 0 44px;font-size:12px;color:var(--muted)}footer span{margin-right:auto}footer a{text-decoration:none}
@media(max-width:760px){.wrap{padding:0 24px}.site-header{gap:20px;flex-wrap:wrap;padding:22px 0}.site-header nav{order:3;width:100%;gap:24px}.draft-label{font-size:11px}.brand{font-size:22px}main{padding-top:48px}h1{font-size:43px}.lead{font-size:18px}.article-hero{margin-bottom:48px}.pathway{grid-template-columns:1fr 1fr;gap:32px 24px;padding:28px 0;margin-bottom:48px}.pathway span{margin-bottom:12px}.pathway strong{font-size:20px}.spec h1{font-size:36px}h2{font-size:28px}.library{grid-template-columns:1fr}footer{flex-wrap:wrap;gap:16px}footer span{width:100%}pre{padding:16px;font-size:12px}.research-head{align-items:flex-start;flex-direction:column}.research-item .status{margin:0}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}@media print{:root{--bg:#fff;--fg:#000;--muted:#444;--border:#ccc;--panel:#fff;color-scheme:light}.site-header,footer,.skip,.contents{display:none}.wrap{padding:0}main{padding:0}pre{white-space:pre-wrap}h1{font-size:36px}.pathway{break-inside:avoid}}
@media(max-width:760px){.article-hero .actions{flex-direction:column;align-items:center;gap:18px}.article-hero .actions a{white-space:nowrap}.pathway strong{line-height:1.3}}

.table-scroll{max-width:100%;overflow-x:auto;margin:28px 0}.table-scroll table{min-width:520px}.table-scroll code{overflow-wrap:anywhere}.table-scroll:focus-visible{outline:2px solid currentColor;outline-offset:4px}

.pathway-intro{max-width:690px;margin:0 auto 36px;font-size:18px;line-height:1.75}.pathway>div{min-width:0}.pathway strong{line-height:1.3}.pathway a{display:inline-block;margin-top:18px;font-size:14px;line-height:1.6}.walkthrough-example{border-left:1px solid var(--border);padding-left:24px;margin:28px 0}.walkthrough-example p:last-child{margin-bottom:0}
@media(max-width:540px){.pathway{grid-template-columns:1fr}.pathway>div+div{border-top:1px solid var(--border);padding-top:28px}}

.brand{display:flex;flex-shrink:0;align-items:center;min-height:44px}.brand picture,.brand img{display:block}.brand img{width:168px;height:auto}
@media(max-width:760px){.brand img{width:140px}.draft-label{white-space:normal;text-align:right;max-width:145px}}
@media(max-width:360px){.site-header{gap:12px}.draft-label{max-width:116px}.site-header nav{gap:20px}}

/* Text figures use the same columns in the browser and plain-text edition. */
.ascii-diagram{background:transparent;border:0;border-top:1px solid var(--border);border-bottom:1px solid var(--border);border-radius:0;padding:28px 0;font:14px/1.55 ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:0;white-space:pre;tab-size:4;max-width:100%;overflow-x:auto}
.ascii-diagram:focus-visible{outline:2px solid var(--fg);outline-offset:4px}
.version-note{max-width:690px;margin:0 auto 32px;border-left:2px solid var(--border);padding:8px 20px;color:var(--muted);font-size:13px;line-height:1.6}
.editorial h1{font-size:clamp(38px,5vw,58px);line-height:1.1}
.editorial>p:first-of-type{font-size:20px;line-height:1.6;margin-bottom:32px}
@media(max-width:760px){.ascii-diagram{font-size:11px;padding:20px 0}}
@media print{.ascii-diagram{white-space:pre;font-size:9px;break-inside:avoid}.version-note{font-size:10px}}
