.app{display:flex;height:100vh;background:var(--bg)}.page-list{width:260px;border-right:1px solid var(--border);background:var(--bg);overflow-y:auto;display:flex;flex-direction:column}.page-list-header{display:flex;align-items:center;justify-content:space-between;padding:16px 16px 8px;position:sticky;top:0;background:var(--bg)}.page-list-header h2{margin:0;font-size:14px;font-weight:600;color:var(--fg-muted);text-transform:uppercase;letter-spacing:.05em}.btn-new{width:24px;height:24px;border-radius:var(--radius);font-size:18px;line-height:1;color:var(--fg-muted)}.btn-new:hover{background:var(--bg-hover);color:var(--fg)}.page-list-loading,.page-list-empty{padding:16px;color:var(--fg-muted);font-size:13px}.page-list-empty button{margin-top:8px;color:var(--accent)}.page-list ul{list-style:none;margin:0;padding:0 8px}.page-list li{display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:var(--radius);cursor:pointer;font-size:14px;color:var(--fg)}.page-list li:hover{background:var(--bg-hover)}.page-list li.active{background:var(--bg-active)}.page-list .icon{font-size:16px;width:20px;text-align:center}.page-list .title{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.main{flex:1;display:flex;flex-direction:column;overflow:hidden}.main-header{display:flex;align-items:center;justify-content:space-between;padding:12px 48px;border-bottom:1px solid var(--border)}.title-row{display:flex;align-items:center;gap:8px;flex:1}.page-icon{font-size:28px}.title-input{font-size:24px;font-weight:700;color:var(--fg);flex:1}.sync-status{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--fg-muted)}.sync-status .dot{width:8px;height:8px;border-radius:50%;background:var(--fg-muted)}.sync-status .dot.online{background:#4caf50}.sync-status .dot.offline{background:#f44336}.empty-state{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--fg-muted)}.empty-state h1{font-size:32px;margin-bottom:8px}.editor{flex:1;overflow-y:auto;padding:0 48px 80px;max-width:900px;margin:0 auto;width:100%}.editor-loading{padding:80px 48px;color:var(--fg-muted)}.editor-toolbar{display:flex;gap:4px;padding:8px 0;border-bottom:1px solid var(--border);margin-bottom:16px;position:sticky;top:0;background:var(--bg);z-index:1}.editor-toolbar button{padding:4px 10px;border-radius:var(--radius);font-size:13px;color:var(--fg-muted);font-weight:500}.editor-toolbar button:hover{background:var(--bg-hover);color:var(--fg)}.editor-toolbar button.active{background:var(--bg-active);color:var(--fg)}.editor-content{outline:none;min-height:60vh}.editor-content .ProseMirror{outline:none;font-size:16px;line-height:1.7}.editor-content .ProseMirror p{margin:0 0 12px}.editor-content .ProseMirror h1{font-size:32px;font-weight:700;margin:24px 0 12px}.editor-content .ProseMirror h2{font-size:24px;font-weight:600;margin:20px 0 10px}.editor-content .ProseMirror h3{font-size:20px;font-weight:600;margin:16px 0 8px}.editor-content .ProseMirror ul,.editor-content .ProseMirror ol{padding-left:24px;margin:0 0 12px}.editor-content .ProseMirror blockquote{border-left:3px solid var(--fg-muted);padding-left:16px;color:var(--fg-muted);margin:0 0 12px}.editor-content .ProseMirror pre{background:var(--bg-hover);padding:12px;border-radius:var(--radius);font-family:var(--font-mono);font-size:14px;overflow-x:auto}.editor-content .ProseMirror code{font-family:var(--font-mono);font-size:.9em;background:var(--bg-hover);padding:2px 4px;border-radius:3px}.editor-content .ProseMirror hr{border:none;border-top:1px solid var(--border);margin:24px 0}.editor-content .ProseMirror p.is-editor-empty:first-child:before{content:attr(data-placeholder);color:var(--fg-muted);float:left;height:0;pointer-events:none}.editor-content .ProseMirror .tiptap-table{border-collapse:collapse;table-layout:fixed;width:100%;margin:0 0 12px;overflow:hidden}.editor-content .ProseMirror .tiptap-table td,.editor-content .ProseMirror .tiptap-table th{min-width:1em;border:1px solid var(--border);padding:6px 8px;vertical-align:top;position:relative}.editor-content .ProseMirror .tiptap-table th{background:var(--bg-hover);font-weight:600;text-align:left}.editor-content .ProseMirror .tiptap-table .selectedCell:after{content:"";position:absolute;inset:0;background:#2eaadc1f;pointer-events:none}.editor-content .ProseMirror .column-resize-handle{position:absolute;right:-2px;top:0;bottom:-2px;width:4px;background:var(--accent);pointer-events:none}.editor-content .ProseMirror img{max-width:100%;height:auto;border-radius:var(--radius);display:block;margin:12px 0}.editor-content .ProseMirror ul[data-type=taskList]{list-style:none;padding-left:4px}.editor-content .ProseMirror ul[data-type=taskList] li{display:flex;align-items:flex-start;gap:8px;margin:0 0 4px}.editor-content .ProseMirror ul[data-type=taskList] li>label{margin-top:4px}.editor-content .ProseMirror ul[data-type=taskList] li>div{flex:1}.editor-content .ProseMirror pre{background:var(--bg-hover);padding:12px 16px;border-radius:var(--radius);font-family:var(--font-mono);font-size:13px;line-height:1.5;overflow-x:auto}.editor-content .ProseMirror pre code{background:transparent;padding:0;font-size:inherit}.editor-content .hljs-keyword,.editor-content .hljs-selector-tag,.editor-content .hljs-built_in{color:#c678dd}.editor-content .hljs-string,.editor-content .hljs-attr{color:#98c379}.editor-content .hljs-number,.editor-content .hljs-literal{color:#d19a66}.editor-content .hljs-comment{color:#7f848e;font-style:italic}.editor-content .hljs-title,.editor-content .hljs-name,.editor-content .hljs-section{color:#61afef}.editor-content .hljs-variable,.editor-content .hljs-params{color:#e06c75}.slash-menu{background:var(--bg);border:1px solid var(--border);border-radius:6px;box-shadow:var(--shadow);width:320px;max-height:320px;overflow-y:auto;z-index:1000;padding:4px}.slash-empty{padding:12px;color:var(--fg-muted);font-size:13px;text-align:center}.slash-item{display:grid;grid-template-columns:32px 1fr;grid-template-rows:auto auto;column-gap:10px;align-items:center;padding:6px 8px;border-radius:4px;width:100%;text-align:left;font-size:13px}.slash-item.active{background:var(--bg-hover)}.slash-item .slash-icon{grid-row:1 / 3;width:32px;height:32px;background:var(--bg-hover);border-radius:4px;display:flex;align-items:center;justify-content:center;font-weight:600;color:var(--fg)}.slash-item .slash-title{grid-column:2;grid-row:1;font-weight:500;color:var(--fg)}.slash-item .slash-desc{grid-column:2;grid-row:2;font-size:12px;color:var(--fg-muted)}.slash-hint{border-top:1px solid var(--border);margin-top:4px;padding:6px 8px;font-size:11px;color:var(--fg-muted)}.editor-toolbar .sep{width:1px;background:var(--border);align-self:stretch;margin:4px}.editor-toolbar button{font-weight:600;min-width:28px}.bubble-menu{background:var(--bg);border:1px solid var(--border);border-radius:6px;box-shadow:var(--shadow);padding:4px}.bubble-menu button{padding:4px 10px;border-radius:4px;font-size:13px}.bubble-menu button:hover{background:var(--bg-hover)}.conflict-banner{margin:0 48px 8px;padding:12px 16px;background:#fff7e6;border:1px solid #f5c97f;border-radius:var(--radius);color:#6b4e00;font-size:14px;display:flex;align-items:center;justify-content:space-between;gap:16px}@media (prefers-color-scheme: dark){.conflict-banner{background:#3a2d10;border-color:#5d4416;color:#f5c97f}}.conflict-actions{display:flex;gap:8px}.conflict-actions button{padding:4px 10px;border-radius:var(--radius);background:var(--bg);color:var(--fg);font-size:13px;border:1px solid var(--border)}.conflict-actions button:hover{background:var(--bg-hover)}:root{--bg: #ffffff;--bg-hover: #f7f7f7;--bg-active: #efefee;--fg: #37352f;--fg-muted: #787774;--border: #ececec;--accent: #2eaadc;--shadow: 0 1px 2px rgba(0, 0, 0, .04), 0 4px 12px rgba(0, 0, 0, .04);--radius: 4px;--font: ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono: ui-monospace, "SFMono-Regular", "Menlo", monospace}@media (prefers-color-scheme: dark){:root{--bg: #191919;--bg-hover: #252525;--bg-active: #2f2f2f;--fg: #e0e0e0;--fg-muted: #8a8a8a;--border: #2c2c2c;--accent: #2eaadc}}*{box-sizing:border-box}html,body,#root{margin:0;padding:0;height:100%;background:var(--bg);color:var(--fg);font-family:var(--font);font-size:15px;line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}button{font-family:inherit;font-size:inherit;background:none;border:none;color:inherit;cursor:pointer;padding:0}input,textarea{font-family:inherit;font-size:inherit;color:inherit;background:transparent;border:none;outline:none;width:100%}
