*{box-sizing:border-box;margin:0;padding:0}html,body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:#000;background-color:#fff;max-width:100vw;font-family:Times New Roman,Times,Georgia,serif,SimSun,宋体,STSong;line-height:1.6;overflow-x:hidden}.container{width:100%;margin:0;padding:0}.header{z-index:1000;background-color:#fff;border-bottom:1px solid #e0e0e0;height:fit-content;margin-bottom:0;padding:.4rem 1rem;position:sticky;top:0}.header-content{justify-content:space-between;align-items:center;gap:1rem;width:100%;display:flex}.header-left{flex:1;align-items:center;gap:1rem;min-width:0;display:flex}.header-buttons-left{opacity:0;pointer-events:none;align-items:center;gap:.5rem;transition:opacity .3s;display:flex}.header:hover .header-buttons-left{opacity:1;pointer-events:auto}.header-buttons-right{opacity:0;pointer-events:none;flex-shrink:0;align-items:center;gap:.5rem;transition:opacity .3s;display:flex}.header:hover .header-buttons-right{opacity:1;pointer-events:auto}:root{--header-height:2.5rem}.icon-button{cursor:pointer;color:#000;background-color:#0000;border:none;border-radius:2px;justify-content:center;align-items:center;width:24px;height:24px;padding:0;transition:all .2s;display:flex}.icon-button:hover{color:#666}.icon-button svg{width:16px;height:16px}.icon-button.favorite-active,.icon-button.favorite-active svg{color:#ff9800}.icon-button.nav-disabled{opacity:.3;cursor:not-allowed}.speech-control-header{align-items:center;display:flex}.prev-next-nav-header{align-items:center;gap:.5rem;display:flex}.title{color:#000;margin-bottom:1rem;font-size:1.5rem;font-weight:700}.mobile-only{display:block}@media (min-width:1024px){.mobile-only{display:none}}.desktop-only{display:none}@media (min-width:1024px){.desktop-only{display:block}}.main-content{width:100%;position:relative}.desktop-layout{display:none}@media (min-width:1024px){.desktop-layout{width:100%;min-height:calc(100vh - var(--header-height,4rem));align-items:flex-start;gap:0;display:flex}}.mobile-layout{width:100%;display:block}@media (min-width:1024px){.mobile-layout{display:none}}.file-tree-sidebar{background-color:#f9f9f9;border-right:1px solid #e0e0e0;flex-direction:column;display:flex;overflow:hidden}.file-tree-sidebar:not(:hover) .file-tree-content{filter:blur(12px);pointer-events:none;transition:filter .3s}.file-tree-sidebar:hover .file-tree-content{filter:blur();pointer-events:auto}.desktop-layout .file-tree-sidebar{width:280px;min-width:280px;top:var(--header-height,4rem);max-height:calc(100vh - var(--header-height,4rem));flex-shrink:0;transition:width .3s,min-width .3s,opacity .3s;position:sticky}.desktop-layout .file-tree-sidebar:not(.file-tree-open){opacity:0;visibility:hidden;border-right:none;width:0;min-width:0;overflow:hidden}.desktop-layout .file-tree-sidebar.file-tree-open{opacity:1;visibility:visible}.mobile-file-tree{z-index:1001;width:280px;height:100vh;max-height:100vh;transition:transform .3s;position:fixed;top:0;left:0;transform:translate(-100%);box-shadow:2px 0 8px #0000001a}.mobile-file-tree.file-tree-open{transform:translate(0)}.file-tree-close{color:#666;cursor:pointer;background:0 0;border:none;width:2rem;height:2rem;padding:0;font-size:1.5rem;line-height:1;transition:color .2s;display:none}.mobile-file-tree .file-tree-close{display:block}.file-tree-close:hover{color:#000}.mobile-toggle-button{color:#fff;cursor:pointer;background-color:#000;border:none;align-items:center;gap:.5rem;margin-bottom:1rem;padding:.75rem 1rem;font-size:1rem;transition:background-color .2s;display:flex}.mobile-toggle-button:hover{background-color:#333}.file-tree-header{z-index:10;background-color:#f9f9f9;border-bottom:1px solid #e0e0e0;justify-content:space-between;align-items:center;padding:1rem 1.25rem;display:flex;position:sticky;top:0}.file-tree-sidebar:not(:hover) .file-tree-header{filter:blur(12px);transition:filter .3s}.file-tree-sidebar:hover .file-tree-header{filter:blur()}.file-tree-header h2{color:#000;margin:0;font-size:1.1rem;font-weight:600}.file-tree-content{flex:1;min-height:200px;padding:.5rem 0;overflow:hidden auto}.file-tree-item{cursor:pointer;-webkit-user-select:none;user-select:none}.file-tree-dir-header{align-items:center;gap:.5rem;padding:.5rem .75rem;transition:background-color .2s;display:flex}.file-tree-dir-header:hover{background-color:#f0f0f0}.file-tree-file{cursor:pointer;align-items:center;gap:.5rem;padding:.5rem .75rem;transition:background-color .2s;display:flex}.file-tree-file:hover{background-color:#f0f0f0}.file-tree-file.selected{color:#1976d2;background-color:#e3f2fd;font-weight:500}.file-tree-icon{text-align:center;flex-shrink:0;width:1.25rem;font-size:1rem}.file-tree-name{color:#000;white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:.875rem;overflow:hidden}.file-tree-file.selected .file-tree-name{color:#1976d2}.file-tree-children{margin-left:0}.toc-toggle{color:#fff;cursor:pointer;background-color:#000;border:none;align-items:center;gap:.5rem;margin-bottom:1rem;padding:.75rem 1rem;font-size:1rem;transition:background-color .2s;display:flex}.toc-toggle:hover{background-color:#333}.toc-toggle span{font-size:1.2rem;font-weight:700}@media (min-width:1024px){.toc-toggle{display:none}}.toc-sidebar{background-color:#fff;border-right:1px solid #e0e0e0;flex-direction:column;display:flex;overflow:hidden}.desktop-layout .toc-sidebar{width:240px;min-width:240px;top:var(--header-height,4rem);max-height:calc(100vh - var(--header-height,4rem));flex-shrink:0;position:sticky}.mobile-toc{z-index:1001;width:280px;height:100vh;max-height:100vh;transition:transform .3s;position:fixed;top:0;left:0;transform:translate(-100%);box-shadow:2px 0 8px #0000001a}.mobile-toc.toc-open{transform:translate(0)}.toc-header{background-color:#f5f5f5;border-bottom:none;justify-content:space-between;align-items:center;padding:1rem 1.5rem;display:flex}.toc-header h2{color:#000;margin:0;font-size:1.1rem;font-weight:600}.toc-close{color:#666;cursor:pointer;background:0 0;border:none;width:2rem;height:2rem;padding:0;font-size:1.5rem;line-height:1;transition:color .2s;display:none}.toc-close:hover{color:#000}@media (max-width:1023px){.toc-close{display:block}}.toc-nav{flex:1;padding:1rem 0;overflow:hidden auto}.toc-nav ul{margin:0;padding:0;list-style:none}.toc-item{margin:0;padding:0}.toc-item a{color:#666;border-left:none;padding:.5rem 1.5rem;font-size:.9rem;line-height:1.5;text-decoration:none;transition:all .2s;display:block}.toc-item a:hover{color:#000;background-color:#f5f5f5}.toc-item.active a{color:#000;background-color:#e5e5e5;font-weight:500}.toc-level-1 a{padding-left:1.5rem;font-weight:600}.toc-level-2 a{padding-left:2rem}.toc-level-3 a{padding-left:2.5rem;font-size:.85rem}.toc-level-4 a{padding-left:3rem;font-size:.85rem}.toc-level-5 a{padding-left:3.5rem;font-size:.8rem}.toc-level-6 a{padding-left:4rem;font-size:.8rem}.mobile-overlay{z-index:1000;background-color:#00000080;display:block;position:fixed;inset:0}.desktop-only .mobile-overlay{display:none}.markdown-content-wrapper{flex-direction:column;flex:1;min-width:0;display:flex}.desktop-layout .markdown-content-wrapper{max-height:calc(100vh - var(--header-height,4rem));height:calc(100vh - var(--header-height,4rem));position:relative;overflow-y:auto}.markdown-content{background-color:#fff;border:none;flex:1;min-height:200px;padding:0 1.5rem 1.5rem;position:relative}.top-controls{z-index:10;align-items:center;gap:.5rem;display:flex;position:absolute;top:.75rem;right:.75rem}.speech-control{align-items:center;display:flex}.text-to-speech{align-items:center;gap:.25rem;display:flex}.speech-button{cursor:pointer;color:#000;background-color:#0000;border:none;border-radius:2px;justify-content:center;align-items:center;width:24px;height:24px;padding:0;transition:all .2s;display:flex}.speech-button:hover:not(:disabled){color:#666}.speech-button:disabled{opacity:.3;cursor:not-allowed}.speech-button svg{width:16px;height:16px}.speech-error{color:#d32f2f;cursor:help;font-size:.75rem}.prev-next-nav{gap:.5rem;display:flex}.nav-button{cursor:pointer;color:#000;background-color:#0000000d;border:none;justify-content:center;align-items:center;width:32px;height:32px;padding:0;transition:all .2s;display:flex}.nav-button:hover:not(.nav-disabled){background-color:#0000001a}.nav-button.nav-disabled{opacity:.3;cursor:not-allowed;background-color:#00000005}.nav-button.favorite-active,.nav-button.favorite-active svg{color:#ff9800}.nav-button svg{color:#000;width:16px;height:16px}.nav-disabled svg{color:#666}@media (max-width:768px){.top-controls{gap:.25rem;top:.5rem;right:.5rem}.speech-button{width:24px;height:24px}.speech-button svg{width:16px;height:16px}.prev-next-nav{gap:.25rem}.nav-button{width:28px;height:28px}.nav-button svg{width:14px;height:14px}}.markdown-content h1[id],.markdown-content h2[id],.markdown-content h3[id],.markdown-content h4[id],.markdown-content h5[id],.markdown-content h6[id]{scroll-margin-top:80px}.markdown-content h1{color:#000;border-bottom:none;margin-top:1.5rem;margin-bottom:1rem;padding-bottom:.5rem;font-size:1.75rem;font-weight:700}.markdown-content h2{color:#000;margin-top:1.25rem;margin-bottom:.75rem;font-size:1.5rem;font-weight:600}.markdown-content h3{color:#000;margin-top:1rem;margin-bottom:.5rem;font-size:1.25rem;font-weight:600}.markdown-content p{color:#000;margin-bottom:1rem;line-height:1.8}.markdown-content ul,.markdown-content ol{margin-bottom:1rem;padding-left:1.5rem}.markdown-content li{color:#000;margin-bottom:.5rem}.markdown-content code.inline-code{color:#000;background-color:#f5f5f5;border:none;border-radius:3px;padding:.2rem .4rem;font-family:Courier New,monospace;font-size:.9em}.markdown-content pre{background-color:#f5f5f5;border:none;border-radius:4px;margin-bottom:1rem;padding:1rem;overflow-x:auto}.markdown-content pre code{color:#000;background-color:#0000;border:none;padding:0}.markdown-content .code-block{border-radius:4px;margin:1rem 0;font-size:.875rem;line-height:1.6;overflow-x:auto}.markdown-content .code-block pre{background-color:#0000;margin:0;padding:1rem;overflow-x:auto}.markdown-content .code-block{-webkit-overflow-scrolling:touch}.markdown-content blockquote{color:#666;border-left:none;margin:1rem 0;padding-left:1rem;font-style:italic}.markdown-content a{color:#000;text-decoration:underline;transition:color .2s}.markdown-content a:hover{color:#666}.markdown-content img{max-width:100%;height:auto;margin:1rem 0}.markdown-content table{border-collapse:collapse;width:100%;margin:1rem 0;display:block;overflow-x:auto}.markdown-content th,.markdown-content td{text-align:left;border:none;padding:.75rem}.markdown-content th{background-color:#f5f5f5;font-weight:600}.markdown-content hr{border:none;margin:2rem 0}.markdown-content .mermaid{text-align:center;background-color:#fff;margin:1.5rem 0;padding:1rem;overflow-x:auto}.markdown-content .mermaid svg{background-color:#fff;max-width:100%;height:auto}.markdown-content .mermaid svg .node rect,.markdown-content .mermaid svg .node circle,.markdown-content .mermaid svg .node ellipse,.markdown-content .mermaid svg .node polygon{stroke:#000!important;stroke-width:2px!important}.markdown-content .mermaid svg .node:not(.blueHighlight):not(.greenHighlight) rect,.markdown-content .mermaid svg .node:not(.blueHighlight):not(.greenHighlight) circle,.markdown-content .mermaid svg .node:not(.blueHighlight):not(.greenHighlight) ellipse,.markdown-content .mermaid svg .node:not(.blueHighlight):not(.greenHighlight) polygon{fill:#fff!important}.markdown-content .mermaid svg .node.blueHighlight rect,.markdown-content .mermaid svg .node.blueHighlight circle,.markdown-content .mermaid svg .node.blueHighlight ellipse,.markdown-content .mermaid svg .node.blueHighlight polygon{fill:#e5f2ff!important;stroke:#000!important}.markdown-content .mermaid svg .node.greenHighlight rect,.markdown-content .mermaid svg .node.greenHighlight circle,.markdown-content .mermaid svg .node.greenHighlight ellipse,.markdown-content .mermaid svg .node.greenHighlight polygon{fill:#e5f9f0!important;stroke:#000!important}.markdown-content .mermaid svg .node text,.markdown-content .mermaid svg .nodeLabel text,.markdown-content .mermaid svg .nodeLabel tspan{fill:#000!important;color:#000!important}.markdown-content .mermaid svg .edgeLabel text,.markdown-content .mermaid svg .edgeLabel tspan,.markdown-content .mermaid svg .cluster-label text,.markdown-content .mermaid svg text{fill:#000!important}.markdown-content .note-highlight{border-radius:3px;padding:.1rem .2rem;transition:opacity .2s}.markdown-content .note-highlight:hover{opacity:.8}.markdown-content .note-highlight.highlight-yellow{background-color:#ffeb3b!important}.markdown-content .note-highlight.highlight-green{background-color:#4caf50!important}.markdown-content .note-highlight.highlight-blue{background-color:#2196f3!important}.markdown-content .note-highlight.highlight-pink{background-color:#e91e63!important}.markdown-content .note-highlight.highlight-orange{background-color:#ff9800!important}.markdown-content .mermaid svg .edgePath path,.markdown-content .mermaid svg .flowchart-link{stroke:#000!important}.markdown-content .mermaid svg .arrowheadPath{fill:#000!important}.empty-state{text-align:center;color:#666;padding:3rem 1rem}.empty-state p{margin-bottom:.5rem;font-size:1rem}@media (min-width:768px){.container{max-width:100%;padding:0}.title{font-size:2rem}.markdown-content{padding:3.5rem 2rem 2rem}.markdown-content h1{font-size:2rem}.markdown-content h2{font-size:1.75rem}.markdown-content h3{font-size:1.5rem}}@media (min-width:1024px){.container{max-width:100%;padding:0}.title{font-size:2.5rem}.main-content{gap:0}.content-wrapper{gap:3rem}.markdown-content{padding:0 2.5rem 2.5rem}.markdown-content h1{font-size:2.25rem}}@media (min-width:1280px){.container{max-width:100%}}.scroll-buttons{z-index:1000;flex-direction:column;gap:.5rem;display:flex;position:fixed;bottom:2rem;right:2rem}.scroll-btn{color:#666;cursor:pointer;opacity:.6;background-color:#0000004d;border:none;justify-content:center;align-items:center;width:36px;height:36px;padding:0;transition:all .2s;display:flex}.scroll-btn:hover{opacity:.8;color:#333;background-color:#00000080}.scroll-btn:active{background-color:#0009}.scroll-btn svg{width:16px;height:16px}@media (max-width:768px){.scroll-buttons{bottom:1rem;right:1rem}.scroll-btn{width:32px;height:32px}.scroll-btn svg{width:14px;height:14px}}
