:root,:root[data-theme=light]{--bg:#f4efe7;--bg-deep:#ece5d9;--surface:#fffdf9;--surface-2:#f8f3ea;--ink:#2f333d;--muted:#7d766a;--soft:#9b9384;--line:#2f333d1a;--accent:#ff6b6b;--accent-ink:#fff;--accent-soft:#ff6b6b1f;--gold:#ffb627;--shadow:0 18px 40px -18px #4d381e47, 0 2px 6px #4d381e0f;--shadow-soft:0 10px 24px -14px #4d381e38;--code-bg:#f1eadf;--motif-a:#2f333d0d;--motif-b:#ff6b6b29;--motif-c:#3bb8a929;--motif-d:#ffb6272e;color-scheme:light}:root[data-theme=dark]{--bg:#1b1d22;--bg-deep:#15171b;--surface:#24272e;--surface-2:#2b2f37;--ink:#f1ece3;--muted:#b3ab9d;--soft:#8d867a;--line:#f1ece31a;--accent:#ff7b7b;--accent-ink:#1b1d22;--accent-soft:#ff7b7b24;--gold:#ffc24a;--shadow:0 18px 44px -18px #0009, 0 2px 6px #00000040;--shadow-soft:0 10px 26px -14px #0000008c;--code-bg:#2a2d34;--motif-a:#f1ece309;--motif-b:#ff7b7b24;--motif-c:#50c8b91f;--motif-d:#ffc24a1f;color-scheme:dark}.motif{z-index:-1;pointer-events:none;background:linear-gradient(var(--motif-a) 1px, transparent 1px) 0 0 / 44px 44px, linear-gradient(90deg, var(--motif-a) 1px, transparent 1px) 0 0 / 44px 44px, var(--bg);position:fixed;inset:0;mask-image:linear-gradient(#000 0% 55%,#0000 100%)}@media (width>=1280px){.motif{background:radial-gradient(circle at 2.5% 34%, var(--motif-b) 0 30px, transparent 31px), radial-gradient(circle at 97.5% 18%, var(--motif-c) 0 24px, transparent 25px), radial-gradient(circle at 97% 78%, var(--motif-d) 0 28px, transparent 29px), linear-gradient(var(--motif-a) 1px, transparent 1px) 0 0 / 44px 44px, linear-gradient(90deg, var(--motif-a) 1px, transparent 1px) 0 0 / 44px 44px, var(--bg)}}@font-face{font-family:Outfit;font-style:normal;font-display:swap;font-weight:300;src:url(/plumb/_astro/outfit-latin-ext-300-normal.BYS6Dpvq.woff2)format("woff2"),url(/plumb/_astro/outfit-latin-ext-300-normal.CMIMshEd.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Outfit;font-style:normal;font-display:swap;font-weight:300;src:url(/plumb/_astro/outfit-latin-300-normal.CRYTwY6m.woff2)format("woff2"),url(/plumb/_astro/outfit-latin-300-normal.AWLfuCom.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Outfit;font-style:normal;font-display:swap;font-weight:400;src:url(/plumb/_astro/outfit-latin-ext-400-normal.5tcqmc2S.woff2)format("woff2"),url(/plumb/_astro/outfit-latin-ext-400-normal.DHm7mdGe.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Outfit;font-style:normal;font-display:swap;font-weight:400;src:url(/plumb/_astro/outfit-latin-400-normal.BGsTXAXT.woff2)format("woff2"),url(/plumb/_astro/outfit-latin-400-normal.DMwTpYkH.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Outfit;font-style:normal;font-display:swap;font-weight:500;src:url(/plumb/_astro/outfit-latin-ext-500-normal.zeox_O30.woff2)format("woff2"),url(/plumb/_astro/outfit-latin-ext-500-normal.DrCvqoFD.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Outfit;font-style:normal;font-display:swap;font-weight:500;src:url(/plumb/_astro/outfit-latin-500-normal.DKnIMDSk.woff2)format("woff2"),url(/plumb/_astro/outfit-latin-500-normal.ClnHRwRh.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Outfit;font-style:normal;font-display:swap;font-weight:600;src:url(/plumb/_astro/outfit-latin-ext-600-normal.B85nYjL1.woff2)format("woff2"),url(/plumb/_astro/outfit-latin-ext-600-normal.CWJcPgd7.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Outfit;font-style:normal;font-display:swap;font-weight:600;src:url(/plumb/_astro/outfit-latin-600-normal.B7SfZ07L.woff2)format("woff2"),url(/plumb/_astro/outfit-latin-600-normal.BEfTtDA7.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--font:"Outfit", system-ui, -apple-system, "Segoe UI", sans-serif;--radius:22px;--radius-sm:14px;--pill:999px;--wrap:1120px;--prose:720px;--gutter:clamp(16px, 4vw, 32px);--anchor-offset:96px;--toc-rail:240px;--toc-gap:64px}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:var(--anchor-offset)}body{min-height:100vh;font-family:var(--font);color:var(--ink);background:var(--bg);text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;margin:0;font-size:1.06rem;font-weight:400;line-height:1.65}img,video,svg{max-width:100%;height:auto;display:block}a{color:inherit;text-decoration-color:color-mix(in srgb, var(--accent) 55%, transparent);text-underline-offset:.2em;text-decoration-thickness:.08em}a:hover{color:var(--accent)}:focus-visible{outline:3px solid var(--accent);outline-offset:3px;border-radius:8px}h1,h2,h3,h4{letter-spacing:-.015em;margin:0 0 .6em;font-weight:500;line-height:1.15}h1{letter-spacing:-.03em;font-size:clamp(2.4rem,6vw,4.2rem);font-weight:300}h2{font-size:clamp(1.6rem,3.4vw,2.2rem)}h3{font-size:1.25rem}p{margin:0 0 1em}.wrap{width:min(100% - var(--gutter) * 2, var(--wrap));margin-inline:auto}.narrow{width:min(100% - var(--gutter) * 2, var(--prose));margin-inline:auto}.skip-link{z-index:100;background:var(--surface);border-radius:var(--pill);padding:.5rem 1rem;position:absolute;top:8px;left:-999px}.skip-link:focus{left:8px}.eyebrow{letter-spacing:.18em;text-transform:uppercase;color:var(--muted);margin-bottom:.9rem;font-size:.78rem;font-weight:500;display:inline-block}.lede{color:var(--muted);max-width:44rem;font-size:clamp(1.1rem,2.2vw,1.3rem)}.accent{color:var(--accent)}.section{padding-block:clamp(48px,8vw,96px)}.section-head{max-width:44rem;margin-bottom:2.2rem}.btn{border-radius:var(--pill);min-height:52px;font:500 1rem/1 var(--font);cursor:pointer;border:0;justify-content:center;align-items:center;gap:.55rem;padding:0 1.5rem;text-decoration:none;transition:transform .15s,box-shadow .2s,background .2s;display:inline-flex}.btn:active{transform:scale(.97)}.btn-primary{background:var(--accent);color:var(--accent-ink);box-shadow:0 12px 26px -12px color-mix(in srgb, var(--accent) 80%, transparent)}.btn-primary:hover{color:var(--accent-ink);box-shadow:0 16px 30px -12px color-mix(in srgb, var(--accent) 90%, transparent)}.btn-quiet{background:var(--surface);color:var(--ink);box-shadow:var(--shadow-soft);border:1px solid var(--line)}.btn-quiet:hover{color:var(--ink)}.btn-row{flex-wrap:wrap;gap:.8rem;display:flex}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-soft)}.chip{border-radius:var(--pill);background:var(--surface-2);border:1px solid var(--line);color:var(--muted);align-items:center;gap:.35rem;padding:.2rem .75rem;font-size:.82rem;text-decoration:none;display:inline-flex}a.chip:hover{color:var(--accent)}.grid{gap:1.2rem;display:grid}@media (width>=720px){.grid-2{grid-template-columns:repeat(2,1fr)}.grid-3{grid-template-columns:repeat(3,1fr)}}.prose{font-size:1.1rem}.prose h2{margin-top:2.2em;font-size:clamp(1.45rem,3vw,1.85rem)}.prose h3{margin-top:1.8em}.prose ul,.prose ol{margin:0 0 1.2em;padding-left:1.3em}.prose li{margin:.35em 0}.prose li::marker{color:var(--accent)}.prose blockquote{border-left:4px solid var(--accent);background:var(--surface);border-radius:0 var(--radius-sm) var(--radius-sm) 0;color:var(--muted);margin:1.6em 0;padding:1rem 1.3rem}.prose code{background:var(--code-bg);border-radius:6px;padding:.12em .4em;font-size:.92em}.prose table{border-collapse:collapse;width:100%;margin:1.4em 0;font-size:.98rem}.prose th,.prose td{text-align:left;border-bottom:1px solid var(--line);padding:.6rem .7rem}.prose img{border-radius:var(--radius-sm)}.post-figure{margin:2em 0}.post-figure img{border-radius:var(--radius);width:100%;box-shadow:var(--shadow);background:var(--surface)}.post-figure figcaption{color:var(--muted);text-align:center;margin-top:.75rem;font-size:.92rem}.video-frame{border-radius:var(--radius);box-shadow:var(--shadow);background:#000;position:relative;overflow:hidden}.video-frame video{width:100%}.faq{gap:.8rem;display:grid}.faq details{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-sm);padding:.2rem 1.2rem}.faq summary{cursor:pointer;justify-content:space-between;gap:1rem;padding:.9rem 0;font-weight:500;list-style:none;display:flex}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:"+";color:var(--accent);font-size:1.4rem;line-height:1}.faq details[open] summary:after{content:"−"}.faq details p{color:var(--muted)}[data-reveal]{opacity:0;transition:opacity .6s,transform .6s;transform:translateY(16px)}[data-reveal].is-visible{opacity:1;transform:none}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}[data-reveal]{opacity:1;transition:none;transform:none}}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.site-header[data-astro-cid-nen7h5rs]{z-index:20;backdrop-filter:saturate(1.4)blur(14px);background:color-mix(in srgb, var(--bg) 78%, transparent);border-bottom:1px solid #0000;transition:border-color .2s,box-shadow .2s;position:sticky;top:0}.site-header[data-astro-cid-nen7h5rs].raised{border-bottom-color:var(--line);box-shadow:0 8px 24px -20px #0006}.bar[data-astro-cid-nen7h5rs]{align-items:center;gap:1rem;min-height:72px;display:flex}.brand[data-astro-cid-nen7h5rs]{align-items:center;gap:.6rem;margin-right:auto;text-decoration:none;display:flex}.brand-icon[data-astro-cid-nen7h5rs]{width:36px;height:36px;box-shadow:var(--shadow-soft);border-radius:10px}.brand-word[data-astro-cid-nen7h5rs]{letter-spacing:-.02em;font-size:1.6rem;font-weight:300}.links[data-astro-cid-nen7h5rs]{gap:.4rem;display:none}.links[data-astro-cid-nen7h5rs] a[data-astro-cid-nen7h5rs]{border-radius:var(--pill);color:var(--muted);padding:.45rem .9rem;font-weight:500;text-decoration:none}.links[data-astro-cid-nen7h5rs] a[data-astro-cid-nen7h5rs]:hover,.links[data-astro-cid-nen7h5rs] a[data-astro-cid-nen7h5rs][aria-current=page]{color:var(--ink);background:var(--surface)}.tools[data-astro-cid-nen7h5rs]{align-items:center;gap:.4rem;display:flex}.icon-btn[data-astro-cid-nen7h5rs]{border-radius:var(--pill);border:1px solid var(--line);background:var(--surface);width:44px;height:44px;color:var(--ink);cursor:pointer;place-items:center;display:grid}.icon-btn[data-astro-cid-nen7h5rs]:hover{color:var(--accent)}[data-theme=dark] .sun[data-astro-cid-nen7h5rs],[data-theme=light] .moon[data-astro-cid-nen7h5rs]{display:none}.get[data-astro-cid-nen7h5rs]{min-height:44px;display:none}.sponsor[data-astro-cid-nen7h5rs]{border-radius:var(--pill);border:1px solid var(--line);background:var(--surface);min-height:44px;color:var(--ink);align-items:center;gap:.45rem;padding:0 1rem;font-weight:500;text-decoration:none;display:none}.sponsor[data-astro-cid-nen7h5rs] svg,.sponsor[data-astro-cid-nen7h5rs]:hover{color:var(--accent)}.mobile[data-astro-cid-nen7h5rs]{padding:.5rem var(--gutter) 1.2rem;flex-direction:column;display:none}.mobile[data-astro-cid-nen7h5rs].open{display:flex}.mobile[data-astro-cid-nen7h5rs] a[data-astro-cid-nen7h5rs]{border-bottom:1px solid var(--line);padding:.8rem 0;font-weight:500;text-decoration:none}@media (width>=860px){.links[data-astro-cid-nen7h5rs],.get[data-astro-cid-nen7h5rs],.sponsor[data-astro-cid-nen7h5rs]{display:flex}.menu[data-astro-cid-nen7h5rs],.mobile[data-astro-cid-nen7h5rs].open{display:none}}.site-footer[data-astro-cid-jo6i4kqk]{border-top:1px solid var(--line);background:color-mix(in srgb, var(--surface) 55%, transparent);margin-top:clamp(48px,8vw,96px);padding-top:3rem}.cols[data-astro-cid-jo6i4kqk]{gap:2rem;display:grid}@media (width>=760px){.cols[data-astro-cid-jo6i4kqk]{grid-template-columns:2fr 1fr 1fr}}.word[data-astro-cid-jo6i4kqk]{margin:0;font-size:2rem;font-weight:300}.tag[data-astro-cid-jo6i4kqk]{color:var(--muted)}nav[data-astro-cid-jo6i4kqk]{align-content:start;gap:.45rem;display:grid}nav[data-astro-cid-jo6i4kqk] a[data-astro-cid-jo6i4kqk]{color:var(--muted);text-decoration:none}nav[data-astro-cid-jo6i4kqk] a[data-astro-cid-jo6i4kqk]:hover{color:var(--accent)}.sponsor[data-astro-cid-jo6i4kqk]{align-items:center;gap:.4rem;display:inline-flex}.sponsor[data-astro-cid-jo6i4kqk] svg{color:var(--accent)}.head[data-astro-cid-jo6i4kqk]{margin:0 0 .3rem;font-weight:500}.legal[data-astro-cid-jo6i4kqk]{color:var(--soft);padding:2rem 0;font-size:.9rem}.search[data-astro-cid-ac66eqjo]{z-index:50;display:none;position:fixed;inset:0}.search[data-astro-cid-ac66eqjo].open{display:block}.scrim[data-astro-cid-ac66eqjo]{background:color-mix(in srgb, var(--ink) 40%, transparent);backdrop-filter:blur(4px);border:0;position:absolute;inset:0}.panel[data-astro-cid-ac66eqjo]{width:min(100% - 32px,720px);max-height:min(80vh,760px);margin:10vh auto 0;padding:1.2rem 1.4rem 1.6rem;position:relative;overflow:auto}.top[data-astro-cid-ac66eqjo]{justify-content:space-between;align-items:center;display:flex}.top[data-astro-cid-ac66eqjo] .eyebrow[data-astro-cid-ac66eqjo]{align-items:center;gap:.4rem;margin:0;display:flex}.close[data-astro-cid-ac66eqjo]{color:var(--ink);cursor:pointer;background:0 0;border:0}#search-ui[data-astro-cid-ac66eqjo]{--pagefind-ui-font:var(--font);--pagefind-ui-primary:var(--accent);--pagefind-ui-text:var(--ink);--pagefind-ui-background:var(--surface);--pagefind-ui-border:var(--line);--pagefind-ui-tag:var(--surface-2);--pagefind-ui-border-radius:14px;margin-top:.8rem}
