:root{--bg:#f6f7f9;--panel:#fff;--border:#e3e6ea;--text:#2b2f36;--muted:#7b8494;--accent:#2f6fed;--accent-soft:#eaf0fe;--code-bg:#f0f2f5}
*{box-sizing:border-box}
html,body{margin:0;height:100%;font-family:-apple-system,"Segoe UI","PingFang SC","Microsoft YaHei","Noto Sans CJK SC",sans-serif;color:var(--text);background:var(--bg)}
.layout{display:flex;height:100vh}
.sidebar{width:300px;flex-shrink:0;background:var(--panel);border-right:1px solid var(--border);display:flex;flex-direction:column;overflow:hidden;transition:width .2s ease}
.sidebar-header{display:flex;align-items:center;gap:8px;padding:16px 18px;font-size:17px;font-weight:700;border-bottom:1px solid var(--border)}
.sidebar-header .logo{font-size:20px}
.collapse-btn{margin-left:auto;border:none;background:transparent;padding:4px 8px;border-radius:6px;font-size:18px;line-height:1;color:var(--muted);cursor:pointer}
.collapse-btn:hover{background:#f2f4f7;color:var(--text)}
@media(min-width:721px){.layout.sidebar-collapsed .sidebar{width:56px}.layout.sidebar-collapsed .sidebar-header{justify-content:center;padding:16px 0}.layout.sidebar-collapsed .side-title,.layout.sidebar-collapsed .file-list{display:none}.layout.sidebar-collapsed .collapse-btn{margin-left:0}}
.file-list{flex:1;overflow-y:auto;padding:10px 8px 20px}
.file-group{margin-bottom:6px}
.file-group-title{padding:8px 10px 4px;font-size:12px;font-weight:600;color:var(--muted);letter-spacing:.5px;text-transform:uppercase;cursor:pointer;display:flex;align-items:center;gap:4px;user-select:none}
.file-group-title:hover{color:var(--text)}
.group-arrow{font-size:10px;color:var(--muted);transition:transform .15s ease}
.file-group.collapsed .group-arrow,.file-subgroup.collapsed .group-arrow{transform:rotate(-90deg)}
.file-group.collapsed .file-group-body{display:none}
.file-subgroup{margin-bottom:2px}
.file-subgroup-title{padding:6px 10px 4px 24px;font-size:11px;font-weight:600;color:var(--muted);cursor:pointer;display:flex;align-items:center;gap:4px;user-select:none}
.file-subgroup-title:hover{color:var(--text)}
.file-subgroup.collapsed .file-item{display:none}
.file-item{display:block;width:100%;text-align:left;padding:8px 10px;margin:1px 0;border:none;border-radius:8px;background:transparent;font-size:14px;color:var(--text);cursor:pointer;line-height:1.4}
.file-subgroup .file-item{padding-left:34px}
.file-item:hover{background:#f2f4f7}
.file-item.active{background:var(--accent-soft);color:var(--accent);font-weight:600}
.content{flex:1;overflow-y:auto;padding:32px 10px 20px}
.doc-view{width:100%;max-width:1000px;margin:0 auto;background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:40px 52px;line-height:1.75;font-size:15.5px}
.doc-view h1{font-size:26px;border-bottom:2px solid var(--border);padding-bottom:12px;margin:0 0 20px}
.doc-view h2{font-size:21px;margin-top:34px;padding-bottom:8px;border-bottom:1px solid var(--border)}
.doc-view h3{font-size:18px;margin-top:26px}
.doc-view h4{font-size:16px;margin-top:20px}
.doc-view a{color:var(--accent);text-decoration:none}
.doc-view a:hover{text-decoration:underline}
.doc-view blockquote{margin:16px 0;padding:12px 18px;border-left:4px solid var(--accent);background:var(--accent-soft);border-radius:0 8px 8px 0;color:#44506b}
.doc-view blockquote p{margin:6px 0}
.doc-view code{background:var(--code-bg);padding:2px 6px;border-radius:4px;font-family:"SF Mono",Consolas,"Courier New",monospace;font-size:13.5px}
.doc-view pre{background:#1e2228;color:#e6e9ef;padding:16px 18px;border-radius:8px;overflow-x:auto}
.doc-view pre code{background:transparent;color:inherit;padding:0}
.doc-view table{border-collapse:collapse;width:100%;margin:18px 0;font-size:14.5px}
.doc-view th,.doc-view td{border:1px solid var(--border);padding:8px 12px;text-align:left;vertical-align:top}
.doc-view th{background:#f7f8fa;font-weight:600;white-space:nowrap}
.doc-view tr:nth-child(even) td{background:#fafbfc}
.doc-view ul,.doc-view ol{padding-left:24px}
.doc-view li{margin:4px 0}
.doc-view li.task-list-item{list-style:none;margin-left:-22px}
.doc-view input[type="checkbox"]{margin-right:8px;accent-color:var(--accent)}
.doc-view hr{border:none;border-top:1px solid var(--border);margin:28px 0}
.doc-view img{max-width:100%;height:auto;display:block;border-radius:8px}
.doc-view .placeholder{color:var(--muted);text-align:center;padding:80px 0;font-size:15px}
.doc-view .md-title{font-size:24px;font-weight:700;margin-bottom:4px}
.doc-wrap{width:100%;max-width:1000px;margin:0 auto}
.doc-nav{display:flex;gap:12px;margin-top:16px;max-width:1000px;margin-left:auto;margin-right:auto}
.nav-btn{flex:1;padding:12px 16px;border:1px solid var(--border);border-radius:10px;background:var(--panel);font-size:15px;color:var(--text);cursor:pointer;transition:background .15s ease,color .15s ease}
.nav-btn:hover:not(:disabled){background:var(--accent-soft);color:var(--accent)}
.nav-btn:disabled{opacity:.45;cursor:default}
.table-wrap{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;margin:18px 0}
.table-wrap table{margin:0}
.mobile-bar{display:none;height:48px;align-items:center;gap:10px;padding:0 14px;background:var(--panel);border-bottom:1px solid var(--border)}
.menu-btn{border:none;background:transparent;font-size:22px;line-height:1;padding:6px 8px;cursor:pointer;color:var(--text);border-radius:6px}
.menu-btn:active{background:#eef0f4}
.mobile-title{font-size:15px;font-weight:600;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.scrim{position:fixed;inset:0;background:rgba(15,20,30,.45);z-index:30}
@media(max-width:720px){.mobile-bar{display:flex}.collapse-btn{display:none}.layout{flex-direction:column;height:calc(100dvh - 48px)}.sidebar{position:fixed;top:48px;left:0;bottom:0;width:min(82vw,320px);z-index:40;border-right:none;box-shadow:4px 0 24px rgba(15,20,30,.12);transform:translateX(-105%);transition:transform .25s ease}.sidebar.open{transform:translateX(0)}.content{padding:12px 12px 20px;overflow-y:auto}.doc-view{padding:18px 16px 40px;border-radius:10px;font-size:15px;line-height:1.7}.doc-view .md-title{font-size:20px}.doc-view h1{font-size:21px}.doc-view h2{font-size:18px;margin-top:26px}.doc-view h3{font-size:16px;margin-top:22px}.doc-view th,.doc-view td{padding:6px 10px;font-size:13.5px;white-space:normal}}
