@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:100 700;font-display:swap;src:url(/_astro/plex-sans-056e4e24.BD64o3ke.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_astro/plex-mono-c36f509c.BJoXLJYV.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_astro/plex-mono-a76f53ca.C820gu2e.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:600;font-display:swap;src:url(/_astro/plex-mono-ad4580d8.DpGnXj3s.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--paper: #ffffff;--paper-raised: #ffffff;--paper-sunk: #fafafa;--paper-invert: #111113;--rule: #e7e7ea;--rule-strong: #d6d6db;--ink: #111113;--ink-body: #404047;--ink-muted: #6e6e76;--ink-faint: #6f6f78;--signal: #1a56c4;--signal-deep: #12408f;--signal-wash: #eef3fb;--verify: #0a7a3d;--verify-wash: #eef7f0;--caution: #9a5a00;--caution-wash: #faf3e6;--fail: #c62a2a;--fail-wash: #faecec;--font-sans: "IBM Plex Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--font-mono: "IBM Plex Mono", ui-monospace, "SF Mono", Menlo, Consolas, monospace;--fs-display: clamp(2.25rem, 4.5vw, 3.5rem);--fs-h1: clamp(1.875rem, 3.6vw, 2.75rem);--fs-h2: clamp(1.5rem, 2.6vw, 2rem);--fs-h3: clamp(1.1875rem, 1.5vw, 1.375rem);--fs-h4: 1.0625rem;--fs-lead: clamp(1.125rem, 1.5vw, 1.3125rem);--fs-body: 1.0625rem;--fs-small: .9375rem;--fs-data: .8125rem;--fs-micro: .75rem;--lh-tight: 1.22;--lh-snug: 1.45;--lh-body: 1.75;--s1: .25rem;--s2: .5rem;--s3: .75rem;--s4: 1rem;--s5: 1.5rem;--s6: 2rem;--s7: 3rem;--s8: 4rem;--s9: 6rem;--wide: 1180px;--rail: 13rem;--measure: 62ch;--measure-narrow: 52ch;--radius: 3px;--radius-sm: 2px}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:5rem;background:var(--paper);color-scheme:light}body{margin:0;background:var(--paper);color:var(--ink-body);font-family:var(--font-sans);font-size:var(--fs-body);line-height:var(--lh-body);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}img,svg,video{max-width:100%;height:auto;display:block}hr{border:0;border-top:1px solid var(--rule);margin:var(--s6) 0}h1,h2,h3,h4,h5{color:var(--ink);font-weight:700;line-height:var(--lh-tight);letter-spacing:-.02em;margin:0;text-wrap:balance}h1{font-size:var(--fs-h1)}h2{font-size:var(--fs-h2)}h3{font-size:var(--fs-h3);font-weight:600;line-height:var(--lh-snug)}h4{font-size:var(--fs-h4);font-weight:600;line-height:var(--lh-snug)}p{margin:0}strong,b{color:var(--ink);font-weight:600}em{font-style:italic}a{color:var(--signal);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.2em;text-decoration-color:color-mix(in srgb,var(--signal) 35%,transparent);transition:color .14s ease,text-decoration-color .14s ease}a:hover{color:var(--signal-deep);text-decoration-color:currentColor}code,kbd,samp,.num{font-family:var(--font-mono);font-variant-numeric:tabular-nums}code{font-size:.875em;background:var(--paper-sunk);border:1px solid var(--rule);border-radius:var(--radius-sm);padding:.1em .32em;color:var(--ink);white-space:nowrap}ul,ol{margin:0;padding:0}li{margin:0}::selection{background:var(--ink);color:#fff}.wrap{width:100%;max-width:var(--wide);margin-inline:auto;padding-inline:clamp(1.5rem,5vw,3rem)}.wrap-narrow{max-width:56rem}.measure{max-width:var(--measure)}.measure-narrow{max-width:var(--measure-narrow)}.stack>*+*{margin-top:var(--s4)}.stack-lg>*+*{margin-top:var(--s6)}.dossier{display:grid;grid-template-columns:var(--rail) minmax(0,1fr);gap:0 clamp(2rem,4vw,4.5rem);align-items:start}.dossier>.dossier-main{min-width:0}@media(max-width:1080px){.dossier{grid-template-columns:minmax(0,1fr)}}.skip-link{position:absolute;left:var(--s4);top:-100%;z-index:200;background:var(--ink);color:#fff;padding:.55rem 1rem;border-radius:var(--radius);font-size:var(--fs-data);text-decoration:none;transition:top .15s ease}.skip-link:focus{top:var(--s4);color:#fff}:focus-visible{outline:2px solid var(--signal);outline-offset:2px;border-radius:1px}.site-header{position:sticky;top:0;z-index:100;background:color-mix(in srgb,var(--paper) 92%,transparent);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--rule)}.site-header .wrap{display:flex;align-items:center;justify-content:space-between;gap:var(--s5);min-height:3.5rem}.wordmark{display:inline-flex;align-items:center;gap:.5rem;color:var(--ink);font-weight:700;font-size:1.0625rem;letter-spacing:.01em;text-decoration:none;white-space:nowrap}.wordmark:hover{color:var(--ink)}.wordmark .mark{width:1.375rem;height:1.375rem;flex:none;border-radius:var(--radius);background:var(--ink);display:grid;place-items:center}.wordmark .mark svg{width:.95rem;height:.95rem}.site-nav{display:flex;align-items:center;gap:.1rem}.site-nav a.nav-link{color:var(--ink-muted);font-size:var(--fs-small);font-weight:500;text-decoration:none;padding:.4rem .7rem;border-radius:var(--radius);white-space:nowrap;transition:color .14s ease,background-color .14s ease}.site-nav a.nav-link:hover{color:var(--ink);background:var(--paper-sunk)}.site-nav a.nav-link[aria-current=page]{color:var(--ink);font-weight:600}.site-nav .nav-cta{margin-left:.7rem}.nav-toggle{display:none;width:2.5rem;height:2.5rem;align-items:center;justify-content:center;background:transparent;border:1px solid var(--rule-strong);border-radius:var(--radius);cursor:pointer;color:var(--ink)}.nav-toggle span{display:block;width:1rem;height:1.5px;background:currentColor;position:relative;transition:background-color .15s ease}.nav-toggle span:before,.nav-toggle span:after{content:"";position:absolute;left:0;width:1rem;height:1.5px;background:currentColor;transition:transform .18s ease,top .18s ease}.nav-toggle span:before{top:-5px}.nav-toggle span:after{top:5px}.nav-toggle[aria-expanded=true] span{background:transparent}.nav-toggle[aria-expanded=true] span:before{top:0;transform:rotate(45deg)}.nav-toggle[aria-expanded=true] span:after{top:0;transform:rotate(-45deg)}.nav-drawer{position:fixed;inset:0;z-index:99;background:var(--paper);padding:5rem clamp(1.5rem,6vw,2.5rem) 2rem;overflow-y:auto;display:none;flex-direction:column;gap:.25rem}.nav-drawer[data-open=true]{display:flex}.nav-drawer a{display:block;padding:.85rem 0;font-size:1.25rem;font-weight:600;color:var(--ink);text-decoration:none;border-bottom:1px solid var(--rule)}.nav-drawer a:hover{color:var(--signal)}.nav-drawer a.btn-primary,.nav-drawer a.btn-primary:hover{color:#fff}.nav-drawer .drawer-cta{margin-top:var(--s5);border-bottom:0}.nav-drawer .drawer-meta{margin-top:auto;padding-top:var(--s5);font-size:var(--fs-micro);color:var(--ink-faint);line-height:1.8}@media(max-width:940px){.site-nav{display:none}.nav-toggle{display:inline-flex}body.nav-open{overflow:hidden}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;font-family:var(--font-sans);font-size:var(--fs-small);font-weight:600;line-height:1;padding:.72rem 1.25rem;border-radius:var(--radius);border:1px solid transparent;text-decoration:none;cursor:pointer;transition:background-color .14s ease,border-color .14s ease,color .14s ease;white-space:nowrap}.btn-primary{background:var(--ink);color:#fff;border-color:var(--ink)}.btn-primary:hover{background:var(--signal);border-color:var(--signal);color:#fff}.btn-secondary{background:var(--paper-raised);color:var(--ink);border-color:var(--rule-strong)}.btn-secondary:hover{border-color:var(--ink);color:var(--ink)}.btn-ghost{background:transparent;color:var(--signal);padding-inline:0}.btn-ghost:hover{color:var(--signal-deep)}.btn-sm{font-size:var(--fs-data);padding:.5rem .85rem}@media(max-width:620px){.btn{max-width:100%;white-space:normal;text-align:center;line-height:1.3}}.link-out:after{content:"↗";display:inline-block;margin-left:.3em;font-size:.85em;vertical-align:.05em;color:var(--ink-faint)}.link-out:hover:after{color:inherit}.label{font-size:var(--fs-micro);letter-spacing:.04em;color:var(--ink-faint);font-weight:500;display:inline-block}.label-signal{color:var(--signal)}.label-verify{color:var(--verify)}.label-caution{color:var(--caution)}.label-fail{color:var(--fail)}.tag{display:inline-flex;align-items:center;font-family:var(--font-mono);font-size:var(--fs-micro);line-height:1;padding:.32rem .55rem;border:1px solid var(--rule-strong);border-radius:var(--radius);color:var(--ink-muted);background:var(--paper-raised);font-weight:500}.tag-verify{color:var(--verify);border-color:color-mix(in srgb,var(--verify) 40%,transparent);background:var(--verify-wash)}.tag-caution{color:var(--caution);border-color:color-mix(in srgb,var(--caution) 40%,transparent);background:var(--caution-wash)}.tag-fail{color:var(--fail);border-color:color-mix(in srgb,var(--fail) 36%,transparent);background:var(--fail-wash)}.tag-signal{color:var(--signal);border-color:color-mix(in srgb,var(--signal) 40%,transparent);background:var(--signal-wash)}.tag-row{display:flex;flex-wrap:wrap;gap:.4rem}.section{padding-block:clamp(3.5rem,7vw,5.5rem)}.section-sunk{background:var(--paper-sunk)}.section-invert{background:var(--paper-invert);color:#c6c6cb}.section-invert h2,.section-invert h3,.section-invert h4{color:#fff}.section-invert p{color:#c6c6cb}.section-head{display:grid;gap:var(--s3);margin-bottom:var(--s7);max-width:40rem}.section-head .section-lede{max-width:40ch}.section-head.has-rail{grid-template-columns:minmax(0,1fr) minmax(0,22rem);align-items:end;gap:var(--s6);max-width:none}@media(max-width:900px){.section-head.has-rail{grid-template-columns:minmax(0,1fr)}}.section-index{font-size:var(--fs-data);font-weight:500;letter-spacing:.04em;color:var(--ink-faint)}.section-title{font-size:var(--fs-h2);max-width:22ch;margin-top:var(--s2)}.section-head .section-title{margin-top:0}.section-lede{font-size:var(--fs-lead);line-height:1.62;color:var(--ink-muted)}.page-header{padding-block:clamp(3.5rem,7vw,5.5rem) clamp(2rem,4vw,3rem);border-bottom:1px solid var(--rule)}.page-header .wrap{display:grid;gap:var(--s5);max-width:52rem}.page-header h1{font-size:var(--fs-h1);max-width:22ch}.page-header .page-lede{font-size:var(--fs-lead);color:var(--ink-muted);max-width:48ch;line-height:1.6}.page-header .page-meta{display:flex;flex-wrap:wrap;gap:var(--s6);padding-top:var(--s4);border-top:1px solid var(--rule)}.page-meta div{display:grid;gap:.15rem}.page-meta .label{font-size:var(--fs-micro)}.hero{padding-block:clamp(4rem,8vw,6.5rem) clamp(3rem,6vw,4.5rem)}.hero-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,24rem);gap:clamp(2rem,5vw,4.5rem);align-items:start}@media(max-width:960px){.hero-grid{grid-template-columns:minmax(0,1fr)}}.hero-grid>:last-child{position:sticky;top:5rem;align-self:start}@media(max-width:960px){.hero-grid>:last-child{position:static}}.hero h1{font-size:var(--fs-display);letter-spacing:0;line-height:1.18;max-width:20ch;margin-top:var(--s4)}.hero .hero-kicker{margin-top:var(--s4);font-size:var(--fs-small);color:var(--signal);font-weight:600}.hero .hero-lede{font-size:var(--fs-lead);line-height:1.66;color:var(--ink-muted);max-width:46ch;margin-top:var(--s5)}.hero-actions{display:flex;flex-wrap:wrap;gap:var(--s3);margin-top:var(--s6)}.hero-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(7rem,1fr));gap:0;margin-top:var(--s7);border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}.hero-facts>div{padding:var(--s4) var(--s5) var(--s4) 0;border-right:1px solid var(--rule)}.hero-facts>div:last-child{border-right:0}@media(max-width:720px){.hero-facts>div{border-right:0;border-bottom:1px solid var(--rule)}.hero-facts>div:last-child{border-bottom:0}}.hero-facts b{display:block;font-family:var(--font-mono);font-size:1.5rem;font-weight:600;color:var(--ink);line-height:1.1;font-variant-numeric:tabular-nums}.hero-facts span{display:block;margin-top:.3rem;font-size:var(--fs-micro);color:var(--ink-muted);line-height:1.4}.hero-right{display:grid;gap:var(--s5)}.ledger{border:1px solid var(--rule-strong);border-radius:var(--radius);background:var(--paper-raised);overflow:hidden}.ledger-head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--s3);padding:.9rem 1.1rem;border-bottom:1px solid var(--rule);background:var(--paper-sunk)}.ledger-head h2{font-size:.8125rem;font-weight:600;letter-spacing:.04em;color:var(--ink)}.ledger-rows{display:block}.ledger-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;grid-template-areas:"name m1 m2";gap:0 var(--s4);align-items:baseline;padding:.9rem 1.1rem;border-bottom:1px solid var(--rule);text-decoration:none;color:inherit;transition:background-color .14s ease}@media(max-width:620px){.ledger-row{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"name name" "m1   m2";row-gap:.6rem}}.ledger-row:last-child{border-bottom:0}.ledger-row:hover{background:var(--signal-wash);color:inherit}.ledger-row .lr-name{grid-area:name;font-weight:600;color:var(--ink);font-size:var(--fs-small)}.ledger-row .lr-vertical{display:block;font-family:var(--font-mono);font-size:var(--fs-micro);color:var(--ink-faint);margin-top:.1rem}.ledger-row .lr-metric{font-family:var(--font-mono);font-size:var(--fs-data);color:var(--ink-body);text-align:right;white-space:nowrap}.ledger-row .lr-metric-1{grid-area:m1}.ledger-row .lr-metric-2{grid-area:m2}.ledger-row .lr-metric b{color:var(--ink);font-weight:600}.ledger-foot{padding:.9rem 1.1rem;border-top:1px solid var(--rule);background:var(--paper-sunk);font-size:var(--fs-micro);color:var(--ink-muted);display:flex;flex-wrap:wrap;gap:var(--s4);align-items:center;justify-content:space-between}.table-scroll{overflow-x:auto;max-width:100%;border:1px solid var(--rule-strong);border-radius:var(--radius);background:var(--paper-raised)}table.data{width:100%;border-collapse:collapse;font-size:var(--fs-small);min-width:34rem}table.data caption{caption-side:top;text-align:left;padding:.9rem 1.1rem;border-bottom:1px solid var(--rule);background:var(--paper-sunk);font-size:var(--fs-micro);letter-spacing:.04em;color:var(--ink-muted);font-weight:600}table.data th,table.data td{text-align:left;padding:.8rem 1.1rem;border-bottom:1px solid var(--rule);vertical-align:top;line-height:1.6}table.data thead th{font-size:var(--fs-micro);font-weight:600;letter-spacing:.04em;color:var(--ink-muted);background:var(--paper-sunk);white-space:nowrap}table.data tbody tr:last-child td{border-bottom:0}table.data td:first-child{color:var(--ink);font-weight:600}table.data td.num-cell{font-family:var(--font-mono);font-variant-numeric:tabular-nums;white-space:nowrap}table.data tbody tr:hover td{background:color-mix(in srgb,var(--signal-wash) 55%,transparent)}.dl{border-top:1px solid var(--rule)}.dl-row{display:grid;grid-template-columns:minmax(0,15rem) minmax(0,1fr);gap:var(--s2) var(--s6);padding-block:var(--s5);border-bottom:1px solid var(--rule)}@media(max-width:720px){.dl-row{grid-template-columns:minmax(0,1fr)}}.dl-row dt{font-weight:600;color:var(--ink);font-size:var(--fs-h4);line-height:1.45}.dl-row dd{margin:0;color:var(--ink-body);font-size:var(--fs-small);line-height:1.7}.panel{border:1px solid var(--rule-strong);border-radius:var(--radius);background:var(--paper-raised);padding:clamp(1.25rem,2.6vw,1.6rem)}.panel-tight{padding:var(--s5)}.panel-title{font-size:var(--fs-h3);margin-bottom:var(--s3)}.panel-signal{border-left:3px solid var(--signal)}.panel-verify{border-left:3px solid var(--verify)}.panel-caution{border-left:3px solid var(--caution)}.panel-fail{border-left:3px solid var(--fail)}.callout{border-left:2px solid var(--rule-strong);padding:.15rem 0 .15rem 1.1rem}.callout .callout-label{display:block;font-size:var(--fs-micro);letter-spacing:.04em;font-weight:600;margin-bottom:.35rem}.callout p{font-size:var(--fs-small);line-height:1.7;color:var(--ink-body)}.callout-verify{border-left-color:var(--verify)}.callout-verify .callout-label{color:var(--verify)}.callout-caution{border-left-color:var(--caution)}.callout-caution .callout-label{color:var(--caution)}.callout-fail{border-left-color:var(--fail)}.callout-fail .callout-label{color:var(--fail)}.callout-signal{border-left-color:var(--signal)}.callout-signal .callout-label{color:var(--signal)}.grid{display:grid;gap:var(--s5)}.grid>*,.dossier>*{min-width:0}.grid-2{grid-template-columns:repeat(auto-fit,minmax(19rem,1fr))}.grid-3{grid-template-columns:repeat(auto-fit,minmax(16rem,1fr))}.grid-4{grid-template-columns:repeat(auto-fit,minmax(12.5rem,1fr))}.grid-2-tight{grid-template-columns:repeat(auto-fit,minmax(15rem,1fr));gap:var(--s4)}.span-all{grid-column:1 / -1}.metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(10rem,1fr));border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}.metric{padding:var(--s5) var(--s5) var(--s5) 0;border-right:1px solid var(--rule)}.metric:last-child{border-right:0}@media(max-width:720px){.metric{border-right:0;border-bottom:1px solid var(--rule)}.metric:last-child{border-bottom:0}}.metric b{display:block;font-family:var(--font-mono);font-size:clamp(1.5rem,2.6vw,2rem);font-weight:600;color:var(--ink);line-height:1.1;font-variant-numeric:tabular-nums}.metric span{display:block;margin-top:.35rem;font-size:var(--fs-micro);color:var(--ink-muted);line-height:1.5}.metric-verify b{color:var(--verify)}.metric-signal b{color:var(--signal)}.list-check{list-style:none;display:grid;gap:.65rem}.list-check li{position:relative;padding-left:1.3rem;font-size:var(--fs-small);line-height:1.65;color:var(--ink-body)}.list-check li:before{content:"";position:absolute;left:0;top:.6em;width:.7rem;height:1px;background:var(--signal)}.list-dash{list-style:none;display:grid;gap:.5rem}.list-dash li{position:relative;padding-left:1.1rem;font-size:var(--fs-small);color:var(--ink-body)}.list-dash li:before{content:"–";position:absolute;left:0;color:var(--ink-faint)}.steps{counter-reset:step;list-style:none;display:grid;gap:0;border-top:1px solid var(--rule)}.steps li{counter-increment:step;display:grid;grid-template-columns:3.25rem minmax(0,1fr);gap:0 var(--s5);padding-block:var(--s5);border-bottom:1px solid var(--rule)}.steps li:before{content:counter(step,decimal-leading-zero);font-family:var(--font-mono);font-size:var(--fs-data);color:var(--signal);letter-spacing:.04em}.steps h3{margin-bottom:.3rem}.steps p{font-size:var(--fs-small);color:var(--ink-body)}.code{border:1px solid #2b2b2e;border-radius:var(--radius);background:#111113;overflow:hidden}.code-head{display:flex;align-items:center;justify-content:space-between;gap:var(--s4);padding:.5rem .9rem;border-bottom:1px solid #2b2b2e;background:#1c1c1f;font-family:var(--font-mono);font-size:var(--fs-micro);color:#9a9aa3}.code-head .code-lang{letter-spacing:.04em}.code-copy{background:transparent;border:1px solid #3a3a3f;border-radius:var(--radius-sm);color:#c6c6cb;font-family:var(--font-mono);font-size:var(--fs-micro);padding:.2rem .5rem;cursor:pointer;transition:background-color .14s ease,color .14s ease}.code-copy:hover{background:#2b2b2e;color:#fff}.code pre{margin:0;padding:var(--s5);overflow-x:auto;font-family:var(--font-mono);font-size:var(--fs-data);line-height:1.65;color:#e7e7ea;tab-size:2}.code pre .tok-key{color:#93b4ff}.code pre .tok-str{color:#a5d6a7}.code pre .tok-com{color:#6e6e76;font-style:italic}.code pre .tok-num{color:#f0b26b}.diff{display:grid;grid-template-columns:repeat(auto-fit,minmax(19rem,1fr));gap:var(--s4)}.diff-block{border:1px solid var(--rule-strong);border-radius:var(--radius);overflow:hidden;background:var(--paper-raised)}.diff-block .diff-label{padding:.5rem .9rem;border-bottom:1px solid var(--rule);background:var(--paper-sunk);font-size:var(--fs-micro);letter-spacing:.04em;font-weight:600}.diff-block.is-bad .diff-label{color:var(--fail);background:var(--fail-wash)}.diff-block.is-good .diff-label{color:var(--verify);background:var(--verify-wash)}.diff-block pre{margin:0;padding:var(--s4);overflow-x:auto;font-family:var(--font-mono);font-size:var(--fs-micro);line-height:1.6;color:var(--ink-body)}.card{display:flex;flex-direction:column;gap:var(--s3);padding:var(--s5);border:1px solid var(--rule-strong);border-radius:var(--radius);background:var(--paper-raised);text-decoration:none;color:inherit;transition:border-color .14s ease,background-color .14s ease}a.card:hover{border-color:var(--signal);background:var(--paper-raised);color:inherit}.card-title{font-size:var(--fs-h3);color:var(--ink)}.card-meta{font-size:var(--fs-micro);color:var(--ink-faint);letter-spacing:.04em}.card-lede{font-size:var(--fs-small);color:var(--ink-body);line-height:1.6}.card-foot{margin-top:auto;padding-top:var(--s3);border-top:1px solid var(--rule);font-size:var(--fs-micro);color:var(--ink-muted);display:flex;justify-content:space-between;gap:var(--s3)}.price{display:flex;flex-direction:column;border:1px solid var(--rule-strong);border-radius:var(--radius);background:var(--paper-raised);overflow:hidden}.price.is-featured{border-color:var(--signal);border-width:2px}.price-head{padding:var(--s5);border-bottom:1px solid var(--rule);background:var(--paper-sunk)}.price.is-featured .price-head{background:var(--signal-wash)}.price-tier{font-size:var(--fs-micro);letter-spacing:.04em;font-weight:600;color:var(--ink-muted)}.price.is-featured .price-tier{color:var(--signal)}.price-name{font-size:var(--fs-h3);color:var(--ink);margin-top:.35rem}.price-amount{margin-top:var(--s4);font-family:var(--font-mono);font-size:1.75rem;font-weight:600;color:var(--ink);line-height:1.1}.price.is-featured .price-amount{color:var(--signal)}.price-note{font-size:var(--fs-micro);color:var(--ink-faint);margin-top:.35rem}.price-body{padding:var(--s5);display:grid;gap:var(--s4);flex:1}.price-foot{padding:var(--s5);border-top:1px solid var(--rule);background:var(--paper-sunk);font-size:var(--fs-micro);line-height:1.6;color:var(--ink-muted)}.rail{position:sticky;top:5rem;display:grid;gap:.15rem;font-size:var(--fs-data);border-left:1px solid var(--rule);padding-left:var(--s4)}@media(max-width:1080px){.rail{position:static;border-left:0;padding-left:0;border-top:1px solid var(--rule);padding-top:var(--s4)}}.rail-title{font-size:var(--fs-micro);letter-spacing:.04em;font-weight:600;color:var(--ink-faint);margin-bottom:.5rem}.rail a{display:block;padding:.3rem 0;color:var(--ink-muted);text-decoration:none;line-height:1.5}.rail a:hover{color:var(--signal)}.rail a[aria-current=true]{color:var(--ink);font-weight:600}.prose{max-width:var(--measure);font-size:var(--fs-body);line-height:1.75}.prose>*+*{margin-top:var(--s5)}.prose h2{font-size:var(--fs-h2);margin-top:var(--s8);padding-top:var(--s6);border-top:1px solid var(--rule)}.prose h3{font-size:var(--fs-h3);margin-top:var(--s6)}.prose h4{font-size:var(--fs-h4);margin-top:var(--s5)}.prose ul,.prose ol{padding-left:1.25rem;display:grid;gap:.5rem}.prose li{font-size:var(--fs-small);line-height:1.7}.prose blockquote{margin:0;padding-left:1.1rem;border-left:2px solid var(--signal);color:var(--ink-muted);font-size:var(--fs-lead);line-height:1.6}.prose .table-scroll{max-width:100%}.cta{border:1px solid var(--rule-strong);border-radius:var(--radius);background:var(--paper-sunk);padding:clamp(1.75rem,4vw,2.75rem);display:grid;gap:var(--s4)}.cta h2{font-size:var(--fs-h2);max-width:24ch}.cta p{font-size:var(--fs-lead);color:var(--ink-muted);max-width:52ch}.cta-actions{display:flex;flex-wrap:wrap;gap:var(--s3);margin-top:var(--s2)}.cta-invert{background:var(--paper-invert);border-color:var(--paper-invert)}.cta-invert h2{color:#fff}.cta-invert p{color:#c6c6cb}.related{border-top:1px solid var(--rule);padding-top:var(--s5);margin-top:var(--s7)}.related-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(15rem,1fr));gap:0;margin-top:var(--s4);border-top:1px solid var(--rule)}.related-item{display:grid;gap:.25rem;padding:var(--s4) var(--s4) var(--s4) 0;border-bottom:1px solid var(--rule);text-decoration:none;color:inherit}.related-item:hover{color:inherit}.related-item:hover .related-title{color:var(--signal)}.related-title{font-weight:600;color:var(--ink);transition:color .14s ease}.related-note{font-size:var(--fs-small);color:var(--ink-muted)}.crumbs{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem;font-size:var(--fs-micro);color:var(--ink-faint);letter-spacing:.04em}.crumbs a{color:var(--ink-muted);text-decoration:none}.crumbs a:hover{color:var(--signal)}.crumbs .sep{color:var(--rule-strong)}.site-footer{border-top:1px solid var(--rule);background:var(--paper-sunk);padding-block:clamp(2.5rem,5vw,3.5rem) var(--s6);margin-top:var(--s8)}.footer-grid{display:grid;grid-template-columns:minmax(0,1.4fr) repeat(auto-fit,minmax(9rem,1fr));gap:var(--s6)}.footer-col h2,.footer-col h3{font-size:var(--fs-micro);font-weight:600;letter-spacing:.04em;color:var(--ink-faint);margin-bottom:var(--s3)}.footer-col ul{list-style:none;display:grid;gap:.45rem}.footer-col a{color:var(--ink-muted);text-decoration:none;font-size:var(--fs-small)}.footer-col a:hover{color:var(--signal)}.footer-brand p{font-size:var(--fs-small);color:var(--ink-muted);max-width:30ch;margin-top:var(--s3)}.footer-base{margin-top:var(--s6);padding-top:var(--s5);border-top:1px solid var(--rule);display:flex;flex-wrap:wrap;justify-content:space-between;gap:var(--s4);font-size:var(--fs-micro);color:var(--ink-faint)}.footer-base a{color:var(--ink-muted);text-decoration:none}.footer-base a:hover{color:var(--signal)}.action-bar{display:none;position:fixed;left:0;right:0;bottom:0;z-index:90;gap:var(--s3);padding:.6rem clamp(1rem,4vw,1.5rem) calc(.6rem + env(safe-area-inset-bottom));background:color-mix(in srgb,var(--paper) 92%,transparent);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-top:1px solid var(--rule)}.action-bar .btn{flex:1}@media(max-width:860px){.action-bar{display:flex}body{padding-bottom:4rem}}@keyframes rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}html.js .reveal{animation:rise .5s cubic-bezier(.22,.8,.3,1) both}.reveal-1{animation-delay:.04s}.reveal-2{animation-delay:.1s}.reveal-3{animation-delay:.16s}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}@media print{.site-header,.action-bar,.nav-drawer{display:none!important}body{background:#fff;font-size:11pt}a{color:inherit}}
