*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg-primary: #0f1117;--bg-sidebar: #161b22;--bg-editor: #0d1117;--accent: #7c5cbf;--accent-h: #9070d4;--text-pri: #e6edf3;--text-muted: #7d8590;--border: #30363d;--success: #3fb950;--danger: #f85149;--warning: #e3b341;--font-ui: "Inter", -apple-system, BlinkMacSystemFont, sans-serif;--font-code: "JetBrains Mono", "Fira Code", monospace}html,body,#root{height:100%;overflow:hidden}body{font-family:var(--font-ui);background:var(--bg-primary);color:var(--text-pri);font-size:14px;-webkit-font-smoothing:antialiased}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#2d333b;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#444c56}.app{display:flex;height:100vh;overflow:hidden}.sidebar{width:260px;min-width:260px;background:var(--bg-sidebar);border-right:1px solid var(--border);display:flex;flex-direction:column;overflow:hidden;transition:width .2s ease,min-width .2s ease;flex-shrink:0}.sidebar.collapsed{width:32px;min-width:32px;align-items:center;padding-top:8px}.sidebar-collapse-btn{background:none;border:none;color:var(--text-muted);cursor:pointer;font-size:14px;padding:4px;border-radius:4px}.sidebar-collapse-btn:hover{color:var(--text-pri);background:#ffffff0f}.sidebar-header{display:flex;align-items:center;justify-content:space-between;padding:10px 10px 10px 12px;border-bottom:1px solid var(--border);flex-shrink:0}.sidebar-title{font-size:13px;font-weight:600;color:var(--text-pri);letter-spacing:.4px}.sidebar-search{padding:7px 8px;border-bottom:1px solid var(--border);flex-shrink:0}.search-input{width:100%;background:var(--bg-primary);border:1px solid var(--border);border-radius:6px;color:var(--text-pri);font-size:12px;font-family:var(--font-ui);padding:5px 9px;outline:none;transition:border-color .15s}.search-input:focus{border-color:var(--accent)}.search-input::placeholder{color:var(--text-muted)}.sidebar-scroll{flex:1;overflow-y:auto;overflow-x:hidden}.tree-root{padding:4px 0}.tree-item{position:relative;display:flex;align-items:center;padding:3px 8px;cursor:pointer;border-radius:4px;margin:0 4px;gap:4px;min-height:26px;-webkit-user-select:none;user-select:none}.tree-item:hover{background:#ffffff0a}.tree-item.active{background:#7c5cbf2e}.tree-item.active .tree-name{color:var(--accent)}.tree-icon{flex-shrink:0;font-size:11px;color:var(--text-muted);width:12px;text-align:center;line-height:1}.tree-icon.folder{color:var(--accent);opacity:.85;font-size:10px}.tree-name{flex:1;font-size:13px;color:var(--text-pri);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tree-meta{font-size:10px;color:var(--text-muted);padding-bottom:2px;display:block}.tree-empty{font-size:11px;color:var(--text-muted);padding:2px 0;font-style:italic}.tree-actions{display:none;align-items:center;gap:1px;margin-left:auto;flex-shrink:0}.tree-item:hover .tree-actions{display:flex}.rename-input{flex:1;background:var(--bg-primary);border:1px solid var(--accent);border-radius:3px;color:var(--text-pri);font-size:13px;font-family:var(--font-ui);padding:1px 5px;outline:none;min-width:0}.icon-btn{background:none;border:none;color:var(--text-muted);cursor:pointer;padding:2px 4px;border-radius:3px;font-size:11px;line-height:1;display:inline-flex;align-items:center;justify-content:center;transition:background .12s,color .12s}.icon-btn:hover{background:#ffffff14;color:var(--text-pri)}.icon-btn.danger:hover{color:var(--danger)}.btn{font-family:var(--font-ui);font-size:12px;border:none;border-radius:5px;padding:6px 12px;cursor:pointer;display:inline-flex;align-items:center;gap:5px;transition:background .15s}.btn-accent{background:var(--accent);color:#fff}.btn-accent:hover{background:var(--accent-h)}.main-area{flex:1;display:flex;flex-direction:column;overflow:hidden;position:relative;min-width:0}.toolbar{display:flex;align-items:center;padding:0 10px;height:40px;background:var(--bg-sidebar);border-bottom:1px solid var(--border);gap:8px;flex-shrink:0;overflow:hidden}.toolbar-left{display:flex;align-items:center;flex:1;min-width:0;overflow:hidden}.toolbar-center{flex-shrink:0}.toolbar-right{display:flex;align-items:center;gap:8px;flex-shrink:0}.breadcrumb{font-size:12px;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.breadcrumb-sep{margin:0 4px;color:var(--border)}.breadcrumb-part{color:var(--text-muted)}.breadcrumb-current{color:var(--text-pri);font-weight:500}.breadcrumb-empty{font-size:12px;color:var(--text-muted);font-style:italic}.view-toggle{display:flex;background:var(--bg-primary);border:1px solid var(--border);border-radius:6px;overflow:hidden}.view-btn{background:none;border:none;color:var(--text-muted);cursor:pointer;padding:4px 10px;font-size:11px;font-family:var(--font-ui);transition:background .12s,color .12s}.view-btn:hover{background:#ffffff0d;color:var(--text-pri)}.view-btn.active{background:var(--accent);color:#fff}.toolbar-btn{background:none;border:1px solid transparent;border-radius:4px;color:var(--text-muted);cursor:pointer;padding:3px 7px;font-size:11px;font-family:var(--font-ui);transition:background .12s,border-color .12s,color .12s;white-space:nowrap}.toolbar-btn:hover{border-color:var(--border);color:var(--text-pri);background:#ffffff0a}.toolbar-btn.active{background:#7c5cbf2e;border-color:var(--accent);color:var(--accent)}.toolbar-btn:disabled{opacity:.4;cursor:not-allowed}.word-count{font-size:11px;color:var(--text-muted);white-space:nowrap;font-variant-numeric:tabular-nums}.save-status{font-size:11px;white-space:nowrap}.status-saved{color:var(--success)}.status-saving{color:var(--warning)}.status-unsaved{color:var(--danger)}.editor-area{flex:1;display:flex;overflow:hidden;min-height:0}.editor-area.view-editor .cm-editor-wrap{flex:1}.editor-area.view-editor .preview-pane{display:none}.editor-area.view-split .cm-editor-wrap{flex:1;border-right:1px solid var(--border)}.editor-area.view-split .preview-pane{flex:1}.editor-area.view-preview .cm-editor-wrap{display:none}.editor-area.view-preview .preview-pane{flex:1}.cm-editor-wrap{background:var(--bg-editor);overflow:hidden;display:flex;flex-direction:column;min-width:0}.cm-editor-wrap>.cm-editor{flex:1;min-height:0}.editor-empty{display:flex;align-items:center;justify-content:center;flex:1;color:var(--text-muted);font-size:14px;background:var(--bg-editor)}.preview-pane{background:var(--bg-editor);overflow-y:auto;padding:28px 36px;color:var(--text-pri);font-family:var(--font-ui);font-size:15px;line-height:1.75;min-width:0}.preview-pane.preview-empty{display:flex;align-items:center;justify-content:center;padding:0;color:var(--text-muted);font-size:14px}.preview-pane h1,.preview-pane h2,.preview-pane h3,.preview-pane h4,.preview-pane h5,.preview-pane h6{margin-top:1.5em;margin-bottom:.5em;font-weight:600;line-height:1.3}.preview-pane h1{font-size:1.9em;border-bottom:1px solid var(--border);padding-bottom:.3em;margin-top:0}.preview-pane h2{font-size:1.45em;border-bottom:1px solid var(--border);padding-bottom:.2em}.preview-pane h3{font-size:1.2em}.preview-pane h4{font-size:1em}.preview-pane p{margin-bottom:1em}.preview-pane a{color:var(--accent);text-decoration:none}.preview-pane a:hover{text-decoration:underline;opacity:.85}.preview-pane strong{font-weight:600}.preview-pane em{color:#aac8e8;font-style:italic}.preview-pane ul,.preview-pane ol{margin-bottom:1em;padding-left:1.6em}.preview-pane li{margin-bottom:.3em}.preview-pane blockquote{border-left:3px solid var(--accent);margin:1em 0;padding:.6em 1em;color:var(--text-muted);background:#7c5cbf12;border-radius:0 4px 4px 0}.preview-pane blockquote p{margin:0}.preview-pane code{font-family:var(--font-code);font-size:.875em;background:#ffffff14;padding:.15em .4em;border-radius:3px;color:#e8a87c}.preview-pane pre{margin:1em 0;border-radius:6px;overflow:hidden}.preview-pane pre code{background:none;padding:0;color:inherit;font-size:1em}.preview-pane table{border-collapse:collapse;width:100%;margin-bottom:1em}.preview-pane th,.preview-pane td{border:1px solid var(--border);padding:7px 14px;text-align:left}.preview-pane th{background:#ffffff0a;font-weight:600}.preview-pane tr:hover td{background:#ffffff05}.preview-pane img{max-width:100%;border-radius:5px;margin:.5em 0}.preview-pane hr{border:none;border-top:1px solid var(--border);margin:1.5em 0}.preview-pane input[type=checkbox]{margin-right:6px;accent-color:var(--accent);width:14px;height:14px;cursor:default}.history-panel{position:absolute;top:40px;right:0;bottom:0;width:280px;background:var(--bg-sidebar);border-left:1px solid var(--border);display:flex;flex-direction:column;z-index:50;box-shadow:-6px 0 20px #00000073}.history-header{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;border-bottom:1px solid var(--border);font-size:13px;font-weight:600;flex-shrink:0}.history-list{list-style:none;overflow-y:auto;flex:1}.history-item{padding:10px 12px;cursor:pointer;border-bottom:1px solid rgba(48,54,61,.5);font-size:12px;transition:background .1s}.history-item:hover{background:#ffffff0a}.history-item.selected{background:#7c5cbf24;border-left:2px solid var(--accent)}.history-ts{color:var(--text-muted)}.history-empty{padding:14px 12px;font-size:13px;color:var(--text-muted);font-style:italic}.history-actions{padding:12px;border-top:1px solid var(--border);display:flex;flex-direction:column;gap:8px;flex-shrink:0}.history-preview-label{font-size:11px;color:var(--accent)}.search-results{padding:4px 0}.search-result{padding:9px 12px;cursor:pointer;border-bottom:1px solid rgba(48,54,61,.35);transition:background .1s}.search-result:hover{background:#ffffff0a}.search-result-name{font-size:13px;color:var(--text-pri);font-weight:500;margin-bottom:2px}.search-result-path{font-size:10px;color:var(--text-muted);margin-bottom:4px;font-family:var(--font-code)}.search-result-snippet{font-size:11px;color:var(--text-muted);line-height:1.45;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.search-empty{padding:12px;font-size:12px;color:var(--text-muted);font-style:italic}@media (max-width: 768px){.sidebar{position:fixed;top:0;left:0;height:100vh;z-index:200;transition:transform .25s ease;transform:translate(0)}.sidebar.collapsed{transform:translate(-100%);width:260px;min-width:260px}.main-area{width:100%}}
