.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)}.mermaid *{background-color:transparent!important}.mermaid :is(text,span,div,p){color:var(--color-secondary-800)!important;fill:var(--color-secondary-800)!important;font-family:inherit!important}.mermaid :is(.edgeLabel,.edgeLabel p,.edgeLabel div,.edgeLabel span){color:var(--color-secondary-800)!important;fill:var(--color-secondary-800)!important}.mermaid :is(.node rect,.node circle,.node ellipse,.node polygon,.node path){fill:var(--color-gray-100)!important;stroke:var(--color-gray-400)!important;stroke-width:1px!important}.mermaid :is(.edgePath .path,.flowchart-link,line,.messageLine0,.messageLine1){stroke:var(--color-gray-600)!important;stroke-width:1px!important;fill:none!important}.mermaid :is(.arrowheadPath,marker path){fill:var(--color-gray-600)!important;stroke:none!important}.mermaid :is(.edgeLabel rect,.labelBox){fill:#fff!important;background-color:#fff!important}.mermaid :is(.titleText,.classTitle,.cluster-label text){fill:var(--color-secondary-900)!important;color:var(--color-secondary-900)!important;font-weight:700!important}.mermaid :is(.cluster rect,.cluster polygon){fill:var(--color-gray-50)!important;stroke:var(--color-gray-400)!important;stroke-width:1px!important;opacity:.8!important}.mermaid .actor{fill:var(--color-gray-100)!important;stroke:var(--color-gray-400)!important;stroke-width:1px!important}.mermaid .note{fill:var(--color-primary-500)!important;opacity:.7!important}.mermaid :is(.section0,.section2){fill:var(--color-gray-50)!important;opacity:.5!important}.mermaid :is(.section1,.section3){fill:var(--color-gray-100)!important;opacity:.4!important}.mermaid :is(.task0,.task1,.task2,.task3){fill:var(--color-primary-600)!important;stroke:var(--color-gray-400)!important}.mermaid .classLabel .label{fill:var(--color-secondary-800)!important;color:var(--color-secondary-800)!important}[data-theme=dark] .mermaid :is(.label,text,span,.messageText,.loopText,.noteText,.taskText,.classLabel .label){color:var(--color-secondary-300)!important;fill:var(--color-secondary-300)!important}[data-theme=dark] .mermaid :is(.edgeLabel,.edgeLabel p,.edgeLabel span){color:var(--color-secondary-300)!important;fill:var(--color-secondary-300)!important}[data-theme=dark] .mermaid :is(.node rect,.node circle,.node ellipse,.node polygon,.node path,.actor){fill:var(--color-dark-hover)!important;stroke:var(--color-gray-600)!important}[data-theme=dark] .mermaid :is(.edgePath .path,.flowchart-link,line,.messageLine0,.messageLine1){stroke:var(--color-gray-400)!important;fill:none!important}[data-theme=dark] .mermaid :is(.arrowheadPath,marker path){fill:var(--color-gray-400)!important;stroke:none!important}[data-theme=dark] .mermaid :is(.edgeLabel rect,.labelBox){fill:var(--color-dark-surface)!important;background-color:var(--color-dark-surface)!important}[data-theme=dark] .mermaid :is(.titleText,.classTitle,.cluster-label text){fill:var(--color-secondary-100)!important;color:var(--color-secondary-100)!important}[data-theme=dark] .mermaid :is(.cluster rect,.cluster polygon,.section0,.section2){fill:var(--color-dark-card)!important;stroke:var(--color-gray-600)!important}[data-theme=dark] .mermaid :is(.section1,.section3){fill:var(--color-dark-hover)!important}[data-theme=dark] .mermaid .note{fill:var(--color-primary-300)!important}[data-theme=dark] .mermaid :is(.task0,.task1,.task2,.task3){fill:var(--color-primary-400)!important;stroke:var(--color-gray-600)!important}.code-block-container{margin:.75rem 0;border-radius:.4rem;overflow:hidden;border:1px solid #e2e8f0;background-color:transparent;position:relative}.code-block-header{display:flex;justify-content:space-between;align-items:center;padding:.3rem .6rem;background-color:#f1f5f9;border-bottom:1px solid #e2e8f0;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:.8rem}.code-block-lang{font-weight:600;color:#475569;display:flex;align-items:center;gap:.5rem}.code-block-lang:after{content:" " attr(data-language);display:inline-block}.code-block-lang svg{width:1rem;height:1rem}.code-block-copy{background:transparent;border:none;cursor:pointer;color:#475569;display:flex;align-items:center;gap:.2rem;padding:.2rem .4rem;border-radius:.25rem;font-size:.7rem;transition:all .2s ease}.code-block-copy:after{content:" " attr(data-copy-text);display:inline-block}.code-block-copy:hover{background-color:#e2e8f0}.code-block-copy.copied{color:#10b981}.code-block-copy.copied:after{content:" 已复制"}.code-block-copy.copy-failed{color:#ef4444}.code-block-copy.copy-failed:after{content:" 失败"}.code-block-content{position:relative;display:flex;background-color:transparent}.line-numbers-container{flex:0 0 2.5rem;background-color:#f1f5f9;border-right:1px solid #e2e8f0;z-index:1;position:sticky;left:0;display:flex;flex-direction:column;align-items:center;padding:.15rem 0;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;counter-reset:line}.line-number{width:100%;height:1.4rem;display:flex;align-items:center;justify-content:center;color:#94a3b8;font-size:.85rem;user-select:none;counter-increment:line}.line-number:before{content:counter(line);display:block;text-align:center}.code-content-container{flex:1;overflow-x:auto}pre{margin:0;padding:.15rem 0;overflow-x:visible}pre code{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:.9rem;line-height:1.4rem;padding:0;display:block}.line-numbers{counter-reset:line;position:relative}.line-numbers .line{position:relative;counter-increment:line;padding-left:.5rem;padding-right:.4rem;min-height:1.4rem;white-space:pre}[data-theme=dark] .code-block-container{border-color:#334155;background-color:transparent}[data-theme=dark] .code-block-header{background-color:#1e293b;border-bottom-color:#334155}[data-theme=dark] .code-block-lang{color:#e2e8f0}[data-theme=dark] .code-block-lang:after{color:#e2e8f0}[data-theme=dark] .code-block-copy{color:#e2e8f0}[data-theme=dark] .code-block-copy:after{color:#e2e8f0}[data-theme=dark] .code-block-copy.copied:after{content:" 已复制";color:#10b981}[data-theme=dark] .code-block-copy.copy-failed{color:#f87171}[data-theme=dark] .code-block-copy.copy-failed:after{content:" 失败";color:#f87171}[data-theme=dark] .code-block-copy:hover{background-color:#334155}[data-theme=dark] .code-block-content{background-color:transparent}[data-theme=dark] .line-numbers-container{background-color:#1e293b;border-right-color:#334155}[data-theme=dark] .line-number{color:#64748b}[data-theme=dark] .line-number:before{color:#64748b}code,pre,.code-block-content,.code-block-content pre.shiki,.code-block-content pre.astro-code,.code-block-content pre code,.code-block-content pre code span,pre.shiki,pre.astro-code,.line,.line span{background-color:transparent!important}.line.highlighted{border-left:2px solid #eab308}[data-theme=dark] .line.highlighted{border-left:2px solid #fbbf24;background-color:transparent!important}[data-theme=dark] .astro-code{color:var(--shiki-dark)!important;background-color:var(--shiki-dark-bg)!important}[data-theme=dark] .astro-code span{color:var(--shiki-dark)!important}:not(pre)>code{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:.875rem;color:var(--color-primary-700);margin:0 .2rem;border-radius:.3rem;white-space:normal;word-wrap:break-word;overflow-wrap:break-word;word-break:break-all;max-width:100%;display:inline-block;vertical-align:middle;line-height:1.4}[data-theme=dark] :not(pre)>code{color:var(--color-primary-300)}:not(pre)>code:has(path),:not(pre)>code.file-path{white-space:pre-wrap;overflow-wrap:break-word;word-break:break-all;max-width:100%;display:inline-block;font-size:.85rem;padding:.2rem .4rem;line-height:1.4}:not(pre)>code.file-path{color:var(--color-gray-700)}[data-theme=dark] :not(pre)>code.file-path{color:var(--color-gray-300)}.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:linear-gradient(to right,var(--color-primary-600),var(--color-primary-400));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}.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{margin:1.5em 0;border-radius:.5rem;border:1px solid var(--color-secondary-200);background-color:var(--color-gray-50);transition:box-shadow .2s ease;overflow:hidden}.prose details>*:not(summary){padding:1.5em;margin:0}.prose details>p,.prose details>ul,.prose details>ol,.prose details>div{margin-top:0;margin-bottom:1em}.prose details>*:last-child{margin-bottom:0}.prose details 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 summary::-webkit-details-marker{display:none}.prose details 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[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[open] summary:before{transform:rotate(90deg)}.prose details summary:hover{background:linear-gradient(to right,var(--color-primary-100),var(--color-gray-100));color:var(--color-primary-700)}.prose details>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>blockquote p:first-child{margin-top:0}.prose details>blockquote p:last-child{margin-bottom:0}[data-theme=dark] .prose details{border-color:var(--color-dark-border);background-color:var(--color-dark-surface)}[data-theme=dark] .prose details 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[open] summary{border-bottom-color:var(--color-dark-border)}[data-theme=dark] .prose details 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[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 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>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;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding:.25rem 0;border-radius:.25rem;transition:background-color .3s ease;position:relative}.toc-link-active:before{content:"";position:absolute;left:-.75rem;top:50%;transform:translateY(-50%);width:4px;height:1rem;background:linear-gradient(to bottom,var(--color-primary-600),var(--color-primary-400));border-radius:0 2px 2px 0;opacity:1}[data-theme=dark] .toc-link-active:before{background:linear-gradient(to bottom,var(--color-primary-400),var(--color-primary-600))}.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{transition:transform .3s ease}.toc-toggle[aria-expanded=true] svg{transform:rotate(-180deg)}.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-panel{position:fixed;right:calc(50% - 44rem);top:5rem;width:16rem;z-index:30;transition:opacity .3s ease,transform .3s ease}@media (max-width: 1535px){#toc-panel.hidden{opacity:0;transform:translate(10px);pointer-events:none}}#toc-content{font-size:.875rem;padding:.5rem 1rem 1rem;overflow-y:auto;max-height:calc(100vh - 8rem - 42px);scroll-behavior:smooth}#toc-content::-webkit-scrollbar{width:4px}#toc-content::-webkit-scrollbar-track{background:transparent}#toc-content::-webkit-scrollbar-thumb{background-color:var(--color-primary-200);border-radius:4px}[data-theme=dark] #toc-content::-webkit-scrollbar-thumb{background-color:var(--color-primary-800)}
