.notes-index{padding-block:40px 64px}.notes-toolbar{justify-content:space-between;align-items:center;gap:18px 30px;display:flex}.notes-toolbar h1{margin-bottom:0}.notes-search{width:min(100%,430px);position:relative}.notes-search input{border:1px solid var(--strong-rule);background:var(--background);width:100%;min-height:42px;color:var(--text);border-radius:0;padding:7px 42px 7px 10px;font-size:.9rem}.notes-search kbd{color:var(--muted);font-family:var(--mono);font-size:.7rem;position:absolute;top:10px;right:11px}.topic-filter{border-bottom:1px solid var(--rule);flex-wrap:wrap;gap:7px 18px;padding-block:15px;display:flex}.topic-filter button{color:var(--link);cursor:pointer;background:0 0;border:0;border-bottom:1px solid #0000;padding:0;font-size:.78rem}.topic-filter button:hover,.topic-filter button.is-active{color:var(--text);border-color:currentColor}.notes-result-count{color:var(--muted);margin:14px 0 7px;font-size:.76rem}.note-list{border-top:1px solid var(--strong-rule)}.note-row{border-bottom:1px solid var(--rule);grid-template-columns:86px minmax(0,1fr) 55px;align-items:baseline;gap:18px;padding-block:12px;text-decoration:none;display:grid}.note-row>time,.note-row>small,.note-row>div>span{color:var(--muted);font-size:.72rem}.note-row h3{color:var(--link);margin:0 12px 0 0;font-size:.96rem;display:inline}.note-row>div>span{white-space:nowrap}.note-row>small{text-align:right;white-space:nowrap}.notes-empty{padding-block:42px}.notes-empty button,.note-meta button{color:var(--link);cursor:pointer;background:0 0;border:0;border-bottom:1px solid;padding:0}.note-page{max-width:960px;padding-bottom:70px}.note-header{border-bottom:1px solid var(--strong-rule);max-width:720px;padding-block:32px 26px}.note-back{margin-bottom:28px;font-size:.8rem;display:inline-block}.note-topic{margin-bottom:10px}.note-header h1{margin-bottom:18px;font-size:clamp(2rem,5vw,3rem)}.note-meta{color:var(--muted);flex-wrap:wrap;align-items:center;gap:7px 18px;font-size:.75rem;display:flex}.note-layout{max-width:720px;padding-top:28px}.note-aside{border-bottom:1px solid var(--rule);margin-bottom:28px;padding:12px 0;font-size:.75rem}.note-aside nav>span{margin-right:14px;font-weight:700;display:inline-block}.note-aside nav a{margin:3px 14px 3px 0;display:inline-block}.article-prose{min-width:0;font-size:1rem;line-height:1.75}.article-prose>:first-child{margin-top:0}.article-prose h2,.article-prose h3,.article-prose h4{scroll-margin-top:20px}.article-prose h2{border-top:1px solid var(--rule);margin:36px 0 12px;padding-top:18px;font-size:1.45rem}.article-prose h3{margin:26px 0 8px;font-size:1.15rem}.article-prose p,.article-prose li{max-width:68ch}.article-prose li+li{margin-top:5px}.article-prose blockquote{border-left:3px solid var(--rule);color:var(--muted);margin:24px 0;padding-left:16px}.article-prose pre,.article-prose code{font-family:var(--mono);font-size:.86em}.article-prose code{background:var(--surface);padding:.08em .22em}.article-prose pre{border:1px solid var(--rule);background:var(--surface);padding:14px;overflow-x:auto}.article-prose pre code{padding:0}.article-prose img,.article-prose iframe{border:1px solid var(--rule);max-width:100%;margin-block:22px}.article-prose table{border-collapse:collapse;width:100%;margin-block:22px;font-size:.84rem;display:block;overflow-x:auto}.article-prose th,.article-prose td{border:1px solid var(--rule);text-align:left;padding:7px 10px}.note-pagination{border-top:1px solid var(--strong-rule);grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;max-width:720px;margin-top:42px;padding-top:30px;display:grid}.note-pagination a{text-decoration:none}.note-pagination span{color:var(--muted);font-size:.7rem;display:block}.note-pagination strong{color:var(--link);font-size:.86rem}@media (width<=620px){.notes-index{padding-block:28px 52px}.notes-toolbar{flex-direction:column;align-items:stretch}.notes-search{width:100%}.note-row{grid-template-columns:1fr auto;gap:4px 14px}.note-row>time{grid-column:1}.note-row>div{grid-column:1/-1}.note-row>small{grid-area:1/2}.note-header h1{font-size:2rem}.note-pagination{grid-template-columns:1fr}}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--background:#fff;--surface:#f6f6f6;--text:#171717;--muted:#5f5f5f;--rule:#d7d7d7;--strong-rule:#858585;--link:#0645ad;--visited:#4b2f89;--page:min(960px, calc(100vw - 32px));--measure:68ch;--font:system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--mono:ui-monospace, "SFMono-Regular", Consolas, monospace}[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--background:#111;--surface:#1d1d1d;--text:#eee;--muted:#b5b5b5;--rule:#3e3e3e;--strong-rule:#858585;--link:#8ab4f8;--visited:#c8a9f4}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:20px}body{background:var(--background);color:var(--text);font-family:var(--font);-webkit-font-smoothing:antialiased;margin:0;font-size:16px;line-height:1.6}#root{flex-direction:column;min-height:100vh;display:flex}#main-content{flex:1 0 auto}::selection{color:#111;background:#fff1a8}img{max-width:100%;height:auto;display:block}button,input{font:inherit}a{color:var(--link);text-underline-offset:.16em;text-decoration:underline;text-decoration-thickness:1px}a:visited{color:var(--visited)}a:hover{text-decoration-thickness:2px}:focus-visible{outline:3px solid var(--link);outline-offset:3px}h1,h2,h3,h4,p,dl,ul,ol{margin-top:0}h1,h2,h3,h4{color:var(--text);letter-spacing:-.018em;font-weight:700;line-height:1.25}h1{font-size:clamp(2rem,5vw,2.8rem)}h2{font-size:clamp(1.3rem,3vw,1.65rem)}h3{font-size:1.05rem}.page-shell{width:var(--page);margin-inline:auto}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{z-index:1000;background:var(--text);color:var(--background);padding:7px 10px;position:fixed;top:8px;left:8px;transform:translateY(-160%)}.skip-link:focus{transform:translateY(0)}.eyebrow,.section-label,.project-card__type,.note-topic{color:var(--muted);letter-spacing:.04em;text-transform:uppercase;font-size:.78rem;font-weight:650;line-height:1.4}.site-header{border-top:3px solid var(--text);border-bottom:1px solid var(--rule)}.site-header__inner{justify-content:space-between;align-items:center;gap:18px;min-height:58px;display:flex}.wordmark{color:var(--text);flex:none;font-weight:750;text-decoration:none}.wordmark:visited{color:var(--text)}.site-navigation{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:7px 18px;font-size:.82rem;display:flex}.site-navigation>a{color:var(--text);text-decoration-color:#0000}.site-navigation>a.is-active,.site-navigation>a:hover{text-decoration-color:currentColor}.theme-toggle{color:var(--muted);cursor:pointer;background:0 0;border:0;border-bottom:1px solid;padding:0;font-size:.76rem}.site-search-link{color:var(--text);cursor:pointer;background:0 0;border:0;border-bottom:1px solid #0000;padding:0;font-size:.82rem}.site-search-link:hover{border-color:currentColor}.site-search-link kbd{color:var(--muted);font-family:var(--mono);font-size:.7rem}.route-loader{width:var(--page);min-height:60vh;margin:auto;padding-top:40px}.document-intro,.utility-page-header,.about-hero{border-bottom:1px solid var(--strong-rule);padding-block:42px 32px}.document-intro h1,.utility-page-header h1,.about-hero h1,.contact-page h1,.not-found h1{margin-bottom:8px}.document-intro__role{margin-bottom:18px;font-size:1.05rem;font-weight:650}.document-intro__summary,.utility-page-header>p,.about-hero__lede{max-width:var(--measure);color:var(--muted);font-size:1.02rem}.document-intro__links,.resume-actions,.button-row{flex-wrap:wrap;gap:7px 20px;margin-bottom:0;font-size:.86rem;display:flex}.document-section,.section,.principles,.personal-note{border-bottom:1px solid var(--rule);padding-block:36px}.section-index,.compact-section-heading,.section-heading{justify-content:space-between;align-items:baseline;gap:16px 30px;margin-bottom:18px;display:flex}.section-index h2,.compact-section-heading h2,.section-heading h2{margin:0}.impact-strip__grid{border-top:1px solid var(--rule);grid-template-columns:repeat(2,minmax(0,1fr));margin:0;display:grid}.impact-item{border-bottom:1px solid var(--rule);grid-template-columns:105px 1fr;gap:14px;padding:14px 18px 14px 0;display:grid}.impact-item:nth-child(odd){border-right:1px solid var(--rule)}.impact-item:nth-child(2n){padding-left:18px}.impact-item dt{font-weight:700}.impact-item dd{color:var(--muted);margin:0;font-size:.86rem}.case-list,.home-note-list,.experience-list{border-top:1px solid var(--strong-rule)}.case-row{border-bottom:1px solid var(--rule);grid-template-columns:minmax(0,1fr) auto;gap:20px;padding-block:18px;display:grid}.case-row__meta,.case-row__tools,.case-row__link{font-size:.76rem}.case-row__meta,.case-row__tools{color:var(--muted)}.case-row h3{margin-bottom:6px}.case-row__content>p:not(.case-row__meta,.case-row__tools){max-width:var(--measure);margin-bottom:8px}.case-row__tools{margin-bottom:0}.home-notes__layout{grid-template-columns:160px minmax(0,1fr);gap:36px;display:grid}.home-notes__intro h2{margin-bottom:7px}.home-note-list>a{border-bottom:1px solid var(--rule);grid-template-columns:minmax(0,1fr) 145px 110px;gap:12px;padding-block:10px;text-decoration:none;display:grid}.home-note-list strong{color:var(--link);font-size:.9rem}.home-note-list span,.home-note-list time{color:var(--muted);font-size:.72rem}.capability-grid,.project-grid{border-top:1px solid var(--strong-rule)}.capability-card,.project-card{border-bottom:1px solid var(--rule);grid-template-columns:210px minmax(0,1fr);gap:24px;padding-block:16px;display:grid}.capability-card h3,.project-card h3{margin-bottom:0}.capability-card p,.project-card p{margin-bottom:6px}.capability-card__tools,.project-card__type{color:var(--muted);font-size:.76rem}.case-study-stack{padding-bottom:24px}.case-study{border-bottom:1px solid var(--strong-rule);padding-block:32px}.case-study__header{justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:20px;display:flex}.case-study__header p,.case-study__header>span,.case-study__tools{color:var(--muted);margin-bottom:5px;font-size:.76rem}.case-study__header h2{margin-bottom:0}.case-study__body{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:24px 42px;display:grid}.case-study__body h3{margin-bottom:8px;font-size:.86rem}.outcome-block{border-top:1px solid var(--rule);grid-column:1/-1;padding-top:14px}.outcome-block strong{font-size:.78rem}.outcome-block p{margin:4px 0 0}.detail-list{padding-left:1.2em}.detail-list li+li{margin-top:5px}.case-study__tools{margin:18px 0 0}.about-hero{grid-template-columns:150px minmax(0,650px);gap:36px;display:grid}.portrait-frame img{aspect-ratio:1;object-fit:cover;filter:grayscale();width:150px}.about-hero__portrait>span{color:var(--muted);margin-top:7px;font-size:.72rem;display:block}.principles__grid,.personal-note{grid-template-columns:180px minmax(0,1fr);gap:36px;display:grid}.principle-list article{border-top:1px solid var(--rule);grid-template-columns:190px minmax(0,1fr);gap:20px;padding-block:14px;display:grid}.principle-list h3,.principle-list p{margin-bottom:0}.resume-actions{margin-top:15px}.resume-layout{grid-template-columns:minmax(0,1fr) 280px;gap:54px;padding-block:36px 56px;display:grid}.resume-layout h2{border-bottom:1px solid var(--strong-rule);margin-bottom:0;padding-bottom:9px;font-size:1.15rem}.experience-item{border-bottom:1px solid var(--rule);grid-template-columns:145px minmax(0,1fr);gap:22px;padding-block:20px;display:grid}.experience-item__rail,.education-item span,.resume-capability span{color:var(--muted);flex-direction:column;font-size:.72rem;display:flex}.experience-item h2{border:0;margin-bottom:2px;padding:0;font-size:1rem}.experience-item h3{color:var(--muted);margin-bottom:8px;font-size:.9rem}.experience-item p,.experience-item li{font-size:.9rem}.resume-sidebar section+section{margin-top:34px}.resume-capability,.education-item{border-bottom:1px solid var(--rule);padding-block:13px}.resume-capability h3,.education-item h3{margin-bottom:4px;font-size:.9rem}.resume-capability p,.education-item p{color:var(--muted);margin-bottom:5px;font-size:.8rem}.publication{padding-block:30px 56px}.publication__meta,.publication__topics{border-block:1px solid var(--rule);color:var(--muted);flex-wrap:wrap;gap:8px 22px;padding-block:10px;font-size:.74rem;display:flex}.publication__body{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:42px;padding-block:28px;display:grid}.publication__body>div>p:first-child{color:var(--muted);font-size:.78rem}.contact-page{grid-template-columns:minmax(0,1fr) minmax(260px,.8fr);gap:34px 60px;padding-block:42px 60px;display:grid}.contact-card,.contact-page__social{border-top:1px solid var(--strong-rule);padding-top:14px}.contact-card__email{margin-bottom:8px;font-weight:650;display:inline-block}.contact-page__social{grid-column:1/-1}.social-links{flex-wrap:wrap;gap:8px 24px;margin:0;padding:0;list-style:none;display:flex}.social-links svg{display:none}.picture-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:30px 20px;padding-block:28px 56px;display:grid}.mini-post header{justify-content:space-between;gap:10px;margin-bottom:8px;display:flex}.mini-post h3{margin:0;font-size:.88rem}.mini-post time,.mini-post .description{color:var(--muted);font-size:.72rem}.mini-post img{aspect-ratio:4/3;object-fit:cover;width:100%}.mini-post .description{margin-top:8px}.not-found{min-height:65vh;padding-block:52px}.collection-links{border-bottom:1px solid var(--rule);flex-wrap:wrap;gap:8px 22px;padding-block:12px;font-size:.78rem;display:flex}.search-page{padding-block:40px 64px}.search-page__header{border-bottom:1px solid var(--strong-rule);padding-bottom:24px}.search-page__header h1{margin-bottom:18px}.search-page__header form{max-width:720px}.search-page__header label{color:var(--muted);margin-bottom:7px;font-size:.78rem;display:block}.search-input-row{grid-template-columns:minmax(0,1fr) auto;gap:10px;display:grid}.search-input-row input{border:1px solid var(--strong-rule);background:var(--background);width:100%;min-height:46px;color:var(--text);border-radius:0;padding:8px 10px}.search-input-row button{color:var(--link);cursor:pointer;background:0 0;border:0;border-bottom:1px solid;padding:0 6px}.search-summary{color:var(--muted);margin:14px 0 7px;font-size:.76rem}.search-results,.content-index{border-top:1px solid var(--strong-rule)}.search-result,.content-index__row{border-bottom:1px solid var(--rule);grid-template-columns:135px minmax(0,1fr);gap:24px;padding-block:16px;display:grid}.search-result__meta,.content-index__row>div:first-child{color:var(--muted);flex-direction:column;font-size:.72rem;display:flex}.search-result h2,.content-index__row h2{margin-bottom:5px;font-size:1.05rem}.search-result p,.content-index__row p{max-width:var(--measure);margin-bottom:7px;font-size:.88rem}.search-result__topics,.content-index__topics{flex-wrap:wrap;gap:5px 14px;font-size:.72rem;display:flex}.search-empty{padding-block:36px}.content-index{margin-top:28px;padding-bottom:56px}.topic-index{border-top:1px solid var(--strong-rule);grid-template-columns:repeat(2,minmax(0,1fr));padding-block:28px 56px;display:grid}.topic-index article{border-bottom:1px solid var(--rule);padding:18px 22px 18px 0}.topic-index article:nth-child(odd){border-right:1px solid var(--rule)}.topic-index article:nth-child(2n){padding-left:22px}.topic-index h2{margin-bottom:6px;font-size:1.05rem}.topic-index p{color:var(--muted);margin-bottom:5px;font-size:.84rem}.topic-index span,.guide-description,.publication__related,.project-related{color:var(--muted);font-size:.75rem}.guide-description{max-width:var(--measure);font-size:.96rem}.related-content{border-top:1px solid var(--strong-rule);max-width:720px;margin-top:42px;padding-top:30px}.related-content h2{margin-bottom:12px;font-size:1.15rem}.related-link-list{border-top:1px solid var(--rule)}.related-link-list>a{border-bottom:1px solid var(--rule);grid-template-columns:minmax(0,1fr) auto;gap:18px;padding-block:10px;text-decoration:none;display:grid}.related-link-list strong{color:var(--link);font-size:.86rem}.related-link-list span,.related-topics{color:var(--muted);font-size:.72rem}.related-topics{margin-top:12px}.project-related{margin:10px 0 0}.project-related strong{color:var(--text)}.project-card .project-related{grid-column:2}.site-footer{border-top:1px solid var(--strong-rule);padding-block:24px;font-size:.76rem}.site-footer__grid{grid-template-columns:minmax(0,1fr) auto auto;align-items:start;gap:12px 30px;display:grid}.site-footer p{color:var(--muted);margin-bottom:0}.site-footer__links,.site-footer__machine{flex-wrap:wrap;gap:5px 16px;display:flex}.site-footer__legal{border-top:1px solid var(--rule);grid-column:1/-1;padding-top:12px}@media (width<=760px){:root{--page:min(100% - 28px, 960px)}.site-header__inner{flex-direction:column;align-items:flex-start;gap:9px;padding-block:12px}.site-navigation{justify-content:flex-start;gap:6px 16px;width:100%}.search-result,.content-index__row{grid-template-columns:1fr;gap:7px}.search-result__meta,.content-index__row>div:first-child{flex-direction:row;gap:12px}.topic-index{grid-template-columns:1fr}.topic-index article,.topic-index article:nth-child(2n){border-right:0;padding-inline:0}.impact-strip__grid,.home-notes__layout,.principles__grid,.personal-note,.resume-layout,.publication__body,.contact-page,.about-hero,.case-study__body{grid-template-columns:1fr}.impact-item,.impact-item:nth-child(2n){border-right:0;padding-inline:0}.home-note-list>a{grid-template-columns:1fr auto}.home-note-list strong{grid-column:1/-1}.capability-card,.project-card{grid-template-columns:1fr;gap:5px}.project-card .project-related{grid-column:1}.principle-list article{grid-template-columns:1fr;gap:5px}.experience-item{grid-template-columns:1fr;gap:8px}.experience-item__rail{flex-flow:wrap;gap:8px 18px}.picture-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.site-footer__grid{grid-template-columns:1fr}.site-footer__legal{grid-column:1}}@media (width<=480px){body{font-size:15.5px}.document-intro,.utility-page-header,.about-hero{padding-block:30px 24px}.document-section,.section,.principles,.personal-note{padding-block:28px}.case-row{grid-template-columns:1fr;gap:7px}.impact-item{grid-template-columns:92px 1fr}.picture-grid{grid-template-columns:1fr}}@media print{.site-header,.site-footer,.skip-link{display:none!important}:root{--background:#fff;--text:#000;--muted:#333;--rule:#999;--page:100%}}
