@font-face{font-family:TexGyreHeroscn;src:url(/fonts/texgyreheroscn-regular.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:TexGyreHeroscn;src:url(/fonts/texgyreheroscn-bold.woff2) format("woff2");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:TexGyreHeroscn;src:url(/fonts/texgyreheroscn-italic.woff2) format("woff2");font-weight:400;font-style:italic;font-display:swap}@font-face{font-family:TexGyreHeroscn;src:url(/fonts/texgyreheroscn-bolditalic.woff2) format("woff2");font-weight:700;font-style:italic;font-display:swap}@font-face{font-family:Junicode;src:url(/fonts/junicode-regular-webfont.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Junicode;src:url(/fonts/junicode-bold-webfont.woff2) format("woff2");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:Junicode;src:url(/fonts/junicode-italic-webfont.woff2) format("woff2");font-weight:400;font-style:italic;font-display:swap}@font-face{font-family:JunicodeCn;src:url(/fonts/junicode-boldcondensed-webfont.woff2) format("woff2");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:OfficeCodePro;src:url(/fonts/OfficeCodeProD-Light.woff2) format("woff2");font-weight:300;font-style:normal;font-display:swap}@font-face{font-family:OfficeCodePro;src:url(/fonts/OfficeCodeProD-Regular.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:TexGyreHeros;src:url(/fonts/texgyreheros-regular.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:TexGyreHeros;src:url(/fonts/texgyreheros-bold.woff2) format("woff2");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:TexGyreHeros;src:url(/fonts/texgyreheros-italic.woff2) format("woff2");font-weight:400;font-style:italic;font-display:swap}@font-face{font-family:TexGyreHeros;src:url(/fonts/texgyreheros-bolditalic.woff2) format("woff2");font-weight:700;font-style:italic;font-display:swap}:root{--black: #161616;--white: #D8D8D8;--lime: lime;--magenta: magenta;--bg: var(--white);--fg: var(--black);--ink-2: #5C5C5C;--font-sans: "TexGyreHeroscn", "Arial Narrow", sans-serif;--font-sans-text: "TexGyreHeros", "Arial", sans-serif;--font-serif: "Junicode", "Georgia", serif;--font-mono: "OfficeCodePro", "Courier New", monospace;--text-xs: .9rem;--text-sm: 1.1rem;--text-base: 1.1rem;--text-md: clamp(1.75rem, 2.5vw, 2.25rem);--text-lg: clamp(2.5rem, 4vw, 4rem);--text-xl: clamp(3.5rem, 6vw, 6rem);--b: 2.25rem;--lh-small: calc(1.35 * var(--text-xs));--b1: var(--b);--b2: calc(2 * var(--b));--b3: calc(3 * var(--b));--b4: calc(4 * var(--b));--b6: calc(6 * var(--b));--b8: calc(8 * var(--b));--cols: 12;--gutter: 1.5rem;--margin: var(--gutter);--max-width: 1440px;--measure: 62ch;--checkbox-size: .85em;--checkbox-border: 1px solid var(--fg);--checkbox-bg: var(--bg);--checkbox-mark: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2010%2010'%3E%3Cpath%20d='M2,2%208,8%20M8,2%202,8'%20fill='none'%20stroke='magenta'%20stroke-width='1.6'%20stroke-linecap='round'/%3E%3C/svg%3E")}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%;text-size-adjust:100%}img,svg,video{display:block;max-width:100%}input,button,textarea,select{font:inherit;color:inherit}a{color:inherit}ul,ol{list-style:none}:root{--grid-cols: [n1] minmax(0, 1fr) [n2] minmax(0, 1fr) [c1] minmax(0, 1fr) [c2] minmax(0, 1fr) [c3] minmax(0, 1fr) [c4] minmax(0, 1fr) [c5] minmax(0, 1fr) [c6] minmax(0, 1fr) [c7] minmax(0, 1fr) [c8] minmax(0, 1fr) [c9] minmax(0, 1fr) [c10] minmax(0, 1fr) [c11] minmax(0, 1fr) [c12] minmax(0, 1fr) [c13]}.page-grid{display:grid;grid-template-columns:var(--grid-cols);column-gap:var(--gutter);padding-inline:var(--margin);padding-top:var(--gutter);align-items:start;min-height:100vh}.page-main{grid-column:n1 / c13;display:grid;grid-template-columns:subgrid;align-items:start}.page-main--rail{grid-column:c1 / c13;grid-row:1}.grid{display:grid;grid-template-columns:subgrid;grid-column:1 / -1}@media(max-width:767px){.page-grid{display:flex;flex-direction:column;align-items:stretch;padding-inline:.75rem;padding-top:.75rem;gap:0}.page-main,.page-main--rail{display:block;grid-column:auto;flex:1 1 auto;min-width:0}}body{font-family:var(--font-sans);font-size:var(--text-base);font-weight:700;line-height:1;color:var(--fg);background-color:var(--bg);text-wrap:pretty}.t-title{font-family:var(--font-sans);font-size:var(--text-lg);line-height:1;text-wrap:balance}.t-section{font-family:var(--font-sans);font-size:var(--text-md);line-height:1;text-wrap:balance}.t-small{font-family:var(--font-sans);font-size:var(--text-xs);line-height:1.35}.label{color:var(--ink-2)}.t-prose{font-family:var(--font-sans-text);font-weight:400;font-size:var(--text-base);line-height:1.2}.t-prose-small{font-family:var(--font-sans-text);font-weight:400;font-size:var(--text-xs);line-height:1.35}h1,h2{font-family:var(--font-sans);font-size:var(--text-md);line-height:1;text-wrap:balance}h3{font-family:var(--font-sans);font-size:var(--text-base);line-height:1.2;text-wrap:balance}h4{font-family:var(--font-sans);font-size:var(--text-xs);line-height:1.35;color:var(--ink-2);margin-block-end:var(--lh-small)}p{margin-block-end:var(--b1)}p:last-child{margin-block-end:0}blockquote,.t-quote{font-family:var(--font-serif);font-size:var(--text-md);font-style:italic;line-height:1}blockquote{margin-block:var(--b2);padding-top:var(--b1)}figure blockquote{margin:0}.quote-figure figcaption{color:var(--ink-2)}figcaption{font-family:var(--font-sans);font-size:var(--text-xs);font-style:normal;line-height:1.35;margin-block-start:.5em}figcaption p{margin:0}hr{border:0;block-size:var(--b2);margin:0}pre,code{font-family:var(--font-mono);font-size:var(--text-sm);font-weight:300}pre{padding:var(--b1);overflow-x:auto;margin-block:var(--b2)}a{text-decoration:none}a:hover{color:var(--magenta)}:where(.prose,.written) :where(p,li,figcaption) a,.apparatus p a,.note a{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.15em}strong{font-weight:700}em{font-style:italic}table{border-collapse:collapse;font-variant-numeric:tabular-nums lining-nums}caption{text-align:left;font-family:var(--font-sans);font-size:var(--text-xs)}th{text-align:left;font-family:var(--font-sans);font-size:var(--text-xs);color:var(--ink-2)}th,td{border:0;padding:.25em 2em .25em 0;vertical-align:baseline}th:last-child,td:last-child{padding-inline-end:0}.written,.prose{font-family:var(--font-sans-text);font-weight:400;font-size:var(--text-base);line-height:1.2;counter-reset:note}.prose{max-width:var(--measure)}.prose>*{margin:0;min-width:0}.prose>*+*{margin-block-start:var(--b1)}.prose>h2{margin-block-start:var(--b3)}.prose>h3{margin-block-start:var(--b2)}.prose>:first-child{margin-block-start:0}.written>p,.prose>p{text-align:justify;text-align-last:left;hyphens:auto}.written>p+p,.prose>p+p{margin-block-start:0;text-indent:1.5em}.written .intro,.prose .intro{font-size:var(--text-xs);line-height:1.35;margin-inline:0;padding-bottom:var(--b1)}.written .intro+p,.prose .intro+p{text-indent:0}.written a:hover,.prose a:hover{text-decoration-thickness:2px}:where(.prose,.written) ul{list-style:disc}:where(.prose,.written) ol{list-style:decimal}:where(.prose,.written) ul,:where(.prose,.written) ol{padding-inline-start:1.4em}:where(.prose,.written) li{margin-block-end:calc(.25 * var(--b))}:where(.prose,.written) li:last-child{margin-block-end:0}:where(.prose,.written) li::marker{color:var(--ink-2)}.apparatus{font-family:var(--font-sans);font-size:var(--text-xs);line-height:1.35}.note{font-family:var(--font-sans-text);font-weight:400;font-size:var(--text-xs);line-height:1.35}.apparatus p{margin:0;max-width:var(--measure)}.apparatus>*+*{margin-block-start:.35em}.apparatus dt{color:var(--ink-2)}.apparatus dd{margin:0}.note-ref{counter-increment:note}.note-ref:after{content:counter(note);vertical-align:super;font-size:.65em;padding-inline-start:.05em}.note{font-style:normal;text-indent:0;text-transform:none;text-align:start;hyphens:none}.note:before{content:counter(note) " "}.prose .note{display:block;margin:calc(.5 * var(--b)) 0 calc(.5 * var(--b)) 1.5em}.glyph-word{display:inline;white-space:nowrap}.glyph-char{display:inline;cursor:default}.glyph-char.glyph-active{display:inline-block;animation:glyph-pop .25s ease forwards;color:var(--magenta)}@keyframes glyph-pop{0%{transform:scale(1) rotate(0)}40%{transform:scale(1.6) rotate(-5deg)}to{transform:scale(1) rotate(0)}}html,body{min-height:100%}body{background-color:var(--bg);color:var(--fg);scrollbar-color:var(--fg) var(--bg);scrollbar-width:thin}::selection{background-color:var(--magenta);color:var(--bg)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;user-select:none}.page-main{font-family:var(--font-sans);font-size:var(--text-sm);color:var(--fg);line-height:1}.page-main.has-right-sidebar{grid-column:c1 / c11}.right-sidebar{grid-column:c11 / c13;position:sticky;top:0;align-self:start;height:100vh;background-color:var(--bg);z-index:50;padding-block:var(--b1);font-size:var(--text-xs);line-height:.9;display:flex;flex-direction:column;hyphens:none;word-break:normal;overflow-wrap:normal}.mobile-wordmark{display:none}@media(max-width:767px){.mobile-wordmark{display:block;position:sticky;top:.75rem;align-self:flex-end;height:0;overflow:visible;z-index:60}.mobile-wordmark .wordmark-svg{height:1.5rem;width:auto}.page-main.has-right-sidebar{grid-column:unset}.right-sidebar{grid-column:unset;height:auto;position:static;padding-block:var(--b1)}}.wordmark-svg{display:block;width:100%;height:auto;color:var(--fg)}.page-footer{display:grid;grid-template-columns:var(--grid-cols);column-gap:var(--gutter);padding-inline:var(--margin);align-items:end;margin-block-start:var(--b4)}.footer-left{grid-column:n1 / c1;display:flex;flex-direction:column;gap:calc(var(--b) * .6);padding-block:var(--b1);align-self:end}.footer-wordmark{grid-column:c1 / c13;display:block;text-decoration:none}.footer-nav{display:flex;flex-direction:column;gap:.1em}.footer-nav .nav-link{font-family:var(--font-sans);font-size:var(--text-sm);color:var(--fg);line-height:.9}.footer-nav .nav-link:hover{color:var(--magenta)}.footer-colophon{display:flex;flex-direction:column;gap:.1em;font-family:var(--font-sans);font-size:var(--text-xs);line-height:1.25;color:var(--fg)}.footer-colophon p{margin:0}.footer-colophon time{font-variant-numeric:tabular-nums}.debug-tools{display:flex;flex-direction:column;gap:.15em;font-family:var(--font-sans);font-size:var(--text-xs)}.debug-tools label{display:flex;align-items:center;gap:.3em;cursor:pointer;line-height:.9}.debug-tools label:hover{color:var(--magenta)}.debug-tools input[type=checkbox]{appearance:none;-webkit-appearance:none;width:var(--checkbox-size);height:var(--checkbox-size);margin:0;border:var(--checkbox-border);background-color:var(--checkbox-bg);flex-shrink:0;cursor:pointer}.debug-tools input[type=checkbox]:checked{background-image:var(--checkbox-mark);background-repeat:no-repeat;background-position:center;background-size:90% 90%}@media(max-width:767px){.footer-wordmark{display:none}.page-footer{display:flex;flex-direction:column-reverse;padding-inline:.75rem;gap:var(--b1);margin-block-start:var(--b2)}.footer-left{flex-direction:row;flex-wrap:wrap;align-items:flex-start;gap:var(--b1) var(--b2);padding-block:var(--b1) 0}.footer-nav{flex-direction:row;gap:1.25em}}.agent-credit a{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.15em}.authority-token{font-size:.85em;color:var(--ink-2);text-decoration:none}a.authority-token:hover{color:var(--magenta)}.project-meta{display:grid;grid-template-columns:max-content 1fr;column-gap:1em;row-gap:.35em;align-content:start}.meta-line{display:grid;grid-template-columns:subgrid;grid-column:1 / -1;row-gap:.2em;line-height:1}.meta-line dt{grid-column:1;text-align:right}.meta-line dd{grid-column:2;min-width:0}.meta-title sup{font-size:.7em}.meta-placeholder{visibility:hidden}.page-header{grid-column:n1 / c1;grid-row:1;display:grid;grid-template-columns:subgrid;row-gap:calc(.5 * var(--b));position:sticky;top:var(--gutter);align-self:start;background-color:var(--bg);z-index:50}.page-header--home{background-color:transparent}.rail-row{grid-column:n1 / c1;display:grid;row-gap:calc(.5 * var(--b));align-content:start;min-height:0}.nav-toggle,.nav-contact,.view-btn,.clear-filters{background:none;border:0;text-align:left;cursor:pointer}.nav-toggle:hover,.nav-contact:hover,.view-btn:hover,.clear-filters:hover{color:var(--magenta)}.header-nav{display:block;line-height:1.3}.header-nav .nav-link{display:inline}.header-nav .nav-link:not(:last-child):after{content:", ";color:var(--fg)}.header-nav .nav-link:has(+[hidden]):after{content:""}.nav-link[aria-current=page]{color:var(--magenta)}.nav-toggle{display:none}.nav-description{color:var(--ink-2)}.home-bio p{margin:0}.home-bio p+p{margin-block-start:var(--b1)}.home-legend p{margin:0}.home-legend p+p{margin-block-start:.35em}.hgroup-label{font-family:var(--font-sans);font-size:var(--text-xs);line-height:1.35;color:var(--ink-2)}.hgroup--view{display:grid;row-gap:.3em}.view-set{display:flex;flex-flow:row wrap;gap:.15em .6em}.view-btn{font-size:var(--text-xs);line-height:1.1;white-space:nowrap}.view-btn,.filter{padding:.2em .4em;border-radius:.4em;background-color:color-mix(in srgb,var(--fg) 15%,var(--bg))}.view-btn[aria-pressed=true],.filter:has(.filter-checkbox:checked){background-color:var(--magenta);color:var(--fg)}.view-btn[aria-pressed=true]:hover{color:var(--fg)}.filter-summary{cursor:pointer;list-style:none}.filter-summary::-webkit-details-marker{display:none}.filter-summary:after{content:" ▸"}.hgroup--cats[open] .filter-summary:after{content:" ▾"}.filter-summary:hover{color:var(--magenta)}.filter-set{display:flex;flex-flow:row wrap;gap:.15em .6em;margin-block-start:.4em}.hgroup--cats .clear-filters{margin-block-start:.5em}.filter{font-size:var(--text-xs);line-height:1.1;white-space:nowrap;cursor:pointer}.filter:hover:not(:has(.filter-checkbox:checked)){color:var(--magenta)}.filter:has(.filter-checkbox:focus-visible):not(:has(:checked)){color:var(--magenta)}.filter-checkbox{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%)}.clear-filters:disabled{color:var(--ink-2);cursor:default}.meta-entry{display:none}.meta-entry.is-visible{display:block}@media(max-width:767px){.page-header{grid-template-columns:[n1] 1fr [c1];position:static;padding-bottom:var(--gutter)}.page-header:not(.page-header--home) .hgroup--bio{display:none}.nav-toggle:not([hidden]){display:block;position:fixed;top:var(--gutter);left:var(--margin);z-index:100;background-color:var(--bg)}.nav-toggle:after{content:" ▾";color:var(--ink-2)}.nav-open .nav-toggle:after{content:" ▴"}.nav-collapsible:not(.nav-open) .header-nav{display:none}.nav-collapsible.nav-open .header-nav{position:fixed;top:calc(var(--gutter) + var(--b1));left:var(--margin);right:var(--margin);z-index:100;background-color:var(--bg);padding-block:.35em .6em}.header-nav{line-height:1.6}.meta-header{display:none}}
