.browse-index{--browse-line:var(--color-border-strong,#0000002e);--browse-muted:var(--color-text-muted,#6f6f68);--browse-green:var(--color-link,#536f5a);--browse-secondary:var(--color-text-secondary,#555);--browse-selected:var(--color-bg-alt,#f8f8f0);display:grid;grid-template-columns:minmax(0,1.5fr)minmax(0,1fr);border-top:1px solid var(--browse-line);gap:44px;padding-top:18px}.browse-index__column{min-width:0}.browse-index__head{display:grid;grid-template-columns:1.1fr 1fr;gap:22px;padding:0 16px 12px}.browse-index__head,.browse-index__preview-label{letter-spacing:.08em;text-transform:uppercase;color:var(--browse-muted);font:11px system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif}.browse-index__list{list-style:none;overflow-y:auto;scrollbar-width:none;scrollbar-color:var(--browse-line)transparent;scrollbar-gutter:stable;max-height:clamp(390px,100dvh - 280px,720px);margin:0;padding:0 8px 0 0}.browse-index__item{border-top:1px solid var(--browse-line)}.browse-index__select{position:relative;display:grid;grid-template-columns:1.1fr 1fr;text-align:left;font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;gap:22px;width:100%;min-height:52px;padding:12px 16px}.browse-index__select[aria-expanded=true]{background:var(--browse-selected)}.browse-index__select[aria-expanded=true]:before{content:"";position:absolute;background:var(--browse-green);width:2px;top:12px;bottom:12px;left:0}.browse-index__select:focus-visible{outline:2px solid var(--browse-green);outline-offset:-3px}.browse-index__name{overflow-wrap:anywhere;font-size:19px;line-height:1.2}.browse-index__summary{color:var(--browse-secondary);font-size:16px;line-height:1.3}.browse-index__kind{display:block;color:var(--browse-muted);letter-spacing:.06em;text-transform:uppercase;margin-top:9px;font:10px system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif}.browse-index__preview{overflow-y:auto;scrollbar-width:none;min-width:0;max-height:clamp(390px,100dvh - 280px,720px);padding:0 0 20px}.browse-index__preview-label{margin-bottom:26px}.browse-index__detail h2{margin:0 0 16px;font-size:32px;font-style:normal;font-weight:400;line-height:1.16}.browse-index__body{font-size:20px;line-height:1.55}.browse-index__body p{margin:0 0 22px}.browse-index__detail .browse-index__metadata{color:var(--browse-muted);margin:0 0 22px;font:12px/1.6 system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif}.browse-index__links{display:flex;flex-wrap:wrap;gap:25px;margin-top:26px;font-size:18px}.browse-index__links a{color:var(--browse-green);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px}.browse-index__links a:focus-visible{outline:2px solid var(--browse-green);outline-offset:4px}.browse-index__hint{position:absolute;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0}.browse-index__inline[hidden]{display:none}@media (max-width:1000px){.browse-index{grid-template-columns:minmax(0,1.35fr)minmax(0,1fr);gap:30px}.browse-index__head,.browse-index__select{gap:16px;padding-left:14px;padding-right:14px}.browse-index__name{font-size:19px}.browse-index__summary{font-size:15px}.browse-index__detail h2{font-size:29px}}@media (max-width:767px){.browse-index{display:block;padding-top:15px}.browse-index__head{grid-template-columns:1fr 1.15fr;gap:18px;padding:0 12px 12px}.browse-index__list{overflow:visible;max-height:none;padding:0}.browse-index__select{grid-template-columns:1fr 1.15fr;gap:18px;min-height:56px;padding:14px 12px}.browse-index__name{font-size:19px}.browse-index__summary{font-size:16px}.browse-index__preview{display:none}.browse-index__inline:not([hidden]){display:block;border-left:2px solid var(--browse-green);background:var(--browse-selected);margin:0 0 16px;padding:22px 16px 25px}.browse-index__body{font-size:19px;line-height:1.5}.browse-index__detail .browse-index__metadata{margin-bottom:14px}}@media (prefers-reduced-motion:no-preference){.browse-index__select{transition:background-color .14s}}.browse-index__link-arrow{display:inline-block;vertical-align:-.08em;width:.9em;height:.9em}.browse-page{max-width:var(--site-width);padding:24px var(--site-gutter)32px;width:100%;margin:0 auto}.browse-page__header h1{font-size:var(--font-size-h1);margin:0;font-weight:400;line-height:1.2}.browse-page__intro{color:var(--color-text-secondary);margin:8px 0 24px;font-size:21px;line-height:1.5}@media (max-width:767px){.browse-page{padding:24px var(--site-gutter)32px}.browse-page__intro{margin-bottom:22px;font-size:19px}.browse-page .browse-index__list{max-height:none}}.browse-page__header+.browse-index{margin-top:24px}.browse-page__filters{display:flex;overflow-x:auto;white-space:nowrap;scrollbar-width:none;gap:24px;min-width:0;margin:0;padding:6px 0}.browse-page__filters button{font:14px var(--font-ui);color:var(--color-text-secondary);cursor:pointer;background:0 0;border:0;padding:4px 0}.browse-page__filters button[aria-pressed=true]{color:var(--color-text);text-decoration:underline;text-decoration-color:var(--color-link);text-underline-offset:7px}.browse-page__filters button:focus-visible{outline:2px solid var(--color-link);outline-offset:4px}@media (max-width:767px){.browse-page--filtered .browse-index__list{max-height:none}.browse-page__filters{gap:22px}}@media (min-width:768px){.browse-page{height:calc(100dvh - var(--header-height));display:flex;box-sizing:border-box;flex-direction:column}.browse-page__header,.browse-page__intro,.browse-page__filters{flex-shrink:0}.browse-page>.browse-index{flex:1;min-height:0}.browse-page .browse-index__column{display:flex;flex-direction:column;min-height:0}.browse-page .browse-index__head{flex-shrink:0}.browse-page .browse-index__list{flex:1;min-height:0;max-height:none}.browse-page .browse-index__preview{min-height:0;max-height:none}.browse-page .browse-index__select{padding-top:9px;padding-bottom:9px}}.browse-index__list::-webkit-scrollbar{display:none;width:0;height:0}.browse-index__preview::-webkit-scrollbar{display:none;width:0;height:0}.browse-page__filters::-webkit-scrollbar{display:none;width:0;height:0}.browse-page__header{display:flex;align-items: center;gap:32px;min-width:0}.browse-page__header h1{flex-shrink:0}@media (max-width:767px){.browse-page__header{gap:20px}.browse-page__filters{flex:1}}.reading-progress{position:fixed;top:var(--header-height);z-index:var(--z-progress);background:var(--color-border);pointer-events:none;height:2px;left:0;right:0}.reading-progress-fill{position:absolute;transform-origin:left center;background:var(--color-link);will-change:transform;inset:0}.reading-progress-tick{position:absolute;background:var(--color-bg);width:1px;margin-left:-.5px;top:0;bottom:0}.resume-prompt{position:fixed;z-index:var(--z-sheet);left:1rem;bottom:max(1rem,env(safe-area-inset-bottom));display:flex;align-items: center;gap:var(--space-3);padding:var(--space-3)var(--space-4);border-left:2px solid var(--color-link);background:var(--color-bg);box-shadow:var(--shadow-md);font-family:var(--font-ui);font-size:var(--font-size-small);width:calc(100% - 6.5rem);max-width:40rem;margin:0}@media (min-width:1200px){.resume-prompt{left:calc((100vw - var(--site-width))/2 + var(--site-gutter) + 11.5rem)}}.resume-prompt-link{display:inline-flex;align-items: center;gap:var(--space-2);color:var(--color-text-secondary);cursor:pointer;text-align:left;background:0 0;border:0;flex:auto;min-width:0;padding:0;transition:color .18s,transform .12s;line-height:1.4}.resume-prompt-link:hover{color:var(--color-text)}.resume-prompt-link:active{transform:scale(.99)}.resume-prompt-icon{color:var(--color-link);flex:none}.resume-prompt-section{color:var(--color-text);font-weight:600}.resume-prompt-dismiss{display:inline-flex;color:var(--color-text-muted);cursor:pointer;background:0 0;border:0;border-radius:4px;flex:none;justify-content:center;align-items: center;width:28px;height:28px;padding:0;transition:color .18s,transform .12s}.resume-prompt-dismiss:hover{color:var(--color-text)}.resume-prompt-dismiss:active{transform:scale(.92)}.reading-toc-mobile{display:contents}@media (min-width:1200px){.reading-toc-mobile{display:none}}.reading-fab{position:fixed;right:calc(var(--space-5) + env(safe-area-inset-right));bottom:calc(var(--space-5) + env(safe-area-inset-bottom));z-index:var(--z-fab);display:inline-flex;border:1px solid var(--color-border);background:var(--color-bg);color:var(--color-text);box-shadow:var(--shadow-md);cursor:pointer;border-radius:999px;justify-content:center;align-items: center;width:48px;height:48px;transition:transform .12s,color .18s}.reading-fab:hover{color:var(--color-link)}.reading-fab:active{transform:scale(.94)}.reading-sheet-overlay{position:fixed;z-index:var(--z-sheet-overlay);backdrop-filter:blur(2px);background:#0000004d;inset:0}.reading-sheet{position:fixed;z-index:var(--z-sheet);display:flex;background:var(--color-bg);box-shadow:var(--shadow-lg);padding-bottom:env(safe-area-inset-bottom);will-change:transform;border-top-left-radius:16px;border-top-right-radius:16px;flex-direction:column;max-height:70dvh;bottom:0;left:0;right:0}.reading-sheet-header{display:flex;padding:var(--space-4)var(--space-5)var(--space-2);border-bottom:1px solid var(--color-border);justify-content:space-between;align-items: center}.reading-sheet-title{font-family:var(--font-ui);text-transform:uppercase;letter-spacing:.02em;color:var(--color-text-muted);margin:0;font-size:.8rem;font-weight:600}.reading-sheet-close{display:inline-flex;margin-right:calc(var(--space-2)*-1);color:var(--color-text);cursor:pointer;background:0 0;border:0;border-radius:6px;justify-content:center;align-items: center;width:36px;height:36px;padding:0;transition:transform .12s,color .18s}.reading-sheet-close:active{transform:scale(.92)}.reading-sheet-list{overflow-y:auto;padding:var(--space-3)var(--space-4)var(--space-5);-webkit-overflow-scrolling:touch}.reading-sheet-item{position:relative;display:block;padding:var(--space-3)var(--space-3)var(--space-3)var(--space-4);color:var(--color-text-secondary);font-family:var(--font-ui);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:6px;width:100%;transition:color .18s,background-color .18s,transform .12s;font-size:.95rem;line-height:1.35}.reading-sheet-item:active{transform:scale(.99)}.reading-sheet-item--sub{padding-left:var(--space-6);color:var(--color-text-muted);font-size:.875rem}.reading-sheet-item--active{color:var(--color-link);font-weight:600}.reading-sheet-marker{position:absolute;background:var(--color-link);border-radius:999px;width:2px;top:.5rem;bottom:.5rem;left:0}.reading-sheet-label{position:relative;z-index:1}@media (prefers-reduced-motion:reduce){.reading-fab,.reading-sheet,.reading-progress-fill{transition:none}}@font-face{font-display:block;font-family:KaTeX_AMS;font-style:normal;font-weight:400;src:url(/assets/fonts/font-0cdd387c9590a1a9.woff2)format(woff2),url(/assets/fonts/font-30da91e84c893f87.woff)format(woff),url(/assets/fonts/font-68534840bcfdd2bf.ttf)format(truetype)}@font-face{font-display:block;font-family:KaTeX_Caligraphic;font-style:normal;font-weight:700;src:url(/assets/fonts/font-de7701e42cf1f4cf.woff2)format(woff2),url(/assets/fonts/font-1ae6bd7475590e97.woff)format(woff),url(/assets/fonts/font-07d8e303ce4fc12b.ttf)format(truetype)}@font-face{font-display:block;font-family:KaTeX_Caligraphic;font-style:normal;font-weight:400;src:url(/assets/fonts/font-5d53e70ad607c235.woff2)format(woff2),url(/assets/fonts/font-3398dd02302557a7.woff)format(woff),url(/assets/fonts/font-ed0b74372feefcbb.ttf)format(truetype)}@font-face{font-display:block;font-family:KaTeX_Fraktur;font-style:normal;font-weight:700;src:url(/assets/fonts/font-74444efd593c005e.woff2)format(woff2),url(/assets/fonts/font-9be7ceb88004ab8a.woff)format(woff),url(/assets/fonts/font-9163df9c7122432e.ttf)format(truetype)}@font-face{font-display:block;font-family:KaTeX_Fraktur;font-style:normal;font-weight:400;src:url(/assets/fonts/font-51814d270d06ff02.woff2)format(woff2),url(/assets/fonts/font-5e28753be717dac9.woff)format(woff),url(/assets/fonts/font-1e6f9579e90e2cac.ttf)format(truetype)}@font-face{font-display:block;font-family:KaTeX_Main;font-style:normal;font-weight:700;src:url(/assets/fonts/font-0f60d1b897938ec9.woff2)format(woff2),url(/assets/fonts/font-c76c5d696297d51b.woff)format(woff),url(/assets/fonts/font-138ac28d1663b303.ttf)format(truetype)}@font-face{font-display:block;font-family:KaTeX_Main;font-style:italic;font-weight:700;src:url(/assets/fonts/font-99cd42a3c072d918.woff2)format(woff2),url(/assets/fonts/font-a6f7ec0d846ac7ad.woff)format(woff),url(/assets/fonts/font-70ee1f64a20f2048.ttf)format(truetype)}@font-face{font-display:block;font-family:KaTeX_Main;font-style:italic;font-weight:400;src:url(/assets/fonts/font-97479ca6cce906ab.woff2)format(woff2),url(/assets/fonts/font-f1d6ef86f3b11a52.woff)format(woff),url(/assets/fonts/font-0d85ae7cc30f2379.ttf)format(truetype)}@font-face{font-display:block;font-family:KaTeX_Main;font-style:normal;font-weight:400;src:url(/assets/fonts/font-c2342cd8b869e017.woff2)format(woff2),url(/assets/fonts/font-c6368d87e8a1a3a5.woff)format(woff),url(/assets/fonts/font-d0332f52868370fd.ttf)format(truetype)}@font-face{font-display:block;font-family:KaTeX_Math;font-style:italic;font-weight:700;src:url(/assets/fonts/font-dc47344dbb6cb5b6.woff2)format(woff2),url(/assets/fonts/font-850c0af5c2238497.woff)format(woff),url(/assets/fonts/font-f9377ab0271cda59.ttf)format(truetype)}@font-face{font-display:block;font-family:KaTeX_Math;font-style:italic;font-weight:400;src:url(/assets/fonts/font-7af58c5ec8f132a2.woff2)format(woff2),url(/assets/fonts/font-8a8d244581371912.woff)format(woff),url(/assets/fonts/font-08ce98e51b04d589.ttf)format(truetype)}@font-face{font-display:block;font-family:KaTeX_SansSerif;font-style:normal;font-weight:700;src:url(/assets/fonts/font-e99ae51144bf1232.woff2)format(woff2),url(/assets/fonts/font-ece03cfd83e22c21.woff)format(woff),url(/assets/fonts/font-1ece03f79f95277d.ttf)format(truetype)}@font-face{font-display:block;font-family:KaTeX_SansSerif;font-style:italic;font-weight:400;src:url(/assets/fonts/font-00b26ac825e20950.woff2)format(woff2),url(/assets/fonts/font-91ee67500cc0129a.woff)format(woff),url(/assets/fonts/font-3931dd81faed86ba.ttf)format(truetype)}@font-face{font-display:block;font-family:KaTeX_SansSerif;font-style:normal;font-weight:400;src:url(/assets/fonts/font-68e8c73ef42afd3c.woff2)format(woff2),url(/assets/fonts/font-11e4dc8a6471ff6d.woff)format(woff),url(/assets/fonts/font-f36ea897e19f4a2e.ttf)format(truetype)}@font-face{font-display:block;font-family:KaTeX_Script;font-style:normal;font-weight:400;src:url(/assets/fonts/font-036d4e95149b69ff.woff2)format(woff2),url(/assets/fonts/font-d96cdf2b3bdd4d64.woff)format(woff),url(/assets/fonts/font-1c67f068fea8bb09.ttf)format(truetype)}@font-face{font-display:block;font-family:KaTeX_Size1;font-style:normal;font-weight:400;src:url(/assets/fonts/font-6b47c40166b6dbe2.woff2)format(woff2),url(/assets/fonts/font-c943cc986384f59e.woff)format(woff),url(/assets/fonts/font-95b6d2f1a50173bf.ttf)format(truetype)}@font-face{font-display:block;font-family:KaTeX_Size2;font-style:normal;font-weight:400;src:url(/assets/fonts/font-d04c54219f9eaec6.woff2)format(woff2),url(/assets/fonts/font-2014c523c3210bcc.woff)format(woff),url(/assets/fonts/font-a6b2099fb555c60e.ttf)format(truetype)}@font-face{font-display:block;font-family:KaTeX_Size3;font-style:normal;font-weight:400;src:url(/assets/fonts/font-73d591271b160496.woff2)format(woff2),url(/assets/fonts/font-6ab6b62e9b62dae2.woff)format(woff),url(/assets/fonts/font-500e04d54f0d5166.ttf)format(truetype)}@font-face{font-display:block;font-family:KaTeX_Size4;font-style:normal;font-weight:400;src:url(/assets/fonts/font-a4af7d414440a1c1.woff2)format(woff2),url(/assets/fonts/font-99f9c6750b489c94.woff)format(woff),url(/assets/fonts/font-c647367d1dd4e162.ttf)format(truetype)}@font-face{font-display:block;font-family:KaTeX_Typewriter;font-style:normal;font-weight:400;src:url(/assets/fonts/font-71d517d67827787c.woff2)format(woff2),url(/assets/fonts/font-e14fed02b1aba7ce.woff)format(woff),url(/assets/fonts/font-f01f3e87d9c6a61c.ttf)format(truetype)}.katex{text-indent:0;text-rendering:auto;font:1.21em/1.2 KaTeX_Main,Times New Roman,serif}.katex *{border-color:currentColor;-ms-high-contrast-adjust:none!important}.katex .katex-version:after{content:"0.16.28"}.katex .katex-mathml{clip:rect(1px,1px,1px,1px);overflow:hidden;position:absolute;border:0;width:1px;height:1px;padding:0}.katex .katex-html>.newline{display:block}.katex .base{position:relative;white-space:nowrap;width:min-content}.katex .base,.katex .strut{display:inline-block}.katex .textbf{font-weight:700}.katex .textit{font-style:italic}.katex .textrm{font-family:KaTeX_Main}.katex .textsf{font-family:KaTeX_SansSerif}.katex .texttt{font-family:KaTeX_Typewriter}.katex .mathnormal{font-family:KaTeX_Math;font-style:italic}.katex .mathit{font-family:KaTeX_Main;font-style:italic}.katex .mathrm{font-style:normal}.katex .mathbf{font-family:KaTeX_Main;font-weight:700}.katex .boldsymbol{font-family:KaTeX_Math;font-style:italic;font-weight:700}.katex .amsrm,.katex .mathbb,.katex .textbb{font-family:KaTeX_AMS}.katex .mathcal{font-family:KaTeX_Caligraphic}.katex .mathfrak,.katex .textfrak{font-family:KaTeX_Fraktur}.katex .mathboldfrak,.katex .textboldfrak{font-family:KaTeX_Fraktur;font-weight:700}.katex .mathtt{font-family:KaTeX_Typewriter}.katex .mathscr,.katex .textscr{font-family:KaTeX_Script}.katex .mathsf,.katex .textsf{font-family:KaTeX_SansSerif}.katex .mathboldsf,.katex .textboldsf{font-family:KaTeX_SansSerif;font-weight:700}.katex .mathitsf,.katex .mathsfit,.katex .textitsf{font-family:KaTeX_SansSerif;font-style:italic}.katex .mainrm{font-family:KaTeX_Main;font-style:normal}.katex .vlist-t{border-collapse:collapse;display:inline-table;table-layout:fixed}.katex .vlist-r{display:table-row}.katex .vlist{display:table-cell;position:relative;vertical-align:bottom}.katex .vlist>span{display:block;position:relative;height:0}.katex .vlist>span>span{display:inline-block}.katex .vlist>span>.pstrut{overflow:hidden;width:0}.katex .vlist-t2{margin-right:-2px}.katex .vlist-s{display:table-cell;vertical-align:bottom;width:2px;min-width:2px;font-size:1px}.katex .vbox{display:inline-flex;flex-direction:column;align-items:baseline}.katex .hbox{width:100%}.katex .hbox,.katex .thinbox{display:inline-flex;flex-direction:row}.katex .thinbox{width:0;max-width:0}.katex .msupsub{text-align:left}.katex .mfrac>span>span{text-align:center}.katex .mfrac .frac-line{display:inline-block;border-bottom-style:solid;width:100%}.katex .hdashline,.katex .hline,.katex .mfrac .frac-line,.katex .overline .overline-line,.katex .rule,.katex .underline .underline-line{min-height:1px}.katex .mspace{display:inline-block}.katex .clap,.katex .llap,.katex .rlap{position:relative;width:0}.katex .clap>.inner,.katex .llap>.inner,.katex .rlap>.inner{position:absolute}.katex .clap>.fix,.katex .llap>.fix,.katex .rlap>.fix{display:inline-block}.katex .llap>.inner{right:0}.katex .clap>.inner,.katex .rlap>.inner{left:0}.katex .clap>.inner>span{margin-left:-50%;margin-right:50%}.katex .rule{display:inline-block;position:relative;border:0 solid}.katex .hline,.katex .overline .overline-line,.katex .underline .underline-line{display:inline-block;border-bottom-style:solid;width:100%}.katex .hdashline{display:inline-block;border-bottom-style:dashed;width:100%}.katex .sqrt>.root{margin-left:.277778em;margin-right:-.555556em}.katex .fontsize-ensurer.reset-size1.size1,.katex .sizing.reset-size1.size1{font-size:1em}.katex .fontsize-ensurer.reset-size1.size2,.katex .sizing.reset-size1.size2{font-size:1.2em}.katex .fontsize-ensurer.reset-size1.size3,.katex .sizing.reset-size1.size3{font-size:1.4em}.katex .fontsize-ensurer.reset-size1.size4,.katex .sizing.reset-size1.size4{font-size:1.6em}.katex .fontsize-ensurer.reset-size1.size5,.katex .sizing.reset-size1.size5{font-size:1.8em}.katex .fontsize-ensurer.reset-size1.size6,.katex .sizing.reset-size1.size6{font-size:2em}.katex .fontsize-ensurer.reset-size1.size7,.katex .sizing.reset-size1.size7{font-size:2.4em}.katex .fontsize-ensurer.reset-size1.size8,.katex .sizing.reset-size1.size8{font-size:2.88em}.katex .fontsize-ensurer.reset-size1.size9,.katex .sizing.reset-size1.size9{font-size:3.456em}.katex .fontsize-ensurer.reset-size1.size10,.katex .sizing.reset-size1.size10{font-size:4.148em}.katex .fontsize-ensurer.reset-size1.size11,.katex .sizing.reset-size1.size11{font-size:4.976em}.katex .fontsize-ensurer.reset-size2.size1,.katex .sizing.reset-size2.size1{font-size:.833333em}.katex .fontsize-ensurer.reset-size2.size2,.katex .sizing.reset-size2.size2{font-size:1em}.katex .fontsize-ensurer.reset-size2.size3,.katex .sizing.reset-size2.size3{font-size:1.16667em}.katex .fontsize-ensurer.reset-size2.size4,.katex .sizing.reset-size2.size4{font-size:1.33333em}.katex .fontsize-ensurer.reset-size2.size5,.katex .sizing.reset-size2.size5{font-size:1.5em}.katex .fontsize-ensurer.reset-size2.size6,.katex .sizing.reset-size2.size6{font-size:1.66667em}.katex .fontsize-ensurer.reset-size2.size7,.katex .sizing.reset-size2.size7{font-size:2em}.katex .fontsize-ensurer.reset-size2.size8,.katex .sizing.reset-size2.size8{font-size:2.4em}.katex .fontsize-ensurer.reset-size2.size9,.katex .sizing.reset-size2.size9{font-size:2.88em}.katex .fontsize-ensurer.reset-size2.size10,.katex .sizing.reset-size2.size10{font-size:3.45667em}.katex .fontsize-ensurer.reset-size2.size11,.katex .sizing.reset-size2.size11{font-size:4.14667em}.katex .fontsize-ensurer.reset-size3.size1,.katex .sizing.reset-size3.size1{font-size:.714286em}.katex .fontsize-ensurer.reset-size3.size2,.katex .sizing.reset-size3.size2{font-size:.857143em}.katex .fontsize-ensurer.reset-size3.size3,.katex .sizing.reset-size3.size3{font-size:1em}.katex .fontsize-ensurer.reset-size3.size4,.katex .sizing.reset-size3.size4{font-size:1.14286em}.katex .fontsize-ensurer.reset-size3.size5,.katex .sizing.reset-size3.size5{font-size:1.28571em}.katex .fontsize-ensurer.reset-size3.size6,.katex .sizing.reset-size3.size6{font-size:1.42857em}.katex .fontsize-ensurer.reset-size3.size7,.katex .sizing.reset-size3.size7{font-size:1.71429em}.katex .fontsize-ensurer.reset-size3.size8,.katex .sizing.reset-size3.size8{font-size:2.05714em}.katex .fontsize-ensurer.reset-size3.size9,.katex .sizing.reset-size3.size9{font-size:2.46857em}.katex .fontsize-ensurer.reset-size3.size10,.katex .sizing.reset-size3.size10{font-size:2.96286em}.katex .fontsize-ensurer.reset-size3.size11,.katex .sizing.reset-size3.size11{font-size:3.55429em}.katex .fontsize-ensurer.reset-size4.size1,.katex .sizing.reset-size4.size1{font-size:.625em}.katex .fontsize-ensurer.reset-size4.size2,.katex .sizing.reset-size4.size2{font-size:.75em}.katex .fontsize-ensurer.reset-size4.size3,.katex .sizing.reset-size4.size3{font-size:.875em}.katex .fontsize-ensurer.reset-size4.size4,.katex .sizing.reset-size4.size4{font-size:1em}.katex .fontsize-ensurer.reset-size4.size5,.katex .sizing.reset-size4.size5{font-size:1.125em}.katex .fontsize-ensurer.reset-size4.size6,.katex .sizing.reset-size4.size6{font-size:1.25em}.katex .fontsize-ensurer.reset-size4.size7,.katex .sizing.reset-size4.size7{font-size:1.5em}.katex .fontsize-ensurer.reset-size4.size8,.katex .sizing.reset-size4.size8{font-size:1.8em}.katex .fontsize-ensurer.reset-size4.size9,.katex .sizing.reset-size4.size9{font-size:2.16em}.katex .fontsize-ensurer.reset-size4.size10,.katex .sizing.reset-size4.size10{font-size:2.5925em}.katex .fontsize-ensurer.reset-size4.size11,.katex .sizing.reset-size4.size11{font-size:3.11em}.katex .fontsize-ensurer.reset-size5.size1,.katex .sizing.reset-size5.size1{font-size:.555556em}.katex .fontsize-ensurer.reset-size5.size2,.katex .sizing.reset-size5.size2{font-size:.666667em}.katex .fontsize-ensurer.reset-size5.size3,.katex .sizing.reset-size5.size3{font-size:.777778em}.katex .fontsize-ensurer.reset-size5.size4,.katex .sizing.reset-size5.size4{font-size:.888889em}.katex .fontsize-ensurer.reset-size5.size5,.katex .sizing.reset-size5.size5{font-size:1em}.katex .fontsize-ensurer.reset-size5.size6,.katex .sizing.reset-size5.size6{font-size:1.11111em}.katex .fontsize-ensurer.reset-size5.size7,.katex .sizing.reset-size5.size7{font-size:1.33333em}.katex .fontsize-ensurer.reset-size5.size8,.katex .sizing.reset-size5.size8{font-size:1.6em}.katex .fontsize-ensurer.reset-size5.size9,.katex .sizing.reset-size5.size9{font-size:1.92em}.katex .fontsize-ensurer.reset-size5.size10,.katex .sizing.reset-size5.size10{font-size:2.30444em}.katex .fontsize-ensurer.reset-size5.size11,.katex .sizing.reset-size5.size11{font-size:2.76444em}.katex .fontsize-ensurer.reset-size6.size1,.katex .sizing.reset-size6.size1{font-size:.5em}.katex .fontsize-ensurer.reset-size6.size2,.katex .sizing.reset-size6.size2{font-size:.6em}.katex .fontsize-ensurer.reset-size6.size3,.katex .sizing.reset-size6.size3{font-size:.7em}.katex .fontsize-ensurer.reset-size6.size4,.katex .sizing.reset-size6.size4{font-size:.8em}.katex .fontsize-ensurer.reset-size6.size5,.katex .sizing.reset-size6.size5{font-size:.9em}.katex .fontsize-ensurer.reset-size6.size6,.katex .sizing.reset-size6.size6{font-size:1em}.katex .fontsize-ensurer.reset-size6.size7,.katex .sizing.reset-size6.size7{font-size:1.2em}.katex .fontsize-ensurer.reset-size6.size8,.katex .sizing.reset-size6.size8{font-size:1.44em}.katex .fontsize-ensurer.reset-size6.size9,.katex .sizing.reset-size6.size9{font-size:1.728em}.katex .fontsize-ensurer.reset-size6.size10,.katex .sizing.reset-size6.size10{font-size:2.074em}.katex .fontsize-ensurer.reset-size6.size11,.katex .sizing.reset-size6.size11{font-size:2.488em}.katex .fontsize-ensurer.reset-size7.size1,.katex .sizing.reset-size7.size1{font-size:.416667em}.katex .fontsize-ensurer.reset-size7.size2,.katex .sizing.reset-size7.size2{font-size:.5em}.katex .fontsize-ensurer.reset-size7.size3,.katex .sizing.reset-size7.size3{font-size:.583333em}.katex .fontsize-ensurer.reset-size7.size4,.katex .sizing.reset-size7.size4{font-size:.666667em}.katex .fontsize-ensurer.reset-size7.size5,.katex .sizing.reset-size7.size5{font-size:.75em}.katex .fontsize-ensurer.reset-size7.size6,.katex .sizing.reset-size7.size6{font-size:.833333em}.katex .fontsize-ensurer.reset-size7.size7,.katex .sizing.reset-size7.size7{font-size:1em}.katex .fontsize-ensurer.reset-size7.size8,.katex .sizing.reset-size7.size8{font-size:1.2em}.katex .fontsize-ensurer.reset-size7.size9,.katex .sizing.reset-size7.size9{font-size:1.44em}.katex .fontsize-ensurer.reset-size7.size10,.katex .sizing.reset-size7.size10{font-size:1.72833em}.katex .fontsize-ensurer.reset-size7.size11,.katex .sizing.reset-size7.size11{font-size:2.07333em}.katex .fontsize-ensurer.reset-size8.size1,.katex .sizing.reset-size8.size1{font-size:.347222em}.katex .fontsize-ensurer.reset-size8.size2,.katex .sizing.reset-size8.size2{font-size:.416667em}.katex .fontsize-ensurer.reset-size8.size3,.katex .sizing.reset-size8.size3{font-size:.486111em}.katex .fontsize-ensurer.reset-size8.size4,.katex .sizing.reset-size8.size4{font-size:.555556em}.katex .fontsize-ensurer.reset-size8.size5,.katex .sizing.reset-size8.size5{font-size:.625em}.katex .fontsize-ensurer.reset-size8.size6,.katex .sizing.reset-size8.size6{font-size:.694444em}.katex .fontsize-ensurer.reset-size8.size7,.katex .sizing.reset-size8.size7{font-size:.833333em}.katex .fontsize-ensurer.reset-size8.size8,.katex .sizing.reset-size8.size8{font-size:1em}.katex .fontsize-ensurer.reset-size8.size9,.katex .sizing.reset-size8.size9{font-size:1.2em}.katex .fontsize-ensurer.reset-size8.size10,.katex .sizing.reset-size8.size10{font-size:1.44028em}.katex .fontsize-ensurer.reset-size8.size11,.katex .sizing.reset-size8.size11{font-size:1.72778em}.katex .fontsize-ensurer.reset-size9.size1,.katex .sizing.reset-size9.size1{font-size:.289352em}.katex .fontsize-ensurer.reset-size9.size2,.katex .sizing.reset-size9.size2{font-size:.347222em}.katex .fontsize-ensurer.reset-size9.size3,.katex .sizing.reset-size9.size3{font-size:.405093em}.katex .fontsize-ensurer.reset-size9.size4,.katex .sizing.reset-size9.size4{font-size:.462963em}.katex .fontsize-ensurer.reset-size9.size5,.katex .sizing.reset-size9.size5{font-size:.520833em}.katex .fontsize-ensurer.reset-size9.size6,.katex .sizing.reset-size9.size6{font-size:.578704em}.katex .fontsize-ensurer.reset-size9.size7,.katex .sizing.reset-size9.size7{font-size:.694444em}.katex .fontsize-ensurer.reset-size9.size8,.katex .sizing.reset-size9.size8{font-size:.833333em}.katex .fontsize-ensurer.reset-size9.size9,.katex .sizing.reset-size9.size9{font-size:1em}.katex .fontsize-ensurer.reset-size9.size10,.katex .sizing.reset-size9.size10{font-size:1.20023em}.katex .fontsize-ensurer.reset-size9.size11,.katex .sizing.reset-size9.size11{font-size:1.43981em}.katex .fontsize-ensurer.reset-size10.size1,.katex .sizing.reset-size10.size1{font-size:.24108em}.katex .fontsize-ensurer.reset-size10.size2,.katex .sizing.reset-size10.size2{font-size:.289296em}.katex .fontsize-ensurer.reset-size10.size3,.katex .sizing.reset-size10.size3{font-size:.337512em}.katex .fontsize-ensurer.reset-size10.size4,.katex .sizing.reset-size10.size4{font-size:.385728em}.katex .fontsize-ensurer.reset-size10.size5,.katex .sizing.reset-size10.size5{font-size:.433944em}.katex .fontsize-ensurer.reset-size10.size6,.katex .sizing.reset-size10.size6{font-size:.48216em}.katex .fontsize-ensurer.reset-size10.size7,.katex .sizing.reset-size10.size7{font-size:.578592em}.katex .fontsize-ensurer.reset-size10.size8,.katex .sizing.reset-size10.size8{font-size:.69431em}.katex .fontsize-ensurer.reset-size10.size9,.katex .sizing.reset-size10.size9{font-size:.833173em}.katex .fontsize-ensurer.reset-size10.size10,.katex .sizing.reset-size10.size10{font-size:1em}.katex .fontsize-ensurer.reset-size10.size11,.katex .sizing.reset-size10.size11{font-size:1.19961em}.katex .fontsize-ensurer.reset-size11.size1,.katex .sizing.reset-size11.size1{font-size:.200965em}.katex .fontsize-ensurer.reset-size11.size2,.katex .sizing.reset-size11.size2{font-size:.241158em}.katex .fontsize-ensurer.reset-size11.size3,.katex .sizing.reset-size11.size3{font-size:.28135em}.katex .fontsize-ensurer.reset-size11.size4,.katex .sizing.reset-size11.size4{font-size:.321543em}.katex .fontsize-ensurer.reset-size11.size5,.katex .sizing.reset-size11.size5{font-size:.361736em}.katex .fontsize-ensurer.reset-size11.size6,.katex .sizing.reset-size11.size6{font-size:.401929em}.katex .fontsize-ensurer.reset-size11.size7,.katex .sizing.reset-size11.size7{font-size:.482315em}.katex .fontsize-ensurer.reset-size11.size8,.katex .sizing.reset-size11.size8{font-size:.578778em}.katex .fontsize-ensurer.reset-size11.size9,.katex .sizing.reset-size11.size9{font-size:.694534em}.katex .fontsize-ensurer.reset-size11.size10,.katex .sizing.reset-size11.size10{font-size:.833601em}.katex .fontsize-ensurer.reset-size11.size11,.katex .sizing.reset-size11.size11{font-size:1em}.katex .delimsizing.size1{font-family:KaTeX_Size1}.katex .delimsizing.size2{font-family:KaTeX_Size2}.katex .delimsizing.size3{font-family:KaTeX_Size3}.katex .delimsizing.size4{font-family:KaTeX_Size4}.katex .delimsizing.mult .delim-size1>span{font-family:KaTeX_Size1}.katex .delimsizing.mult .delim-size4>span{font-family:KaTeX_Size4}.katex .nulldelimiter{display:inline-block;width:.12em}.katex .delimcenter,.katex .op-symbol{position:relative}.katex .op-symbol.small-op{font-family:KaTeX_Size1}.katex .op-symbol.large-op{font-family:KaTeX_Size2}.katex .accent>.vlist-t,.katex .op-limits>.vlist-t{text-align:center}.katex .accent .accent-body{position:relative}.katex .accent .accent-body:not(.accent-full){width:0}.katex .overlay{display:block}.katex .mtable .vertical-separator{display:inline-block;min-width:1px}.katex .mtable .arraycolsep{display:inline-block}.katex .mtable .col-align-c>.vlist-t{text-align:center}.katex .mtable .col-align-l>.vlist-t{text-align:left}.katex .mtable .col-align-r>.vlist-t{text-align:right}.katex .svg-align{text-align:left}.katex svg{fill:currentColor;stroke:currentColor;fill-rule:nonzero;fill-opacity:1;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;display:block;height:inherit;position:absolute;width:100%}.katex svg path{stroke:none}.katex img{border-style:none;min-width:0;max-width:none;min-height:0;max-height:none}.katex .stretchy{display:block;overflow:hidden;position:relative;width:100%}.katex .stretchy:after,.katex .stretchy:before{content:""}.katex .hide-tail{overflow:hidden;position:relative;width:100%}.katex .halfarrow-left{overflow:hidden;position:absolute;width:50.2%;left:0}.katex .halfarrow-right{overflow:hidden;position:absolute;width:50.2%;right:0}.katex .brace-left{overflow:hidden;position:absolute;width:25.1%;left:0}.katex .brace-center{overflow:hidden;position:absolute;width:50%;left:25%}.katex .brace-right{overflow:hidden;position:absolute;width:25.1%;right:0}.katex .x-arrow-pad{padding:0 .5em}.katex .cd-arrow-pad{padding:0 .55556em 0 .27778em}.katex .mover,.katex .munder,.katex .x-arrow{text-align:center}.katex .boxpad{padding:0 .3em}.katex .fbox,.katex .fcolorbox{box-sizing:border-box;border:.04em solid}.katex .cancel-pad{padding:0 .2em}.katex .cancel-lap{margin-left:-.2em;margin-right:-.2em}.katex .sout{border-bottom-style:solid;border-bottom-width:.08em}.katex .angl{box-sizing:border-box;border-top:.049em solid;border-right:.049em solid;margin-right:.03889em}.katex .anglpad{padding:0 .03889em}.katex .eqn-num:before{content:"(" counter(katexEqnNo)")";counter-increment:katexEqnNo}.katex .mml-eqn-num:before{content:"(" counter(mmlEqnNo)")";counter-increment:mmlEqnNo}.katex .mtr-glue{width:50%}.katex .cd-vert-arrow{display:inline-block;position:relative}.katex .cd-label-left{display:inline-block;position:absolute;text-align:left;right:calc(50% + .3em)}.katex .cd-label-right{display:inline-block;position:absolute;text-align:right;left:calc(50% + .3em)}.katex-display{display:block;text-align:center;margin:1em 0}.katex-display>.katex{display:block;text-align:center;white-space:nowrap}.katex-display>.katex>.katex-html{display:block;position:relative}.katex-display>.katex>.katex-html>.tag{position:absolute;right:0}.katex-display.leqno>.katex>.katex-html>.tag{left:0;right:auto}.katex-display.fleqn>.katex{text-align:left;padding-left:2em}body{counter-reset:katexEqnNo mmlEqnNo}.container-content{--content-body-width:min(100%,68ch);width:min(100% - 2*var(--site-gutter),760px);max-width:760px;margin-left:auto;margin-right:auto;padding-left:0;padding-right:0}@media (min-width:900px){.container-content{width:min(100% - 2*var(--site-gutter),820px);max-width:820px}}@media (min-width:1200px){.container-content{--content-body-width:min(100%,40rem);--frame-offset:max(0px,calc((100vw - var(--site-width))/2));--bleed-left:calc(var(--frame-offset) + var(--site-gutter) + 11.5rem);--bleed-right:calc(var(--frame-offset) + var(--site-gutter));max-width:var(--site-width);padding-left:calc(var(--site-gutter) + 11.5rem);padding-right:var(--site-gutter);width:100%}.container-content .page-toc{width:10rem;margin-left:-11.5rem}}.content-body{counter-reset:sidenote-counter}.content-state{width:var(--content-body-width);max-width:var(--content-body-width);border-top:1px solid var(--color-border);color:var(--color-text-secondary);padding-top:1.25rem}.content-state p{width:100%;margin-top:.5rem;margin-bottom:0;line-height:1.6}.content-state-title{color:var(--color-text);margin-top:0;font-size:1.1rem;font-style:italic;line-height:1.4}.content-state-action{color:var(--color-link);cursor:pointer;font-family:var(--font-ui);font-size:var(--font-size-small);background:0 0;border:0;border-bottom:1px solid;margin-top:.9rem;padding:0;line-height:1.4}.content-state-action:hover{color:var(--color-link-hover)}.content-detail-title,.content-detail-subtitle,.content-detail-meta{width:var(--content-body-width);max-width:var(--content-body-width);overflow-wrap:break-word}.content-detail-title{font-size:var(--font-size-h1);text-wrap:balance}.content-detail-subtitle{color:var(--color-text-secondary);text-wrap:pretty}.content-detail-subtitle--large{font-size:1.2rem}.content-detail-meta{color:var(--color-text-muted);font-family:var(--font-ui);font-size:var(--font-size-small);text-wrap:pretty;line-height:1.55}.content-detail-meta--secondary{color:var(--color-text-secondary);font-family:var(--font-body);font-size:var(--font-size-body)}.content-body p{width:var(--content-body-width);margin-top:1.4rem;margin-bottom:0;line-height:1.6}.content-body section{padding-top:1rem}.content-body section:first-child{padding-top:0}.content-body h2{font-size:var(--font-size-h2);margin-top:2.1rem;margin-bottom:0;font-style:italic;font-weight:400;line-height:1.3}.content-body h3{font-size:var(--font-size-h3);margin-top:2rem;margin-bottom:0;font-style:italic;font-weight:400}.content-body h4{margin-top:1.8rem;margin-bottom:0;font-size:1.1rem;font-style:italic;font-weight:400}.content-body h2,.content-body h3,.content-body h4{width:var(--content-body-width);max-width:var(--content-body-width);text-wrap:pretty;overflow-wrap:break-word;scroll-margin-top:80px}.content-body .newthought{font-variant:small-caps;letter-spacing:.05em;font-size:1.2em}.content-body .smallcaps-term{font-variant:small-caps;letter-spacing:.05em}.content-body.project-essay-body>section{padding-top:var(--space-8)}.content-body.project-essay-body>section:first-child{padding-top:0}.content-body.project-essay-body>section>h2:first-child,.content-body.project-essay-body>section>h3:first-child{margin-top:0}.content-body.project-essay-body p+h2,.content-body.project-essay-body p+h3,.content-body.project-essay-body ul+h2,.content-body.project-essay-body ul+h3,.content-body.project-essay-body ol+h2,.content-body.project-essay-body ol+h3,.content-body.project-essay-body table+h2,.content-body.project-essay-body table+h3,.content-body.project-essay-body pre+h2,.content-body.project-essay-body pre+h3,.content-body.project-essay-body blockquote+h2,.content-body.project-essay-body blockquote+h3,.content-body.project-essay-body figure+h2,.content-body.project-essay-body figure+h3{margin-top:var(--space-8)}.content-body.project-essay-body .project-page-lede{color:var(--color-text-secondary);font-size:1.08rem;line-height:1.75}.content-body.project-essay-body .project-resource-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:var(--content-body-width);border-top:1px solid var(--color-border);font-family:var(--font-ui);gap:.85rem 1.25rem;margin-top:1.25rem;margin-bottom:1.75rem;padding-top:1rem}.content-body.project-essay-body .project-resource-item{min-width:0}.content-body.project-essay-body .project-resource-label{display:block;color:var(--color-text);font-size:var(--font-size-small);font-weight:600;line-height:1.35}.content-body.project-essay-body .project-resource-detail{display:block;color:var(--color-text-muted);margin-top:.2rem;font-size:.78rem;line-height:1.45}.content-body.project-essay-body .compact-detail-table{font-family:var(--font-ui);font-size:var(--font-size-small);line-height:1.45}.content-body.project-essay-body .compact-detail-table caption{caption-side:bottom;color:var(--color-text-muted);text-align:left;padding-top:.5rem}.content-body.project-essay-body .project-figure-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:var(--content-body-width);gap:1.25rem;margin-top:1.5rem}.content-body.project-essay-body .project-figure-grid figure.l-body{width:100%;margin:0}.content-body.project-essay-body .project-figure-grid figcaption{width:100%;max-width:100%}.content-body .sidenote,.content-body .marginnote{float:right;clear:right;vertical-align:baseline;position:relative;width:50%;margin-top:.3rem;margin-bottom:2rem;margin-right:-60%;font-size:1.1rem;line-height:1.3}.content-body .sidenote-number{counter-increment:sidenote-counter}.content-body .sidenote-number:after,.content-body .sidenote:before{font-family:var(--font-body);position:relative;vertical-align:baseline}.content-body .sidenote-number:after{content:counter(sidenote-counter);font-size:1rem;top:-.5rem;left:.1rem}.content-body .sidenote:before{content:counter(sidenote-counter)" ";font-size:1rem;top:-.5rem}.content-body input.margin-toggle{display:none}.content-body label.sidenote-number{display:inline-block;max-height:2rem}.content-body label.margin-toggle:not(.sidenote-number){display:none}.content-body blockquote .sidenote,.content-body blockquote .marginnote{text-align:left;min-width:59%;margin-right:-82%}.content-body .math{display:block;text-align:center;font-family:var(--font-body);margin:1.5rem 0 1.5rem 2.5%;font-size:1.1rem;font-style:italic;line-height:1.4}.content-body p.math+p{margin-top:1.5rem}.content-body .math-inline{font-family:var(--font-body);font-style:italic}.content-body .katex-display{width:var(--content-body-width);overflow-x:auto;overflow-y:hidden;text-align:center;margin:1.5rem 0}.content-body .katex{font-size:1.1em}.content-body blockquote{font-size:var(--font-size-body);width:var(--content-body-width);border-left:3px solid var(--color-border-strong);margin-left:0;padding-left:1.4rem}.content-body blockquote p{width:100%;margin-top:1rem}.content-body blockquote footer{color:var(--color-text-secondary);font-size:1rem}.content-body blockquote cite{font-style:italic}.content-body blockquote.project-essay-epigraph{margin-top:var(--space-6);margin-bottom:var(--space-6);border-left-width:2px;padding:.15rem 0 .25rem 1.15rem}.content-body blockquote.project-essay-epigraph p{margin-top:0;font-size:1.05rem;font-style:italic;line-height:1.65}.content-body blockquote.project-essay-epigraph footer{font-family:var(--font-ui);font-size:var(--font-size-small);color:var(--color-text-muted);margin-top:.65rem;line-height:1.45}.content-body table{border-collapse:collapse;width:var(--content-body-width);margin:1.5rem 0;font-size:1rem}.content-body th,.content-body td{border:1px solid var(--color-border-strong);text-align:left;padding:.5rem .75rem}.content-body th{background-color:var(--color-bg-alt);font-weight:600}.content-body dl.names{width:var(--content-body-width);margin-top:.5rem}.content-body dl.names dt{border-top:1px solid var(--color-border);margin-top:1.75rem;padding-top:1.5rem;line-height:1.4}.content-body dl.names dt:first-of-type{border-top:none;margin-top:0;padding-top:0}.content-body dl.names dd{color:var(--color-text-secondary);margin:.4rem 0 0;line-height:1.6}.content-body .names-dates,.content-body .names-nick{color:var(--color-text-muted);font-style:italic}.content-body em{font-style:italic}.content-body strong{font-weight:600}.content-body ul,.content-body ol{width:var(--content-body-width);margin-top:1rem;margin-bottom:0;padding-left:2rem;line-height:1.6}.content-body li{margin-bottom:.25rem}.content-body li p{width:100%}.content-body li>p:first-child{margin-top:0}.content-body code{background-color:var(--color-bg-alt);border-radius:3px;padding:.15em .35em;font-family:SF Mono,Fira Code,Fira Mono,Roboto Mono,monospace;font-size:.9em}.content-body pre{width:var(--content-body-width);overflow-x:auto;background-color:var(--color-bg-alt);border:1px solid var(--color-border);border-radius:6px;margin:1.5rem 0;padding:1rem 1.25rem;line-height:1.5}.content-body pre code{background:0 0;border-radius:0;padding:0;font-size:.875rem}.content-body .token.comment,.content-body .token.prolog,.content-body .token.doctype,.content-body .token.cdata{color:#6a737d}.content-body .token.punctuation{color:#24292e}.content-body .token.property,.content-body .token.tag,.content-body .token.boolean,.content-body .token.number,.content-body .token.constant,.content-body .token.symbol,.content-body .token.deleted{color:#005cc5}.content-body .token.selector,.content-body .token.attr-name,.content-body .token.string,.content-body .token.char,.content-body .token.builtin,.content-body .token.inserted{color:#22863a}.content-body .token.operator,.content-body .token.entity,.content-body .token.url,.content-body .token.atrule,.content-body .token.attr-value,.content-body .token.keyword{color:#d73a49}.content-body .token.function,.content-body .token.class-name{color:#6f42c1}.content-body .token.regex,.content-body .token.important,.content-body .token.variable{color:#e36209}[data-theme=dark] .content-body .token.comment,[data-theme=dark] .content-body .token.prolog,[data-theme=dark] .content-body .token.doctype,[data-theme=dark] .content-body .token.cdata{color:#8b949e}[data-theme=dark] .content-body .token.punctuation{color:#c9d1d9}[data-theme=dark] .content-body .token.property,[data-theme=dark] .content-body .token.tag,[data-theme=dark] .content-body .token.boolean,[data-theme=dark] .content-body .token.number,[data-theme=dark] .content-body .token.constant,[data-theme=dark] .content-body .token.symbol,[data-theme=dark] .content-body .token.deleted{color:#79c0ff}[data-theme=dark] .content-body .token.selector,[data-theme=dark] .content-body .token.attr-name,[data-theme=dark] .content-body .token.string,[data-theme=dark] .content-body .token.char,[data-theme=dark] .content-body .token.builtin,[data-theme=dark] .content-body .token.inserted{color:#7ee787}[data-theme=dark] .content-body .token.operator,[data-theme=dark] .content-body .token.entity,[data-theme=dark] .content-body .token.url,[data-theme=dark] .content-body .token.atrule,[data-theme=dark] .content-body .token.attr-value,[data-theme=dark] .content-body .token.keyword{color:#ff7b72}[data-theme=dark] .content-body .token.function,[data-theme=dark] .content-body .token.class-name{color:#d2a8ff}[data-theme=dark] .content-body .token.regex,[data-theme=dark] .content-body .token.important,[data-theme=dark] .content-body .token.variable{color:#ffa657}[data-theme=dark] .content-body pre,[data-theme=dark] .content-body code{background-color:var(--color-bg-alt)}.content-body figure{margin:1.5rem 0}.content-body figure img{max-width:100%;height:auto}.content-body figure.l-body{width:var(--content-body-width)}.content-body figure.l-page{width:100%}.content-body figure.l-screen{width:100%;margin-left:0}.content-body figure.interactive-figure{border:1px solid var(--color-border);background:var(--color-bg);border-radius:8px;padding:1.5rem}.content-body figcaption{color:var(--color-text-secondary);max-width:var(--content-body-width);margin-top:.5rem;font-size:.9rem;line-height:1.4}.content-body figure.l-page figcaption,.content-body figure.l-screen figcaption{width:var(--content-body-width)}[data-theme=dark] .content-body figure.invertible img{filter:invert(1)hue-rotate(180deg)}.content-body .footnote-hover-container{position:relative;display:inline}.content-body .footnote-popup{display:none;position:absolute;background:var(--color-surface);border:1px solid var(--color-border);box-shadow:var(--shadow-md);z-index:100;border-radius:6px;width:max-content;max-width:300px;margin-bottom:.5rem;padding:.75rem 1rem;font-size:.85rem;line-height:1.5;bottom:100%;left:50%;transform:translate(-50%)}.content-body .footnote-hover-container:hover .footnote-popup,.content-body .footnote-hover-container:focus-within .footnote-popup{display:block}.content-body .footnote-popup p{width:100%;margin:0;font-size:.85rem;line-height:1.5}@media (min-width:1200px){.content-body figure.l-screen{width:calc(100% + var(--bleed-left) + var(--bleed-right));margin-left:calc(-1*var(--bleed-left))}}@media (min-width:1200px) and (max-width:1399px){.container-content--essay .content-body .sidenote,.container-content--essay .content-body .marginnote{display:none}.container-content--essay .content-body .margin-toggle:checked+.sidenote,.container-content--essay .content-body .margin-toggle:checked+.marginnote{display:block;float:left;clear:both;vertical-align:baseline;position:relative;border-left:3px solid var(--color-border);width:95%;margin:1rem 2.5%;padding-left:1rem;left:1rem}}.content-body .heading-anchor{color:var(--color-text-muted);text-decoration:none;opacity:0;margin-left:.3rem;transition:opacity .15s;font-style:normal}.content-body h2:hover .heading-anchor,.content-body h3:hover .heading-anchor{opacity:1}.content-body .heading-anchor:hover{color:var(--color-text-secondary)}.content-body hr{width:var(--content-body-width);border:none;border-top:1px solid var(--color-border);margin:2rem 0}.content-body a{color:var(--color-text);text-decoration:underline;text-underline-offset:.15em}.content-body a:hover{color:var(--color-accent)}.content-body .footnotes{width:var(--content-body-width);border-top:1px solid var(--color-border);margin-top:3rem;padding-top:1.5rem;font-size:.9rem}.content-body .footnotes ol{width:100%;padding-left:1.5rem}.content-body .footnotes li{margin-bottom:.5rem;line-height:1.5}.content-body .footnotes p{width:100%;margin-top:0;font-size:.9rem;line-height:1.5}@media (max-width:1199px){.content-body p,.content-detail-title,.content-detail-subtitle,.content-detail-meta,.content-body h2,.content-body h3,.content-body h4,.content-body blockquote,.content-body table,.content-body pre,.content-body ul,.content-body ol,.content-body dl.names,.content-body hr,.content-body .katex-display,.content-body figure.l-body,.content-body figure.l-page figcaption,.content-body figure.l-screen figcaption,.content-body.project-essay-body .project-resource-list,.content-body.project-essay-body .project-figure-grid{width:100%}.content-body figure.l-screen{width:100%;margin-left:0}.content-body label.margin-toggle:not(.sidenote-number){display:inline}.content-body .sidenote,.content-body .marginnote{display:none}.content-body .margin-toggle:checked+.sidenote,.content-body .margin-toggle:checked+.marginnote{display:block;float:left;clear:both;vertical-align:baseline;position:relative;border-left:3px solid var(--color-border);width:95%;margin:1rem 2.5%;padding-left:1rem;left:1rem}.content-body .footnotes{width:100%}}@media (max-width:760px){.container-content{width:min(100% - 2*var(--site-gutter),760px);padding-left:0;padding-right:0}.content-body{font-size:1.1rem}.content-body table{display:block;overflow-x:auto}.content-body.project-essay-body .project-resource-list,.content-body.project-essay-body .project-figure-grid{grid-template-columns:1fr}}.content-body .diary-box{width:var(--content-body-width);border-top:1px solid var(--color-border-strong);border-bottom:1px solid var(--color-border-strong);margin:1.9rem 0;padding:.85rem 0 .95rem}.content-body .diary-box>:first-child{margin-top:0}.content-body .diary-box>:last-child{margin-bottom:0}.content-body .diary-box p{width:100%}.content-body .diary-box blockquote{margin-left:0}.content-body .crib{width:var(--content-body-width);color:var(--color-text-secondary);margin:.4rem 0 1.6rem;padding-left:1.4rem;font-size:.88em}.content-body .crib p{width:100%;margin-top:.3rem}.content-body .sidenote--long{position:relative;overflow:hidden;cursor:pointer;max-height:4.4em;transition:max-height .18s}.content-body .sidenote--long:after{content:"";position:absolute;background:linear-gradient(to bottom,transparent,var(--color-bg));pointer-events:none;height:1.5em;bottom:0;left:0;right:0}.content-body .sidenote--long:hover,.content-body .sidenote--long:focus,.content-body .sidenote--long:focus-within{z-index:5;background:var(--color-bg);max-height:60em}.content-body .sidenote--long:hover:after,.content-body .sidenote--long:focus:after,.content-body .sidenote--long:focus-within:after{opacity:0}.content-body .sidenote--long:focus-visible{outline:2px solid var(--color-link);outline-offset:3px}.content-body .margin-toggle:checked+.sidenote--long{max-height:none}.content-body .margin-toggle:checked+.sidenote--long:after{content:none}.content-body .diary-box .sidenote,.content-body .diary-box .marginnote,.content-body .crib .sidenote,.content-body .crib .marginnote{text-align:left;min-width:59%;margin-right:-82%}.content-body a.name-link{color:inherit;text-decoration:none;border-bottom:1px dotted var(--color-border-strong)}.content-body a.name-link:hover{color:var(--color-link);border-bottom-color:var(--color-link)}@media print{.content-body .sidenote,.content-body .marginnote{display:block;float:none;color:inherit;width:100%;max-width:100%;margin:.5rem 0 .9rem}.content-body .sidenote--long{overflow:visible;cursor:auto;max-height:none}.content-body .sidenote--long:after{content:none}.content-body input.margin-toggle,.content-body label.margin-toggle:not(.sidenote-number){display:none}}.reader-page{--content-body-width:100%;width:min(calc(100% - 2*var(--site-gutter)),760px);margin:0 auto;padding:3rem 0 4rem}.reader-header{margin-bottom:2.5rem}.reader-page .kraus-edition .source-page{color:var(--color-text-muted);font-size:.75em}.reader-page .kraus-edition .source-page:before{content:"["}.reader-page .kraus-edition .source-page:after{content:"]"}.reader-page .kraus-authorial-note{margin-bottom:1rem}.reader-page .kraus-edition .editorial-footnotes{list-style:none;padding-left:0}.reader-page .kraus-edition .editorial-footnote-symbol{margin-right:.4em;font-weight:600}.reader-note-card .kraus-note-label,.reader-note-panel-body .kraus-note-label{display:none}.reader-state{grid-column:2}.reader-static-site-header{position:fixed;z-index:50;height:var(--header-height);border-bottom:1px solid var(--color-border);background:var(--color-bg);inset:0 0 auto}.reader-static-site-header>div{max-width:var(--site-width);padding-inline:var(--site-gutter);display:flex;justify-content:space-between;align-items: center;width:100%;height:100%;margin:auto}.reader-static-site-header a{text-decoration:none;color:var(--color-text)}.reader-static-site-header nav{display:flex;font-family:var(--font-ui);font-size:var(--font-size-small);gap:1.5rem}@media (max-width:760px){.reader-static-site-header nav{display:none}}.reader-header>p{margin:.7rem 0 0}.reader-header .reader-back{font-family:var(--font-ui);font-size:var(--font-size-small);margin:0 0 1.8rem}.reader-byline{color:var(--color-text-secondary);font-size:1.15rem}.reader-introduction{line-height:1.6;margin-top:1.3rem!important}.reader-coverage{font-family:var(--font-ui);font-size:var(--font-size-small);color:var(--color-text-secondary)}.reader-utilities{display:flex;font-family:var(--font-ui);font-size:var(--font-size-small);flex-wrap:wrap;gap:.5rem 1.2rem;margin-top:1.2rem}.reader-source{color:var(--color-text-secondary);margin-top:1rem;font-size:.95rem}.reader-source summary,.reader-inline-contents summary,.reader-text-note summary{cursor:pointer}.reader-inline-contents{font-family:var(--font-ui);margin-top:1.25rem;font-size:.95rem}.reader-inline-contents nav{padding:.5rem 0 .5rem 1rem}.reader-inline-contents ul{list-style:none;margin:0;padding:0}.reader-inline-contents li{padding:.3rem 0}.reader-nav-group{font-family:var(--font-ui);color:var(--color-text-muted);margin:1rem 0 .4rem;font-size:.8rem;font-style:normal;font-weight:600}.reader-page .page-toc{display:none}.reader-page .reader-editorial-section{margin-bottom:2.5rem;padding:0}.reader-page .reader-text-note{color:var(--color-text-secondary);font-size:1rem}.reader-page .reader-text-note summary h2{display:inline;font-family:var(--font-ui);color:var(--color-link);font-size:.875rem;font-style:normal}.reader-page .reader-text-note[open]>p{font-size:1rem;line-height:1.6}.reader-page .reader-volume-heading{margin:3rem 0 1.5rem;font-size:2rem;font-style:normal}.reader-page .reader-month-heading{border-top:1px solid var(--color-border);margin:3.5rem 0 1.5rem;padding-top:1rem;font-size:1.8rem;font-style:normal}.reader-page .content-body h3{margin-top:2.4rem}.reader-page .content-body .sr-only{position:absolute;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0}.reader-page .content-body figure img{height:auto}@media (max-width:899px){.reader-page .content-body .katex{position:relative;display:inline-block;overflow-x:auto;overflow-y:hidden;vertical-align:middle;max-width:100%;margin-block-start:-.2em;margin-block-end:-.2em;padding-block-start:.2em;padding-block-end:.2em}}.reader-anchor-alias{display:block;height:0;scroll-margin-top:88px}.reader-page .content-body .sidenote-number{color:var(--color-link);cursor:pointer;font:inherit;line-height:inherit;background:0 0;border:0;padding:0 .15rem}.reader-page .content-body .reader-note-reference:after{content:attr(data-note-number)}.reader-page .content-body .sidenote-number:focus-visible{outline:2px solid var(--color-link);outline-offset:3px}.reader-note-open:focus-visible{outline:2px solid var(--color-link);outline-offset:3px}.reader-page .content-body:not(.reader-enhanced) .sidenote,.reader-page .content-body:not(.reader-enhanced) .marginnote{display:block;float:none;clear:none;overflow:visible;color:var(--color-text-secondary);width:100%;min-width:0;max-height:none;margin:.8rem 0;font-size:.95rem;line-height:1.5}.reader-page .content-body:not(.reader-enhanced) .sidenote--long:after{display:none}.reader-page .content-body.reader-enhanced .sidenote[data-note-number]{display:none!important}.reader-note-rail{display:none}.reader-note-card{position:absolute;color:var(--color-text-secondary);overflow-wrap:anywhere;width:100%;font-size:.9rem;line-height:1.45}.reader-note-card p{font-size:inherit;line-height:inherit;margin:0}.reader-note-index{font-variant-numeric:lining-nums;color:var(--color-text-muted)}.reader-note-open{color:var(--color-link);font:inherit;cursor:pointer;text-decoration:underline;text-underline-offset:.15em;background:0 0;border:0;padding:0}.reader-note-panel{position:fixed;z-index:var(--z-sheet);left:1rem;right:1rem;bottom:max(1rem,env(safe-area-inset-bottom));overflow:auto;border:1px solid var(--color-border-strong);background:var(--color-bg);color:var(--color-text);box-shadow:var(--shadow-md);max-height:70dvh;padding:1rem;font-size:.95rem;line-height:1.5}.reader-note-panel-header{display:flex;border-bottom:1px solid var(--color-border);font-family:var(--font-ui);justify-content:space-between;align-items:baseline;gap:1rem;margin-bottom:.75rem;padding-bottom:.75rem;font-size:.8rem}.reader-note-panel-header p{margin:0}.reader-note-panel-header button{color:var(--color-link);cursor:pointer;font:inherit;background:0 0;border:0}.reader-note-panel-body .katex-display{overflow-x:auto}@media (min-width:900px) and (max-width:1199px){.reader-page{width:min(calc(100% - 2*var(--site-gutter)),760px)}}@media (min-width:1200px){.reader-page{display:grid;grid-template-columns:10rem minmax(0,40rem)15rem;max-width:var(--site-width);padding-inline:var(--site-gutter);align-items: start;gap:0 1.5rem;width:100%;padding-top:4rem}.reader-header{grid-column:2;grid-row:1}.reader-page>.page-toc{display:block;grid-column:1;grid-row:2;float:none;width:auto;max-height:calc(100dvh - 112px);margin:0;top:88px}.reader-page>.content-body{grid-column:2;grid-row:2;min-width:0}.reader-note-rail{display:block;grid-column:3;grid-row:2;position:relative;align-self:stretch}.reader-inline-contents{display:none}.reader-note-panel{max-height:min(65dvh,100dvh - 104px);font-size:.9rem;bottom:auto;right:auto}.reader-page .page-toc li.toc-h3{padding-left:.6rem}}@media print{.reader-page{display:block;width:100%;padding:0}.reader-utilities,.reader-back,.reader-inline-contents,.reader-note-rail,.reader-note-panel{display:none}.reader-page .content-body.reader-enhanced .sidenote{float:none;width:100%;min-width:0;max-height:none;margin:.8rem 0;font-size:.9rem;display:block!important}}html.js .reader-page .content-body .sidenote[data-note-number]{display:none!important}html:not(.js) .page-toc li[hidden]{display:list-item}@media print{html.js .reader-page .content-body .sidenote[data-note-number]{display:block!important}}/*! tailwindcss v4.1.14 | MIT License | https://tailwindcss.com */@layer properties;@layer theme,base,components,utilities;@layer theme{:root,:host{--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-md:28rem;--text-xs:.75rem;--text-xs--line-height:calc(1/.75);--text-sm:.875rem;--text-sm--line-height:calc(1.25/.875);--text-base:1rem;--text-base--line-height:calc(1.5/1);--text-xl:1.25rem;--text-xl--line-height:calc(1.75/1.25);--tracking-tight:-.025em;--radius-lg:.5rem;--shadow-md:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a;--shadow-lg:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;--ease-in:cubic-bezier(.4,0,1,1);--ease-out:cubic-bezier(0,0,.2,1);--ease-in-out:cubic-bezier(.4,0,.2,1);--blur-sm:8px;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before{box-sizing:border-box;border:0 solid;margin:0;padding:0}::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::-webkit-file-upload-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{color:inherit;border-top-width:1px;height:0}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{position:relative;vertical-align:baseline;font-size:75%;line-height:0}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::-webkit-file-upload-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:-webkit-any([multiple],[size])) optgroup{font-weight:bolder}:where(select:-moz-any([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:-webkit-any([multiple],[size])) optgroup option{padding-inline-start:20px}:where(select:-moz-any([multiple],[size])) optgroup option{padding-inline-start:20px}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::-webkit-file-upload-button{margin-inline-end:4px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports ( not (-webkit-appearance: -apple-pay-button)) or (contain-intrinsic-size: 1px){::placeholder{color:currentColor}@supports (color: color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{text-align:inherit;min-height:1lh}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block-start:0;padding-block-end:0}::-webkit-datetime-edit-year-field{padding-block-start:0;padding-block-end:0}::-webkit-datetime-edit-month-field{padding-block-start:0;padding-block-end:0}::-webkit-datetime-edit-day-field{padding-block-start:0;padding-block-end:0}::-webkit-datetime-edit-hour-field{padding-block-start:0;padding-block-end:0}::-webkit-datetime-edit-minute-field{padding-block-start:0;padding-block-end:0}::-webkit-datetime-edit-second-field{padding-block-start:0;padding-block-end:0}::-webkit-datetime-edit-millisecond-field{padding-block-start:0;padding-block-end:0}::-webkit-datetime-edit-meridiem-field{padding-block-start:0;padding-block-end:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button{appearance:button}input:where([type=button],[type=reset],[type=submit]){appearance:button}::-webkit-file-upload-button{appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer utilities{.collapse{visibility:collapse}.invisible{visibility:hidden}.visible{visibility:visible}.sr-only{position:absolute;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.inset-0{inset:calc(var(--spacing)*0)}.top-0{top:calc(var(--spacing)*0)}.right-0{right:calc(var(--spacing)*0)}.bottom-0{bottom:calc(var(--spacing)*0)}.left-0{left:calc(var(--spacing)*0)}.isolate{isolation:isolate}.z-50{z-index:50}.\!container{width:100%!important}@media (min-width:40rem){.\!container{max-width:40rem!important}}@media (min-width:48rem){.\!container{max-width:48rem!important}}@media (min-width:64rem){.\!container{max-width:64rem!important}}@media (min-width:80rem){.\!container{max-width:80rem!important}}@media (min-width:96rem){.\!container{max-width:96rem!important}}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.mt-1{margin-top:calc(var(--spacing)*1)}.mt-4{margin-top:calc(var(--spacing)*4)}.mt-6{margin-top:calc(var(--spacing)*6)}.mt-8{margin-top:calc(var(--spacing)*8)}.mt-auto{margin-top:auto}.-mr-2{margin-right:calc(var(--spacing)*-2)}.mr-6{margin-right:calc(var(--spacing)*6)}.mb-4{margin-bottom:calc(var(--spacing)*4)}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.table{display:table}.h-7{height:calc(var(--spacing)*7)}.h-9{height:calc(var(--spacing)*9)}.h-10{height:calc(var(--spacing)*10)}.h-12{height:calc(var(--spacing)*12)}.h-full{height:100%}.min-h-screen{min-height:100vh}.w-7{width:calc(var(--spacing)*7)}.w-9{width:calc(var(--spacing)*9)}.w-10{width:calc(var(--spacing)*10)}.w-\[260px\]{width:260px}.max-w-\[80vw\]{max-width:80vw}.max-w-md{max-width:var(--container-md)}.shrink{flex-shrink:1}.grow{flex-grow:1}.border-collapse{border-collapse:collapse}.scale-600{--tw-scale-x:600%;--tw-scale-y:600%;--tw-scale-z:600%;scale:var(--tw-scale-x)var(--tw-scale-y)}.transform{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.resize{resize:both}.flex-wrap{flex-wrap:wrap}.items-center{align-items: center}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.gap-1{gap:calc(var(--spacing)*1)}.gap-6{gap:calc(var(--spacing)*6)}.rounded{border-radius:.25rem}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.border{border-style:var(--tw-border-style);border-width:1px}.border-b-2{border-bottom-style:var(--tw-border-style);border-bottom-width:2px}.border-current{border-color:currentColor}.bg-black\/30{background-color:#0000004d}@supports (color: color-mix(in lab, red, red)){.bg-black\/30{background-color:color-mix(in oklab,var(--color-black)30%,transparent)}}.bg-white{background-color:var(--color-white)}.p-4{padding:calc(var(--spacing)*4)}.px-4{padding-inline:calc(var(--spacing)*4)}.py-3{padding-block:calc(var(--spacing)*3)}.py-12{padding-block:calc(var(--spacing)*12)}.pb-0\.5{padding-bottom:calc(var(--spacing)*.5)}.text-center{text-align:center}.text-start{text-align:start}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.text-wrap{text-wrap:wrap}.lowercase{text-transform:lowercase}.uppercase{text-transform:uppercase}.italic{font-style:italic}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,)var(--tw-slashed-zero,)var(--tw-numeric-figure,)var(--tw-numeric-spacing,)var(--tw-numeric-fraction,)}.no-underline{text-decoration-line:none}.overline{text-decoration-line:overline}.underline{text-decoration-line:underline}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a),0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-xl{--tw-shadow:0 20px 25px -5px var(--tw-shadow-color,#0000001a),0 8px 10px -6px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.drop-shadow{--tw-drop-shadow-size:drop-shadow(0 1px 2px var(--tw-drop-shadow-color,#0000001a))drop-shadow(0 1px 1px var(--tw-drop-shadow-color,#0000000f));--tw-drop-shadow:drop-shadow(0 1px 2px #0000001a)drop-shadow(0 1px 1px #0000000f);filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.grayscale{--tw-grayscale:grayscale(100%);filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.invert{--tw-invert:invert(100%);filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.backdrop-blur-sm{--tw-backdrop-blur:blur(var(--blur-sm));-webkit-backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}.backdrop-filter{-webkit-backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-300{--tw-duration:.3s;transition-duration:.3s}.ease-in{--tw-ease:var(--ease-in);transition-timing-function:var(--ease-in)}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}@media (hover:hover){.hover\:no-underline:hover{text-decoration-line:none}}.focus\:not-sr-only:focus{position:static;overflow:visible;clip-path:none;white-space:normal;width:auto;height:auto;margin:0;padding:0}.focus\:absolute:focus{position:absolute}.focus\:top-4:focus{top:calc(var(--spacing)*4)}.focus\:left-4:focus{left:calc(var(--spacing)*4)}.focus\:z-\[100\]:focus{z-index:100}.focus\:rounded:focus{border-radius:.25rem}.focus\:px-4:focus{padding-inline:calc(var(--spacing)*4)}.focus\:py-2:focus{padding-block:calc(var(--spacing)*2)}.focus\:shadow-lg:focus{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a),0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}@media (min-width:48rem){.md\:flex{display:flex}}@media (min-width:48rem){.md\:hidden{display:none}}@media (min-width:48rem){.md\:py-16{padding-block:calc(var(--spacing)*16)}}}*{scrollbar-width:none!important}*::-webkit-scrollbar{display:none!important;width:0!important;height:0!important}@font-face{font-family:DM Sans;font-style:normal;font-weight:400 600;font-display:optional;src:url(/assets/fonts/font-219b02c7d8884817.woff2)format(woff2);unicode-range:U100-2BA,U2BD-02C5,U2C7-02CC,U2CE-02D7,U2DD-02FF,U304,U308,U329,U1D00-1DBF,U1-1000000000F,U1EF2-1EFF,U2020,U20A0-20AB,U20AD-20C4,U2113,U2C60-2C7F,U + A720-A7FF}@font-face{font-family:DM Sans;font-style:normal;font-weight:400 600;font-display:optional;src:url(/assets/fonts/font-468d56b6b25b05b7.woff2)format(woff2);unicode-range:U0-0FF,U131,U152-153,U2BB-02BC,U2C6,U2DA,U2DC,U304,U308,U329,U2000-206F,U20AC,U2122,U2191,U2193,U2212,U2215,U + FEFF,U + FFFD}@font-face{font-family:ET Book;src:url(/assets/fonts/font-58d154747bfa1472.woff)format(woff);font-weight:400;font-style:normal;font-display:optional}@font-face{font-family:ET Book;src:url(/assets/fonts/font-e5bae09f1cb8391f.woff)format(woff);font-weight:400;font-style:italic;font-display:optional}@font-face{font-family:ET Book;src:url(/assets/fonts/font-ea6efd96090dc2d0.woff)format(woff);font-weight:700;font-style:normal;font-display:optional}@font-face{font-family:ET Book;src:url(/assets/fonts/font-8fc193a5fc066aa7.woff)format(woff);font-weight:600;font-style:normal;font-display:optional}@font-face{font-family:ET Book;src:url(/assets/fonts/font-be0f2c061cd8c57b.woff)format(woff);font-weight:400;font-style:normal;font-display:optional;unicode-range:U30-39}@layer base{*,*:before,*:after{box-sizing:border-box}:root{--font-body:"ET Book",Palatino,"Palatino Linotype",Georgia,serif;--font-ui:"DM Sans",system-ui,-apple-system,sans-serif;--font-mono:"JetBrains Mono","SF Mono",Menlo,monospace;--color-bg:#fffff8;--color-bg-alt:#f8f8f0;--color-surface:#fff;--color-text:#111;--color-text-secondary:#555;--color-text-muted:#6f6f68;--color-link:#536f5a;--color-link-visited:#667868;--color-link-hover:#38553f;--color-border:#0000001a;--color-border-strong:#0003;--color-accent:#a00000;--shadow-sm:0 1px 3px #0000000f;--shadow-md:0 4px 12px #00000014;--shadow-lg:0 8px 24px #0000001a;--site-width:1160px;--site-gutter:22px;--prose-width:55ch;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--space-7:48px;--space-8:64px;--ease-out:cubic-bezier(.16,1,.3,1);--ease-gentle:cubic-bezier(.4,0,.2,1);--header-height:56px;--z-progress:40;--z-fab:45;--z-sheet-overlay:60;--z-sheet:61;--font-size-h1:clamp(2.4rem,3.6vw + .6rem,3rem);--font-size-h2:clamp(1.5rem,2vw + .5rem,1.8rem);--font-size-h3:clamp(1.15rem,1vw + .75rem,1.3rem);--font-size-body:1.2rem;--font-size-small:.875rem}[data-theme=dark]{--color-bg:#151515;--color-bg-alt:#1a1a1a;--color-surface:#1e1e1e;--color-text:#ddd;--color-text-secondary:#aaa;--color-text-muted:#8a8a82;--color-link:#8fb89a;--color-link-visited:#a3b5a7;--color-link-hover:#a8d4b0;--color-border:#ffffff1a;--color-border-strong:#fff3;--color-accent:#ff6b6b;--shadow-sm:0 1px 3px #0003;--shadow-md:0 4px 12px #0000004d;--shadow-lg:0 8px 24px #0006}html{font-family:var(--font-body);color:var(--color-text);background-color:var(--color-bg);overflow-y:auto;overflow-x:clip;scrollbar-gutter:stable;-webkit-font-smoothing:antialiased}body{font-size:var(--font-size-body);min-height:100dvh;line-height:1.6}h1{font-family:var(--font-body);font-size:var(--font-size-h1);font-style:normal;font-weight:400;line-height:1.2}h2,h3,h4{font-family:var(--font-body);font-style:italic;font-weight:400;line-height:1.2}h2{font-size:var(--font-size-h2)}h3{font-size:var(--font-size-h3)}a{color:var(--color-link);text-decoration:none;overflow-wrap:break-word}a:visited{color:var(--color-link-visited)}a:hover{text-decoration:underline}:where(a,button,summary,[tabindex]):focus-visible{outline:2px solid var(--color-link-hover);outline-offset:3px;border-radius:3px}::selection{background-color:#5f7a6533}[data-theme=dark] ::selection{background-color:#8fb89a4d}}@layer components{.site-frame,.container-tufte{max-width:var(--site-width);padding-inline:var(--site-gutter);overflow-wrap:break-word;width:100%;margin-inline-start:auto;margin-inline-end:auto}@media (min-width:768px){:root{--site-gutter:36px}}.site-header-spacer{height:var(--header-height)}.site-main{min-height:calc(100dvh - var(--header-height))}.prose-tufte{max-width:var(--prose-width)}.newthought{font-variant:small-caps;letter-spacing:.05em;font-size:1.2em}.tag{display:inline-block;font-size:.65rem;font-family:var(--font-ui);color:var(--color-text-muted);border:1px solid var(--color-border);vertical-align:middle;letter-spacing:.03em;text-transform:uppercase;border-radius:3px;margin-right:.5em;padding:1px 5px}.text-ui-secondary{font-family:var(--font-ui);color:var(--color-text-secondary);font-size:.85rem}.page-toc{--toc-marker-gutter:1.1rem;--toc-marker-offset:.35rem;border:1px solid var(--color-border);border-radius:6px;width:100%;margin:1.5rem 0 2rem;padding:1rem 1.25rem}.page-toc .toc-heading{font-family:var(--font-ui);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:0;width:auto;max-width:none;margin:0 0 .75rem;font-size:.8rem;font-style:normal;font-weight:600}.page-toc ul{list-style:none;width:100%;margin:0;padding:0;line-height:1.4}.page-toc li{position:relative;margin-bottom:.25rem}.page-toc li a{position:relative;display:block;padding:2px 0 2px var(--toc-marker-gutter);color:var(--color-text-secondary);text-decoration:none;overflow-wrap:normal;word-break:normal;hyphens:none;width:100%;transition:color .18s;font-size:.85rem;line-height:1.4}.content-body .page-toc .toc-heading,.content-body .page-toc ul{width:100%;max-width:none}.content-body .page-toc .toc-heading{line-height:1.4}.content-body .page-toc ul{margin:0;padding:0;line-height:1.4}.page-toc li a:hover{color:var(--color-text)}.page-toc li a:focus-visible{outline:2px solid var(--color-link-hover);outline-offset:3px;color:var(--color-text);border-radius:3px}.page-toc li a.toc-active{color:var(--color-text);font-weight:650}.page-toc li.toc-h3{padding-left:1rem}.page-toc .toc-label{position:relative;z-index:1}.page-toc .toc-active-marker{position:absolute;top:.25rem;bottom:.25rem;left:var(--toc-marker-offset);background:var(--color-link);opacity:.9;border-radius:999px;width:2px}@media (max-width:1199px){.page-toc{display:none}}@media (min-width:1200px){.page-toc{--toc-marker-gutter:1.15rem;--toc-marker-offset:.4rem;position:sticky;float:left;overflow-y:auto;border:none;border-left:2px solid var(--color-border);scrollbar-width:thin;border-radius:0;width:180px;max-height:calc(100vh - 120px);margin-top:0;margin-bottom:0;margin-left:-220px;padding:0 0 0 1rem;top:96px}.page-toc li a{padding-left:var(--toc-marker-gutter)}.page-toc li a.toc-active{color:var(--color-link)}}.index-section{margin-top:var(--space-7)}.listing-page--bare>.index-section:first-of-type,.listing-page--bare>.index-list{margin-top:0}.listing-intro{color:var(--color-text-secondary);max-width:44rem}.listing-intro--profile{color:var(--color-text);width:100%;max-width:none}.listing-intro p{text-wrap:pretty;margin:0;line-height:1.65}.listing-intro p+p{margin-top:var(--space-4)}.work-year-heading{position:sticky;top:var(--header-height);z-index:10;padding-top:calc(var(--space-2)*1.6);padding-bottom:var(--space-2);background-color:var(--color-bg);box-shadow:0 1px 0 var(--color-border);margin:0}.index-list{margin-top:var(--space-4)}.index-row{display:grid;grid-template-columns:minmax(10rem,30%)minmax(0,1fr);column-gap:var(--space-5);border-bottom:1px solid var(--color-border);padding:.9rem 0}.index-row:last-child{border-bottom:none}.index-row-title,.index-row-body{min-width:0}.index-row-title{padding-right:var(--space-3)}.index-row-classification{display:grid;grid-template-columns:max-content minmax(0,1fr);column-gap:var(--space-3);align-items: start;margin-top:.35rem}.index-row-tags{line-height:1}.index-row-event-details{display:flex;font-family:var(--font-ui);color:var(--color-text-secondary);flex-direction:column;align-items: flex-start;gap:.1rem;font-size:.85rem;line-height:1.35}.index-row-body{line-height:1.6}.index-row-description{max-width:36rem;margin:0;line-height:1.65}.index-row-meta{font-family:var(--font-ui);color:var(--color-text-secondary);margin:.35rem 0 0;font-size:.85rem}.index-row-resources{display:flex;font-family:var(--font-ui);color:var(--color-text-secondary);flex-direction:column;align-items: flex-start;gap:.15rem;margin:.55rem 0 0;padding-left:1rem;font-size:.85rem;line-height:1.35}.index-row-resources a{position:relative;display:inline-block;text-decoration:none;width:-moz-fit-content;width:fit-content}.index-row-resources a:before{content:"—";position:absolute;color:var(--color-text-muted);left:-.95rem}.index-row-resources a:hover .index-row-resource-label{text-decoration:underline}.index-row-resources a:focus-visible .index-row-resource-label{text-decoration:underline}.cv-header{display:grid;grid-template-columns:minmax(0,1fr)auto;gap:var(--space-5);padding-bottom:var(--space-5);border-bottom:1px solid var(--color-border);align-items: start}.cv-header h1{margin:0}.cv-kicker,.cv-contact,.cv-updated,.cv-entry-date,.cv-entry-location,.cv-entry-detail,.cv-skill-section h3,.cv-skill-group dt,.cv-pdf-link{font-family:var(--font-ui)}.cv-kicker{margin:0 0 var(--space-1);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:0;font-size:.78rem;font-weight:600}.cv-contact,.cv-updated{margin:var(--space-1)0 0;color:var(--color-text-secondary);font-size:.9rem}.cv-pdf-link{display:inline-flex;padding:0 var(--space-4);border:1px solid var(--color-border-strong);color:var(--color-text);text-decoration:none;white-space:nowrap;border-radius:4px;justify-content:center;align-items: center;min-height:2.35rem;font-size:.85rem;font-weight:500;line-height:1}.cv-pdf-link:hover{border-color:var(--color-link-hover);color:var(--color-link-hover);text-decoration:none}.cv-section{margin-top:var(--space-7)}.cv-section h2{margin:0 0 var(--space-4);padding-bottom:var(--space-2);border-bottom:1px solid var(--color-border)}.cv-summary{width:100%;max-width:none}.cv-summary p{margin:0}.cv-summary p+p{margin-top:var(--space-4)}.cv-skills{display:grid;gap:var(--space-5)}.cv-skill-section h3{margin:0 0 var(--space-2);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:0;font-size:.78rem;font-style:normal;font-weight:600}.cv-skill-section dl{margin:0}.cv-skill-group{display:grid;grid-template-columns:minmax(9rem,24%)minmax(0,1fr);gap:var(--space-4);padding:.25rem 0}.cv-skill-group dt{color:var(--color-text);font-size:.86rem;font-weight:600}.cv-skill-group dd{color:var(--color-text-secondary);margin:0}.cv-entry{border-bottom:1px solid var(--color-border);padding:1rem 0}.cv-entry:last-child{border-bottom:none}.cv-entry-heading{display:grid;grid-template-columns:minmax(0,1fr)auto;gap:var(--space-4);align-items: start;min-width:0}.cv-entry-body{min-width:0;max-width:none;margin-top:.25rem}@media (min-width:1200px) and (max-width:1439px){.cv-page .cv-toc{position:static;float:none;overflow:visible;border:1px solid var(--color-border);border-radius:6px;width:100%;max-height:none;margin:1.5rem 0 2rem;padding:1rem 1.25rem}.cv-page .cv-toc ul{display:flex;column-gap:var(--space-4);row-gap:var(--space-1);flex-wrap:wrap}.cv-page .cv-toc li{margin-bottom:0}}.cv-entry-heading h3{text-wrap:pretty;overflow-wrap:break-word;margin:0;font-size:1.05rem;font-style:normal;line-height:1.25}.cv-entry-title-link{color:inherit;text-decoration-color:#0000;text-underline-offset:.18em;transition:color .16s,text-decoration-color .16s}.cv-entry-title-link:hover{color:var(--color-link-hover);text-decoration-color:currentColor}.cv-entry-date{color:var(--color-text-muted);white-space:nowrap;margin:0;font-size:.82rem}.cv-entry-meta{display:flex;text-align:right;flex-direction:column;justify-self:end;align-items: flex-end;min-width:max-content}.cv-entry-location{border-top:1px solid var(--color-border);color:var(--color-text-muted);white-space:nowrap;margin:.18rem 0 0;padding-top:.18rem;font-size:.72rem;line-height:1.2}.cv-entry-subtitle{color:var(--color-text-secondary);margin:0;font-size:.95rem;line-height:1.45}.cv-entry-detail{color:var(--color-text-secondary);margin:.25rem 0 0;font-size:.86rem}.cv-entry-items{margin:var(--space-2)0 0;padding-left:1.15rem}.cv-entry-items li{margin-top:var(--space-1)}.home-page{display:grid;grid-template-rows:minmax(0,1fr)minmax(0,1fr);min-height:calc(100dvh - var(--header-height));row-gap:0;padding-top:0;padding-bottom:0}.home-intro{display:block;align-self: center;min-height:0;padding:0}.home-intro-inner{display:grid;grid-template-columns:max-content minmax(0,1fr);gap:clamp(var(--space-5),4.5vw,var(--space-7));align-items:baseline;width:100%}.home-intro h1{white-space:nowrap;margin:0;font-size:clamp(2.9rem,5vw,3.3rem);line-height:.95}.home-intro-details{padding-top:0}.home-name-email{margin:var(--space-2)0 0;font-family:var(--font-ui);color:var(--color-text-muted);padding-left:.12em;font-size:.78rem;line-height:1.3}.home-name-email a{color:inherit}.home-lede{text-wrap:pretty;max-width:44rem;margin:0;font-size:clamp(1.02rem,1.5vw,1.15rem);line-height:1.45}.home-affiliation{margin:var(--space-3)0 0;font-family:var(--font-ui);color:var(--color-text-muted);font-size:.84rem}.home-latest{margin-top:var(--space-5)}.home-latest h2{font-family:var(--font-ui);color:var(--color-text-muted);margin:0;font-size:.8rem;font-style:normal;font-weight:600}.home-latest ul{list-style:none;margin:var(--space-2)0 0;padding:0}.home-latest li{position:relative;display:flex;margin-top:var(--space-1);align-items:baseline;gap:.45rem;min-width:0}.home-latest .tag,.home-latest small{flex:none}.home-latest a{display:inline-block;overflow:hidden;text-overflow:ellipsis;vertical-align:bottom;white-space:nowrap;min-width:0;max-width:100%}.home-latest li[data-description]:after{content:attr(data-description);position:absolute;z-index:30;width:min(36rem,calc(100vw - var(--space-5) - var(--space-5)));border:1px solid var(--color-border-strong);background:var(--color-surface);box-shadow:var(--shadow-md);color:var(--color-text-secondary);font-family:var(--font-ui);opacity:0;pointer-events:none;white-space:normal;border-radius:4px;max-width:max-content;padding:.55rem .65rem;transition:opacity .12s,transform .12s;font-size:.78rem;font-weight:400;line-height:1.4;top:calc(100% + .35rem);left:0;transform:translateY(-2px)}.home-latest li[data-description]:hover:after,.home-latest li[data-description]:focus-within:after{opacity:1;transform:translateY(0)}.home-portrait-quote{display:grid;grid-template-columns:minmax(0,3fr)minmax(16rem,2fr);gap:clamp(var(--space-5),4vw,var(--space-7));align-self: start;align-items: center;min-height:0;margin-top:0}.home-portrait{overflow:hidden;margin:0}.home-portrait-image{position:relative;display:block;aspect-ratio:1600/1061;overflow:hidden;width:100%}.home-portrait-poster,.home-portrait-nca{position:absolute;display:block;object-fit:cover;image-rendering:pixelated;width:100%;height:100%;inset:0}.home-portrait-nca{background:var(--color-bg);opacity:0;pointer-events:none;touch-action:none;transition:opacity .18s var(--ease-gentle)}.home-portrait-nca[data-ready=true]{opacity:1;pointer-events:auto}.home-quote-button{display:block;padding:var(--space-2)0;color:var(--color-text);cursor:pointer;font:inherit;text-align:left;background:0 0;border:0;border-radius:4px;width:100%;min-width:0;min-height:clamp(8rem,22dvh,13rem)}.home-quote-stage{display:flex;min-height:inherit;align-items: center}.home-quote-content{margin:0;padding:0}.home-quote-text{color:var(--color-text);text-wrap:pretty;transition:color .2s var(--ease-gentle);margin:0;font-size:clamp(.94rem,1.25vw,1rem);line-height:1.45}.home-quote-author{font-family:var(--font-ui);color:var(--color-text-muted);margin-top:.45rem;font-size:.78rem;font-style:italic}.home-quote-button:hover .home-quote-text{color:var(--color-link-hover)}@media (min-width:768px) and (max-height:760px){.home-intro h1{font-size:clamp(2.75rem,4.8vw,3.05rem)}.home-affiliation{margin-top:var(--space-2)}.home-latest{margin-top:var(--space-4)}.home-portrait-image{width:min(100%,30rem)}.home-quote-button{min-height:clamp(7rem,19dvh,10rem)}.home-quote-text{font-size:.93rem;line-height:1.38}.home-quote-author{margin-top:.35rem}}@media (max-width:767px){.index-row{display:block;padding:1rem 0 1.1rem}.cv-header{display:block}.cv-pdf-link{margin-top:var(--space-4)}.cv-skill-group{display:block}.cv-entry-heading{grid-template-columns:1fr;gap:.1rem}.cv-entry-meta{text-align:left;justify-self:start;align-items: flex-start}.cv-skill-group dd{margin-top:.25rem}.index-row-title{padding-right:0}.index-row-body{margin-top:.45rem}.index-row-description{max-width:none}.home-page{display:block;padding-top:var(--space-2);padding-bottom:var(--space-3);min-height:auto}.home-portrait-quote{display:block}.home-intro{display:block;padding:0}.home-intro-inner{display:block}.home-intro-details{padding-top:0}.home-intro h1{margin-bottom:var(--space-2);font-size:clamp(2.35rem,13vw,2.8rem)}.home-name-email{margin-bottom:var(--space-3)}.home-portrait-quote{margin-top:var(--space-4)}.home-portrait{margin:0 0 var(--space-4)}.home-portrait-image{height:clamp(9rem,19dvh,10.5rem)}.home-lede{font-size:.98rem;line-height:1.4}.home-affiliation{margin-top:var(--space-2);font-size:.8rem}.home-latest{margin-top:var(--space-3)}.home-latest li{line-height:1.35}.home-quote-button{min-height:auto;padding:0}.home-quote-stage{min-height:auto}.home-quote-text{font-size:.86rem;line-height:1.32}.home-quote-author{margin-top:.3rem;font-size:.72rem}}@media (max-width:380px){.home-intro h1{font-size:2.45rem}}}.sr-only{position:absolute;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0}.sr-only.focus\:not-sr-only:focus{position:absolute;padding:revert;margin:revert;overflow:visible;clip:auto;white-space:normal;width:auto;height:auto}.toc-expander summary{list-style:none}.toc-expander summary::-webkit-details-marker{display:none}.toc-expander summary:before{content:"▹";display:inline-block;margin-right:.4em;transition:transform .15s;font-size:.85em}.toc-expander[open] summary:before{transform:rotate(90deg)}@media (prefers-reduced-motion:reduce){*,:before,:after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}@property --tw-scale-x{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-y{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-z{syntax:"*";inherits:false;initial-value:1}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@layer properties{@supports ((-webkit-hyphens: none) and ( not (margin-trim: inline))) or ((-moz-orient: inline) and ( not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-tracking:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial;--tw-ease:initial}}}
