:root{color-scheme:light;--bg:#fff;--soft:#f7f7f4;--fg:#1f2328;--mut:#59636e;--acc:#0f766e;--acc-soft:#e6f4f1;--bd:#e3e5e8;--warn:#b45309;--warn-soft:#fff7ed;--note:#1d4ed8;--note-soft:#eff6ff;--r:12px;--serif:"Charter","Bitstream Charter","Sitka Text",Cambria,Georgia,serif;--sans:ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:84px}body{margin:0;background:var(--bg);color:var(--fg);font:18.5px/1.7 var(--sans);-webkit-font-smoothing:antialiased}a{color:var(--acc);text-decoration-thickness:1px;text-underline-offset:3px}a:hover{text-decoration-thickness:2px}.container{max-width:1160px;margin:0 auto;padding:0 24px}.site-header{position:sticky;top:0;z-index:20;background:#ffffffeb;backdrop-filter:saturate(180%) blur(10px);border-bottom:1px solid var(--bd)}.site-header .container{display:flex;align-items:center;justify-content:space-between;height:64px;gap:16px}.wordmark{display:flex;align-items:center;gap:10px;color:var(--fg);text-decoration:none;font-weight:700;letter-spacing:-.01em;font-size:1.05rem}.wordmark svg{flex:none}.wordmark span em{font-style:normal;color:var(--acc)}.nav a{color:var(--mut);text-decoration:none;font-size:.95rem;font-weight:500;margin-left:22px}.nav a:hover,.nav a[aria-current]{color:var(--fg)}@media(max-width:600px){.nav a{margin-left:14px;font-size:.88rem}.nav .hide-sm{display:none}.wordmark{font-size:.98rem}}.hero{background:linear-gradient(180deg,var(--soft),#fff);border-bottom:1px solid var(--bd);padding:72px 0 56px}.eyebrow{display:inline-block;font-size:.8rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--acc);background:var(--acc-soft);padding:4px 10px;border-radius:999px}.hero h1{font-family:var(--serif);font-size:clamp(2.1rem,5vw,3.3rem);line-height:1.12;letter-spacing:-.02em;margin:18px 0 14px;max-width:18ch}.hero p.lede{font-size:1.2rem;color:var(--mut);max-width:58ch;margin:0}.pills{display:flex;flex-wrap:wrap;gap:10px;margin-top:26px;padding:0;list-style:none}.pills li{font-size:.9rem;color:var(--mut);border:1px solid var(--bd);background:#fff;border-radius:999px;padding:5px 12px}.section{padding:56px 0}.section h2.sec{font-size:1.35rem;margin:0 0 20px;letter-spacing:-.01em}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:20px}.card{display:flex;flex-direction:column;gap:8px;background:#fff;border:1px solid var(--bd);border-radius:var(--r);padding:22px 24px;text-decoration:none;color:var(--fg);transition:box-shadow .15s,border-color .15s,transform .15s}.card:hover{border-color:#c9d3d1;box-shadow:0 6px 24px #10182812;transform:translateY(-1px)}.card h3{font-family:var(--serif);font-size:1.3rem;line-height:1.3;margin:0}.card p{margin:0;color:var(--mut);font-size:.98rem;line-height:1.6}.card .meta{font-size:.85rem;color:var(--mut);margin-top:auto;padding-top:6px}.featured{display:grid;grid-template-columns:1.3fr 1fr;gap:0;padding:0;overflow:hidden}.featured .body{padding:30px 32px;display:flex;flex-direction:column;gap:12px}.featured h3{font-size:1.75rem}.featured .art{background:linear-gradient(135deg,#e6f4f1,#eef2ff);display:flex;align-items:center;justify-content:center;min-height:220px}@media(max-width:760px){.featured{grid-template-columns:1fr}.featured .art{min-height:120px;order:-1}}.tag{font-size:.75rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--acc)}.cta{font-weight:600;font-size:.95rem}.post-head{background:var(--soft);border-bottom:1px solid var(--bd);padding:48px 0 36px}.post-head h1{font-family:var(--serif);font-size:clamp(1.9rem,4.4vw,2.75rem);line-height:1.15;letter-spacing:-.02em;margin:12px 0 14px;max-width:24ch}.post-head .desc{color:var(--mut);font-size:1.15rem;max-width:62ch;margin:0 0 18px}.byline{display:flex;flex-wrap:wrap;gap:6px 16px;font-size:.9rem;color:var(--mut)}.byline b{color:var(--fg);font-weight:600}.layout{display:grid;grid-template-columns:minmax(0,70ch) 240px;gap:64px;justify-content:center;padding:40px 24px 24px;max-width:1160px;margin:0 auto}@media(max-width:1020px){.layout{grid-template-columns:minmax(0,70ch);gap:0}.toc-side{display:none}}@media(min-width:1021px){.toc-mobile{display:none}}.toc-side nav{position:sticky;top:96px;font-size:.88rem;border-left:2px solid var(--bd);padding-left:16px}.toc-title{font-size:.75rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--mut);margin:0 0 10px}.toc ol{list-style:none;margin:0;padding:0}.toc li{margin:7px 0;line-height:1.4}.toc li.d3{padding-left:12px;font-size:.95em}.toc a{color:var(--mut);text-decoration:none}.toc a:hover,.toc a.active{color:var(--acc)}.toc-mobile{border:1px solid var(--bd);border-radius:var(--r);padding:12px 16px;margin:0 0 28px;background:var(--soft)}.toc-mobile summary{cursor:pointer;font-weight:600;font-size:.95rem}.toc-mobile ol{margin-top:10px}.prose{font-family:var(--serif);font-size:19px;line-height:1.72}.prose p,.prose ul,.prose ol{margin:0 0 1.15em}.prose li{margin:.35em 0}.prose li::marker{color:var(--acc)}.prose h2{font-family:var(--sans);font-size:1.6rem;line-height:1.25;letter-spacing:-.015em;margin:2.4em 0 .6em;padding-top:.4em;border-top:1px solid var(--bd)}.prose h3{font-family:var(--sans);font-size:1.22rem;line-height:1.35;margin:1.8em 0 .5em}.prose strong{font-weight:700;color:#111}.prose blockquote{margin:1.6em 0;padding:16px 20px;border-left:4px solid var(--acc);background:var(--acc-soft);border-radius:0 var(--r) var(--r) 0}.prose blockquote p:last-child{margin:0}.prose code{font-size:.85em;background:var(--soft);border:1px solid var(--bd);border-radius:5px;padding:.1em .35em}.takeaways{background:var(--acc-soft);border:1px solid #bfe3dc;border-radius:var(--r);padding:20px 24px 6px;margin:0 0 2em;font-family:var(--sans);font-size:1rem;line-height:1.6}.takeaways>p:first-child{font-weight:700;font-size:.8rem;letter-spacing:.07em;text-transform:uppercase;color:var(--acc);margin:0 0 8px}.takeaways ul{padding-left:1.2em}.callout{border:1px solid var(--bd);border-left:4px solid var(--mut);border-radius:var(--r);padding:16px 20px 2px;margin:1.6em 0;font-family:var(--sans);font-size:1rem;line-height:1.6;background:var(--soft)}.callout>p:first-child:before{font-weight:700;margin-right:6px}.callout.tip{border-left-color:var(--acc);background:var(--acc-soft)}.callout.tip>p:first-child:before{content:"Tip:";color:var(--acc)}.callout.warning{border-left-color:var(--warn);background:var(--warn-soft)}.callout.warning>p:first-child:before{content:"Warning:";color:var(--warn)}.callout.note{border-left-color:var(--note);background:var(--note-soft)}.callout.note>p:first-child:before{content:"Note:";color:var(--note)}.table{overflow:auto;max-height:80vh;border:1px solid var(--bd);border-radius:var(--r);margin:1.6em 0;-webkit-overflow-scrolling:touch}.table table{margin:0;border:0}table{border-collapse:separate;border-spacing:0;width:100%;font-family:var(--sans);font-size:.88rem;line-height:1.5;min-width:760px}th,td{padding:11px 14px;text-align:left;vertical-align:top;border-bottom:1px solid var(--bd)}thead th{position:sticky;top:0;background:#f1f4f3;font-weight:600;font-size:.8rem;letter-spacing:.02em;color:#334;z-index:1;white-space:nowrap}tbody tr:nth-child(2n) td{background:#fafbfa}tbody tr:hover td{background:#f0f7f5}tbody td:first-child{font-weight:600;white-space:nowrap}.scroll-hint{display:none;font-family:var(--sans);font-size:.8rem;color:var(--mut);margin:-1em 0 1.5em}.scroll-hint{display:block}.site-footer{margin-top:72px;background:var(--soft);border-top:1px solid var(--bd);padding:40px 0;font-size:.9rem;color:var(--mut)}.site-footer .cols{display:flex;flex-wrap:wrap;justify-content:space-between;gap:24px}.site-footer a{color:var(--mut)}.site-footer .links a{margin-right:18px}.site-footer p{margin:6px 0;max-width:52ch}.to-top{position:fixed;right:20px;bottom:20px;width:44px;height:44px;border-radius:50%;background:#fff;border:1px solid var(--bd);box-shadow:0 4px 14px #00000014;display:flex;align-items:center;justify-content:center;color:var(--fg);text-decoration:none;opacity:0;pointer-events:none;transition:opacity .2s}.to-top.show{opacity:1;pointer-events:auto}.page{max-width:70ch;margin:0 auto;padding:48px 24px 0}.page h1{font-family:var(--serif);font-size:2.4rem;line-height:1.15;letter-spacing:-.02em;margin:0 0 .5em}.hero-grid{display:grid;grid-template-columns:1.25fr 1fr;gap:56px;align-items:center}.hero-panel{background:#fff;border:1px solid var(--bd);border-radius:16px;padding:24px 26px;box-shadow:0 10px 30px #1018280f}.hero-panel ul{list-style:none;margin:0;padding:0}.hero-panel li{display:flex;flex-direction:column;padding:12px 0 12px 30px;border-top:1px solid var(--bd);position:relative;font-size:.98rem;line-height:1.45}.hero-panel li:first-child{border-top:0}.hero-panel li:before{content:"✓";position:absolute;left:0;top:12px;width:20px;height:20px;border-radius:50%;background:var(--acc-soft);color:var(--acc);font-size:.75rem;display:flex;align-items:center;justify-content:center;font-weight:700}.hero-panel span{color:var(--mut);font-size:.9rem}@media(max-width:900px){.hero-grid{grid-template-columns:1fr;gap:32px}.hero{padding:48px 0 40px}}table{min-width:1000px}th,td{min-width:120px}tbody td:first-child{white-space:normal;min-width:150px;position:sticky;left:0;z-index:1;background:#fff;box-shadow:1px 0 0 var(--bd)}tbody tr:nth-child(2n) td:first-child{background:#fafbfa}thead th:first-child{left:0;z-index:2}td:nth-child(5),td:nth-child(6){min-width:180px}
