.doc-shell{display:grid;grid-template-columns:minmax(0,1fr)270px;gap:56px;align-items:start;padding-bottom:96px}.doc-side{position:sticky;top:86px;max-height:calc(100vh - 110px);overflow-y:auto;padding-inline-end:4px;display:flex;flex-direction:column;gap:26px}.doc-side::-webkit-scrollbar{width:6px}.doc-side::-webkit-scrollbar-thumb{background:var(--border-2);border-radius:3px}.doc-side hr{height:1px;border:0;background:var(--border);margin:0}.doc-nav{font-size:.9rem}.doc-nav .group{margin-bottom:22px}.doc-nav .group:last-child{margin-bottom:0}.doc-nav .group>b{display:block;font-family:var(--font-mono);font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:var(--text-faint);margin-bottom:9px;font-weight:600}.doc-nav a{display:block;padding:6px 12px;border-radius:var(--r-sm);color:var(--text-muted);border-inline-start:2px solid transparent;transition:color .15s,background .15s}.doc-nav a:hover{color:var(--text);background:var(--bg-alt)}.doc-nav a.current{color:var(--accent-strong);background:var(--accent-soft);font-weight:500}.doc-toc{font-size:.85rem}.doc-toc b{display:block;font-family:var(--font-mono);font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:var(--text-faint);margin-bottom:12px;font-weight:600}.doc-toc a{display:block;padding-block:5px 5px;padding-inline:13px 0;color:var(--text-muted);border-inline-start:2px solid var(--border);transition:color .15s,border-color .15s;line-height:1.4}.doc-toc a.sub{padding-inline-start:26px;font-size:.8rem}.doc-toc a:hover{color:var(--text)}.doc-toc a.active{color:var(--accent-strong);border-inline-start-color:var(--accent);font-weight:500}.prose{max-width:100%}.prose>h2{font-size:1.7rem;margin-top:56px;padding-top:8px;scroll-margin-top:90px}.prose>h2:first-child{margin-top:0}.prose>h3{font-size:1.22rem;margin-top:38px;scroll-margin-top:90px}.prose>h4{font-size:1.02rem;margin-top:28px}.prose p{margin-top:15px;color:var(--text-soft);line-height:1.7}.prose a:not(.btn){color:var(--accent-strong);text-decoration:underline;text-underline-offset:2px;text-decoration-thickness:1px;text-decoration-color:var(--accent-line)}.prose a:not(.btn):hover{text-decoration-color:var(--accent)}.prose strong{color:var(--text);font-weight:600}.prose code{font-family:var(--font-mono);font-size:.86em;background:var(--bg-inset);border:1px solid var(--border);padding:1px 6px;border-radius:5px;color:var(--accent-strong)}.prose ul,.prose ol{margin-top:16px;padding-inline-start:4px;display:flex;flex-direction:column;gap:9px}.prose ul li,.prose ol li{position:relative;padding-inline-start:28px;color:var(--text-soft);line-height:1.6}.prose ul li::before{content:"";position:absolute;inset-inline-start:8px;top:11px;width:6px;height:6px;border-radius:50%;background:var(--accent)}.prose ol{counter-reset:li}.prose ol li::before{counter-increment:li;content:counter(li);position:absolute;inset-inline-start:0;top:1px;width:20px;height:20px;border-radius:50%;background:var(--accent-soft);color:var(--accent-strong);font-family:var(--font-mono);font-size:.72rem;font-weight:600;display:grid;place-items:center}.prose li code{font-size:.82em}.anchor-h{display:inline-flex;align-items:center;gap:9px}.anchor-h .hash{opacity:0;color:var(--accent);font-weight:400;text-decoration:none;transition:opacity .15s}.anchor-h:hover .hash{opacity:1}.alert{display:grid;grid-template-columns:auto 1fr;gap:14px;padding:16px 18px;border-radius:var(--r-md);margin-top:22px;border:1px solid;line-height:1.55}.alert .ico{width:22px;height:22px;flex-shrink:0;margin-top:1px}.alert .ico svg{width:22px;height:22px}.alert b{display:block;margin-bottom:3px;font-size:.95rem}.alert p{margin:0!important;font-size:.9rem;color:inherit!important;opacity:.92}.alert code{background:oklch(1 0 0/.4);border-color:transparent}[data-theme=dark] .alert code{background:oklch(0 0 0/.25)}.alert.info{background:oklch(.96 .03 248);border-color:oklch(.85 .06 248);color:oklch(.36 .1 248)}.alert.note{background:var(--accent-soft);border-color:var(--accent-line);color:var(--accent-strong)}.alert.warning{background:oklch(.96 .05 80);border-color:oklch(.84 .1 80);color:oklch(.42 .11 70)}.alert.success{background:oklch(.96 .05 155);border-color:oklch(.84 .09 155);color:oklch(.38 .1 155)}.alert.danger{background:oklch(.96 .04 25);border-color:oklch(.85 .08 25);color:oklch(.45 .16 25)}[data-theme=dark] .alert.info{background:oklch(.28 .05 248);border-color:oklch(.4 .08 248);color:oklch(.85 .08 248)}[data-theme=dark] .alert.note{background:oklch(.3 .06 274);border-color:oklch(.42 .09 274);color:oklch(.85 .1 274)}[data-theme=dark] .alert.warning{background:oklch(.3 .06 80);border-color:oklch(.42 .09 80);color:oklch(.86 .1 85)}[data-theme=dark] .alert.success{background:oklch(.29 .06 155);border-color:oklch(.4 .08 155);color:oklch(.85 .1 155)}[data-theme=dark] .alert.danger{background:oklch(.3 .07 25);border-color:oklch(.42 .1 25);color:oklch(.85 .1 25)}.code-block{margin-top:22px;border:1px solid var(--border-2);border-radius:var(--r-md);overflow:hidden;background:oklch(.16 .02 274)}.code-head{display:flex;align-items:center;justify-content:space-between;padding:9px 14px;background:oklch(.21 .025 274);border-bottom:1px solid oklch(.3 .03 274)}.code-head .lang{font-family:var(--font-mono);font-size:.74rem;color:oklch(.7 .05 274);letter-spacing:.04em}.code-copy{display:inline-flex;align-items:center;gap:6px;background:0 0;border:1px solid oklch(.34 .03 274);color:oklch(.78 .02 274);font-size:.74rem;padding:4px 9px;border-radius:6px;cursor:pointer;font-family:var(--font-mono);transition:all .15s}.code-copy:hover{background:oklch(.28 .03 274);color:#fff}.code-copy.done{color:oklch(.8 .14 150);border-color:oklch(.5 .1 150)}.code-block pre{margin:0;padding:16px 18px;overflow-x:auto}.code-block code{font-family:var(--font-mono);font-size:.84rem;line-height:1.7;color:oklch(.86 .02 274);background:0 0;border:0;padding:0;display:block;white-space:pre}.code-block .c-key{color:oklch(.78 .13 274)}.code-block .c-str{color:oklch(.8 .12 150)}.code-block .c-com{color:oklch(.55 .02 274)}.code-block .c-cmd{color:#fff}.code-block .c-pr{color:oklch(.72 .14 274);user-select:none}.table-wrap{margin-top:22px;overflow-x:auto;border:1px solid var(--border);border-radius:var(--r-md)}table.doc-table{width:100%;border-collapse:collapse;font-size:.88rem;min-width:520px}table.doc-table th{text-align:start;padding:12px 15px;background:var(--bg-alt);font-family:var(--font-mono);font-size:.74rem;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);font-weight:600;border-bottom:1px solid var(--border);white-space:nowrap}table.doc-table td{padding:12px 15px;border-bottom:1px solid var(--border);color:var(--text-soft);vertical-align:top}table.doc-table tr:last-child td{border-bottom:0}table.doc-table tbody tr:hover{background:var(--bg-alt)}table.doc-table code{font-size:.82em}.yes{color:oklch(.55 .13 150);font-weight:600}.no{color:oklch(.62 .14 25);font-weight:600}[data-theme=dark] .yes{color:oklch(.75 .13 150)}[data-theme=dark] .no{color:oklch(.72 .14 25)}.figure{margin-top:26px}.figure figcaption{margin-top:10px;font-size:.82rem;color:var(--text-faint);font-family:var(--font-mono);text-align:center}.timeline{margin-top:24px;border-inline-start:2px solid var(--border);padding-inline-start:26px;display:flex;flex-direction:column;gap:26px}.timeline .item{position:relative}.timeline .item::before{content:"";position:absolute;inset-inline-start:-33px;top:4px;width:12px;height:12px;border-radius:50%;background:var(--surface);border:2px solid var(--accent)}.timeline .meta{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.timeline .meta .date{font-family:var(--font-mono);font-size:.78rem;color:var(--text-faint)}.timeline h3{margin:0;font-size:1rem}.timeline p{margin-top:6px;font-size:.9rem;color:var(--text-muted)}.spec-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:1px;background:var(--border);border:1px solid var(--border);border-radius:var(--r-md);overflow:hidden;margin-top:28px}.spec-grid .spec{background:var(--surface);padding:15px 18px}.spec-grid .spec .k{font-family:var(--font-mono);font-size:.72rem;text-transform:uppercase;letter-spacing:.04em;color:var(--text-faint)}.spec-grid .spec .v{font-size:1.05rem;font-weight:600;margin-top:5px;display:flex;align-items:center;gap:7px}.doc-nav-toggle{display:none}@media(max-width:920px){.doc-shell{grid-template-columns:1fr;gap:36px}.doc-side{position:static;max-height:none;overflow:visible;order:2}}