.table-container{container-type:inline-size;width:100%;overflow-x:auto;border-radius:.5rem}table{display:table;width:100%}thead{background-color:var(--color-primary-700);color:#fff}thead th{padding:.75rem 1rem;font-weight:600;text-align:left;border-bottom:2px solid var(--color-primary-800);border-right:1px solid var(--color-primary-600)}thead th:last-child{border-right:none}tbody tr{background-color:#fff;transition:background-color .2s ease}tbody tr:nth-child(odd){background-color:var(--color-gray-50)}tbody tr:hover{background-color:var(--color-primary-50)}tbody td{padding:.75rem 1rem;border-bottom:1px solid var(--color-gray-200);border-right:1px solid var(--color-gray-200);vertical-align:top;white-space:nowrap;max-width:300px;overflow:hidden;text-overflow:ellipsis}tbody td:last-child{border-right:none}tbody tr:last-child td{border-bottom:none}[data-theme=dark] thead{background-color:var(--color-primary-900)}[data-theme=dark] thead th{border-bottom:2px solid var(--color-primary-800);border-right:1px solid var(--color-primary-800)}[data-theme=dark] thead th:last-child{border-right:none}[data-theme=dark] tbody tr{background-color:var(--color-gray-800);color:var(--color-gray-100)}[data-theme=dark] tbody tr:nth-child(odd){background-color:var(--color-gray-900)}[data-theme=dark] tbody tr:hover{background-color:var(--color-gray-700)}[data-theme=dark] tbody td{border-bottom:1px solid var(--color-gray-700);border-right:1px solid var(--color-gray-700)}[data-theme=dark] tbody td:last-child{border-right:none}[data-theme=dark] td:empty:before{color:var(--color-gray-600)}.article-prose details.code-block-container{position:relative;margin:1.5rem 0 0;overflow:hidden;width:fit-content;min-width:100%;max-width:calc(100% + max(0px,(100vw - 80rem) / 2 - 3rem));border:1px solid var(--article-line);border-radius:.5rem;background:var(--article-soft-strong)}body.branch-open main .article-prose details.code-block-container{max-width:calc(100% + max(0px,(100vw - var(--branch-w) - 20px - 80rem) / 2 - 3rem))}#branch-pane .article-prose details.code-block-container{width:auto;min-width:0;max-width:100%}[data-theme=dark] .article-prose details.code-block-container{border-color:var(--article-line);background:var(--article-soft-strong)}.article-prose .code-block-summary{display:grid;grid-template-columns:auto auto minmax(0,1fr) auto;gap:.58rem;align-items:center;min-height:3.05rem;padding:.72rem 5.5rem .72rem .9rem;color:var(--article-muted);cursor:pointer;list-style:none;user-select:none}.article-prose .code-block-summary::-webkit-details-marker{display:none}.article-prose .code-block-summary:focus-visible{outline:2px solid var(--article-interactive-focus);outline-offset:-3px}.article-prose .code-block-caret{display:inline-flex;align-items:center;justify-content:center;width:1rem;height:1rem;color:var(--article-muted);transition:transform .18s ease}.article-prose details.code-block-container[open] .code-block-caret{transform:rotate(90deg)}.article-prose .code-block-title{min-width:0;color:var(--article-muted);font-size:.92rem;font-weight:560;line-height:1.35;white-space:nowrap}.article-prose .code-block-meta{min-width:0;overflow:hidden;color:var(--article-quiet);font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:.72rem;line-height:1.35;text-align:right;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap}.article-prose .code-block-state{color:var(--article-quiet);font-size:.8rem;line-height:1.35;white-space:nowrap}.article-prose .code-block-state-open,.article-prose details.code-block-container[open] .code-block-state-closed{display:none}.article-prose details.code-block-container[open] .code-block-state-open{display:inline}.article-prose .code-block-actions{position:absolute;top:.48rem;right:.58rem;z-index:2;display:inline-flex;align-items:center;gap:.32rem}.article-prose .code-block-copy,.article-prose .code-block-expand{display:inline-flex;align-items:center;justify-content:center;width:2.05rem;height:2.05rem;padding:0;border:1px solid color-mix(in oklab,var(--article-line) 80%,transparent);border-radius:.38rem;background:color-mix(in oklab,var(--article-bg) 86%,transparent);color:var(--article-muted);cursor:pointer;opacity:1;transform:translateY(0);transition:background-color .16s ease,border-color .16s ease,color .16s ease,transform .16s ease}.article-prose .code-block-copy:after,.article-prose .code-block-copy.copied:after,.article-prose .code-block-copy.copy-failed:after{content:none;display:none}.article-prose .code-block-copy.copied,.article-prose .code-block-copy.copy-failed,.article-prose .code-block-copy:hover,.article-prose .code-block-expand:hover,[data-theme=dark] .article-prose .code-block-copy:hover,[data-theme=dark] .article-prose .code-block-expand:hover{border-color:color-mix(in oklab,var(--article-line-strong) 76%,transparent);background:color-mix(in oklab,var(--article-bg) 96%,var(--article-soft));color:var(--article-ink)}.article-prose .code-block-copy:hover,.article-prose .code-block-expand:hover{transform:translateY(-1px)}.article-prose .code-block-copy:focus-visible,.article-prose .code-block-expand:focus-visible{outline:2px solid var(--article-interactive-focus);outline-offset:2px}.article-prose .code-block-copy.copied{color:#059669}.article-prose .code-block-copy.copy-failed{color:#dc2626}.article-prose details.code-block-container:not([open])>.code-block-content{display:none}.article-prose .code-block-content{--code-line-h: 1.5rem;--code-font-size: .9rem;position:relative;display:flex;align-items:stretch;margin:0;padding:0;overflow:auto;max-height:min(24rem,55vh);border-top:1px solid var(--article-line);background:var(--article-soft-strong)}.article-prose details.code-block-container[open]>.code-block-content{display:flex;background:var(--article-soft-strong)}.article-prose .line-numbers-container{position:sticky;left:0;z-index:1;display:grid;flex:0 0 3rem;align-content:start;padding:.55rem 0;border-right:1px solid var(--article-line);background:var(--article-soft-strong);color:var(--article-muted);counter-reset:line;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.article-prose .line-number{display:flex;align-items:center;justify-content:flex-end;width:100%;height:var(--code-line-h);padding:0 .65rem 0 .45rem;color:var(--article-quiet);counter-increment:line;font-size:.78rem;line-height:1;user-select:none}.article-prose .line-number:before{content:counter(line);display:block;color:var(--article-quiet);text-align:right}.article-prose .code-content-container{flex:1;min-width:max-content;padding:.55rem 0;background:transparent}.article-prose .code-block-content pre{min-width:max-content;margin:0;padding:0;overflow-x:visible}.article-prose .code-block-content pre code{display:block;padding:0;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:var(--code-font-size);line-height:var(--code-line-h)}.article-prose .line-numbers{position:relative;counter-reset:line}.article-prose .line-numbers .line{position:relative;min-height:var(--code-line-h);padding-right:1rem;padding-left:.85rem;counter-increment:line;white-space:pre}.article-prose .line.highlighted{border-left:2px solid #eab308}[data-theme=dark] .article-prose .line.highlighted{border-left-color:#fbbf24;background-color:transparent!important}.article-prose .code-block-content pre,.article-prose .code-block-content pre code,.article-prose .code-block-content pre code span,.article-prose .code-block-content pre.astro-code,.article-prose .code-block-content pre.shiki,.article-prose .code-block-content .line,.article-prose .code-block-content .line span,[data-theme=dark] .article-prose .code-block-content pre,[data-theme=dark] .article-prose .code-block-content pre code,[data-theme=dark] .article-prose .code-block-content pre code span,[data-theme=dark] .article-prose .code-block-content pre.astro-code,[data-theme=dark] .article-prose .code-block-content pre.shiki{background-color:transparent!important}[data-theme=dark] .article-prose .astro-code{color:var(--shiki-dark)!important;background-color:var(--shiki-dark-bg)!important}[data-theme=dark] .article-prose .astro-code span{color:var(--shiki-dark)!important}.article-prose :not(pre)>code{position:relative;display:inline;max-width:100%;margin:0 .08rem;padding:.2rem .3rem;overflow-wrap:anywhere;border:0;border-radius:.28rem;background:var(--article-soft-strong);color:var(--article-ink);font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:.875em;font-weight:650;line-height:1;vertical-align:baseline;white-space:break-spaces;word-break:normal}[data-theme=dark] .article-prose :not(pre)>code,.article-prose :not(pre)>code.file-path,[data-theme=dark] .article-prose :not(pre)>code.file-path{color:var(--article-ink)}.article-prose :not(pre)>code:has(path),.article-prose :not(pre)>code.file-path{display:inline-block;max-width:100%;padding:.2rem .4rem;overflow-wrap:anywhere;font-size:.85rem;line-height:1.4;white-space:pre-wrap;word-break:break-all}@media(max-width:640px){.article-prose .code-block-summary{grid-template-columns:auto minmax(0,1fr) auto;gap:.5rem;padding-right:5.2rem}.article-prose .code-block-meta{display:none}}.article-prose .code-tabs{position:relative;margin:1.5rem 0 0;overflow:hidden;width:fit-content;min-width:100%;max-width:calc(100% + max(0px,(100vw - 80rem) / 2 - 3rem));border:1px solid var(--article-line);border-radius:.5rem;background:var(--article-soft-strong)}body.branch-open main .article-prose .code-tabs{max-width:calc(100% + max(0px,(100vw - var(--branch-w) - 20px - 80rem) / 2 - 3rem))}#branch-pane .article-prose .code-tabs{width:auto;min-width:0;max-width:100%}.article-prose .code-tabs-bar{position:relative;display:flex;align-items:center;min-height:3.05rem;padding:.4rem 5.5rem .4rem .5rem}.article-prose .code-tabs-list{display:flex;align-items:center;gap:.12rem;min-width:0;overflow-x:auto;scrollbar-width:none}.article-prose .code-tabs-list::-webkit-scrollbar{display:none}.article-prose .code-tab{position:relative;flex:0 0 auto;padding:.42rem .68rem .5rem;border:0;border-radius:.34rem;background:transparent;color:var(--article-quiet);cursor:pointer;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:.78rem;line-height:1.3;white-space:nowrap;transition:color .16s ease,background-color .16s ease}.article-prose .code-tab:after{content:"";position:absolute;right:.68rem;bottom:.14rem;left:.68rem;height:1.5px;border-radius:1px;background:var(--article-ink);transform:scaleX(0);transition:transform .2s cubic-bezier(.22,.61,.36,1)}.article-prose .code-tab:hover{background:color-mix(in oklab,var(--article-bg) 58%,transparent);color:var(--article-ink)}.article-prose .code-tab.is-active{color:var(--article-ink)}.article-prose .code-tab.is-active:after{transform:scaleX(1)}.article-prose .code-tab:focus-visible{outline:2px solid var(--article-interactive-focus);outline-offset:-2px}.article-prose .code-tab-panel{display:none}.article-prose .code-tab-panel.is-active{display:block}.article-prose .code-tab-panel.is-active>.code-block-content{animation:code-tab-fade .2s ease both}@keyframes code-tab-fade{0%{opacity:0}to{opacity:1}}@media(max-width:640px){.article-prose .code-tabs-bar{padding-right:5.2rem}}.code-fullscreen-overlay{position:fixed;inset:0;z-index:200;display:flex;align-items:center;justify-content:center;padding:clamp(.9rem,3.2vh,2.2rem) clamp(.9rem,3vw,2.4rem);background:color-mix(in oklab,#221f1a 52%,transparent);opacity:0;backdrop-filter:blur(3px);transition:opacity .2s ease}[data-theme=dark] .code-fullscreen-overlay{background:color-mix(in oklab,#05070a 66%,transparent)}.code-fullscreen-overlay[hidden]{display:none}.code-fullscreen-overlay.is-open{opacity:1}.code-fullscreen-panel{display:flex;flex-direction:column;width:min(1440px,100%);height:100%;overflow:hidden;border:1px solid var(--article-line);border-radius:.7rem;background:var(--article-soft-strong);box-shadow:0 30px 80px -34px color-mix(in oklab,var(--article-ink) 78%,transparent);opacity:0;transform:translateY(8px) scale(.99);transition:opacity .22s ease,transform .22s cubic-bezier(.22,.61,.36,1)}.code-fullscreen-overlay.is-open .code-fullscreen-panel{opacity:1;transform:none}.code-fullscreen-panel:focus,.code-fullscreen-panel:focus-visible{outline:none}.code-fullscreen-head{display:flex;flex:0 0 auto;gap:.5rem;align-items:center;padding:.55rem .6rem .55rem 1rem;border-bottom:1px solid var(--article-line)}.code-fullscreen-label{flex:0 1 auto;min-width:0;overflow:hidden;color:var(--article-ink);font-size:.88rem;font-weight:560;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}.code-fullscreen-meta{flex:1 1 auto;min-width:0;overflow:hidden;color:var(--article-quiet);font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:.72rem;line-height:1.35;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap}.code-fullscreen-btn{display:inline-flex;flex:0 0 auto;align-items:center;justify-content:center;width:2.05rem;height:2.05rem;padding:0;border:1px solid color-mix(in oklab,var(--article-line) 80%,transparent);border-radius:.38rem;background:color-mix(in oklab,var(--article-bg) 86%,transparent);color:var(--article-muted);cursor:pointer;transition:background-color .16s ease,border-color .16s ease,color .16s ease,opacity .16s ease,transform .16s ease}.code-fullscreen-btn:hover:not(:disabled){border-color:color-mix(in oklab,var(--article-line-strong) 76%,transparent);background:color-mix(in oklab,var(--article-bg) 96%,var(--article-soft));color:var(--article-ink);transform:translateY(-1px)}.code-fullscreen-btn:disabled{opacity:.3;cursor:default}.code-fullscreen-btn:focus-visible{outline:2px solid var(--article-interactive-focus);outline-offset:2px}.code-fullscreen-close{margin-left:.26rem}.code-fullscreen-panel .code-fullscreen-body{display:flex;flex:1 1 auto;min-height:0;margin:0}.code-fullscreen-body .code-block-content{--code-line-h: 1.62rem;--code-font-size: .95rem;flex:1 1 auto;min-width:0;max-height:none;height:100%;border-top:0;background:transparent}html.code-fullscreen-lock{overflow:hidden}@media(max-width:640px){.code-fullscreen-overlay{padding:0}.code-fullscreen-panel{width:100%;border:0;border-radius:0}.code-fullscreen-body .code-block-content{--code-line-h: 1.5rem;--code-font-size: .86rem}}@media(prefers-reduced-motion:reduce){.code-fullscreen-overlay,.code-fullscreen-panel,.article-prose .code-tab:after,.article-prose .code-tab-panel.is-active>.code-block-content{transition:none;animation:none}}.mermaid{color:var(--article-ink)}.article-prose pre.mermaid{box-sizing:border-box;width:100%;max-width:100%;min-height:12rem;justify-content:flex-start;padding:1.25rem;overflow-x:auto;overflow-y:visible;border-radius:.6rem;scrollbar-gutter:stable}.article-prose pre.mermaid[data-mermaid-state=loading]{background:linear-gradient(90deg,color-mix(in oklab,var(--article-soft) 90%,transparent),color-mix(in oklab,var(--article-soft-strong) 72%,transparent),color-mix(in oklab,var(--article-soft) 90%,transparent));background-size:220% 100%;animation:mermaid-shimmer 1.5s linear infinite}.article-prose pre.mermaid[data-mermaid-state=loading]:not(:has(svg)){position:relative;color:transparent;user-select:none}.article-prose pre.mermaid[data-mermaid-state=loading]:not(:has(svg)):after{content:"图表渲染中…";position:absolute;inset:0;display:grid;place-items:center;color:var(--article-mist, var(--article-ink));font-size:var(--type-meta, .9rem)}.article-prose pre.mermaid[data-mermaid-state=deferred]{position:relative;color:transparent;user-select:none;cursor:pointer;animation:none}.article-prose pre.mermaid[data-mermaid-state=deferred]:not(:has(svg)):after{content:"图较大 · 点击渲染";position:absolute;inset:0;display:grid;place-items:center;color:var(--article-mist, var(--article-ink));font-size:var(--type-meta, .9rem)}.article-prose pre.mermaid[data-mermaid-state=deferred]:hover{background:color-mix(in oklab,var(--article-soft-strong, var(--article-soft)) 60%,transparent)}.article-prose pre.mermaid[data-mermaid-state=ready]{animation:none;min-height:0}.article-prose .mermaid-error{display:grid;gap:.45rem;color:var(--article-warning);font-size:var(--type-meta, .9rem);line-height:1.55}.article-prose .mermaid-error strong{color:var(--article-ink);font-size:inherit}.article-prose pre.mermaid svg{display:block;flex:0 0 auto;max-width:100%;margin-inline:auto;height:auto;overflow:visible!important}.mermaid *{background-color:transparent!important}.mermaid :is(text,span,div,p,.label,.messageText,.loopText,.noteText,.taskText,.classLabel .label),.mermaid :is(.edgeLabel,.edgeLabel p,.edgeLabel div,.edgeLabel span){color:var(--article-ink)!important;fill:var(--article-ink)!important;font-family:inherit!important}.mermaid :is(.node rect,.node circle,.node ellipse,.node polygon,.node path,.actor){fill:var(--article-bg)!important;stroke:var(--article-line-strong)!important;stroke-width:1.2px!important}.mermaid :is(.edgePath .path,.flowchart-link,line,.messageLine0,.messageLine1){stroke:color-mix(in oklab,var(--article-ink) 72%,transparent)!important;stroke-width:1.2px!important;fill:none!important}.mermaid :is(.arrowheadPath,marker path){fill:color-mix(in oklab,var(--article-ink) 72%,transparent)!important;stroke:none!important}.mermaid :is(.edgeLabel rect,.labelBox){fill:var(--article-bg)!important;background-color:var(--article-bg)!important}.mermaid :is(.titleText,.classTitle,.cluster-label text){fill:var(--article-ink)!important;color:var(--article-ink)!important;font-weight:650!important}.mermaid :is(.cluster rect,.cluster polygon){fill:transparent!important;stroke:var(--article-line)!important;stroke-width:1px!important}.mermaid .note,.mermaid :is(.task0,.task1,.task2,.task3),.mermaid :is(.section0,.section1,.section2,.section3){fill:var(--article-bg)!important;stroke:var(--article-line-strong)!important}[data-theme=dark] .mermaid :is(.node rect,.node circle,.node ellipse,.node polygon,.node path,.actor),[data-theme=dark] .mermaid .note,[data-theme=dark] .mermaid :is(.task0,.task1,.task2,.task3),[data-theme=dark] .mermaid :is(.section0,.section1,.section2,.section3){fill:var(--article-bg)!important;stroke:var(--article-line-strong)!important}@keyframes mermaid-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.article-prose .article-pdf-reader{display:grid;gap:.7rem;width:100%;margin:1.75rem 0 0}.article-prose .article-pdf-frame{display:block;width:100%;height:min(82vh,980px);min-height:620px;border:1px solid var(--article-line);border-radius:.45rem;background:#fff}.article-prose .article-pdf-reader figcaption{margin:0;color:var(--article-muted);font-size:var(--type-caption);line-height:1.5}@media(max-width:720px){.article-prose .article-pdf-frame{height:72vh;min-height:480px}}:root{--article-bg: var(--site-bg);--article-ink: var(--site-ink);--article-body: var(--site-body);--article-muted: var(--site-muted);--article-quiet: var(--site-quiet);--article-line: var(--site-line);--article-line-strong: var(--site-line-strong);--article-soft: var(--site-soft);--article-soft-strong: var(--site-soft-strong);--article-signal: var(--site-accent);--article-warning: var(--site-warning);--article-interactive-ink: var(--article-ink);--article-interactive-line: color-mix(in oklab, var(--article-ink) 46%, transparent);--article-interactive-hover: var(--article-signal);--article-interactive-active: color-mix(in oklab, var(--article-signal) 70%, var(--article-ink));--article-interactive-focus: color-mix(in oklab, var(--article-signal) 62%, transparent)}[data-theme=dark]{--article-bg: var(--site-bg);--article-ink: var(--site-ink);--article-body: color-mix(in oklab, var(--site-ink) 88%, var(--site-bg));--article-muted: var(--site-muted);--article-quiet: var(--site-quiet);--article-line: var(--site-line);--article-line-strong: var(--site-line-strong);--article-soft: var(--site-soft);--article-soft-strong: var(--site-soft-strong);--article-signal: var(--site-accent);--article-warning: var(--site-warning)}[data-theme=dark] .layout-article-page{--bg-primary: var(--article-bg);--bg-secondary: var(--article-bg);--text-primary: var(--article-ink);--text-secondary: var(--article-muted);background-color:var(--article-bg);color:var(--article-ink)}[data-theme=dark] .layout-article-page main{background-color:var(--article-bg)}.prose ul{list-style-type:disc;margin-top:1.25em;margin-bottom:1.25em;padding-left:1.625em}.prose ul li{margin-top:.5em;margin-bottom:.5em;padding-left:.375em}.prose ul li::marker{color:#6b7280}.prose ul li ul{margin-top:.5em;margin-bottom:.5em}.prose ol{list-style-type:decimal;margin-top:1.25em;margin-bottom:1.25em;padding-left:1.625em}.prose ol li{margin-top:.5em;margin-bottom:.5em;padding-left:.375em}.prose ol li::marker{color:#6b7280}.prose h1{font-size:2.25rem;font-weight:700;margin-top:2.5rem;margin-bottom:1.5rem;color:var(--color-secondary-900);border-bottom:1px solid var(--color-secondary-200);padding-bottom:.5rem;position:relative}.prose h1:after{content:"";position:absolute;bottom:-1px;left:0;width:100px;height:3px;background:var(--article-ink);border-radius:3px}.prose h2{font-size:1.875rem;font-weight:700;margin-top:2rem;margin-bottom:1.25rem;color:var(--color-secondary-900);border-bottom:1px solid var(--color-secondary-200);padding-bottom:.25rem;position:relative}.prose h2:after{content:"";position:absolute;bottom:-1px;left:0;width:75px;height:2px;background:linear-gradient(to right,var(--color-primary-500),var(--color-primary-300));border-radius:2px}.prose h3{font-size:1.5rem;font-weight:600;margin-top:1.75rem;margin-bottom:1rem;color:var(--color-secondary-900);position:relative;padding-left:1rem}.prose h3:before{content:"";position:absolute;left:0;top:.25em;height:1em;width:4px;background:linear-gradient(to bottom,var(--color-primary-500),var(--color-primary-300));border-radius:2px}.prose h4{font-size:1.25rem;font-weight:600;margin-top:1.5rem;margin-bottom:.75rem;color:var(--color-secondary-900)}.prose h5{font-size:1.125rem;font-weight:600;margin-top:1.25rem;margin-bottom:.75rem;color:var(--color-secondary-900)}.prose h6{font-size:1rem;font-weight:600;margin-top:1.25rem;margin-bottom:.75rem;color:var(--color-secondary-700)}.prose h1 .anchor,.prose h2 .anchor,.prose h3 .anchor,.prose h4 .anchor,.prose h5 .anchor,.prose h6 .anchor{visibility:hidden;margin-left:.5rem;color:#a0aec0;text-decoration:none}.prose h1:hover .anchor,.prose h2:hover .anchor,.prose h3:hover .anchor,.prose h4:hover .anchor,.prose h5:hover .anchor,.prose h6:hover .anchor{visibility:visible}[data-theme=dark] .prose{color:var(--color-secondary-300)}[data-theme=dark] .prose h1,[data-theme=dark] .prose h2,[data-theme=dark] .prose h3,[data-theme=dark] .prose h4,[data-theme=dark] .prose h5{color:var(--color-secondary-100)}[data-theme=dark] .prose h6{color:var(--color-secondary-300)}.prose blockquote{margin:1.5em 0;padding:1em 1.5em;border-left:4px solid var(--color-primary-500);background-color:var(--color-gray-100);border-radius:.5rem;font-style:italic;color:var(--color-secondary-700)}.prose blockquote p{margin:0}.prose blockquote p+p{margin-top:1em}.prose a{color:var(--color-primary-600);text-decoration:none;border-bottom:1px solid var(--color-primary-300);transition:border-bottom-color .2s ease;word-wrap:break-word}.prose a:hover{color:var(--color-primary-800);border-bottom-color:var(--color-primary-600)}[data-theme=dark] .prose blockquote{background-color:var(--color-dark-surface);border-left-color:var(--color-primary-400);color:var(--color-secondary-300)}[data-theme=dark] .prose a{color:var(--color-primary-400);border-bottom-color:var(--color-primary-600)}[data-theme=dark] .prose a:hover{color:var(--color-primary-300);border-bottom-color:var(--color-primary-400)}.details-content{margin-left:1.5em;padding:1em;background-color:var(--color-gray-100);border-left:4px solid var(--color-primary-500);margin-bottom:1em;border-radius:.5rem}[data-theme=dark] .details-content{background-color:var(--color-dark-surface);border-left-color:var(--color-primary-400)}.prose details:not(.code-block-container){margin:1.5em 0;border-radius:.5rem;border:1px solid var(--color-secondary-200);background-color:transparent;transition:box-shadow .2s ease;overflow:hidden}.prose details:not(.code-block-container)>*:not(summary){padding:1.5em;margin:0}.prose details:not(.code-block-container)>p,.prose details:not(.code-block-container)>ul,.prose details:not(.code-block-container)>ol,.prose details:not(.code-block-container)>div{margin-top:0;margin-bottom:1em}.prose details:not(.code-block-container)>*:last-child{margin-bottom:0}.prose details:not(.code-block-container) summary{padding:1em;cursor:pointer;position:relative;font-weight:500;color:var(--color-secondary-900);list-style:none;display:flex;align-items:center;gap:.75em;transition:background .2s ease;background:linear-gradient(to right,var(--color-primary-50),var(--color-gray-50));border-left:4px solid var(--color-primary-100)}.prose details:not(.code-block-container) summary::-webkit-details-marker{display:none}.prose details:not(.code-block-container) summary:before{content:"";width:20px;height:20px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%234b6bff'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M9 5l7 7-7 7'%3E%3C/path%3E%3C/svg%3E");background-size:contain;background-repeat:no-repeat;transition:transform .3s ease;flex-shrink:0}.prose details:not(.code-block-container)[open] summary{border-left:4px solid var(--color-primary-500);background:linear-gradient(to right,var(--color-primary-100),var(--color-gray-50));border-bottom:1px solid var(--color-secondary-200)}.prose details:not(.code-block-container)[open] summary:before{transform:rotate(90deg)}.prose details:not(.code-block-container) summary:hover{background:linear-gradient(to right,var(--color-primary-100),var(--color-gray-100));color:var(--color-primary-700)}.prose details:not(.code-block-container)>blockquote{margin:0;padding:1.5em;border-radius:0;border-left:4px solid var(--color-primary-500);background:linear-gradient(to right,var(--color-primary-50/50),var(--color-gray-50))}.prose details:not(.code-block-container)>blockquote p:first-child{margin-top:0}.prose details:not(.code-block-container)>blockquote p:last-child{margin-bottom:0}[data-theme=dark] .prose details:not(.code-block-container){border-color:var(--color-dark-border);background-color:var(--color-dark-surface)}[data-theme=dark] .prose details:not(.code-block-container) summary{color:var(--color-secondary-100);background:linear-gradient(to right,var(--color-dark-surface),var(--color-dark-card));border-left-color:var(--color-primary-800)}[data-theme=dark] .prose details:not(.code-block-container)[open] summary{border-bottom-color:var(--color-dark-border)}[data-theme=dark] .prose details:not(.code-block-container) summary:before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%23839dff'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M9 5l7 7-7 7'%3E%3C/path%3E%3C/svg%3E")}[data-theme=dark] .prose details:not(.code-block-container)[open] summary{background:linear-gradient(to right,var(--color-dark-card),var(--color-dark-surface));border-left-color:var(--color-primary-400)}[data-theme=dark] .prose details:not(.code-block-container) summary:hover{background:linear-gradient(to right,var(--color-primary-900/30),var(--color-dark-card));color:var(--color-primary-400)}[data-theme=dark] .prose details:not(.code-block-container)>blockquote{background:linear-gradient(to right,var(--color-primary-900/10),var(--color-dark-surface));border-left-color:var(--color-primary-400)}.toc-item{position:relative}.toc-item-container{display:flex;align-items:center}.toc-link{flex:1;display:block;position:relative;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding:.18rem .3rem .18rem 0;border-radius:0;line-height:1.55;transition:color .2s ease,background-color .2s ease}.toc-link-active:before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:.14rem;height:1.05rem;background:var(--article-ink);border-radius:999px;opacity:1}[data-theme=dark] .toc-link-active:before{background:var(--article-ink)}.toc-link:hover{background-color:#0000000d}[data-theme=dark] .toc-link:hover{background-color:#ffffff0d}.toc-toggle{display:inline-flex;align-items:center;justify-content:center;cursor:pointer;border-radius:4px;min-width:1.5rem;min-height:1.5rem}.toc-toggle svg{transform-origin:center;transition:transform .3s ease}.toc-toggle[aria-expanded=true] svg{transform:rotate(90deg)}.toc-toggle:hover{background-color:#0000000d}[data-theme=dark] .toc-toggle:hover{background-color:#ffffff1a}.toc-list{list-style-type:none;transition:padding .3s ease}.toc-sublist{transition:max-height .3s ease,opacity .3s ease}.toc-sublist[data-expanded=false]{display:none}.toc-sublist[data-expanded=true]{display:grid}#toc-panel{position:fixed;right:1rem;top:5.6rem;width:16rem;max-height:calc(100vh - 7.25rem);z-index:30;transition:opacity .3s ease,transform .3s ease}@media(min-width:1536px){#toc-panel{right:calc(50% - 44rem)}}#toc-content{flex:0 1 auto;min-height:0;font-size:.875rem;padding:.5rem 0 1rem .35rem;overflow-y:auto;max-height:min(24rem,calc(100vh - 22rem));scroll-behavior:smooth}#toc-content::-webkit-scrollbar{width:4px}#toc-content::-webkit-scrollbar-track{background:transparent}#toc-content::-webkit-scrollbar-thumb{background-color:var(--article-line-strong);border-radius:4px}[data-theme=dark] #toc-content::-webkit-scrollbar-thumb{background-color:var(--article-line-strong)}.article-sidecard{border:1px solid var(--color-gray-200);border-radius:.75rem;display:flex;flex-direction:column;overflow:hidden;backdrop-filter:blur(8px);background-color:#fffffff2;box-shadow:0 10px 30px #0f172a14}[data-theme=dark] .article-sidecard{border-color:transparent;background:transparent;box-shadow:none}.article-sidecard-header{position:sticky;top:0;z-index:10;padding:1rem 1rem .75rem;border-bottom:1px solid var(--color-gray-200);background-color:#fffffff2;backdrop-filter:blur(8px)}[data-theme=dark] .article-sidecard-header{border-bottom-color:var(--color-gray-700);background-color:var(--article-bg)}.article-sidecard-header-compact{padding-bottom:.9rem}.article-sidecard-title-group{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.article-sidecard-badge{display:inline-flex;align-items:center;justify-content:center;min-width:1.75rem;height:1.75rem;padding:0 .45rem;border-radius:9999px;font-size:.75rem;font-weight:600;color:var(--color-primary-700);background:color-mix(in oklab,var(--article-ink) 8%,transparent)}[data-theme=dark] .article-sidecard-badge{color:var(--color-primary-200);background:color-mix(in oklab,var(--article-ink) 12%,transparent)}.article-backlinks-card{max-height:18rem}.article-backlinks-content{overflow-y:auto;padding:.35rem .9rem .9rem}.article-backlinks-content::-webkit-scrollbar{width:.38rem}.article-backlinks-content::-webkit-scrollbar-track{background:transparent}.article-backlinks-content::-webkit-scrollbar-thumb{background-color:var(--article-line-strong);border-radius:999px}.article-backlinks-list{list-style:none;margin:0;padding:0}.article-backlinks-list li+li{margin-top:.5rem}.article-backlink-link{display:flex;flex-direction:column;gap:.2rem;padding:.75rem .8rem;border-radius:.85rem;border:1px solid rgba(148,163,184,.14);background:transparent;text-decoration:none;transition:transform .2s ease,border-color .2s ease,background-color .2s ease}.article-backlink-link:hover{transform:translateY(-1px);border-color:color-mix(in oklab,var(--article-ink) 18%,transparent);background:var(--article-soft)}[data-theme=dark] .article-backlink-link{border-color:#47556966;background:transparent}[data-theme=dark] .article-backlink-link:hover{border-color:color-mix(in oklab,var(--article-ink) 24%,transparent);background:var(--article-soft)}.article-backlinks-empty{margin:0;padding:.75rem .35rem .4rem;color:var(--article-muted)}[data-theme=dark] .article-backlinks-empty{color:var(--article-muted)}[data-theme=dark] .article-backlink-title{color:color-mix(in oklab,var(--article-ink) 72%,var(--article-bg))}.article-backlink-link time,.article-backlinks-more,.article-backlinks-empty{font-size:.8rem;line-height:1.5;color:var(--color-gray-500)}[data-theme=dark] .article-backlink-link time,[data-theme=dark] .article-backlinks-more,[data-theme=dark] .article-backlinks-empty{color:var(--color-gray-400)}.article-backlinks-more{margin:.8rem 0 0;padding-left:.2rem}.article-backlinks-empty{margin:0;padding:.95rem 1rem 1.1rem}.article-shell{background:var(--article-bg);color:var(--article-ink)}.article-shell:before{content:"";position:fixed;inset:0;z-index:-1;background:var(--article-bg)}.article-breadcrumb-panel{padding-inline:0!important;padding-block:.15rem!important;border:0;border-radius:0;background:transparent;box-shadow:none}.article-progress-bar{background:var(--article-ink);color:var(--article-bg)}.article-dock{position:fixed;bottom:2rem;right:2rem;z-index:50;display:flex;flex-direction:column;align-items:center;gap:14px;opacity:0;visibility:hidden;transform:translateY(.75rem);pointer-events:none;transition:opacity .25s ease,visibility .25s ease,transform .25s ease}body.controls-near-br .article-dock{opacity:1;visibility:visible;transform:translateY(0);pointer-events:auto}.article-dock>button+button:before{content:"";position:absolute;top:-13px;left:50%;width:1px;height:12px;background:var(--article-line);pointer-events:none}.article-back-to-top{position:relative;display:flex;align-items:center;justify-content:center;width:40px;height:40px;border:0;border-radius:999px;background:transparent;color:color-mix(in oklab,var(--article-ink) 72%,transparent);cursor:pointer;transition:color .25s ease}.article-back-to-top:after{content:"";position:absolute;inset:0;border-radius:inherit;background:color-mix(in oklab,var(--article-ink) 9%,transparent);opacity:0;transform:scale(.55);transition:opacity .3s ease,transform .3s cubic-bezier(.22,1,.36,1);pointer-events:none}.article-back-to-top svg{position:relative;z-index:1;display:block;width:18px;height:18px;stroke:currentColor;stroke-width:1.5;filter:drop-shadow(0 0 5px var(--article-bg)) drop-shadow(0 0 2px var(--article-bg));transition:transform .3s cubic-bezier(.22,1,.36,1)}.article-back-to-top:hover{color:var(--article-ink)}.article-back-to-top:hover:after{opacity:1;transform:scale(1)}.article-back-to-top:hover svg{transform:translateY(-1.5px)}.article-back-to-top:focus-visible{outline:1.5px solid var(--article-signal);outline-offset:2px}.article-title,.article-related-title,.article-sidecard-heading{color:var(--article-ink)}.article-meta,.toc-empty,.toc-link-muted,.article-backlink-link time,.article-backlinks-more,.article-backlinks-empty{color:var(--article-muted)}.toc-link-strong{color:var(--article-ink)}.article-expiry-note{border:0;border-radius:0;background:color-mix(in oklab,var(--article-warning) 8%,transparent);box-shadow:inset .28rem 0 0 var(--article-warning)}.article-expiry-icon,.article-expiry-text{color:var(--article-warning)}.article-prose :where(p,li,td,th){color:var(--article-body);font-size:inherit;line-height:inherit}.article-prose :where(strong,b){color:var(--article-ink);font-weight:720}.article-prose :where(ul li,ol li)::marker{color:var(--article-muted)}.article-prose a{color:var(--article-interactive-ink);border-bottom:0;border-radius:3px;text-decoration-line:underline;text-decoration-color:var(--article-interactive-line);text-decoration-thickness:1.5px;text-underline-offset:.18em;transition:color .16s ease,text-decoration-color .16s ease,text-decoration-thickness .16s ease}[data-theme=dark] .article-prose a{color:var(--article-interactive-ink);text-decoration-color:color-mix(in oklab,var(--article-ink) 72%,transparent)}.article-prose a:hover{color:var(--article-interactive-hover);text-decoration-color:var(--article-interactive-hover)}.article-prose a:active{color:var(--article-interactive-active);text-decoration-color:var(--article-interactive-active);text-decoration-thickness:2px}.article-prose a:focus-visible{outline:2px solid var(--article-interactive-focus);outline-offset:3px;text-decoration-color:var(--article-interactive-hover)}.article-prose blockquote{margin:1.5rem 0 0;padding:0 0 0 1.5rem;color:var(--article-body);border-left:2px solid var(--article-line-strong);border-radius:0;background:transparent;font-style:italic}.details-content,.article-prose details:not(.code-block-container),.article-prose details:not(.code-block-container) summary,.article-prose details:not(.code-block-container)[open] summary,.article-prose details:not(.code-block-container) summary:hover,.article-prose details:not(.code-block-container)>blockquote{color:var(--article-ink);border-color:var(--article-line);background:transparent}.details-content,.article-prose details:not(.code-block-container)>blockquote{border-left:2px solid var(--article-ink)}.article-prose details:not(.code-block-container) summary{border-left:0;border-bottom:1px solid transparent}.article-prose details:not(.code-block-container)[open] summary{border-bottom-color:transparent;background:var(--article-soft)}.article-prose details:not(.code-block-container) summary:before{filter:grayscale(1) contrast(2);opacity:.72}.article-heading-flash{outline:0;background:color-mix(in oklab,var(--article-signal) 10%,transparent)}::highlight(search-hit){background-color:color-mix(in oklab,var(--article-signal) 32%,transparent);color:var(--article-ink)}.article-prose[data-search-hit=fading] *::highlight(search-hit){background-color:color-mix(in oklab,var(--article-signal) 10%,transparent)}::highlight(ref-hit){background-color:color-mix(in oklab,var(--article-signal) 18%,transparent);color:var(--article-ink)}.article-prose[data-ref-hit=fading] *::highlight(ref-hit){background-color:color-mix(in oklab,var(--article-signal) 6%,transparent)}.toc-link{color:inherit;border-radius:0;transition:color .2s ease,background-color .2s ease}.toc-link:hover,.toc-toggle:hover{color:var(--article-ink);background:var(--article-soft)}.toc-link-active{color:var(--article-ink);background:color-mix(in oklab,var(--article-ink) 6%,transparent);text-indent:.45rem}.toc-link-active:before,[data-theme=dark] .toc-link-active:before{left:0;width:2px;background:var(--article-ink)}.toc-toggle{color:var(--article-muted)}#toc-content::-webkit-scrollbar-thumb,[data-theme=dark] #toc-content::-webkit-scrollbar-thumb{background-color:var(--article-line-strong)}#toc-panel{max-height:calc(100vh - 7.25rem)}.article-sidecard{border:0;border-radius:0;background:transparent;box-shadow:none;backdrop-filter:none}.article-sidecard-header,[data-theme=dark] .article-sidecard-header{border-bottom:0;padding-inline:0;background:var(--article-bg);backdrop-filter:none}.article-toc-card{flex:0 1 auto;min-height:0}#toc-content{flex:0 1 auto;min-height:0;max-height:min(24rem,calc(100vh - 22rem));padding-inline:.35rem 0;overflow-y:auto}.toc-link{display:block;position:relative;padding-block:.18rem;padding-right:.3rem;line-height:1.55}.toc-link-active{font-weight:700;text-indent:.45rem;background:color-mix(in oklab,var(--article-ink) 6%,transparent)}.toc-link-active:before,[data-theme=dark] .toc-link-active:before{left:0;top:50%;width:.14rem;height:1.05rem;border-radius:999px;background:var(--article-ink);transform:translateY(-50%)}.article-backlinks-card{flex:0 0 auto;max-height:min(18rem,38vh);min-height:0}.article-sidecard-title-group{align-items:center}.article-sidecard-badge,[data-theme=dark] .article-sidecard-badge{min-width:1.45rem;height:1.45rem;padding:0 .4rem;border-radius:999px;font-size:.68rem;font-weight:700;color:var(--article-bg);background:var(--article-ink)}.article-backlink-link,[data-theme=dark] .article-backlink-link{border:0;background:transparent;border-radius:.25rem;padding-inline:.35rem .45rem}.article-backlink-link:hover,[data-theme=dark] .article-backlink-link:hover{background:var(--article-soft)}.article-backlink-title{color:color-mix(in oklab,var(--article-ink) 72%,var(--article-bg));font-size:.875rem;font-weight:500;line-height:1.42}.table-container{border:1px solid var(--article-line);border-radius:.35rem}thead,[data-theme=dark] thead{color:var(--article-ink);background:transparent}thead th,[data-theme=dark] thead th,tbody td,[data-theme=dark] tbody td{border-color:var(--article-line)}tbody tr,tbody tr:nth-child(odd),[data-theme=dark] tbody tr,[data-theme=dark] tbody tr:nth-child(odd){color:var(--article-ink);background:transparent}tbody tr:hover,[data-theme=dark] tbody tr:hover{background:var(--article-soft)}.article-shell{display:grid;gap:32px;box-sizing:border-box;width:100%;max-width:80rem;margin-left:auto;margin-right:auto;padding:38px 0 88px;background:var(--article-bg);color:var(--article-ink)}.article-layout{display:grid;grid-template-columns:minmax(170px,220px) minmax(0,1fr);gap:32px;justify-content:start;box-sizing:border-box;min-width:0;width:100%;padding:0}.article-topbar{grid-column:1 / -1;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:24px;align-items:center;justify-content:space-between;min-width:0;padding-bottom:24px;border-bottom:1px solid var(--article-line);color:var(--article-ink);font-size:var(--type-body-lg);line-height:1.5}.article-breadcrumb{display:flex;flex-wrap:nowrap;gap:18px;align-items:center;min-width:0;overflow:hidden;color:inherit}.article-breadcrumb a,.article-return-link{color:inherit;border-radius:3px;text-decoration-line:underline;text-decoration-color:transparent;text-decoration-thickness:1.5px;text-underline-offset:.2em;transition:color .16s ease,text-decoration-color .16s ease;white-space:nowrap}.article-breadcrumb a:hover,.article-return-link:hover{color:var(--article-interactive-hover);text-decoration-color:currentColor}.article-breadcrumb a:active,.article-return-link:active{color:var(--article-interactive-active)}.article-breadcrumb a:focus-visible,.article-return-link:focus-visible{outline:2px solid var(--article-interactive-focus);outline-offset:3px;text-decoration-color:currentColor}.article-breadcrumb span[aria-current=page]{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.article-return-link{flex-shrink:0;color:inherit;white-space:nowrap}.article-main{grid-column:2;min-width:0;max-width:none}.article-head{display:grid;gap:26px;margin:0;padding-bottom:28px}.article-meta-line{display:grid;grid-template-columns:auto minmax(0,1fr);gap:18px;align-items:baseline;min-width:0;padding-bottom:20px;border-bottom:1px solid var(--article-line)}.article-title{margin:0;color:var(--article-ink);font-family:var(--font-reading);font-size:var(--type-article-title);font-weight:620;letter-spacing:0;line-height:1.16;overflow-wrap:anywhere;text-wrap:balance}.article-date{color:var(--article-body);font-size:var(--type-meta);font-variant-numeric:tabular-nums;white-space:nowrap}.article-date-stack{display:flex;flex-wrap:wrap;gap:7px 12px;min-width:0}.article-updated-date{color:var(--article-muted)}.article-tags{display:flex;flex-wrap:wrap;gap:8px 12px;min-width:0;max-height:3.4em;overflow:hidden;color:var(--article-body);font-size:var(--type-meta);line-height:1.45}.article-tag{max-width:13rem;overflow:hidden;border-bottom:1px solid var(--article-line-strong);color:var(--article-body);text-overflow:ellipsis;white-space:nowrap}.article-tag:hover{color:var(--article-ink)}.tag-more{color:var(--article-quiet);border-bottom-color:transparent;font-variant-numeric:tabular-nums}.article-warning{display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px;margin:2px 0 34px;padding:0 0 0 13px;border-left:1px solid color-mix(in oklab,var(--article-warning) 42%,transparent);color:var(--article-body);font-size:var(--type-meta)}.article-warning strong{color:var(--article-warning);font-weight:760;white-space:nowrap}.article-prose{margin-top:34px;margin-bottom:0;color:var(--article-ink);font-family:var(--font-reading);font-size:var(--type-reader-body);line-height:1.74}.article-warning+.article-prose{margin-top:0}.article-prose :where(h1,h2,h3,h4,h5,h6){scroll-margin-top:7rem;color:var(--article-ink);font-weight:var(--weight-strong);letter-spacing:0;text-wrap:balance}.article-prose h1{margin:0 0 1.6rem;padding-bottom:.6rem;border-bottom:1px solid var(--article-line);font-size:var(--type-reader-h1);line-height:1.18}.article-prose h2{margin:2.25rem 0 1rem;padding-bottom:.5rem;border-bottom:1px solid var(--article-line);color:var(--article-ink);font-size:var(--type-reader-h2);font-weight:700;line-height:1.28}.article-prose h3{margin:2rem 0 .75rem;padding-left:0;font-size:var(--type-reader-h3);font-weight:var(--weight-strong);line-height:1.38}.article-prose h1:after,.article-prose h2:after,.article-prose h3:before{display:none}.article-prose h4{margin:1.75rem 0 .65rem;font-size:var(--type-body-lg);line-height:1.42}.article-prose h5,.article-prose h6{margin:1.45rem 0 .55rem;font-size:var(--type-body);line-height:1.45}.article-prose :where(p,ul,ol,blockquote,.table-container,.code-block-container){margin-top:1.5rem;margin-bottom:0}.article-prose>:first-child{margin-top:0}.article-prose :where(ul,ol){padding-left:1.5rem}.article-prose ul{list-style-type:disc}.article-prose ol{list-style-type:decimal}.article-prose :where(ul,ol) li{margin-top:.5rem;padding-left:.2rem}.article-prose :where(ul,ol) :where(ul,ol){margin-top:.5rem}.article-prose blockquote p{margin:0}.article-prose blockquote p+p{margin-top:1rem}.article-prose :where(p,li,dt,dd,blockquote,figcaption,td,th,h1,h2,h3,h4,h5,h6){overflow-wrap:break-word}.article-prose .table-container{width:100%;overflow-x:auto}.article-prose table{width:100%;font-size:.875rem;line-height:1.65}.article-prose thead{color:var(--article-ink);background:transparent}.article-prose thead th,.article-prose tbody td{padding:.65rem 1rem;border-color:var(--article-line)}.article-prose thead th{border-bottom-width:1px;font-weight:650}.article-prose tbody td{max-width:none;overflow:visible;text-overflow:clip;white-space:normal}@media(max-width:720px){.article-prose thead th,.article-prose tbody td{padding:.55rem .5rem;font-size:.82rem}}.article-prose hr{margin:2.5rem 0;border:0;border-top:1px solid var(--article-line)}.article-side{grid-column:1;grid-row:1;position:sticky;top:82px;align-self:start;display:grid;gap:30px;max-height:calc(100svh - 120px);overflow-x:hidden;overflow-y:auto;padding-right:24px;padding-left:0;border-right:1px solid var(--article-line);transition:top .28s cubic-bezier(.4,0,.2,1),max-height .28s cubic-bezier(.4,0,.2,1)}body:has(#main-header[data-scroll-hidden=true]) .article-side{top:28px;max-height:calc(100svh - 66px)}@media(prefers-reduced-motion:reduce){.article-side{transition:none}}.article-layout #toc-panel{position:sticky;right:auto;top:82px;width:auto;min-width:0;max-height:calc(100svh - 120px);z-index:auto;transform:none}.side-block{min-height:0}.side-block h2{margin:0 0 13px;color:var(--article-ink);font-size:var(--type-card-title);font-weight:760;letter-spacing:0;text-transform:none}.related h2{margin:0 0 13px;color:var(--article-body);font-size:var(--type-caption);font-weight:760;letter-spacing:.14em;text-transform:uppercase}.side-title-row{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:13px}.side-title-row h2{margin:0}.side-count{color:var(--article-ink);font-size:var(--type-meta);font-weight:760;font-variant-numeric:tabular-nums}.side-scroll{max-height:15rem;overflow-x:hidden;overflow-y:auto;padding-right:.35rem}.side-scroll::-webkit-scrollbar{width:4px}.side-scroll::-webkit-scrollbar-track{background:transparent}.side-scroll::-webkit-scrollbar-thumb{background:var(--article-line-strong);border-radius:999px}.toc-list,.backlink-list{display:grid;gap:10px;min-width:0;margin:0;padding:0;list-style:none;color:var(--article-muted);font-size:var(--type-meta)}.toc-item,.toc-item-container{min-width:0}.toc-link{display:block;overflow:hidden;max-width:100%;padding:.42rem .55rem .42rem calc(var(--toc-indent, 0rem) + .8rem);min-width:0;text-overflow:ellipsis;white-space:nowrap;line-height:1.45}#toc-content.article-toc-content{min-width:0;max-height:calc(100svh - 170px);overflow-x:hidden}.toc-item[data-depth="0"]>.toc-item-container>.toc-link{min-width:0;color:var(--article-ink);font-size:var(--type-body);font-weight:var(--weight-strong)}.toc-item[data-depth="0"]>.toc-item-container>.toc-toggle{color:var(--article-ink)}.toc-link-active{color:var(--article-ink);background:transparent;box-shadow:none;font-weight:760}.toc-link-active:before,[data-theme=dark] .toc-link-active:before{content:"";position:absolute;left:0;top:50%;display:block;width:3px;height:12px;border-radius:999px;background:var(--article-ink);transform:translateY(-50%)}.article-footer{margin-top:52px}.article-history{display:grid;gap:12px;margin-bottom:34px;padding-top:20px;border-top:1px solid var(--article-line)}.article-history-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:8px 14px}.article-history-head h2{margin:0;color:var(--article-ink);font-size:var(--type-small);font-weight:760;line-height:1.2}.article-history-head span{min-width:0;overflow:hidden;color:var(--article-muted);font-size:var(--type-caption);text-overflow:ellipsis;white-space:nowrap}.article-history-list{display:grid;margin:0;padding:0;list-style:none;border-top:1px solid var(--article-line)}.article-history-item{position:relative;display:grid;grid-template-columns:18px 68px minmax(0,1fr) 92px;gap:12px;align-items:start;min-width:0;padding:12px 0;border-bottom:1px solid var(--article-line)}.article-history-rail{position:relative;display:block;width:9px;height:9px;margin-top:5px;border:1px solid var(--article-muted);border-radius:999px}.article-history-rail:after{content:"";position:absolute;top:8px;left:3px;width:1px;height:calc(100% + 18px);background:var(--article-line)}.article-history-item:last-child .article-history-rail:after{display:none}.article-history-hash{color:var(--article-muted);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:var(--type-caption);line-height:1.55}.article-history-version{display:grid;min-width:0;gap:3px;justify-items:start}.article-history-copy{display:grid;min-width:0;gap:3px}.article-history-copy strong{color:var(--article-ink);font-size:var(--type-meta);font-weight:760;line-height:1.35}.article-history-copy span,.article-history-copy small{min-width:0;overflow:hidden;color:var(--article-muted);font-size:var(--type-caption);line-height:1.45;text-overflow:ellipsis;white-space:nowrap}.article-history-hash,.article-history-snapshot{min-width:0;max-width:100%;overflow:hidden;color:var(--article-muted);border-radius:3px;font-size:var(--type-caption);line-height:1.45;text-decoration-line:underline;text-decoration-color:color-mix(in oklab,var(--article-line-strong) 72%,var(--article-line));text-decoration-thickness:1px;text-underline-offset:.16em;text-overflow:ellipsis;transition:color .16s ease,text-decoration-color .16s ease;white-space:nowrap}.article-history-hash[href]:hover,.article-history-hash[href]:focus-visible,.article-history-snapshot:hover,.article-history-snapshot:focus-visible{color:var(--article-interactive-hover);text-decoration-color:currentColor}.article-history-hash[href]:active,.article-history-snapshot:active{color:var(--article-interactive-active);text-decoration-color:currentColor}.article-history-hash[href]:focus-visible,.article-history-snapshot:focus-visible{outline:2px solid var(--article-interactive-focus);outline-offset:3px}.article-history-item time{justify-self:end;color:var(--article-muted);font-size:var(--type-caption);font-variant-numeric:tabular-nums;line-height:1.45;white-space:nowrap}.article-history-item.is-published .article-history-rail{border-color:var(--article-ink);background:var(--article-ink)}.article-relations{display:grid;gap:30px;padding-top:10px}.article-relation{display:grid;gap:12px}.article-relation-head h2{display:inline-flex;align-items:baseline;gap:8px;margin:0;color:var(--article-ink);font-size:var(--type-small);font-weight:760;letter-spacing:0;line-height:1.2;text-transform:none}.article-relation-count{color:var(--article-muted);font-size:var(--type-caption);font-weight:var(--weight-medium);font-variant-numeric:tabular-nums}.article-relation-count:before{content:"·";margin-right:8px;color:var(--article-quiet);font-weight:var(--weight-regular)}.article-relation-list{display:grid;gap:0;margin:0;padding:0;list-style:none;border-top:1px solid var(--article-line)}.article-relation-link{display:grid;grid-template-columns:32px minmax(0,1fr) 18px;gap:14px;align-items:start;min-height:64px;padding:13px 0;border-bottom:1px solid var(--article-line);border-radius:2px;color:inherit;text-decoration:none;transition:border-color .16s ease,color .16s ease}.article-relation-link:hover{border-bottom-color:var(--article-interactive-hover)}.article-relation-link:active{border-bottom-color:var(--article-interactive-active)}.article-relation-link:focus-visible{outline:2px solid var(--article-interactive-focus);outline-offset:4px;border-bottom-color:var(--article-interactive-hover)}.article-relation-index{color:var(--article-muted);font-size:var(--type-caption);font-weight:var(--weight-strong);font-variant-numeric:tabular-nums;line-height:1.45}.backlink-index{font-size:var(--type-caption);line-height:1.45}.article-relation-copy{display:grid;min-width:0;gap:3px}.article-relation-copy strong{display:block;overflow:hidden;color:var(--article-ink);font-size:var(--type-body);font-weight:var(--weight-strong);line-height:1.35;text-overflow:ellipsis;transition:color .16s ease;white-space:nowrap}.article-relation-link:hover .article-relation-copy strong{color:var(--article-interactive-hover)}.article-relation-link:active .article-relation-copy strong{color:var(--article-interactive-active)}.article-relation-copy span{display:-webkit-box;overflow:hidden;color:var(--article-body);font-size:var(--type-meta);line-height:1.45;-webkit-box-orient:vertical;-webkit-line-clamp:2}.backlink-copy span,.article-relation-date,.backlinks-more,.backlinks-empty{color:var(--article-muted);font-size:var(--type-caption);line-height:1.45}.article-relation-date{margin-top:1px;color:var(--article-muted);font-weight:var(--weight-regular);white-space:nowrap}.article-relation-cue{color:var(--article-quiet);font-size:var(--type-small);line-height:1.35;text-align:right;transform:translate(-4px);opacity:0;transition:opacity .16s ease,transform .16s ease}.article-relation-link:hover .article-relation-cue{color:var(--article-interactive-hover);transform:translate(0);opacity:1}.article-relation-link:active .article-relation-cue{color:var(--article-interactive-active)}.backlinks-scroll{max-height:16rem}.backlinks-more,.backlinks-empty{margin:10px 0 0}.article-pager{display:grid;grid-template-columns:1fr 1fr;gap:12px 24px;margin-bottom:34px;padding-top:20px;border-top:1px solid var(--article-line)}.article-pager-link{display:flex;flex-direction:column;justify-content:center;min-width:0;min-height:62px;padding:12px 2px;border-bottom:1px solid var(--article-line);border-radius:2px;color:inherit;text-decoration:none;transition:border-color .16s ease,color .16s ease}.article-pager-link.is-prev{grid-column:1;text-align:left}.article-pager-link.is-next{grid-column:2;text-align:right}.article-pager-link:hover{border-bottom-color:var(--article-interactive-hover)}.article-pager-link:active{border-bottom-color:var(--article-interactive-active)}.article-pager-link:focus-visible{outline:2px solid var(--article-interactive-focus);outline-offset:4px;border-bottom-color:var(--article-interactive-hover)}.article-pager-copy{display:grid;min-width:0;gap:4px}.article-pager-label{display:inline-flex;align-items:center;gap:6px;color:var(--article-muted);font-size:var(--type-caption);font-weight:var(--weight-strong);letter-spacing:.06em}.article-pager-link.is-next .article-pager-label{justify-content:flex-end}.article-pager-cue{color:var(--article-quiet);font-size:var(--type-small);line-height:1;transition:color .16s ease,transform .16s ease}.article-pager-link:hover .article-pager-cue{color:var(--article-interactive-hover)}.article-pager-link.is-prev:hover .article-pager-cue{transform:translate(-3px)}.article-pager-link.is-next:hover .article-pager-cue{transform:translate(3px)}.article-pager-title{display:-webkit-box;min-width:0;overflow:hidden;color:var(--article-ink);font-size:var(--type-body);font-weight:var(--weight-strong);line-height:1.4;-webkit-box-orient:vertical;-webkit-line-clamp:2;transition:color .16s ease}.article-pager-link:hover .article-pager-title{color:var(--article-interactive-hover)}.article-pager-link:active .article-pager-title{color:var(--article-interactive-active)}@media(max-width:720px){.article-pager{grid-template-columns:1fr;gap:0}.article-pager-link.is-prev,.article-pager-link.is-next{grid-column:1;text-align:left}.article-pager-link.is-next .article-pager-label{justify-content:flex-start}}@media(max-width:1080px){.article-layout{grid-template-columns:1fr;padding-inline:0}.article-side{display:none}.article-main{grid-column:1}}@media(max-width:720px){.article-shell{padding:30px 0 56px}.article-layout{padding:0}.article-topbar,.article-meta-line,.related-item,.article-history-item{grid-template-columns:1fr}.article-history-rail{display:none}.article-history-hash,.article-history-item time{justify-self:start}.article-history-version{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px}.article-topbar{gap:12px;color:var(--article-ink);font-size:var(--type-body)}.article-breadcrumb{gap:10px;color:inherit}.article-title{font-size:var(--type-article-title);line-height:1.14}.article-warning{grid-template-columns:1fr;gap:4px}}.article-shell[data-reading-mode=immersive]~header,.article-shell[data-reading-mode=immersive] body>header,body:has(.article-shell[data-reading-mode=immersive])>header,body:has(.article-shell[data-reading-mode=immersive]) header,.article-shell[data-reading-mode=immersive] header,.article-shell[data-reading-mode=immersive] #main-header,body:has(.article-shell[data-reading-mode=immersive]) #main-header,.article-shell[data-reading-mode=immersive] body>footer,body:has(.article-shell[data-reading-mode=immersive])>footer,.article-shell[data-reading-mode=immersive] .article-topbar,.article-shell[data-reading-mode=immersive] .article-head,.article-shell[data-reading-mode=immersive] .article-side,.article-shell[data-reading-mode=immersive] .article-footer .article-relations,.article-shell[data-reading-mode=immersive] .article-footer .article-history{display:none!important}.article-shell[data-reading-mode=immersive]{--immersive-measure: min(56rem, 100%);--immersive-bleed: min(84rem, 100%);max-width:var(--immersive-bleed)}main:has(.article-shell[data-reading-mode=immersive]){max-width:none}.article-shell[data-reading-mode=immersive] .article-main{max-width:var(--immersive-bleed);margin-left:auto;margin-right:auto;transition:max-width .3s ease}.article-shell[data-reading-mode=immersive] .article-main>:not(.article-prose),.article-shell[data-reading-mode=immersive] .article-prose>*{max-width:var(--immersive-measure);margin-left:auto;margin-right:auto}.article-shell[data-reading-mode=immersive] .article-prose>:is(.code-block-container,.table-container,pre.mermaid,.article-pdf-reader){max-width:none}.article-shell[data-reading-mode=immersive] .article-layout{display:block}.immersive-toggle{position:relative;display:flex;align-items:center;justify-content:center;width:40px;height:40px;padding:0;border:0;border-radius:999px;background:transparent;color:color-mix(in oklab,var(--article-ink) 72%,transparent);cursor:pointer;transition:color .25s ease}.immersive-toggle:after{content:"";position:absolute;inset:0;border-radius:inherit;background:color-mix(in oklab,var(--article-ink) 9%,transparent);opacity:0;transform:scale(.55);transition:opacity .3s ease,transform .3s cubic-bezier(.22,1,.36,1);pointer-events:none}.immersive-toggle:hover{color:var(--article-ink)}.immersive-toggle:hover:after{opacity:1;transform:scale(1)}.immersive-toggle:focus-visible{outline:1.5px solid var(--article-signal);outline-offset:2px}.immersive-icon{position:relative;z-index:1;width:18px;height:18px;stroke-width:1.5;filter:drop-shadow(0 0 5px var(--article-bg)) drop-shadow(0 0 2px var(--article-bg));transition:transform .45s cubic-bezier(.22,1,.36,1)}.article-shell[data-reading-mode=immersive] .immersive-icon{transform:rotate(45deg) scale(.92)}.article-shell[data-reading-mode=immersive] .immersive-toggle{color:var(--article-ink)}.crosslink-return{position:fixed;bottom:2rem;left:2rem;z-index:50;display:inline-flex;align-items:center;gap:.55rem;max-width:min(72vw,320px);padding:.5rem .9rem .5rem .8rem;border:1px solid var(--article-line);border-radius:999px;background:color-mix(in oklab,var(--article-bg) 82%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:var(--article-ink);cursor:pointer;opacity:0;visibility:hidden;transform:translateY(1rem);pointer-events:none;box-shadow:0 6px 20px color-mix(in oklab,var(--article-ink) 12%,transparent);transition:opacity .2s ease,visibility .2s ease,transform .2s ease,background-color .2s ease,color .2s ease,border-color .2s ease}.crosslink-return[hidden]{display:none}body.controls-near-bl .crosslink-return{opacity:1;visibility:visible;transform:translateY(0);pointer-events:auto}.crosslink-return:hover{border-color:var(--article-signal);background:var(--article-soft);color:var(--article-signal);transform:translateY(-2px)}.crosslink-return:focus-visible{outline:2px solid var(--article-signal);outline-offset:2px}.crosslink-return-cue{font-size:1.05rem;line-height:1}.crosslink-return-copy{display:inline-flex;flex-direction:column;align-items:flex-start;min-width:0;line-height:1.15}.crosslink-return-label{font-size:.62rem;letter-spacing:.1em;text-transform:uppercase;opacity:.6}.crosslink-return-title{font-size:.85rem;font-weight:600;max-width:240px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media(max-width:720px){.crosslink-return{bottom:1rem;left:1rem;max-width:64vw}.crosslink-return-title{max-width:160px}}.reading-resume{position:fixed;bottom:2rem;left:50%;transform:translate(-50%) translateY(.75rem);z-index:55;display:inline-flex;align-items:center;gap:.5rem;max-width:min(80vw,340px);padding:.5rem 1rem;border:1px solid var(--article-line);border-radius:999px;background:color-mix(in oklab,var(--article-bg) 82%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:var(--article-ink);cursor:pointer;opacity:0;visibility:hidden;pointer-events:none;box-shadow:0 8px 24px color-mix(in oklab,var(--article-ink) 14%,transparent);transition:opacity .2s ease,visibility .2s ease,transform .2s ease}.reading-resume[hidden]{display:none}.reading-resume.is-visible{opacity:1;visibility:visible;transform:translate(-50%) translateY(0);pointer-events:auto}.reading-resume:hover{border-color:var(--article-signal);background:var(--article-soft);color:var(--article-signal);transform:translate(-50%) translateY(-2px)}.reading-resume-cue{font-size:.95rem;line-height:1;color:var(--article-signal)}.reading-resume-copy{font-size:.82rem;font-weight:600;white-space:nowrap}.reading-resume-pct{font-variant-numeric:tabular-nums;opacity:.85}@media(max-width:720px){.reading-resume{bottom:calc(1.6rem + 44px)}.article-dock{bottom:1rem;right:1rem}}@media(max-width:720px){.article-shell[data-reading-mode=immersive] .article-main{padding-inline:1rem}}.article-shell[data-reading-mode=immersive] .article-layout{display:block;transition:display .3s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@media(max-width:1080px){.article-shell[data-reading-mode=immersive]{--immersive-measure: 100%;--immersive-bleed: 100%}}:root{--branch-w: clamp(360px, 40vw, 620px)}body.branch-open main:has(.article-shell){max-width:none;padding-right:calc(var(--branch-w) + 20px);transition:padding-right .3s ease}.branch-pane{position:fixed;top:4rem;right:0;bottom:0;z-index:45;display:flex;flex-direction:column;width:var(--branch-w);border-left:1px solid var(--article-line);background:var(--article-bg);color:var(--article-ink);box-shadow:-18px 0 40px color-mix(in oklab,var(--article-ink) 7%,transparent)}.branch-pane[hidden]{display:none}.branch-resize{position:absolute;top:0;bottom:0;left:-3px;width:7px;z-index:3;cursor:col-resize;touch-action:none}.branch-resize:after{content:"";position:absolute;top:0;bottom:0;left:3px;width:1.5px;background:transparent;transition:background-color .15s ease}.branch-resize:hover:after,body.branch-resizing .branch-resize:after{background:var(--article-signal)}body.branch-resizing{cursor:col-resize;user-select:none}body.branch-resizing main:has(.article-shell),body.branch-resizing .branch-pane{transition:none!important}body:has(.article-shell[data-reading-mode=immersive]) .branch-pane{top:0}body:has(.article-shell[data-reading-mode=immersive]) .branch-pane-head{position:absolute;top:0;left:0;right:0;z-index:2;background:transparent;border-bottom-color:transparent;opacity:0;transition:opacity .18s ease,background-color .18s ease,border-color .18s ease}body:has(.article-shell[data-reading-mode=immersive]) .branch-pane-head:hover,body:has(.article-shell[data-reading-mode=immersive]) .branch-pane-head:focus-within{opacity:1;background:var(--article-bg);border-bottom-color:var(--article-line)}.branch-pane-head{display:flex;align-items:center;gap:8px;flex:0 0 auto;padding:10px 14px;border-bottom:1px solid var(--article-line)}.branch-pane-trail{flex:1 1 auto;display:flex;align-items:center;gap:6px;min-width:0;overflow:hidden}.branch-trail-chip{max-width:11em;padding:2px 4px;border:0;border-radius:4px;background:transparent;color:var(--article-muted);font-size:.78rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:pointer;transition:color .16s ease,background-color .16s ease}.branch-trail-chip:hover{color:var(--article-ink);background:var(--article-soft)}.branch-trail-chip.is-current{color:var(--article-ink);font-weight:600;cursor:default}.branch-trail-chip.is-current:hover{background:transparent}.branch-trail-sep{flex:0 0 auto;color:var(--article-quiet);font-size:.7rem}.branch-pane-actions{display:inline-flex;gap:4px;flex:0 0 auto}.branch-pane-btn{position:relative;display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;padding:0;border:0;border-radius:999px;background:transparent;color:color-mix(in oklab,var(--article-ink) 72%,transparent);cursor:pointer;transition:color .2s ease,background-color .2s ease}.branch-pane-btn:hover{color:var(--article-ink);background:color-mix(in oklab,var(--article-ink) 9%,transparent)}.branch-pane-btn:focus-visible{outline:1.5px solid var(--article-signal);outline-offset:2px}.branch-pane-btn svg{width:15px;height:15px;stroke:currentColor}.branch-pane-back[hidden]{display:none}.branch-pane-scroll{flex:1 1 auto;min-height:0;padding:18px 22px 48px;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain}.branch-pane-title{margin:0 0 14px;padding-bottom:12px;border-bottom:1px solid var(--article-line);color:var(--article-ink);font-family:var(--font-reading);font-size:1.22rem;font-weight:640;line-height:1.28;overflow-wrap:anywhere}.branch-pane-body{font-size:.92rem}.branch-pane-body img{max-width:100%;height:auto}.branch-pane.is-loading .branch-pane-scroll{opacity:.45;transition:opacity .2s ease}.branch-pane-loading-copy{margin:0;color:var(--article-muted);font-size:.9rem}.branch-handle{position:fixed;z-index:61;display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;padding:0;border:1px solid var(--article-line);border-radius:999px;background:var(--article-bg);color:color-mix(in oklab,var(--article-ink) 75%,transparent);cursor:pointer;opacity:0;transform:translateY(3px) scale(.9);box-shadow:0 3px 10px color-mix(in oklab,var(--article-ink) 12%,transparent);transition:opacity .15s ease,transform .15s ease,color .15s ease,border-color .15s ease}.branch-handle[hidden]{display:none}.branch-handle:after{content:"";position:absolute;inset:-8px;border-radius:999px}.branch-handle.is-visible{opacity:1;transform:translateY(0) scale(1)}.branch-handle:hover{color:var(--article-signal);border-color:var(--article-signal)}.branch-handle svg{width:12px;height:12px;stroke:currentColor}.branch-dropzone{position:fixed;top:4rem;right:0;bottom:0;z-index:62;display:flex;align-items:center;justify-content:center;width:min(20vw,240px);border-left:1.5px dashed color-mix(in oklab,var(--article-ink) 38%,transparent);background:color-mix(in oklab,var(--article-bg) 72%,transparent);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);opacity:0;transition:opacity .18s ease,border-color .18s ease}.branch-dropzone[hidden]{display:none}.branch-dropzone.is-armed{opacity:1}.branch-dropzone.is-over{border-left-color:var(--article-signal)}.branch-dropzone-label{color:var(--article-muted);font-size:.8rem;letter-spacing:.5em;writing-mode:vertical-rl}.branch-dropzone.is-over .branch-dropzone-label{color:var(--article-signal)}.article-find-toggle{position:relative;display:flex;align-items:center;justify-content:center;width:40px;height:40px;padding:0;border:0;border-radius:999px;background:transparent;color:color-mix(in oklab,var(--article-ink) 72%,transparent);cursor:pointer;transition:color .25s ease}.article-find-toggle:after{content:"";position:absolute;inset:0;border-radius:inherit;background:color-mix(in oklab,var(--article-ink) 9%,transparent);opacity:0;transform:scale(.55);transition:opacity .3s ease,transform .3s cubic-bezier(.22,1,.36,1);pointer-events:none}.article-find-toggle:hover{color:var(--article-ink)}.article-find-toggle:hover:after{opacity:1;transform:scale(1)}.article-find-toggle:focus-visible{outline:1.5px solid var(--article-signal);outline-offset:2px}.article-find-icon{position:relative;z-index:1;width:18px;height:18px;stroke-width:1.5;filter:drop-shadow(0 0 5px var(--article-bg)) drop-shadow(0 0 2px var(--article-bg))}.article-findbar{position:fixed;top:calc(4rem + 14px);left:50%;z-index:70;display:inline-flex;align-items:center;gap:6px;padding:.4rem .6rem;border:1px solid var(--article-line);border-radius:999px;background:color-mix(in oklab,var(--article-bg) 86%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:var(--article-ink);box-shadow:0 8px 24px color-mix(in oklab,var(--article-ink) 14%,transparent);opacity:0;transform:translate(-50%) translateY(-6px);transition:opacity .16s ease,transform .16s ease}.article-findbar[hidden]{display:none}.article-findbar.is-visible{opacity:1;transform:translate(-50%) translateY(0)}body:has(.article-shell[data-reading-mode=immersive]) .article-findbar{top:14px}.article-find-glyph{flex:0 0 auto;width:14px;height:14px;margin-left:4px;stroke:currentColor;color:var(--article-muted)}.article-find-input{width:min(38vw,240px);padding:2px 4px;border:0;outline:0;background:transparent;color:var(--article-ink);font-family:inherit;font-size:.88rem}.article-find-input::placeholder{color:var(--article-quiet)}.article-find-count{min-width:3.2em;color:var(--article-muted);font-size:.74rem;font-variant-numeric:tabular-nums;text-align:center}::highlight(find-hit){background-color:color-mix(in oklab,var(--article-signal) 22%,transparent);color:var(--article-ink)}::highlight(find-hit-active){background-color:color-mix(in oklab,var(--article-signal) 55%,transparent);color:var(--article-ink)}@media(max-width:1079px){.branch-pane,.branch-handle,.branch-dropzone{display:none!important}body.branch-open main:has(.article-shell){max-width:none;padding-right:0}}@media(max-width:720px){.article-findbar{top:auto;bottom:calc(1rem + 52px);width:calc(100vw - 2rem)}.article-find-input{flex:1 1 auto;width:auto;min-width:0}}
