:root{--bg-primary: rgba(7, 9, 13, 1);--bg-secondary: rgba(0, 0, 0, 1);--bg-elev: rgba(13, 16, 22, 1);--bg-button: rgba(38, 42, 58, 1);--bg-field: rgba(20, 23, 32, 1);--bg-hover: rgba(255, 255, 255, .04);--bg-active: rgba(56, 97, 251, .12);--backdrop: rgba(0, 0, 0, .72);--text-primary: rgb(255, 255, 255);--text-secondary: rgba(130, 134, 143, 1);--text-tertiary: rgba(95, 99, 108, 1);--text-inverse: rgb(28, 28, 28);--border: rgba(216, 231, 242, .07);--border-strong: rgba(216, 231, 242, .14);--blue: rgba(56, 97, 251, 1);--blue-008: rgba(56, 97, 251, .08);--blue-015: rgba(56, 97, 251, .15);--red: rgba(249, 57, 86, 1);--green: rgba(18, 209, 142, 1);--yellow: rgba(255, 235, 79, 1);--kbd-bg: rgba(255, 255, 255, .06);--code-bg: rgba(255, 255, 255, .03);--code-border: rgba(255, 255, 255, .06);--ui-accent: var(--text-primary);--ui-accent-fg: rgb(15, 17, 22);--ui-accent-tint: rgba(255, 255, 255, .06);--ui-accent-tint-strong: rgba(255, 255, 255, .12);--font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Helvetica Neue", Arial, sans-serif;--font-mono: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--sidebar-w: 280px;--toc-w: 240px;--topbar-h: 56px;--content-max: 760px;--row-pad-y: 7px}:root.light{--bg-primary: rgb(252, 252, 253);--bg-secondary: rgb(255, 255, 255);--bg-elev: rgb(248, 249, 251);--bg-button: rgb(238, 240, 244);--bg-field: rgb(244, 246, 249);--bg-hover: rgba(0, 0, 0, .04);--bg-active: rgba(56, 97, 251, .08);--backdrop: rgba(20, 24, 36, .5);--text-primary: rgb(15, 17, 22);--text-secondary: rgba(95, 99, 108, 1);--text-tertiary: rgba(140, 144, 153, 1);--border: rgba(15, 20, 36, .08);--border-strong: rgba(15, 20, 36, .14);--kbd-bg: rgba(0, 0, 0, .05);--code-bg: rgba(15, 20, 36, .04);--code-border: rgba(15, 20, 36, .06);--ui-accent: rgb(15, 17, 22);--ui-accent-fg: rgb(255, 255, 255);--ui-accent-tint: rgba(15, 17, 22, .06);--ui-accent-tint-strong: rgba(15, 17, 22, .12)}:root.sidebar-compact{--sidebar-w: 232px;--row-pad-y: 5px}*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--bg-primary);color:var(--text-primary);font-family:var(--font-sans);font-size:14px;line-height:1.55;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}a{color:inherit;text-decoration:none}button{font-family:inherit;cursor:pointer}.app{min-height:100vh;display:grid;grid-template-rows:var(--topbar-h) 1fr}.topbar{position:sticky;top:0;z-index:30;height:var(--topbar-h);display:grid;grid-template-columns:var(--sidebar-w) 1fr auto;align-items:center;background:color-mix(in oklab,var(--bg-primary) 86%,transparent);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--border)}.topbar-brand{display:flex;align-items:center;gap:10px;padding:0 20px;height:100%;border-right:1px solid var(--border)}.topbar-brand svg{width:22px;height:14px;fill:var(--text-primary)}.topbar-brand .wordmark{font-weight:600;font-size:15px;letter-spacing:-.01em}.topbar-brand .docs-tag{font-size:11px;color:var(--text-secondary);padding:3px 7px;border:1px solid var(--border);border-radius:4px;font-weight:500;margin-left:4px;text-transform:uppercase;letter-spacing:.04em}.topbar-nav{display:flex;align-items:center;gap:4px;padding:0 16px;height:100%}.topbar-nav a{font-size:13px;color:var(--text-secondary);padding:6px 12px;border-radius:6px;font-weight:500;transition:color .15s,background .15s}.topbar-nav a:hover{color:var(--text-primary);background:var(--bg-hover)}.topbar-nav a.active{color:var(--text-primary)}.topbar-actions{display:flex;align-items:center;gap:10px;padding:0 20px;height:100%}.search-trigger{display:flex;align-items:center;gap:10px;padding:7px 12px;background:var(--bg-field);border:1px solid var(--border);border-radius:8px;color:var(--text-secondary);font-size:13px;min-width:260px;transition:border-color .15s}.search-trigger:hover{border-color:var(--border-strong);color:var(--text-primary)}.search-trigger .kbd{margin-left:auto;background:var(--kbd-bg);padding:2px 6px;border-radius:4px;font-size:11px;font-family:var(--font-mono);color:var(--text-secondary)}.icon-btn{width:34px;height:34px;border-radius:8px;border:1px solid var(--border);background:transparent;color:var(--text-secondary);display:inline-flex;align-items:center;justify-content:center;transition:color .15s,background .15s,border-color .15s}.icon-btn:hover{color:var(--text-primary);background:var(--bg-hover);border-color:var(--border-strong)}.lang-wrap{position:relative}.lang-trigger{display:inline-flex;align-items:center;gap:8px;height:34px;padding:0 10px;border-radius:8px;border:1px solid var(--border);background:transparent;color:var(--text-secondary);font-family:inherit;font-size:12.5px;font-weight:500;cursor:pointer;transition:color .15s,background .15s,border-color .15s}.lang-trigger:hover{color:var(--text-primary);background:var(--bg-hover);border-color:var(--border-strong)}.lang-trigger .lang-code{letter-spacing:.04em}.lang-trigger .lang-chev{transition:transform .15s;color:var(--text-tertiary)}.lang-trigger .lang-chev.open{transform:rotate(180deg)}.lang-menu{position:absolute;top:calc(100% + 6px);right:0;min-width:200px;background:var(--bg-elev);border:1px solid var(--border-strong);border-radius:10px;box-shadow:0 12px 32px #0006;padding:6px;z-index:40}.lang-menu-head{font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--text-tertiary);font-weight:600;padding:8px 10px 6px}.lang-item{display:flex;align-items:center;gap:10px;width:100%;padding:8px 10px;background:transparent;border:0;border-radius:6px;cursor:pointer;color:var(--text-primary);font-family:inherit;font-size:13px;text-align:left}.lang-item:hover{background:var(--bg-hover)}.lang-item.active{background:var(--ui-accent-tint);font-weight:500}.lang-item .lang-flag{display:inline-flex;align-items:center;justify-content:center;width:26px;height:18px;border-radius:3px;background:var(--bg-button);font-family:var(--font-mono);font-size:10px;font-weight:600;letter-spacing:.04em;color:var(--text-secondary)}.lang-item.active .lang-flag{color:var(--text-primary)}.lang-item .lang-label{flex:1}.lang-item .lang-check{color:var(--text-primary)}.translation-banner{display:flex;align-items:center;gap:10px;padding:10px 14px;margin:0 0 24px;border:1px solid var(--border);background:var(--bg-elev);border-radius:8px;font-size:13px;color:var(--text-secondary)}.translation-banner svg{color:var(--text-tertiary);flex-shrink:0}.main{display:grid;grid-template-columns:var(--sidebar-w) 1fr;min-height:calc(100vh - var(--topbar-h))}.sidebar{border-right:1px solid var(--border);padding:24px 14px 60px;height:calc(100vh - var(--topbar-h));overflow-y:auto;position:sticky;top:var(--topbar-h)}.sidebar::-webkit-scrollbar{width:8px}.sidebar::-webkit-scrollbar-thumb{background:var(--bg-button);border-radius:4px}.sidebar::-webkit-scrollbar-track{background:transparent}.sb-section{margin-bottom:18px}.sb-section-head{display:flex;align-items:center;gap:10px;padding:6px 10px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--text-tertiary);-webkit-user-select:none;user-select:none;background:transparent;border:0;width:100%;text-align:left;border-radius:6px;cursor:pointer;font-family:inherit;transition:color .12s,background .12s}.sb-section-head:hover{color:var(--text-secondary);background:var(--bg-hover)}.sb-section-head .sb-section-label{flex:1}.sb-section-head .chev{color:var(--text-tertiary);transition:transform .18s ease}.sb-section.closed .sb-section-head .chev{transform:rotate(-90deg)}.sb-section.open .sb-section-head .chev{transform:rotate(0)}.sb-section-head .num{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:4px;background:var(--bg-button);font-family:var(--font-mono);font-size:10px;color:var(--text-secondary);font-weight:500}.sb-item{display:flex;align-items:center;gap:8px;padding:var(--row-pad-y) 10px var(--row-pad-y) 36px;font-size:13.5px;color:var(--text-secondary);border-radius:6px;cursor:pointer;position:relative;transition:color .12s,background .12s}.sb-item:hover{color:var(--text-primary);background:var(--bg-hover)}.sb-item.active{color:var(--text-primary);background:var(--ui-accent-tint);font-weight:500}.sb-item.active:before{content:"";position:absolute;left:14px;top:50%;transform:translateY(-50%);width:3px;height:14px;background:var(--ui-accent);border-radius:2px}.sb-item .badge{margin-left:auto;font-size:10px;padding:1px 6px;border-radius:3px;font-family:var(--font-mono);font-weight:500;background:var(--bg-button);color:var(--text-secondary)}.sb-item .badge.new{background:var(--blue-015);color:var(--blue)}.sb-item .badge.soon{color:var(--yellow);background:#ffeb4f1a}.sb-foot{margin-top:28px;padding:14px 10px;border-top:1px solid var(--border);display:flex;flex-direction:column;gap:6px}.sb-foot a{display:flex;align-items:center;gap:10px;font-size:12.5px;color:var(--text-secondary);padding:6px 8px;border-radius:6px}.sb-foot a:hover{color:var(--text-primary);background:var(--bg-hover)}.sb-foot svg{width:14px;height:14px}.content-wrap{display:grid;grid-template-columns:1fr var(--toc-w);align-items:start}.content{padding:56px 64px 120px;max-width:calc(var(--content-max) + 128px);width:100%;margin:0 auto}.content.no-toc{grid-column:1 / -1;max-width:900px}.breadcrumb{display:flex;align-items:center;gap:8px;font-size:12.5px;color:var(--text-tertiary);margin-bottom:18px}.breadcrumb .crumb{color:var(--text-secondary)}.breadcrumb .sep{opacity:.5}.page-h1{font-size:36px;line-height:1.15;letter-spacing:-.02em;font-weight:600;margin:0 0 14px}.page-lead{font-size:16px;color:var(--text-secondary);line-height:1.6;margin:0 0 32px;max-width:640px}.content h2{font-size:22px;font-weight:600;letter-spacing:-.01em;margin:48px 0 14px;scroll-margin-top:80px}.content h3{font-size:16px;font-weight:600;margin:32px 0 8px;scroll-margin-top:80px}.content p{color:var(--text-primary);margin:12px 0}.content p.muted{color:var(--text-secondary)}.content ul,.content ol{padding-left:22px;margin:12px 0}.content li{margin:6px 0;color:var(--text-primary)}.content li::marker{color:var(--text-tertiary)}.content strong{font-weight:600}.content a.inline{color:var(--blue);border-bottom:1px solid var(--blue-015)}.content a.inline:hover{border-bottom-color:var(--blue)}code{font-family:var(--font-mono);font-size:.88em;background:var(--code-bg);border:1px solid var(--code-border);padding:1px 5px;border-radius:4px;color:var(--text-primary)}pre{background:var(--bg-secondary);border:1px solid var(--border);border-radius:10px;padding:0;margin:18px 0;overflow:hidden}pre .codeblock-head{display:flex;align-items:center;gap:10px;padding:8px 14px;border-bottom:1px solid var(--border);font-family:var(--font-mono);font-size:11.5px;color:var(--text-secondary);background:var(--bg-elev)}pre .codeblock-head .lang{text-transform:uppercase;letter-spacing:.06em}pre .codeblock-head .copy{margin-left:auto;padding:3px 8px;background:transparent;border:1px solid var(--border);border-radius:4px;color:var(--text-secondary);font-size:11px}pre code{display:block;background:transparent;border:0;padding:16px 18px;font-size:12.5px;line-height:1.65;overflow-x:auto;color:var(--text-primary);white-space:pre}.tok-k{color:#c084fc}.tok-s{color:#86efac}.tok-n{color:#fbbf24}.tok-c{color:var(--text-tertiary);font-style:italic}.tok-f{color:#60a5fa}.tok-p{color:var(--text-secondary)}.callout{display:flex;gap:14px;padding:14px 16px;border-radius:10px;border:1px solid var(--border);background:var(--bg-elev);margin:18px 0}.callout .ico{flex:0 0 18px;width:18px;height:18px;border-radius:4px;margin-top:2px;display:flex;align-items:center;justify-content:center;font-family:var(--font-mono);font-size:11px;font-weight:700}.callout .body{font-size:13.5px;color:var(--text-primary)}.callout .body .title{font-weight:600;margin-bottom:2px}.callout.info{border-color:var(--blue-015);background:var(--blue-008)}.callout.info .ico{background:var(--blue);color:#fff}.callout.warn{border-color:#ffeb4f40;background:#ffeb4f0f}.callout.warn .ico{background:var(--yellow);color:#000}.callout.danger{border-color:#f9395640;background:#f939560f}.callout.danger .ico{background:var(--red);color:#fff}table.docs{width:100%;border-collapse:collapse;margin:18px 0;font-size:13px;border:1px solid var(--border);border-radius:10px;overflow:hidden}table.docs th{text-align:left;font-weight:600;font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--text-secondary);background:var(--bg-elev);padding:10px 14px;border-bottom:1px solid var(--border)}table.docs td{padding:10px 14px;border-bottom:1px solid var(--border);color:var(--text-primary);vertical-align:top}table.docs tr:last-child td{border-bottom:0}table.docs td code{font-size:12px}.feature-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin:28px 0 8px}.feature-card{display:block;padding:18px 18px 20px;border:1px solid var(--border);border-radius:12px;background:var(--bg-elev);text-align:left;width:100%;cursor:pointer;transition:border-color .15s,transform .15s,background .15s}.feature-card:hover{border-color:var(--border-strong);background:color-mix(in oklab,var(--bg-elev) 70%,var(--ui-accent-tint))}.feature-card .fc-head{display:flex;align-items:center;gap:10px;margin-bottom:10px}.feature-card .fc-ico{width:28px;height:28px;border-radius:7px;background:var(--bg-button);display:flex;align-items:center;justify-content:center;color:var(--text-primary)}.feature-card .fc-title{font-weight:600;font-size:14.5px}.feature-card .fc-desc{font-size:13px;color:var(--text-secondary);line-height:1.55}.feature-card .fc-foot{margin-top:14px;font-size:12px;color:var(--text-primary);display:flex;align-items:center;gap:6px}.hero{padding:28px 0 12px;margin-bottom:8px}.hero .eyebrow{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--text-primary);font-weight:600;display:inline-flex;align-items:center;gap:8px;margin-bottom:14px}.hero .eyebrow:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--ui-accent);box-shadow:0 0 0 4px var(--ui-accent-tint)}.hero h1{font-size:44px;line-height:1.08;letter-spacing:-.025em;font-weight:600;margin:0 0 14px;max-width:580px}.hero .lead{font-size:16.5px;color:var(--text-secondary);max-width:580px;line-height:1.55;margin:0 0 24px}.hero .actions{display:flex;gap:10px}.hero .btn{display:inline-flex;align-items:center;gap:8px;padding:9px 16px;font-size:13.5px;font-weight:500;border-radius:8px;border:1px solid var(--border);background:var(--bg-button);color:var(--text-primary);cursor:pointer}.hero .btn.primary{background:var(--ui-accent);border-color:var(--ui-accent);color:var(--ui-accent-fg)}.hero .btn:hover{transform:translateY(-1px)}.landing-compact .hero h1{font-size:32px;max-width:520px}.landing-compact .hero .lead{font-size:14.5px}.landing-compact .feature-grid{grid-template-columns:repeat(2,1fr);gap:8px}.landing-compact .feature-card{padding:14px;border-radius:10px}.stat-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border:1px solid var(--border);border-radius:12px;overflow:hidden;margin:22px 0 4px;background:var(--bg-elev)}.stat{padding:14px 16px;border-right:1px solid var(--border)}.stat:last-child{border-right:0}.stat .label{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--text-tertiary);font-weight:500;margin-bottom:4px}.stat .value{font-family:var(--font-mono);font-size:18px;letter-spacing:-.01em;color:var(--text-primary);font-weight:500}.stat .value .delta{font-size:11px;margin-left:6px;color:var(--green)}.page-nav{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:60px;padding-top:24px;border-top:1px solid var(--border)}.page-nav a{padding:14px 16px;border:1px solid var(--border);border-radius:10px;background:var(--bg-elev);display:block}.page-nav a:hover{border-color:var(--border-strong)}.page-nav .arrow{color:var(--text-tertiary);font-size:11px;text-transform:uppercase;letter-spacing:.06em}.page-nav .label{font-weight:600;font-size:14px;margin-top:4px;color:var(--text-primary)}.page-nav .next{text-align:right}.toc{position:sticky;top:calc(var(--topbar-h) + 56px);align-self:start;padding:56px 32px 24px 0;font-size:12.5px}.toc-head{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--text-tertiary);font-weight:600;margin-bottom:10px}.toc ul{list-style:none;padding:0;margin:0;border-left:1px solid var(--border)}.toc li a{display:block;padding:5px 14px;color:var(--text-secondary);border-left:2px solid transparent;margin-left:-1px}.toc li a:hover{color:var(--text-primary)}.toc li a.active{color:var(--text-primary);border-left-color:var(--ui-accent)}.toc li.h3 a{padding-left:26px;font-size:12px}.search-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--backdrop);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:flex;align-items:flex-start;justify-content:center;padding-top:100px;z-index:100}.search-modal{width:580px;max-width:calc(100% - 40px);background:var(--bg-elev);border:1px solid var(--border-strong);border-radius:14px;box-shadow:0 24px 60px #00000080;overflow:hidden}.search-input-wrap{display:flex;align-items:center;gap:10px;padding:16px 18px;border-bottom:1px solid var(--border)}.search-input-wrap input{flex:1;background:transparent;border:0;outline:0;color:var(--text-primary);font-size:15px;font-family:inherit}.search-results{max-height:360px;overflow-y:auto;padding:8px}.search-group-label{font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--text-tertiary);font-weight:600;padding:10px 10px 6px}.search-item{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:8px;cursor:pointer;color:var(--text-primary)}.search-item:hover,.search-item.kbd-active{background:var(--ui-accent-tint)}.search-item .si-ico{width:28px;height:28px;background:var(--bg-button);border-radius:6px;display:flex;align-items:center;justify-content:center;color:var(--text-secondary);flex:0 0 28px}.search-item .si-title{font-size:13.5px;font-weight:500}.search-item .si-section{font-size:11.5px;color:var(--text-tertiary);margin-top:1px}.search-empty{padding:28px 12px;text-align:center;color:var(--text-tertiary);font-size:13px}.search-foot{display:flex;gap:14px;padding:10px 16px;border-top:1px solid var(--border);font-size:11px;color:var(--text-tertiary)}.search-foot .kbd-pill{display:inline-flex;align-items:center;gap:4px}.search-foot .kbd-pill kbd{background:var(--kbd-bg);padding:1px 5px;border-radius:3px;font-family:var(--font-mono);font-size:10px}.arch{border:1px solid var(--border);border-radius:12px;padding:20px;margin:22px 0;background:var(--bg-elev)}.arch-layer{display:flex;align-items:stretch;gap:10px;margin-bottom:10px}.arch-layer:last-child{margin-bottom:0}.arch-layer .lbl{flex:0 0 80px;font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--text-tertiary);font-weight:600;display:flex;align-items:center}.arch-blocks{flex:1;display:grid;gap:8px}.arch-blocks.cols-2{grid-template-columns:1fr 1fr}.arch-blocks.cols-3{grid-template-columns:repeat(3,1fr)}.arch-blocks.cols-4{grid-template-columns:repeat(4,1fr)}.arch-block{padding:12px 14px;border-radius:8px;border:1px solid var(--border);background:var(--bg-secondary);font-size:12.5px}.arch-block .ab-title{font-weight:600;margin-bottom:2px}.arch-block .ab-sub{color:var(--text-secondary);font-size:11.5px;font-family:var(--font-mono)}.arch-block.accent{border-color:var(--border-strong);background:var(--ui-accent-tint)}.arch-block.accent .ab-title{color:var(--text-primary)}.tabs{display:flex;gap:0;border-bottom:1px solid var(--border);margin:22px 0 0}.tab{padding:8px 14px;font-size:12.5px;color:var(--text-secondary);border:0;background:transparent;border-bottom:2px solid transparent;margin-bottom:-1px}.tab.active{color:var(--text-primary);border-bottom-color:var(--ui-accent)}.tab:hover{color:var(--text-primary)}.faq details{border-bottom:1px solid var(--border);padding:4px 0}.faq details summary{cursor:pointer;list-style:none;padding:14px 4px;display:flex;align-items:center;gap:14px;font-weight:500;font-size:14.5px}.faq details summary::-webkit-details-marker{display:none}.faq details summary:after{content:"+";margin-left:auto;color:var(--text-tertiary);font-family:var(--font-mono);font-size:18px;font-weight:300}.faq details[open] summary:after{content:"−";color:var(--text-primary)}.faq details .answer{padding:0 4px 16px;color:var(--text-secondary);font-size:14px;line-height:1.6}.cl-entry{display:grid;grid-template-columns:140px 1fr;gap:28px;padding:24px 0;border-bottom:1px solid var(--border)}.cl-meta .ver{font-family:var(--font-mono);font-size:13px;font-weight:600;padding:3px 8px;background:var(--bg-button);border-radius:5px;display:inline-block;margin-bottom:6px}.cl-meta .date{font-size:12px;color:var(--text-tertiary)}.cl-tag{display:inline-block;font-size:10px;text-transform:uppercase;letter-spacing:.06em;font-weight:600;padding:2px 8px;border-radius:4px;margin-right:6px;font-family:var(--font-mono)}.cl-tag.feat{background:var(--blue-015);color:var(--blue)}.cl-tag.fix{background:#12d18e26;color:var(--green)}.cl-tag.brk{background:#f9395626;color:var(--red)}:root.no-tweaks .tweaks-panel{display:none!important}@media (max-width: 1180px){.content-wrap{grid-template-columns:1fr}.toc{display:none}}@media (max-width: 880px){.topbar{grid-template-columns:auto 1fr auto}.topbar-brand{border-right:0;padding-right:12px}.topbar-nav{display:none}.main{grid-template-columns:1fr}.sidebar{display:none}.content{padding:32px 24px 80px}.search-trigger{min-width:0}.search-trigger .label,.search-trigger .kbd{display:none}}
