:root{color-scheme:light;--color-bg: #f6f7f4;--color-surface: #ffffff;--color-surface-subtle: #fdfdfb;--color-text: #151c1d;--color-muted: #5f6d6d;--color-soft: #849190;--color-border: #d9e0dd;--color-border-strong: #c3ceca;--color-accent: #2f6f73;--color-accent-strong: #214f52;--color-accent-soft: #e3eeee;--color-warm: #8a6f3f;--color-code-bg: #eef4f3;--color-code-text: #183f42;--shadow-card: 0 10px 30px rgba(24, 42, 43, .045);--font-sans: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--page-width: 1120px;--article-width: 700px;--reading-progress: 0}*{box-sizing:border-box}html{background:var(--color-bg)}body{margin:0;background:var(--color-bg);color:var(--color-text);font-family:var(--font-sans);line-height:1.72;text-rendering:optimizeLegibility}::selection{background:var(--color-accent-soft);color:var(--color-text)}a{color:var(--color-accent-strong);text-decoration-color:#2f6f7373;text-decoration-thickness:.08em;text-underline-offset:.18em;transition:color .16s ease,text-decoration-color .16s ease,background-color .16s ease,border-color .16s ease,box-shadow .16s ease}a:hover{color:var(--color-accent);text-decoration-color:currentColor}a:focus-visible{border-radius:4px;outline:2px solid rgba(47,111,115,.32);outline-offset:4px}.skip-link{background:var(--color-text);color:var(--color-surface);font-weight:700;left:16px;padding:10px 14px;position:fixed;text-decoration:none;top:16px;transform:translateY(-160%);z-index:10}.skip-link:focus{transform:translateY(0)}.site-header{background:#f6f7f4e6;border-bottom:1px solid var(--color-border)}.site-header-inner{align-items:center;display:flex;justify-content:space-between;margin:0 auto;max-width:var(--page-width);padding:20px 24px}.site-title{color:var(--color-text);font-size:1rem;font-weight:800;text-decoration:none}.site-title:before{background:var(--color-accent);content:"";display:inline-block;height:.7em;margin-right:10px;vertical-align:-.02em;width:.7em}.site-nav{display:flex;gap:6px;font-size:.92rem}.site-nav a{border-radius:8px;color:var(--color-muted);padding:7px 10px;text-decoration:none}.site-nav a:hover{background:#e3eeeead;color:var(--color-accent-strong)}main{margin:0 auto;max-width:var(--page-width);padding:54px 24px 96px}.hero{border-bottom:1px solid var(--color-border);max-width:920px;padding:46px 0 48px}.hero h1,.page-heading h1,.article h1{letter-spacing:0;line-height:1.14;margin:0}.hero h1{font-size:4rem;max-width:820px}.hero p:not(.eyebrow),.page-heading p:not(.eyebrow),.lead{color:var(--color-muted);font-size:1.08rem;max-width:690px}.hero-signals{display:flex;flex-wrap:wrap;gap:10px;list-style:none;margin:26px 0 0;padding:0}.hero-signals li{background:#ffffffb8;border:1px solid var(--color-border);border-radius:8px;color:var(--color-muted);font-size:.88rem;font-weight:650;padding:7px 11px}.section{border-top:0;padding:42px 0 0}.section+.section{margin-top:12px}.section-heading{align-items:end;display:flex;gap:16px;justify-content:space-between;margin-bottom:18px}.section-heading h2,.page-heading h1{font-size:2rem;line-height:1.22;margin:0}.section-link{font-size:.92rem;font-weight:700;text-decoration:none}.section-link:after{content:" ->"}.page-heading{border-bottom:1px solid var(--color-border);margin-bottom:30px;max-width:820px;padding-bottom:28px}.eyebrow,.list-meta{color:var(--color-accent-strong);font-size:.76rem;font-weight:800;letter-spacing:0;margin:0 0 10px;text-transform:uppercase}.list-meta{color:var(--color-soft)}.item-list{display:grid;gap:14px}.list-item{background:#ffffffb8;border:1px solid var(--color-border);border-radius:8px;box-shadow:0 1px #fffc inset;padding:24px;transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease}.list-item:hover{border-color:var(--color-border-strong);box-shadow:var(--shadow-card);transform:translateY(-.5px)}.list-item h2{font-size:1.28rem;line-height:1.34;margin:0 0 8px}.list-item h2 a{color:var(--color-text);text-decoration:none}.list-item h2 a:hover{color:var(--color-accent-strong)}.list-description{color:var(--color-muted);margin:0 0 18px;max-width:760px}.tag-list{display:flex;flex-wrap:wrap;gap:7px;list-style:none;margin:0;padding:0}.tag-list li{background:var(--color-accent-soft);border:1px solid rgba(47,111,115,.16);border-radius:999px;color:var(--color-accent-strong);font-size:.78rem;font-weight:650;padding:3px 9px}.article,.article-shell{margin:0 auto;max-width:var(--article-width)}.article-header{border-bottom:1px solid var(--color-border);margin-bottom:42px;padding-bottom:34px}.article-meta{align-items:baseline;border-left:2px solid var(--color-border-strong);display:flex;gap:12px;margin-bottom:18px;padding-left:14px}.article-meta p{color:var(--color-soft);font-size:.9rem;margin:0}.article-meta .eyebrow{color:var(--color-text);margin:0}.article h1{font-size:2.9rem}.lead{margin-bottom:18px}.muted{color:var(--color-soft);font-size:.92rem}.prose{color:#243031;font-size:1.0625rem;line-height:1.86}.prose-section{max-width:var(--article-width)}.prose h2{color:var(--color-text);font-size:1.42rem;line-height:1.35;margin:2.45em 0 .65em;padding-top:.2em}.prose h3{color:var(--color-text);font-size:1.12rem;line-height:1.42;margin:2em 0 .45em}.prose p{margin:0 0 1.36em}.prose ul,.prose ol{margin:0 0 1.35em;padding-left:1.35em}.prose li+li{margin-top:.35em}.prose a{font-weight:650}.prose code{background:var(--color-code-bg);border:1px solid rgba(47,111,115,.12);border-radius:4px;color:var(--color-code-text);font-size:.9em;padding:.1em .32em}.prose pre{background:#152122;border:1px solid #2d3b3d;border-radius:8px;color:#f3f6f4;line-height:1.65;overflow-x:auto;padding:18px}.prose blockquote{border-left:2px solid var(--color-border-strong);color:var(--color-muted);margin:1.8em 0;padding:.05em 0 .05em 1em}.prose pre code{background:transparent;border:0;color:inherit;padding:0}.link-list{display:flex;flex-wrap:wrap;gap:10px;list-style:none;margin:0 0 28px;padding:0}.link-list a{border:1px solid var(--color-border);border-radius:8px;display:inline-flex;font-weight:700;padding:8px 12px;text-decoration:none}.link-list a:hover{background:var(--color-accent-soft);border-color:#2f6f733d}.reading-progress{height:2px;left:0;pointer-events:none;position:fixed;top:0;width:100%;z-index:20}.reading-progress span{background:var(--color-accent);display:block;height:100%;transform:scaleX(var(--reading-progress));transform-origin:left center;transition:transform 80ms linear;width:100%}@keyframes reading-progress-fill{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@supports (animation-timeline: scroll()){.reading-progress span{animation:reading-progress-fill linear both;animation-timeline:scroll(root block);transition:none}}.article-toc{display:none}.article-toc-title{color:var(--color-soft);font-size:.74rem;font-weight:800;letter-spacing:0;margin:0 0 12px;text-transform:uppercase}.article-toc ol{border-left:1px solid var(--color-border);list-style:none;margin:0;padding:0 0 0 14px}.article-toc li+li{margin-top:8px}.article-toc li.is-nested{padding-left:12px}.article-toc a{color:var(--color-muted);display:block;font-size:.86rem;line-height:1.45;text-decoration:none}.article-toc a:hover{color:var(--color-accent-strong)}@media(min-width:1080px){.article-shell{align-items:start;column-gap:56px;display:grid;grid-template-columns:minmax(0,var(--article-width)) 190px;max-width:946px}.article{margin:0}.article-toc{border-top:1px solid var(--color-border);display:block;padding-top:15px;position:sticky;top:28px}}@media(max-width:760px){.site-header-inner,.section-heading,.article-meta{align-items:flex-start;flex-direction:column}.site-header-inner{gap:12px;padding:17px 20px}.site-nav{flex-wrap:wrap}main{padding:34px 20px 72px}.hero{padding:18px 0 34px}.hero h1{font-size:2.35rem}.hero p:not(.eyebrow),.page-heading p:not(.eyebrow),.lead{font-size:1rem}.section{padding-top:34px}.section-heading{gap:8px}.section-heading h2,.page-heading h1{font-size:1.7rem}.list-item{padding:19px}.article h1{font-size:2.15rem}.article-meta{gap:3px}.prose{font-size:1.02rem;line-height:1.82}.prose h2{font-size:1.28rem;margin-top:2.2em}}
