:root{--color-text: #202124;--color-bg: #f7f7f4;--color-surface: #fff;--color-surface-muted: #f3f1eb;--color-sidebar-bg: #eeece6;--color-border: #ddd9cf;--color-input-border: #d4d0c6;--color-muted: #64615a;--color-primary: #2c6f6d;--color-primary-hover: #255f5d;--color-primary-text: #174f4d;--color-primary-soft: #e5f0ef;--color-row-hover: #dedbd2;--color-panel-bg: #faf9f6;--color-border-strong: #c9c5b9;--color-primary-border: #b2cdca;--color-text-strong: #37352f;--color-on-primary: #ffffff;--color-danger: #c62828;--color-danger-strong: #8f1d18;--color-danger-soft: #ffebee;--color-danger-border: #ffcdd2;--color-warning: #b26a00;--color-warning-soft: #fff8e1;--color-warning-border: #ffe082;--color-success: #2e7d32;--color-success-soft: #e8f5ed;--color-link: #245f9a;--color-link-soft: #e7f0f9;--color-code-bg: #202124;--color-code-fg: #f5f5f0;--color-hover: rgba(55, 53, 47, .045);--color-hover-subtle: rgba(55, 53, 47, .02);--color-hover-strong: rgba(55, 53, 47, .08);--shadow-sm: 0 1px 2px rgba(15, 15, 15, .04);--shadow-md: 0 10px 24px rgba(0, 0, 0, .12);--shadow-lg: 0 18px 48px rgba(0, 0, 0, .18);color:var(--color-text);background:var(--color-bg);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility}:root[data-theme=dark]{--color-text: #ebe7de;--color-bg: #171a1a;--color-surface: #202424;--color-surface-muted: #252b2a;--color-sidebar-bg: #1d2121;--color-border: #3b4240;--color-input-border: #4b5350;--color-muted: #aaa49a;--color-primary: #4d9995;--color-primary-hover: #5aaba7;--color-primary-text: #8fd4cf;--color-primary-soft: #203534;--color-row-hover: #2b3332;--color-panel-bg: #181c1c;--color-border-strong: #4b5350;--color-primary-border: #2f5150;--color-text-strong: #f4f1ea;--color-on-primary: #ffffff;--color-danger: #f2938e;--color-danger-strong: #f7b3af;--color-danger-soft: #3a2422;--color-danger-border: #5c3a37;--color-warning: #e0a94d;--color-warning-soft: #33291a;--color-warning-border: #5c4a24;--color-success: #7bc47f;--color-success-soft: #1f3524;--color-link: #8fb8e6;--color-link-soft: #1e2b3a;--color-code-bg: #12100f;--color-code-fg: #e8e5df;--color-hover: rgba(255, 255, 255, .06);--color-hover-subtle: rgba(255, 255, 255, .035);--color-hover-strong: rgba(255, 255, 255, .09);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .3);--shadow-md: 0 10px 24px rgba(0, 0, 0, .45);--shadow-lg: 0 18px 48px rgba(0, 0, 0, .55);color-scheme:dark}*{box-sizing:border-box}body{margin:0;background:var(--color-bg);color:var(--color-text)}button,input,textarea{font:inherit}input,textarea,select{background:var(--color-surface);color:var(--color-text);border-color:var(--color-input-border)}.center-panel{min-height:100vh;display:grid;place-items:center;padding:32px}.app-shell{min-height:100vh;display:grid;grid-template-columns:320px minmax(0,1fr)}.sidebar{border-right:1px solid var(--color-border);background:var(--color-sidebar-bg);padding:18px 14px;display:flex;flex-direction:column;gap:18px}.brand{display:flex;gap:12px;align-items:center}.mark{width:36px;height:36px;display:grid;place-items:center;border-radius:8px;color:var(--color-on-primary);background:var(--color-primary);font-weight:800}.brand h1{margin:0;font-size:18px}.brand p,.sidebar-meta{margin:2px 0 0;color:var(--color-muted);font-size:13px;display:flex;align-items:center;justify-content:space-between;gap:8px}.trash-open-btn{flex:none;background:none;border:none;padding:2px 6px;border-radius:6px;color:var(--color-muted);font-size:13px;cursor:pointer}.trash-open-btn:hover{background:var(--color-row-hover);color:var(--color-text)}.sidebar-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:4px}.sidebar-tabs button{border:0;background:transparent;color:var(--color-muted);padding:6px 8px;font-size:13px}.sidebar-tabs button:hover,.sidebar-tabs button.active{background:var(--color-row-hover);color:var(--color-primary-text)}.create-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}.create-form input,.create-form select,.title-input{border:1px solid var(--color-input-border);border-radius:6px;background:var(--color-surface);color:var(--color-text)}.create-form input,.create-form select{min-width:0;padding:9px 10px}.invite-form{grid-template-columns:minmax(0,1fr) 110px auto}button{border:1px solid var(--color-primary-hover);border-radius:6px;background:var(--color-primary);color:var(--color-on-primary);padding:9px 12px;cursor:pointer}button:hover{background:var(--color-primary-hover)}.page-list{display:flex;flex-direction:column;gap:4px;overflow:auto}.page-row{border:0;background:transparent;color:var(--color-text);text-align:left;display:flex;align-items:center;gap:2px;width:100%;border-radius:6px}.page-row:hover,.page-row.selected{color:var(--color-primary-text);background:var(--color-row-hover)}.page-collapse-btn,.page-collapse-spacer{width:22px;height:28px;flex:none}.page-collapse-btn{border:0;background:transparent;color:var(--color-muted);padding:0}.page-collapse-btn:hover{background:transparent;color:var(--color-primary-text)}.page-row-link{min-width:0;flex:1;border:0;background:transparent;color:inherit;display:flex;align-items:center;gap:6px;padding:7px 8px;text-align:left}.page-row-link:hover{background:transparent;color:inherit}.page-icon{flex:none}.page-row-title{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.page-list-empty{color:var(--color-muted);font-size:13px;padding:8px 10px}.workspace{min-width:0;padding:42px clamp(24px,6vw,88px);background:var(--color-bg);color:var(--color-text)}.editor{max-width:920px;display:flex;flex-direction:column;gap:16px}.editor-topline{display:flex;gap:10px;align-items:center;color:var(--color-muted);font-size:13px}.editor-topline code{color:var(--color-primary-text);background:var(--color-primary-soft);padding:2px 6px;border-radius:5px}.breadcrumb{display:flex;flex-wrap:wrap;align-items:center;gap:4px;color:var(--color-muted);font-size:13px}.breadcrumb-item{display:inline-flex;align-items:center;gap:4px}.breadcrumb button,.breadcrumb-current{border:0;background:transparent;color:inherit;padding:3px 4px;display:inline-flex;align-items:center;gap:5px}.breadcrumb button:hover{background:var(--color-row-hover);color:var(--color-primary-text)}.breadcrumb-current{color:var(--color-text)}.breadcrumb-separator{color:var(--color-muted)}.page-cover-preview{height:150px;border-radius:8px;background-position:center;background-size:cover;border:1px solid var(--color-border)}.page-look-row{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:8px;align-items:center}.page-icon-picker{position:relative}.page-icon-picker-btn{width:42px;height:38px;border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);padding:0;font-size:22px}.page-icon-picker-btn:hover{background:var(--color-row-hover)}.emoji-palette{position:absolute;top:44px;left:0;z-index:30;width:206px;display:grid;grid-template-columns:repeat(4,1fr);gap:4px;padding:6px;border:1px solid var(--color-input-border);border-radius:8px;background:var(--color-surface);box-shadow:var(--shadow-md)}.emoji-palette button{border:0;background:transparent;color:var(--color-text);padding:7px}.emoji-palette button:hover{background:var(--color-row-hover)}.cover-input{min-width:0;border:1px solid var(--color-input-border);border-radius:6px;padding:8px 10px}.cover-apply-btn{padding:8px 10px}.title-input{border:0;border-bottom:1px solid var(--color-border);border-radius:0;background:transparent;font-size:34px;font-weight:750;padding:8px 0 12px}.editor-frame{position:relative;min-height:46vh;border:1px solid var(--color-input-border);border-radius:8px;background:var(--color-surface)}.ProseMirror{min-height:46vh;outline:none;padding:22px 24px;line-height:1.6}.ProseMirror p{margin:0 0 .8em}.ProseMirror h1,.ProseMirror h2,.ProseMirror h3{line-height:1.25;margin:1.1em 0 .45em}.ProseMirror h1{font-size:30px}.ProseMirror h2{font-size:24px}.ProseMirror h3{font-size:19px}.ProseMirror blockquote{border-left:3px solid var(--color-primary-border);margin-left:0;padding-left:14px;color:var(--color-muted)}.ProseMirror pre{background:var(--color-code-bg);color:var(--color-code-fg);border-radius:6px;padding:12px;overflow:auto}.ProseMirror ul[data-type=taskList]{list-style:none;padding-left:34px}.ProseMirror li[data-type=taskItem],.ProseMirror li[data-checked]{display:flex;gap:8px;width:max-content;max-width:100%;align-items:flex-start;box-sizing:border-box}.ProseMirror li[data-type=taskItem]>label,.ProseMirror li[data-checked]>label{display:inline-flex;flex:0 0 auto;align-items:center;height:1.6em}.ProseMirror li[data-type=taskItem] input[type=checkbox],.ProseMirror li[data-checked] input[type=checkbox]{margin:0}.ProseMirror li[data-type=taskItem]>div,.ProseMirror li[data-checked]>div{flex:0 1 auto;min-width:0}.ProseMirror li[data-type=taskItem]>div>p,.ProseMirror li[data-checked]>div>p{margin:0}.ProseMirror details.toggle-block{border:1px solid var(--color-border);border-radius:6px;padding:8px 10px;margin:8px 0;background:var(--color-panel-bg)}.page-link-node{color:var(--color-link);background:var(--color-link-soft);border-radius:4px;padding:1px 5px}.slash-menu{position:absolute;left:20px;top:20px;width:min(360px,calc(100% - 40px));max-height:min(420px,calc(100vh - 160px));overflow-y:auto;display:flex;flex-direction:column;padding:6px;border:1px solid var(--color-input-border);border-radius:8px;background:var(--color-surface);box-shadow:0 12px 32px #00000024;z-index:10}.slash-item{border:0;border-radius:5px;background:transparent;color:var(--color-text);display:grid;grid-template-columns:42px minmax(0,1fr);gap:10px;font-size:13px;text-align:left;padding:7px 9px;align-items:center}.slash-item:hover,.slash-item.selected{background:var(--color-primary-soft);color:var(--color-primary-text)}.slash-copy{display:grid;gap:2px;min-width:0}.slash-copy span{color:var(--color-muted);font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.slash-preview{width:36px;height:30px;border:1px solid var(--color-border);border-radius:5px;background:var(--color-panel-bg);color:var(--color-muted);position:relative;display:grid;place-items:center;font-weight:700;line-height:1}.slash-preview:before,.slash-preview:after{content:"";position:absolute}.slash-preview-paragraph:before,.slash-preview-paragraph:after,.slash-preview-bullet:after,.slash-preview-number:after,.slash-preview-check:after,.slash-preview-toggle:after{left:13px;right:7px;height:2px;border-radius:999px;background:currentColor;opacity:.7}.slash-preview-paragraph:before{top:10px}.slash-preview-paragraph:after{top:17px}.slash-preview-h1:before{content:"H1";font-size:15px}.slash-preview-h2:before{content:"H2";font-size:13px}.slash-preview-h3:before{content:"H3";font-size:11px}.slash-preview-bullet:before{width:5px;height:5px;left:7px;border-radius:999px;background:currentColor}.slash-preview-number:before{content:"1.";left:6px;font-size:10px}.slash-preview-check:before{width:8px;height:8px;left:6px;border:1px solid currentColor;border-radius:2px}.slash-preview-toggle:before{content:"";left:7px;border-left:6px solid currentColor;border-top:4px solid transparent;border-bottom:4px solid transparent}.slash-preview-bullet:after,.slash-preview-number:after,.slash-preview-check:after,.slash-preview-toggle:after{top:14px}.slash-preview-code:before{content:"</>";font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:11px}.slash-preview-quote:before{left:9px;top:8px;bottom:8px;width:2px;background:currentColor}.slash-preview-quote:after,.slash-preview-divider:before{left:14px;right:8px;top:14px;height:2px;border-radius:999px;background:currentColor}.slash-preview-page:before{content:"";width:14px;height:18px;border:1px solid currentColor;border-radius:2px}.slash-preview-page:after{content:"";right:10px;top:6px;border-left:5px solid transparent;border-bottom:5px solid currentColor}.slash-preview-file:before{content:"";width:16px;height:12px;border:1px solid currentColor;border-radius:2px}.slash-preview-file:after{content:"";left:10px;top:7px;width:9px;height:4px;border:1px solid currentColor;border-bottom:0;border-radius:2px 2px 0 0}.editor-actions{display:flex;align-items:center;gap:12px;color:var(--color-muted)}.revision-panel,.diff-panel{border-top:1px solid var(--color-border);padding-top:16px}.revision-panel h2,.diff-panel h2{font-size:16px;margin:0 0 10px}.panel-heading-row{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}.panel-heading-row h2{margin:0}.panel-heading-row button{padding:6px 10px}.panel-heading-actions{display:flex;gap:6px}.revision-list{display:flex;flex-direction:column;gap:8px}.revision-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;border:1px solid var(--color-border);border-radius:7px;padding:10px 12px;background:var(--color-surface)}.revision-row div:first-child{display:flex;gap:9px;align-items:center;min-width:0}.revision-row span,.revision-row time{color:var(--color-muted);font-size:13px}.revision-actions{display:flex;gap:6px}.revision-actions button,.editor-actions button{padding:7px 10px}.comment-list{display:flex;flex-direction:column;gap:8px}.comment-row{border:1px solid var(--color-border);border-radius:7px;padding:10px 12px;background:var(--color-surface);cursor:pointer}.comment-row:hover,.comment-row:focus-visible{border-color:var(--color-primary-border);box-shadow:0 0 0 2px var(--color-primary-soft);outline:none}.comment-composer{border:1px solid var(--color-primary-border);border-radius:7px;padding:10px 12px;background:var(--color-surface)}.comment-composer-label{display:block;margin-bottom:6px;color:var(--color-primary-text);font-size:12px;font-weight:700}.comment-composer blockquote{margin:0 0 8px;padding-left:10px;border-left:3px solid var(--color-primary-border);color:var(--color-muted)}.comment-composer textarea{width:100%;min-height:86px;resize:vertical;border:1px solid var(--color-input-border);border-radius:6px;background:var(--color-surface);color:var(--color-text);padding:8px;font:inherit}.comment-composer-actions{display:flex;justify-content:flex-end;gap:6px;margin-top:8px}.comment-composer-actions button{padding:5px 9px}.comment-row.resolved{opacity:.62}.resolved-comments-panel{border:1px solid var(--color-border);border-radius:8px;background:var(--color-panel-bg);padding:8px 10px}.resolved-comments-toggle{width:100%;border:0;background:transparent;color:var(--color-muted);display:flex;align-items:center;justify-content:space-between;gap:8px;padding:0;font-size:12px;font-weight:600;cursor:pointer}.resolved-comments-panel .comment-list{margin-top:8px}.comment-row blockquote{margin:0 0 8px;padding-left:10px;border-left:3px solid var(--color-border);color:var(--color-muted)}.comment-row p{margin:0 0 8px}.comment-highlight{background:var(--color-primary-soft);border-radius:3px;box-shadow:0 0 0 1px var(--color-primary-border)}.comment-meta{display:flex;gap:8px;align-items:center;flex-wrap:wrap;color:var(--color-muted);font-size:13px;margin-bottom:8px}.comment-collapsed{color:var(--color-muted);margin:0}.diff-panel pre{margin:0;border:1px solid var(--color-border);border-radius:7px;background:var(--color-surface);overflow:auto;padding:8px 0}.diff-line{display:grid;grid-template-columns:28px minmax(0,1fr);gap:8px;padding:2px 12px;min-height:22px;white-space:pre-wrap}.diff-line.added{background:var(--color-success-soft)}.diff-line.removed{background:var(--color-danger-soft)}.toast{position:fixed;right:18px;bottom:18px;max-width:360px;border:1px solid var(--color-input-border);border-radius:7px;background:var(--color-surface);padding:10px 12px;color:var(--color-text-strong);box-shadow:0 10px 24px #0000001f}.context-menu{position:fixed;z-index:300;min-width:190px;max-width:min(320px,calc(100vw - 24px));padding:6px;border:1px solid var(--color-input-border);border-radius:8px;background:var(--color-surface);box-shadow:0 14px 34px #0000002e;color:var(--color-text)}.context-menu button{width:100%;border:0;border-radius:5px;background:transparent;color:var(--color-text);display:flex;align-items:center;justify-content:flex-start;gap:8px;padding:7px 9px;text-align:left;font-size:13px}.context-menu button:hover{background:var(--color-row-hover);color:var(--color-primary-text)}.context-menu button.danger{color:var(--color-danger-strong)}.context-menu button.danger:hover{background:var(--color-danger-soft);color:var(--color-danger-strong)}.context-menu-section{display:flex;flex-direction:column;gap:2px;padding:4px 0;border-top:1px solid var(--color-border)}.context-menu-section:first-child{border-top:0;padding-top:0}.context-menu-label{color:var(--color-muted);font-size:11px;font-weight:700;letter-spacing:0;padding:3px 9px}.editor-format-menu{min-width:260px}.context-submenu{position:relative}.context-submenu-trigger{justify-content:space-between!important}.context-submenu-panel{display:none;position:absolute;top:-6px;min-width:190px;padding:6px;border:1px solid var(--color-input-border);border-radius:8px;background:var(--color-surface);box-shadow:0 14px 34px #0000002e}.submenu-right .context-submenu-panel{left:100%}.submenu-left .context-submenu-panel{right:100%}.context-submenu:hover .context-submenu-panel,.context-submenu:focus-within .context-submenu-panel{display:block}.format-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:4px;padding:0 4px 4px}.format-grid button{min-width:0;min-height:48px;justify-content:center;flex-direction:column;gap:2px;padding:6px 4px}.format-grid button span{color:var(--color-muted);font-size:10px}.color-submenu-panel{width:202px}.color-swatch-grid{display:grid;grid-template-columns:repeat(6,24px);gap:6px;padding:3px 6px 8px}.color-swatch,.color-picker-chip{width:24px;height:24px;min-height:0;border:1px solid var(--color-border);border-radius:5px;padding:0;overflow:hidden;box-shadow:inset 0 0 0 1px #ffffff3d}.color-swatch:hover,.color-picker-chip:hover{border-color:var(--color-border-strong);transform:translateY(-1px)}.color-swatch-reset{background:var(--color-surface);color:var(--color-muted);font-size:16px;line-height:1}.color-picker-chip{display:block;position:relative;background:conic-gradient(#f44336,#ffeb3b,#4caf50,#2196f3,#9c27b0,#f44336);cursor:pointer}.color-picker-chip input{position:absolute;inset:0;width:100%;height:100%;border:0;opacity:0;cursor:pointer}.empty-state{max-width:560px;margin-top:20vh}.empty-state h2{margin:0 0 10px;font-size:28px}.empty-state p{color:var(--color-muted);line-height:1.6}@media(max-width:780px){.app-shell{grid-template-columns:1fr}.sidebar{border-right:0;border-bottom:1px solid var(--color-border)}.workspace{padding:24px 18px}}.presence-banner{background:var(--color-warning-soft);border:1px solid var(--color-warning-border);color:var(--color-warning);padding:10px 14px;border-radius:6px;font-size:13px;margin-bottom:12px}.fork-banner{background:var(--color-danger-soft);border:1px solid var(--color-danger-border);color:var(--color-danger);padding:12px 14px;border-radius:6px;font-size:13px;margin-bottom:12px;line-height:1.5}.fork-banner-pending{display:flex;align-items:center;gap:12px}.fork-banner-text{flex:1}.fork-ack-btn{flex-shrink:0;background:var(--color-danger);color:#fff;border:none;padding:8px 14px;border-radius:6px;font-size:13px;font-weight:600;cursor:pointer;white-space:nowrap}.fork-ack-btn:hover{filter:brightness(.94)}.attachments-panel{border-top:1px solid var(--color-border);padding-top:18px;margin-top:24px}.attachments-panel .panel-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.attachments-panel h2{font-size:16px;margin:0}.upload-trigger-btn{background:var(--color-primary-text);color:var(--color-on-primary);border:0;padding:6px 12px;border-radius:6px;font-weight:500;cursor:pointer}.upload-trigger-btn:hover{background:var(--color-primary-hover)}.upload-error{color:var(--color-danger);background:var(--color-danger-soft);padding:8px 12px;border-radius:6px;margin-bottom:10px;font-size:13px}.upload-progress{color:var(--color-muted);font-size:13px;margin-bottom:10px;font-style:italic}.attachment-list{display:flex;flex-direction:column;gap:8px}.attachment-row{display:flex;justify-content:space-between;align-items:center;border:1px solid var(--color-border);border-radius:7px;padding:8px 12px;background:var(--color-surface);gap:12px}.attachment-info{display:flex;align-items:center;gap:10px;min-width:0}.file-icon{font-size:20px}.file-details{display:flex;flex-direction:column;min-width:0}.file-details .filename{font-weight:600;font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-details .meta{font-size:12px;color:var(--color-muted)}.fork-badge{background:var(--color-danger-soft);color:var(--color-danger);border:1px solid var(--color-danger-border);border-radius:4px;padding:1px 4px;font-size:10px;font-weight:700;margin-top:2px;align-self:flex-start}.attachment-actions{display:flex;gap:8px;align-items:center;flex-shrink:0}.download-link-btn{text-decoration:none;background:var(--color-surface-muted);color:var(--color-text-strong);padding:5px 10px;border-radius:5px;font-size:13px;border:1px solid var(--color-border)}.download-link-btn:hover{background:var(--color-row-hover)}.edit-btn{background:var(--color-primary-soft);color:var(--color-primary-text);border:1px solid var(--color-primary-border);padding:5px 10px;border-radius:5px;font-size:13px;cursor:pointer}.edit-btn:hover{background:var(--color-primary-soft)}.delete-btn{background:transparent;color:var(--color-danger);border:1px solid var(--color-danger-border);padding:5px 10px;border-radius:5px;font-size:13px;cursor:pointer}.delete-btn:hover{background:var(--color-danger-soft)}.empty-attachments{font-size:13px;color:var(--color-muted);font-style:italic;margin:8px 0}.attachments-drawer{position:fixed;top:74px;right:22px;z-index:240;border-top:0;padding-top:0;margin-top:0}.attachment-drawer-toggle{width:46px;min-height:38px;border:1px solid var(--color-border);border-radius:8px;background:var(--color-surface);color:var(--color-text);display:flex;align-items:center;justify-content:center;gap:4px;box-shadow:0 8px 22px #0000001a}.attachment-drawer-toggle strong{font-size:12px;color:var(--color-primary-text)}.attachment-drawer-sheet{position:absolute;top:44px;right:0;width:min(390px,calc(100vw - 28px));max-height:calc(100vh - 106px);overflow:auto;border:1px solid var(--color-border);border-radius:8px;background:var(--color-surface);box-shadow:0 18px 48px #0000002e;padding:14px}.attachment-drawer-sheet .panel-header{align-items:flex-start;gap:12px}.attachment-drawer-sheet .panel-header p{margin:3px 0 0;font-size:12px;color:var(--color-muted)}.attachment-drawer .attachment-row{cursor:grab}.attachment-drawer .attachment-row:active{cursor:grabbing}.attachment-block-card{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid var(--color-border);border-radius:8px;background:var(--color-surface);padding:10px 12px;margin:8px 0}.attachment-block-card.deleted{border-style:dashed;background:var(--color-surface-muted);color:var(--color-muted)}.attachment-block-main{min-width:0;border:0;background:transparent;display:flex;align-items:center;gap:10px;color:inherit;text-align:left;padding:0}.attachment-block-main:disabled{cursor:default}.attachment-block-icon{font-size:18px}.attachment-block-copy{min-width:0;display:flex;flex-direction:column;gap:2px}.attachment-block-copy strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px}.attachment-block-copy span{font-size:12px;color:var(--color-muted)}.attachment-block-actions{display:flex;align-items:center;gap:6px;flex-shrink:0}.attachment-block-actions a,.attachment-block-actions button{border:1px solid var(--color-border);border-radius:5px;background:transparent;color:var(--color-text);font-size:12px;padding:4px 7px;text-decoration:none}.attachment-block-actions .danger{color:var(--color-danger-strong);border-color:var(--color-danger-border)}.attachment-image-block{margin:10px 0;max-width:100%}.attachment-image-figure{position:relative;width:min(520px,100%);max-width:100%;margin:0;border:1px solid var(--color-border);border-radius:8px;background:var(--color-surface);overflow:hidden}.attachment-image-main{display:block;width:100%;border:0;padding:0;background:transparent;line-height:0;cursor:pointer}.attachment-image-main img{display:block;width:100%;height:auto;max-height:70vh;object-fit:contain;background:var(--color-surface-muted)}.attachment-image-caption{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 10px;border-top:1px solid var(--color-border)}.attachment-image-caption>span:first-child{min-width:0;display:flex;flex-direction:column;gap:1px}.attachment-image-caption strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}.attachment-image-caption em{color:var(--color-muted);font-size:12px;font-style:normal}.attachment-image-resize{position:absolute;right:3px;bottom:3px;width:18px;height:18px;border-right:2px solid var(--color-border-strong);border-bottom:2px solid var(--color-border-strong);cursor:nwse-resize;opacity:0}.attachment-image-figure:hover .attachment-image-resize,.attachment-image-block.resizing .attachment-image-resize{opacity:1}.attachment-image-block.resizing{-webkit-user-select:none;user-select:none}.attachment-editor-modal{position:fixed;inset:0;display:flex;justify-content:center;align-items:center;z-index:100}.attachment-editor-backdrop{position:absolute;inset:0;background:#0006;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.attachment-editor-content{position:relative;background:var(--color-surface);width:90%;max-width:800px;height:85%;border-radius:12px;box-shadow:0 20px 50px #00000026;display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--color-input-border)}.attachment-editor-header{padding:16px 20px;border-bottom:1px solid var(--color-border);display:flex;justify-content:space-between;align-items:center;background:var(--color-panel-bg)}.attachment-editor-header .title-section{display:flex;align-items:center;gap:12px;min-width:0}.attachment-editor-header h2{font-size:18px;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mime-tag{background:var(--color-border);color:var(--color-muted);font-size:11px;font-weight:700;padding:2px 6px;border-radius:4px}.header-actions{display:flex;gap:10px;align-items:center}.mode-toggle-btn{background:var(--color-surface-muted);border:1px solid var(--color-input-border);color:var(--color-text-strong);padding:6px 12px;border-radius:6px;cursor:pointer}.close-btn{background:transparent;border:0;font-size:15px;cursor:pointer;color:var(--color-muted)}.close-btn:hover{color:var(--color-text)}.attachment-editor-body{flex:1;padding:20px;overflow-y:auto;display:flex;flex-direction:column;gap:16px}.attachment-meta-info{font-size:13px;color:var(--color-muted);display:flex;justify-content:space-between;align-items:center}.fork-warning{color:var(--color-danger);font-weight:700}.editor-container{flex:1;min-height:250px;display:flex;flex-direction:column;border:1px solid var(--color-border);border-radius:8px;background:var(--color-surface);overflow:hidden}.text-editor-form{display:flex;flex-direction:column;flex:1;height:100%}.attachment-textarea{flex:1;border:0;resize:none;outline:none;padding:16px;font-family:inherit;font-size:14px;line-height:1.6}.editor-footer{padding:10px 16px;border-top:1px solid var(--color-border);display:flex;justify-content:flex-end;background:var(--color-panel-bg)}.save-btn{background:var(--color-primary-text);color:var(--color-on-primary);border:0;padding:8px 16px;border-radius:6px;cursor:pointer;font-weight:500}.save-btn:hover{background:var(--color-primary-hover)}.markdown-preview-pane{padding:20px;overflow-y:auto;flex:1;line-height:1.6}.markdown-preview-content h1{font-size:24px;border-bottom:1px solid var(--color-border);padding-bottom:6px;margin-top:0}.markdown-preview-content h2{font-size:20px;margin-top:16px}.markdown-preview-content h3{font-size:16px;margin-top:12px}.markdown-preview-content li{margin-bottom:4px}.attachment-revisions-section{border-top:1px solid var(--color-border);padding-top:16px}.attachment-revisions-section h3{font-size:15px;margin:0 0 10px}.rev-meta{display:flex;gap:12px;align-items:center;font-size:13px;color:var(--color-muted)}.rev-reason{background:var(--color-border);padding:1px 6px;border-radius:4px;font-size:11px}.no-revs{font-size:13px;color:var(--color-muted);font-style:italic}.diff-pre{margin:0;border:1px solid var(--color-border);border-radius:7px;background:var(--color-surface);overflow:auto;padding:8px 0;font-size:13px}.search-section{padding:0 14px;margin:12px 0;position:relative}.search-input{width:100%;padding:8px 12px;border:1px solid var(--color-input-border);border-radius:6px;background:var(--color-surface);font-size:13px;outline:none}.search-input:focus{border-color:var(--color-primary-text);box-shadow:0 0 0 2px #174f4d26}.search-results-panel{position:absolute;top:100%;left:14px;right:14px;background:var(--color-surface);border:1px solid var(--color-input-border);border-radius:8px;box-shadow:0 10px 30px #00000026;max-height:300px;overflow-y:auto;z-index:50;margin-top:4px}.search-status{padding:12px;font-size:12px;color:var(--color-muted);text-align:center;font-style:italic}.search-status.error{color:var(--color-danger);background:var(--color-danger-soft);font-style:normal}.search-results-list{display:flex;flex-direction:column}.search-result-row{width:100%;border:0;border-bottom:1px solid var(--color-border);background:transparent;padding:10px 12px;text-align:left;cursor:pointer;display:flex;flex-direction:column;gap:4px;outline:none}.search-result-row:last-child{border-bottom:0}.search-result-row:hover{background:var(--color-surface)}.result-header{display:flex;align-items:center;gap:8px}.result-badge{font-size:9px;font-weight:700;text-transform:uppercase;padding:2px 4px;border-radius:4px;color:var(--color-on-primary)}.result-badge.page{background:var(--color-link)}.result-badge.attachment{background:var(--color-primary-text)}.result-title{font-size:13px;color:var(--color-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.result-snippet{font-size:11px;color:var(--color-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-style:italic}.editor-layout-split{display:flex;gap:20px;align-items:flex-start;width:100%}.editor-main-flow{flex:1;min-width:0}.ai-helper-panel,.comment-panel{border:1px solid var(--color-border);border-radius:8px;background:var(--color-panel-bg);box-shadow:0 4px 12px #0000000d;display:flex;flex-direction:column}.ai-helper-panel{width:320px;flex-shrink:0;padding:16px;gap:12px}.side-column{width:248px;flex-shrink:0;position:sticky;top:16px;align-self:flex-start;display:flex;flex-direction:column;gap:12px}.comment-panel{width:100%;padding:10px 12px;gap:8px;font-size:12px;max-height:calc(100vh - 32px);overflow:auto}.comment-panel .panel-heading-row{margin-bottom:4px}.comment-panel .panel-heading-row h2{font-size:14px}.comment-panel .panel-heading-actions button{padding:4px 8px;font-size:11px}.ai-drawer-backdrop{position:fixed;inset:0;z-index:49;background:#00000047;animation:ai-drawer-fade .16s ease}.ai-helper-panel{position:fixed;top:0;right:0;bottom:0;width:380px;max-width:92vw;z-index:50;border:0;border-left:1px solid var(--color-border);border-radius:0;box-shadow:-10px 0 28px #00000029;overflow:auto;animation:ai-drawer-in .18s ease}@keyframes ai-drawer-in{0%{transform:translate(16px);opacity:.4}to{transform:translate(0);opacity:1}}@keyframes ai-drawer-fade{0%{opacity:0}to{opacity:1}}.tools-group{border:1px solid var(--color-border);border-radius:8px;background:var(--color-panel-bg);box-shadow:0 4px 12px #0000000d;padding:8px 10px}.tools-group-header{display:flex;align-items:center;justify-content:space-between;gap:6px;cursor:default;-webkit-user-select:none;user-select:none}.tools-group-title{font-size:12px;font-weight:600;color:var(--color-primary-text);white-space:nowrap}.tools-group-caret{font-size:11px;color:var(--color-muted);transition:transform .18s ease}.tools-group:hover .tools-group-caret,.tools-group:focus-within .tools-group-caret{transform:rotate(180deg)}.tools-group-actions{display:flex;flex-wrap:wrap;gap:6px;max-height:0;margin-top:0;overflow:hidden;opacity:0;transition:max-height .2s ease,opacity .16s ease,margin-top .2s ease}.tools-group:hover .tools-group-actions,.tools-group:focus-within .tools-group-actions{max-height:260px;margin-top:8px;opacity:1}.tool-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;flex:1 1 auto;padding:8px 10px;font-size:13px;line-height:1.2;border:1px solid var(--color-border);border-radius:8px;background:var(--color-surface);color:var(--color-text);cursor:pointer;transition:background .12s ease,border-color .12s ease,transform .12s ease}.tool-btn .tool-ico{font-size:16px;line-height:1;flex-shrink:0}.tool-btn .tool-txt{white-space:nowrap}.tool-btn:hover{background:var(--color-primary-soft);border-color:var(--color-primary-border);transform:translateY(-1px)}.tool-btn:disabled{opacity:.55;cursor:default;transform:none}.tool-btn.active{background:var(--color-primary-text);color:var(--color-on-primary);border-color:var(--color-primary-text)}@media(hover:none){.tools-group-actions{max-height:260px;margin-top:8px;opacity:1}.tools-group-caret{display:none}}@media(max-width:780px){.editor-layout-split{flex-direction:column}.side-column{position:static;width:100%}.comment-panel{width:100%;max-height:none}.tools-group-actions{max-height:260px;margin-top:8px;opacity:1}.ai-helper-panel{top:auto;left:0;right:0;width:100%;max-width:100%;height:78vh;border-left:0;border-top:1px solid var(--color-border);border-radius:14px 14px 0 0;box-shadow:0 -10px 28px #00000029;animation:ai-sheet-in .2s ease}}@keyframes ai-sheet-in{0%{transform:translateY(24px);opacity:.4}to{transform:translateY(0);opacity:1}}.ai-helper-panel.unavailable{background:var(--color-danger-soft);border-color:var(--color-danger-border)}.ai-helper-panel h3{font-size:15px;margin:0;color:var(--color-primary-text);display:flex;align-items:center;gap:6px}.ai-helper-panel .panel-header{display:flex;justify-content:space-between;align-items:center}.ai-helper-panel .panel-header .close-btn{font-size:20px;background:transparent;border:0;cursor:pointer;color:var(--color-muted);padding:0;line-height:1}.ai-helper-panel .panel-header .close-btn:hover{color:var(--color-text)}.ai-helper-panel .error-msg{color:var(--color-danger);font-size:13px;margin:0}.ai-tabs{display:flex;border-bottom:1px solid var(--color-border);padding-bottom:4px;gap:4px}.ai-tabs button{background:transparent;border:0;padding:4px 8px;font-size:12px;font-weight:500;cursor:pointer;color:var(--color-muted);border-radius:4px}.ai-tabs button:hover{background:var(--color-surface-muted)}.ai-tabs button.active{background:var(--color-primary-text);color:var(--color-on-primary)}.ai-content{display:flex;flex-direction:column}.tab-pane{display:flex;flex-direction:column;gap:12px}.tab-pane label{font-size:12px;font-weight:600;color:var(--color-text-strong)}.tab-pane select,.ai-search-input,.ai-patch-textarea{width:100%;padding:8px;border:1px solid var(--color-input-border);border-radius:6px;background:var(--color-surface);font-size:13px;outline:none}.ai-patch-textarea{min-height:80px;resize:vertical;font-family:inherit}.ai-run-btn{background:var(--color-primary-text);color:var(--color-on-primary);border:0;padding:8px 12px;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;width:100%}.ai-run-btn:hover{background:var(--color-primary-hover)}.ai-run-btn:disabled{background:var(--color-border-strong);cursor:not-allowed}.ai-preview-box{background:var(--color-surface);border:1px solid var(--color-border);border-radius:6px;padding:12px;display:flex;flex-direction:column;gap:8px;font-size:13px}.ai-preview-box h4{margin:0;font-size:12px;color:var(--color-muted);text-transform:uppercase}.preview-content{line-height:1.5;color:var(--color-text);max-height:200px;overflow-y:auto;white-space:pre-wrap}.preview-content.list-select{display:flex;flex-direction:column;gap:8px}.action-checkbox-row{display:flex;align-items:flex-start;gap:8px;cursor:pointer}.action-checkbox-row input{margin-top:3px}.action-checkbox-row .assignee{color:var(--color-primary-text);font-weight:600;margin-left:6px}.action-checkbox-row .due-date{color:var(--color-muted);margin-left:6px}.ai-actions-row{display:flex;gap:8px;margin-top:8px}.ai-actions-row button{flex:1;padding:6px;border-radius:4px;font-size:12px;font-weight:500;cursor:pointer;border:1px solid var(--color-input-border);background:var(--color-surface)}.ai-actions-row button.apply-btn{background:var(--color-primary-soft);color:var(--color-primary-text);border-color:var(--color-primary-border)}.ai-actions-row button.apply-btn:hover{background:var(--color-primary-soft)}.ai-actions-row button.insert-btn{background:var(--color-surface-muted);color:var(--color-text-strong)}.ai-actions-row button.insert-btn:hover{background:var(--color-row-hover)}.ai-actions-row button.cancel-btn:hover{background:var(--color-surface)}.ai-sources-list{border-top:1px solid var(--color-border);padding-top:8px;display:flex;flex-direction:column;gap:4px}.ai-sources-list h5{margin:0 0 4px;font-size:11px;color:var(--color-muted)}.source-item{display:flex;align-items:center;gap:6px;font-size:11px}.brand-title-row{display:flex;justify-content:space-between;align-items:center;flex:1;min-width:0;gap:4px}.brand-title-row div{min-width:0}.brand-title-row p{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-toggle-btn{background:transparent;border:0;cursor:pointer;font-size:16px;color:var(--color-muted);padding:4px;border-radius:4px;transition:all .2s ease;outline:none}.display-name-edit-btn{background:transparent;border:1px solid var(--color-input-border);border-radius:4px;color:var(--color-muted);cursor:pointer;font-size:11px;padding:3px 6px}.display-name-edit-btn:hover,.admin-toggle-btn:hover{background:var(--color-row-hover);color:var(--color-primary-text)}.admin-toggle-btn.active{color:var(--color-primary-text);background:var(--color-primary-soft);transform:rotate(45deg)}.admin-panel{padding:24px;background:var(--color-panel-bg);min-height:100%;overflow-y:auto;display:flex;flex-direction:column;gap:28px}.admin-header{display:flex;justify-content:space-between;align-items:center;border-bottom:2px solid var(--color-border);padding-bottom:12px}.admin-header h2{margin:0;font-size:20px;color:var(--color-text)}.refresh-btn{background:var(--color-surface);color:var(--color-text);border:1px solid var(--color-input-border);padding:6px 12px;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer}.refresh-btn:hover{background:var(--color-row-hover)}.admin-section{display:flex;flex-direction:column;gap:12px}.admin-section-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.admin-section-header-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.admin-section h3,.admin-section-header h3{margin:0;font-size:16px;color:var(--color-primary-text);border-bottom:1px solid var(--color-border);padding-bottom:6px}.settings-grid{display:grid;gap:12px;max-width:360px}.settings-grid label{display:grid;gap:6px;color:var(--color-muted);font-size:13px}.settings-grid select{border:1px solid var(--color-input-border);border-radius:6px;background:var(--color-surface);color:var(--color-text);padding:8px 10px}.storage-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;padding:18px;box-shadow:0 2px 6px #00000008;display:flex;flex-direction:column;gap:16px}.storage-warning-banner{background:var(--color-danger-soft);color:var(--color-danger);border:1px solid var(--color-danger-border);border-radius:6px;padding:10px 14px;font-size:13px;font-weight:600}.storage-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}.storage-stat{display:flex;flex-direction:column;gap:6px}.stat-label{font-size:12px;color:var(--color-muted)}.stat-value{font-size:18px;font-weight:700}.stat-value.free{color:var(--color-success)}.stat-value.unreliable{color:var(--color-warning)}.stat-note{font-size:11px;line-height:1.4;color:var(--color-warning)}.stat-value.used{color:var(--color-text-strong)}.stat-value.uploads{color:var(--color-link)}.progress-container{display:flex;flex-direction:column;gap:6px}.progress-bar-label{display:flex;justify-content:space-between;font-size:12px;color:var(--color-muted)}.progress-bar-bg{height:10px;background:var(--color-border);border-radius:5px;overflow:hidden}.progress-bar-fill{height:100%;background:var(--color-primary-text);border-radius:5px;transition:width .3s ease}.progress-bar-fill.warning{background:var(--color-danger)}.admin-table-wrapper{background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;overflow:hidden;box-shadow:0 2px 6px #00000008}.admin-table{width:100%;border-collapse:collapse;text-align:left;font-size:13px}.admin-table th{background:var(--color-surface-muted);color:var(--color-text-strong);font-weight:600;padding:10px 14px;border-bottom:1px solid var(--color-border)}.admin-table td{padding:10px 14px;border-bottom:1px solid var(--color-border);color:var(--color-text-strong)}.admin-table tr:last-child td{border-bottom:0}.current-session-row{background:var(--color-primary-soft)}.current-badge{background:var(--color-primary-soft);color:var(--color-primary-text);border:1px solid var(--color-primary-border);font-size:10px;font-weight:700;padding:1px 4px;border-radius:4px;margin-left:8px}.revoke-btn{background:transparent;color:var(--color-danger);border:1px solid var(--color-danger-border);padding:4px 8px;border-radius:4px;font-size:12px;cursor:pointer}.revoke-btn:hover{background:var(--color-danger-soft)}.revoke-btn.logout{color:var(--color-primary-text);border-color:var(--color-primary-border)}.revoke-btn.logout:hover{background:var(--color-primary-soft)}.revoke-btn.pat{color:var(--color-warning);border-color:var(--color-warning-soft)}.revoke-btn.pat:hover{background:var(--color-warning-soft)}.admin-loading,.admin-error,.admin-empty{padding:20px;text-align:center;font-size:13px;color:var(--color-muted);background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px}.admin-empty code{display:inline-block;max-width:100%;overflow-wrap:anywhere;text-align:left}.issued-prompt{max-height:320px;overflow:auto;text-align:left;white-space:pre-wrap}.proposal-diff{grid-column:1 / -1;max-height:220px;overflow:auto;margin:8px 0 0;padding:8px;border:1px solid var(--color-border);border-radius:8px;background:var(--color-surface-muted);font-size:12px}.admin-error{color:var(--color-danger);background:var(--color-danger-soft);border-color:var(--color-danger-border)}.status-badge{font-size:11px;font-weight:600;padding:2px 6px;border-radius:4px;display:inline-block}.status-badge.status-active{background:var(--color-success-soft);color:var(--color-success)}.status-badge.status-revoked{background:var(--color-surface-muted);color:var(--color-warning)}.status-badge.status-expired{background:var(--color-surface-muted);color:var(--color-text-strong)}.revoked-row{opacity:.65;background:var(--color-surface)}.title-input{border:0!important;border-bottom:0!important;background:transparent;font-size:38px;font-weight:700;color:var(--color-text-strong);padding:12px 0 6px;margin-bottom:8px;outline:none;width:100%}.editor-frame{border:0!important;border-radius:0!important;background:transparent!important;position:relative;min-height:50vh}.ProseMirror{outline:none;min-height:50vh;padding:12px 0!important;line-height:1.6;color:var(--color-text-strong);font-family:ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,"Apple Color Emoji",Arial,sans-serif,"Segoe UI Emoji",Segoe UI Symbol}.page-link-block-card{display:flex;align-items:center;gap:8px;padding:10px 14px;border-radius:6px;border:1px solid var(--color-surface-muted);background:var(--color-surface);margin:6px 0;-webkit-user-select:none;user-select:none;transition:background .15s ease,border-color .15s ease,box-shadow .15s ease;cursor:pointer;font-weight:500;color:var(--color-text-strong);box-shadow:0 1px 2px #00000005}.page-link-block-card:hover{background:var(--color-surface-muted);border-color:var(--color-border);box-shadow:0 2px 4px #0000000a}.page-link-block-card .icon{font-size:18px}.page-link-block-card .title{font-size:14px;border-bottom:1px dashed var(--color-border-strong)}.drag-handle{position:fixed;display:flex!important;align-items:center;justify-content:flex-end;gap:2px;width:48px;height:24px;background:transparent;z-index:50;transition:opacity .15s ease;pointer-events:auto!important;transform:translate(-4px)}.drag-handle.hide{opacity:0}.drag-handle button.add-block-btn{display:flex;align-items:center;justify-content:center;width:22px;height:22px;border:0;background:transparent;color:var(--color-border-strong);border-radius:4px;font-size:16px;cursor:pointer;padding:0;line-height:1;outline:none;font-weight:400}.drag-handle button.add-block-btn:hover{background:var(--color-surface-muted);color:var(--color-text-strong)}.drag-handle .drag-handle-trigger{display:flex;align-items:center;justify-content:center;width:22px;height:22px;color:var(--color-border-strong);border-radius:4px;cursor:grab;font-size:14px;line-height:1;-webkit-user-select:none;user-select:none;font-family:inherit;font-weight:700}.drag-handle .drag-handle-trigger:hover{background:var(--color-surface-muted);color:var(--color-text-strong)}.drag-handle .drag-handle-trigger:active{cursor:grabbing}.editor-frame.dragover{background:#2c6f6d08!important;border:2px dashed var(--color-primary)!important;border-radius:8px!important}.dropzone-overlay{position:absolute;inset:0;background:#2c6f6d14;border-radius:8px;display:flex;align-items:center;justify-content:center;z-index:100;pointer-events:none}.dropzone-box{background:var(--color-surface);border:1px solid var(--color-primary-border);border-radius:8px;padding:16px 24px;display:flex;flex-direction:column;align-items:center;gap:8px;box-shadow:0 4px 12px #00000014}.dropzone-icon{font-size:28px}.dropzone-text{font-size:14px;font-weight:600;color:var(--color-primary-text)}.ProseMirror>p,.ProseMirror>h1,.ProseMirror>h2,.ProseMirror>h3,.ProseMirror>blockquote,.ProseMirror>ul,.ProseMirror>ol,.ProseMirror details.toggle-block,.ProseMirror>pre{position:relative;transition:background-color .2s cubic-bezier(.4,0,.2,1),box-shadow .2s cubic-bezier(.4,0,.2,1),border-color .2s cubic-bezier(.4,0,.2,1);border-radius:4px}.ProseMirror>p,.ProseMirror>h1,.ProseMirror>h2,.ProseMirror>h3,.ProseMirror>blockquote{padding:4px 10px;margin:2px -10px}.ProseMirror>p:hover,.ProseMirror>h1:hover,.ProseMirror>h2:hover,.ProseMirror>h3:hover,.ProseMirror>blockquote:hover{background-color:var(--color-hover);box-shadow:0 1px 2px #0f0f0f08,0 0 1px #0f0f0f05}.ProseMirror>ul,.ProseMirror>ol{padding:6px 10px 6px 34px;margin:4px -10px}.ProseMirror>ul:hover,.ProseMirror>ol:hover{background-color:var(--color-hover-subtle)}.editor-dropcursor{background:var(--color-primary)!important;border-radius:999px;box-shadow:0 0 0 2px var(--color-primary-soft)}.block-drop-preview-active .editor-dropcursor{display:none}.block-drop-widget{display:block;position:relative;min-height:34px;margin:4px 0;pointer-events:none}.block-drop-widget.same{margin-left:-24px}.block-drop-widget.child{margin-left:28px}.block-drop-widget-line{height:3px;border-radius:999px;background:var(--color-primary);box-shadow:0 0 0 2px var(--color-primary-soft)}.block-drop-widget-preview{max-width:min(360px,70vw);margin-top:5px;padding:1px 8px 2px 4px;overflow:hidden;border-radius:4px;background:var(--color-hover-subtle);color:var(--color-muted);font-size:16px;line-height:1.6;opacity:.65;white-space:nowrap;text-overflow:ellipsis}.block-drop-widget-arrow{position:absolute;left:-24px;top:1px;color:var(--color-primary);font-size:18px;line-height:1;opacity:.85}.ProseMirror .block-drop-widget+li,.ProseMirror .block-drop-widget+[data-type=taskItem]{margin-top:4px}.ProseMirror ol{list-style-type:decimal}.ProseMirror ol ol{list-style-type:lower-alpha}.ProseMirror ol ol ol{list-style-type:lower-roman}.ProseMirror ol ol ol ol{list-style-type:decimal}.ProseMirror ol ol ol ol ol{list-style-type:lower-alpha}.ProseMirror ol li:has(>p:hover),.ProseMirror ol li:has(>p.has-focus){background-color:var(--color-hover-subtle);border-radius:5px;box-shadow:inset 3px 0 0 var(--color-primary-border)}.ProseMirror ol li:has(>p:hover)::marker,.ProseMirror ol li:has(>p.has-focus)::marker{color:var(--color-primary-text);font-weight:700}.ProseMirror li[data-type=taskItem],.ProseMirror li[data-checked]{padding:2px 0;margin:2px 0}.ProseMirror li[data-type=taskItem]:hover,.ProseMirror li[data-checked]:hover{background-color:transparent;box-shadow:none}.ProseMirror details.toggle-block{transition:background-color .2s ease,border-color .2s ease,box-shadow .2s ease}.ProseMirror details.toggle-block:hover{background-color:var(--color-surface-muted)!important;border-color:var(--color-border-strong)!important;box-shadow:0 2px 6px #0f0f0f0f}.ProseMirror>pre{border:1px solid transparent;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.ProseMirror>pre:hover{box-shadow:0 6px 16px #00000029,0 2px 6px #0000001a;border-color:#ffffff26}.page-link-block-card{transition:background-color .2s ease,border-color .2s ease,box-shadow .2s ease,transform .2s ease!important}.page-link-block-card:hover{transform:translateY(-1px);background-color:var(--color-surface-muted);border-color:var(--color-border);box-shadow:0 3px 8px #0f0f0f0f,0 1px 3px #0f0f0f05}.drag-handle button.add-block-btn,.drag-handle .drag-handle-trigger{transition:background-color .15s ease,color .15s ease}.page-row{border-radius:4px;padding:6px 8px;transition:background-color .15s ease,color .15s ease}.attachment-row,.revision-row{transition:background-color .15s ease,border-color .15s ease,box-shadow .15s ease,transform .15s ease}.attachment-row:hover,.revision-row:hover{background-color:var(--color-surface);border-color:var(--color-border-strong);box-shadow:0 2px 8px #0000000a}.ai-helper-panel button,.ai-actions-row button{transition:background-color .15s ease,border-color .15s ease,color .15s ease}.ProseMirror>p.has-focus,.ProseMirror>h1.has-focus,.ProseMirror>h2.has-focus,.ProseMirror>h3.has-focus,.ProseMirror>blockquote.has-focus{background-color:var(--color-hover-subtle);box-shadow:0 1px 3px #0f0f0f0a,0 0 1px #0f0f0f08}.ProseMirror li>p.has-focus{background-color:var(--color-hover-subtle);box-shadow:inset 3px 0 0 var(--color-primary-border)}.ProseMirror>p.has-focus:hover,.ProseMirror>h1.has-focus:hover,.ProseMirror>h2.has-focus:hover,.ProseMirror>h3.has-focus:hover,.ProseMirror>blockquote.has-focus:hover{background-color:var(--color-hover);box-shadow:0 2px 4px #0f0f0f0d,0 0 1px #0f0f0f08}.ProseMirror li[data-type=taskItem].has-focus,.ProseMirror li[data-checked].has-focus,.ProseMirror li[data-type=taskItem].has-focus:hover,.ProseMirror li[data-checked].has-focus:hover{background-color:transparent;box-shadow:none}.ProseMirror details.toggle-block.has-focus{background-color:var(--color-surface-muted)!important;border-color:var(--color-border-strong)!important;box-shadow:0 2px 6px #0f0f0f0d}.ProseMirror details.toggle-block.has-focus:hover{background-color:var(--color-surface-muted)!important;border-color:var(--color-border-strong)!important;box-shadow:0 3px 8px #0f0f0f14}.ProseMirror>pre.has-focus{box-shadow:0 4px 10px #0000001f;border-color:#ffffff1f}.modal-overlay{position:fixed;inset:0;display:flex;justify-content:center;align-items:center;background:#0006;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:400}.trash-modal{position:relative;background:var(--color-surface);width:90%;max-width:480px;max-height:80vh;border-radius:12px;border:1px solid var(--color-input-border);box-shadow:0 20px 50px #00000040;display:flex;flex-direction:column;overflow:hidden}.trash-modal-header{padding:16px 20px;border-bottom:1px solid var(--color-border);background:var(--color-panel-bg);display:flex;justify-content:space-between;align-items:center}.trash-modal-header h2{margin:0;font-size:18px;color:var(--color-text-strong)}.trash-modal-close{background:none;border:none;font-size:16px;line-height:1;color:var(--color-muted);cursor:pointer;padding:4px 8px;border-radius:6px}.trash-modal-close:hover{background:var(--color-row-hover);color:var(--color-text)}.trash-modal-hint{margin:0;padding:12px 20px;color:var(--color-muted);font-size:13px}.trash-empty{padding:32px 20px 40px;text-align:center;color:var(--color-muted);font-size:14px}.move-modal{position:relative;background:var(--color-surface);width:90%;max-width:420px;max-height:80vh;border-radius:12px;border:1px solid var(--color-input-border);box-shadow:0 20px 50px #00000040;display:flex;flex-direction:column;overflow:hidden}.move-modal-header{padding:16px 20px;border-bottom:1px solid var(--color-border);background:var(--color-panel-bg);display:flex;justify-content:space-between;align-items:center}.move-modal-header h2{margin:0;font-size:16px;color:var(--color-text-strong)}.move-modal-close{background:none;border:none;font-size:15px;line-height:1;color:var(--color-muted);cursor:pointer;padding:4px 8px;border-radius:6px}.move-modal-close:hover{background:var(--color-row-hover);color:var(--color-text)}.move-modal-hint{margin:0;padding:12px 20px 4px;color:var(--color-muted);font-size:13px}.move-target-list{list-style:none;margin:0;padding:8px;overflow-y:auto}.move-target-list li{margin:0}.move-target-list button{width:100%;text-align:left;background:none;border:none;padding:8px 12px;border-radius:6px;color:var(--color-text);font-size:14px;cursor:pointer}.move-target-list button:hover:not(:disabled){background:var(--color-row-hover)}.move-target-list button:disabled{color:var(--color-muted);cursor:default;opacity:.6}.move-modal-empty{padding:8px 20px 20px;text-align:center;color:var(--color-muted);font-size:13px}.trash-list{list-style:none;margin:0;padding:0 12px 12px;overflow-y:auto}.trash-row{display:flex;align-items:center;gap:12px;padding:10px 8px;border-radius:8px}.trash-row:hover{background:var(--color-surface-muted)}.trash-row-main{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1 1 auto}.trash-row-title{font-size:14px;color:var(--color-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.trash-row-meta{font-size:12px;color:var(--color-muted)}.trash-restore-btn{flex:none;background:var(--color-primary-soft);color:var(--color-primary-text);border:1px solid var(--color-primary-border);padding:6px 12px;border-radius:8px;font-size:13px;cursor:pointer}.trash-restore-btn:hover:not(:disabled){background:var(--color-primary);color:var(--color-on-primary);border-color:var(--color-primary)}.trash-restore-btn:disabled{opacity:.6;cursor:default}.trash-modal-header-actions{display:flex;align-items:center;gap:10px}.trash-empty-btn{background:none;border:1px solid var(--color-danger-border);color:var(--color-danger);padding:5px 10px;border-radius:8px;font-size:12px;cursor:pointer}.trash-empty-btn:hover{background:var(--color-danger-soft)}.trash-row-actions{flex:none;display:flex;gap:8px}.trash-purge-btn{flex:none;background:none;color:var(--color-danger);border:1px solid var(--color-danger-border);padding:6px 12px;border-radius:8px;font-size:13px;cursor:pointer}.trash-purge-btn:hover:not(:disabled){background:var(--color-danger);color:#fff;border-color:var(--color-danger)}.trash-purge-btn:disabled{opacity:.6;cursor:default}
