.article{max-width:48rem}
.article h2{font-size:clamp(1.6rem,3.4vw,2.25rem);margin:2.75rem 0 1rem;max-width:none}
.article h3{font-size:1.3rem;margin:2rem 0 .75rem}
.article p,.article li{max-width:66ch}
.article ul,.article ol{margin:0 0 1.25rem 1.25rem;padding:0}
.article li{margin-bottom:.4rem}
.article a{color:var(--accent2);text-underline-offset:2px}
.article blockquote{margin:1.25rem 0;padding:.75rem 1rem;border-left:3px solid var(--accent2);background:var(--panel)}
.article blockquote p{margin:.25rem 0}
.article .tablewrap{overflow-x:auto;border:1px solid var(--line);border-radius:var(--r);margin:1.25rem 0 1.5rem}
.article table{border-collapse:collapse;width:100%;font-size:.95rem}
.article th,.article td{text-align:left;vertical-align:top;padding:.6rem .75rem;border-bottom:1px solid var(--line)}
.article thead th{background:var(--panel);font-weight:600}
.article tr:last-child td{border-bottom:0}
.article code{font-family:var(--mono);font-size:.9em}
.worksheet{border:1px solid var(--line);background:var(--panel);border-radius:var(--r);padding:1.25rem;margin:1.25rem 0 1.5rem}
.ws-row{margin-bottom:1rem}
.ws-row label{display:block;font-weight:600;margin-bottom:.35rem}
.ws-row textarea{width:100%;box-sizing:border-box;font:inherit;padding:.55rem .65rem;border:1px solid var(--line);border-radius:var(--r);background:#fff;color:var(--fg);resize:vertical}
.ws-row textarea:focus{outline:2px solid var(--accent2);outline-offset:1px}
.ws-note{font-size:.875rem;color:var(--mute);margin:0}
@media print{header.site,footer.site,.sec--close,.hero .cta{display:none}.worksheet{border:0;padding:0}}
