:root{--ink:#191919;--muted:#505050;--line:#b8b8b3;--accent:#263c68;--paper:#fffefa;--ff-body:"STIX Two Text","Times New Roman",serif;--ff-mono:"IBM Plex Mono",monospace;--wrap:760px;--gutter:28px}*{box-sizing:border-box;margin:0}html{scrollbar-gutter:stable;-webkit-text-size-adjust:100%;background:#eeede9}body{max-width:920px;min-height:100vh;margin:28px auto;padding:18px 0 48px;background:var(--paper);color:var(--ink);font:16px/1.5 var(--ff-body)}h1,h2,h3,h4{font-family:var(--ff-body);line-height:1.2;font-weight:600;letter-spacing:0}h1{font-size:2rem}h2{font-size:1.17rem}h3{font-size:1rem}p{overflow-wrap:break-word}a{color:inherit;text-decoration:none}a:hover{color:var(--accent);text-decoration:underline;text-underline-offset:3px}img,svg{display:block;max-width:100%;height:auto}button,input{font:inherit}a,button{touch-action:manipulation}::selection{background:#dfdfd9}:focus-visible{outline:2px solid var(--accent);outline-offset:4px}.container{width:min(var(--wrap),100% - 2 * var(--gutter));margin-inline:auto}.mono{font-family:var(--ff-mono)}.sr-only,.skip-link:not(:focus){position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.skip-link:focus{position:fixed;top:8px;left:8px;z-index:99;background:var(--ink);color:#fff;padding:12px}.nav{padding-inline:var(--gutter)}.nav-inner{max-width:var(--wrap);margin:auto;display:flex;align-items:center;justify-content:space-between;gap:16px;border-bottom:1px solid var(--ink);min-height:38px}.nav-mark{font-size:.875rem;font-variant:small-caps;letter-spacing:.04em}.nav-links{display:flex;gap:20px}.nav-links a{display:inline-block;padding:9px 0;font-size:.875rem}.nav-links a[aria-current=page]{font-style:normal;text-decoration:underline;text-underline-offset:3px}.text-link,.pill{font-size:.875rem;text-decoration:underline;text-underline-offset:3px}.hero-actions{display:flex;justify-content:center;flex-wrap:wrap;gap:8px 20px;margin-top:10px}.hero-actions .text-link{display:inline-flex;align-items:center;min-height:32px;gap:5px}.link-icon{display:inline-block;width:14px;height:14px;flex-shrink:0}.hero,.collection-intro,.case-header,.article-hero{text-align:center;padding:30px 0 20px}.hero h1{max-width:660px;margin:auto;font-size:2.05rem;line-height:1.15}.paper-byline,.collection-intro .paper-byline{font-size:1.12rem;margin:13px 0 5px;color:var(--ink)}.hero-role{font-size:.9375rem;line-height:1.4}.author-contact{margin-top:6px;font-size:.875rem}.author-contact a{text-decoration:underline;text-underline-offset:3px}.abstract{max-width:610px;margin:22px auto 0;text-align:justify;hyphens:auto;padding:0 12px}.abstract h2{text-align:center;font-size:1rem;margin-bottom:5px}.abstract p{font-size:.9375rem;line-height:1.5}.paper-kicker,.eyebrow{display:none}.collection-intro>p:not(.paper-byline){font-size:.9375rem;max-width:590px;margin:10px auto 0}.collection-intro .feed-link{display:inline-block;margin-top:9px}.about-page .collection-intro>p:not(.paper-byline){text-align:center;max-width:590px}.paper-columns{display:grid;grid-template-columns:1fr 1fr;gap:32px;margin-top:8px}.section{min-width:0;padding:8px 0}.section-head{margin-bottom:10px}.section-head h2{font-size:1.17rem}.section-head>.text-link{display:inline-block;margin-top:4px;font-size:.8125rem}.post-list,.work-grid,.xp-list,.simple-links{list-style:none;padding:0}.post-list,.work-grid{counter-reset:entry}.post-item,.work-item{position:relative;counter-increment:entry;padding-left:28px;margin:0 0 14px}.post-item:before,.work-item:before{content:"[" counter(entry) "]";position:absolute;left:0;top:1px;font-size:.9375rem}.post-row,.work-row{display:block}.post-row:hover,.work-row:hover{color:inherit;text-decoration:none}.post-row:hover h3,.work-row:hover h3{color:var(--accent);text-decoration:underline;text-decoration-thickness:1px}.post-title,.work-row h3{font-size:1rem;font-weight:600;line-height:1.3;text-decoration:underline;text-decoration-thickness:.5px;text-underline-offset:3px}.post-excerpt,.work-row p{font-size:.9375rem;line-height:1.45;margin-top:4px}.post-date,.list-meta{display:block;font-size:.8125rem;color:var(--muted);margin-top:3px;font-style:italic}.collection-page .post-item,.collection-page .work-item{margin-bottom:16px}.collection-page .work-row{display:grid;grid-template-columns:1fr auto;gap:20px}.collection-page .work-row>.list-meta{margin-top:0;white-space:nowrap}.about-section,.career-section,.related-section{margin-top:24px}.milestone-list{list-style:none;padding:0;margin-top:10px}.milestone-list li{margin-bottom:12px}.milestone-list strong{font-size:1rem}.milestone-list span{display:block;font-size:.9375rem}.milestone-list a{font-size:.875rem;text-decoration:underline;margin-right:14px}.xp-list{margin-top:10px}.xp-row{display:grid;grid-template-columns:120px 1fr;gap:20px;margin-bottom:18px}.xp-when{font-size:.875rem;font-style:italic}.xp-logo{display:none}.xp-body h3{font-size:1rem}.xp-body .org{font-size:.9375rem;font-style:italic;margin-top:2px}.xp-body p{font-size:.9375rem;line-height:1.5;margin-top:4px}.breadcrumb{display:inline-block;margin:14px 0 0;font-size:.8125rem;color:var(--muted)}.case-header{padding-top:22px}.case-header .list-meta{font-style:normal}.case-story{margin-top:20px}.case-story>p{margin:12px 0;text-align:justify;hyphens:auto}.case-story>p+p{text-indent:1.25em}.related-section .section-head{display:flex;justify-content:space-between;align-items:baseline;gap:16px}.simple-links{margin-top:8px}.simple-links li{margin:7px 0}.simple-links a{text-decoration:underline}.case-page>.related-section:last-child{border-top:1px solid var(--line);padding-top:14px}.article-breadcrumb,.article-hero,.article{max-width:760px}.article-hero{padding-top:22px}.article-hero h1{font-size:1.9rem}.article-meta{display:flex;justify-content:center;gap:14px;margin-top:4px}.article-meta .post-date{font-style:normal}.article{counter-reset:section}.article h2{font-size:1.2rem;margin:24px 0 10px;scroll-margin-top:18px}.article>h2{counter-increment:section}.article>h2:before{content:counter(section) " ";margin-right:.35em}.article h3{font-size:1.06rem;margin:18px 0 8px}.article h4{font-size:1rem;margin:14px 0 6px}.article p{margin:12px 0;text-align:justify;hyphens:auto}.article p+p{text-indent:1.25em}.article ul,.article ol{padding-left:24px;margin:12px 0}.article li{margin:4px 0}.article a{color:var(--accent);text-decoration:underline;text-underline-offset:2px}.article pre{padding:14px;overflow:auto;border:1px solid var(--line);background:#f6f5f1;margin:18px 0;font:.8125rem/1.5 var(--ff-mono)}.article code{font-family:var(--ff-mono);font-size:.85em;overflow-wrap:anywhere}.article pre code{font-size:inherit;overflow-wrap:normal}.article blockquote{margin:18px 22px;font-style:italic}.article img{margin:20px auto;max-height:600px;object-fit:contain}.article hr{border:0;border-top:1px solid var(--line);margin:22px 0}.article table{display:block;overflow:auto;border-collapse:collapse;font-size:.9375rem;margin:16px 0}.article th,.article td{padding:7px 12px;border-bottom:1px solid var(--line)}.article th{border-top:1px solid var(--ink);border-bottom:1px solid var(--ink)}.toc{font-size:.9375rem;margin:8px 0 20px}.toc summary{cursor:pointer;font-weight:600;padding:5px 0}.toc ol{margin:5px 0}.article-next{border-top:1px solid var(--line);margin-top:28px;padding-top:12px}.article-next h2{margin:0 0 8px;font-size:1.1rem}.article-next>a{display:block;margin:8px 0;font-size:.9375rem}.paper-figure{margin:22px 0;break-inside:avoid}.paper-figure figcaption{font-size:.875rem;line-height:1.45;margin-top:10px;text-align:justify}.paper-figure figcaption strong{font-variant:small-caps}@media (max-width:700px){html{background:var(--paper)}body{margin:0;padding-top:8px}.paper-columns{grid-template-columns:1fr;gap:18px}.hero h1{font-size:1.8rem}.abstract{padding-inline:0}.nav-links{gap:16px}.hero,.collection-intro{padding-top:24px}.case-story>p,.article p,.abstract,.paper-figure figcaption{text-align:left}.section-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:6px 14px}.xp-row{grid-template-columns:1fr;gap:3px}.collection-page .work-row{gap:10px}.article-hero h1{font-size:1.7rem}}@media (max-width:380px){:root{--gutter:18px}.nav-inner{flex-wrap:wrap;gap:0}.nav-links{width:100%;justify-content:space-between}.nav-mark{padding-top:4px}}@media print{@page{size:A4;margin:18mm}html,body{background:#fff}body{max-width:none;margin:0;padding:0;font-size:11pt}.container{width:100%;max-width:none}.nav,.skip-link,.breadcrumb,.hero-actions,.feed-link,.toc{display:none}.hero{padding-top:0}.paper-columns{grid-template-columns:1fr 1fr}.article p,.case-story p{orphans:3;widows:3}h1,h2,h3{break-after:avoid}.work-item,.post-item,.xp-row{break-inside:avoid}a{color:inherit}pre{white-space:pre-wrap}.paper-figure{break-inside:avoid}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}.about-page .collection-intro>p a{text-decoration:underline;text-underline-offset:3px}.about-section>p{margin-top:10px;font-size:.9375rem;line-height:1.5}.about-section>p a{text-decoration:underline;text-underline-offset:3px}.xp-body h3 a{text-decoration:underline;text-underline-offset:3px}.article figure{margin:22px 0;break-inside:avoid}.article figure img{margin:0 auto 10px}.article figcaption{font-size:.875rem;line-height:1.45;text-align:left}.hero,.collection-intro{padding-top:46px}@media (max-width:700px){.hero,.collection-intro{padding-top:36px}}@media print{.hero,.collection-intro{padding-top:0}}.project-report>section{margin-top:24px}.project-report>section>p{margin:12px 0;text-align:justify;hyphens:auto}.project-report>section>p+p{text-indent:1.25em}.project-report h2{scroll-margin-top:20px}@media (max-width:700px){.project-report>section>p{text-align:left}}.social-links{display:flex;justify-content:center;flex-wrap:wrap;gap:4px 18px;margin-top:4px;font-size:.875rem}.social-links a{padding:5px 0;text-decoration:underline;text-underline-offset:3px}.social-links a{display:inline-flex;align-items:center;gap:5px}
