@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;450;500;550;600;650;700&family=Libre+Caslon+Display&display=swap";
:root{--paper:#f8f8f3;--white:#fff;--ink:#202720;--muted:#697066;--line:#dedfd5;--blue:#284fc9;--bluewash:#eef1fc;--orange:#db641e;--serif:"Libre Caslon Display",Georgia,serif;--sans:"DM Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{background:var(--paper);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased;margin:0;font-size:15px;line-height:1.6}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button,a,input,select,summary{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:default}button,a,select,input,summary{outline-offset:5px}button:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible,summary:focus-visible{outline:2px solid var(--blue)}a:hover{color:var(--blue)}button{color:inherit}::selection{background:#dce3fa}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.skip-link{background:var(--ink);color:#fff;z-index:100;padding:12px;position:fixed;top:-80px;left:20px}.skip-link:focus{top:12px}.site-header{border-bottom:1px solid var(--line);background:var(--paper)}.header-inner{justify-content:space-between;align-items:center;gap:24px;max-width:1320px;margin:auto;padding:22px 48px;display:flex}.brand{letter-spacing:-.6px;align-items:center;gap:11px;font-size:20px;font-weight:650;display:flex}.brand-mark{background:var(--blue);color:#fff;width:37px;height:37px;font-family:var(--serif);border-radius:8px;justify-content:center;align-items:center;padding-right:5px;font-size:29px;font-style:italic;display:inline-flex;position:relative}.brand-mark>span{font-family:var(--sans);font-size:12px;position:absolute;top:0;right:3px}.beta-label{letter-spacing:.4px;text-transform:uppercase;border:1px solid var(--line);color:var(--muted);border-radius:3px;margin-left:3px;padding:2px 6px;font-size:10px;font-weight:500}.site-header nav{gap:32px;font-size:13px;font-weight:500;display:flex}.site-header nav a:last-child{color:var(--muted)}.site-header nav a:hover{color:var(--blue)}.hero,.source-strip,.catalog-section,.closing-note,.site-footer{max-width:1224px;margin-left:auto;margin-right:auto}.hero{grid-template-columns:1fr 290px;align-items:center;gap:80px;padding:66px 0 58px;display:grid}.eyebrow{letter-spacing:1.6px;text-transform:uppercase;align-items:center;gap:10px;margin:0 0 22px;font-size:10px;font-weight:650;display:flex}.hn-mark{width:20px;height:20px;font-family:var(--sans);background:var(--orange);color:#fff;letter-spacing:0;justify-content:center;align-items:center;font-size:13px;font-weight:500;display:inline-flex}.edition{color:var(--muted);letter-spacing:1px;font-weight:400}.hero h1{font-family:var(--serif);letter-spacing:-3px;margin:0 0 24px;font-size:88px;font-weight:400;line-height:.99}.hero h1 em{color:var(--blue);font-style:normal}.hero-description{max-width:520px;color:var(--muted);margin:0 0 26px;font-size:16px;line-height:1.8}.primary-link{background:var(--blue);border:1px solid var(--blue);color:#fff;border-radius:5px;justify-content:space-between;align-items:center;gap:28px;padding:11px 18px;font-size:13px;font-weight:500;transition:background .18s,transform .18s;display:inline-flex}.primary-link:hover{color:#fff;background:#1b3ba5;transform:translateY(-1px)}.edition-card{border:1px solid var(--line);background:#f0f1e9;border-radius:3px;padding:24px 25px 0;transform:rotate(2deg);box-shadow:4px 4px #e5e7dc}.edition-kicker{letter-spacing:1.5px;color:var(--muted);font-size:9px;font-weight:650}.edition-card strong{font-family:var(--serif);letter-spacing:-3px;align-items:baseline;gap:13px;font-size:94px;font-weight:400;line-height:1.3;display:flex}.edition-card strong span{font-family:var(--sans);letter-spacing:0;color:var(--muted);font-size:13px}.edition-rule{background:#d5d9cb;height:1px}.edition-card p{color:#62695d;font-size:13px;line-height:1.8}.edition-card>a{justify-content:space-between;padding-bottom:23px;font-size:11px;font-weight:600;display:flex}.edition-bottom{border-top:1px dashed #cdd0c2;justify-content:space-between;align-items:center;padding:13px 0;display:flex}.edition-bottom span{letter-spacing:1.4px;font-size:8px}.edition-bottom b{font-family:var(--serif);font-size:22px;font-weight:400}.source-strip{border-top:1px solid var(--line);border-bottom:1px solid var(--line);color:var(--muted);justify-content:space-between;gap:12px;padding:15px 0;font-size:10px;display:flex}.source-strip>span:first-child{align-items:center;gap:7px;display:flex}.status-dot{background:#637e56;border-radius:50%;width:6px;height:6px;display:inline-block}.source-strip>a{color:#595f56}.catalog-section{padding:52px 0 0}.catalog-heading{justify-content:space-between;align-items:end;margin-bottom:29px;display:flex}.catalog-heading .eyebrow{letter-spacing:1.4px;color:var(--muted);margin-bottom:10px;font-size:9px}h2{font-family:var(--serif);letter-spacing:-.8px;margin:0;font-size:38px;font-weight:400;line-height:1.15}.catalog-heading h1{align-items:center;gap:13px;display:flex}.catalog-heading h1 span{font:11px var(--sans);border:1px solid var(--line);letter-spacing:0;color:var(--muted);border-radius:20px;padding:3px 8px}.catalog-heading>p{color:var(--muted);margin:0 0 4px;font-size:12px}.catalog-layout{grid-template-columns:218px 1fr;gap:32px;display:grid}.filters{align-self:start;position:sticky;top:30px}.filters h3{letter-spacing:1px;text-transform:uppercase;color:var(--muted);margin:13px 0 15px;font-size:10px;font-weight:500}.topic-list{flex-direction:column;gap:4px;display:flex}.topic{text-align:left;background:0 0;border:0;border-radius:4px;justify-content:space-between;align-items:center;gap:8px;padding:10px 12px;font-size:12px;display:flex}.topic>span:last-child{color:#737b6d;font-size:10px}.topic:hover{background:#eceee5}.topic.active{background:var(--bluewash);color:var(--blue);font-weight:600}.topic.active>span:last-child{color:var(--blue)}.reading-list{border-top:1px solid var(--line);margin-top:23px;padding-top:18px}.saved-filter{background:0 0;border:0;border-radius:4px;align-items:center;gap:8px;width:100%;padding:9px 11px;font-size:12px;display:flex}.saved-filter svg{stroke:currentColor;stroke-width:1.5px;width:17px;height:17px}.saved-filter b{margin-left:auto;font-size:10px;font-weight:400}.saved-filter:hover,.saved-filter.selected{color:var(--blue);background:var(--bluewash)}.reading-list p{color:var(--muted);margin:8px 0 0 36px;font-size:10px;line-height:1.8}.sidebar-note{border-top:1px solid var(--line);margin-top:28px;padding:25px 12px 0}.sidebar-note .hn-mark{width:18px;height:18px;font-size:12px}.sidebar-note p{color:var(--muted);font-size:12px;line-height:1.8}.sidebar-note a{text-underline-offset:4px;font-size:10px;text-decoration:underline}.results{min-width:0}.search-row{gap:10px;display:flex}.search-box{border:1px solid var(--line);background:var(--white);border-radius:5px;flex:1;align-items:center;gap:10px;min-width:0;padding:0 14px;display:flex}.search-box:focus-within{border-color:var(--blue);box-shadow:0 0 0 2px #284fc914}.search-box svg{width:17px;height:17px;stroke:var(--muted);stroke-width:1.5px;flex-shrink:0}.search-box input{width:100%;min-width:0;color:var(--ink);background:0 0;border:0;outline:none;height:44px;font-size:12px}.search-box input:focus-visible{outline:none}.search-box input::placeholder{color:#878d82}.search-row select{border:1px solid var(--line);color:#5e6559;background:#fff;border-radius:5px;max-width:150px;padding:0 12px;font-size:11px}.results-meta{color:var(--muted);justify-content:space-between;align-items:center;gap:10px;margin:17px 0;font-size:10px;display:flex}.results-meta p{margin:0}.results-meta>div{align-items:center;gap:5px;display:flex}.results-meta select{color:var(--ink);background:0 0;border:0;max-width:150px;padding:4px;font-size:10px}.cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.resource-card{border:1px solid var(--line);background:#fff;border-radius:7px;flex-direction:column;transition:border-color .18s,box-shadow .18s;display:flex;overflow:hidden}.resource-card:hover{border-color:#bfc8dd;box-shadow:0 5px 18px #28362806}.card-top{align-items:center;gap:10px;padding:20px 21px 0;display:flex}.category-mark{width:32px;height:32px;font-family:var(--sans);color:#5d6b51;letter-spacing:-1px;background:#eef0e8;border:1px solid #e6e8e0;border-radius:6px;place-items:center;font-size:19px;display:grid}.cat-performance{color:#bd7025;background:#fcf0de;border-color:#f5e6cd}.cat-internals{color:#68688a;background:#f1eff8;border-color:#e8e4f3}.cat-tools{color:#40679a;background:#eef3fa;border-color:#e2e9f4}.cat-architecture{color:#995c4f;background:#fbefeb;border-color:#f3e1da}.resource-type{text-transform:uppercase;letter-spacing:1px;color:var(--muted);font-size:9px}.bookmark{color:#9b9f93;background:0 0;border:0;border-radius:5px;place-items:center;width:32px;height:32px;margin-left:auto;display:grid}.bookmark svg{stroke:currentColor;stroke-width:1.5px;width:19px;height:19px}.bookmark:hover{background:var(--bluewash);color:var(--blue)}.bookmark.is-saved{color:var(--blue)}.card-body{flex:1;padding:17px 21px 16px}.card-category{letter-spacing:.2px;color:var(--muted);flex-wrap:wrap;align-items:center;gap:9px;margin:0 0 8px;font-size:9px;display:flex}.start-here{color:#63754f;background:#f0f3e9;border-radius:2px;padding:1px 5px;font-size:8px}.card-body h3{letter-spacing:-.4px;margin:0 0 12px;font-size:19px;font-weight:550;line-height:1.35}.card-summary{color:#6c7267;margin:0;font-size:12px;line-height:1.8}.card-bottom{justify-content:space-between;align-items:center;gap:10px;padding:0 21px 16px;font-size:10px;display:flex}.domain{color:#8a9084;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.card-open{color:var(--blue);flex-shrink:0;font-weight:600}.card-open span{margin-left:8px}.card-discussions{color:#858b7e;background:#fdfefb;border-top:1px solid #eeefe7;justify-content:space-between;align-items:center;gap:8px;padding:10px 21px;font-size:9px;display:flex}.card-discussions a{color:#666d60;align-items:center;gap:6px;display:flex}.hn-mini{color:#bc5b1e;background:#fbebdf;border-radius:2px;flex-shrink:0;justify-content:center;align-items:center;width:14px;height:14px;font-size:9px;display:inline-flex}.status-note{color:#8b6b3d;align-items:center;gap:6px;margin:12px 0 0;font-size:10px;display:flex}.status-note>span{background:#bb8c43;border-radius:100%;width:5px;height:5px}.load-more{background:0 0;border:1px solid #cdd1c3;border-radius:4px;justify-content:center;gap:8px;width:100%;margin-top:23px;padding:12px;font-size:12px;display:flex}.load-more:hover{background:#eeefe7}.load-more>span{color:var(--muted)}.collection-note{color:var(--muted);margin-top:20px;font-size:10px;line-height:1.8}.collection-note a{text-underline-offset:3px;text-decoration:underline}.empty-state{text-align:center;border:1px dashed var(--line);border-radius:6px;padding:80px 25px}.empty-state>span{color:var(--blue);font-size:40px}.empty-state h3{font-family:var(--serif);margin:0 0 10px;font-size:32px;font-weight:400}.empty-state p{color:var(--muted);max-width:330px;margin:0 auto 20px;font-size:13px}.closing-note{border-top:1px solid var(--line);grid-template-columns:1fr 1fr;gap:80px;margin-top:65px;padding:46px 0;display:grid}.closing-note .eyebrow{color:var(--muted);margin-bottom:14px;font-size:9px}.closing-note h2{font-size:34px}.closing-note>div:last-child{padding-top:17px}.closing-note p:not(.eyebrow){color:var(--muted);max-width:430px;margin:0 0 14px;font-size:13px;line-height:1.9}.text-link{color:var(--blue);font-size:12px;font-weight:500}.site-footer{border-top:1px solid var(--line);color:var(--muted);justify-content:space-between;gap:24px;padding:30px 0 35px;display:flex}.footer-brand{color:var(--ink);letter-spacing:-.5px;font-size:16px;font-weight:600}.footer-brand span{color:var(--blue);margin-left:4px}.site-footer p{margin:5px 0;font-size:10px}.site-footer>div:last-child{text-align:right;padding-top:5px}.site-footer p a{text-underline-offset:3px;text-decoration:underline}.detail-page,.method-page{max-width:1120px;margin:0 auto;padding:42px 0 70px}.back-link{color:var(--muted);margin-bottom:45px;font-size:12px;display:inline-block}.detail-grid{grid-template-columns:minmax(0,1fr) 265px;gap:85px;display:grid}.detail-grid h1{font-family:var(--serif);letter-spacing:-1.7px;margin:0 0 25px;font-size:60px;font-weight:400;line-height:1.05}.detail-grid .eyebrow{color:var(--blue);font-size:9px}.detail-grid .eyebrow>span{color:var(--muted);font-weight:400}.detail-summary{color:var(--muted);margin:0 0 28px;font-size:19px;line-height:1.8}.detail-section{border-top:1px solid var(--line);margin-top:45px;padding-top:30px}.detail-section h2{font-size:31px}.detail-section>p{color:var(--muted);font-size:14px;line-height:1.9}.resource-meta{border:1px solid var(--line);background:#f0f2e9;border-radius:5px;align-self:start;margin-top:5px;padding:25px}.resource-meta .eyebrow{color:var(--muted);margin-bottom:25px;font-size:9px}.resource-meta dl{margin:0}.resource-meta dt{color:var(--muted);margin-top:19px;font-size:10px}.resource-meta dd{overflow-wrap:anywhere;margin:4px 0 0;font-size:12px}.meta-caveat{color:var(--muted);border-top:1px solid #d9ddce;margin-top:22px;padding-top:20px;font-size:11px;line-height:1.8}.resource-meta .text-link{font-size:10px}.date-conflict{background:#f9f5e7;border:1px solid #e5ddbd;border-radius:4px;margin-top:25px;padding:13px}.date-conflict strong{color:#786337;font-size:11px;font-weight:600}.date-conflict p{color:#857450;margin:7px 0 0;font-size:11px;line-height:1.8}.discussions h2 span{font:12px var(--sans);color:var(--muted)}.discussions ul{margin-top:20px;padding:0;list-style:none}.discussions li{border-bottom:1px solid var(--line);align-items:baseline;gap:10px;padding:14px 0;font-size:12px;display:flex}.discussions li>a{flex:1}.discussions li>time{color:var(--muted);flex-shrink:0;font-size:9px}.discussions summary{color:var(--blue);cursor:pointer;padding:8px 0;font-size:12px}.current-status{background:#f7f0e1;border:1px solid #e6d9bc;border-radius:5px;margin-top:35px;padding:25px}.current-status h2{font-size:30px}.current-status .eyebrow{color:#8b6b3d}.current-status p:not(.eyebrow){color:#776747;font-size:13px;line-height:1.9}.current-status>div{text-underline-offset:4px;gap:20px;font-size:11px;text-decoration:underline;display:flex}.reading-hint{color:var(--muted);border-left:2px solid var(--line);margin-top:25px;padding-left:18px;font-size:12px}.empty-page{max-width:1100px;min-height:45vh;margin:90px auto}.empty-page h1{font-family:var(--serif);margin:10px 0;font-size:64px;font-weight:400}.empty-page>p{color:var(--muted)}.method-page{max-width:1000px}.method-intro{max-width:740px;margin-bottom:50px}.method-intro h1{font-family:var(--serif);letter-spacing:-1.7px;margin:0 0 25px;font-size:64px;font-weight:400;line-height:1.08}.method-intro>p:not(.eyebrow){color:var(--muted);font-size:17px;line-height:1.9}.method-page a:not(.back-link){color:var(--blue);text-underline-offset:3px;text-decoration:underline}.method-grid{grid-template-columns:1fr 1fr;gap:20px;margin-bottom:45px;display:grid}.method-step{border:1px solid var(--line);background:#fff;border-radius:6px;padding:30px}.method-number{color:var(--blue);margin-bottom:20px;font-size:12px;font-weight:600;display:block}.method-step h2{margin-bottom:17px;font-size:31px}.method-step p,.method-step li{color:var(--muted);font-size:13px;line-height:1.9}.method-note{border-top:1px solid var(--line);max-width:800px;padding:28px 0}.method-note h2,.section-heading{margin:0 0 20px;font-size:32px}.method-note h3{font-size:16px;font-weight:600}.method-note p,.method-note li{color:var(--muted);font-size:14px;line-height:1.9}.method-note code{overflow-wrap:anywhere;background:#eceee5;border-radius:3px;padding:2px 5px;font-size:11px}.method-note ul{padding-left:20px}@media (min-width:1440px){.hero h1{font-size:96px}.hero{padding-top:78px;padding-bottom:70px}.header-inner{max-width:1320px}}@media (max-width:1320px){.hero,.source-strip,.catalog-section,.closing-note,.site-footer{margin-left:48px;margin-right:48px}.detail-page,.method-page{margin:0 64px}.hero{gap:55px}}@media (max-width:1000px){.hero{grid-template-columns:1fr 240px;gap:35px}.hero h1{font-size:73px}.hero-description{font-size:14px}.edition-card{padding:20px 20px 0}.edition-card strong{font-size:80px}.catalog-layout{grid-template-columns:180px 1fr;gap:24px}.topic{padding:10px 8px;font-size:11px}.card-top{padding:17px 17px 0}.card-body{padding:16px 17px}.card-bottom{padding:0 17px 14px}.card-discussions{padding:10px 17px}.card-body h3{font-size:18px}.source-strip{font-size:9px}.detail-grid{grid-template-columns:minmax(0,1fr) 230px;gap:35px}.detail-grid h1{font-size:49px}.closing-note{gap:35px}.edition{display:none}}@media (max-width:760px){.header-inner{padding:18px 24px}.brand{font-size:18px}.brand-mark{width:32px;height:32px;font-size:26px}.beta-label{display:none}.site-header nav{gap:18px;font-size:11px}.site-header nav a:first-child{display:none}.hero,.source-strip,.catalog-section,.closing-note,.site-footer{margin-left:24px;margin-right:24px}.hero{grid-template-columns:1fr;gap:0;padding:45px 0 35px}.hero h1{letter-spacing:-2.5px;font-size:72px}.hero-description{max-width:480px;font-size:15px}.hero .eyebrow{letter-spacing:1px;font-size:9px}.edition{display:inline}.edition-card{display:none}.source-strip{flex-wrap:wrap;gap:8px 18px;font-size:9px}.source-strip>span:nth-child(2){display:none}.catalog-section{padding-top:35px}.catalog-heading{align-items:center;margin-bottom:22px}.catalog-heading>p{display:none}.catalog-heading h1{font-size:35px}.catalog-layout{display:block}.filters{position:static}.filters h3{display:none}.topic-list{flex-direction:row;gap:6px;margin-bottom:5px;padding:0 1px 10px;overflow-x:auto}.topic{white-space:nowrap;border:1px solid var(--line);flex-shrink:0;gap:10px;padding:7px 10px;font-size:11px}.topic.active{border-color:#cfd8f3}.reading-list{border:0;margin:0 0 20px;padding:0}.reading-list p{display:none}.saved-filter{gap:8px;width:auto;padding:6px 10px;font-size:11px}.sidebar-note{display:none}.search-box input{font-size:11px}.search-row select{max-width:115px;padding:0 8px;font-size:10px}.cards{gap:14px}.card-body h3{font-size:18px}.card-summary{font-size:11px}.card-discussions{padding:10px 14px;font-size:8px}.card-discussions>span{display:none}.card-body{padding:15px}.card-top{padding:16px 15px 0}.card-bottom{padding:0 15px 14px}.closing-note{grid-template-columns:1fr;gap:10px;margin-top:40px;padding:35px 0}.closing-note h2{font-size:32px}.site-footer{flex-direction:column;gap:12px}.site-footer>div:last-child{text-align:left}.detail-page,.method-page{margin:0 24px;padding:28px 0 45px}.detail-grid{flex-direction:column;gap:35px;display:flex}.detail-grid h1{font-size:48px}.detail-summary{font-size:17px}.resource-meta{width:100%}.resource-meta dl{grid-template-columns:1fr 1fr;gap:12px;display:grid}.resource-meta dt,.resource-meta dd{margin:0}.back-link{margin-bottom:30px}.method-intro h1{font-size:48px}.method-intro>p:not(.eyebrow){font-size:16px}.method-grid{grid-template-columns:1fr}.method-step{padding:25px}.empty-page{margin:55px 24px}.empty-page h1{font-size:48px}}@media (max-width:480px){.cards{grid-template-columns:1fr}.card-summary{font-size:13px}.card-body h3{font-size:22px}.card-top{padding:22px 22px 0}.card-body{padding:18px 22px}.card-bottom{padding:0 22px 18px;font-size:11px}.card-discussions{padding:12px 22px;font-size:10px}.card-discussions>span{display:block}.hero h1{font-size:65px}.hero .eyebrow{letter-spacing:.7px;gap:7px;font-size:8px}.edition{font-size:8px}.source-strip>a{font-size:9px}.results-meta label{display:none}.discussions li{flex-wrap:wrap;gap:7px}.discussions li>time{width:100%;margin-left:24px}.detail-grid h1{font-size:43px}.method-intro h1{font-size:44px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important;animation:none!important}}.method-step h3{font-family:var(--serif);letter-spacing:-.5px;margin:0 0 18px;font-size:31px;font-weight:400;line-height:1.15}.method-step code{overflow-wrap:anywhere;font-size:10px}.section-heading>.eyebrow{margin-bottom:12px}.catalog-section{padding-top:30px}.catalog-heading h1{font-family:var(--serif);letter-spacing:-.8px;margin:0;font-size:38px;font-weight:400;line-height:1.15}.catalog-heading .hn-mark{width:16px;height:16px;font-size:11px}.site-footer{margin-top:36px}@media (max-width:760px){.catalog-section{padding-top:24px}.catalog-heading h1{font-size:35px}.catalog-heading .eyebrow{letter-spacing:.7px;font-size:8px}}.catalog-heading{align-items:center;margin-bottom:20px}.catalog-heading .eyebrow{margin-bottom:0}@media (max-width:480px){.search-row{flex-wrap:wrap}.search-box{flex-basis:100%}.search-row select{flex:1;max-width:none;min-height:40px}}.header-inner{padding-top:14px;padding-bottom:14px}.header-credit{color:var(--muted);letter-spacing:.8px;text-transform:uppercase;white-space:nowrap;align-items:center;gap:7px;font-size:10px;font-weight:650;display:flex}.header-credit .hn-mark{width:16px;height:16px;font-size:11px}.brand,.site-header nav{white-space:nowrap}.detail-grid .eyebrow a{text-underline-offset:3px;text-decoration:underline}@media (max-width:760px){.header-inner{gap:8px;padding:12px 16px}.brand{gap:6px;font-size:15px}.brand-mark{width:27px;height:27px;font-size:22px}.header-credit{letter-spacing:0;text-transform:none;gap:4px;font-size:9px}.header-credit .hn-mark{width:14px;height:14px;font-size:10px}.site-header nav{font-size:10px}.site-header nav a:first-child{display:inline}}@media (max-width:380px){.header-inner{gap:5px;padding-left:10px;padding-right:10px}.brand{font-size:13px}.header-credit,.site-header nav{font-size:9px}}
