@font-face{font-family:Plus Jakarta Sans Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(data:font/woff2;base64,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)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Plus Jakarta Sans Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/_astro/plus-jakarta-sans-vietnamese-wght-normal.qRpaaN48.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Plus Jakarta Sans Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/_astro/plus-jakarta-sans-latin-ext-wght-normal.DmpS2jIq.woff2)format("woff2-variations");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:Plus Jakarta Sans Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/_astro/plus-jakarta-sans-latin-wght-normal.eXO_dkmS.woff2)format("woff2-variations");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:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/_astro/bricolage-grotesque-vietnamese-wght-normal.BUzh504Q.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/_astro/bricolage-grotesque-latin-ext-wght-normal.CcLUaPy7.woff2)format("woff2-variations");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:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/_astro/bricolage-grotesque-latin-wght-normal.DLoelf7F.woff2)format("woff2-variations");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 Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(data:font/woff2;base64,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)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/_astro/jetbrains-mono-cyrillic-wght-normal.D73BlboJ.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/_astro/jetbrains-mono-greek-wght-normal.Bw9x6K1M.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/_astro/jetbrains-mono-vietnamese-wght-normal.Bt-aOZkq.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/_astro/jetbrains-mono-latin-ext-wght-normal.DBQx-q_a.woff2)format("woff2-variations");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:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/_astro/jetbrains-mono-latin-wght-normal.B9CIFXIH.woff2)format("woff2-variations");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{--background:77 37% 96%;--foreground:176 33% 9%;--card:0 0% 100%;--card-foreground:176 33% 9%;--card-border:77 18% 86%;--muted:75 35% 89%;--muted-foreground:176 16% 23%;--surface-sunken:76 36% 93%;--scrim:176 33% 9% / .72;--primary:79 70% 58%;--accent-on-light:82 57% 43%;--primary-foreground:174 52% 11%;--secondary:75 35% 89%;--secondary-foreground:174 52% 11%;--accent:174 52% 11%;--accent-foreground:77 37% 96%;--destructive:0 65% 45%;--border:77 18% 86%;--ring:174 52% 11%;--input-border:77 12% 70%;--heading:174 52% 11%;--brand-deep:174 52% 11%;--brand-deep-foreground:77 37% 96%;--brand-sage:75 35% 89%;--brand-beige:40 59% 87%;--brand-mint:135 89% 83%;--ai:262 52% 40%;--ai-muted:262 60% 95%;--tone-info-bg:hsl(var(--primary) / .1);--tone-info-border:hsl(var(--primary) / .35);--tone-info-text:hsl(var(--brand-deep));--tone-warning-bg:#f59e0b1a;--tone-warning-border:#f59e0b4d;--tone-warning-text:#92400e;--tone-error-bg:#ef44441a;--tone-error-border:#ef44444d;--tone-error-text:#b91c1c;--tone-success-bg:#10b9811a;--tone-success-border:#10b9814d;--tone-success-text:#065f46;--radius-pill:48px;--radius-feature:28px;--radius-card:24px;--radius-panel:20px;--radius-md:12px;--radius-sm:8px;--shadow-soft:0 2px 8px #10201f0f;--shadow-xl:0 20px 25px -5px #10201f14, 0 8px 10px -6px #10201f0f;--font-sans:"Plus Jakarta Sans Variable", "Plus Jakarta Sans", ui-sans-serif, system-ui, sans-serif;--font-display:"Bricolage Grotesque Variable", "Bricolage Grotesque", var(--font-sans);--font-mono:"JetBrains Mono Variable", "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--container-max:1440px;--measure-read:760px;color-scheme:light}.dark{--background:200 18% 9%;--foreground:77 37% 96%;--card:200 14% 13%;--card-foreground:77 37% 96%;--card-border:200 12% 22%;--muted:200 12% 16%;--muted-foreground:200 12% 70%;--surface-sunken:200 16% 6%;--scrim:200 30% 2% / .82;--primary:79 70% 62%;--accent-on-light:79 70% 62%;--primary-foreground:200 18% 9%;--secondary:200 12% 20%;--secondary-foreground:77 37% 96%;--accent:79 70% 62%;--accent-foreground:200 18% 9%;--destructive:0 65% 52%;--border:200 12% 22%;--ring:79 70% 58%;--input-border:200 10% 46%;--heading:77 37% 96%;--brand-sage:75 25% 30%;--brand-beige:40 30% 35%;--brand-mint:135 60% 50%;--ai:262 70% 80%;--ai-muted:262 40% 24%;--tone-info-text:hsl(var(--primary));--tone-warning-text:#fcd34d;--tone-error-text:#fca5a5;--tone-success-text:#a7f3d0;--shadow-soft:0 2px 8px #0000004d;--shadow-xl:0 20px 25px -5px #0006, 0 8px 10px -6px #0000004d;color-scheme:dark}.prose{color:hsl(var(--foreground) / .92);margin-top:32px;font-size:16px;line-height:1.75}.prose>:first-child{margin-top:0}.prose :where(p,ul,ol,pre,figure,.table-wrap,.callout,.tabs,.card-grid,.steps,details){margin:0 0 20px}.prose :where(.screens,.screen-side){margin:0 0 32px}.prose :where(h2,h3,h4){font-family:var(--font-display);color:hsl(var(--heading));letter-spacing:-.01em;font-weight:600;position:relative}.prose h2{margin:48px 0 16px;font-size:24px;line-height:1.25}.prose h3{margin:32px 0 12px;font-size:19px;line-height:1.35}.prose h4{margin:24px 0 8px;font-size:16px}.prose .anchor{vertical-align:middle;color:hsl(var(--muted-foreground));opacity:0;margin-left:8px;transition:opacity .15s ease-out;display:inline-grid}.prose :where(h2,h3):hover .anchor,.prose .anchor:focus-visible{opacity:1}.prose a:not(.card):not(.anchor){color:hsl(var(--heading));text-decoration:underline;text-decoration-color:hsl(var(--primary));text-underline-offset:3px;font-weight:500;text-decoration-thickness:2px;transition:text-decoration-color .15s ease-out}.prose a:not(.card):not(.anchor):hover{text-decoration-color:hsl(var(--heading))}.prose strong{color:hsl(var(--heading));font-weight:600}.prose :where(ul,ol){padding-left:24px}.prose li{margin:6px 0}.prose li::marker{color:hsl(var(--muted-foreground))}.prose li>:where(p,ul,ol,.callout,pre,.tabs){margin-top:8px;margin-bottom:8px}.prose hr{border:0;border-top:1px solid hsl(var(--border));margin:40px 0}.prose blockquote{border-left:1px solid hsl(var(--input-border));color:hsl(var(--muted-foreground));margin:0 0 20px;padding:4px 0 4px 18px}.prose img{border-radius:var(--radius-sm);max-width:100%;height:auto}.prose :not(pre)>code{background:hsl(var(--muted));font-family:var(--font-mono);color:hsl(var(--heading));overflow-wrap:anywhere;border-radius:6px;padding:2px 6px;font-size:.85em}.code-block{border:1px solid hsl(var(--card-border));background:hsl(var(--card));border-radius:16px;margin:0 0 20px;overflow:hidden}.code-header{border-bottom:1px solid hsl(var(--border));background:hsl(var(--muted) / .5);min-height:38px;color:hsl(var(--muted-foreground));justify-content:space-between;align-items:center;padding:0 8px 0 16px;font-size:12px;font-weight:600;display:flex}.prose .code-block pre{border:0;border-radius:0;margin:0}.prose pre{border:1px solid hsl(var(--card-border));background:hsl(var(--card));font-family:var(--font-mono);border-radius:16px;padding:16px 18px;font-size:13px;line-height:1.65;position:relative;overflow-x:auto}.prose pre code{font-family:inherit}.prose pre.shiki{white-space:pre-wrap;overflow-wrap:anywhere}.prose pre.shiki .line{text-indent:-4ch;width:100%;padding-left:4ch;display:inline-block}.shiki,.shiki span{color:var(--shiki-light)}.dark .shiki,.dark .shiki span{color:var(--shiki-dark)}.copy-button{border:1px solid hsl(var(--border));border-radius:var(--radius-sm);background:hsl(var(--card));width:30px;height:30px;color:hsl(var(--muted-foreground));opacity:0;opacity:1;background:0 0;border:0;place-items:center;width:28px;height:28px;margin-left:auto;transition:opacity .15s ease-out;display:inline-grid}.copy-button:hover{color:hsl(var(--heading));background:hsl(var(--muted))}.copy-button.copied{color:hsl(var(--accent-on-light))}pre.mermaid{background:hsl(var(--card));font-family:var(--font-sans);color:#0000;justify-content:center;padding:24px;display:flex}pre.mermaid[data-processed]{color:inherit;cursor:zoom-in}.table-wrap{border:1px solid hsl(var(--card-border));background:hsl(var(--card));border-radius:16px;overflow-x:auto}.prose table{border-collapse:collapse;width:100%;font-size:14px;line-height:1.55}.prose th{text-align:left;color:hsl(var(--heading));background:hsl(var(--muted) / .6);font-weight:600}.prose :where(th,td){border-bottom:1px solid hsl(var(--border));vertical-align:top;padding:10px 14px}.prose tr:last-child td{border-bottom:0}.prose th:empty{display:none}.callout{border:1px solid var(--tone-border);border-radius:var(--radius-md);background:var(--tone-bg);padding:14px 16px;font-size:15px}.callout-info{--tone-bg:var(--tone-info-bg);--tone-border:var(--tone-info-border);--tone-text:var(--tone-info-text)}.callout-warning{--tone-bg:var(--tone-warning-bg);--tone-border:var(--tone-warning-border);--tone-text:var(--tone-warning-text)}.callout-error{--tone-bg:var(--tone-error-bg);--tone-border:var(--tone-error-border);--tone-text:var(--tone-error-text)}.callout-success{--tone-bg:var(--tone-success-bg);--tone-border:var(--tone-success-border);--tone-text:var(--tone-success-text)}.callout-title{color:var(--tone-text);align-items:center;gap:8px;margin:0 0 4px;font-weight:600;display:flex}summary.callout-title{cursor:pointer;margin:0;list-style:none}summary.callout-title::-webkit-details-marker{display:none}details.callout[open]>summary.callout-title{margin-bottom:4px}.callout-body>:last-child{margin-bottom:0}.callout-body :where(p,ul,ol){margin-bottom:10px}.tabs{border:1px solid hsl(var(--card-border));background:hsl(var(--card));border-radius:16px;overflow:hidden}.tab-list{border-bottom:1px solid hsl(var(--border));background:hsl(var(--muted) / .5);gap:2px;padding:0 8px;display:flex;overflow-x:auto}.tab-list button{white-space:nowrap;color:hsl(var(--muted-foreground));background:0 0;border:0;border-bottom:2px solid #0000;padding:10px 12px;font-size:13px;font-weight:500}.tab-list button[aria-selected=true]{color:hsl(var(--heading));border-bottom-color:hsl(var(--primary))}.tab{padding:16px}.tabs.ready .tab:not(.active){display:none}.tab>:last-child{margin-bottom:0}.tab .code-block{border:0;border-radius:0;margin:-16px}.card-grid{grid-template-columns:repeat(var(--cols,2), minmax(0, 1fr));gap:16px;display:grid}.card-grid[data-cols="1"]{--cols:1}.card-grid[data-cols="3"]{--cols:3}.card{border:1px solid hsl(var(--card-border));border-radius:var(--radius-panel);background:hsl(var(--card));box-shadow:var(--shadow-soft);padding:20px;transition:border-color .2s ease-out,transform .2s ease-out;display:block}.card-link:hover{border-color:hsl(var(--primary));transform:translateY(-2px)}.card-icon{border-radius:var(--radius-md);background:hsl(var(--brand-deep) / .08);width:40px;height:40px;color:hsl(var(--brand-deep));place-items:center;margin-bottom:14px;display:inline-grid}.dark .card-icon{background:hsl(var(--brand-mint) / .12);color:hsl(var(--brand-mint))}.card-title{font-family:var(--font-display);color:hsl(var(--heading));margin:0 0 4px;font-size:16px;font-weight:600}.card-body{color:hsl(var(--muted-foreground));font-size:14px;line-height:1.6}.card-body>:last-child{margin-bottom:0}.steps{counter-reset:step;border-left:1px solid hsl(var(--border));margin-left:14px;padding-left:30px}.steps>h3{counter-increment:step;margin-top:28px}.steps>h3:first-child{margin-top:0}.steps>h3:before{content:counter(step);border:4px solid hsl(var(--background));background:hsl(var(--brand-deep));width:30px;height:30px;color:hsl(var(--brand-deep-foreground));font-family:var(--font-sans);box-sizing:content-box;border-radius:50%;place-items:center;font-size:12px;font-weight:600;display:grid;position:absolute;top:-2px;left:-45px}.dark .steps>h3:before{background:hsl(var(--primary));color:hsl(var(--primary-foreground))}.frame{margin:8px 0 28px}.frame-body{border:1px solid hsl(var(--card-border));background:hsl(var(--card));box-shadow:var(--shadow-xl);border-radius:16px;width:fit-content;max-width:100%;margin:0 auto;padding-top:32px;position:relative;overflow:hidden}.frame-body:before{content:"";border-bottom:1px solid hsl(var(--card-border));background:radial-gradient(circle at 18px 16px, #ff5f57 5px, transparent 5.5px), radial-gradient(circle at 36px 16px, #febc2e 5px, transparent 5.5px), radial-gradient(circle at 54px 16px, #28c840 5px, transparent 5.5px), hsl(var(--muted) / .6);height:32px;position:absolute;inset:0 0 auto}.frame-dialog .frame-body{border-radius:20px;max-width:480px;margin:0 auto;padding-top:0}.frame-dialog .frame-body:before{display:none}.prose img.zoomable{cursor:zoom-in}.frame img{border-radius:0;max-width:100%;height:auto;display:block}.frame figcaption{text-align:center;color:hsl(var(--muted-foreground));margin-top:10px;font-size:13px}.lightbox{cursor:zoom-out;background:0 0;border:0;border-radius:16px;max-width:96vw;max-height:96vh;padding:0}.lightbox::backdrop{background:hsl(var(--scrim))}.lightbox-diagram{background:hsl(var(--card));border-radius:16px;width:92vw;padding:32px}.lightbox-diagram svg{width:100%;height:auto;max-height:84vh;display:block}.lightbox img{border-radius:16px;max-width:96vw;max-height:92vh;display:block}@media (width<=640px){.card-grid,.card-grid[data-cols="3"]{--cols:1}}.screens{counter-reset:screen;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px 20px;display:grid}.screen{counter-increment:screen;margin:0}.screen-stage{border:1px solid hsl(var(--card-border));border-radius:var(--radius-panel);background:radial-gradient(120% 80% at 50% 0%, hsl(var(--brand-deep) / .08), transparent 70%), hsl(var(--muted) / .5);place-items:center;margin:0 0 14px;padding:28px 14%;display:grid}.dark .screen-stage{background:radial-gradient(120% 80% at 50% 0%, hsl(var(--brand-mint) / .1), transparent 70%), hsl(var(--card))}.screen-side{grid-template-columns:minmax(0,1fr) 170px;align-items:start;gap:28px;display:grid}.screen-side .screen-stage{margin:0;padding:18px 22px}.screen-text>:first-child{margin-top:0}.screen-text>:last-child{margin-bottom:0}.screen-stage img{width:100%;height:auto;filter:drop-shadow(0 12px 24px hsl(var(--brand-deep) / .18));border:0;transition:transform .25s ease-out}.screen:hover .screen-stage img{transform:translateY(-4px)}.screen figcaption{color:hsl(var(--muted-foreground));font-size:14px;line-height:1.55}.screen figcaption>*{margin:0}.screen figcaption strong{font-family:var(--font-display);color:hsl(var(--heading));align-items:flex-start;gap:8px;margin-bottom:4px;font-size:15px;font-weight:600;display:flex}.screen figcaption strong:before{content:counter(screen);background:hsl(var(--primary));width:22px;height:22px;color:hsl(var(--primary-foreground));border-radius:999px;flex:none;place-items:center;font-size:12px;display:inline-grid}.demo-video{border:1px solid hsl(var(--card-border));border-radius:var(--radius-panel);background:#000;width:100%;display:block}@media (width<=720px){.screens{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 14px}.screen-stage{padding:18px 10%}.screen-side{grid-template-columns:minmax(0,1fr) 120px;gap:16px}.screen-side .screen-stage{padding:10px 12px}}*,:before,:after{box-sizing:border-box;border-color:hsl(var(--border))}html{-webkit-text-size-adjust:100%;scroll-padding-top:140px}body{background:hsl(var(--background));color:hsl(var(--foreground));font-family:var(--font-sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;font-size:16px;line-height:1.6}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}svg{flex-shrink:0}:focus-visible{outline:2px solid hsl(var(--ring));outline-offset:2px;border-radius:6px}.container{max-width:var(--container-max);margin:0 auto;padding:0 24px}.site-header{z-index:40;background:hsl(var(--background) / .85);backdrop-filter:saturate(180%)blur(12px);border-bottom:1px solid hsl(var(--border));position:sticky;top:0;box-shadow:0 1px 2px #10201f0a,0 4px 16px -4px #10201f14}.dark .site-header{box-shadow:0 1px 2px #0000004d,0 4px 16px -4px #00000073}.header-row{align-items:center;gap:16px;height:64px;display:flex}.brand{flex-shrink:0;align-items:center;gap:10px;display:flex}.brand-logo{background:hsl(var(--heading));width:112px;height:20px;display:block;-webkit-mask:url(/assets/fortytwo-logo-white.png) 0/contain no-repeat;mask:url(/assets/fortytwo-logo-white.png) 0/contain no-repeat}.brand-label{font-family:var(--font-display);color:hsl(var(--muted-foreground));border-left:1px solid hsl(var(--border));padding-left:10px;font-size:15px;font-weight:600}.search-trigger{border:1px solid hsl(var(--input-border) / .6);border-radius:var(--radius-pill);background:hsl(var(--card));width:min(420px,100%);height:40px;color:hsl(var(--muted-foreground));box-shadow:var(--shadow-soft);align-items:center;gap:10px;margin:0 auto;padding:0 8px 0 14px;font-size:14px;transition:border-color .2s ease-out;display:flex}.search-trigger:hover{border-color:hsl(var(--ring) / .5)}.search-trigger span{text-align:left;flex:1}kbd{font-family:var(--font-mono);border:1px solid hsl(var(--border));background:hsl(var(--muted));color:hsl(var(--muted-foreground));border-radius:6px;padding:2px 7px;font-size:11px}.header-actions{flex-shrink:0;align-items:center;gap:4px;display:flex}.header-link{color:hsl(var(--muted-foreground));border-radius:var(--radius-pill);padding:8px 12px;font-size:14px;font-weight:500;transition:color .2s ease-out}.header-link:hover{color:hsl(var(--heading))}.icon-button{width:36px;height:36px;color:hsl(var(--muted-foreground));background:0 0;border:0;border-radius:50%;place-items:center;transition:background .2s ease-out,color .2s ease-out;display:inline-grid}.icon-button:hover{background:hsl(var(--muted));color:hsl(var(--heading))}.btn{border-radius:var(--radius-pill);font-family:var(--font-display);background:hsl(var(--brand-deep));color:hsl(var(--brand-deep-foreground));border:0;align-items:center;gap:8px;padding:8px 20px;font-size:15px;font-weight:500;transition:background .2s ease-out,color .2s ease-out;display:inline-flex}.btn:hover,.dark .btn{background:hsl(var(--primary));color:hsl(var(--primary-foreground))}.dark .btn:hover{background:hsl(var(--foreground))}.theme-icon-light,.dark .theme-icon-dark{display:grid}.theme-icon-dark,.dark .theme-icon-light{display:none}.product-tabs{scrollbar-width:none;gap:4px;margin-bottom:-1px;display:flex;overflow-x:auto}.product-tabs::-webkit-scrollbar{display:none}.product-tab{white-space:nowrap;color:hsl(var(--muted-foreground));border-bottom:2px solid #0000;align-items:center;gap:8px;padding:12px 10px;font-size:14px;font-weight:500;transition:color .2s ease-out,border-color .2s ease-out;display:flex}.product-tab:hover{color:hsl(var(--heading))}.product-tab[aria-current=true]{color:hsl(var(--heading));border-bottom-color:hsl(var(--brand-deep));font-weight:600}.dark .product-tab[aria-current=true]{border-bottom-color:hsl(var(--primary))}.badge{border-radius:var(--radius-pill);background:hsl(var(--brand-mint));color:hsl(var(--brand-deep));align-items:center;padding:1px 8px;font-size:11px;font-weight:600;line-height:18px;display:inline-flex}.dark .badge{background:hsl(var(--brand-mint) / .3);color:hsl(var(--brand-deep-foreground))}.docs-grid{grid-template-columns:272px minmax(0,1fr) 232px;gap:48px;display:grid}.sidebar{scrollbar-width:thin;height:calc(100vh - 113px);padding:28px 8px 48px 0;position:sticky;top:113px;overflow-y:auto}.nav-section+.nav-section{margin-top:24px}.nav-section-title{font-family:var(--font-display);color:hsl(var(--heading));align-items:center;gap:10px;margin:0 0 6px;padding:0 10px;font-size:14px;font-weight:600;display:flex}.nav-list{margin:0;padding:0;list-style:none}.nav-link,.nav-group>summary{color:hsl(var(--muted-foreground));border-radius:10px;align-items:center;gap:10px;padding:6px 10px;font-size:14px;line-height:1.45;transition:background .15s ease-out,color .15s ease-out;display:flex}.nav-link:hover,.nav-group>summary:hover{color:hsl(var(--heading));background:hsl(var(--muted) / .6)}.nav-link[aria-current=page]{color:hsl(var(--heading));background:hsl(var(--muted));font-weight:600}.dark .nav-link[aria-current=page]{color:hsl(var(--primary));background:hsl(var(--primary) / .1)}.nav-group>summary{cursor:pointer;list-style:none}.nav-group>summary::-webkit-details-marker{display:none}.nav-group>summary .chevron{margin-left:auto;transition:transform .2s ease-out}.nav-group[open]>summary .chevron{transform:rotate(90deg)}.nav-group>.nav-list{border-left:1px solid hsl(var(--border));margin:2px 0 4px 18px;padding-left:8px}.nav-icon{color:inherit;opacity:.85;display:inline-grid}.main{min-width:0;padding:40px 0 96px}.article{max-width:var(--measure-read)}.eyebrow{color:hsl(var(--accent-on-light));margin:0 0 8px;font-size:14px;font-weight:600}.article-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px;display:flex}.article-head .eyebrow{margin:0}.page-menu{border:1px solid hsl(var(--card-border));background:hsl(var(--card));border-radius:10px;flex:none;font-size:13px;display:flex;position:relative}.page-menu-copy,.page-menu-more>summary{color:hsl(var(--heading));font:inherit;cursor:pointer;background:0 0;border:0;align-items:center;gap:6px;padding:6px 10px;font-weight:500;display:inline-flex}.page-menu-more>summary{border-left:1px solid hsl(var(--card-border));padding:6px 8px;list-style:none}.page-menu-more>summary::-webkit-details-marker{display:none}.page-menu-copy:hover,.page-menu-more>summary:hover{background:hsl(var(--muted) / .6)}.page-menu-copy{border-radius:9px 0 0 9px}.page-menu-more>summary{border-radius:0 9px 9px 0}.page-menu-list{z-index:20;border:1px solid hsl(var(--card-border));background:hsl(var(--card));width:260px;box-shadow:var(--shadow-xl);border-radius:12px;padding:6px;display:grid;position:absolute;top:calc(100% + 6px);right:0}.page-menu-list a{color:hsl(var(--heading));border-radius:8px;align-items:flex-start;gap:10px;padding:8px 10px;display:flex}.page-menu-list a:hover{background:hsl(var(--muted) / .6)}.page-menu-list a>svg{color:hsl(var(--muted-foreground));flex:none;margin-top:2px}.page-menu-list span{display:grid}.page-menu-list strong{font-weight:600}.page-menu-list small{color:hsl(var(--muted-foreground));font-size:12px}.toc-mobile{border:1px solid hsl(var(--card-border));background:hsl(var(--card));border-radius:12px;margin:20px 0 0;font-size:14px;display:none}.toc-mobile>summary{color:hsl(var(--heading));cursor:pointer;align-items:center;gap:8px;padding:10px 14px;font-weight:600;list-style:none;display:flex}.toc-mobile>summary::-webkit-details-marker{display:none}.toc-mobile>summary svg:last-child{margin-left:auto;transition:transform .2s ease-out}.toc-mobile[open]>summary svg:last-child{transform:rotate(180deg)}.toc-mobile ul{margin:0;padding:0 14px 12px;list-style:none}.toc-mobile a{color:hsl(var(--muted-foreground));padding:6px 0;display:block}.toc-mobile a.depth-3{padding-left:14px}.page-title{font-family:var(--font-display);letter-spacing:-.02em;color:hsl(var(--heading));margin:0;font-size:36px;font-weight:600;line-height:1.1}.page-lead{color:hsl(var(--muted-foreground));margin:14px 0 0;font-size:18px;line-height:1.6}.page-actions{border-top:1px solid hsl(var(--border));color:hsl(var(--muted-foreground));flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:56px;padding-top:20px;font-size:13px;display:flex}.page-actions a{align-items:center;gap:6px;display:inline-flex}.page-actions a:hover{color:hsl(var(--heading))}.pager{grid-template-columns:1fr 1fr;gap:16px;margin-top:24px;display:grid}.pager a{border:1px solid hsl(var(--card-border));border-radius:var(--radius-panel);background:hsl(var(--card));padding:16px 20px;transition:border-color .2s ease-out,transform .2s ease-out;display:block}.pager a:hover{border-color:hsl(var(--primary));transform:translateY(-1px)}.pager .next{text-align:right;grid-column:2}.pager small{color:hsl(var(--muted-foreground));font-size:12px;display:block}.pager strong{font-family:var(--font-display);color:hsl(var(--heading));font-weight:600}.toc{max-height:calc(100vh - 113px);padding:44px 0 40px;font-size:13px;position:sticky;top:113px;overflow-y:auto}.toc-title{color:hsl(var(--heading));align-items:center;gap:8px;margin:0 0 12px;font-weight:600;display:flex}.toc ul{border-left:1px solid hsl(var(--border));margin:0;padding:0;list-style:none}.toc a{color:hsl(var(--muted-foreground));border-left:2px solid #0000;margin-left:-1px;padding:5px 0 5px 14px;transition:color .15s ease-out,border-color .15s ease-out;display:block}.toc a.depth-3{padding-left:26px}.toc a:hover{color:hsl(var(--heading))}.toc a.active{color:hsl(var(--heading));border-left-color:hsl(var(--primary));font-weight:600}.site-footer{border-top:1px solid hsl(var(--border));color:hsl(var(--muted-foreground));padding:32px 0 40px;font-size:13px}.footer-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px 24px;display:flex}.footer-links{gap:20px;display:flex}.footer-links a:hover{color:hsl(var(--heading))}.search-dialog{border:1px solid hsl(var(--card-border));border-radius:var(--radius-panel);background:hsl(var(--card));width:min(640px,100vw - 32px);max-height:min(640px,100vh - 96px);color:hsl(var(--foreground));box-shadow:var(--shadow-xl);margin:72px auto auto;padding:0;overflow:hidden}.search-dialog[open]{flex-direction:column;display:flex}.search-dialog::backdrop{background:hsl(var(--scrim));backdrop-filter:blur(2px)}.search-input-row{border-bottom:1px solid hsl(var(--border));color:hsl(var(--muted-foreground));align-items:center;gap:12px;padding:0 16px;display:flex}.search-input-row input{height:56px;font:inherit;color:hsl(var(--foreground));background:0 0;border:0;outline:0;flex:1;font-size:16px}.search-filters{border-bottom:1px solid hsl(var(--border));scrollbar-width:none;gap:6px;padding:10px 16px;display:flex;overflow-x:auto}.chip{border:1px solid hsl(var(--border));border-radius:var(--radius-pill);white-space:nowrap;color:hsl(var(--muted-foreground));background:0 0;padding:4px 12px;font-size:12px;font-weight:500}.chip[aria-pressed=true]{background:hsl(var(--brand-deep));border-color:hsl(var(--brand-deep));color:hsl(var(--brand-deep-foreground))}.dark .chip[aria-pressed=true]{background:hsl(var(--primary));border-color:hsl(var(--primary));color:hsl(var(--primary-foreground))}.search-results{margin:0;padding:8px;list-style:none;overflow-y:auto}.search-results a{border-radius:var(--radius-md);padding:10px 12px;display:block}.search-results a:hover,.search-results a[aria-selected=true]{background:hsl(var(--muted))}.search-results .result-product{color:hsl(var(--accent-on-light));font-size:11px;font-weight:600}.search-results .result-title{color:hsl(var(--heading));font-weight:600;display:block}.search-results .result-excerpt{color:hsl(var(--muted-foreground));margin-top:2px;font-size:13px;display:block}.search-results mark{background:hsl(var(--primary) / .35);color:inherit;border-radius:3px;padding:0 1px}.search-empty{text-align:center;color:hsl(var(--muted-foreground));padding:32px 16px;font-size:14px}.menu-button,.drawer-products,.sidebar-mobile-only{display:none}@media (width<=1240px){.docs-grid{grid-template-columns:256px minmax(0,1fr)}.toc{display:none}.toc-mobile{display:block}}@media (width<=900px){.container{padding:0 16px}.docs-grid{display:block}.menu-button{display:inline-grid}.drawer-products,.sidebar-mobile-only{display:block}.drawer-products{border-top:1px solid hsl(var(--border));margin-top:28px;padding-top:20px}.sidebar-mobile-only .drawer-products{border-top:0;margin-top:0;padding-top:0}.sidebar{inset:var(--header-height,113px) 0 0 0;overscroll-behavior:contain;z-index:30;background:hsl(var(--background));height:auto;padding:20px 16px 48px;transition:transform .25s ease-out;position:fixed;transform:translate(-100%)}body.nav-open .sidebar{transform:none}body.nav-open{overflow:hidden}.search-trigger{justify-content:center;width:40px;margin-left:auto;margin-right:0;padding:0}.search-trigger span,.search-trigger kbd,.header-link,.brand-label,.header-actions .btn{display:none}.page-title{font-size:30px}.main{padding-top:28px}}
