@font-face{font-family:Outfit;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/outfit-latin-ext-400-normal-5tcqmc2S.woff2)format("woff2"),url(/assets/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(/assets/outfit-latin-400-normal-BGsTXAXT.woff2)format("woff2"),url(/assets/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(/assets/outfit-latin-ext-500-normal-zeox_O30.woff2)format("woff2"),url(/assets/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(/assets/outfit-latin-500-normal-DKnIMDSk.woff2)format("woff2"),url(/assets/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(/assets/outfit-latin-ext-600-normal-B85nYjL1.woff2)format("woff2"),url(/assets/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(/assets/outfit-latin-600-normal-B7SfZ07L.woff2)format("woff2"),url(/assets/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}@font-face{font-family:Outfit;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/outfit-latin-ext-700-normal-CI4iH74K.woff2)format("woff2"),url(/assets/outfit-latin-ext-700-normal-fjS8-Gm7.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:700;src:url(/assets/outfit-latin-700-normal-Cu9v6i1X.woff2)format("woff2"),url(/assets/outfit-latin-700-normal-D4itBLBr.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:Space Grotesk;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/space-grotesk-vietnamese-400-normal-B7xT_GF5.woff2)format("woff2"),url(/assets/space-grotesk-vietnamese-400-normal-BIWiOVfw.woff)format("woff");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:Space Grotesk;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/space-grotesk-latin-ext-400-normal-CfP_5XZW.woff2)format("woff2"),url(/assets/space-grotesk-latin-ext-400-normal-DRPE3kg4.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:Space Grotesk;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/space-grotesk-latin-400-normal-CJ-V5oYT.woff2)format("woff2"),url(/assets/space-grotesk-latin-400-normal-BnQMeOim.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:Space Grotesk;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/space-grotesk-vietnamese-500-normal-BmEvtly_.woff2)format("woff2"),url(/assets/space-grotesk-vietnamese-500-normal-BTqKIpxg.woff)format("woff");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:Space Grotesk;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/space-grotesk-latin-ext-500-normal-DUe3BAxM.woff2)format("woff2"),url(/assets/space-grotesk-latin-ext-500-normal-3dgZTiw9.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:Space Grotesk;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/space-grotesk-latin-500-normal-lFbtlQH6.woff2)format("woff2"),url(/assets/space-grotesk-latin-500-normal-CNSSEhBt.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:Space Grotesk;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/space-grotesk-vietnamese-700-normal-DMty7AZE.woff2)format("woff2"),url(/assets/space-grotesk-vietnamese-700-normal-Duxec5Rn.woff)format("woff");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:Space Grotesk;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/space-grotesk-latin-ext-700-normal-BQnZhY3m.woff2)format("woff2"),url(/assets/space-grotesk-latin-ext-700-normal-HVCqSBdx.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:Space Grotesk;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/space-grotesk-latin-700-normal-RjhwGPKo.woff2)format("woff2"),url(/assets/space-grotesk-latin-700-normal-CwsQ-cCU.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{--bg:#000;--surface:#141414;--surface-2:#1a1a1a;--border:#2a2a2a;--text-strong:#fff;--text:#e5e5e5;--text-muted:#bbb;--text-faint:#999;--text-dim:#666;--mint:#affaa0;--mint-deep:#1f4d1f;--lavender:#c3a6ff;--lavender-deep:#2e2447;--blue:#8ab4f8;--blue-deep:#1b2a44;--warning:#ffcf7a;--radius:10px;--font-heading:"Space Grotesk", system-ui, sans-serif;--font-body:"Outfit", system-ui, sans-serif;--font-mono:ui-monospace, "SF Mono", Menlo, Consolas, monospace;--sidebar:288px;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html{background:var(--bg)}body{background:var(--bg);color:var(--text);font-family:var(--font-body);-webkit-font-smoothing:antialiased;margin:0;font-size:16.5px;line-height:1.65}a{color:var(--mint);text-decoration:none}a:hover{text-underline-offset:3px;text-decoration:underline}::selection{background:var(--mint-deep);color:var(--text-strong)}.layout{min-height:100vh}.topbar{display:none}.sidebar{width:var(--sidebar);border-right:1px solid var(--border);background:var(--bg);padding:28px 20px 24px 24px;position:fixed;inset:0 auto 0 0;overflow-y:auto}.main{margin-left:var(--sidebar);min-width:0}.brand{color:var(--text-strong);align-items:center;gap:12px;display:flex}.brand:hover{text-decoration:none}.brand img{width:auto;height:22px}.brand span{font-family:var(--font-heading);letter-spacing:.08em;text-transform:uppercase;color:var(--text-faint);border-left:1px solid var(--border);padding-left:12px;font-size:15px;font-weight:500}.sidebar-brand{margin-bottom:24px}.search{border:1px solid var(--border);background:var(--surface);width:100%;color:var(--text);font:inherit;border-radius:8px;margin-bottom:20px;padding:9px 12px;font-size:14.5px}.search::placeholder{color:var(--text-dim)}.search:focus{border-color:var(--mint);outline:none}.nav-section{margin-bottom:20px}.nav-section-title{font-family:var(--font-heading);letter-spacing:.1em;text-transform:uppercase;color:var(--mint);align-items:center;gap:10px;margin:0 0 6px;font-size:12.5px;font-weight:500;display:flex}.nav-section-title:before{content:"";background:var(--mint);border-radius:2px;width:14px;height:2px}.nav-link{color:var(--text-muted);border-radius:7px;margin:1px 0;padding:5px 10px;font-size:15px;line-height:1.4;display:block}.nav-link:hover{color:var(--text-strong);background:var(--surface);text-decoration:none}.nav-link.active{color:var(--text-strong);background:var(--surface);box-shadow:inset 0 0 0 1px var(--border)}.nav-link.active:after{content:"";float:right;background:var(--mint);border-radius:50%;width:6px;height:6px;margin-top:8px}.nav-footer{border-top:1px solid var(--border);gap:14px;margin-top:8px;padding-top:16px;font-size:13px;display:flex}.nav-footer a{color:var(--text-faint)}.page-grid{grid-template-columns:minmax(0,820px) 220px;gap:56px;padding:56px 56px 80px;display:grid}.page{min-width:0}.eyebrow{font-family:var(--font-heading);letter-spacing:.1em;text-transform:uppercase;color:var(--mint);align-items:center;gap:12px;font-size:14px;font-weight:500;display:flex}.eyebrow:before{content:"";background:var(--mint);border-radius:2px;width:24px;height:3px}h1,h2,h3,h4{font-family:var(--font-heading);color:var(--text-strong);letter-spacing:-.02em;line-height:1.2}h1{letter-spacing:-.035em;margin:12px 0 14px;font-size:44px;font-weight:700}.accent{color:var(--mint)}.lead{color:var(--text-muted);max-width:70ch;margin:0 0 12px;font-size:19px}.page-actions{gap:16px;margin-bottom:36px;font-size:13.5px;display:flex}.page-actions a{color:var(--text-faint);border:1px solid var(--border);border-radius:999px;padding:3px 12px}.page-actions a:hover{color:var(--mint);border-color:var(--mint);text-decoration:none}.page h2{margin:52px 0 14px;padding-top:8px;scroll-margin-top:24px;font-size:27px;font-weight:700}.page h3{margin:34px 0 10px;scroll-margin-top:24px;font-size:20px;font-weight:700}.page h4{margin:26px 0 8px;font-size:16.5px}.page p,.page li{color:var(--text)}.page strong{color:var(--text-strong);font-weight:600}.page ul,.page ol{padding-left:22px}.page li{margin:5px 0}.page li::marker{color:var(--mint)}.page hr{border:0;border-top:1px solid var(--border);margin:40px 0}.page :not(pre)>code{font-family:var(--font-mono);color:var(--text-strong);background:var(--surface);border:1px solid var(--border);white-space:nowrap;border-radius:6px;padding:1px 6px;font-size:.86em}.page pre{border-radius:var(--radius);border:1px solid var(--border);background:var(--surface);margin:20px 0;padding:18px 20px;font-size:14px;line-height:1.6;overflow-x:auto}.page pre code{font-family:var(--font-mono);color:var(--text)}.hljs-keyword,.hljs-built_in,.hljs-type{color:var(--lavender)}.hljs-string,.hljs-attr+.hljs-string{color:var(--mint)}.hljs-attr,.hljs-property,.hljs-title,.hljs-title.function_{color:var(--blue)}.hljs-number,.hljs-literal{color:#ffcf7a}.hljs-comment{color:var(--text-dim);font-style:italic}.hljs-meta,.hljs-punctuation{color:var(--text-faint)}.table-wrap{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);margin:22px 0;overflow-x:auto}.page table{border-collapse:collapse;width:100%;font-size:15px}.page th{text-align:left;font-family:var(--font-heading);letter-spacing:.08em;text-transform:uppercase;color:var(--mint);border-bottom:1px solid var(--border);white-space:nowrap;padding:12px 16px;font-size:12.5px;font-weight:500}.page td{border-bottom:1px solid var(--border);vertical-align:top;color:var(--text);padding:11px 16px}.page tr:last-child td{border-bottom:0}.page thead:not(:has(th:not(:empty))){display:none}.page td code{white-space:nowrap}.callout{border-radius:var(--radius);border:1px solid var(--border);background:var(--surface);margin:24px 0;padding:14px 18px}.callout>:first-child{margin-top:0}.callout>:last-child{margin-bottom:0}.callout-note,.callout-tip{background:#0c160b;border-color:#2f5a2a}.callout-note strong:first-child,.callout-tip strong:first-child{color:var(--mint)}.callout-warning{background:#16120a;border-color:#5a4a22}.callout-warning strong:first-child{color:var(--warning)}.callout-security{background:#120e1d;border-color:#43346b}.callout-security strong:first-child{color:var(--lavender)}.diagram{border:1px solid var(--border);border-radius:var(--radius);text-align:center;background:#050505;margin:26px 0;padding:24px;overflow-x:auto}.diagram svg{height:auto}.diagram-button>div{min-width:100%;display:inline-block}.diagram-button{cursor:zoom-in;background:0 0;border:0;width:100%;padding:0;display:block}.diagram-overlay{z-index:100;cursor:zoom-out;background:#000000f0;justify-content:center;align-items:center;padding:48px;display:flex;position:fixed;inset:0}.diagram-overlay-inner{justify-content:center;align-items:center;width:100%;height:100%;display:flex}.diagram-overlay-inner svg{width:100%!important;max-width:none!important;height:100%!important}.diagram-overlay-hint{color:var(--text-dim);font-size:13px;position:fixed;bottom:18px;left:50%;transform:translate(-50%)}.diagram-loading{color:var(--text-dim);padding:30px 0;font-size:14px}.diagram-error{color:var(--warning);white-space:pre-wrap}.pager{border-top:1px solid var(--border);grid-template-columns:1fr 1fr;gap:16px;margin-top:64px;padding-top:28px;display:grid}.pager-card{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--text-strong);font-family:var(--font-heading);flex-direction:column;gap:2px;padding:16px 18px;font-weight:700;display:flex}.pager-card span{font-family:var(--font-body);color:var(--text-faint);font-size:13px;font-weight:400}.pager-card:hover{border-color:var(--mint);text-decoration:none}.pager-card.next{text-align:right;grid-column:2}.toc{align-self:start;max-height:calc(100vh - 80px);font-size:13.5px;position:sticky;top:56px;overflow-y:auto}.toc-title{font-family:var(--font-heading);letter-spacing:.1em;text-transform:uppercase;color:var(--text-faint);margin-bottom:10px;font-size:12px}.toc a{border-left:1px solid var(--border);color:var(--text-faint);padding:4px 0 4px 12px;line-height:1.35;display:block}.toc a:hover{color:var(--mint);border-left-color:var(--mint);text-decoration:none}.toc .toc-3{padding-left:24px;font-size:13px}@media (width<=1200px){.page-grid{grid-template-columns:minmax(0,1fr);padding:48px 40px 72px}.toc{display:none}}@media (width<=860px){.topbar{z-index:20;background:var(--bg);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:12px 16px;display:flex;position:sticky;top:0}.menu-button{font:inherit;color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:6px 12px;font-size:14px}.sidebar{z-index:10;border-right:0;width:100%;padding:20px 16px;display:none;top:57px}.sidebar-brand{display:none}.menu-open .sidebar{display:block}.main{margin-left:0}.page-grid{padding:32px 16px 64px}h1{font-size:34px}.page h2{font-size:23px}.lead{font-size:17px}.pager{grid-template-columns:1fr}.pager-card.next{grid-column:1}}
