[hidden]{display:none!important}
/* Tokens */
:root{
  --paper:#f7f6f2;--ink:#1a1a1a;--muted:#5f5e5a;--hair:#d9d9d9;--rule:#1a1a1a;--accent:#1d6b45;--code:#efede7;
  --fs-0:13.6px;--fs-1:17px;--fs-2:21px;--fs-3:26.5px;--fs-4:33px;--fs-5:41px;
  --u:8px;--bar:52px;
  --f-head:"Oswald","Arial Narrow",sans-serif;--f-body:"Montserrat","Segoe UI",Helvetica,Arial,sans-serif;
  --ease-out:cubic-bezier(.22,1,.36,1);--ease-in:cubic-bezier(.4,0,1,1);
}
@media (prefers-color-scheme:dark){:root{--paper:#121417;--ink:#e6e6e3;--muted:#a3a3a0;--hair:#2c3036;--rule:#e6e6e3;--accent:#5fc28f;--code:#1a1d21}}
*{box-sizing:border-box;margin:0}
html{scroll-padding-top:calc(var(--bar) + 16px)}
@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}
body{background:var(--paper);color:var(--ink);font:400 var(--fs-1)/1.6 var(--f-body);hanging-punctuation:first allow-end;-webkit-font-smoothing:antialiased}
a{color:inherit;text-underline-offset:3px}
:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.skip{position:absolute;left:-999px}.skip:focus{left:16px;top:16px;background:var(--ink);color:var(--paper);padding:8px 16px;z-index:20}
.col{max-width:860px;margin:0 auto;padding:0 24px}
/* Masthead */
.mast{border-bottom:2px solid var(--rule);padding:24px 0 32px}
.run{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font:500 var(--fs-0)/1.15 var(--f-head);text-transform:uppercase;letter-spacing:.08em;color:var(--muted);border-bottom:1px solid var(--hair);padding-bottom:8px;margin-bottom:40px}
h1{font:600 var(--fs-5)/1.15 var(--f-head);text-transform:uppercase;letter-spacing:.04em}
.mast-sub{font-size:var(--fs-2);line-height:1.4;max-width:34ch;margin-top:8px}
/* Contents bar */
.toc{position:sticky;top:0;z-index:5;background:var(--paper);border-bottom:1px solid var(--hair)}
.toc-in{display:flex;gap:4px 20px;align-items:center;min-height:var(--bar);overflow-x:auto;scrollbar-width:none}
.toc a{flex:none;font:500 var(--fs-0)/1 var(--f-head);text-transform:uppercase;letter-spacing:.08em;text-decoration:none;color:var(--muted);padding:12px 0;border-bottom:2px solid transparent;transition:color 120ms,border-color 120ms}
.toc a[aria-current="true"]{color:var(--ink);border-bottom-color:var(--accent)}
.marks{margin-left:auto;flex:none;font:500 var(--fs-0)/1 var(--f-head);text-transform:uppercase;letter-spacing:.08em;background:none;border:1px solid var(--hair);color:var(--ink);padding:8px 12px;border-radius:2px;min-height:36px;cursor:pointer}
.marks[aria-pressed="true"]{border-color:var(--accent);color:var(--accent)}
/* Sections */
.part{padding-top:64px;position:relative}
.num{font:500 var(--fs-0)/1.15 var(--f-head);letter-spacing:.08em;color:var(--muted);margin-bottom:8px}
h2{font:600 var(--fs-3)/1.15 var(--f-head);text-transform:uppercase;letter-spacing:.04em;border-top:2px solid var(--rule);padding-top:16px;margin-bottom:24px}
.part h2{border-top:2px solid var(--rule)}
.summary{font-size:var(--fs-2);line-height:1.45;max-width:40ch;margin-bottom:16px}
.part p{max-width:68ch}.part p+p{margin-top:16px}
.fine{font-size:var(--fs-0);color:var(--muted);margin-top:8px}
.tbl-wrap{overflow-x:auto;margin:24px 0 8px}
.tbl{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums lining-nums}
.tbl th{font:500 var(--fs-0)/1.15 var(--f-head);text-transform:uppercase;letter-spacing:.08em;text-align:left;color:var(--muted);padding:8px 16px 8px 0;border-bottom:1px solid var(--rule)}
.tbl td{padding:12px 16px 12px 0;border-bottom:1px solid var(--hair);vertical-align:top}
.tbl td:first-child{white-space:nowrap;color:var(--muted);font-size:var(--fs-0);padding-top:15px}
.tbl .r{text-align:right;padding-right:0}
.tbl a{text-decoration:none}.tbl a:hover{text-decoration:underline}
details{margin-top:16px;border-top:1px solid var(--hair);border-bottom:1px solid var(--hair)}
summary{cursor:pointer;list-style:none;padding:12px 0;font:500 var(--fs-0)/1.15 var(--f-head);text-transform:uppercase;letter-spacing:.08em;display:flex;align-items:center;gap:12px}
summary::-webkit-details-marker{display:none}
summary::before{content:"";width:7px;height:7px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(-45deg);transition:transform 120ms}
details[open] summary::before{transform:rotate(45deg)}
details p{padding-bottom:16px}
.term{font:inherit;color:inherit;background:none;border:0;padding:0;border-bottom:1px dotted currentColor;cursor:pointer}
.link{font:600 var(--fs-0)/1 var(--f-body);background:none;border:0;padding:8px 0;color:var(--accent);cursor:pointer;text-decoration:underline;text-underline-offset:4px}
.pop{max-width:300px;margin:0;inset:auto;padding:12px 16px;border:1px solid var(--rule);border-radius:2px;background:var(--paper);color:var(--ink);font-size:var(--fs-0);line-height:1.5}
.gloss{display:grid}.gloss div{display:grid;grid-template-columns:minmax(0,10rem) minmax(0,1fr);gap:16px;padding:12px 0;border-bottom:1px solid var(--hair)}
.gloss dt{font:500 var(--fs-0)/1.6 var(--f-head);text-transform:uppercase;letter-spacing:.08em}
@media (max-width:560px){.gloss div{grid-template-columns:1fr;gap:4px}}
/* Edit marks */
.marks-on [data-edit]::after{content:"Edited by an AI agent: " attr(data-edit);position:absolute;top:72px;right:0;font:500 11px/1 var(--f-head);text-transform:uppercase;letter-spacing:.08em;color:var(--accent);border:1px solid var(--accent);padding:4px 6px;border-radius:2px;background:var(--paper)}
/* Side sheet */
.scrim{position:fixed;inset:0;background:rgba(18,20,23,.45);z-index:30;opacity:0;transition:opacity 180ms var(--ease-in)}
.scrim.open{opacity:1;transition:opacity 240ms var(--ease-out)}
.sheet{position:fixed;top:0;right:0;bottom:0;width:min(480px,100%);z-index:31;background:var(--paper);border-left:2px solid var(--rule);display:flex;flex-direction:column;transform:translateX(100%);transition:transform 180ms var(--ease-in)}
.sheet.open{transform:none;transition:transform 240ms var(--ease-out)}
@media (max-width:640px){.sheet{width:100%;border-left:0}}
.sheet-head{padding:24px;border-bottom:2px solid var(--rule);position:relative}
.sheet-head h2{border:0;padding:0;margin:0;font-size:var(--fs-2)}
.close{position:absolute;top:24px;right:24px;font:500 var(--fs-0)/1 var(--f-head);text-transform:uppercase;letter-spacing:.08em;background:none;border:1px solid var(--rule);color:var(--ink);padding:10px 12px;border-radius:2px;cursor:pointer}
.sheet-note{padding:16px 24px 0;font-size:var(--fs-0);color:var(--muted)}
.code{margin:16px 24px 24px;padding:16px;background:var(--code);overflow:auto;flex:1;font:13px/1.55 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;white-space:pre-wrap;word-break:break-word;border-radius:2px}
.foot{padding-top:64px;padding-bottom:64px;font-size:var(--fs-0);color:var(--muted)}
.foot p{border-top:1px solid var(--hair);padding-top:16px}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;animation:none!important}}
