:root{--bg:#fff;--bg-soft:#f6f7fb;--bg-elev:#fff;--ink:#0f172a;--ink-2:#475569;--ink-3:#64748b;--line:#e5e8f0;--accent:#5b5bf0;--accent-ink:#4338ca;--accent-soft:#eef0ff;--code-bg:#f3f5fa;--shadow:0 1px 2px #0f172a0f, 0 8px 24px #0f172a0f;--font:ui-sans-serif, system-ui, -apple-system, "Segoe UI", Inter, Roboto, "Helvetica Neue", Arial, sans-serif;--mono:ui-monospace, "SF Mono", "JetBrains Mono", Menlo, Consolas, monospace;--topbar:60px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-theme=dark]{--bg:#0b1020;--bg-soft:#0f1630;--bg-elev:#131b38;--ink:#e8ecf8;--ink-2:#aab3cf;--ink-3:#8590b0;--line:#1f2a4d;--accent:#8b8bff;--accent-ink:#b4b4ff;--accent-soft:#1a2147;--code-bg:#0f1730;--shadow:0 1px 2px #0006, 0 12px 32px #00000059;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}[data-version=v1]{--accent:#d97706;--accent-ink:#b45309;--accent-soft:#fff4e0}[data-version=v2]{--accent:#0d9488;--accent-ink:#0f766e;--accent-soft:#e0f7f4}:root[data-theme=dark] [data-version=v1]{--accent:#fbbf24;--accent-ink:#fcd34d;--accent-soft:#2b2110}:root[data-theme=dark] [data-version=v2]{--accent:#2dd4bf;--accent-ink:#5eead4;--accent-soft:#0e2b2b}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:calc(var(--topbar) + 20px)}body{background:var(--bg);color:var(--ink);font-family:var(--font);-webkit-font-smoothing:antialiased;margin:0;font-size:16px;line-height:1.65}a{color:var(--accent-ink);text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}kbd{font-family:var(--mono);border:1px solid var(--line);color:var(--ink-3);background:var(--bg-soft);border-radius:6px;padding:2px 6px;font-size:11px}.dot{background:var(--accent);border-radius:50%;flex:none;width:9px;height:9px;display:inline-block}.only-mobile{display:none}.topbar{z-index:40;height:var(--topbar);background:color-mix(in srgb, var(--bg) 82%, transparent);-webkit-backdrop-filter:saturate(160%)blur(14px);backdrop-filter:saturate(160%)blur(14px);border-bottom:1px solid var(--line);align-items:center;gap:14px;padding:0 20px;display:flex;position:sticky;top:0}.spacer{flex:1}.brand{color:var(--ink);letter-spacing:-.01em;align-items:center;gap:10px;font-weight:700;display:inline-flex}.brand em{color:var(--ink-3);margin-left:5px;font-style:normal;font-weight:500}.icon-btn{width:38px;height:38px;color:var(--ink-2);background:0 0;border:1px solid #0000;border-radius:10px;place-items:center;display:inline-grid}.icon-btn:hover{background:var(--bg-soft);border-color:var(--line)}.search-btn{border:1px solid var(--line);background:var(--bg-soft);min-width:250px;height:38px;color:var(--ink-3);border-radius:10px;align-items:center;gap:10px;padding:0 10px 0 12px;font-size:14px;display:inline-flex}.search-btn:hover{border-color:var(--accent)}.search-btn span{text-align:left;flex:1}.vswitch{position:relative}.vswitch-btn{border:1px solid var(--line);background:var(--bg-elev);border-radius:999px;align-items:center;gap:8px;height:34px;padding:0 10px;font-size:13px;font-weight:600;display:inline-flex}.vswitch-btn:hover{border-color:var(--accent)}.vswitch-menu{z-index:50;background:var(--bg-elev);border:1px solid var(--line);min-width:230px;box-shadow:var(--shadow);border-radius:12px;margin:0;padding:6px;list-style:none;position:absolute;top:42px;left:0}.vswitch-menu a{color:var(--ink);border-radius:8px;align-items:center;gap:10px;padding:9px 10px;display:flex}.vswitch-menu a:hover,.vswitch-menu a.on{background:var(--bg-soft)}.vswitch-menu small{color:var(--ink-3);font-size:12px;line-height:1.3;display:block}.vswitch-menu [data-version=v1] .dot{background:#d97706}.vswitch-menu [data-version=v2] .dot{background:#0d9488}.frame{grid-template-columns:280px minmax(0,1fr) 240px;max-width:1480px;margin:0 auto;display:grid}.sidebar{top:var(--topbar);height:calc(100vh - var(--topbar));border-right:1px solid var(--line);align-self:start;padding:22px 14px 40px 20px;position:sticky;overflow-y:auto}.sidebar nav{flex-direction:column;gap:4px;display:flex}.nav-top{color:var(--ink);border-radius:8px;padding:7px 10px;font-size:14.5px;font-weight:600}.nav-top:hover,.nav-top.on{background:var(--accent-soft);color:var(--accent-ink)}.nav-sec summary{cursor:pointer;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);border-radius:8px;justify-content:space-between;align-items:center;margin-top:8px;padding:8px 10px;font-size:12px;font-weight:700;list-style:none;display:flex}.nav-sec summary::-webkit-details-marker{display:none}.nav-sec summary:hover{color:var(--ink)}.nav-sec summary svg{transition:transform .15s}.nav-sec:not([open]) summary svg{transform:rotate(-90deg)}.nav-sec ul{border-left:1px solid var(--line);margin:2px 0 6px 10px;padding:0 0 0 10px;list-style:none}.nav-sec li a{color:var(--ink-2);border-radius:7px;margin:1px 0;padding:5px 10px;font-size:14px;display:block}.nav-sec li a:hover{color:var(--ink);background:var(--bg-soft)}.nav-sec li a.on{color:var(--accent-ink);background:var(--accent-soft);font-weight:600}.main{min-width:0;padding:40px 48px 80px}.aside{top:var(--topbar);max-height:calc(100vh - var(--topbar));align-self:start;padding:40px 20px 40px 0;position:sticky;overflow-y:auto}.toc h4{letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);margin:0 0 10px;font-size:12px}.toc ul{border-left:1px solid var(--line);margin:0;padding:0;list-style:none}.toc li a{color:var(--ink-3);border-left:2px solid #0000;margin-left:-1px;padding:3px 0 3px 14px;font-size:13.5px;line-height:1.45;display:block}.toc li.l3 a{padding-left:28px}.toc li a:hover{color:var(--ink)}.toc li.on a{color:var(--accent-ink);border-left-color:var(--accent);font-weight:600}.doc{max-width:780px;margin:0 auto}.crumbs{color:var(--ink-3);text-transform:capitalize;gap:8px;font-size:13px;font-weight:600;display:flex}.crumbs span:first-child{color:var(--accent-ink)}.doc-title{letter-spacing:-.03em;margin:10px 0 8px;font-size:2.4rem;line-height:1.15}.doc-lead{color:var(--ink-2);margin:0 0 8px;font-size:1.15rem}.prose{margin-top:28px}.prose>:first-child{margin-top:0}.prose h2{letter-spacing:-.02em;border-top:1px solid var(--line);margin:2.4em 0 .6em;padding-top:.4em;font-size:1.55rem;line-height:1.25}.prose h3{letter-spacing:-.01em;margin:1.8em 0 .5em;font-size:1.2rem}.prose h2 .anchor,.prose h3 .anchor{opacity:0;color:var(--ink-3);margin-left:8px;font-weight:400}.prose h2:hover .anchor,.prose h3:hover .anchor{opacity:1}.prose p,.prose ul,.prose ol{margin:0 0 1.1em}.prose li{margin:.3em 0}.prose li>p{margin:0 0 .4em}.prose strong{color:var(--ink)}.prose a{text-decoration:underline;-webkit-text-decoration-color:color-mix(in srgb, var(--accent) 45%, transparent);text-decoration-color:color-mix(in srgb, var(--accent) 45%, transparent);text-underline-offset:3px}.prose a:hover{-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent)}.prose hr{border:0;border-top:1px solid var(--line);margin:2em 0}.prose img{border:1px solid var(--line);border-radius:12px;max-width:100%}.prose code{font-family:var(--mono);background:var(--code-bg);border:1px solid var(--line);border-radius:6px;padding:.15em .4em;font-size:.88em}.prose pre{background:var(--code-bg);border:1px solid var(--line);border-radius:12px;margin:0 0 1.3em;padding:16px 18px;font-size:13.5px;line-height:1.6;position:relative;overflow-x:auto}.prose pre code{font-size:inherit;background:0 0;border:0;padding:0}.prose pre .copy{border:1px solid var(--line);background:var(--bg-elev);color:var(--ink-3);opacity:0;border-radius:7px;padding:3px 9px;font-size:12px;transition:opacity .15s;position:absolute;top:8px;right:8px}.prose pre:hover .copy,.prose pre .copy:focus{opacity:1}.prose blockquote{border-left:3px solid var(--line);color:var(--ink-2);margin:0 0 1.2em;padding:.2em 1em}.table-wrap{border:1px solid var(--line);border-radius:12px;margin:0 0 1.4em;overflow-x:auto}.prose table{border-collapse:collapse;width:100%;font-size:14.5px}.prose th{text-align:left;background:var(--bg-soft);text-transform:uppercase;letter-spacing:.04em;color:var(--ink-3);border-bottom:1px solid var(--line);white-space:nowrap;padding:10px 14px;font-size:12.5px}.prose td{border-top:1px solid var(--line);vertical-align:top;padding:10px 14px}.prose tr:first-child td{border-top:0}.shot{margin:0 0 1.6em}.shot img{border:1px solid var(--line);width:100%;height:auto;box-shadow:var(--shadow);cursor:zoom-in;border-radius:12px;transition:transform .15s;display:block}.shot img:hover{transform:scale(1.005)}.zoom{z-index:200;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#050814eb;flex-direction:column;display:flex;position:fixed;inset:0}.zoom-bar{color:#e8ecf8;align-items:center;gap:10px;padding:10px 16px;font-size:14px;display:flex}.zoom-cap{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.zoom-bar button,.zoom-bar a{height:34px;color:inherit;background:0 0;border:1px solid #ffffff40;border-radius:8px;align-items:center;padding:0 12px;font-size:13px;text-decoration:none;display:inline-flex}.zoom-bar button:hover,.zoom-bar a:hover{background:#ffffff1f}.zoom-stage{flex:1;place-items:center;min-height:0;padding:0 16px 16px;display:grid;overflow:auto}.zoom-stage img{cursor:zoom-in;background:#fff;border-radius:8px;max-width:100%;max-height:100%;box-shadow:0 20px 60px #00000080}.zoom-stage.actual{place-items:start center}.zoom-stage.actual img{cursor:zoom-out;width:auto;max-width:none;max-height:none}.zoom-nav{color:#fff;cursor:pointer;background:#ffffff1f;border:0;border-radius:10px;width:46px;height:64px;font-size:34px;line-height:1;position:absolute;top:50%;transform:translateY(-50%)}.zoom-nav:hover{background:#ffffff3d}.zoom-nav.prev{left:12px}.zoom-nav.next{right:12px}.shot figcaption{text-align:center;color:var(--ink-3);margin-top:8px;font-size:13px}.shot-ph{text-align:center;border:2px dashed var(--line);background:var(--bg-soft);min-height:180px;color:var(--ink-3);border-radius:12px;place-items:center;gap:4px;padding:20px;font-size:13px;display:grid}.shot-ph strong{color:var(--ink-2);font-size:14px}.shot-ph span{font-family:var(--mono);font-size:12px}.markdown-alert{--c:#3b82f6;border:1px solid color-mix(in srgb, var(--c) 35%, var(--line));border-left:4px solid var(--c);background:color-mix(in srgb, var(--c) 7%, var(--bg));color:var(--ink);border-radius:12px;margin:0 0 1.3em;padding:14px 18px}.markdown-alert>:last-child{margin-bottom:0}.markdown-alert-tip{--c:#10b981}.markdown-alert-important{--c:#8b5cf6}.markdown-alert-warning{--c:#f59e0b}.markdown-alert-caution{--c:#ef4444}.markdown-alert-title{color:var(--c);text-transform:uppercase;letter-spacing:.05em;align-items:center;gap:8px;font-size:13px;font-weight:700;display:flex;margin:0 0 6px!important}.markdown-alert-title svg{fill:currentColor;width:16px;height:16px}.hljs-comment,.hljs-quote{color:var(--ink-3);font-style:italic}.hljs-keyword,.hljs-selector-tag,.hljs-built_in{color:#a21caf}.hljs-string,.hljs-attr,.hljs-addition{color:#047857}.hljs-number,.hljs-literal,.hljs-variable,.hljs-template-variable{color:#b45309}.hljs-title,.hljs-section,.hljs-name{color:#1d4ed8}.hljs-deletion{color:#b91c1c}:root[data-theme=dark] .hljs-keyword,:root[data-theme=dark] .hljs-built_in{color:#e879f9}:root[data-theme=dark] .hljs-string,:root[data-theme=dark] .hljs-attr{color:#6ee7b7}:root[data-theme=dark] .hljs-number,:root[data-theme=dark] .hljs-literal{color:#fcd34d}:root[data-theme=dark] .hljs-title,:root[data-theme=dark] .hljs-section,:root[data-theme=dark] .hljs-name{color:#93c5fd}.pager{grid-template-columns:1fr 1fr;gap:14px;margin-top:56px;display:grid}.pager a{border:1px solid var(--line);color:var(--ink);background:var(--bg-elev);border-radius:12px;flex-direction:column;gap:2px;padding:14px 18px;transition:border-color .15s,transform .15s;display:flex}.pager a:hover{border-color:var(--accent);transform:translateY(-1px)}.pager small{color:var(--ink-3);text-transform:uppercase;letter-spacing:.05em;font-size:12px}.pager span{align-items:center;gap:6px;font-weight:600;display:inline-flex}.pager .next{text-align:right;align-items:flex-end}.search-overlay{z-index:100;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#080c1c8c;justify-content:center;align-items:flex-start;padding:12vh 16px 0;display:flex;position:fixed;inset:0}.search-box{border:1px solid var(--line);background:var(--bg-elev);width:100%;max-width:640px;box-shadow:var(--shadow);border-radius:16px;overflow:hidden}.search-input{border-bottom:1px solid var(--line);height:56px;color:var(--ink-3);align-items:center;gap:12px;padding:0 16px;display:flex}.search-input input{color:var(--ink);font:inherit;background:0 0;border:0;outline:0;flex:1;font-size:16px}.search-results{max-height:52vh;margin:0;padding:8px;list-style:none;overflow-y:auto}.search-hint{text-align:center;color:var(--ink-3);padding:22px 12px;font-size:14px}.search-results button{text-align:left;background:0 0;border:0;border-radius:10px;flex-direction:column;gap:2px;width:100%;padding:10px 12px;display:flex}.search-results button.on{background:var(--accent-soft)}.search-results .crumb{color:var(--ink-3);text-transform:capitalize;font-size:11.5px}.search-results .snip{color:var(--ink-3);font-size:13px}.landing{background:radial-gradient(900px 420px at 15% -10%,#d9770629,#0000 70%),radial-gradient(900px 420px at 90% -5%,#0d94882e,#0000 70%);min-height:100vh;padding:28px 24px 80px}.landing-top,.hero,.cards{max-width:1000px;margin:0 auto}.hero{text-align:center;padding:9vh 0 40px}.pill{border:1px solid var(--line);background:var(--bg-elev);color:var(--ink-2);border-radius:999px;padding:4px 12px;font-size:13px;font-weight:600;display:inline-block}.hero-title{letter-spacing:-.04em;margin:18px 0 14px;font-size:clamp(2.2rem,5.5vw,3.8rem);line-height:1.08}.grad{background:linear-gradient(90deg,#d97706,#0d9488);color:#0000;-webkit-background-clip:text;background-clip:text}.hero-sub{max-width:600px;color:var(--ink-2);margin:0 auto 26px;font-size:1.15rem}.cards{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:20px;display:grid}.card{border:1px solid var(--line);background:var(--bg-elev);color:var(--ink);box-shadow:var(--shadow);border-radius:20px;flex-direction:column;gap:6px;padding:28px;transition:transform .18s,border-color .18s;display:flex}.card:hover{border-color:var(--accent);transform:translateY(-3px)}.card h2{letter-spacing:-.03em;align-items:center;gap:10px;margin:10px 0 0;font-size:1.8rem;display:flex}.card h2 em{color:var(--ink-3);font-style:normal;font-weight:500}.card p{color:var(--ink-2);margin:0}.card-tag{font-weight:600;color:var(--ink)!important}.card-foot{color:var(--accent-ink);align-items:center;gap:8px;margin-top:14px;font-weight:600;display:inline-flex}.badge{background:var(--accent-soft);color:var(--accent-ink);border-radius:999px;align-self:flex-start;padding:3px 10px;font-size:12px;font-weight:700}.btn{border:1px solid var(--line);border-radius:10px;align-items:center;padding:10px 20px;font-weight:600;display:inline-flex}.btn.primary{background:var(--accent);color:#fff;border-color:#0000}@media (max-width:1180px){.frame{grid-template-columns:260px minmax(0,1fr)}.aside{display:none}}@media (max-width:860px){.only-mobile{display:inline-grid}.search-btn{display:none}.topbar{gap:8px;padding:0 12px}.brand span em{display:none}.frame{grid-template-columns:minmax(0,1fr)}.sidebar{z-index:45;top:var(--topbar);background:var(--bg);width:min(310px,86vw);height:auto;transition:transform .2s;position:fixed;bottom:0;left:0;transform:translate(-100%)}.sidebar.open{box-shadow:var(--shadow);transform:none}.scrim{inset:var(--topbar) 0 0 0;z-index:44;background:#080c1c80;position:fixed}.main{padding:28px 16px 64px}.doc-title{font-size:1.9rem}.pager{grid-template-columns:1fr}}@media print{.topbar,.sidebar,.aside,.pager{display:none}.frame{display:block}}
