:root{--bg: #ffffff;--bg-secondary: #f8f9fa;--text: #1a1a2e;--text-secondary: #6b7280;--border: #e5e7eb;--accent: #3b82f6;--accent-hover: #2563eb;--dropzone-bg: #f0f4ff;--code-bg: #f1f5f9;--radius: 8px;--shadow: 0 1px 3px rgba(0, 0, 0, .08)}@media(prefers-color-scheme:dark){:root{--bg: #0f172a;--bg-secondary: #1e293b;--text: #e2e8f0;--text-secondary: #94a3b8;--border: #334155;--accent: #60a5fa;--accent-hover: #3b82f6;--dropzone-bg: #1e293b;--code-bg: #1e293b}}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--text);min-height:100vh}.app{display:flex;flex-direction:column;height:100vh;overflow:hidden}.header{display:flex;align-items:center;justify-content:space-between;padding:16px 24px;border-bottom:1px solid var(--border);background:var(--bg-secondary);gap:16px;flex-wrap:wrap}.header-title{font-size:1.25rem;font-weight:700;white-space:nowrap}.header-actions{display:flex;align-items:center;gap:12px}.header-filename{font-size:.85rem;color:var(--text-secondary);max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.btn{padding:8px 16px;border:none;border-radius:var(--radius);font-size:.9rem;font-weight:500;cursor:pointer;transition:background .15s,opacity .15s}.btn-open{background:var(--accent);color:#fff}.btn-open:hover{background:var(--accent-hover)}.btn-folder{background:var(--bg);color:var(--text);border:1px solid var(--border)}.btn-folder:hover{background:var(--bg-secondary)}.btn-pdf{background:var(--bg);color:var(--text);border:1px solid var(--border)}.btn-pdf:disabled{opacity:.4;cursor:not-allowed}.app-body{display:flex;flex:1;overflow:hidden}.sidebar{width:260px;min-width:200px;border-right:1px solid var(--border);background:var(--bg-secondary);display:flex;flex-direction:column;overflow:hidden}.sidebar-header{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;font-size:.8rem;font-weight:600;color:var(--text-secondary);border-bottom:1px solid var(--border);text-transform:uppercase;letter-spacing:.5px}.sidebar-count{font-size:.7rem;font-weight:400}.sidebar-tree{flex:1;overflow-y:auto;padding:6px 0}.tree-item{display:flex;align-items:center;gap:6px;padding:5px 14px;font-size:.85rem;cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tree-item:hover{background:var(--code-bg)}.tree-item-active{background:var(--accent);color:#fff}.tree-item-active:hover{background:var(--accent-hover)}.tree-arrow{font-size:.7rem;width:12px;flex-shrink:0}.tree-icon{flex-shrink:0;font-size:.85rem}.tree-name{overflow:hidden;text-overflow:ellipsis}.main{flex:1;display:flex;overflow-y:auto}.dropzone{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;margin:40px;border:2px dashed var(--border);border-radius:var(--radius);background:var(--dropzone-bg);cursor:pointer;transition:border-color .15s,background .15s;min-height:300px}.dropzone:hover,.dropzone-active{border-color:var(--accent);background:var(--bg-secondary)}.dropzone-icon{font-size:3rem}.dropzone-text{font-size:1rem;color:var(--text-secondary)}.dropzone-text code{background:var(--code-bg);padding:2px 6px;border-radius:4px;font-size:.9em}.dropzone-input{display:none}.preview-pane{flex:1;padding:40px;max-width:900px;margin:0 auto;width:100%}.markdown-body{line-height:1.8;font-size:1rem}.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)}.markdown-body h1{font-size:2rem;border-bottom:2px solid var(--border);padding-bottom:.3em}.markdown-body h2{font-size:1.5rem;border-bottom:1px solid var(--border);padding-bottom:.25em}.markdown-body h3{font-size:1.25rem}.markdown-body p{margin-bottom:1em}.markdown-body a{color:var(--accent)}.markdown-body strong{font-weight:600}.markdown-body ul,.markdown-body ol{margin-bottom:1em;padding-left:2em}.markdown-body li{margin-bottom:.25em}.markdown-body li>input[type=checkbox]{margin-right:8px}.markdown-body code{background:var(--code-bg);padding:2px 6px;border-radius:4px;font-size:.9em;font-family:SF Mono,Fira Code,Cascadia Code,monospace}.markdown-body pre{background:var(--code-bg);border:1px solid var(--border);border-radius:var(--radius);padding:16px;overflow-x:auto;margin-bottom:1em}.markdown-body pre code{background:none;padding:0;border-radius:0;font-size:.85em;line-height:1.6}.markdown-body blockquote{border-left:4px solid var(--accent);padding:.5em 1em;margin-bottom:1em;background:var(--bg-secondary);border-radius:0 var(--radius) var(--radius) 0;color:var(--text-secondary)}.markdown-body table{width:100%;border-collapse:collapse;margin-bottom:1em;font-size:.95em}.markdown-body th,.markdown-body td{border:1px solid var(--border);padding:10px 14px;text-align:left}.markdown-body th{background:var(--bg-secondary);font-weight:600}.markdown-body tr:nth-child(2n){background:var(--bg-secondary)}.markdown-body hr{border:none;border-top:1px solid var(--border);margin:2em 0}.markdown-body img{max-width:100%;border-radius:var(--radius)}@media(max-width:768px){.preview-pane{padding:20px}.dropzone{margin:20px}.header{padding:12px 16px}.header-title{font-size:1.1rem}}@media print{:root{--bg: #ffffff;--bg-secondary: #f8f9fa;--text: #1a1a2e;--text-secondary: #6b7280;--border: #e5e7eb;--code-bg: #f1f5f9}@page{size:A4;margin:15mm}.header,.sidebar,.dropzone,.dropzone-input,.btn{display:none!important}.app,.main{display:block}.preview-pane{padding:0;max-width:100%}.markdown-body{font-size:11pt;line-height:1.6}.markdown-body h1,.markdown-body h2,.markdown-body h3,.markdown-body h4,.markdown-body h5,.markdown-body h6{break-after:avoid}.markdown-body h1{font-size:20pt}.markdown-body h2{font-size:16pt}.markdown-body h3{font-size:13pt}.markdown-body pre{break-inside:auto;white-space:pre-wrap;word-wrap:break-word}.markdown-body table{break-inside:auto}.markdown-body thead{display:table-header-group}.markdown-body tr{break-inside:avoid;page-break-inside:avoid}.markdown-body img{max-width:100%;break-inside:avoid}}
