@font-face{font-family:ibm plex sans;font-style:normal;font-weight:100 700;font-display:swap;src:url(../fonts/ibm-plex-sans-normal-latin.woff2)format("woff2");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:ibm plex sans;font-style:normal;font-weight:100 700;font-display:swap;src:url(../fonts/ibm-plex-sans-normal-latin-ext.woff2)format("woff2");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:ibm plex sans;font-style:italic;font-weight:100 700;font-display:swap;src:url(../fonts/ibm-plex-sans-italic-latin.woff2)format("woff2");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:jetbrains mono;font-style:normal;font-weight:400 700;font-display:swap;src:url(../fonts/jetbrains-mono-normal-latin.woff2)format("woff2");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:jetbrains mono;font-style:normal;font-weight:400 700;font-display:swap;src:url(../fonts/jetbrains-mono-normal-latin-ext.woff2)format("woff2");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}:root{--slate-950:#0d1017;--slate-900:#161a22;--slate-800:#212734;--slate-700:#2f3745;--slate-500:#5c6675;--slate-300:#a7b0bd;--slate-200:#c9d0d9;--slate-100:#e4e8ed;--slate-050:#f1f3f6;--restore-700:#07694b;--restore-600:#0a8a61;--restore-500:#0faa77;--restore-300:#5fd3ab;--restore-100:#d3f3e7;--cold:var(--slate-300);--cold-dark:var(--slate-700);--indigo-700:#2f3ea8;--indigo-600:#3d4fd1;--indigo-500:#5566e6;--indigo-100:#e2e6fb;--surface:#ffffff;--surface-cool:#f6f7f9;--surface-cool-2:#eceff4;--surface-dark:var(--slate-900);--ink:#131721;--ink-muted:#4a5261;--ink-faint:#646d7d;--ink-invert:#ffffff;--ink-invert-muted:#b9c1cd;--ink-invert-faint:#8d97a6;--ink-on-dark-link:#dbe1ea;--ink-code:#e7ecf4;--link:var(--indigo-700);--link-hover:var(--indigo-600);--link-dark:#b9c4ff;--fill:var(--indigo-600);--fill-hover:var(--indigo-700);--line:#dde2e9;--line-firm:#c2cad4;--line-dark:rgba(219, 225, 234, 0.16);--font-sans:"IBM Plex Sans", "Segoe UI", system-ui, -apple-system, sans-serif;--font-mono:"JetBrains Mono", ui-monospace, "SF Mono", Menlo, Consolas, monospace;--t-xs:0.78rem;--t-sm:0.875rem;--t-base:1rem;--t-md:1.125rem;--t-lg:1.3rem;--t-xl:1.6rem;--t-2xl:2rem;--t-3xl:2.6rem;--t-4xl:clamp(2.2rem, 5vw, 3.6rem);--t-hero:clamp(2.3rem, 5.6vw, 4.2rem);--t-figure:clamp(2.4rem, 6vw, 4.4rem);--lh-tight:1.05;--lh-snug:1.2;--lh-body:1.65;--s-1:0.25rem;--s-2:0.5rem;--s-3:0.75rem;--s-4:1rem;--s-5:1.5rem;--s-6:2rem;--s-7:3rem;--s-8:4rem;--s-9:6rem;--s-10:8rem;--wrap:74rem;--wrap-narrow:44rem;--radius:10px;--radius-sm:6px;--radius-lg:16px;--shadow-sm:0 1px 2px rgba(19, 23, 33, 0.06), 0 2px 8px rgba(19, 23, 33, 0.05);--shadow-md:0 2px 4px rgba(19, 23, 33, 0.05), 0 14px 32px rgba(19, 23, 33, 0.09);--shadow-lift:0 4px 8px rgba(19, 23, 33, 0.06), 0 22px 44px rgba(19, 23, 33, 0.13);--ease:cubic-bezier(0.2, 0.7, 0.3, 1)}*,*::before,*::after{box-sizing:border-box}*{margin:0}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:6rem}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}body{font-family:var(--font-sans);font-size:var(--t-base);line-height:var(--lh-body);color:var(--ink);background:var(--surface-cool);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;font-variant-numeric:tabular-nums}img,svg,video{display:block;max-width:100%;height:auto}h1,h2,h3,h4,h5{font-weight:600;line-height:var(--lh-snug);letter-spacing:-.018em;text-wrap:balance}h1{font-size:var(--t-4xl);line-height:var(--lh-tight);letter-spacing:-.028em;font-weight:700}h2{font-size:var(--t-2xl);letter-spacing:-.022em}h3{font-size:var(--t-lg)}h4{font-size:var(--t-md)}p{text-wrap:pretty}a{color:var(--link);text-decoration-thickness:1px;text-underline-offset:.18em}a:hover{color:var(--link-hover)}:focus-visible{outline:3px solid var(--indigo-500);outline-offset:3px;border-radius:3px}code,kbd,pre,samp{font-family:var(--font-mono);font-size:.9em}code:not(pre code){background:var(--surface-cool-2);border:1px solid var(--line);border-radius:5px;padding:.1em .34em;font-size:.85em;color:var(--ink);overflow-wrap:anywhere}pre{background:var(--slate-900);color:var(--ink-code);padding:var(--s-5);border-radius:var(--radius);overflow-x:auto;font-size:var(--t-sm);line-height:1.7}pre code{background:0 0;border:0;padding:0;color:inherit}hr{border:0;border-top:1px solid var(--line);margin:var(--s-7)0}table{border-collapse:collapse;width:100%;font-size:var(--t-sm)}th,td{text-align:left;padding:var(--s-3)var(--s-4);border-bottom:1px solid var(--line)}th{font-weight:600;color:var(--ink-muted);font-size:var(--t-xs);text-transform:uppercase;letter-spacing:.07em}.skip-link{position:absolute;left:var(--s-4);top:-4rem;z-index:100;background:var(--fill);color:#fff;padding:var(--s-3)var(--s-4);border-radius:0 0 var(--radius-sm)var(--radius-sm);font-weight:600;transition:top .15s var(--ease)}.skip-link:focus{top:0;color:#fff}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.wrap{width:100%;max-width:var(--wrap);margin-inline:auto;padding-inline:var(--s-5)}.wrap--narrow{max-width:var(--wrap-narrow)}.band{padding-block:var(--s-8)}.band--tight{padding-block:var(--s-7)}.band--dark{background:var(--slate-900);color:var(--ink-invert)}.band--dark h2,.band--dark h3{color:#fff}.band--dark a{color:var(--link-dark)}.band--dark a:hover{color:#fff}.band--cool{background:var(--surface-cool-2)}.band--plain{background:var(--surface)}.eyebrow{font-family:var(--font-mono);font-size:var(--t-xs);font-weight:500;letter-spacing:.13em;text-transform:uppercase;color:var(--ink-faint);display:flex;align-items:center;gap:var(--s-3);margin-bottom:var(--s-4)}.eyebrow::before{content:"";width:1.6rem;height:1px;background:var(--line-firm);flex:none}.band--dark .eyebrow,.page-head .eyebrow,.hero .eyebrow{color:var(--ink-invert-faint)}.band--dark .eyebrow::before,.page-head .eyebrow::before,.hero .eyebrow::before{background:var(--slate-500)}.section-head{max-width:44rem;margin-bottom:var(--s-6)}.section-head p{font-size:var(--t-md);color:var(--ink-muted);margin-top:var(--s-4)}.band--dark .section-head p{color:var(--ink-invert-muted)}.lede{font-size:var(--t-md);color:var(--ink-muted);line-height:1.7}.grid{display:grid;gap:var(--s-5)}.grid>*{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(12rem,1fr))}.btn{display:inline-flex;align-items:center;gap:var(--s-3);font-family:var(--font-sans);font-weight:600;font-size:var(--t-base);letter-spacing:-.005em;padding:.75em 1.3em;border-radius:var(--radius-sm);border:1px solid transparent;text-decoration:none;cursor:pointer;white-space:nowrap;transition:background-color .15s var(--ease),border-color .15s var(--ease),transform .15s var(--ease),color .15s var(--ease)}.btn:hover{transform:translateY(-1px)}.btn svg{width:1.05em;height:1.05em;flex:none}.btn--primary{background:var(--fill);color:#fff}.btn--primary:hover{background:var(--fill-hover);color:#fff}.btn--ghost{border-color:var(--line-firm);color:var(--ink);background:var(--surface)}.btn--ghost:hover{border-color:var(--indigo-500);color:var(--link)}.btn--on-dark{border-color:var(--slate-700);color:#fff;background:0 0}.btn--on-dark:hover{border-color:var(--slate-500);background:rgba(255,255,255,6%);color:#fff}.btn--sm{font-size:var(--t-sm);padding:.55em 1em}.btn-row{display:flex;flex-wrap:wrap;gap:var(--s-3);align-items:center}.link-arrow{font-weight:600;text-decoration:none;display:inline-flex;align-items:center;gap:.4em}.link-arrow::after{content:"→";transition:transform .15s var(--ease)}.link-arrow:hover{text-decoration:underline}.link-arrow:hover::after{transform:translateX(3px)}.masthead{position:sticky;top:0;z-index:50;background:var(--slate-900);border-bottom:1px solid var(--line-dark)}.masthead__inner{position:relative;display:flex;align-items:center;gap:var(--s-5);min-height:4.25rem}.masthead__logo{flex:none;display:block;text-decoration:none;font-weight:700;font-size:var(--t-md);letter-spacing:-.02em;color:#fff}.masthead__logo span{font-family:var(--font-mono);font-weight:400;font-size:var(--t-sm);color:var(--ink-invert-faint);margin-left:.5rem;letter-spacing:0}.masthead__logo:hover{color:#fff}.masthead__logo:hover span{color:var(--ink-invert-muted)}.masthead__logo{order:1}.masthead__nav{order:2;margin-left:auto}.masthead__search{order:3;margin-left:var(--s-4);flex:none}.nav-toggle{order:4}.masthead__list>.nav-item--drawer-search{display:none}.masthead__list{list-style:none;padding:0;display:flex;align-items:center;gap:var(--s-1);flex-wrap:wrap}.masthead__list a:not(.btn){display:block;padding:.4rem .65rem;border-radius:var(--radius-sm);font-size:var(--t-sm);font-weight:500;color:var(--ink-on-dark-link);text-decoration:none;white-space:nowrap;transition:background-color .15s var(--ease),color .15s var(--ease)}.masthead__list a:not(.btn):hover{background:rgba(255,255,255,8%);color:#fff}.masthead__list a:not(.btn)[aria-current]{color:#fff;background:rgba(255,255,255,.1)}.masthead__list a:not(.btn)[data-in-section]{color:#fff;box-shadow:inset 0 -2px 0 var(--restore-500);border-radius:var(--radius-sm)var(--radius-sm)0 0}.nav-toggle{display:none;margin-left:auto;background:0 0;border:1px solid var(--slate-700);border-radius:var(--radius-sm);color:#fff;font:inherit;font-size:var(--t-sm);font-weight:600;padding:.4rem .75rem;cursor:pointer}.nav-item{position:relative;display:flex;align-items:center}.nav-sub-toggle{display:grid;place-items:center;width:1.4rem;height:1.4rem;margin-left:-.35rem;padding:0;border:0;border-radius:50%;background:0 0;color:var(--ink-invert-faint);cursor:pointer}.nav-sub-toggle svg{width:.8rem;height:.8rem;transition:transform .15s var(--ease)}.nav-sub-toggle:hover{color:#fff}.nav-item--sub:hover .nav-sub-toggle svg,.nav-sub-toggle[aria-expanded=true] svg{transform:rotate(180deg)}.nav-sub{position:absolute;top:100%;left:0;z-index:60;min-width:13rem;margin:0;padding:var(--s-2);list-style:none;background:var(--slate-800);border:1px solid var(--line-dark);border-radius:var(--radius);box-shadow:0 18px 40px rgba(0,0,0,.45);display:none}.nav-item--sub:hover>.nav-sub,.nav-sub[data-open=true]{display:block}.nav-sub a{display:block;padding:.45rem .65rem;border-radius:var(--radius-sm);font-size:var(--t-sm);font-weight:500;color:var(--ink-on-dark-link);text-decoration:none;white-space:nowrap}.nav-sub a:hover{background:rgba(255,255,255,8%);color:#fff}.nav-sub a[aria-current],.nav-sub a[data-in-section]{color:#fff;background:rgba(255,255,255,.1)}.nav-item--sub::after{content:"";position:absolute;top:100%;left:0;width:100%;height:var(--s-3)}.site-search{display:flex;align-items:center;gap:var(--s-2)}.site-search label{display:contents}.site-search input{position:absolute;top:calc(100% + .6rem);right:var(--s-5);width:21rem;max-width:calc(100vw - 3rem);padding:.65rem 1rem;border:1px solid var(--slate-700);border-radius:var(--radius);background:var(--slate-800);box-shadow:0 18px 40px rgba(0,0,0,.45);color:#fff;font:inherit;font-size:var(--t-sm);display:none}.site-search input::placeholder{color:var(--ink-invert-faint)}.site-search[data-open=true] input{display:block}.site-search__toggle{display:grid;place-items:center;width:2rem;height:2rem;flex:none;padding:0;border:1px solid var(--slate-700);border-radius:var(--radius-sm);background:0 0;color:var(--ink-on-dark-link);cursor:pointer;transition:border-color .15s var(--ease),color .15s var(--ease),background-color .15s var(--ease)}.site-search__toggle:hover,.site-search[data-open=true] .site-search__toggle{color:#fff;border-color:var(--slate-500);background:rgba(255,255,255,6%)}.site-search__toggle svg{width:1rem;height:1rem}@media(max-width:62rem){.nav-toggle{display:block}.masthead__search{order:2;margin-left:auto}.nav-toggle{order:3}.masthead__nav{order:4}.masthead__nav{display:none;width:100%;margin-left:0;padding-bottom:var(--s-4)}.masthead__nav[data-open=true]{display:block}.masthead__inner{flex-wrap:wrap;padding-block:var(--s-3)}.masthead__list{flex-direction:column;align-items:stretch;gap:0}.masthead__list a:not(.btn){padding:.65rem .75rem}.masthead .btn{margin-left:0;width:100%;justify-content:center}.masthead__search .site-search input{display:none}.masthead__list>.nav-item--drawer-search{display:block;margin:var(--s-3)0}.nav-item--drawer-search .site-search input{position:static;display:block;width:100%;max-width:none;box-shadow:none;background:rgba(255,255,255,6%)}.nav-item--drawer-search .site-search__toggle{display:none}.nav-item{display:block}.nav-sub-toggle{display:none}.nav-sub{position:static;display:block;min-width:0;padding:0 0 var(--s-2)var(--s-4);background:0 0;border:0;border-left:1px solid var(--line-dark);border-radius:0;box-shadow:none;margin-left:.75rem}.nav-sub a{white-space:normal;font-weight:400}.nav-item--sub::after{display:none}}.footer{background:var(--slate-950);color:var(--ink-invert-muted);padding-block:var(--s-8)var(--s-6)}.footer a{color:var(--ink-on-dark-link);text-decoration:none}.footer a:hover{color:#fff;text-decoration:underline}.footer__top{display:grid;gap:var(--s-6)var(--s-5);grid-template-columns:1fr;padding-bottom:var(--s-7);border-bottom:1px solid var(--line-dark)}@media(min-width:34rem){.footer__top{grid-template-columns:repeat(2,minmax(0,1fr))}.footer__brand{grid-column:1/-1}}@media(min-width:62rem){.footer__top{gap:var(--s-7);grid-template-columns:minmax(0,1.4fr)repeat(3,minmax(0,1fr))}.footer__brand{grid-column:auto}}.footer__brand strong{display:block;color:#fff;font-size:var(--t-md);margin-bottom:var(--s-3)}.footer__brand p{font-size:var(--t-sm);max-width:24rem}.footer__col h2{font-size:var(--t-xs);font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.12em;color:var(--ink-invert-faint);margin-bottom:var(--s-4);font-weight:500}.footer__col ul{list-style:none;padding:0;display:grid;gap:var(--s-2)}.footer__col a{font-size:var(--t-sm)}.footer__bottom{padding-top:var(--s-5);display:flex;flex-wrap:wrap;gap:var(--s-4)var(--s-6);align-items:center;justify-content:space-between;font-size:var(--t-xs);line-height:1.6}.footer__bottom p{max-width:52rem;color:var(--ink-invert-faint)}.footer__utility{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:var(--s-2)var(--s-4);width:100%;font-family:var(--font-mono);letter-spacing:.04em}.footer__utility a{color:var(--ink-invert-faint)}.footer__utility a:hover{color:#fff}.hero{position:relative;background:var(--slate-900);color:var(--ink-invert);overflow:hidden;padding-block:var(--s-8)calc(var(--s-8) + 2rem)}.hero::before{content:"";position:absolute;inset:-30% -20% auto auto;width:46rem;height:46rem;background:radial-gradient(circle at 60% 45%,rgba(15,170,119,.13) 0%,rgba(61,79,209,9%) 42%,transparent 70%);pointer-events:none}.hero__inner{position:relative;max-width:46rem}.hero h1{font-size:var(--t-hero);color:#fff}.hero__lede{font-size:var(--t-md);color:var(--ink-invert-muted);margin-top:var(--s-5);max-width:36rem}.hero .btn-row{margin-top:var(--s-6)}.hero__meta{margin-top:var(--s-6);display:flex;flex-wrap:wrap;gap:var(--s-2)var(--s-5);font-family:var(--font-mono);font-size:var(--t-xs);letter-spacing:.04em;color:var(--ink-invert-faint)}.hero__meta strong{color:#fff;font-weight:500}.page-head{background:var(--slate-900);color:var(--ink-invert);padding-block:var(--s-7);position:relative;overflow:hidden}.page-head__inner{position:relative;max-width:46rem}.page-head h1{color:#fff}.page-head p{font-size:var(--t-md);color:var(--ink-invert-muted);margin-top:var(--s-4);max-width:38rem}.page-head .btn-row{margin-top:var(--s-6)}.crumbs{margin-bottom:var(--s-4)}.crumbs ol{list-style:none;padding:0;display:flex;flex-wrap:wrap;align-items:center;gap:.15rem .5rem;font-size:var(--t-xs);line-height:1.5}.crumbs li{display:flex;align-items:center;gap:.5rem}.crumbs li+li::before{content:"/";color:var(--slate-500)}.crumbs a{color:var(--ink-invert-faint);text-decoration:none}.crumbs a:hover{color:#fff;text-decoration:underline}.crumbs [aria-current]{color:var(--ink-invert-muted)}.collapse{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-lift);padding:var(--s-6);margin-top:-2rem;position:relative;z-index:2}.collapse__head{display:flex;flex-wrap:wrap;gap:var(--s-2)var(--s-5);align-items:baseline;justify-content:space-between;margin-bottom:var(--s-5)}.collapse__head h2{font-size:var(--t-lg)}.collapse__legend{display:flex;flex-wrap:wrap;gap:var(--s-4);font-family:var(--font-mono);font-size:var(--t-xs);color:var(--ink-faint)}.collapse__legend span{display:inline-flex;align-items:center;gap:.45rem}.collapse__legend i{width:.75rem;height:.75rem;border-radius:2px;display:block}.collapse__legend i.cold{background:var(--cold)}.collapse__legend i.restore{background:var(--restore-500)}.collapse__rows{display:grid;gap:var(--s-5)}.collapse__row{display:grid;grid-template-columns:9rem 1fr;gap:var(--s-4);align-items:center}.collapse__name{font-weight:600;font-size:var(--t-sm)}.collapse__name span{display:block;font-family:var(--font-mono);font-size:var(--t-xs);font-weight:400;color:var(--restore-700)}.collapse__track{min-width:0}.collapse__bar{position:relative;height:1.5rem;border-radius:3px;background:var(--cold);overflow:hidden;min-width:3rem}.collapse__bar i{position:absolute;inset:0 auto 0 0;display:block;background:var(--restore-500);border-radius:3px 0 0 3px;min-width:2px}.collapse__figures{display:flex;justify-content:space-between;gap:var(--s-4);font-family:var(--font-mono);font-size:var(--t-xs);margin-top:var(--s-2)}.collapse__figures b{font-weight:500}.collapse__figures .restore{color:var(--restore-700)}.collapse__figures .cold{color:var(--ink-faint)}.collapse__note{margin-top:var(--s-5);padding-top:var(--s-4);border-top:1px solid var(--line);font-size:var(--t-xs);line-height:1.6;color:var(--ink-faint)}.collapse__note a{color:var(--ink-muted)}@media(max-width:40rem){.collapse{padding:var(--s-5);margin-top:-1.5rem}.collapse__row{grid-template-columns:1fr;gap:var(--s-2)}}.figure{font-family:var(--font-mono);font-size:var(--t-figure);font-weight:500;letter-spacing:-.04em;line-height:1;color:var(--restore-600)}.figure sup{font-size:.4em;font-weight:400;letter-spacing:0;top:-1.2em}.figure__label{font-size:var(--t-sm);color:var(--ink-muted);margin-top:var(--s-3)}.band--dark .figure{color:var(--restore-300)}.band--dark .figure__label{color:var(--ink-invert-muted)}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:var(--s-5);display:flex;flex-direction:column;gap:var(--s-3);transition:border-color .15s var(--ease),box-shadow .15s var(--ease),transform .15s var(--ease)}.card h3{letter-spacing:-.018em}.card p{color:var(--ink-muted);font-size:var(--t-sm)}.card>:last-child{margin-top:auto}.card--link{text-decoration:none;color:var(--ink)}.card--link:hover{border-color:var(--indigo-500);box-shadow:var(--shadow-md);transform:translateY(-2px);color:var(--ink)}.card__kicker{font-family:var(--font-mono);font-size:var(--t-xs);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-faint);font-weight:500}.logo-card{align-items:flex-start}.logo-card__mark{height:2.2rem;width:auto;max-width:100%;object-fit:contain;object-position:left center}.logo-card ul{list-style:none;padding:0;display:grid;gap:var(--s-2);font-size:var(--t-sm);color:var(--ink-muted)}.logo-card li{display:flex;gap:var(--s-3);align-items:baseline}.logo-card li::before{content:"";flex:none;width:.4rem;height:.4rem;margin-top:.5em;border-radius:50%;background:var(--restore-500)}.tiles{list-style:none;padding:0;display:grid;gap:var(--s-4);grid-template-columns:repeat(auto-fit,minmax(15rem,1fr))}.tile{display:block;padding:var(--s-5);border-radius:var(--radius);border:1px solid var(--line);background:var(--surface);text-decoration:none;color:var(--ink);transition:border-color .15s var(--ease),box-shadow .15s var(--ease),transform .15s var(--ease)}.tile:hover{border-color:var(--indigo-500);box-shadow:var(--shadow-md);transform:translateY(-2px);color:var(--ink)}.tile strong{display:block;font-size:var(--t-md);letter-spacing:-.018em}.tile span{display:block;font-size:var(--t-sm);color:var(--ink-muted);margin-top:var(--s-2)}.tile__out{font-family:var(--font-mono);font-size:var(--t-xs);color:var(--ink-faint);margin-top:var(--s-3);display:block}.band--dark .tile{background:var(--slate-800);border-color:var(--line-dark);color:var(--ink-invert)}.band--dark .tile:hover{border-color:var(--slate-500);color:#fff}.band--dark .tile span,.band--dark .tile .tile__out{color:var(--ink-invert-muted)}.steps{counter-reset:step;display:grid;gap:var(--s-5);min-width:0}.step{display:grid;grid-template-columns:2.4rem 1fr;gap:var(--s-4);align-items:start;min-width:0}.step>*{min-width:0}.step::before{counter-increment:step;content:counter(step);font-family:var(--font-mono);font-size:var(--t-base);font-weight:500;width:2.4rem;height:2.4rem;display:grid;place-items:center;border-radius:50%;background:var(--indigo-100);color:var(--indigo-700);border:1px solid var(--indigo-100)}.step h3{font-size:var(--t-md);margin-bottom:var(--s-2)}.step p{color:var(--ink-muted);font-size:var(--t-sm)}.step pre{margin-top:var(--s-3)}.band--dark .step::before{background:rgba(255,255,255,8%);color:#fff;border-color:var(--slate-700)}.band--dark .step p{color:var(--ink-invert-muted)}.band--dark .step pre{background:var(--slate-950);border:1px solid var(--line-dark)}.notice{border:1px solid var(--line);border-left:3px solid var(--slate-500);background:var(--surface);border-radius:var(--radius);padding:var(--s-4)var(--s-5);font-size:var(--t-sm)}.notice>:first-child{margin-top:0}.notice__title{font-weight:600;font-size:var(--t-base);margin-bottom:var(--s-2);color:var(--ink)}.notice--note{border-left-color:var(--indigo-600);background:var(--indigo-100)}.notice--tip{border-left-color:var(--restore-600);background:var(--restore-100)}.notice--warning{border-left-color:#b45309;background:#fef3c7}.notice--warning .notice__title{color:#7c2d12}.routes{list-style:none;padding:0;display:grid;gap:var(--s-5);grid-template-columns:repeat(auto-fit,minmax(17rem,1fr))}.route{display:flex;flex-direction:column;gap:var(--s-3);height:100%;padding:var(--s-6);border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);text-decoration:none;color:var(--ink);transition:border-color .15s var(--ease),box-shadow .15s var(--ease),transform .15s var(--ease)}.route:hover{border-color:var(--indigo-500);box-shadow:var(--shadow-lift);transform:translateY(-3px);color:var(--ink)}.route__for{font-family:var(--font-mono);font-size:var(--t-xs);font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-faint)}.route__title{font-size:var(--t-xl);letter-spacing:-.022em}.route__cmd{display:block;padding:var(--s-3)var(--s-4);border-radius:var(--radius-sm);background:var(--slate-900);color:var(--ink-code);font-family:var(--font-mono);font-size:var(--t-xs);line-height:1.5;overflow-x:auto;border:0}.route__lede{font-size:var(--t-sm);color:var(--ink-muted)}.route__steps{font-size:var(--t-xs);line-height:1.6;color:var(--ink-faint);padding-top:var(--s-3);border-top:1px solid var(--line)}.route__go{margin-top:auto;padding-top:var(--s-2);font-weight:600;color:var(--link);display:inline-flex;align-items:center;gap:.4em}.route__go::after{content:"→";transition:transform .15s var(--ease)}.route:hover .route__go::after{transform:translateX(4px)}.runtimes{list-style:none;padding:0;display:grid;gap:var(--s-3)}.runtime{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s-3)var(--s-5);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:var(--s-4)var(--s-5)}.runtime__text{flex:1 1 17rem}.runtime__name{font-weight:600;letter-spacing:-.012em}.runtime__note{font-size:var(--t-sm);color:var(--ink-muted)}.runtime .btn{flex:none}.badge{display:inline-block;font-family:var(--font-mono);font-size:var(--t-xs);font-weight:500;letter-spacing:.06em;text-transform:uppercase;padding:.2rem .5rem;border-radius:4px;background:var(--surface-cool-2);color:var(--ink-muted);border:1px solid var(--line)}.badge--upstream{background:var(--indigo-100);color:var(--indigo-700);border-color:var(--indigo-100)}.badge--vendor{background:var(--surface-cool-2)}.prose{max-width:42rem;min-width:0}.prose>*+*{margin-top:var(--s-4)}.prose>*+h2{margin-top:var(--s-7)}.prose>*+h3{margin-top:var(--s-6)}.prose h2{font-size:var(--t-xl)}.prose h3{font-size:var(--t-md)}.prose ul,.prose ol{padding-left:1.3rem;display:grid;gap:var(--s-2)}.prose li{min-width:0}.prose li pre,.prose li .highlight,.prose li .table-wrap{max-width:100%}.prose li>ul,.prose li>ol{margin-top:var(--s-2)}.prose blockquote{border-left:3px solid var(--line-firm);padding-left:var(--s-5);color:var(--ink-muted);font-size:var(--t-md)}.prose img{border-radius:var(--radius);margin-block:var(--s-5);border:1px solid var(--line);background:var(--surface)}.prose pre,.prose .highlight{max-width:100%}.prose a{overflow-wrap:anywhere}.prose details{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);padding:var(--s-4)var(--s-5)}.prose details+details{margin-top:var(--s-3)}.prose summary{cursor:pointer;font-weight:600;font-size:var(--t-sm)}.prose details[open] summary{margin-bottom:var(--s-4)}.table-wrap{overflow-x:auto;margin-block:var(--s-5);border:1px solid var(--line);border-radius:var(--radius);background:var(--surface)}.table-wrap table{min-width:26rem;margin:0}.table-wrap th,.table-wrap td{padding:var(--s-3)var(--s-4)}.table-wrap tr:last-child td{border-bottom:0}.table-wrap code{overflow-wrap:anywhere}.prose a[target=_blank]::after{content:"↗";font-size:.8em;margin-left:.15em;vertical-align:.15em;text-decoration:none;color:var(--ink-faint)}.with-toc{display:grid;gap:var(--s-7);grid-template-columns:1fr}.with-toc>*{min-width:0}@media(min-width:62rem){.with-toc{grid-template-columns:minmax(0,46rem)15rem;justify-content:space-between}.toc{position:sticky;top:5.5rem;align-self:start}}.toc{font-size:var(--t-sm)}.toc>strong{display:block;font-family:var(--font-mono);font-size:var(--t-xs);text-transform:uppercase;letter-spacing:.12em;color:var(--ink-faint);margin-bottom:var(--s-3)}.toc ul{list-style:none;padding:0;display:grid;gap:var(--s-2);border-left:1px solid var(--line)}.toc li{padding-left:var(--s-4)}.toc ul ul{margin-top:var(--s-2);border-left:0}.toc a{display:block;padding:.15rem 0;text-decoration:none;color:var(--ink-muted);border-left:2px solid transparent;margin-left:calc(var(--s-4) * -1);padding-left:var(--s-4);transition:color .12s var(--ease),border-color .12s var(--ease)}.toc a:hover{color:var(--link);text-decoration:underline}.toc a[aria-current]{color:var(--link);font-weight:600;border-left-color:var(--indigo-600)}.search-page__form{display:flex;gap:var(--s-3);margin-top:var(--s-6);max-width:34rem}.search-page__form label{display:contents}.search-page__form input{flex:auto;min-width:0;padding:.7rem 1rem;border:1px solid var(--slate-700);border-radius:var(--radius-sm);background:rgba(255,255,255,7%);color:#fff;font:inherit}.search-page__form input::placeholder{color:var(--ink-invert-faint)}.search-page__status{font-family:var(--font-mono);font-size:var(--t-sm);color:var(--ink-muted)}.search-page__section{margin-top:var(--s-7)}.search-page__section:first-of-type{margin-top:var(--s-5)}.search-page__section>h2{font-size:var(--t-xs);font-family:var(--font-mono);font-weight:500;text-transform:uppercase;letter-spacing:.12em;color:var(--ink-faint);padding-bottom:var(--s-3);border-bottom:1px solid var(--line);margin-bottom:var(--s-4)}.search-page__count{color:var(--link)}.search-result{padding:var(--s-4)0;border-bottom:1px solid var(--line);max-width:50rem}.search-result h3{font-size:var(--t-md)}.search-result h3 a{text-decoration:none;color:var(--ink)}.search-result h3 a:hover{color:var(--link);text-decoration:underline}.search-result p{font-size:var(--t-sm);color:var(--ink-muted);margin-top:var(--s-2)}.search-result mark{background:var(--restore-100);color:var(--restore-700);border-radius:3px;padding:0 .15em}.search-result__url{font-family:var(--font-mono);font-size:var(--t-xs);color:var(--ink-faint);word-break:break-all}.sitemap{display:grid;gap:var(--s-7)var(--s-6);grid-template-columns:repeat(auto-fit,minmax(17rem,1fr));align-items:start}.sitemap__group h2{font-size:var(--t-md);padding-bottom:var(--s-3);border-bottom:2px solid var(--line-firm);margin-bottom:var(--s-4)}.sitemap__group h2 a{text-decoration:none;color:var(--ink)}.sitemap__group h2 a:hover{color:var(--link)}.sitemap__group ul{list-style:none;padding:0;display:grid;gap:var(--s-4)}.sitemap__group li a{font-weight:600;text-decoration:none}.sitemap__group li a:hover{text-decoration:underline}.sitemap__group span,.sitemap__note{display:block;font-size:var(--t-xs);line-height:1.55;color:var(--ink-muted);margin-top:var(--s-1)}.edit-page{border-top:1px solid var(--line);background:var(--surface-cool);padding-block:var(--s-5);font-size:var(--t-sm);color:var(--ink-muted)}.edit-page p{display:flex;flex-wrap:wrap;align-items:baseline;gap:var(--s-2)var(--s-3)}.edit-page a{font-weight:600}.edit-page__path{font-family:var(--font-mono);font-size:var(--t-xs);color:var(--ink-faint);margin-left:auto;word-break:break-all}@media(max-width:40rem){.edit-page__path{margin-left:0}}.bg{color:#d8dee9;background-color:#2e3440}.chroma{color:#d8dee9;background-color:#2e3440;-webkit-text-size-adjust:none}.chroma .err{color:#bf616a}.chroma .lnlinks{outline:none;text-decoration:none;color:inherit}.chroma .lntd{vertical-align:top;padding:0;margin:0;border:0}.chroma .lntable{border-spacing:0;padding:0;margin:0;border:0}.chroma .hl{background-color:#424853}.chroma .lnt{white-space:pre;-webkit-user-select:none;user-select:none;margin-right:.4em;padding:0 .4em;color:#6c6f74}.chroma .ln{white-space:pre;-webkit-user-select:none;user-select:none;margin-right:.4em;padding:0 .4em;color:#6c6f74}.chroma .line{display:flex}.chroma .k{color:#81a1c1;font-weight:700}.chroma .kc{color:#81a1c1;font-weight:700}.chroma .kd{color:#81a1c1;font-weight:700}.chroma .kn{color:#81a1c1;font-weight:700}.chroma .kp{color:#81a1c1}.chroma .kr{color:#81a1c1;font-weight:700}.chroma .kt{color:#81a1c1}.chroma .na{color:#8fbcbb}.chroma .nc{color:#8fbcbb}.chroma .no{color:#8fbcbb}.chroma .nd{color:#d08770}.chroma .ni{color:#d08770}.chroma .ne{color:#bf616a}.chroma .nl{color:#8fbcbb}.chroma .nn{color:#8fbcbb}.chroma .nx{color:#d8dee9}.chroma .py{color:#8fbcbb}.chroma .nt{color:#81a1c1}.chroma .nb{color:#81a1c1}.chroma .bp{color:#81a1c1}.chroma .nf{color:#88c0d0}.chroma .fm{color:#88c0d0}.chroma .s{color:#a3be8c}.chroma .sa{color:#a3be8c}.chroma .sb{color:#a3be8c}.chroma .sc{color:#a3be8c}.chroma .dl{color:#a3be8c}.chroma .sd{color:#616e87}.chroma .s2{color:#a3be8c}.chroma .se{color:#ebcb8b}.chroma .sh{color:#a3be8c}.chroma .si{color:#a3be8c}.chroma .sx{color:#a3be8c}.chroma .sr{color:#ebcb8b}.chroma .s1{color:#a3be8c}.chroma .ss{color:#a3be8c}.chroma .m{color:#b48ead}.chroma .mb{color:#b48ead}.chroma .mf{color:#b48ead}.chroma .mh{color:#b48ead}.chroma .mi{color:#b48ead}.chroma .il{color:#b48ead}.chroma .mo{color:#b48ead}.chroma .o{color:#81a1c1}.chroma .ow{color:#81a1c1;font-weight:700}.chroma .or{color:#81a1c1}.chroma .p{color:#eceff4}.chroma .c{color:#616e87;font-style:italic}.chroma .ch{color:#616e87;font-style:italic}.chroma .cm{color:#616e87;font-style:italic}.chroma .c1{color:#616e87;font-style:italic}.chroma .cs{color:#616e87;font-style:italic}.chroma .cp{color:#5e81ac;font-style:italic}.chroma .cpf{color:#5e81ac;font-style:italic}.chroma .gd{color:#bf616a}.chroma .ge{font-style:italic}.chroma .gr{color:#bf616a}.chroma .gh{color:#88c0d0;font-weight:700}.chroma .gi{color:#a3be8c}.chroma .go{color:#d8dee9}.chroma .gp{color:#4c566a;font-weight:700}.chroma .gs{font-weight:700}.chroma .gu{color:#88c0d0;font-weight:700}.chroma .gt{color:#bf616a}.chroma .w{color:#d8dee9}.highlight pre.chroma,pre.chroma{background:var(--slate-900)!important}.band--dark .highlight pre.chroma,.band--dark pre.chroma{background:var(--slate-950)!important;border:1px solid var(--line-dark)}.highlight pre.chroma{padding:var(--s-5);border-radius:var(--radius);overflow-x:auto}.chroma .lnt,.chroma .ln{color:#57657f}.chroma .c,.chroma .ch,.chroma .cm,.chroma .c1,.chroma .cs,.chroma .cp,.chroma .cpf{color:#8f9db8}