@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-cyrillic-ext-wght-normal.DjL33-gN.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-cyrillic-wght-normal.BEAKL7Jp.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-vietnamese-wght-normal.6IgcOCM7.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-latin-ext-wght-normal.DC-KSUi6.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-latin-wght-normal.BgDaEnEv.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Variable;font-style:italic;font-display:swap;font-weight:100 900;src:url(/_astro/geist-cyrillic-ext-wght-italic.BYAq_K0C.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist Variable;font-style:italic;font-display:swap;font-weight:100 900;src:url(/_astro/geist-cyrillic-wght-italic.Da0gXVk3.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Variable;font-style:italic;font-display:swap;font-weight:100 900;src:url(/_astro/geist-vietnamese-wght-italic.0fly6zkB.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist Variable;font-style:italic;font-display:swap;font-weight:100 900;src:url(/_astro/geist-latin-ext-wght-italic.XgKbg5n7.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Variable;font-style:italic;font-display:swap;font-weight:100 900;src:url(/_astro/geist-latin-wght-italic.dTnRTFFJ.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Source Serif 4 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/_astro/source-serif-4-cyrillic-ext-wght-normal.cHuGMAiY.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:"Source Serif 4 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/_astro/source-serif-4-cyrillic-wght-normal.DwHjdM4S.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:"Source Serif 4 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/_astro/source-serif-4-greek-wght-normal.ece1310W.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:"Source Serif 4 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/_astro/source-serif-4-vietnamese-wght-normal.D-yuW59g.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:"Source Serif 4 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/_astro/source-serif-4-latin-ext-wght-normal.CxNHBx-q.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Source Serif 4 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/_astro/source-serif-4-latin-wght-normal.D9elroTD.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Source Serif 4 Variable";font-style:italic;font-display:swap;font-weight:200 900;src:url(/_astro/source-serif-4-cyrillic-ext-wght-italic.BXuSHrjR.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:"Source Serif 4 Variable";font-style:italic;font-display:swap;font-weight:200 900;src:url(/_astro/source-serif-4-cyrillic-wght-italic.RLIThRd4.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:"Source Serif 4 Variable";font-style:italic;font-display:swap;font-weight:200 900;src:url(/_astro/source-serif-4-greek-wght-italic.F2ziEGcb.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:"Source Serif 4 Variable";font-style:italic;font-display:swap;font-weight:200 900;src:url(/_astro/source-serif-4-vietnamese-wght-italic.C3q834ic.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:"Source Serif 4 Variable";font-style:italic;font-display:swap;font-weight:200 900;src:url(/_astro/source-serif-4-latin-ext-wght-italic.CpkvI5hy.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Source Serif 4 Variable";font-style:italic;font-display:swap;font-weight:200 900;src:url(/_astro/source-serif-4-latin-wght-italic.D2yaqPoE.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--theme-light-canvas:#fdfdfc;--theme-dark-canvas:#171716;--theme-light-line:#ddddd7;--theme-dark-line:#373733;--canvas:var(--theme-light-canvas);--navigation:#f5f5f2;--surface:#f5f5f2;--overlay:#fff;--ink:#232322;--secondary:#656560;--line:#ddddd7;--subtle-line:#eeeee9;--hover:#edede8;--focus:#232322;--danger:#a53030;--media-edge:color-mix(in srgb, var(--ink) 10%, transparent);--project-inset-line:#eeeee9;--annotation:var(--secondary);--prose-ink:color-mix(in srgb, var(--ink) 78%, var(--canvas));--text-emphasis-weight:400;--pencil-underline-image:url(/images/pencil-underline.svg);--pencil-wave-width:24px;--pencil-wave-height:8px;--pencil-name-offset:7px;--home-mark-size:160px;--thumbnail-width:40px;--thumbnail-height:47px;--thumbnail-small-width:28px;--thumbnail-small-height:33px;--font-accent:"Source Serif 4 Variable", Georgia, "Times New Roman", serif;--font-ui:"Geist Variable", system-ui, sans-serif;--font-prose:"Geist Variable", system-ui, sans-serif;--text-title-size:22px;--text-title-leading:30px;--text-heading-size:18px;--text-heading-leading:26px;--text-body-size:16px;--text-body-leading:26px;--text-ui-size:14px;--text-ui-leading:22px;--text-caption-size:12px;--text-caption-leading:20px;--type-title:500 var(--text-title-size)/var(--text-title-leading) var(--font-accent);--type-heading:500 var(--text-heading-size)/var(--text-heading-leading) var(--font-accent);--type-body:400 var(--text-body-size)/var(--text-body-leading) var(--font-prose);--type-item:500 var(--text-body-size)/24px var(--font-accent);--type-ui-body:400 var(--text-body-size)/24px var(--font-ui);--type-ui:400 var(--text-ui-size)/var(--text-ui-leading) var(--font-ui);--type-ui-label:500 var(--text-ui-size)/var(--text-ui-leading) var(--font-ui);--type-caption:400 var(--text-caption-size)/var(--text-caption-leading) var(--font-ui);--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--space-16:64px;--space-24:96px;--page-top:var(--space-12);--page-gutter:var(--space-8);--section-gap:var(--space-16);--intro-gap:var(--space-8);--block-gap:var(--space-6);--heading-gap:var(--space-4);--paragraph-gap:var(--space-4);--summary-gap:var(--space-2);--row-padding:var(--space-4);--item-gap:var(--space-3);--copy-gap:var(--space-1);--meta-gap:var(--space-2);--flow-orientation:var(--copy-gap);--flow-identity:var(--summary-gap);--flow-narrative:var(--summary-gap);--flow-action:var(--copy-gap);--flow-metadata:var(--meta-gap);--flow-composition:var(--block-gap);--surface-inset:var(--space-4);--panel-inset:var(--space-3);--shell-inset:var(--space-2);--frame-inner-radius:var(--radius-media);--frame-offset:5px;--frame-border-width:1px;--frame-outer-radius:calc(var(--frame-inner-radius) + var(--frame-offset) + var(--frame-border-width));--panel-radius:var(--frame-outer-radius);--panel-control-radius:max(0px, calc(var(--frame-outer-radius) - var(--panel-inset) - var(--frame-border-width)));--panel-border:var(--subtle-line);--panel-shadow:0 8px 26px #2323220e;--context-panel-width:clamp(352px, 30vw, 432px);--theme-light-paper-opacity:.07;--theme-light-paper-blend:multiply;--theme-dark-paper-opacity:.072;--theme-dark-paper-blend:screen;--paper-opacity:var(--theme-light-paper-opacity);--paper-blend:var(--theme-light-paper-blend);--nav-item-block:calc((var(--control-height) - var(--text-ui-leading)) / 2);--nav-section-gap:var(--space-6);--nav-footer-gap:var(--space-4);--nav-item-inline:calc(var(--panel-inset) - 1px);--nav-category-height:32px;--nav-category-icon:16px;--nav-category-gap:2px;--type-nav-category:400 13px/20px var(--font-ui);--nav-home-ink:#6685aa;--nav-home-fill:#d5e0ec;--nav-about-ink:#a4737e;--nav-about-fill:#ecd9df;--nav-projects-ink:#aa8752;--nav-projects-fill:#eee0c7;--nav-journal-ink:#6b927b;--nav-journal-fill:#d7e5d9;--nav-knowledge-ink:#8c7bad;--nav-knowledge-fill:#e4dcf0;--nav-community-ink:#a06f5f;--nav-community-fill:#eddbd3;--nav-collection-ink:#777d9f;--nav-collection-fill:#dfe1ee;--nav-work-ink:#628f96;--nav-work-fill:#d5e5e7;--field-active-line:color-mix(in srgb, var(--ink) 8%, var(--line));--field-focus-line:color-mix(in srgb, var(--ink) 12%, var(--line));--control-gap:var(--space-2);--control-height:40px;--control-height-compact:36px;--control-hover-surface:var(--hover);--control-hover-ink:var(--ink);--action-fill:var(--ink);--action-ink:var(--canvas);--action-hover-fill:color-mix(in srgb, var(--ink), var(--canvas) 12%);--control-disabled-surface:var(--hover);--control-disabled-ink:var(--secondary);--target-size:44px;--mobile-header-height:82px;--muted:color-mix(in srgb, var(--secondary) 90%, var(--canvas));--radius-control:8px;--radius-media:12px;--radius-surface:16px;--radius-pill:999px;--nav-width:208px;--rail-width:64px;--index-width:220px;--reading-width:640px;--wide-width:896px;color-scheme:light}@media (width<=1023px){:root{--page-gutter:var(--space-6)}}@media (width<=767px){:root{--page-top:calc(var(--space-6) + env(safe-area-inset-top));--page-gutter:var(--space-5);--section-gap:var(--space-12);--intro-gap:var(--space-6)}}@media (width<=359px){:root{--page-gutter:var(--space-4)}}[data-theme=dark]{--canvas:var(--theme-dark-canvas);--navigation:#131312;--surface:#20201e;--overlay:#292927;--ink:#e6e6e1;--secondary:#a5a59e;--line:#373733;--subtle-line:#292927;--hover:#292927;--focus:#e6e6e1;--danger:#efaaaa;--project-inset-line:#292927;--panel-shadow:none;--nav-home-ink:#a5bdd6;--nav-home-fill:#3d4c61;--nav-about-ink:#d3adb7;--nav-about-fill:#58414a;--nav-projects-ink:#d4bb8f;--nav-projects-fill:#554a37;--nav-journal-ink:#a4c4af;--nav-journal-fill:#394e41;--nav-knowledge-ink:#bfb0d7;--nav-knowledge-fill:#493f5c;--nav-community-ink:#d4aa9a;--nav-community-fill:#574139;--nav-collection-ink:#b6b9d8;--nav-collection-fill:#45485e;--nav-work-ink:#9dc8cc;--nav-work-fill:#344b51;--paper-opacity:var(--theme-dark-paper-opacity);--paper-blend:var(--theme-dark-paper-blend);color-scheme:dark}@view-transition{navigation:auto}::view-transition-group(root),::view-transition-old(root),::view-transition-new(root){animation-duration:var(--motion-pageTransition);animation-timing-function:var(--ease-out)}html[data-page-arrival=true] .site-main{animation:fade-in var(--motion-pageEnter) var(--ease-layout) both}.site-navigation{view-transition-name:site-navigation}::view-transition-group(site-navigation){animation:none}::view-transition-old(site-navigation),::view-transition-new(site-navigation){mix-blend-mode:normal;animation:none}::view-transition-old(site-navigation){display:none}@keyframes arrive{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes hatch-in{0%{clip-path:circle(0% at 100% 100%)}to{clip-path:circle(150% at 100% 100%)}}@keyframes hatch-out{0%{clip-path:circle(150% at 100% 100%)}to{clip-path:circle(0% at 100% 100%)}}.enter-content{animation:arrive var(--motion-enter) var(--ease-out) both}button,a,input,textarea{transition-property:background-color,color,border-color,box-shadow;transition-duration:var(--motion-hover);transition-timing-function:var(--ease-out)}:is(.button--primary,.feedback-send,.guests-send,.project-panel-primary):active:not(:disabled):not([aria-disabled=true]){scale:.98}:is(.button--primary,.feedback-send,.guests-send,.project-panel-primary){transition-property:background-color,color,border-color,box-shadow,scale;transition-duration:var(--motion-hover), var(--motion-hover), var(--motion-hover), var(--motion-hover), var(--motion-feedback);transition-timing-function:var(--ease-out)}.theme-hatch{pointer-events:none;z-index:9999;background-color:var(--hatch-bg);animation:hatch-in calc(var(--motion-theme) / 2) var(--ease-layout) both;position:fixed;inset:0}.theme-hatch:before{content:"";opacity:.32;transform-origin:50%;background-image:url(/images/pencil-theme-wave.svg);background-repeat:repeat;background-size:48px 32px;position:absolute;inset:-75vmax;transform:rotate(-45deg)}.theme-hatch:after{content:"";pointer-events:none;opacity:var(--hatch-paper-opacity);mix-blend-mode:var(--hatch-paper-blend);background:url(/images/paper-grain.svg) 0 0/480px 480px;position:absolute;inset:0}.theme-hatch.is-leaving{animation-name:hatch-out}.icon-spinner{animation:spin var(--motion-operation) linear infinite}[data-height-animating]{overflow:clip}@media (prefers-reduced-motion:reduce),print{[data-height-animating]{height:auto!important;overflow:visible!important}}html[data-reduced-motion=true] [data-height-animating]{height:auto!important;overflow:visible!important}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;transition-delay:0s!important;animation-duration:.01ms!important;animation-iteration-count:1!important;animation-delay:0s!important}::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){animation:none!important}.theme-hatch{display:none}.icon-spinner,[data-state=sending] .send-pending{animation:none!important}:is(.button--primary,.nav-connect,.feedback-send,.guests-send,.project-panel-primary):active{scale:none}}html[data-reduced-motion=true] *,html[data-reduced-motion=true] :before,html[data-reduced-motion=true] :after{scroll-behavior:auto!important;transition-duration:.01ms!important;transition-delay:0s!important;animation-duration:.01ms!important;animation-iteration-count:1!important;animation-delay:0s!important}html[data-reduced-motion=true]::view-transition-group(*),html[data-reduced-motion=true]::view-transition-old(*),html[data-reduced-motion=true]::view-transition-new(*){animation:none!important}html[data-reduced-motion=true] .theme-hatch{display:none}html[data-reduced-motion=true] :is(.icon-spinner,[data-state=sending] .send-pending){animation:none!important}html[data-reduced-motion=true] :is(.button--primary,.nav-connect,.feedback-send,.guests-send,.project-panel-primary):active{scale:none}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes fade-out{to{opacity:0}}@keyframes panel-in{0%{opacity:0;transform:translate(-8px)}to{opacity:1;transform:none}}@keyframes panel-out{to{opacity:0;transform:translate(-8px)}}@keyframes dialog-in{0%{opacity:0;transform:translate(-50%,calc(8px - 50%))}to{opacity:1;transform:translate(-50%,-50%)}}.dialog-overlay[data-state=open]{animation:fade-in var(--motion-state) var(--ease-out)}.dialog-overlay[data-state=closed]{animation:fade-out var(--motion-feedback) var(--ease-out)}.dialog-content[data-state=open]{animation:dialog-in var(--motion-enter) var(--ease-out)}.dialog-content[data-state=closed]{animation:fade-out var(--motion-feedback) var(--ease-out)}.library-drawer[data-state=open]{animation:panel-in var(--motion-layout) var(--ease-out)}.library-drawer[data-state=closed]{animation:panel-out var(--motion-state) var(--ease-out)}@media (prefers-reduced-motion:no-preference){.mobile-menu-overlay[data-state=open]{animation:fade-in calc(var(--motion-layout) + 60ms) var(--ease-layout)}.mobile-menu-overlay[data-state=closed]{animation:fade-out calc(var(--motion-layout) + 60ms) var(--ease-layout)}.mobile-nav-drawer[data-state=open]>:is(.nav-sections,.nav-bottom){animation:mobile-menu-in calc(var(--motion-layout) + 60ms) var(--ease-layout) both}.mobile-nav-drawer[data-state=closed]{animation:fade-out calc(var(--motion-layout) + 60ms) var(--ease-layout)}@keyframes mobile-menu-in{0%{opacity:0}to{opacity:1}}}.name-mark:after{background-image:var(--pencil-underline-image);background-position:0 100%;background-repeat:repeat-x;background-size:var(--pencil-wave-width) var(--pencil-wave-height);-webkit-box-decoration-break:clone;box-decoration-break:clone}.name-mark{display:inline-block;position:relative}.name-mark:after{content:"";left:0;right:0;bottom:calc(-1 * var(--pencil-name-offset));height:var(--pencil-wave-height);pointer-events:none;animation:pencil-in var(--motion-enter) var(--ease-out) both;position:absolute}:is(.prose,.lead,.page-description,.newsletter-description,.disclosure-content,.elsewhere) a{color:var(--ink);text-decoration-line:underline;text-decoration-style:solid;text-decoration-color:var(--line);text-underline-offset:4px;text-decoration-thickness:1px}@media (hover:hover) and (pointer:fine){:is(.prose,.lead,.page-description,.newsletter-description,.disclosure-content,.elsewhere) a:hover{text-decoration-color:var(--secondary)}}.prose,.lead{color:var(--prose-ink)}:is(.prose,.lead,.page-description) strong{color:var(--ink);font-weight:var(--text-emphasis-weight)}:is(.prose,.lead,.page-description) em{color:var(--ink);font-style:italic}.prose :is(h2,h3){color:var(--ink)}@keyframes pencil-in{0%{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0)}}@media (forced-colors:active){.name-mark{text-underline-offset:4px;background-image:none;text-decoration:underline wavy}.name-mark:after{display:none}}.library-layout,.library-content{min-width:0}.library-layout>astro-island{display:contents}.library-index{inset:var(--shell-inset) auto var(--shell-inset) var(--navigation-offset);width:var(--index-width);padding:28px var(--space-3);font:var(--type-ui);z-index:25;transition:left var(--motion-layout) var(--ease-layout);position:fixed;overflow-y:auto}.library-index-title{font:var(--type-ui-label);margin:0 var(--space-3) 28px}:is(.library-index,.library-drawer) .library-index-group{margin-top:var(--space-8)}:is(.library-index,.library-drawer) .library-index-group h2{font:var(--type-caption);color:var(--secondary);margin:0 var(--space-3) var(--space-3)}.library-filter{justify-content:space-between;align-items:center;gap:var(--space-3);width:100%;min-height:40px;padding:var(--space-2) var(--space-3);text-align:left;font:var(--type-ui);color:var(--secondary);border-radius:6px;margin:2px 0;display:flex}.library-filter[aria-pressed=true]{background:var(--control-hover-surface);color:var(--control-hover-ink)}@media (hover:hover) and (pointer:fine){.library-filter:hover{color:var(--control-hover-ink);background:var(--control-hover-surface)}}.library-count{font:var(--type-caption);color:var(--secondary);font-variant-numeric:tabular-nums}.collection-toolbar{display:none}.collection-controls{gap:var(--space-4);align-items:center;display:flex}.collection-controls .search-field{min-width:0;padding-block:var(--space-2);flex:1;margin:0}.collection-controls input{min-width:0}.view-switch{border:1px solid var(--subtle-line);border-radius:var(--radius-control);padding:3px;display:flex}.view-switch button{width:32px;height:32px;color:var(--secondary);border-radius:5px;place-items:center;padding:0;display:grid}.view-switch button[aria-pressed=true]{background:var(--control-hover-surface);color:var(--control-hover-ink)}@media (hover:hover) and (pointer:fine){.view-switch button:hover{color:var(--control-hover-ink);background:var(--control-hover-surface)}}.collection-count{font:var(--type-caption);color:var(--secondary);margin:var(--space-3) 0 var(--space-4);font-variant-numeric:tabular-nums}.collection-item{align-items:start;gap:var(--space-5);padding:var(--space-6) 0;border-bottom:1px solid var(--subtle-line);grid-template-columns:60px minmax(0,1fr);display:grid}.collection-item:last-child,.collection-item--last-visible{border-bottom:0}.collection-copy,.collection-summary{min-width:0}.collection-item h3{font:var(--type-item);margin:0}.collection-item h3 a{text-decoration:none}@media (hover:hover) and (pointer:fine){.collection-item h3 a:hover{text-decoration:underline}}.collection-item small{font:var(--type-caption);color:var(--secondary);overflow-wrap:anywhere}.collection-item p{font:var(--type-body);color:var(--secondary);margin:0}.collection-artwork{border-radius:var(--radius-control);background:0 0;border:0;place-items:center;width:60px;height:72px;display:grid;overflow:hidden}.collection-artwork img{object-fit:cover;object-position:top;width:100%;height:100%}.collection-note{margin:0}.collection-note summary{font:var(--type-caption);color:var(--secondary);cursor:pointer;width:fit-content}.collection-note[open] summary{color:var(--ink)}.collection-note p{font:var(--type-ui);margin-top:var(--meta-gap)}[data-view=grid] .collection-results{gap:var(--space-6);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}[data-view=grid] .collection-item{gap:var(--space-4);padding-block:var(--space-2) var(--space-5);flex-direction:column;display:flex}[data-view=grid] .collection-artwork{aspect-ratio:16/10;background:var(--surface);border:1px solid var(--subtle-line);width:100%;height:auto}[data-view=grid] .collection-artwork .content-thumbnail{width:64px;height:76px}[data-view=grid] .collection-artwork img{object-fit:cover;object-position:top}[data-view=grid] .collection-copy{padding-inline:2px}.collection-artwork:focus-visible{outline-offset:3px}[data-view=compact] .collection-item{gap:var(--space-3);padding-block:var(--space-3);grid-template-columns:28px minmax(0,1fr);align-items:center}[data-view=compact] .collection-artwork{background:0 0;border:0;border-radius:3px;width:28px;height:32px}[data-view=compact] .collection-artwork .content-thumbnail{width:25px;height:30px}[data-view=compact] .collection-copy{justify-content:space-between;align-items:baseline;gap:var(--space-3);display:flex}[data-view=compact] .collection-summary p,[data-view=compact] .collection-note{display:none}.library-drawer{z-index:62;background:var(--overlay);width:min(320px,100vw - 32px);padding:var(--space-8) var(--space-5);font:var(--type-ui);position:fixed;inset:0 auto 0 0;overflow-y:auto}.library-drawer .library-index-title{display:none}.library-drawer .dialog-title{margin-bottom:var(--space-6)}@media (width<=1023px){.library-index{display:none}.collection-toolbar{margin-bottom:var(--space-5);display:flex}}@media (width<=600px){.collection-controls{gap:var(--space-3);flex-wrap:wrap}.collection-controls .search-field{flex-basis:100%}.view-switch button{width:40px;height:36px}.collection-item{gap:var(--space-4);grid-template-columns:48px minmax(0,1fr)}.collection-artwork{width:48px;height:58px}[data-view=grid] .collection-results{grid-template-columns:1fr}[data-view=compact] .collection-copy{align-items:flex-start;gap:var(--copy-gap);flex-direction:column}}.collection-set-row{align-items:center;gap:var(--space-3);margin:var(--space-3) 0 var(--space-4);display:flex}.collection-set-row .collection-count{white-space:nowrap;flex-shrink:0;margin:0 0 0 auto}.collection-sets{gap:var(--space-2);flex-wrap:wrap;min-width:0;display:flex}.collection-sets button{align-items:center;gap:var(--space-2);min-height:var(--control-height-compact);padding:var(--space-1) var(--space-2);border-radius:var(--radius-control);color:var(--secondary);font:var(--type-caption);display:flex}.collection-sets button[aria-pressed=true]{background:var(--control-hover-surface);color:var(--ink)}@media (hover:hover) and (pointer:fine){.collection-sets button:hover{background:var(--control-hover-surface);color:var(--ink)}}.search-dialog{z-index:65;background:var(--overlay);border:1px solid var(--line);border-radius:var(--radius-media);width:min(560px,100vw - 32px);max-height:72dvh;font:var(--type-ui);flex-direction:column;display:flex;position:fixed;top:min(18vh,160px);left:50%;overflow:hidden;transform:translate(-50%);box-shadow:0 16px 64px #00000026}.search-dialog-field{align-items:center;gap:var(--space-3);padding:var(--space-4);border-bottom:1px solid var(--subtle-line);color:var(--secondary);display:flex}.search-dialog-field input{min-width:0;color:var(--ink);font:var(--type-ui-body);background:0 0;border:0;flex:1}.search-dialog-field input:focus-visible{outline:none}.search-dialog-field button{padding:var(--space-1);border-radius:var(--radius-control);place-items:center;display:grid}@media (hover:hover) and (pointer:fine){.search-dialog-field button:hover{color:var(--control-hover-ink);background:var(--control-hover-surface)}}.search-dialog-results{padding:var(--space-2);overflow-y:auto}.search-dialog-results a{justify-content:space-between;gap:var(--space-4);padding:var(--space-3);border-radius:6px;text-decoration:none;display:flex}.search-dialog-results a:focus-visible{background:var(--control-hover-surface);outline-offset:-2px}@media (hover:hover) and (pointer:fine){.search-dialog-results a:hover{background:var(--control-hover-surface);outline-offset:-2px}}.search-result-title{font:var(--type-item);display:block}.search-result-description{-webkit-line-clamp:2;color:var(--secondary);margin-top:var(--space-1);font:var(--type-ui);-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.search-result-section{color:var(--secondary);font:var(--type-caption);white-space:nowrap}.search-no-results{color:var(--secondary);padding:var(--space-3)}.language-dialog-header{flex:none}.language-dialog-title{color:var(--ink);font:var(--type-ui-body);flex:1;margin:0}.language-options{padding:var(--space-2);min-height:0;margin:0;list-style:none;overflow-y:auto}.language-option{align-items:center;gap:var(--space-3);min-height:var(--target-size);padding:var(--space-3);border-radius:var(--radius-control);color:var(--ink);text-decoration:none;display:flex}.language-option-name{min-width:0;font:var(--type-ui-body);flex:1}.language-option-code{color:var(--secondary);font:var(--type-caption)}.language-option-current{flex:none;place-items:center;width:18px;height:18px;display:grid}.language-option[aria-current]{background:var(--surface)}.language-option:focus-visible{background:var(--control-hover-surface);outline:2px solid var(--focus);outline-offset:-2px}.language-dialog kbd{min-width:24px;height:24px;padding-inline:var(--space-1);border:1px solid var(--line);border-radius:var(--space-1);color:var(--secondary);background:var(--canvas);font:var(--type-caption);font-variant-numeric:tabular-nums;flex:none;place-items:center;display:inline-grid}.language-dialog-shortcuts{gap:var(--space-2) var(--space-4);padding:var(--space-3) var(--space-4);border-top:1px solid var(--subtle-line);color:var(--secondary);font:var(--type-caption);flex-wrap:wrap;flex:none;display:flex}.language-dialog-shortcuts>span{align-items:center;gap:var(--space-1);display:inline-flex}@media (hover:hover) and (pointer:fine){.language-option:hover{background:var(--control-hover-surface)}}@media (forced-colors:active){.language-option:focus-visible{outline-color:highlight}}.content-list{display:grid}.content-row{align-items:start;gap:var(--item-gap);min-width:0;padding:var(--row-padding) 0;text-decoration:none;display:grid}.content-list>.content-row,.content-list>.content-list-item{border-bottom:1px solid var(--subtle-line)}.content-list>:is(.content-row,.content-list-item):last-child{border-bottom:0}.content-list>.content-row:first-child,.content-list>.content-row:nth-child(1 of :not([hidden])),.content-list>.content-list-item:first-child>.content-row{padding-top:0}.content-row :is(h3,.content-row-title){font:var(--type-item);margin:0}.content-row p{font:var(--type-ui);color:var(--secondary);margin:var(--copy-gap) 0 0}.content-row .stack>p{margin:0}.content-row :is(h3,.content-row-title){text-underline-offset:4px;transition:text-decoration-color var(--motion-hover) var(--ease-out);text-decoration:underline 1px #0000}.content-row:focus-visible :is(h3,.content-row-title){text-decoration-color:var(--line)}.content-row:focus-visible .content-thumbnail{--miniature-stroke:var(--ink);--miniature-line-opacity:.65}@media (hover:hover) and (pointer:fine){.content-row:hover :is(h3,.content-row-title){text-decoration-color:var(--line)}.content-row:hover .content-thumbnail{--miniature-stroke:var(--ink);--miniature-line-opacity:.65}}.content-row small{font:var(--type-caption);color:var(--secondary);margin-top:var(--meta-gap);display:block}*{box-sizing:border-box}html{overscroll-behavior-x:none;background:var(--canvas);scroll-padding-top:var(--space-8);overflow-x:clip}body{overscroll-behavior-x:none;font-optical-sizing:auto;color:var(--ink);font:var(--type-ui-body);-webkit-font-smoothing:antialiased;margin:0;overflow-x:clip}button,input,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{color:inherit;cursor:pointer}button:disabled{cursor:default}button[aria-busy=true]{cursor:wait}a{color:inherit;text-decoration-color:var(--line);text-underline-offset:4px;text-decoration-thickness:1px}@media (hover:hover) and (pointer:fine){a:hover{text-decoration-color:var(--ink)}}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible{outline:2px solid var(--focus);outline-offset:4px}.field-surface{isolation:isolate;background:var(--surface);position:relative}:is(.newsletter-email,.search-field,.feedback-composer){--field-surface-inner-radius:var(--radius-control);--field-surface-radius:calc(var(--field-surface-inner-radius) + var(--field-surface-inset,var(--space-1)) + var(--frame-border-width))}.field-surface:after{content:"";inset:var(--field-surface-inset,var(--space-1));z-index:-1;pointer-events:none;border:1px solid var(--subtle-line);border-radius:var(--field-surface-inner-radius,max(0px,calc(var(--field-surface-radius,var(--radius-control)) - var(--field-surface-inset,var(--space-1)) - var(--frame-border-width))));background:var(--canvas);transition:border-color var(--motion-state) var(--ease-out), box-shadow var(--motion-state) var(--ease-out);position:absolute}.field-surface:focus-within:after{border-color:var(--field-active-line);box-shadow:none}.field-surface:focus-visible,.field-surface :is(input,textarea,select):focus-visible{outline:none}.field-surface:focus-visible:after,.field-surface:has(:is(input,textarea,select):focus-visible):after{border-color:var(--field-focus-line)}.field-surface:has([aria-invalid=true]):after,.field-surface:has([aria-invalid=true]):focus-within:after,.field-surface:has([aria-invalid=true]):has(:is(input,textarea,select):focus-visible):after{border-color:var(--danger)}@media (forced-colors:active){.field-surface:focus-visible,.field-surface :is(input,textarea,select):focus-visible{outline-offset:2px;outline:2px solid highlight}}button{background:0 0;border:0}img{max-width:100%;height:auto;display:block}.media-edge,.prose figure img,.author img,.content-card-preview img,.collection-artwork--image img{outline:1px solid var(--media-edge);outline-offset:-1px}.numeric-live,.numeric-column{font-variant-numeric:tabular-nums}.numeric-column{text-align:right}svg{flex-shrink:0}::selection{background:var(--ink);color:var(--canvas)}[hidden]{display:none!important}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.skip-link{z-index:1000;background:var(--overlay);padding:var(--space-3);position:fixed;top:-80px;left:16px}.skip-link:focus{top:16px}.site-main{--content-left-inset:var(--navigation-offset);--content-right-inset:0px;--content-optical-left-limit:var(--space-6);--content-optical-bias:clamp(calc(-1 * var(--space-6)), calc((var(--content-left-inset) - var(--content-right-inset)) / 4), var(--content-optical-left-limit));margin-left:var(--content-left-inset);margin-right:var(--content-right-inset);min-height:100vh;padding:var(--page-top) calc(var(--page-gutter) + var(--content-optical-bias)) var(--space-8) calc(var(--page-gutter) - var(--content-optical-bias));transition:margin-left var(--motion-layout) var(--ease-layout), margin-right var(--motion-layout) var(--ease-layout), padding-left var(--motion-layout) var(--ease-layout), padding-right var(--motion-layout) var(--ease-layout)}@media (width>=1024px){html:not([data-nav-collapsed=true]) .site-main{--content-optical-left-limit:var(--space-8)}html[data-context-panel=open] .site-main{--content-right-inset:calc(var(--context-panel-width) + var(--shell-inset) * 2)}}.document{max-width:var(--reading-width);margin-inline:auto}.document--wide{max-width:var(--wide-width)}.document-intro{margin-bottom:var(--intro-gap)}.author{gap:var(--space-4);margin-bottom:var(--block-gap);align-items:center;display:flex}.author img{object-fit:cover;border-radius:50%;width:56px;height:56px}.author h1{font:var(--type-title);margin:0 0 var(--copy-gap)}.author .roles{font:var(--type-ui-body);color:var(--secondary);margin:0}.lead{font:var(--type-body);max-width:var(--reading-width);margin:0}.lead+.lead{margin-top:var(--paragraph-gap)}.section{margin-block:var(--section-gap)}.section-heading{justify-content:space-between;align-items:baseline;gap:var(--space-4);margin-bottom:var(--heading-gap);display:flex}.section-heading h2,.section h2{font:var(--type-heading);margin:0}.section-heading>a{font-size:var(--text-ui-size);color:var(--secondary)}.section-heading .rule{background:var(--subtle-line);flex:1;align-self:center;height:1px}.page-heading,.section .page-heading{margin:0 0 var(--heading-gap);font:var(--type-title);letter-spacing:-.025em}.page-description{font:var(--type-body);color:var(--secondary);margin:0}.structural-divider{background-image:linear-gradient(to right, var(--line) 1px, transparent 1px);height:1px;margin:var(--space-6) 0;background-size:5px 1px;border:0;position:relative}.structural-divider:before,.structural-divider:after{content:"";border:1px solid var(--line);background:var(--canvas);border-radius:50%;width:3px;height:3px;position:absolute;top:-1px}.structural-divider:before{left:0}.structural-divider:after{right:0}.project-list{display:grid}.project-row{grid-template-columns:var(--thumbnail-small-width) minmax(0,1fr);align-items:center}.project-row--typed{grid-template-columns:var(--thumbnail-small-width) minmax(0,1fr) auto}.project-row-copy{min-width:0;font:var(--type-ui-body)}.project-row-type{color:var(--secondary);font:var(--type-caption)}.project-row h3{font:var(--type-item);margin:0;display:inline}.project-row p{font:var(--type-ui);color:var(--secondary);margin:0;display:inline}.project-slash{padding-inline:var(--space-2);color:var(--secondary);opacity:.55}.miniature-specimens{gap:var(--space-8);flex-wrap:wrap;display:flex}.miniature-specimens>div{justify-items:center;gap:var(--summary-gap);font:var(--type-caption);color:var(--secondary);display:grid}.project-grid{gap:var(--space-4);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.project-card{border:1px solid var(--subtle-line);border-radius:var(--radius-media);padding:var(--space-4);text-decoration:none;display:block;overflow:hidden}@media (hover:hover) and (pointer:fine){.project-card:hover{border-color:var(--secondary)}}.project-card figure{margin:0 0 var(--paragraph-gap);background:var(--surface);aspect-ratio:16/10;border-radius:6px;overflow:hidden}.project-card img{object-fit:cover;width:100%;height:100%}.project-card h3{font-size:var(--text-body-size);margin:0;font-weight:500}.project-card p{font:var(--type-body);color:var(--secondary);margin:var(--space-1) 0 var(--space-2)}.quiet-link{font:var(--type-ui);color:var(--secondary);align-items:center;gap:6px;display:inline-flex}.elsewhere{font:var(--type-body);color:var(--secondary);margin:var(--intro-gap) 0 0}.newsletter{margin-top:var(--section-gap);padding-top:var(--block-gap);border-top:1px solid var(--subtle-line)}.newsletter h2{font:var(--type-heading);margin:0}.newsletter-description{font:var(--type-body);color:var(--secondary);margin:0}.newsletter-fields{gap:var(--space-2);align-items:center;display:flex}.newsletter-email{min-width:0;min-height:calc(var(--control-height) + var(--frame-offset) * 2 + var(--frame-border-width) * 2);padding:var(--frame-offset);border:1px solid var(--subtle-line);border-radius:var(--field-surface-radius);background:var(--surface);--field-surface-inset:var(--frame-offset);flex:1;display:flex}.newsletter input[type=email]{color:var(--ink);width:100%;min-width:0;padding:0 var(--space-3);font:var(--type-ui);background:0 0;border:0;outline:none}.newsletter-fields>button{flex:none}.newsletter input::placeholder{color:var(--secondary)}.button{justify-content:center;align-items:center;gap:var(--space-2);white-space:nowrap;min-height:var(--control-height);padding:var(--space-2) var(--space-4);border:1px solid var(--line);border-radius:var(--radius-control);background:var(--canvas);font:var(--type-ui-label);text-decoration:none;display:inline-flex}@media (hover:hover) and (pointer:fine){.button:hover:not(:disabled):not([aria-disabled=true]){background:var(--control-hover-surface);color:var(--control-hover-ink)}}.button--primary{background:var(--action-fill);color:var(--action-ink);border-color:var(--action-fill);border-radius:var(--radius-control)}@media (hover:hover) and (pointer:fine){.button--primary:hover:not(:disabled):not([aria-disabled=true]){background:var(--action-hover-fill);color:var(--action-ink);border-color:var(--action-hover-fill)}}.segmented-control{align-items:center;gap:var(--space-2);padding:var(--frame-offset);border:1px solid var(--subtle-line);border-radius:var(--frame-inner-radius);background:var(--surface);grid-template-columns:max-content 1px max-content;display:inline-grid}.segmented-control>button{min-width:96px;min-height:var(--control-height);padding:var(--nav-item-block) var(--nav-item-inline);border-radius:var(--radius-control);color:var(--secondary);font:var(--type-ui);transition:color var(--motion-hover) var(--ease-out),background var(--motion-hover) var(--ease-out),border-color var(--motion-hover) var(--ease-out);border:1px solid #0000;position:relative}.segmented-divider{background:var(--subtle-line);pointer-events:none;width:1px;height:20px}.segmented-control>button[aria-pressed=true]{color:var(--ink);background:var(--canvas)}@media (hover:hover) and (pointer:fine){.segmented-control>button:hover:not([aria-pressed=true]){color:var(--control-hover-ink);background:var(--control-hover-surface)}}.button:disabled,.button[aria-disabled=true]{background:var(--control-disabled-surface);color:var(--control-disabled-ink);border-color:var(--subtle-line)}:is(.button--primary,.feedback-send,.guests-send,.project-panel-primary){isolation:isolate;position:relative}:is(.button--primary,.feedback-send,.guests-send,.project-panel-primary):before{content:"";z-index:-1;border-radius:inherit;opacity:.72;pointer-events:none;background:url(/images/ink-marks/print-grain.svg) 0 0/192px 64px;position:absolute;inset:0}[data-theme=dark] :is(.button--primary,.feedback-send,.guests-send,.project-panel-primary):before{filter:invert()}:is(.button--primary,.feedback-send,.guests-send,.project-panel-primary):is(:disabled,[aria-disabled=true]):before{opacity:0}.newsletter-note,.newsletter-status{font:var(--type-caption);color:var(--secondary);margin:var(--space-2) 0 0}.newsletter-note{color:var(--muted)}.newsletter-sample-link{color:inherit;text-decoration:underline;text-decoration-color:var(--subtle-line);text-underline-offset:var(--space-1);transition:color var(--motion-hover) var(--ease-out),text-decoration-color var(--motion-hover) var(--ease-out)}@media (hover:hover) and (pointer:fine){.newsletter-sample-link:hover{color:var(--ink);text-decoration-color:currentColor}}.newsletter-caption{min-height:40px;margin-top:var(--space-2);display:grid}.newsletter-caption p{grid-area:1/1;margin:0}.newsletter-status:empty,.newsletter form:is([data-state=error],[data-state=sent]) .newsletter-note{visibility:hidden}.newsletter-fields .button{border-radius:var(--radius-control)}.newsletter-fields:has([aria-invalid=true]){border-color:var(--danger)}.newsletter form[data-state=sending] .newsletter-fields{opacity:.7}.newsletter-status[data-error=true]{color:var(--danger)}.newsletter-trap{position:absolute;left:-10000px}.footer{margin-top:var(--section-gap);padding-top:var(--block-gap);border-top:1px solid var(--subtle-line);color:var(--secondary);font:var(--type-caption)}.footer-line{justify-content:space-between;align-items:center;gap:var(--space-4);flex-wrap:wrap;display:flex}.footer-invitation{font:var(--type-body);margin:0 0 var(--space-8)}.footer-invitation a{color:var(--ink)}.footer-author{color:var(--secondary);white-space:nowrap}.footer-legal{align-items:center;gap:var(--space-4);flex-wrap:wrap;display:flex}.footer-links{gap:var(--space-4);flex-wrap:wrap;display:flex}.last-visitor{margin:var(--space-4) 0 0;font-size:var(--text-caption-size)}.last-visitor:empty{display:none}.prose{font:var(--type-body)}.prose p{margin:0 0 var(--paragraph-gap)}.prose>:last-child{margin-bottom:0}.prose h2{font:var(--type-heading);margin:var(--intro-gap) 0 var(--heading-gap);letter-spacing:-.015em}.prose h3{font:var(--type-item);margin:var(--block-gap) 0 var(--heading-gap)}.prose ul,.prose ol{margin:0 0 var(--paragraph-gap);padding-left:var(--space-6)}.prose li{padding-left:var(--space-1);margin-bottom:var(--space-2)}.prose blockquote{border-left:2px solid var(--line);padding-left:var(--space-6);margin:var(--block-gap) 0;color:var(--secondary);hanging-punctuation:first allow-end;font-style:italic}.prose figure{margin:var(--block-gap) 0}.prose figure img{border-radius:var(--radius-media);width:100%;height:auto}.prose figcaption{font:var(--type-ui);color:var(--secondary);margin-top:var(--meta-gap)}.prose table{border-collapse:collapse;width:100%;font:var(--type-ui)}.prose td,.prose th{text-align:left;padding:var(--space-3) var(--space-2);border-bottom:1px solid var(--line)}.table-scroll{margin:var(--block-gap) 0;overflow:auto}.prose code{background:var(--surface);padding:2px var(--space-1);border-radius:3px;font:13px/22px ui-monospace,monospace}.prose pre{max-width:100%;padding:var(--surface-inset);background:var(--surface);border:1px solid var(--subtle-line);border-radius:var(--radius-control);white-space:pre;overflow-x:auto}.prose pre code{background:0 0;border-radius:0;padding:0}.article-nav{margin-bottom:var(--block-gap);justify-content:space-between;align-items:center;gap:var(--space-4);font:var(--type-ui);color:var(--secondary);display:flex}.text-button{font:inherit;color:inherit;padding:0}.article-meta{gap:var(--space-4);font:var(--type-ui);color:var(--secondary);flex-wrap:wrap;margin:0;display:flex}.article-header{margin-bottom:var(--block-gap)}.article-header .lead{color:var(--secondary)}.contents{border-block:1px solid var(--subtle-line);padding:var(--space-4) 0;margin:var(--block-gap) 0;font:var(--type-ui)}.contents summary{cursor:pointer}.contents ol{padding-left:var(--space-5);margin-bottom:0}.footnotes{font:var(--type-body);border-top:1px solid var(--subtle-line);margin-top:var(--space-12);padding-top:var(--space-5)}.publication-row{grid-template-columns:minmax(0,1fr) auto}.publication-row h3{font:var(--type-item);margin:0}.publication-row p{font:var(--type-body);color:var(--secondary);margin:var(--copy-gap) 0 0}.publication-row time{color:var(--secondary);font:var(--type-ui);font-variant-numeric:tabular-nums}.empty-state{font:var(--type-body);color:var(--secondary);padding:var(--block-gap) 0}.empty-state p{margin:0 0 var(--space-3)}.search-field{align-items:center;gap:var(--space-2);border:1px solid var(--subtle-line);border-radius:var(--field-surface-radius);padding:calc(var(--frame-offset) + var(--space-2));margin-bottom:var(--space-6);color:var(--secondary);--field-surface-inset:var(--frame-offset);display:flex}.search-field input{color:var(--ink);width:100%;font:var(--type-ui);background:0 0;border:0;outline:none}.dialog-overlay{z-index:60;backdrop-filter:blur(3px);background:#00000040;position:fixed;inset:0}.dialog-content{z-index:61;width:min(400px,100vw - 32px);padding:var(--space-6);background:var(--overlay);border:1px solid var(--line);border-radius:var(--radius-media);position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 12px 48px #0000001f}.dialog-title{font:var(--type-heading);margin:0 0 var(--copy-gap)}.dialog-description{font:var(--type-body);color:var(--secondary);margin:0 0 var(--block-gap)}.contact-list a{padding:var(--space-3) 0;border-bottom:1px solid var(--subtle-line);font-size:var(--text-ui-size);justify-content:space-between;text-decoration:none;display:flex}.contact-list a:last-child{border:0}.dialog-close{padding:var(--space-2);border-radius:var(--radius-control);color:var(--secondary);position:absolute;top:12px;right:12px}@media (hover:hover) and (pointer:fine){.dialog-close:hover{color:var(--control-hover-ink);background:var(--control-hover-surface)}}.specimen-banner{font:var(--type-caption);padding:var(--space-3) var(--space-4);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-control);margin-bottom:var(--space-8)}.specimen-banner a{margin-right:var(--space-4)}.specimen-samples{gap:var(--block-gap);display:grid}.specimen-label{font:var(--type-caption);color:var(--secondary);margin:0 0 var(--space-3)}.swatches{gap:var(--space-3);grid-template-columns:repeat(4,1fr);display:grid}.swatch{border:1px solid var(--line);border-radius:var(--radius-control);padding:var(--space-4) var(--space-3);font-size:var(--text-caption-size)}.motion-controls{align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}@media (width<=767px){.site-main{--content-left-inset:0px;padding:var(--page-top) var(--page-gutter) var(--block-gap)}.author{align-items:flex-start;gap:var(--space-3);margin-bottom:var(--space-6)}.author img{width:48px;height:48px}.author .roles{font-size:var(--text-body-size);max-width:260px;line-height:24px}.project-row{gap:var(--space-2)}.project-grid{grid-template-columns:1fr}.publication-row{gap:var(--space-2) var(--space-3)}.swatches{grid-template-columns:repeat(2,1fr)}}@media (width<=359px){.site-main{padding-inline:var(--page-gutter)}.newsletter-fields{flex-wrap:wrap}.newsletter-fields button{width:100%}}@media print{.site-navigation,.mobile-header,.newsletter,.article-nav,.library-index,.specimen-banner{display:none!important}.site-main{padding:0;margin:0!important}.document{max-width:none}.prose{font-size:12pt;line-height:1.5}body{color:#000;background:#fff}a{color:#000}.footer{break-inside:avoid}}.device-links{justify-content:center;gap:var(--block-gap);margin:0 0 var(--paragraph-gap);font-size:var(--text-ui-size);display:flex}.device-frame{outline:1px solid var(--line);border-radius:var(--radius-media);background:var(--canvas);border:0;width:390px;max-width:100%;height:844px;margin-inline:auto;display:block}@media (width<=767px){.newsletter-fields button{min-height:40px}}.publication-group{margin:0}.publication-group+.publication-group{margin-top:var(--block-gap)}.publication-group-entries{min-width:0}.publication-list--archive .publication-group--dated{grid-template-columns:64px minmax(0,1fr);gap:24px;display:grid}.section .publication-year{color:var(--secondary);font:var(--type-item);align-self:start;margin:0;padding:0}.publication-row:focus-visible{outline-offset:4px}.no-script-navigation{gap:var(--space-3) var(--space-5);font:14px/22px var(--font-ui);flex-wrap:wrap;margin-bottom:32px;display:flex}.newsletter-fields button{display:grid}.newsletter-fields button>span{grid-area:1/1}.newsletter-fields button>span[aria-hidden=true]{visibility:hidden}.motion-controls>.button--primary{min-width:148px}button[aria-disabled=true]{cursor:wait}button[aria-disabled=true]:active{transform:none}.publication-list--reading .publication-row{grid-template-columns:var(--thumbnail-width) minmax(0,1fr) auto;align-items:start;column-gap:var(--item-gap)}.publication-list--reading .publication-row p{font:var(--type-ui)}@media (width<=767px){.project-row{gap:var(--space-3)}.project-row h3{display:block}.project-slash{display:none}.project-row p{font-size:var(--text-ui-size);line-height:22px}.project-row--typed{grid-template-columns:var(--thumbnail-small-width) minmax(0,1fr) auto}.publication-list--reading .publication-row{grid-template-columns:var(--thumbnail-width) minmax(0,1fr)}.publication-list--reading .publication-row time{grid-column:2}}.content-language-note{color:var(--secondary);font:var(--type-caption);margin:0}.publication-list--editorial .publication-row{grid-template-columns:var(--thumbnail-width) minmax(0,1fr);row-gap:var(--space-3);padding-block:var(--row-padding)}.publication-list--editorial .publication-row time{font:var(--type-caption);grid-column:2}.publication-list--editorial .publication-row:first-child{padding-top:0}.document-intro--divided{padding-bottom:var(--intro-gap);border-bottom:1px solid var(--subtle-line)}.article-reading-layout{position:relative}.article-rich-text :is(h2,h3){scroll-margin-top:var(--space-8)}.article-rich-text h2{margin-top:var(--block-gap)}.article-rich-text>:first-child{margin-top:0}.article-rich-text img{border-radius:var(--radius-control);max-width:100%;height:auto}.article-rich-text figure{margin:var(--block-gap) 0}.article-rich-text figcaption,.article-footnote{font:var(--type-caption);color:var(--secondary)}.article-rich-text hr{border:0;border-top:1px solid var(--subtle-line);margin:var(--block-gap) 0}.article-table{margin-block:var(--space-6);overflow-x:auto}.article-table table{border-collapse:collapse;width:100%;font:var(--type-ui)}.article-table :is(td,th){padding:var(--space-3);border:1px solid var(--subtle-line);text-align:left}.article-table p{margin:0}.article-footnote{scroll-margin-top:var(--space-8);margin-block:var(--space-3)}.article-contents{margin-bottom:var(--block-gap)}.article-contents nav{position:relative}.article-contents nav a{padding:var(--space-2) 0 var(--space-2) var(--space-6);font:var(--type-caption);color:var(--secondary);text-decoration:none;display:block;position:relative}.article-contents nav a[data-level="3"]{padding-left:var(--space-8)}.article-contents nav a:is([aria-current],:hover,:focus-visible){color:var(--ink)}.article-contents-hook{width:var(--space-4);border-left:1px dashed var(--secondary);border-bottom:1px dashed var(--secondary);border-bottom-left-radius:var(--radius-control);pointer-events:none;position:absolute;top:0;left:0}.article-contents-hook.is-hover{opacity:.35}.article-with-contents{position:relative}.article-contents-heading{justify-content:space-between;align-items:baseline;gap:var(--space-3);margin-bottom:var(--space-3);display:flex}.article-contents-heading h2{font:var(--type-item);margin:0}.article-back{align-items:center;gap:var(--space-1);font:var(--type-caption);color:var(--secondary);white-space:nowrap;display:inline-flex}.article-back svg{flex:none}@media (width>=1440px){.article-contents{right:calc(100% + var(--space-8));width:200px;height:100%;padding-right:var(--space-6);border-right:1px solid var(--subtle-line);margin:0;position:absolute;top:0}.article-contents-inner{top:var(--space-8);position:sticky}}@media (width<=1439px){.article-contents{padding-block:var(--space-6);border-block:1px solid var(--subtle-line)}}html{isolation:isolate;min-height:100%;position:relative}body{z-index:1;background:0 0;min-height:100vh;position:relative}html:before{content:"";z-index:0;pointer-events:none;opacity:var(--paper-opacity);mix-blend-mode:var(--paper-blend);background:url(/images/paper-grain.svg) 0 0/480px 480px;position:fixed;inset:-100vh 0}.site-main{background:0 0}@media print,(forced-colors:active){html:before{display:none}}
