#root{width:100%;min-height:100vh}:root[data-theme=light]{--bg-primary: #ffffff;--bg-secondary: #f6f8fa;--bg-tertiary: #f0f0f0;--bg-hover: #e8e8e8;--text-primary: #24292f;--text-secondary: #57606a;--text-muted: #8b949e;--border-color: #d0d7de;--border-color-strong: #8c959f;--accent-color: #0969da;--accent-hover: #0550ae;--code-bg: #f6f8fa;--code-text: #24292f;--syntax-keyword: #cf222e;--syntax-string: #0a3069;--syntax-comment: #6e7781;--syntax-function: #8250df;--syntax-number: #0550ae;--syntax-operator: #24292f;--syntax-class: #953800;--scrollbar-bg: #f0f0f0;--scrollbar-thumb: #c1c1c1;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px rgba(0, 0, 0, .1);--shadow-lg: 0 10px 15px rgba(0, 0, 0, .1);--dropzone-border: #0969da;--dropzone-bg: rgba(9, 105, 218, .05)}:root[data-theme=dark]{--bg-primary: #0d1117;--bg-secondary: #161b22;--bg-tertiary: #21262d;--bg-hover: #30363d;--text-primary: #e6edf3;--text-secondary: #8b949e;--text-muted: #6e7681;--border-color: #30363d;--border-color-strong: #484f58;--accent-color: #58a6ff;--accent-hover: #79c0ff;--code-bg: #161b22;--code-text: #e6edf3;--syntax-keyword: #ff7b72;--syntax-string: #a5d6ff;--syntax-comment: #8b949e;--syntax-function: #d2a8ff;--syntax-number: #79c0ff;--syntax-operator: #e6edf3;--syntax-class: #ffa657;--scrollbar-bg: #21262d;--scrollbar-thumb: #484f58;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .3);--shadow-md: 0 4px 6px rgba(0, 0, 0, .4);--shadow-lg: 0 10px 15px rgba(0, 0, 0, .5);--dropzone-border: #58a6ff;--dropzone-bg: rgba(88, 166, 255, .1)}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Noto Sans,Helvetica,Arial,sans-serif;font-size:16px;line-height:1.6;color:var(--text-primary);background-color:var(--bg-primary);transition:background-color .2s ease,color .2s ease}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--scrollbar-bg)}::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--border-color-strong)}::selection{background-color:var(--accent-color);color:#fff}a{color:var(--accent-color);text-decoration:none}a:hover{text-decoration:underline}button{font-family:inherit;font-size:inherit;cursor:pointer;border:none;background:none;color:inherit}@media print{:root{--bg-primary: white;--text-primary: black;--border-color: #ccc}body{background:#fff;color:#000}.no-print{display:none!important}.print-only{display:block!important}}.markdown-body{font-size:16px;line-height:1.7;word-wrap:break-word;color:var(--text-primary)}.markdown-body h1,.markdown-body h2,.markdown-body h3,.markdown-body h4,.markdown-body h5,.markdown-body h6{margin-top:1.5em;margin-bottom:.5em;font-weight:600;line-height:1.3;color:var(--text-primary)}.markdown-body h1:first-child,.markdown-body h2:first-child,.markdown-body h3:first-child{margin-top:0}.markdown-body h1{font-size:2em;padding-bottom:.3em;border-bottom:1px solid var(--border-color)}.markdown-body h2{font-size:1.5em;padding-bottom:.3em;border-bottom:1px solid var(--border-color)}.markdown-body h3{font-size:1.25em}.markdown-body h4{font-size:1em}.markdown-body h5{font-size:.875em}.markdown-body h6{font-size:.85em;color:var(--text-secondary)}.markdown-body p{margin-top:0;margin-bottom:1em}.markdown-body a{color:var(--accent-color);text-decoration:none}.markdown-body a:hover{text-decoration:underline}.markdown-body ul,.markdown-body ol{margin-top:0;margin-bottom:1em;padding-left:2em}.markdown-body li{margin-bottom:.25em}.markdown-body li+li{margin-top:.25em}.markdown-body ul ul,.markdown-body ul ol,.markdown-body ol ul,.markdown-body ol ol{margin-top:.25em;margin-bottom:0}.markdown-body input[type=checkbox]{margin-right:.5em;vertical-align:middle}.markdown-body blockquote{margin:1em 0;padding:.5em 1em;border-left:4px solid var(--accent-color);background-color:var(--bg-secondary);color:var(--text-secondary)}.markdown-body blockquote>:first-child{margin-top:0}.markdown-body blockquote>:last-child{margin-bottom:0}.markdown-body code.inline-code{padding:.2em .4em;margin:0;font-size:85%;background-color:var(--code-bg);border-radius:4px;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;color:var(--code-text)}.markdown-body pre.code-block{padding:1em;overflow:auto;font-size:85%;line-height:1.45;background-color:var(--code-bg);border-radius:6px;margin:1em 0}.markdown-body pre.code-block code{display:block;padding:0;margin:0;overflow:visible;line-height:inherit;word-wrap:normal;background-color:transparent;border:0;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace}.markdown-body table{width:100%;margin:1em 0;border-collapse:collapse;border-spacing:0;overflow:auto}.markdown-body table th,.markdown-body table td{padding:.75em 1em;border:1px solid var(--border-color);text-align:left}.markdown-body table th{font-weight:600;background-color:var(--bg-secondary)}.markdown-body table tr:nth-child(2n){background-color:var(--bg-secondary)}.markdown-body hr{height:2px;padding:0;margin:1.5em 0;background-color:var(--border-color);border:0}.markdown-body img{max-width:100%;height:auto;border-radius:4px}.markdown-body strong{font-weight:600}.markdown-body em{font-style:italic}.markdown-body del{text-decoration:line-through}.markdown-body dl{margin:1em 0}.markdown-body dt{font-weight:600;margin-top:1em}.markdown-body dd{margin-left:2em;margin-bottom:.5em}.mermaid-wrapper{margin:1.5em 0;padding:1em;background-color:var(--bg-secondary);border-radius:6px;overflow:auto}.markdown-body .mermaid{display:flex;justify-content:center;background:transparent}.markdown-body .mermaid svg{max-width:100%;height:auto}.mermaid-error{padding:1em;background-color:#ffebee;border:1px solid #f44336;border-radius:4px;color:#c62828}[data-theme=dark] .mermaid-error{background-color:#3d1f1f;border-color:#d32f2f;color:#ef9a9a}.mermaid-error p{margin:0 0 .5em;font-weight:600}.mermaid-error pre{margin:0;padding:.5em;background-color:#0000001a;border-radius:4px;font-size:12px;overflow:auto}.math-block{margin:1.5em 0;padding:1em;overflow-x:auto;text-align:center;background-color:var(--bg-secondary);border-radius:6px}.math-inline{padding:0 .2em}.katex{font-size:1.1em}.math-block .katex{font-size:1.2em}@media print{.markdown-body{font-size:12pt;line-height:1.5}.markdown-body h1{font-size:24pt}.markdown-body h2{font-size:18pt}.markdown-body h3{font-size:14pt}.markdown-body pre.code-block{white-space:pre-wrap;word-wrap:break-word}.mermaid-wrapper{page-break-inside:avoid}}:root[data-theme=light] code[class*=language-],:root[data-theme=light] pre[class*=language-]{color:#24292f;background:none;text-shadow:none;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;font-size:85%;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;word-wrap:normal;line-height:1.5;tab-size:4;-webkit-hyphens:none;hyphens:none}:root[data-theme=light] .token.comment,:root[data-theme=light] .token.prolog,:root[data-theme=light] .token.doctype,:root[data-theme=light] .token.cdata{color:#6e7781}:root[data-theme=light] .token.punctuation{color:#24292f}:root[data-theme=light] .token.property,:root[data-theme=light] .token.tag,:root[data-theme=light] .token.boolean,:root[data-theme=light] .token.number,:root[data-theme=light] .token.constant,:root[data-theme=light] .token.symbol,:root[data-theme=light] .token.deleted{color:#0550ae}:root[data-theme=light] .token.selector,:root[data-theme=light] .token.attr-name,:root[data-theme=light] .token.string,:root[data-theme=light] .token.char,:root[data-theme=light] .token.builtin,:root[data-theme=light] .token.inserted{color:#0a3069}:root[data-theme=light] .token.operator,:root[data-theme=light] .token.entity,:root[data-theme=light] .token.url,:root[data-theme=light] .language-css .token.string,:root[data-theme=light] .style .token.string{color:#24292f}:root[data-theme=light] .token.atrule,:root[data-theme=light] .token.attr-value,:root[data-theme=light] .token.keyword{color:#cf222e}:root[data-theme=light] .token.function,:root[data-theme=light] .token.class-name{color:#8250df}:root[data-theme=light] .token.regex,:root[data-theme=light] .token.important,:root[data-theme=light] .token.variable{color:#953800}:root[data-theme=dark] code[class*=language-],:root[data-theme=dark] pre[class*=language-]{color:#e6edf3;background:none;text-shadow:none;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;font-size:85%;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;word-wrap:normal;line-height:1.5;tab-size:4;-webkit-hyphens:none;hyphens:none}:root[data-theme=dark] .token.comment,:root[data-theme=dark] .token.prolog,:root[data-theme=dark] .token.doctype,:root[data-theme=dark] .token.cdata{color:#8b949e}:root[data-theme=dark] .token.punctuation{color:#e6edf3}:root[data-theme=dark] .token.property,:root[data-theme=dark] .token.tag,:root[data-theme=dark] .token.boolean,:root[data-theme=dark] .token.number,:root[data-theme=dark] .token.constant,:root[data-theme=dark] .token.symbol,:root[data-theme=dark] .token.deleted{color:#79c0ff}:root[data-theme=dark] .token.selector,:root[data-theme=dark] .token.attr-name,:root[data-theme=dark] .token.string,:root[data-theme=dark] .token.char,:root[data-theme=dark] .token.builtin,:root[data-theme=dark] .token.inserted{color:#a5d6ff}:root[data-theme=dark] .token.operator,:root[data-theme=dark] .token.entity,:root[data-theme=dark] .token.url,:root[data-theme=dark] .language-css .token.string,:root[data-theme=dark] .style .token.string{color:#e6edf3}:root[data-theme=dark] .token.atrule,:root[data-theme=dark] .token.attr-value,:root[data-theme=dark] .token.keyword{color:#ff7b72}:root[data-theme=dark] .token.function,:root[data-theme=dark] .token.class-name{color:#d2a8ff}:root[data-theme=dark] .token.regex,:root[data-theme=dark] .token.important,:root[data-theme=dark] .token.variable{color:#ffa657}.token.important,.token.bold{font-weight:700}.token.italic{font-style:italic}.token.entity{cursor:help}.app{min-height:100vh;display:flex;flex-direction:column}.toolbar{position:sticky;top:0;z-index:100;display:flex;align-items:center;justify-content:space-between;padding:.75rem 1.5rem;background-color:var(--bg-secondary);border-bottom:1px solid var(--border-color);box-shadow:var(--shadow-sm)}.toolbar-left{display:flex;align-items:center;gap:1.5rem;min-width:0}.toolbar-right{display:flex;align-items:center;gap:.75rem}.app-title{display:flex;align-items:center;gap:.5rem;color:var(--text-primary)}.app-title h1{font-size:1.25rem;font-weight:600;margin:0;white-space:nowrap}.current-file{display:flex;align-items:center;gap:.5rem;padding:.25rem .75rem;background-color:var(--bg-tertiary);border-radius:6px;max-width:300px}.file-label{font-size:.75rem;color:var(--text-secondary);white-space:nowrap}.current-file .file-name{font-size:.875rem;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.clear-file-btn{display:flex;align-items:center;justify-content:center;padding:.25rem;color:var(--text-secondary);border-radius:4px;transition:all .15s ease}.clear-file-btn:hover{color:var(--text-primary);background-color:var(--bg-hover)}.toolbar-btn{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;background-color:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:6px;color:var(--text-primary);font-size:.875rem;transition:all .15s ease}.toolbar-btn:hover{background-color:var(--bg-hover);border-color:var(--border-color-strong)}a.toolbar-btn{text-decoration:none}.theme-toggle{display:flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;background-color:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:6px;color:var(--text-primary);transition:all .15s ease}.theme-toggle:hover{background-color:var(--bg-hover);border-color:var(--border-color-strong)}.main-container{flex:1;display:flex;width:100%;max-width:1400px;margin:0 auto;padding:0}.sidebar{position:sticky;top:105px;width:280px;min-width:280px;max-height:calc(100vh - 105px);padding:1.5rem 1rem;border-right:1px solid var(--border-color);overflow-y:auto;transition:width .2s ease,min-width .2s ease}.sidebar.collapsed{width:60px;min-width:60px}.toc{position:sticky;top:0}.toc-toggle{display:flex;align-items:center;gap:.5rem;width:100%;padding:.5rem .75rem;background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:6px;color:var(--text-primary);font-size:.875rem;font-weight:500;transition:all .15s ease}.toc-toggle:hover{background-color:var(--bg-hover)}.toc.collapsed .toc-title{display:none}.toc-list{list-style:none;padding:0;margin:.75rem 0 0}.toc-item{margin:0}.toc-item a{display:block;padding:.375rem .75rem;font-size:.875rem;color:var(--text-secondary);border-radius:4px;text-decoration:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:all .15s ease}.toc-item a:hover{color:var(--text-primary);background-color:var(--bg-secondary)}.toc-item.active a{color:var(--accent-color);background-color:var(--dropzone-bg);font-weight:500}.toc-item.level-2 a{padding-left:1.5rem}.toc-item.level-3 a{padding-left:2.25rem}.toc-item.level-4 a{padding-left:3rem}.content{flex:1;min-width:0;padding:2rem 3rem;max-width:900px}.welcome-screen{flex:1;display:flex;align-items:center;justify-content:center;padding:2rem}.welcome-content{max-width:600px;text-align:center}.welcome-content h2{font-size:2rem;font-weight:600;color:var(--text-primary);margin:0 0 .5rem}.welcome-content>p{font-size:1.125rem;color:var(--text-secondary);margin-bottom:1.5rem}.feature-list{display:flex;flex-wrap:wrap;justify-content:center;gap:.5rem 1rem;list-style:none;padding:0;margin:0 0 2rem}.feature-list li{font-size:.875rem;color:var(--text-secondary);padding:.25rem .75rem;background-color:var(--bg-secondary);border-radius:20px}.drop-zone{position:relative;display:flex;align-items:center;justify-content:center;padding:3rem 4rem;min-height:200px;border:2px dashed var(--border-color);border-radius:12px;background-color:var(--bg-secondary);cursor:pointer;transition:all .2s ease}.drop-zone:hover{border-color:var(--dropzone-border);background-color:var(--dropzone-bg)}.drop-zone.dragging{border-color:var(--dropzone-border);background-color:var(--dropzone-bg);border-style:solid}.drop-zone.has-file{padding:1rem}.drop-zone .file-input{position:absolute;width:0;height:0;opacity:0;pointer-events:none}.drop-zone-content{display:flex;flex-direction:column;align-items:center;gap:.5rem;color:var(--text-secondary)}.drop-zone-content svg{color:var(--text-muted)}.drop-text{font-size:1rem;font-weight:500;color:var(--text-primary)}.drop-hint{font-size:.75rem;color:var(--text-muted)}.drop-zone.has-file .file-name{font-size:.875rem;font-weight:500;color:var(--text-primary)}.drop-zone-error{position:absolute;bottom:-1.75rem;left:0;right:0;text-align:center;font-size:.75rem;color:#ef4444}.drop-zone.compact{padding:.5rem;min-height:auto;border-radius:6px;border-width:1px}.drop-zone.compact .drop-zone-content{gap:0}.drop-zone.compact:hover{background-color:var(--dropzone-bg)}.tab-bar{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background-color:var(--bg-secondary);border-bottom:1px solid var(--border-color);overflow-x:auto}.tabs{display:flex;align-items:center;gap:.25rem;flex:1;min-width:0;overflow-x:auto}.tab{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;background-color:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:6px;cursor:pointer;transition:all .15s ease;max-width:200px}.tab:hover{background-color:var(--bg-hover)}.tab.active{background-color:var(--bg-primary);border-color:var(--accent-color)}.tab-name{font-size:.813rem;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tab-close{display:flex;align-items:center;justify-content:center;padding:.125rem;color:var(--text-muted);border-radius:4px;transition:all .15s ease;flex-shrink:0}.tab-close:hover{color:var(--text-primary);background-color:var(--bg-hover)}.tab-dropzone{flex-shrink:0}@media(max-width:768px){.toolbar{padding:.5rem 1rem;flex-wrap:wrap;gap:.5rem}.btn-text{display:none}.main-container{flex-direction:column}.sidebar{position:static;width:100%;min-width:100%;max-height:none;border-right:none;border-bottom:1px solid var(--border-color);padding:1rem}.content{padding:1.5rem 1rem}}@media print{.app{display:block}.main-container{display:block;max-width:none}.content{padding:0;max-width:none}.welcome-screen{display:none}}
