@import url('https://fonts.googleapis.com/css2?family=EB+Garamond:ital,wght@0,400;0,500;0,600;0,700;1,400;1,500&family=Source+Serif+4:ital,opsz,wght@0,8..60,400;0,8..60,600;0,8..60,700;1,8..60,400&family=JetBrains+Mono:wght@400;500;600&display=swap');:root{--paper:#faf7f2;--paper-2:#f3ede2;--rule:#d8cfbe;--rule-2:#ece5d5;--ink:#1a1613;--ink-2:#3d352c;--ink-3:#6b6054;--ink-4:#958a7a;--link:oklch(0.45 .12 35);--link-hover:oklch(0.38 .14 35);--accent:oklch(0.42 .08 150);--accent-soft:oklch(0.88 .04 150);--mark:oklch(0.92 .08 90);--serif:'EB Garamond','Source Serif 4','Times New Roman',Times,serif;--display:'Source Serif 4','EB Garamond',Georgia,serif;--mono:'JetBrains Mono','SF Mono',Menlo,Consolas,monospace;--measure:66ch;--shadow-paper:0 1px 0 rgba(26,22,19,0.04),0 30px 60px -30px rgba(26,22,19,0.15)}html[data-theme="dark"]{--paper:#14120f;--paper-2:#1c1915;--rule:#2f2a22;--rule-2:#24201a;--ink:#e9e2d2;--ink-2:#c8c0b0;--ink-3:#948b7a;--ink-4:#6a6254;--link:oklch(0.78 .1 35);--link-hover:oklch(0.85 .1 35);--accent:oklch(0.78 .1 150);--accent-soft:oklch(0.28 .04 150);--mark:oklch(0.35 .08 90)}*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--paper);color:var(--ink);font-family:var(--serif);font-size:18px;line-height:1.55;font-feature-settings:"kern","liga","onum","lnum" 0;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}::selection{background:var(--mark);color:var(--ink)}a{color:var(--link);text-decoration:none;border-bottom:1px solid color-mix(in oklab,var(--link) 35%,transparent);transition:color .12s,border-color .12s,background .12s}a:hover{color:var(--link-hover);border-bottom-color:var(--link-hover);background:color-mix(in oklab,var(--link) 8%,transparent)}a.plain,nav a,.plain{border-bottom:0}a.plain:hover{background:transparent}.page{max-width:960px;margin:0 auto;padding:28px 48px 120px;position:relative}.masthead{display:flex;align-items:baseline;justify-content:space-between;padding-bottom:16px;border-bottom:2px solid var(--ink);position:relative}.masthead::after{content:"";position:absolute;left:0;right:0;bottom:-5px;height:1px;background:var(--ink)}.masthead .brand{font-family:var(--display);font-weight:700;font-size:22px;letter-spacing:.01em;color:var(--ink);border-bottom:0}.masthead .brand small{display:block;font-family:var(--mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);margin-bottom:2px;font-weight:400}.masthead nav{display:flex;gap:22px;font-family:var(--serif);font-size:16px;font-style:italic;color:var(--ink-2)}.masthead nav a{color:var(--ink-2);border-bottom:0}.masthead nav a:hover{color:var(--link);background:transparent}.masthead nav a.active{color:var(--ink);font-weight:600;font-style:normal;text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:1px}.masthead .tools{display:flex;gap:8px;align-items:center}.kbd{font-family:var(--mono);font-size:10.5px;padding:3px 6px;border:1px solid var(--rule);border-radius:3px;background:var(--paper-2);color:var(--ink-3);cursor:pointer;line-height:1}.kbd:hover{color:var(--ink);border-color:var(--ink-3)}.issue-bar{display:flex;justify-content:space-between;font-family:var(--mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);padding:10px 0 0;margin-bottom:40px}.doc-head{text-align:center;padding:24px 0 36px}.doc-head .eyebrow{font-family:var(--mono);font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--ink-3);margin-bottom:14px}.doc-head h1{font-family:var(--display);font-weight:700;font-size:44px;line-height:1.12;margin:0 0 12px;letter-spacing:-0.005em;text-wrap:balance}.doc-head .authors{font-family:var(--serif);font-size:18px;color:var(--ink-2);font-style:italic;margin-bottom:6px}.doc-head .affil{font-family:var(--mono);font-size:11px;color:var(--ink-3);letter-spacing:.06em}.doc-head .date-line{font-family:var(--serif);font-style:italic;color:var(--ink-3);margin-top:14px;font-size:15px}.abstract{margin:24px auto 32px;max-width:640px;padding:0 32px;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);padding-top:18px;padding-bottom:18px}.abstract .label{text-align:center;font-family:var(--display);font-weight:700;font-size:14px;letter-spacing:.12em;text-transform:uppercase;margin-bottom:10px;color:var(--ink)}.abstract p{font-size:15.5px;line-height:1.6;margin:0 0 8px;color:var(--ink-2);text-align:justify;hyphens:auto}.abstract .keywords{font-family:var(--mono);font-size:10.5px;letter-spacing:.08em;color:var(--ink-3);text-transform:uppercase;margin-top:12px}.abstract .keywords b{color:var(--ink);font-weight:600}.section-label{font-family:var(--mono);font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-3);display:flex;align-items:center;gap:10px;margin:48px 0 14px}.section-label::before{content:"§";font-family:var(--display);font-size:14px;color:var(--accent);letter-spacing:0}.section-label::after{content:"";flex:1;height:1px;background:var(--rule)}h2.sec{font-family:var(--display);font-weight:700;font-size:26px;margin:0 0 16px;letter-spacing:-0.005em}h3{font-family:var(--display);font-weight:600;font-size:20px;margin:24px 0 10px}.prose p{margin:0 0 1em;text-align:justify;hyphens:auto;max-width:var(--measure)}.prose p+p{text-indent:1.5em}.prose p.lead,.prose p.lead+p{text-indent:0}.prose p.lead{font-size:20px;line-height:1.5;color:var(--ink);font-style:italic;text-align:left;max-width:var(--measure)}.prose blockquote{border-left:2px solid var(--accent);margin:20px 0;padding:2px 0 2px 20px;color:var(--ink-2);font-style:italic;max-width:var(--measure)}.prose code{font-family:var(--mono);font-size:.86em;background:var(--paper-2);padding:1px 5px;border-radius:2px;border:1px solid var(--rule-2)}.prose pre{font-family:var(--mono);font-size:13px;line-height:1.55;background:var(--paper-2);border:1px solid var(--rule);border-left:3px solid var(--accent);padding:14px 18px;overflow-x:auto;margin:18px 0}figure.fig{margin:28px 0;max-width:var(--measure)}figure.fig .placeholder{background:repeating-linear-gradient(135deg,var(--paper-2) 0 10px,transparent 10px 20px),var(--paper);border:1px solid var(--rule);height:240px;display:flex;align-items:center;justify-content:center;font-family:var(--mono);font-size:11px;color:var(--ink-3);letter-spacing:.1em;text-transform:uppercase}figure.fig figcaption{font-family:var(--serif);font-size:14px;color:var(--ink-2);margin-top:8px;padding-top:6px;border-top:1px solid var(--rule-2);text-align:left}figure.fig figcaption b{font-family:var(--display);font-weight:600;color:var(--ink);margin-right:4px}ul.refs,ol.refs{font-family:var(--serif);font-size:15px;line-height:1.5;padding-left:18px}ul.refs li,ol.refs li{margin-bottom:6px}table.index{width:100%;border-collapse:collapse;font-family:var(--serif);margin:4px 0 12px}table.index td{padding:10px 0;vertical-align:top;border-bottom:1px dotted var(--rule);font-size:15.5px}table.index td.date{white-space:nowrap;width:130px;font-family:var(--mono);font-size:11.5px;color:var(--ink-3);padding-right:20px;letter-spacing:.04em;text-transform:uppercase;padding-top:14px}table.index tr:hover td{background:color-mix(in oklab,var(--paper-2) 60%,transparent)}footer.sheet{margin-top:80px;padding-top:18px;border-top:2px solid var(--ink);display:flex;justify-content:space-between;font-family:var(--mono);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);position:relative}footer.sheet::before{content:"";position:absolute;left:0;right:0;top:-5px;height:1px;background:var(--ink)}.has-sidenotes{position:relative}.sidenote,.marginnote{font-family:var(--serif);font-size:13px;line-height:1.4;color:var(--ink-3);font-style:italic}.sn-ref{font-family:var(--mono);font-size:10px;vertical-align:super;line-height:0;color:var(--link);cursor:pointer;border-bottom:0;padding:0 1px}.sn-ref:hover{color:var(--link-hover);background:var(--mark)}.sn-tooltip{position:absolute;max-width:280px;background:var(--paper);border:1px solid var(--ink);box-shadow:4px 4px 0 var(--rule);padding:10px 14px;font-family:var(--serif);font-size:13.5px;line-height:1.45;color:var(--ink-2);font-style:italic;z-index:40;pointer-events:none;opacity:0;transform:translateY(4px);transition:opacity .1s,transform .1s}.sn-tooltip.on{opacity:1;transform:translateY(0)}.sn-tooltip::before{content:attr(data-num);font-family:var(--mono);font-size:10px;color:var(--accent);margin-right:8px;vertical-align:2px;font-style:normal;letter-spacing:.1em}.cmd-overlay{position:fixed;inset:0;background:color-mix(in oklab,var(--ink) 35%,transparent);backdrop-filter:blur(2px);z-index:100;display:none;align-items:flex-start;justify-content:center;padding-top:12vh}.cmd-overlay.on{display:flex}.cmd{width:560px;max-width:92vw;background:var(--paper);border:1px solid var(--ink);box-shadow:8px 8px 0 color-mix(in oklab,var(--ink) 60%,transparent);font-family:var(--serif)}.cmd-head{display:flex;align-items:center;gap:10px;padding:12px 16px;border-bottom:1px solid var(--rule)}.cmd-head .glyph{font-family:var(--mono);font-size:12px;color:var(--ink-3);letter-spacing:.16em}.cmd input{flex:1;border:0;background:transparent;font-family:var(--display);font-size:20px;color:var(--ink);outline:0}.cmd ul{list-style:none;padding:6px 0;margin:0;max-height:48vh;overflow:auto}.cmd li{padding:9px 16px;display:flex;justify-content:space-between;cursor:pointer;font-size:16px}.cmd li small{font-family:var(--mono);font-size:10.5px;color:var(--ink-3);letter-spacing:.14em;text-transform:uppercase}.cmd li.sel{background:var(--accent-soft)}.cmd li:hover{background:var(--accent-soft)}.tag{font-family:var(--mono);font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);border:1px solid var(--rule);padding:3px 8px;border-radius:2px;background:var(--paper);cursor:pointer;user-select:none}.tag:hover{color:var(--ink);border-color:var(--ink-3)}.tag.on{background:var(--ink);color:var(--paper);border-color:var(--ink)}.bibtex{font-family:var(--mono);font-size:12px;line-height:1.55;background:var(--paper-2);border:1px solid var(--rule);padding:12px 14px;white-space:pre;overflow-x:auto;color:var(--ink-2);margin-top:10px}.bibtex .k{color:var(--accent)}.bibtex .s{color:var(--link)}.dropcap::first-letter {font-family:var(--display);font-weight:700;font-size:68px;line-height:.9;float:left;padding:4px 8px 0 0;color:var(--ink)}.small{font-size:14px}.muted{color:var(--ink-3)}.mono{font-family:var(--mono)}.italic{font-style:italic}.center{text-align:center}.rule{border:0;border-top:1px solid var(--rule);margin:32px 0}.rule-heavy{border:0;border-top:2px double var(--ink);margin:32px 0}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-thumb{background:var(--rule)}::-webkit-scrollbar-track{background:transparent}