@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/inter-latin-400-normal.woff2)format("woff2")}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/inter-latin-500-normal.woff2)format("woff2")}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/inter-latin-600-normal.woff2)format("woff2")}@font-face{font-family:Inter;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/inter-latin-700-normal.woff2)format("woff2")}@font-face{font-family:IBM Plex Sans Arabic;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/ibm-plex-sans-arabic-arabic-400-normal.woff2)format("woff2")}@font-face{font-family:IBM Plex Sans Arabic;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/ibm-plex-sans-arabic-arabic-500-normal.woff2)format("woff2")}@font-face{font-family:IBM Plex Sans Arabic;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/ibm-plex-sans-arabic-arabic-600-normal.woff2)format("woff2")}@font-face{font-family:IBM Plex Sans Arabic;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/ibm-plex-sans-arabic-arabic-700-normal.woff2)format("woff2")}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--hn-font:Inter, "IBM Plex Sans Arabic", system-ui, -apple-system, "Segoe UI", sans-serif;--hn-mono:ui-monospace, "SFMono-Regular", "Cascadia Code", Consolas, "Liberation Mono", monospace;--hn-space-1:4px;--hn-space-2:8px;--hn-space-3:12px;--hn-space-4:16px;--hn-space-5:20px;--hn-space-6:24px;--hn-space-8:32px;--hn-space-10:40px;--hn-space-12:48px;--hn-radius-sm:10px;--hn-radius-md:14px;--hn-radius-lg:18px;--hn-radius-xl:24px;--hn-radius-pill:999px;--hn-canvas:#f4f6fa;--hn-canvas-glow-1:#e3ebfb;--hn-canvas-glow-2:#fbeee8;--hn-surface:#fff;--hn-surface-2:#f6f8fb;--hn-surface-3:#eef2f7;--hn-line:#e6e9f0;--hn-line-strong:#d6dbe5;--hn-text:#131722;--hn-text-2:#3a4152;--hn-muted:#5d6677;--hn-accent:#2563eb;--hn-accent-hover:#1d4fd8;--hn-accent-ink:#fff;--hn-accent-soft:#ebf2ff;--hn-accent-text:#1f55d1;--hn-focus:0 0 0 3px #2563eb40;--hn-shadow-sm:0 1px 2px #1018280a, 0 2px 8px #1018280a;--hn-shadow:0 1px 2px #1018280a, 0 10px 30px #1018280f;--hn-shadow-lg:0 24px 64px #10182829;--st-available:#15803d;--st-available-bg:#e9f8ef;--st-beta:#1d4ed8;--st-beta-bg:#ebf2ff;--st-preview:#92400e;--st-preview-bg:#fdf3e3;--st-soon:#6d28d9;--st-soon-bg:#f3edff;--st-planned:#4b5563;--st-planned-bg:#eff1f5;--st-provider:#9a3412;--st-provider-bg:#fff0e8;--code-bg:#0f1624;--code-text:#e5eaf3;--code-head:#172033;--tk-k:#8ab4ff;--tk-s:#9ee6b4;--tk-c:#7f8aa3;--tk-n:#ffc98a;--topbar-h:64px;--sidebar-w:272px;--toc-w:224px;--content-max:760px}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--hn-canvas:#0d1017;--hn-canvas-glow-1:#131a2b;--hn-canvas-glow-2:#1a1416;--hn-surface:#151a24;--hn-surface-2:#1a2030;--hn-surface-3:#222a3b;--hn-line:#262e3f;--hn-line-strong:#333d52;--hn-text:#eef1f7;--hn-text-2:#c9cfdc;--hn-muted:#939cb0;--hn-accent:#5b8cff;--hn-accent-hover:#7aa2ff;--hn-accent-ink:#0b1020;--hn-accent-soft:#1b2745;--hn-accent-text:#8fb0ff;--hn-focus:0 0 0 3px #5b8cff55;--hn-shadow-sm:0 1px 2px #0006;--hn-shadow:0 1px 2px #0006, 0 10px 30px #0005;--hn-shadow-lg:0 24px 64px #000a;--st-available:#4ade80;--st-available-bg:#133021;--st-beta:#7aa2ff;--st-beta-bg:#1b2745;--st-preview:#fbbf5a;--st-preview-bg:#33260f;--st-soon:#b69cff;--st-soon-bg:#271d42;--st-planned:#aab3c5;--st-planned-bg:#232a38;--st-provider:#fb9a63;--st-provider-bg:#36200f;--code-bg:#0a0e16;--code-head:#111827}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-padding-top:calc(var(--topbar-h) + 16px)}body{font-family:var(--hn-font);color:var(--hn-text);background:radial-gradient(1200px 600px at 12% -10%, var(--hn-canvas-glow-1), transparent 60%), radial-gradient(900px 500px at 100% 0%, var(--hn-canvas-glow-2), transparent 55%), var(--hn-canvas);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;background-attachment:fixed;margin:0;font-size:15px;line-height:1.65}[dir=rtl] body,body[dir=rtl]{font-family:IBM Plex Sans Arabic,Inter,system-ui,sans-serif;line-height:1.8}img,svg{max-width:100%}a{color:var(--hn-accent-text);text-decoration:none}a:hover{text-underline-offset:3px;text-decoration:underline}:focus-visible{box-shadow:var(--hn-focus);border-radius:6px;outline:none}button{font:inherit;color:inherit}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.skip{inset-inline-start:16px;z-index:100;border-radius:var(--hn-radius-sm);background:var(--hn-accent);color:var(--hn-accent-ink);padding:10px 16px;font-weight:600;position:fixed;top:-60px}.skip:focus{top:12px}.icon{flex:none;width:18px;height:18px}.topbar{z-index:40;height:var(--topbar-h);align-items:center;gap:var(--hn-space-4);padding:0 var(--hn-space-6);background:color-mix(in srgb, var(--hn-canvas) 82%, transparent);-webkit-backdrop-filter:saturate(160%)blur(14px);backdrop-filter:saturate(160%)blur(14px);border-bottom:1px solid var(--hn-line);display:flex;position:sticky;top:0}.brand{color:var(--hn-text);letter-spacing:-.01em;white-space:nowrap;align-items:center;gap:10px;font-size:17px;font-weight:700;display:flex}.brand:hover{text-decoration:none}.brand-mark{width:30px;height:30px;color:var(--hn-text)}.brand-sub{color:var(--hn-muted);border-inline-start:1px solid var(--hn-line-strong);padding-inline-start:10px;font-weight:500}.search-trigger{border:1px solid var(--hn-line);border-radius:var(--hn-radius-md);background:var(--hn-surface);max-width:440px;height:42px;color:var(--hn-muted);box-shadow:var(--hn-shadow-sm);cursor:pointer;text-align:start;flex:1;align-items:center;gap:10px;margin-inline:auto;padding:0 12px 0 14px;display:flex}.search-trigger:hover{border-color:var(--hn-line-strong)}.search-trigger span.label{flex:1}kbd,.kbd{border:1px solid var(--hn-line);background:var(--hn-surface-2);min-width:22px;height:22px;color:var(--hn-text-2);font:600 11.5px/1 var(--hn-font);direction:ltr;unicode-bidi:isolate;border-bottom-width:2px;border-radius:6px;justify-content:center;align-items:center;padding:0 6px;display:inline-flex}.top-actions{align-items:center;gap:var(--hn-space-2);display:flex}.btn{border-radius:var(--hn-radius-sm);border:1px solid var(--hn-line);background:var(--hn-surface);height:40px;color:var(--hn-text);white-space:nowrap;cursor:pointer;box-shadow:var(--hn-shadow-sm);justify-content:center;align-items:center;gap:8px;padding:0 16px;font-size:14px;font-weight:600;display:inline-flex}.btn:hover{border-color:var(--hn-line-strong);text-decoration:none}.btn-primary{background:var(--hn-accent);border-color:var(--hn-accent);color:var(--hn-accent-ink)}.btn-primary:hover{background:var(--hn-accent-hover);border-color:var(--hn-accent-hover)}.btn-ghost{box-shadow:none;color:var(--hn-text-2);background:0 0;border-color:#0000}.btn-ghost:hover{background:var(--hn-surface-3)}.icon-btn{width:40px;padding:0}.menu-btn{display:none}.theme-menu{position:relative}.theme-menu [role=menu]{inset-inline-end:0;border:1px solid var(--hn-line);border-radius:var(--hn-radius-md);background:var(--hn-surface);min-width:170px;box-shadow:var(--hn-shadow-lg);padding:6px;position:absolute;top:calc(100% + 8px)}.theme-menu [role=menuitemradio]{cursor:pointer;text-align:start;background:0 0;border:0;border-radius:8px;align-items:center;gap:10px;width:100%;padding:8px 10px;display:flex}.theme-menu [role=menuitemradio]:hover,.theme-menu [role=menuitemradio]:focus-visible{background:var(--hn-surface-3)}.theme-menu [aria-checked=true]{color:var(--hn-accent-text);font-weight:600}.layout{grid-template-columns:var(--sidebar-w) minmax(0, 1fr) var(--toc-w);gap:var(--hn-space-8);max-width:1440px;padding:var(--hn-space-6) var(--hn-space-6) 0;margin:0 auto;display:grid}.layout.no-toc{grid-template-columns:var(--sidebar-w) minmax(0, 1fr)}.sidebar{top:calc(var(--topbar-h) + 24px);max-height:calc(100vh - var(--topbar-h) - 48px);padding:var(--hn-space-4) var(--hn-space-3);border:1px solid var(--hn-line);border-radius:var(--hn-radius-lg);background:var(--hn-surface);box-shadow:var(--hn-shadow);scrollbar-width:thin;align-self:start;position:sticky;overflow:auto}.nav-group+.nav-group{margin-top:var(--hn-space-4)}.nav-group>p{letter-spacing:.06em;text-transform:uppercase;color:var(--hn-muted);margin:0 0 4px;padding:0 10px;font-size:11.5px;font-weight:700}[dir=rtl] .nav-group>p{letter-spacing:0;font-size:12.5px}.nav-group ul{margin:0;padding:0;list-style:none}.nav-group a{border-radius:var(--hn-radius-sm);color:var(--hn-text-2);align-items:center;gap:8px;padding:7px 10px;font-size:14px;line-height:1.35;display:flex}.nav-group a:hover{background:var(--hn-surface-2);color:var(--hn-text);text-decoration:none}.nav-group a[aria-current=page]{background:var(--hn-accent-soft);color:var(--hn-accent-text);font-weight:600}.nav-group ul ul a{padding-inline-start:22px;font-size:13.5px}.nav-dot{border-radius:50%;flex:none;width:7px;height:7px;margin-inline-start:auto}main{min-width:0}.article{padding:var(--hn-space-10) clamp(20px, 4vw, 56px) var(--hn-space-8);border:1px solid var(--hn-line);border-radius:var(--hn-radius-xl);background:var(--hn-surface);box-shadow:var(--hn-shadow)}.article>*{max-width:var(--content-max)}.crumbs ol{margin:0 0 var(--hn-space-4);color:var(--hn-muted);flex-wrap:wrap;gap:6px;padding:0;font-size:13px;list-style:none;display:flex}.crumbs li+li:before{content:"/";color:var(--hn-line-strong);margin-inline-end:6px}.crumbs a{color:var(--hn-muted)}.article-head h1{letter-spacing:-.02em;margin:0 0 10px;font-size:clamp(28px,3.2vw,38px);line-height:1.15}[dir=rtl] .article-head h1{letter-spacing:0;line-height:1.35}.lead{color:var(--hn-text-2);margin:0;font-size:17.5px}.meta{margin:var(--hn-space-5) 0 0;padding-bottom:var(--hn-space-6);border-bottom:1px solid var(--hn-line);color:var(--hn-muted);flex-wrap:wrap;align-items:center;gap:8px 14px;font-size:13px;display:flex}.chip{border-radius:var(--hn-radius-pill);background:var(--hn-surface-3);height:26px;color:var(--hn-text-2);white-space:nowrap;align-items:center;gap:6px;padding:0 10px;font-size:12.5px;font-weight:600;display:inline-flex}.status{border-radius:var(--hn-radius-pill);white-space:nowrap;cursor:help;vertical-align:middle;border:0;align-items:center;gap:6px;height:26px;padding:0 10px;font-size:12.5px;font-weight:700;display:inline-flex;position:relative}.status:before{content:"";background:currentColor;border-radius:50%;width:7px;height:7px}.status[data-status=available],.nav-dot[data-status=available]{color:var(--st-available);background:var(--st-available-bg)}.status[data-status=beta],.nav-dot[data-status=beta]{color:var(--st-beta);background:var(--st-beta-bg)}.status[data-status=preview],.nav-dot[data-status=preview]{color:var(--st-preview);background:var(--st-preview-bg)}.status[data-status=coming_soon],.nav-dot[data-status=coming_soon]{color:var(--st-soon);background:var(--st-soon-bg)}.status[data-status=planned],.nav-dot[data-status=planned]{color:var(--st-planned);background:var(--st-planned-bg)}.status[data-status=requires_provider],.nav-dot[data-status=requires_provider]{color:var(--st-provider);background:var(--st-provider-bg)}.nav-dot{background:currentColor!important}.status .tip{z-index:20;inset-inline-start:0;border-radius:var(--hn-radius-sm);background:var(--hn-text);width:max-content;max-width:280px;color:var(--hn-surface);white-space:normal;box-shadow:var(--hn-shadow-lg);pointer-events:none;padding:10px 12px;font-size:12.5px;font-weight:500;line-height:1.45;display:none;position:absolute;top:calc(100% + 8px)}.status:hover .tip,.status:focus-visible .tip{display:block}.prose{padding-top:var(--hn-space-4);color:var(--hn-text-2)}.prose h2,.prose h3,.prose h4{color:var(--hn-text);letter-spacing:-.01em;line-height:1.3;position:relative}[dir=rtl] .prose h2,[dir=rtl] .prose h3{letter-spacing:0;line-height:1.5}.prose h2{margin:2.2em 0 .6em;font-size:23px}.prose h3{margin:1.8em 0 .5em;font-size:18px}.prose h4{margin:1.5em 0 .4em;font-size:15.5px}.prose .anchor{color:var(--hn-line-strong);opacity:0;margin-inline-start:8px;font-weight:500}.prose h2:hover .anchor,.prose h3:hover .anchor,.prose .anchor:focus-visible{opacity:1}.prose p,.prose ul,.prose ol{margin:0 0 1em}.prose ul,.prose ol{padding-inline-start:1.4em}.prose li{margin:.3em 0}.prose li>ul,.prose li>ol{margin:.3em 0 0}.prose strong{color:var(--hn-text);font-weight:650}.prose code{background:var(--hn-surface-3);color:var(--hn-text);font:500 .88em var(--hn-mono);overflow-wrap:anywhere;direction:ltr;unicode-bidi:isolate;border-radius:6px;padding:2px 6px}.prose a .ext{margin-inline-start:2px;font-size:.8em}.prose blockquote{border-inline-start:3px solid var(--hn-line-strong);color:var(--hn-muted);margin:1.2em 0;padding:2px 0 2px 16px}.prose hr{border:0;border-top:1px solid var(--hn-line);margin:2em 0}.table-wrap{border:1px solid var(--hn-line);border-radius:var(--hn-radius-md);box-shadow:var(--hn-shadow-sm);margin:1.2em 0 1.6em;overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:14px}th,td{text-align:start;vertical-align:top;border-bottom:1px solid var(--hn-line);padding:11px 14px}th{background:var(--hn-surface-2);color:var(--hn-text);white-space:nowrap;font-size:12.5px;font-weight:700}tr:last-child td{border-bottom:0}td .status{cursor:help}.code{border-radius:var(--hn-radius-md);background:var(--code-bg);box-shadow:var(--hn-shadow-sm);text-align:left;margin:1.2em 0 1.6em;overflow:hidden}.code figcaption{background:var(--code-head);color:#a9b3c7;font:600 12px var(--hn-font);text-transform:lowercase;justify-content:space-between;align-items:center;gap:8px;padding:8px 10px 8px 16px;display:flex}.code .copy{color:#d8def0;cursor:pointer;text-transform:none;background:0 0;border:1px solid #fff2;border-radius:7px;height:28px;padding:0 10px;font-size:12px}.code .copy:hover{background:#ffffff14}.code pre{margin:0;padding:16px;overflow-x:auto}.code code{color:var(--code-text);font:13.5px/1.6 var(--hn-mono);white-space:pre;background:0 0;padding:0}.tk-k{color:var(--tk-k)}.tk-s{color:var(--tk-s)}.tk-c{color:var(--tk-c);font-style:italic}.tk-n{color:var(--tk-n)}.code-tabs [role=tablist]{gap:4px;margin-top:1.2em;display:flex}.code-tabs [role=tab]{border:1px solid var(--hn-line);background:var(--hn-surface);cursor:pointer;height:32px;color:var(--hn-muted);border-radius:8px;padding:0 14px;font-size:13px;font-weight:600}.code-tabs [aria-selected=true]{background:var(--hn-accent-soft);color:var(--hn-accent-text);border-color:#0000}.code-tabs .code{margin-top:8px}.callout{border:1px solid var(--c-line,var(--hn-line));border-inline-start:4px solid var(--c,var(--hn-accent));border-radius:var(--hn-radius-md);background:var(--c-bg,var(--hn-surface-2));margin:1.4em 0;padding:14px 18px}.callout>:last-child{margin-bottom:0}.callout-title{color:var(--c,var(--hn-text));align-items:center;gap:8px;font-size:14px;font-weight:700;display:flex;margin:0 0 6px!important}.callout-icon{background:currentColor;border-radius:50%;width:8px;height:8px}.callout-note{--c:var(--hn-accent-text);--c-bg:var(--hn-accent-soft);--c-line:transparent}.callout-tip{--c:var(--st-available);--c-bg:var(--st-available-bg);--c-line:transparent}.callout-important,.callout-warning{--c:var(--st-preview);--c-bg:var(--st-preview-bg);--c-line:transparent}.callout-beta{--c:var(--st-beta);--c-bg:var(--st-beta-bg);--c-line:transparent}.callout-coming-soon{--c:var(--st-soon);--c-bg:var(--st-soon-bg);--c-line:transparent}.callout-planned{--c:var(--st-planned);--c-bg:var(--st-planned-bg);--c-line:transparent}.callout-admin,.callout-permission{--c:var(--hn-text);--c-bg:var(--hn-surface-2)}.callout-provider{--c:var(--st-provider);--c-bg:var(--st-provider-bg);--c-line:transparent}.steps>ol{counter-reset:step;margin:1.4em 0;padding:0;list-style:none}.steps>ol>li{counter-increment:step;border-inline-start:2px solid var(--hn-line);margin:0;margin-inline-start:16px;padding:0 0 22px 52px;padding-inline-start:34px;position:relative}.steps>ol>li:last-child{border-color:#0000;padding-bottom:4px}.steps>ol>li:before{content:counter(step);inset-inline-start:-17px;background:var(--hn-surface);border:2px solid var(--hn-accent);width:32px;height:32px;color:var(--hn-accent-text);border-radius:50%;place-items:center;font-size:14px;font-weight:700;display:grid;position:absolute;top:-2px}.steps>ol>li>strong:first-child{margin-bottom:2px;font-size:16px;display:block}details.tech{border:1px solid var(--hn-line);border-radius:var(--hn-radius-md);background:var(--hn-surface-2);margin:1.4em 0}details.tech>summary{cursor:pointer;color:var(--hn-text);padding:12px 16px;font-weight:600}details.tech>div{padding:0 16px 8px}.card-grid,.cards>ul{gap:var(--hn-space-4);grid-template-columns:repeat(auto-fill,minmax(220px,1fr));margin:1.2em 0 1.8em;padding:0;list-style:none;display:grid}.card{border:1px solid var(--hn-line);border-radius:var(--hn-radius-lg);background:var(--hn-surface);color:var(--hn-text-2);box-shadow:var(--hn-shadow-sm);flex-direction:column;gap:6px;padding:20px;transition:border-color .15s,transform .15s,box-shadow .15s;display:flex;position:relative}a.card:hover{border-color:color-mix(in srgb, var(--hn-accent) 45%, var(--hn-line));box-shadow:var(--hn-shadow);text-decoration:none;transform:translateY(-1px)}.card-icon{background:var(--hn-accent-soft);width:42px;height:42px;color:var(--hn-accent-text);border-radius:12px;place-items:center;margin-bottom:8px;display:grid}.card-title{color:var(--hn-text);margin:0;font-size:15.5px;font-weight:650}.card p{color:var(--hn-muted);margin:0;font-size:14px}.card .status{align-self:flex-start;margin-top:6px}.cards li{margin:0}.shot{margin:1.4em 0 1.8em}.shot img{border:1px solid var(--hn-line);border-radius:var(--hn-radius-md);width:100%;height:auto;box-shadow:var(--hn-shadow);background:var(--hn-surface-2);display:block}.shot figcaption{color:var(--hn-muted);text-align:center;margin-top:8px;font-size:13px}.diagram{border:1px solid var(--hn-line);border-radius:var(--hn-radius-lg);background:linear-gradient(180deg, var(--hn-surface-2), var(--hn-surface));margin:1.4em 0 1.8em;padding:clamp(14px,3vw,28px)}.diagram figcaption{color:var(--hn-muted);text-align:center;margin-top:12px;font-size:13px}.map-root{border-radius:var(--hn-radius-md);background:var(--hn-text);width:max-content;max-width:100%;color:var(--hn-surface);place-items:center;margin:0 auto 18px;padding:12px 22px;font-size:17px;font-weight:700;display:grid}.map-pillars{grid-template-columns:1fr 1fr;gap:14px;display:grid}.map-pillar{border:1px solid var(--hn-line);border-radius:var(--hn-radius-md);background:var(--hn-surface);padding:16px}.map-pillar h4{font-size:15px;margin:0 0 4px!important}.map-pillar>p{color:var(--hn-muted);font-size:13px;margin:0 0 10px!important}.map-items{flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none;display:flex}.map-items li{margin:0!important}.map-items a,.map-items span{border-radius:var(--hn-radius-pill);border:1px solid var(--hn-line);background:var(--hn-surface-2);height:30px;color:var(--hn-text);align-items:center;gap:6px;padding:0 10px;font-size:13px;font-weight:500;display:inline-flex}.map-items a:hover{border-color:var(--hn-accent);text-decoration:none}.map-items .nav-dot{margin:0}.map-band{border-radius:var(--hn-radius-md);border:1px dashed var(--hn-line-strong);text-align:center;color:var(--hn-text-2);margin-top:14px;padding:12px 16px;font-size:13.5px}.map-band strong{color:var(--hn-text)}.flow{gap:10px;display:grid}.flow-row{flex-wrap:wrap;justify-content:center;align-items:stretch;gap:10px;display:flex}.flow-node{border:1px solid var(--hn-line);border-radius:var(--hn-radius-md);background:var(--hn-surface);text-align:center;max-width:260px;box-shadow:var(--hn-shadow-sm);flex:150px;padding:12px 14px}.flow-node strong{color:var(--hn-text);font-size:14.5px;display:block}.flow-node span{color:var(--hn-muted);font-size:12.5px;line-height:1.45;display:block}.flow-node.future{box-shadow:none;background:0 0;border-style:dashed}.flow-arrow{text-align:center;color:var(--hn-muted);font-size:18px;line-height:1}.edges{gap:8px;margin:1.2em 0;padding:0;list-style:none;display:grid}.edges li{border:1px solid var(--hn-line);border-radius:var(--hn-radius-md);background:var(--hn-surface);grid-template-columns:minmax(0,1fr) auto minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px 14px;font-size:14px;display:grid;margin:0!important}.edges li.future{background:0 0;border-style:dashed}.edges .arrow{color:var(--hn-muted)}[dir=rtl] .edges .arrow,[dir=rtl] .flow-arrow.side{transform:scaleX(-1)}.edges b{color:var(--hn-text)}.edge-note{color:var(--hn-muted);grid-column:1/-1;font-size:13px}.legend{color:var(--hn-muted);flex-wrap:wrap;justify-content:center;gap:8px 16px;margin:10px 0 0;font-size:13px;display:flex}.legend span{align-items:center;gap:6px;display:inline-flex}.legend i{border:1px solid var(--hn-line-strong);background:var(--hn-surface);border-radius:4px;width:22px;height:12px}.legend i.dashed{background:0 0;border-style:dashed}dl.glossary{border:1px solid var(--hn-line);border-radius:var(--hn-radius-md);grid-template-columns:minmax(140px,220px) 1fr;gap:0;margin:1.2em 0;display:grid;overflow:hidden}dl.glossary dt,dl.glossary dd{border-bottom:1px solid var(--hn-line);margin:0;padding:12px 14px}dl.glossary dt{background:var(--hn-surface-2);color:var(--hn-text);font-weight:650}dl.glossary dt small{color:var(--hn-muted);font-weight:500;display:block}.release{border:1px solid var(--hn-line);border-radius:var(--hn-radius-lg);background:var(--hn-surface);margin:1.4em 0 2em;padding:20px 22px}.release header{flex-wrap:wrap;align-items:baseline;gap:8px 14px;display:flex}.release h3{margin:0!important}.release time{color:var(--hn-muted);font-size:13px}.release h4{border-radius:var(--hn-radius-pill);padding:2px 10px;display:inline-flex;margin:1.1em 0 .3em!important;font-size:12.5px!important}.release h4.new{background:var(--st-available-bg);color:var(--st-available)}.release h4.improved{background:var(--st-beta-bg);color:var(--st-beta)}.release h4.fixed{background:var(--st-planned-bg);color:var(--st-planned)}.related{margin-top:var(--hn-space-10)}.related h2{margin:0 0 10px;font-size:16px}.feedback,.help-box{margin-top:var(--hn-space-8);border:1px solid var(--hn-line);border-radius:var(--hn-radius-lg);background:var(--hn-surface-2);flex-wrap:wrap;align-items:center;gap:12px 16px;padding:18px 20px;display:flex}.feedback p,.help-box p{margin:0}.feedback .q{color:var(--hn-text);font-weight:650}.feedback .btn{height:34px}.feedback .thanks{color:var(--hn-muted);flex-basis:100%;font-size:14px}.help-box{background:var(--hn-surface)}.help-box strong{color:var(--hn-text);display:block}.help-box .links{gap:8px;margin-inline-start:auto;display:flex}.pager{gap:var(--hn-space-4);margin-top:var(--hn-space-8);grid-template-columns:1fr 1fr;display:grid}.pager a{border:1px solid var(--hn-line);border-radius:var(--hn-radius-lg);background:var(--hn-surface);color:var(--hn-text);padding:16px 18px;font-weight:650;display:block}.pager a:hover{border-color:var(--hn-accent);text-decoration:none}.pager small{color:var(--hn-muted);font-size:12.5px;font-weight:500;display:block}.pager .next{text-align:end;grid-column:2}.toc{top:calc(var(--topbar-h) + 24px);max-height:calc(100vh - var(--topbar-h) - 48px);align-self:start;padding:8px 0;font-size:13.5px;position:sticky;overflow:auto}.toc>p{letter-spacing:.06em;text-transform:uppercase;color:var(--hn-muted);margin:0 0 8px;font-size:12px;font-weight:700}.toc ul{border-inline-start:1px solid var(--hn-line);margin:0;padding:0;list-style:none}.toc a{color:var(--hn-muted);border-inline-start:2px solid #0000;margin-inline-start:-1px;padding:5px 12px;line-height:1.4;display:block}.toc a:hover{color:var(--hn-text);text-decoration:none}.toc a.active{color:var(--hn-accent-text);border-color:var(--hn-accent);font-weight:600}.toc .l3 a{padding-inline-start:24px;font-size:13px}.toc-mobile{display:none}.site-footer{max-width:1440px;margin:var(--hn-space-12) auto 0;padding:var(--hn-space-10) var(--hn-space-6) var(--hn-space-12);gap:var(--hn-space-8);border-top:1px solid var(--hn-line);color:var(--hn-muted);grid-template-columns:2fr repeat(3,1fr);font-size:14px;display:grid}.site-footer h2{color:var(--hn-text);margin:0 0 10px;font-size:13px}.site-footer ul{margin:0;padding:0;list-style:none}.site-footer li{margin:6px 0}.site-footer a{color:var(--hn-muted)}.site-footer a:hover{color:var(--hn-text)}.site-footer .brand{margin-bottom:10px}.home{max-width:1200px;padding:0 var(--hn-space-6);margin:0 auto}.hero{margin-top:var(--hn-space-6);border:1px solid var(--hn-line);background:radial-gradient(600px 300px at 85% 10%, var(--hn-accent-soft), transparent 70%), radial-gradient(500px 280px at 0% 100%, var(--hn-canvas-glow-2), transparent 70%), var(--hn-surface);box-shadow:var(--hn-shadow);text-align:center;border-radius:28px;padding:clamp(40px,7vw,84px) clamp(20px,5vw,64px);position:relative;overflow:hidden}.hero .eyebrow{border-radius:var(--hn-radius-pill);background:var(--hn-surface-2);border:1px solid var(--hn-line);color:var(--hn-text-2);align-items:center;gap:8px;margin:0 0 16px;padding:6px 12px;font-size:13px;font-weight:600;display:inline-flex}.hero h1{letter-spacing:-.03em;max-width:820px;margin:0 auto 14px;font-size:clamp(34px,5vw,56px);line-height:1.06}[dir=rtl] .hero h1{letter-spacing:0;line-height:1.3}.hero .sub{max-width:640px;color:var(--hn-text-2);margin:0 auto 28px;font-size:18px}.hero .search-trigger{border-radius:var(--hn-radius-lg);max-width:620px;height:56px;box-shadow:var(--hn-shadow);padding:0 14px 0 18px;font-size:16px}.hero .actions{flex-wrap:wrap;justify-content:center;gap:10px;margin-top:22px;display:flex}.home-section{margin-top:var(--hn-space-12)}.home-section>header{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:8px 16px;margin-bottom:14px;display:flex}.home-section h2{letter-spacing:-.015em;margin:0;font-size:24px}.home-section header p{color:var(--hn-muted);margin:4px 0 0}.home-section .card-grid{margin:0}.home-cols{gap:var(--hn-space-6);grid-template-columns:1fr 1fr;display:grid}.list-card{border:1px solid var(--hn-line);border-radius:var(--hn-radius-lg);background:var(--hn-surface);box-shadow:var(--hn-shadow-sm);padding:8px}.list-card ul{margin:0;padding:0;list-style:none}.list-card li a,.list-card li>div{border-radius:var(--hn-radius-md);color:var(--hn-text);align-items:center;gap:12px;padding:12px 14px;display:flex}.list-card li a:hover{background:var(--hn-surface-2);text-decoration:none}.list-card li span.t{flex:1;font-weight:550}.list-card li small{color:var(--hn-muted);font-size:13px;font-weight:400;display:block}.list-card .status{flex:none}dialog.search{border:1px solid var(--hn-line);border-radius:var(--hn-radius-xl);background:var(--hn-surface);width:min(680px,100vw - 32px);max-height:min(640px,100vh - 80px);color:var(--hn-text);box-shadow:var(--hn-shadow-lg);margin:10vh auto auto;padding:0;overflow:hidden}dialog.search::backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#0f172a66}dialog.search[open]{flex-direction:column;display:flex}.search-head{border-bottom:1px solid var(--hn-line);align-items:center;gap:10px;padding:0 14px 0 18px;display:flex}.search-head input{height:60px;color:var(--hn-text);font:500 17px var(--hn-font);box-shadow:none;background:0 0;border:0;outline:none;flex:1}.search-results{flex:1;padding:8px;overflow:auto}.search-results .group{color:var(--hn-muted);text-transform:uppercase;letter-spacing:.05em;padding:10px 12px 4px;font-size:12px;font-weight:700}.search-results [role=option]{border-radius:var(--hn-radius-md);color:var(--hn-text);cursor:pointer;padding:10px 12px;display:block}.search-results [role=option] small{color:var(--hn-muted);margin-top:2px;font-size:13px;line-height:1.45;display:block}.search-results [role=option] mark{color:var(--hn-accent-text);background:0 0;font-weight:700}.search-results [aria-selected=true]{background:var(--hn-accent-soft);text-decoration:none}.search-results .empty{text-align:center;color:var(--hn-muted);padding:28px 16px}.search-foot{border-top:1px solid var(--hn-line);color:var(--hn-muted);align-items:center;gap:6px;padding:10px 16px;font-size:12.5px;display:flex}.center-card{text-align:center;border:1px solid var(--hn-line);border-radius:var(--hn-radius-xl);background:var(--hn-surface);max-width:560px;box-shadow:var(--hn-shadow);margin:12vh auto;padding:40px}.center-card h1{margin:12px 0 8px;font-size:30px}.center-card p{color:var(--hn-muted)}.center-card .actions{flex-wrap:wrap;justify-content:center;gap:10px;margin-top:22px;display:flex}.big-404{letter-spacing:-.04em;color:var(--hn-accent);font-size:72px;font-weight:800;line-height:1}@media (width<=1180px){.layout,.layout.no-toc{grid-template-columns:var(--sidebar-w) minmax(0, 1fr)}.toc{display:none}.toc-mobile{margin:0 0 var(--hn-space-4);border:1px solid var(--hn-line);border-radius:var(--hn-radius-md);background:var(--hn-surface-2);display:block}.toc-mobile summary{cursor:pointer;padding:10px 14px;font-size:14px;font-weight:600}.toc-mobile ul{margin:0;padding:0 14px 12px 30px;font-size:14px}[dir=rtl] .toc-mobile ul{padding:0 30px 12px 14px}}@media (width<=900px){.topbar{gap:10px;padding:0 16px}.menu-btn{display:inline-flex}.brand-sub,.hide-md{display:none}.search-trigger{max-width:none}.layout,.layout.no-toc{padding:16px 16px 0;display:block}.sidebar{z-index:60;visibility:hidden;border-radius:0;width:min(320px,86vw);max-height:none;transition:transform .22s;position:fixed;inset-block:0;inset-inline-start:0;transform:translate(-105%)}[dir=rtl] .sidebar{transform:translate(105%)}body.nav-open .sidebar{visibility:visible;transform:none}.scrim{z-index:55;background:#0f172a55;position:fixed;inset:0}.sidebar-head{display:flex!important}.article{border-radius:var(--hn-radius-lg);padding:28px 18px 24px}.site-footer{grid-template-columns:1fr 1fr;padding-inline:16px}.home{padding:0 16px}.home-cols,.map-pillars{grid-template-columns:1fr}}@media (width<=560px){.search-trigger .kbd,.search-trigger kbd,.search-trigger .label,.hide-sm{display:none}.search-trigger{flex:none;justify-content:center;width:40px;margin-inline-start:auto;padding:0}.hero .search-trigger{flex:1;justify-content:flex-start;width:100%;padding:0 16px}.hero .search-trigger .label{display:inline}.pager{grid-template-columns:1fr}.pager .next{grid-column:1}.edges li{grid-template-columns:1fr auto 1fr}.edges li .status{grid-column:1/-1;justify-self:start}dl.glossary{grid-template-columns:1fr}dl.glossary dt{border-bottom:0}.site-footer{grid-template-columns:1fr}}@media (width>=901px){.home-nav-host{display:none}}.sidebar-head{border-bottom:1px solid var(--hn-line);justify-content:space-between;align-items:center;margin:-4px 0 12px;padding:0 4px 12px;display:none}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}@media print{body{color:#000;background:#fff;font-size:11.5pt}.topbar,.sidebar,.toc,.toc-mobile,.feedback,.help-box,.pager,.site-footer,.skip,.anchor,.copy,dialog{display:none!important}.layout{padding:0;display:block}.article{box-shadow:none;border:0;padding:0}.article>*{max-width:none}.prose a:after{content:" (" attr(href) ")";color:#555;font-size:.85em}.code{box-shadow:none;background:#f5f5f5;border:1px solid #ddd}.code code{color:#000;white-space:pre-wrap}.code span{color:#000!important}.card,.callout,.table-wrap,.shot img{box-shadow:none;break-inside:avoid}details.tech>div{display:block!important}}.search-results [role=option]:hover{background:var(--hn-surface-2);text-decoration:none}
/*$vite$:1*/