.sidebar{width:var(--sidebar-w);flex-shrink:0;background:var(--bg2);border-right:1px solid var(--border);overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch}.sidebar-inner{padding:6px 0 24px}.tree-dir{display:flex;align-items:center;gap:6px;min-height:44px;padding-top:4px;padding-bottom:4px;padding-right:12px;cursor:pointer;color:var(--text2);font-size:13px;font-weight:500;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;transition:color .15s,background .15s;border-left:3px solid transparent}.tree-dir:hover{background:var(--bg3);color:var(--text)}.tree-dir:has(+.tree-children .tree-file.active){color:var(--accent);border-left-color:var(--accent)}.arrow{font-size:16px;transition:transform .2s ease;display:inline-block;width:16px;text-align:center;flex-shrink:0;color:var(--text2);line-height:1}.arrow.open{transform:rotate(90deg)}.dir-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}.tree-file{display:flex;align-items:center;gap:8px;min-height:44px;padding-top:4px;padding-bottom:4px;padding-right:12px;cursor:pointer;color:var(--text2);font-size:13px;-webkit-tap-highlight-color:transparent;margin-right:6px;transition:background .15s,color .15s,border-color .15s;border-left:3px solid transparent}.tree-file:hover{background:var(--bg3);color:var(--text)}.tree-file.active{background:#58a6ff1a;color:var(--accent);border-left-color:var(--accent)}:root.light .tree-file.active{background:#b05a0014}.tree-file:active{background:var(--bg3)}.file-icon{font-size:13px;flex-shrink:0;line-height:1}.file-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}.tree-children{animation:slideDown .15s ease}@keyframes slideDown{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 767px){.sidebar{position:fixed;top:52px;left:0;bottom:0;width:80vw;max-width:320px;z-index:100;transform:translate(-100%);transition:transform .28s cubic-bezier(.4,0,.2,1),box-shadow .28s ease;box-shadow:none}.sidebar.open{transform:translate(0);box-shadow:4px 0 32px #0006}.tree-dir,.tree-file{font-size:15px}}.doc-viewer{flex:1;overflow-y:auto;overflow-x:hidden;padding:28px 32px;background:var(--bg);-webkit-overflow-scrolling:touch}.doc-empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--text2);gap:16px;animation:fadeIn .3s ease}.empty-icon{font-size:56px;opacity:.6;animation:gentleFloat 3s ease-in-out infinite}.doc-empty p{font-size:15px}@keyframes gentleFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.doc-loading{display:flex;flex-direction:column;align-items:center;gap:16px;padding:64px 32px;color:var(--text2);font-size:14px}.doc-loading:before{content:"";width:28px;height:28px;border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.doc-error{padding:32px;color:#f85149;font-size:14px;text-align:center}.markdown-body{max-width:800px;margin:0 auto;color:var(--text);line-height:1.8;word-break:break-word;overflow-wrap:break-word;animation:contentFadeIn .25s ease}.code-body{flex:1;max-width:900px;margin:0 auto;width:100%;animation:contentFadeIn .25s ease}@keyframes contentFadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.markdown-body h1,.markdown-body h2,.markdown-body h3,.markdown-body h4{margin:1.4em 0 .5em;font-weight:600;line-height:1.3;color:var(--text)}.markdown-body h1{font-size:1.75em;border-bottom:1px solid var(--border);padding-bottom:.3em;margin-top:0}.markdown-body h2{font-size:1.4em;border-bottom:1px solid var(--border);padding-bottom:.25em}.markdown-body h3{font-size:1.15em}.markdown-body h4{font-size:1em}.markdown-body p{margin:.75em 0}.markdown-body a{color:var(--accent);text-decoration:none;border-bottom:1px solid transparent;transition:border-color .15s}.markdown-body a:hover{border-bottom-color:var(--accent)}.markdown-body ul,.markdown-body ol{padding-left:1.6em;margin:.5em 0}.markdown-body li{margin:.35em 0}.markdown-body blockquote{margin:1em 0;padding:.6em 1em;border-left:4px solid var(--accent);background:var(--bg2);color:var(--text2);border-radius:0 var(--radius) var(--radius) 0}.markdown-body code{font-family:JetBrains Mono,Fira Code,Consolas,monospace;font-size:.875em;background:var(--code-bg);border:1px solid var(--border);border-radius:4px;padding:.15em .4em}.code-block-wrapper{position:relative;margin:1em 0;border-radius:var(--radius);border:1px solid var(--border);overflow:hidden}.code-lang-label{position:absolute;top:0;right:0;font-size:11px;font-family:JetBrains Mono,Fira Code,Consolas,monospace;color:var(--text2);background:var(--bg3);padding:3px 10px;border-radius:0 var(--radius) 0 var(--radius);border-left:1px solid var(--border);border-bottom:1px solid var(--border);-webkit-user-select:none;user-select:none;letter-spacing:.5px;text-transform:lowercase;line-height:1.6}.code-block-wrapper pre{margin:0;border:none;border-radius:0}.code-block-wrapper pre code{border:none;border-radius:0;background:none;padding:1em 1.2em;display:block;font-size:.85em;line-height:1.6;white-space:pre;overflow-x:auto}.markdown-body pre{margin:1em 0;border-radius:var(--radius);overflow-x:auto;background:var(--code-bg)!important;border:1px solid var(--border);-webkit-overflow-scrolling:touch}.markdown-body pre code{background:none;border:none;padding:1em 1.2em;display:block;font-size:.85em;line-height:1.6;white-space:pre}.markdown-body table{width:100%;border-collapse:collapse;margin:1em 0;font-size:14px;display:block;overflow-x:auto;-webkit-overflow-scrolling:touch}.markdown-body th,.markdown-body td{border:1px solid var(--border);padding:8px 12px;text-align:left;white-space:nowrap}.markdown-body th{background:var(--bg2);font-weight:600}.markdown-body tr:nth-child(2n){background:var(--bg2)}.markdown-body img{max-width:100%;height:auto;border-radius:var(--radius);margin:.5em 0;border:1px solid var(--border);display:block;transition:opacity .2s,transform .2s}.markdown-body img:hover{opacity:.9;transform:scale(1.01)}.markdown-body hr{border:none;border-top:1px solid var(--border);margin:1.5em 0}.hljs{background:var(--code-bg)!important}.code-file-header{font-size:12px;color:var(--text2);padding:10px 16px;background:var(--bg2);border:1px solid var(--border);border-bottom:none;border-radius:var(--radius) var(--radius) 0 0;font-family:JetBrains Mono,Fira Code,Consolas,monospace}.code-viewer{margin:0}.code-viewer pre{margin:0;border-radius:0 0 var(--radius) var(--radius);border:1px solid var(--border);border-top:none;background:var(--code-bg)!important;padding:16px 20px;overflow-x:auto;-webkit-overflow-scrolling:touch}.code-viewer code{font-family:JetBrains Mono,Fira Code,Consolas,monospace;font-size:13px;line-height:1.7;white-space:pre}:root.light .hljs{color:#3d3d3d}:root.light .hljs-keyword,:root.light .hljs-selector-tag{color:#a626a4}:root.light .hljs-string,:root.light .hljs-attr{color:#50a14f}:root.light .hljs-number,:root.light .hljs-literal{color:#986801}:root.light .hljs-comment{color:#a0a1a7;font-style:italic}:root.light .hljs-title,:root.light .hljs-name{color:#4078f2}:root.light .hljs-built_in{color:#c18401}:root.light .hljs-variable,:root.light .hljs-template-variable{color:#e45649}@media (max-width: 767px){.doc-viewer{padding:16px}.markdown-body{font-size:15px;line-height:1.75}.markdown-body h1{font-size:1.5em}.markdown-body h2{font-size:1.25em}.markdown-body h3{font-size:1.1em}.markdown-body pre,.code-block-wrapper{border-radius:6px}}.app{display:flex;flex-direction:column;height:100dvh;overflow:hidden}.topbar{display:flex;align-items:center;gap:12px;height:52px;padding:0 16px;background:var(--bg2);border-bottom:1px solid var(--border);box-shadow:var(--shadow);flex-shrink:0;z-index:200;position:relative}.menu-btn{display:flex;flex-direction:column;justify-content:center;gap:5px;background:none;border:none;cursor:pointer;padding:8px;border-radius:var(--radius);min-width:44px;min-height:44px;-webkit-tap-highlight-color:transparent;transition:background .15s}.menu-btn:hover{background:var(--bg3)}.menu-btn span{display:block;width:20px;height:2px;background:var(--text2);border-radius:1px;transition:transform .25s ease,opacity .2s ease;transform-origin:center}.menu-btn.active span:nth-child(1){transform:translateY(7px) rotate(45deg)}.menu-btn.active span:nth-child(2){opacity:0}.menu-btn.active span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.logo{font-size:16px;font-weight:600;color:var(--text);white-space:nowrap;flex:1;letter-spacing:.3px}.logo span{color:var(--accent)}.theme-btn{background:none;border:none;cursor:pointer;font-size:20px;padding:6px;border-radius:var(--radius);min-width:44px;min-height:44px;display:flex;align-items:center;justify-content:center;-webkit-tap-highlight-color:transparent;transition:background .15s,transform .2s ease}.theme-btn:hover{background:var(--bg3)}.theme-btn:active{transform:scale(.9)}.main{display:flex;flex:1;overflow:hidden;position:relative}.overlay{display:none;position:fixed;top:52px;right:0;bottom:0;left:0;background:#00000080;z-index:99;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@media (max-width: 767px){.overlay{display:block}}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%;touch-action:manipulation}:root{--sidebar-w: 260px;--radius: 6px;--shadow: 0 1px 3px rgba(0,0,0,.3);--bg: #0f1117;--bg2: #161b22;--bg3: #1c2128;--border: #30363d;--text: #e6edf3;--text2: #8b949e;--accent: #58a6ff;--accent-hover: #79c0ff;--code-bg: #161b22}:root.light{--shadow: 0 1px 4px rgba(0,0,0,.08);--bg: #f5f0e8;--bg2: #ede8df;--bg3: #e4ddd2;--border: #ccc4b4;--text: #2d2a24;--text2: #7a7060;--accent: #b05a00;--accent-hover: #d46f00;--code-bg: #ede8df}html,body,#root{height:100%;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif;background:var(--bg);color:var(--text);font-size:15px;line-height:1.6;transition:background .3s ease,color .3s ease}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--text2)}
