.article{max-width:800px;margin:auto;padding:64px 26px 100px}.article h1{font-size:clamp(32px,4vw,48px);line-height:1.4;letter-spacing:-.035em;margin:20px 0 24px}.article-meta,.revision{font-size:13px;color:var(--muted);line-height:1.8;margin:12px 0}.revision{border-bottom:1px solid var(--line);padding-bottom:30px}.prose{font-size:18px;line-height:1.95}.prose p{margin:24px 0}.prose h2,.downloads h2{font-size:26px;line-height:1.5;margin:44px 0 20px}.prose table{display:block;overflow-x:auto;border-collapse:collapse;font-size:14px;line-height:1.75;margin:28px 0;max-width:100%}.prose td,.prose th{min-width:88px;text-align:left;padding:12px;vertical-align:top;border-bottom:1px solid var(--line)}.prose th{background:var(--soft)}.prose pre{white-space:pre-wrap;overflow-wrap:anywhere;background:var(--soft);padding:22px;font-size:15px;line-height:1.9}.prose blockquote{margin:28px 0;padding:2px 22px;border-left:3px solid var(--accent);background:var(--soft)}.article a{text-decoration:underline;text-underline-offset:4px}.downloads,.article-footer{border-top:1px solid var(--line);margin-top:48px;padding-top:20px;font-size:15px;line-height:1.9}.downloads p,.article-footer p{margin:16px 0}@media(max-width:600px){.article{padding:35px 20px 65px}.prose{font-size:17px}.prose h2{font-size:23px}.prose pre{padding:15px}}

.header nav{display:flex;align-items:center;gap:12px;font-size:13px;flex-wrap:wrap}.header{gap:20px}

.article-cover{margin:30px 0 42px}.article-cover img{display:block;width:100%;height:auto;aspect-ratio:3/2}.article-cover figcaption{font-size:11px;color:var(--muted);margin-top:9px;letter-spacing:.025em}

.prose .number-cell{text-align:right}

/* Code-drawn article figures (ops/make_article_figures.py): warm paper field, site ink, one red for the human decision. */
.prose-figure{margin:32px 0}.prose-figure img{display:block;width:100%;height:auto;border:1px solid var(--line)}.prose-figure figcaption,.term-card figcaption{font-size:13px;line-height:1.7;color:var(--muted);margin-top:10px}
.media-figure video{display:block;width:100%;height:auto;border:1px solid var(--line);background:#f4ece0}.wf{display:block;width:100%;height:auto}.wf text{font-family:var(--body)}.wf-field{fill:#f4ece0}.wf-node rect{fill:#fffaf2;stroke:#dccbb4;stroke-width:1.5}.wf-label{font-size:16px;font-weight:600;letter-spacing:.06em;fill:#7a6a55}.wf-title{font-size:24px;font-weight:600;fill:var(--ink)}.wf-sub{font-size:19px;fill:var(--muted)}.wf-cell .wf-title{font-size:21px}.wf-cell .wf-sub{font-size:17px}.wf-quality rect{fill:#eef0e6;stroke:#b9c2ac}.wf-human rect{fill:#fff3f1;stroke:var(--accent);stroke-width:2}.wf-human .wf-title{fill:var(--accent)}.wf-arrow{stroke:#a48f74;stroke-width:2;fill:none}.wf-headfill{fill:#a48f74}
.term-card{margin:32px 0;background:#1d2326;color:#f2ede4;border-radius:4px;overflow:hidden}.term-bar{display:flex;gap:7px;padding:12px 16px;background:#2a3135}.term-bar i{width:10px;height:10px;border-radius:50%;background:#4a5458}.term-body{padding:18px 20px 8px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:14.5px;line-height:1.75}.term-line{display:grid;grid-template-columns:44px 1fr;gap:10px;margin:0 0 12px}.term-who{color:#9fa9a3}.term-sam .term-who{color:#f0a48c}.term-sam .term-text{color:#fff}.term-ada .term-text{font-family:var(--body);font-size:15px}.term-card figcaption{background:#fffaf2;color:var(--muted);margin:0;padding:10px 20px;border-top:1px solid var(--line)}
.prose h2#faq~h3{font-size:19px;line-height:1.6;margin:32px 0 8px}
@media(max-width:600px){.wf-figure{margin-left:-12px;margin-right:-12px}.term-body{font-size:13.5px;padding:15px 14px 6px}.term-line{grid-template-columns:38px 1fr;gap:8px}}
