:root{--color-bg-primary: #222831;--color-bg-secondary: #393E46;--color-bg-tertiary: #2a303a;--color-accent: #00ADB5;--color-accent-hover: #00c9d3;--color-accent-dim: rgba(0, 173, 181, .15);--color-text-primary: #EEEEEE;--color-text-secondary: #a0a4ab;--color-text-muted: #6b7280;--color-border: #4a4f5a;--color-border-subtle: #353a44;--color-danger: #ef4444;--color-danger-hover: #dc2626;--color-warning: #f59e0b;--color-success: #10b981;--color-info: #3b82f6;--spacing-xs: 4px;--spacing-sm: 8px;--spacing-md: 12px;--spacing-lg: 16px;--spacing-xl: 24px;--spacing-2xl: 32px;--radius-sm: 4px;--radius-md: 6px;--radius-lg: 8px;--radius-xl: 12px;--font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono: "JetBrains Mono", "Fira Code", "Cascadia Code", Consolas, monospace;--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);--sidebar-width: 280px;--topbar-height: 48px;--comments-panel-width: 320px}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%;width:100%;overflow:hidden}body{font-family:var(--font-sans);font-size:14px;color:var(--color-text-primary);background-color:var(--color-bg-primary);line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{color:var(--color-accent);text-decoration:none}a:hover{text-decoration:underline}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--color-text-muted)}.auth-page{display:flex;align-items:center;justify-content:center;min-height:100vh;background:var(--color-bg-primary);padding:var(--spacing-xl)}.auth-card{width:100%;max-width:440px;background:var(--color-bg-secondary);border-radius:var(--radius-xl);padding:var(--spacing-2xl);box-shadow:var(--shadow-lg);border:1px solid var(--color-border-subtle)}.auth-card h1{font-size:1.75rem;font-weight:700;margin-bottom:var(--spacing-sm);color:var(--color-text-primary)}.auth-card h2{font-size:1.4rem;font-weight:600;margin-bottom:var(--spacing-xs)}.auth-card p{color:var(--color-text-secondary);margin-bottom:var(--spacing-xl)}.welcome-page{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;text-align:center;background:var(--color-bg-primary)}.welcome-page .welcome-logo{color:var(--color-accent);margin-bottom:var(--spacing-lg)}.welcome-page h1{font-size:2.5rem;font-weight:800;letter-spacing:2px;margin-bottom:var(--spacing-sm)}.welcome-page h1 span{color:var(--color-accent)}.welcome-page .welcome-subtitle{color:var(--color-text-secondary);font-size:1.1rem;margin-bottom:var(--spacing-2xl);max-width:480px}.welcome-actions{display:flex;gap:var(--spacing-md);margin-bottom:var(--spacing-2xl)}.welcome-features{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--spacing-lg);max-width:600px}.welcome-feature{background:var(--color-bg-secondary);padding:var(--spacing-lg);border-radius:var(--radius-lg);border:1px solid var(--color-border-subtle);text-align:center}.welcome-feature svg{color:var(--color-accent);margin-bottom:var(--spacing-sm)}.welcome-feature h3{font-size:.85rem;font-weight:600;margin-bottom:var(--spacing-xs)}.welcome-feature p{font-size:.75rem;color:var(--color-text-muted)}.form-group{margin-bottom:var(--spacing-lg)}.form-group label{display:block;font-size:.85rem;font-weight:500;margin-bottom:var(--spacing-xs);color:var(--color-text-secondary)}.form-input{width:100%;padding:10px 12px;background:var(--color-bg-primary);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-primary);font-size:.9rem;font-family:var(--font-sans);transition:border-color .2s,box-shadow .2s;outline:none}.form-input:focus{border-color:var(--color-accent);box-shadow:0 0 0 2px var(--color-accent-dim)}.form-input::placeholder{color:var(--color-text-muted)}.form-input-group{position:relative}.form-input-group .toggle-password{position:absolute;right:10px;top:50%;transform:translateY(-50%);background:none;border:none;color:var(--color-text-muted);cursor:pointer;padding:4px}.form-input-group .toggle-password:hover{color:var(--color-text-primary)}.form-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-lg);font-size:.85rem}.form-row label{display:flex;align-items:center;gap:var(--spacing-xs);cursor:pointer;color:var(--color-text-secondary)}.form-row a{color:var(--color-accent);font-size:.85rem}.password-strength{display:flex;flex-direction:column;gap:2px;margin-top:var(--spacing-xs)}.password-strength-item{font-size:.75rem;color:var(--color-text-muted);display:flex;align-items:center;gap:var(--spacing-xs)}.password-strength-item.met{color:var(--color-success)}.form-error{background:#ef44441a;border:1px solid rgba(239,68,68,.3);color:var(--color-danger);padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-md);font-size:.85rem;margin-bottom:var(--spacing-lg)}.form-footer{text-align:center;margin-top:var(--spacing-lg);font-size:.85rem;color:var(--color-text-secondary)}.form-footer a{color:var(--color-accent);font-weight:500}.terms-label{display:flex;align-items:flex-start;gap:var(--spacing-sm);font-size:.8rem;color:var(--color-text-secondary);margin-bottom:var(--spacing-lg)}.terms-label input{margin-top:3px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-sm);padding:10px 20px;border:none;border-radius:var(--radius-md);font-size:.9rem;font-weight:600;font-family:var(--font-sans);cursor:pointer;transition:all .2s;outline:none}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-accent{background:var(--color-accent);color:var(--color-bg-primary)}.btn-accent:hover:not(:disabled){background:var(--color-accent-hover)}.btn-secondary{background:var(--color-bg-secondary);color:var(--color-text-primary);border:1px solid var(--color-border)}.btn-secondary:hover:not(:disabled){background:var(--color-bg-tertiary);border-color:var(--color-text-muted)}.btn-ghost{background:transparent;color:var(--color-text-primary)}.btn-ghost:hover:not(:disabled){background:#ffffff0d}.btn-danger{background:var(--color-danger);color:#fff}.btn-danger:hover:not(:disabled){background:var(--color-danger-hover)}.btn-full{width:100%}.btn-sm{padding:6px 12px;font-size:.8rem}.btn-lg{padding:12px 28px;font-size:1rem}.app-layout{display:flex;flex-direction:column;height:100vh;width:100%;overflow:hidden}.app-body{display:flex;flex:1;overflow:hidden}.topbar{height:var(--topbar-height);background:#1a1a1f;border-bottom:1px solid var(--color-border-subtle);display:flex;align-items:center;padding:0 var(--spacing-lg);gap:var(--spacing-md);flex-shrink:0;-webkit-app-region:drag}.topbar-left{display:flex;align-items:center;gap:var(--spacing-sm)}.topbar-toggle{background:none;border:none;color:var(--color-text-secondary);cursor:pointer;padding:var(--spacing-xs);border-radius:var(--radius-sm);display:flex;align-items:center;-webkit-app-region:no-drag}.topbar-toggle:hover{background:#ffffff0d;color:var(--color-text-primary)}.topbar-brand{font-size:.9rem;font-weight:700;letter-spacing:1px}.topbar-brand span{color:var(--color-accent)}.topbar-search{flex:1;max-width:480px;margin:0 auto;position:relative;-webkit-app-region:no-drag}.topbar-search input{width:100%;padding:6px 12px 6px 32px;background:var(--color-bg-primary);border:1px solid var(--color-border-subtle);border-radius:var(--radius-lg);color:var(--color-text-primary);font-size:.85rem;outline:none;transition:border-color .2s}.topbar-search input:focus{border-color:var(--color-accent)}.topbar-search input::placeholder{color:var(--color-text-muted)}.topbar-search svg{position:absolute;left:10px;top:50%;transform:translateY(-50%);color:var(--color-text-muted)}.topbar-actions{display:flex;align-items:center;gap:var(--spacing-xs);-webkit-app-region:no-drag}.topbar-btn{background:none;border:none;color:var(--color-text-secondary);cursor:pointer;padding:var(--spacing-xs);border-radius:var(--radius-sm);display:flex;align-items:center;position:relative}.topbar-btn:hover{background:#ffffff0d;color:var(--color-text-primary)}.notification-badge{position:absolute;top:0;right:0;background:var(--color-danger);color:#fff;font-size:.6rem;font-weight:700;border-radius:50%;width:14px;height:14px;display:flex;align-items:center;justify-content:center}.topbar-user{position:relative;-webkit-app-region:no-drag}.topbar-avatar{width:28px;height:28px;border-radius:50%;background:var(--color-accent);color:var(--color-bg-primary);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.75rem;cursor:pointer;border:none}.topbar-avatar:hover{box-shadow:0 0 0 2px var(--color-accent-dim)}.topbar-dropdown{position:absolute;top:calc(100% + 8px);right:0;background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);min-width:200px;z-index:100;padding:var(--spacing-xs) 0}.topbar-dropdown button{display:flex;align-items:center;gap:var(--spacing-sm);width:100%;padding:var(--spacing-sm) var(--spacing-lg);background:none;border:none;color:var(--color-text-secondary);font-size:.85rem;cursor:pointer;font-family:var(--font-sans);text-align:left}.topbar-dropdown button:hover{background:#ffffff0d;color:var(--color-text-primary)}.topbar-dropdown .dropdown-divider{height:1px;background:var(--color-border-subtle);margin:var(--spacing-xs) 0}.topbar-dropdown .dropdown-danger{color:var(--color-danger)}.app-sidebar{background:#1a1a1f;border-right:1px solid var(--color-border-subtle);display:flex;flex-direction:column;flex-shrink:0;overflow:hidden}.sidebar{display:flex;flex-direction:column;height:100%}.sidebar-header{padding:var(--spacing-sm) var(--spacing-md);border-bottom:1px solid var(--color-border-subtle);display:flex;flex-direction:column;gap:var(--spacing-sm)}.sidebar-nav{display:flex;gap:2px}.sidebar-nav-btn{flex:1;padding:var(--spacing-xs) var(--spacing-sm);background:none;border:none;color:var(--color-text-muted);cursor:pointer;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;transition:all .15s}.sidebar-nav-btn:hover{background:#ffffff0d;color:var(--color-text-secondary)}.sidebar-nav-btn.active{background:var(--color-accent-dim);color:var(--color-accent)}.sidebar-actions{display:flex;gap:var(--spacing-xs)}.sidebar-action-btn{flex:1;padding:var(--spacing-xs);background:none;border:1px solid var(--color-border-subtle);color:var(--color-text-secondary);cursor:pointer;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;transition:all .15s}.sidebar-action-btn:hover{border-color:var(--color-accent);color:var(--color-accent)}.sidebar-new-folder{padding:var(--spacing-xs) var(--spacing-md)}.sidebar-new-folder input{width:100%;padding:6px 8px;background:var(--color-bg-primary);border:1px solid var(--color-accent);border-radius:var(--radius-sm);color:var(--color-text-primary);font-size:.8rem;outline:none}.sidebar-content{flex:1;overflow-y:auto;padding:var(--spacing-sm) 0}.sidebar-section{margin-bottom:var(--spacing-md)}.sidebar-root-dropzone{display:flex;align-items:center;gap:var(--spacing-sm);padding:8px var(--spacing-md);margin:0 var(--spacing-sm) var(--spacing-md);cursor:pointer;color:var(--color-text-muted);font-size:.8rem;border:2px dashed var(--color-border-subtle);border-radius:var(--radius-md);background:transparent;transition:all .15s}.sidebar-root-dropzone:hover{color:var(--color-text-secondary);border-color:var(--color-text-secondary);background:#ffffff05}.sidebar-root-dropzone.drag-over,.sidebar-root-dropzone.active{background:var(--color-accent-dim);border-color:var(--color-accent);color:var(--color-accent);font-weight:600;box-shadow:0 0 8px #00adb533}.sidebar-section-title{font-size:.65rem;font-weight:700;letter-spacing:1.2px;color:var(--color-text-muted);padding:var(--spacing-xs) var(--spacing-md);text-transform:uppercase}.sidebar-item{display:flex;align-items:center;gap:var(--spacing-sm);padding:5px var(--spacing-md);cursor:pointer;color:var(--color-text-secondary);font-size:.85rem;min-height:30px}.sidebar-item:hover{background:#ffffff08;color:var(--color-text-primary)}.sidebar-item.active{background:var(--color-accent-dim);color:var(--color-accent)}.sidebar-item-text{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-item-action{background:none;border:none;color:var(--color-text-muted);cursor:pointer;opacity:0;padding:2px;border-radius:var(--radius-sm);display:flex;align-items:center}.sidebar-item:hover .sidebar-item-action{opacity:1}.sidebar-item-action:hover{color:var(--color-accent)}.sidebar-item-action-danger:hover{color:var(--color-danger)}.sidebar-folder-actions{display:flex;gap:2px;margin-left:auto;flex-shrink:0}.context-menu-confirm{padding:8px 12px}.context-menu-confirm-text{display:block;font-size:.8rem;color:var(--color-text-secondary);margin-bottom:8px}.context-menu-confirm-actions{display:flex;gap:6px}.btn-danger{background:var(--color-danger);color:#fff;border:none}.btn-danger:hover{opacity:.85}.sidebar-note-badges{display:flex;gap:2px;flex-shrink:0}.badge-pin,.badge-star{color:var(--color-warning)}.sidebar-tag-count{font-size:.7rem;color:var(--color-text-muted);background:var(--color-bg-primary);padding:1px 6px;border-radius:10px}.search-result-content{display:flex;flex-direction:column;flex:1;overflow:hidden}.search-result-snippet{font-size:.75rem;color:var(--color-text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-main{flex:1;display:flex;flex-direction:column;overflow:hidden;background:var(--color-bg-primary)}.note-editor{display:flex;flex-direction:column;height:100%}.editor-header{display:flex;align-items:flex-start;justify-content:space-between;padding:var(--spacing-lg) var(--spacing-xl);border-bottom:1px solid var(--color-border-subtle);flex-shrink:0}.editor-header-left{flex:1}.editor-title-input{width:100%;background:none;border:none;color:var(--color-text-primary);font-size:1.6rem;font-weight:700;font-family:var(--font-sans);outline:none;padding:0;margin-bottom:var(--spacing-xs)}.editor-title-input::placeholder{color:var(--color-text-muted)}.editor-meta{display:flex;align-items:center;gap:var(--spacing-md)}.editor-meta-item{display:flex;align-items:center;gap:var(--spacing-xs);font-size:.75rem;color:var(--color-text-muted)}.editor-saving{font-size:.75rem;color:var(--color-accent);font-weight:500}.editor-header-actions{display:flex;gap:var(--spacing-xs)}.editor-action-btn{background:none;border:none;color:var(--color-text-muted);cursor:pointer;padding:var(--spacing-xs);border-radius:var(--radius-sm);display:flex;align-items:center;position:relative}.editor-action-btn:hover{background:#ffffff0d;color:var(--color-text-primary)}.editor-action-btn.active{color:var(--color-accent)}.editor-toolbar{display:flex;align-items:center;gap:2px;padding:var(--spacing-sm) var(--spacing-xl);border-bottom:1px solid var(--color-border-subtle);flex-shrink:0;overflow-x:auto;background:var(--color-bg-primary)}.toolbar-btn{background:none;border:none;color:var(--color-text-muted);cursor:pointer;padding:4px 6px;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;min-width:28px;min-height:28px;transition:all .1s}.toolbar-btn:hover{background:#ffffff0f;color:var(--color-text-primary)}.toolbar-btn.active{background:var(--color-accent-dim);color:var(--color-accent)}.toolbar-divider{width:1px;height:20px;background:var(--color-border-subtle);margin:0 var(--spacing-xs)}.editor-content-area{flex:1;overflow-y:auto;padding:var(--spacing-xl);padding-top:var(--spacing-lg)}.editor-editable{max-width:768px;margin:0 auto;min-height:100%;outline:none;font-size:.95rem;line-height:1.75;color:var(--color-text-primary);padding-left:32px}.block-wrapper{position:relative;transition:background .15s ease}.block-wrapper.has-inline-comments{border-left:2px solid color-mix(in srgb,var(--color-accent) 55%,transparent);padding-left:6px}.block-wrapper:hover>.block-drag-handle{opacity:1}.block-wrapper.is-dragging{opacity:.35}.block-drag-handle{position:absolute;left:-30px;top:2px;width:22px;height:26px;display:flex;align-items:center;justify-content:center;opacity:0;cursor:grab;color:var(--color-text-muted);border-radius:4px;transition:opacity .15s ease,background .15s ease,color .15s ease;-webkit-user-select:none;user-select:none;z-index:5}.block-drag-handle:hover{background:var(--color-bg-tertiary);color:var(--color-text-secondary)}.block-drag-handle:active{cursor:grabbing;color:var(--color-accent)}.inline-comment-trigger{position:absolute;right:-34px;top:2px;min-width:24px;height:24px;border-radius:999px;border:1px solid var(--color-border);background:var(--color-bg-secondary);color:var(--color-text-muted);display:inline-flex;align-items:center;justify-content:center;gap:4px;padding:0 6px;opacity:0;cursor:pointer;box-shadow:var(--shadow-sm);transition:opacity .12s ease,transform .12s ease,color .12s ease;z-index:8}.inline-comment-trigger span{font-size:.62rem;font-weight:700;line-height:1}.block-wrapper:hover .inline-comment-trigger,.inline-comment-trigger.active,.block-wrapper.has-inline-comments .inline-comment-trigger{opacity:1}.inline-comment-trigger:hover,.inline-comment-trigger.active{transform:translateY(-1px);color:var(--color-accent);border-color:color-mix(in srgb,var(--color-accent) 55%,var(--color-border))}.inline-comment-thread{position:relative;width:100%;max-height:400px;display:flex;flex-direction:column;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg-primary);box-shadow:0 12px 30px #00000047;z-index:42;margin-top:6px;margin-bottom:4px}@media(min-width:1200px){.inline-comment-thread{position:absolute;right:-352px;top:-4px;width:320px;max-height:360px;margin-top:0;margin-bottom:0}}.inline-comment-thread-header{display:flex;align-items:center;justify-content:space-between;padding:8px 10px;border-bottom:1px solid var(--color-border-subtle);font-size:.72rem;font-weight:700}.inline-comment-thread-header button{background:transparent;border:none;color:var(--color-text-muted);cursor:pointer}.inline-comment-thread-list{flex:1;overflow-y:auto;padding:8px;display:flex;flex-direction:column;gap:8px}.inline-comment-empty{font-size:.7rem;color:var(--color-text-muted);text-align:center;padding:10px 6px}.inline-comment-item,.inline-comment-reply-item{border:1px solid var(--color-border-subtle);border-radius:8px;background:var(--color-bg-secondary);padding:6px 7px}.inline-comment-item.resolved{opacity:.78}.inline-comment-replies{margin-top:6px;display:flex;flex-direction:column;gap:6px;padding-left:12px}.inline-comment-meta{display:flex;justify-content:space-between;gap:8px;font-size:.65rem;color:var(--color-text-muted)}.inline-comment-content{margin-top:3px;font-size:.72rem;line-height:1.35;white-space:pre-wrap;word-break:break-word}.inline-comment-actions{margin-top:6px;display:flex;align-items:center;gap:6px}.inline-comment-actions button{border:1px solid var(--color-border);background:var(--color-bg-primary);color:var(--color-text-secondary);border-radius:6px;font-size:.64rem;padding:2px 6px;display:inline-flex;align-items:center;gap:4px;cursor:pointer}.inline-comment-actions button.danger{color:#f87171}.inline-comment-replying-to{margin:4px 8px 0;padding:5px 8px;border-radius:6px;background:var(--color-bg-secondary);font-size:.66rem;color:var(--color-text-secondary);display:flex;justify-content:space-between;align-items:center}.inline-comment-replying-to button{border:none;background:transparent;color:var(--color-text-muted);cursor:pointer}.inline-comment-compose{display:flex;align-items:flex-end;gap:6px;border-top:1px solid var(--color-border-subtle);padding:8px}.inline-comment-compose textarea{flex:1;resize:vertical;min-height:44px;max-height:96px;background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:8px;color:var(--color-text-primary);padding:7px 8px;font-size:.72rem;font-family:var(--font-sans)}.inline-comment-compose button{width:30px;height:30px;border-radius:8px;border:1px solid var(--color-border);background:var(--color-bg-secondary);color:var(--color-text-secondary);cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.inline-comment-compose button:disabled{opacity:.45;cursor:not-allowed}.block-wrapper.drop-before:before{content:"";position:absolute;top:-2px;left:-28px;right:0;height:3px;background:var(--color-accent);border-radius:2px;z-index:10;pointer-events:none}.block-wrapper.drop-after:after{content:"";position:absolute;bottom:-2px;left:-28px;right:0;height:3px;background:var(--color-accent);border-radius:2px;z-index:10;pointer-events:none}.block-wrapper.drop-before:before,.block-wrapper.drop-after:after{box-shadow:0 0 6px #00adb566}.block-drop-indicator-line{position:fixed;height:3px;background:var(--color-accent);border-radius:2px;z-index:9999;pointer-events:none;box-shadow:0 0 6px #00adb566;transition:top .08s ease,left .08s ease,width .08s ease}.editor-editable h1{font-size:2rem;font-weight:700;margin:1em 0 .5em;line-height:1.3}.editor-editable h2{font-size:1.5rem;font-weight:600;margin:.8em 0 .4em;line-height:1.3}.editor-editable h3{font-size:1.2rem;font-weight:600;margin:.6em 0 .3em;line-height:1.4}.editor-editable p{margin-bottom:.5em}.editor-editable ul,.editor-editable ol,.editor-list{padding-left:1.5em;margin:.3em 0}.editor-bulleted-list{list-style-type:disc}.editor-bulleted-list .editor-bulleted-list{list-style-type:circle}.editor-bulleted-list .editor-bulleted-list .editor-bulleted-list{list-style-type:square}.editor-numbered-list{list-style-type:decimal}.editor-numbered-list .editor-numbered-list{list-style-type:lower-alpha}.editor-numbered-list .editor-numbered-list .editor-numbered-list{list-style-type:lower-roman}.editor-list-item{margin-bottom:.15em;padding-left:.25em;display:list-item}.editor-editable li{margin-bottom:.15em;display:list-item}.editor-blockquote{border-left:3px solid var(--color-accent);padding-left:var(--spacing-lg);margin:.5em 0;color:var(--color-text-secondary);font-style:italic}.editor-code-block{background:var(--color-bg-secondary);border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);padding:var(--spacing-md);margin:.5em 0;overflow-x:auto;font-family:var(--font-mono);font-size:.85rem;line-height:1.6}.inline-code{background:var(--color-bg-secondary);padding:1px 5px;border-radius:var(--radius-sm);font-family:var(--font-mono);font-size:.85em;color:var(--color-accent)}.editor-divider{margin:1em 0;-webkit-user-select:none;user-select:none}.editor-divider hr{border:none;border-top:1px solid var(--color-border)}.editor-checklist-item{display:flex;align-items:center;gap:8px;padding:3px 0;border-radius:var(--radius-sm);position:relative}.editor-checklist-item.is-done{opacity:.6}.checklist-toggle{display:flex;align-items:center;justify-content:center;width:18px;height:18px;min-width:18px;border-radius:4px;border:2px solid var(--color-text-muted);background:transparent;cursor:pointer;color:transparent;flex-shrink:0;-webkit-user-select:none;user-select:none}.checklist-toggle:hover{border-color:var(--color-accent);background:var(--color-accent-dim)}.checklist-toggle.checked{background:var(--color-accent);border-color:var(--color-accent);color:#fff}.checklist-text{flex:1;min-width:0}.checklist-text.checked{text-decoration:line-through;color:var(--color-text-muted)}.wiki-link{color:var(--color-accent);background:var(--color-accent-dim);padding:0 4px;border-radius:var(--radius-sm);cursor:pointer;font-weight:500}.wiki-link:hover{text-decoration:underline}.tag-link{color:var(--color-info);background:#3b82f61f;padding:0 4px;border-radius:var(--radius-sm);cursor:pointer;font-weight:500}.editor-link{color:var(--color-accent);text-decoration:underline}.editor-image-wrapper{margin:1em 0;text-align:center}.editor-image{max-width:100%;border-radius:var(--radius-md)}.editor-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;color:var(--color-text-muted);text-align:center;padding:var(--spacing-2xl)}.editor-empty-icon{font-size:3rem;margin-bottom:var(--spacing-lg)}.editor-empty-state h2{font-size:1.3rem;color:var(--color-text-secondary);margin-bottom:var(--spacing-sm)}.editor-empty-state p{font-size:.9rem;max-width:320px}.app-comments-panel{width:var(--comments-panel-width);border-left:1px solid var(--color-border-subtle);background:var(--color-bg-secondary);flex-shrink:0;overflow:hidden}.comments-panel{display:flex;flex-direction:column;height:100%}.comments-panel-header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-md) var(--spacing-lg);border-bottom:1px solid var(--color-border-subtle)}.comments-panel-header h3{font-size:.9rem;font-weight:600}.comments-count{font-size:.75rem;background:var(--color-bg-primary);padding:1px 8px;border-radius:10px;color:var(--color-text-muted)}.comments-list{flex:1;overflow-y:auto;padding:var(--spacing-sm)}.comments-loading,.comments-empty{padding:var(--spacing-xl);text-align:center;color:var(--color-text-muted);font-size:.85rem}.comment-item{background:var(--color-bg-primary);border-radius:var(--radius-md);padding:var(--spacing-sm) var(--spacing-md);margin-bottom:var(--spacing-sm);border:1px solid var(--color-border-subtle)}.comment-item.resolved{opacity:.6}.comment-header{display:flex;align-items:center;gap:var(--spacing-sm);margin-bottom:var(--spacing-xs)}.comment-author{font-weight:600;font-size:.8rem;color:var(--color-text-primary)}.comment-date{font-size:.7rem;color:var(--color-text-muted)}.comment-actions-inline{margin-left:auto;display:flex;gap:2px;opacity:0}.comment-item:hover .comment-actions-inline{opacity:1}.comment-actions-inline button{background:none;border:none;color:var(--color-text-muted);cursor:pointer;padding:2px;border-radius:var(--radius-sm)}.comment-actions-inline button:hover{color:var(--color-text-primary)}.comment-delete:hover{color:var(--color-danger)!important}.comment-content{font-size:.85rem;color:var(--color-text-secondary);line-height:1.5}.comment-resolved-badge{display:inline-block;font-size:.65rem;color:var(--color-success);margin-top:var(--spacing-xs);font-weight:600}.comments-input-area{padding:var(--spacing-sm);border-top:1px solid var(--color-border-subtle)}.comments-reply-indicator{display:flex;justify-content:space-between;align-items:center;font-size:.75rem;color:var(--color-accent);margin-bottom:var(--spacing-xs);padding:var(--spacing-xs) var(--spacing-sm);background:var(--color-accent-dim);border-radius:var(--radius-sm)}.comments-reply-indicator button{background:none;border:none;color:var(--color-text-muted);cursor:pointer;font-size:.8rem}.comments-input-row{display:flex;gap:var(--spacing-xs)}.comments-input-row input{flex:1;padding:8px 10px;background:var(--color-bg-primary);border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);color:var(--color-text-primary);font-size:.85rem;outline:none}.comments-input-row input:focus{border-color:var(--color-accent)}.comments-send-btn{background:var(--color-accent);border:none;color:var(--color-bg-primary);cursor:pointer;padding:var(--spacing-sm);border-radius:var(--radius-md);display:flex;align-items:center}.comments-send-btn:disabled{opacity:.4;cursor:not-allowed}.context-menu{position:fixed;background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);min-width:160px;padding:var(--spacing-xs) 0;z-index:200}.context-menu-item{display:flex;align-items:center;gap:var(--spacing-sm);width:100%;padding:var(--spacing-sm) var(--spacing-md);background:none;border:none;color:var(--color-text-secondary);font-size:.85rem;cursor:pointer;font-family:var(--font-sans)}.context-menu-item:hover{background:#ffffff0d;color:var(--color-text-primary)}.context-menu-danger:hover{background:#ef44441a;color:var(--color-danger)}.context-menu-divider{height:1px;background:var(--color-border-subtle);margin:var(--spacing-xs) 0}.dialog-overlay{position:fixed;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:300}.dialog{background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);width:100%;max-height:80vh;overflow-y:auto}.dialog-header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-lg);border-bottom:1px solid var(--color-border-subtle)}.dialog-header h3{display:flex;align-items:center;gap:var(--spacing-sm);font-size:1rem;font-weight:600}.dialog-close{background:none;border:none;color:var(--color-text-muted);cursor:pointer;padding:var(--spacing-xs);border-radius:var(--radius-sm)}.dialog-close:hover{color:var(--color-text-primary)}.share-dialog-v2{max-width:560px;width:100%}.share-dialog-header{display:flex;align-items:flex-start;justify-content:space-between;padding:var(--spacing-lg) var(--spacing-xl);border-bottom:1px solid var(--color-border-subtle)}.share-dialog-title-row{display:flex;align-items:flex-start;gap:var(--spacing-md)}.share-dialog-title-row h3{font-size:1rem;font-weight:600;color:var(--color-text-primary);margin:0}.share-dialog-note-name{font-size:.78rem;color:var(--color-text-muted);margin-top:2px}.share-success-toast{display:flex;align-items:center;gap:var(--spacing-sm);margin:var(--spacing-sm) var(--spacing-xl);padding:var(--spacing-sm) var(--spacing-md);background:#10b9811f;border:1px solid rgba(16,185,129,.3);border-radius:var(--radius-md);color:var(--color-success);font-size:.8rem;font-weight:500;animation:fadeInSlide .2s ease}@keyframes fadeInSlide{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.share-section-label{display:flex;align-items:center;gap:var(--spacing-xs);font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--color-text-muted);margin-bottom:var(--spacing-sm)}.share-add-section{padding:var(--spacing-lg) var(--spacing-xl);border-bottom:1px solid var(--color-border-subtle)}.share-add-row{display:flex;gap:var(--spacing-sm)}.share-search-input-wrap{flex:1;position:relative;display:flex;align-items:center}.share-search-input-wrap svg{position:absolute;left:10px;color:var(--color-text-muted)}.share-search-input-wrap input{width:100%;padding:8px 12px 8px 32px;background:var(--color-bg-primary);border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);color:var(--color-text-primary);font-size:.85rem;font-family:var(--font-sans);outline:none;transition:border-color .15s}.share-search-input-wrap input:focus{border-color:var(--color-accent)}.share-role-picker-wrapper{position:relative}.share-role-picker-btn{display:flex;align-items:center;gap:6px;padding:8px 12px;background:var(--color-bg-primary);border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);color:var(--color-text-primary);cursor:pointer;font-size:.82rem;font-weight:500;font-family:var(--font-sans);white-space:nowrap;transition:all .15s}.share-role-picker-btn:hover{background:var(--color-bg-tertiary)}.share-role-dropdown{position:absolute;top:calc(100% + 6px);right:0;background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);min-width:250px;z-index:200;overflow:hidden;animation:fadeInSlide .15s ease}.share-role-option{display:flex;align-items:center;gap:var(--spacing-sm);width:100%;padding:var(--spacing-sm) var(--spacing-md);background:none;border:none;color:var(--color-text-primary);cursor:pointer;font-family:var(--font-sans);text-align:left;transition:background .1s}.share-role-option:hover,.share-role-option.active{background:var(--color-accent-dim)}.share-role-icon{display:flex;align-items:center;flex-shrink:0}.share-role-info{flex:1;display:flex;flex-direction:column}.share-role-name{font-size:.85rem;font-weight:500}.share-role-desc{font-size:.72rem;color:var(--color-text-muted)}.share-search-results{margin-top:var(--spacing-sm);border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);max-height:200px;overflow-y:auto}.share-search-result-item{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-sm) var(--spacing-md);border-bottom:1px solid var(--color-border-subtle);transition:background .1s}.share-search-result-item:hover{background:var(--color-bg-tertiary)}.share-search-result-item:last-child{border-bottom:none}.share-user-info{display:flex;align-items:center;gap:var(--spacing-sm);min-width:0}.share-user-avatar{width:32px;height:32px;border-radius:50%;background:var(--color-accent);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.8rem;flex-shrink:0}.share-user-name{font-size:.85rem;font-weight:500;color:var(--color-text-primary)}.share-user-email{font-size:.72rem;color:var(--color-text-muted)}.share-link-section{padding:var(--spacing-sm) var(--spacing-xl);border-bottom:1px solid var(--color-border-subtle)}.share-copy-link-btn{display:flex;align-items:center;gap:var(--spacing-sm);width:100%;padding:var(--spacing-sm) var(--spacing-md);background:none;border:1px dashed var(--color-border-subtle);border-radius:var(--radius-md);color:var(--color-text-secondary);cursor:pointer;font-family:var(--font-sans);font-size:.82rem;transition:all .15s}.share-copy-link-btn:hover{border-color:var(--color-accent);color:var(--color-accent);background:var(--color-accent-dim)}.share-collaborators-section{padding:var(--spacing-lg) var(--spacing-xl);max-height:280px;overflow-y:auto}.share-collaborators-list{display:flex;flex-direction:column}.share-collaborator-row{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-sm) 0;border-bottom:1px solid var(--color-border-subtle)}.share-collaborator-row:last-child{border-bottom:none}.share-collab-actions{display:flex;align-items:center;gap:var(--spacing-sm)}.share-perm-select{padding:4px 8px;background:var(--color-bg-primary);border:1px solid var(--color-border-subtle);border-radius:var(--radius-sm);color:var(--color-text-primary);font-size:.75rem;font-family:var(--font-sans);outline:none;cursor:pointer;transition:border-color .15s}.share-perm-select:hover,.share-perm-select:focus{border-color:var(--color-accent)}.btn-icon-danger{background:none;border:none;color:var(--color-text-muted);cursor:pointer;padding:4px;border-radius:var(--radius-sm);transition:color .15s}.btn-icon-danger:hover{color:var(--color-danger)}.share-empty-state{display:flex;flex-direction:column;align-items:center;text-align:center;padding:var(--spacing-xl) var(--spacing-lg)}.share-empty-state p{font-size:.85rem;color:var(--color-text-secondary);margin-bottom:4px}.share-empty-state span{font-size:.75rem;color:var(--color-text-muted)}.shared-tabs{display:flex;align-items:center;gap:2px;padding:var(--spacing-xs) var(--spacing-sm);margin-bottom:var(--spacing-sm);background:var(--color-bg-primary);border-radius:var(--radius-md)}.shared-tab{flex:1;display:flex;align-items:center;justify-content:center;gap:4px;padding:6px 8px;background:none;border:none;color:var(--color-text-muted);cursor:pointer;font-family:var(--font-sans);font-size:.75rem;font-weight:500;border-radius:var(--radius-sm);transition:all .15s}.shared-tab:hover{color:var(--color-text-secondary);background:var(--color-bg-tertiary)}.shared-tab.active{color:var(--color-accent);background:var(--color-accent-dim)}.shared-tab-refresh{display:flex;align-items:center;padding:6px;background:none;border:none;color:var(--color-text-muted);cursor:pointer;border-radius:var(--radius-sm);transition:all .15s}.shared-tab-refresh:hover{color:var(--color-accent);background:var(--color-bg-tertiary)}.shared-list{display:flex;flex-direction:column}.shared-item{position:relative}.shared-item-icon{position:relative;display:flex;align-items:center}.shared-perm-dot{position:absolute;bottom:-1px;right:-1px;width:6px;height:6px;border-radius:50%;border:1px solid var(--color-bg-secondary)}.shared-item-content{flex:1;display:flex;flex-direction:column;min-width:0}.shared-item-owner{font-size:.7rem;color:var(--color-text-muted)}.permission-badge-mini{display:flex;align-items:center;padding:2px;opacity:.7}.permission-badge-sm{display:flex;align-items:center;padding:2px 4px;border-radius:10px;background:var(--color-bg-primary)}.shared-collab-count{font-size:.65rem;background:var(--color-bg-primary);padding:1px 6px;border-radius:10px;color:var(--color-text-muted)}.shared-by-me-item{margin-bottom:2px}.shared-collab-pills{display:flex;flex-wrap:wrap;gap:4px;padding:2px 12px 6px 28px}.shared-collab-pill{display:inline-flex;align-items:center;gap:3px;padding:1px 8px;border-radius:10px;background:var(--color-bg-primary);border:1px solid var(--color-border-subtle);font-size:.65rem;color:var(--color-text-muted)}.sidebar-search-inline{display:flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-sm) var(--spacing-md);margin-bottom:var(--spacing-sm);background:var(--color-bg-primary);border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);transition:border-color .15s}.sidebar-search-inline:focus-within{border-color:var(--color-accent)}.sidebar-search-inline svg{color:var(--color-text-muted);flex-shrink:0}.sidebar-search-inline input{flex:1;background:none;border:none;color:var(--color-text-primary);font-size:.85rem;font-family:var(--font-sans);outline:none}.sidebar-search-clear{background:none;border:none;color:var(--color-text-muted);cursor:pointer;padding:0 4px;font-size:.75rem;line-height:1}.sidebar-search-clear:hover{color:var(--color-text-primary)}.sidebar-searching{display:flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-sm) var(--spacing-md);color:var(--color-text-muted);font-size:.78rem}.search-results-summary{padding:2px var(--spacing-md);font-size:.7rem;color:var(--color-text-muted);margin-bottom:var(--spacing-xs)}.shared-result{border-left:2px solid var(--color-accent)}.search-result-owner{font-size:.68rem;color:var(--color-text-muted)}.sidebar-empty{display:flex;flex-direction:column;align-items:center;text-align:center;padding:var(--spacing-xl) var(--spacing-md);color:var(--color-text-muted);font-size:.85rem}.sidebar-empty .btn{margin-top:var(--spacing-sm)}.sidebar-empty-mini{padding:var(--spacing-xs) var(--spacing-md)}.btn-text-accent{display:inline-flex;align-items:center;gap:4px;background:none;border:none;color:var(--color-text-muted);cursor:pointer;font-family:var(--font-sans);font-size:.78rem;padding:4px 0;transition:color .15s}.btn-text-accent:hover{color:var(--color-accent)}.permission-badge{font-size:.65rem;text-transform:uppercase;padding:1px 6px;border-radius:10px;background:var(--color-accent-dim);color:var(--color-accent);font-weight:600}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.auth-header{text-align:center;margin-bottom:var(--spacing-xl)}.auth-icon{color:var(--color-accent);margin-bottom:var(--spacing-sm)}.auth-header h1{font-size:1.5rem;font-weight:700;margin-bottom:var(--spacing-xs)}.auth-header p{color:var(--color-text-secondary);font-size:.9rem;margin-bottom:0}.auth-error{display:flex;align-items:center;gap:var(--spacing-sm);background:#ef44441a;border:1px solid rgba(239,68,68,.3);color:var(--color-danger);padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-md);font-size:.85rem;margin-bottom:var(--spacing-lg)}.auth-form .form-group input,.auth-form .input-with-icon input{width:100%;padding:10px 12px;background:var(--color-bg-primary);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-primary);font-size:.9rem;font-family:var(--font-sans);transition:border-color .2s,box-shadow .2s;outline:none}.auth-form .form-group input:focus,.auth-form .input-with-icon input:focus{border-color:var(--color-accent);box-shadow:0 0 0 2px var(--color-accent-dim)}.auth-form .form-group input::placeholder,.auth-form .input-with-icon input::placeholder{color:var(--color-text-muted)}.input-with-icon{position:relative}.input-icon-btn{position:absolute;right:10px;top:50%;transform:translateY(-50%);background:none;border:none;color:var(--color-text-muted);cursor:pointer;padding:4px}.input-icon-btn:hover{color:var(--color-text-primary)}.form-row-2col{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-md)}.password-checks{display:flex;flex-wrap:wrap;gap:var(--spacing-sm);margin-top:var(--spacing-sm)}.password-checks .check{display:flex;align-items:center;gap:3px;font-size:.72rem;color:var(--color-text-muted)}.password-checks .check.valid{color:var(--color-success)}.form-error-text{font-size:.78rem;color:var(--color-danger);margin-top:4px;display:block}.checkbox-label{display:flex;align-items:center;gap:var(--spacing-sm);font-size:.85rem;color:var(--color-text-secondary);cursor:pointer;margin-bottom:var(--spacing-lg)}.checkbox-label input[type=checkbox]{accent-color:var(--color-accent)}.auth-footer{text-align:center;margin-top:var(--spacing-lg);font-size:.85rem;color:var(--color-text-secondary)}.auth-card-wide{max-width:520px}.link-accent{color:var(--color-accent);font-weight:500}.link-accent:hover{text-decoration:underline}.link-muted{color:var(--color-text-muted);font-size:.85rem}.link-muted:hover{color:var(--color-accent)}.btn-primary{background:var(--color-accent);color:var(--color-bg-primary)}.btn-primary:hover:not(:disabled){background:var(--color-accent-hover)}.btn-outline{background:transparent;color:var(--color-text-primary);border:1px solid var(--color-border)}.btn-outline:hover:not(:disabled){border-color:var(--color-accent);color:var(--color-accent)}.spinner{display:inline-block;width:18px;height:18px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .6s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.welcome-content{display:flex;flex-direction:column;align-items:center}.welcome-title{font-size:2.5rem;font-weight:800;letter-spacing:2px}.welcome-title span,.topbar-brand span{color:var(--color-accent)}.welcome-subtitle{display:flex;align-items:center;gap:var(--spacing-sm);color:var(--color-accent);font-weight:600;margin-bottom:var(--spacing-sm)}.welcome-description{color:var(--color-text-secondary);font-size:1rem;max-width:480px;text-align:center;margin-bottom:var(--spacing-2xl)}.welcome-features{display:flex;gap:var(--spacing-xl);margin-top:var(--spacing-2xl)}.feature-item{display:flex;align-items:center;gap:var(--spacing-sm);color:var(--color-text-secondary);font-size:.85rem}.feature-icon{font-size:1.2rem}.slash-command-menu{position:absolute;z-index:150;background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);width:300px;max-height:340px;overflow-y:auto;overflow-x:hidden}.slash-command-header{padding:var(--spacing-sm) var(--spacing-md);font-size:.7rem;font-weight:700;letter-spacing:1px;color:var(--color-text-muted);text-transform:uppercase;border-bottom:1px solid var(--color-border-subtle)}.slash-command-list{padding:var(--spacing-xs) 0}.slash-command-category{padding:var(--spacing-xs) var(--spacing-md);font-size:.65rem;font-weight:700;letter-spacing:1px;color:var(--color-text-muted);text-transform:uppercase;margin-top:var(--spacing-xs)}.slash-command-item{display:flex;align-items:center;gap:var(--spacing-sm);width:100%;padding:var(--spacing-sm) var(--spacing-md);background:none;border:none;color:var(--color-text-secondary);cursor:pointer;font-family:var(--font-sans);font-size:.85rem;text-align:left;transition:background .1s}.slash-command-item:hover,.slash-command-item.selected{background:var(--color-accent-dim);color:var(--color-text-primary)}.slash-command-icon{display:flex;align-items:center;justify-content:center;width:36px;height:36px;background:var(--color-bg-primary);border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);color:var(--color-accent);flex-shrink:0}.slash-command-item.selected .slash-command-icon,.slash-command-item:hover .slash-command-icon{border-color:var(--color-accent);background:var(--color-accent-dim)}.slash-command-text{display:flex;flex-direction:column;gap:1px;overflow:hidden}.slash-command-label{font-weight:500;color:var(--color-text-primary);font-size:.85rem}.slash-command-desc{font-size:.72rem;color:var(--color-text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.slash-command-empty{padding:var(--spacing-lg) var(--spacing-md);text-align:center;color:var(--color-text-muted);font-size:.85rem}.online-users-indicator{position:relative;display:flex;align-items:center}.online-users-btn{display:flex;align-items:center;gap:var(--spacing-xs);background:none;border:1px solid var(--color-border-subtle);color:var(--color-text-secondary);cursor:pointer;padding:4px 8px;border-radius:20px;font-size:.78rem;font-family:var(--font-sans);transition:all .15s}.online-users-btn:hover{border-color:var(--color-accent);color:var(--color-accent)}.online-avatars{display:flex;align-items:center}.online-mini-avatar{width:20px;height:20px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.6rem;font-weight:700;color:#fff;margin-left:-4px;border:2px solid var(--color-bg-primary)}.online-mini-avatar:first-child{margin-left:0}.online-mini-avatar.online-more{background:var(--color-bg-tertiary);color:var(--color-text-secondary);font-size:.55rem}.online-dot-pulse{width:6px;height:6px;border-radius:50%;background:var(--color-success);animation:dot-pulse 2s ease-in-out infinite}@keyframes dot-pulse{0%,to{opacity:1}50%{opacity:.4}}.online-users-dropdown{position:absolute;top:calc(100% + 8px);right:0;background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);min-width:220px;z-index:120;overflow:hidden}.online-users-header{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);font-size:.8rem;font-weight:600;color:var(--color-text-secondary);border-bottom:1px solid var(--color-border-subtle)}.online-user-item{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md)}.online-user-item:not(:last-child){border-bottom:1px solid var(--color-border-subtle)}.online-user-avatar{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.75rem;color:#fff;flex-shrink:0}.online-user-name{flex:1;font-size:.85rem;font-weight:500;color:var(--color-text-primary)}.online-user-status{font-size:.7rem;color:var(--color-text-muted)}.online-user-status.editing{color:var(--color-accent)}.remote-cursors-banner{display:flex;align-items:center;gap:var(--spacing-sm);padding:3px var(--spacing-xl);background:var(--color-bg-tertiary);border-bottom:1px solid var(--color-border-subtle);overflow-x:auto;flex-shrink:0}.remote-cursor-tag{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:10px;font-size:.7rem;font-weight:600;border:1px solid;white-space:nowrap;appearance:none;cursor:pointer;transition:transform .12s ease,box-shadow .12s ease,filter .12s ease}.remote-cursor-tag:hover{transform:translateY(-1px);filter:brightness(1.05)}.remote-cursor-tag.is-following{box-shadow:0 0 0 2px #00adb547}.remote-cursor-follow-state{opacity:.85;font-size:.65rem}.remote-cursor-dot{width:6px;height:6px;border-radius:50%;display:inline-block;animation:dot-pulse 1.5s ease-in-out infinite}.remote-cursor-overlay-layer{position:absolute;inset:0;pointer-events:none;z-index:15}.remote-cursor-overlay-item{position:absolute;transform:translateY(-2px)}.remote-cursor-overlay-label{position:absolute;top:-18px;left:-2px;color:#fff;font-size:10px;font-weight:700;border-radius:4px;padding:1px 5px;white-space:nowrap;box-shadow:0 2px 8px #00000040}.remote-cursor-overlay-line{width:2px;height:20px;border-radius:2px;box-shadow:0 0 0 1px #00000014}.chat-unread-badge{position:absolute;top:2px;right:2px;min-width:16px;height:16px;padding:0 4px;border-radius:999px;background:#ef4444;color:#fff;font-size:10px;line-height:16px;font-weight:700;text-align:center}.note-live-chat{position:absolute;right:16px;bottom:16px;width:320px;max-height:420px;display:flex;flex-direction:column;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg-primary);box-shadow:0 12px 30px #00000047;z-index:40}.note-live-chat-header{display:flex;align-items:center;justify-content:space-between;padding:8px 10px;border-bottom:1px solid var(--color-border-subtle);font-size:.78rem;font-weight:700}.note-live-chat-header button{background:transparent;border:none;color:var(--color-text-muted);cursor:pointer}.note-live-chat-list{flex:1;overflow-y:auto;padding:8px;display:flex;flex-direction:column;gap:8px}.note-live-chat-empty{font-size:.72rem;color:var(--color-text-muted);text-align:center;padding:12px 6px}.note-live-chat-item{display:flex;flex-direction:column;gap:2px}.note-live-chat-item.mine .note-live-chat-text{background:var(--color-accent-dim);border-color:color-mix(in srgb,var(--color-accent) 35%,transparent)}.note-live-chat-meta{display:flex;justify-content:space-between;font-size:.66rem;color:var(--color-text-muted)}.note-live-chat-user{font-weight:700}.note-live-chat-text{font-size:.74rem;line-height:1.4;padding:7px 8px;border:1px solid var(--color-border-subtle);border-radius:8px;background:var(--color-bg-secondary);color:var(--color-text-primary);white-space:pre-wrap;word-break:break-word}.note-live-chat-input-wrap{display:flex;gap:6px;align-items:center;border-top:1px solid var(--color-border-subtle);padding:8px}.note-live-chat-input-wrap input{flex:1;background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text-primary);padding:7px 8px;font-size:.74rem}.note-live-chat-input-wrap button{width:30px;height:30px;border-radius:8px;border:1px solid var(--color-border);background:var(--color-bg-secondary);color:var(--color-text-secondary);cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.note-live-chat-input-wrap button:disabled{opacity:.45;cursor:not-allowed}.chat-toast-stack{position:absolute;right:16px;bottom:448px;width:320px;display:flex;flex-direction:column;gap:8px;z-index:44}.chat-toast-item{width:100%;text-align:left;border:1px solid color-mix(in srgb,var(--color-accent) 22%,var(--color-border));background:color-mix(in srgb,var(--color-bg-primary) 88%,var(--color-accent) 12%);color:var(--color-text-primary);border-radius:10px;padding:9px 10px;box-shadow:0 10px 20px #00000047;cursor:pointer}.chat-toast-item:hover{border-color:color-mix(in srgb,var(--color-accent) 45%,var(--color-border))}.chat-toast-title{font-size:.72rem;font-weight:700}.chat-toast-preview{margin-top:2px;font-size:.7rem;color:var(--color-text-secondary);line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.editor-callout{display:flex;gap:var(--spacing-sm);padding:var(--spacing-md);margin:.5em 0;background:#00adb514;border:1px solid rgba(0,173,181,.2);border-radius:var(--radius-md);border-left:3px solid var(--color-accent)}.callout-icon{font-size:1.2rem;line-height:1.5;flex-shrink:0}.callout-content{flex:1;min-width:0}.editor-hint{margin-top:var(--spacing-lg);font-size:.8rem;color:var(--color-text-muted)}.editor-hint kbd{background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:1px 6px;font-family:var(--font-mono);font-size:.85em;color:var(--color-accent)}[data-theme=light]{--color-bg-primary: #f8f9fa;--color-bg-secondary: #ffffff;--color-bg-tertiary: #e9ecef;--color-accent: #0891b2;--color-accent-hover: #0e7490;--color-accent-dim: rgba(8, 145, 178, .1);--color-text-primary: #1a1a2e;--color-text-secondary: #4a5568;--color-text-muted: #a0aec0;--color-border: #e2e8f0;--color-border-subtle: #edf2f7;--color-danger: #ef4444;--color-danger-hover: #dc2626;--color-warning: #f59e0b;--color-success: #10b981;--color-info: #3b82f6;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px rgba(0, 0, 0, .07);--shadow-lg: 0 10px 15px rgba(0, 0, 0, .1)}[data-theme=light] .topbar,[data-theme=light] .app-sidebar{background:#fff;border-color:var(--color-border)}[data-theme=light] .editor-code-block,[data-theme=light] .inline-code{background:#f1f5f9;color:#334155}[data-theme=light] .editor-blockquote{border-color:var(--color-accent);background:#0891b20d}[data-theme=light] .context-menu,[data-theme=light] .topbar-dropdown{background:#fff;border:1px solid var(--color-border);box-shadow:var(--shadow-lg)}[data-theme=light] .sidebar-item:hover{background:#0000000a}[data-theme=light] .sidebar-item.active{background:#0891b214}[data-theme=light] .topbar-search input{background:#f1f5f9;color:var(--color-text-primary)}.breadcrumb{display:flex;align-items:center;gap:2px;padding:6px 24px;font-size:.75rem;color:var(--color-text-muted);border-bottom:1px solid var(--color-border-subtle);background:var(--color-bg-tertiary);overflow:hidden}.breadcrumb-item{display:flex;align-items:center;gap:4px;white-space:nowrap}.breadcrumb-separator{color:var(--color-text-muted);opacity:.5;flex-shrink:0}.breadcrumb-label{cursor:pointer;transition:color .15s}.breadcrumb-label:hover{color:var(--color-accent)}.breadcrumb-current{color:var(--color-text-secondary);font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:200px}.save-indicator{display:flex;align-items:center;gap:4px;font-size:.72rem;padding:2px 8px;border-radius:var(--radius-sm);transition:all .2s}.save-saved{color:var(--color-success)}.save-saving{color:var(--color-warning)}.save-unsaved{color:var(--color-text-muted)}.save-error{color:var(--color-danger)}.save-indicator .spin{animation:spin 1s linear infinite}.confirm-delete-overlay{position:fixed;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.confirm-delete-dialog{background:var(--color-bg-secondary);border-radius:var(--radius-xl);padding:var(--spacing-xl);width:380px;max-width:90%;position:relative;text-align:center;box-shadow:var(--shadow-lg)}.confirm-delete-close{position:absolute;top:12px;right:12px;background:none;border:none;color:var(--color-text-muted);cursor:pointer}.confirm-delete-icon{color:var(--color-warning);margin-bottom:var(--spacing-md)}.confirm-delete-dialog h3{font-size:1.1rem;color:var(--color-text-primary);margin-bottom:var(--spacing-sm)}.confirm-delete-dialog p{font-size:.85rem;color:var(--color-text-secondary);margin-bottom:var(--spacing-lg);line-height:1.5}.confirm-delete-actions{display:flex;gap:var(--spacing-sm);justify-content:center}.confirm-delete-actions .btn-cancel{padding:8px 20px;border-radius:var(--radius-md);border:1px solid var(--color-border);background:transparent;color:var(--color-text-primary);cursor:pointer;font-size:.85rem}.confirm-delete-actions .btn-delete{padding:8px 20px;border-radius:var(--radius-md);border:none;background:var(--color-danger);color:#fff;cursor:pointer;font-size:.85rem;font-weight:500}.confirm-delete-actions .btn-delete:hover{background:var(--color-danger-hover)}.notifications-panel-overlay{position:fixed;inset:0;z-index:999}.notifications-panel{position:fixed;top:var(--topbar-height);right:8px;width:380px;max-height:500px;background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);display:flex;flex-direction:column;overflow:hidden;z-index:1000}.notifications-header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-md) var(--spacing-lg);border-bottom:1px solid var(--color-border-subtle)}.notifications-header h3{display:flex;align-items:center;gap:8px;font-size:.9rem;color:var(--color-text-primary)}.notifications-header-actions{display:flex;align-items:center;gap:4px}.notifications-header-actions button,.notifications-close{background:none;border:none;color:var(--color-text-muted);cursor:pointer;padding:4px;border-radius:var(--radius-sm)}.notifications-header-actions button:hover{color:var(--color-accent);background:var(--color-accent-dim)}.notifications-list{overflow-y:auto;flex:1;max-height:420px}.notification-item{display:flex;align-items:flex-start;gap:10px;padding:var(--spacing-md) var(--spacing-lg);border-bottom:1px solid var(--color-border-subtle);cursor:pointer;transition:background .15s}.notification-item:hover{background:var(--color-bg-tertiary)}.notification-item.unread{background:var(--color-accent-dim)}.notification-icon{padding:6px;border-radius:50%;flex-shrink:0}.notification-icon.share{color:var(--color-info);background:#3b82f61a}.notification-icon.comment{color:var(--color-warning);background:#f59e0b1a}.notification-icon.edit{color:var(--color-success);background:#10b9811a}.notification-content{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}.notification-title{font-size:.82rem;color:var(--color-text-primary);font-weight:500}.notification-message{font-size:.75rem;color:var(--color-text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.notification-time{font-size:.7rem;color:var(--color-text-muted)}.notification-mark-read{background:none;border:none;color:var(--color-accent);cursor:pointer;padding:4px;flex-shrink:0}.notifications-empty,.notifications-loading{padding:var(--spacing-xl);text-align:center;color:var(--color-text-muted)}.notifications-empty svg{opacity:.4;margin-bottom:8px}.notifications-empty p{font-size:.85rem}.keyboard-shortcuts-overlay{position:fixed;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1001;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.keyboard-shortcuts-modal{background:var(--color-bg-secondary);border-radius:var(--radius-xl);width:560px;max-width:90%;max-height:80vh;display:flex;flex-direction:column;box-shadow:var(--shadow-lg);overflow:hidden}.keyboard-shortcuts-header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-lg) var(--spacing-xl);border-bottom:1px solid var(--color-border-subtle)}.keyboard-shortcuts-header h3{display:flex;align-items:center;gap:8px;font-size:1rem;color:var(--color-text-primary)}.keyboard-shortcuts-header button{background:none;border:none;color:var(--color-text-muted);cursor:pointer;padding:4px}.keyboard-shortcuts-body{overflow-y:auto;padding:var(--spacing-lg) var(--spacing-xl)}.shortcut-group{margin-bottom:var(--spacing-lg)}.shortcut-group h4{font-size:.72rem;text-transform:uppercase;letter-spacing:.05em;color:var(--color-accent);margin-bottom:var(--spacing-sm)}.shortcut-row{display:flex;align-items:center;justify-content:space-between;padding:6px 0;border-bottom:1px solid var(--color-border-subtle)}.shortcut-desc{font-size:.82rem;color:var(--color-text-secondary)}.shortcut-keys{display:flex;align-items:center;gap:2px}.shortcut-keys kbd{background:var(--color-bg-primary);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:2px 8px;font-family:var(--font-mono);font-size:.72rem;color:var(--color-text-primary);min-width:24px;text-align:center}.key-plus{color:var(--color-text-muted);font-size:.7rem;margin:0 2px}.version-history-panel{width:100%;height:100%;display:flex;flex-direction:column}.version-history-header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-md) var(--spacing-lg);border-bottom:1px solid var(--color-border-subtle)}.version-history-header h3{display:flex;align-items:center;gap:8px;font-size:.9rem;color:var(--color-text-primary)}.version-history-header button{background:none;border:none;color:var(--color-text-muted);cursor:pointer}.version-history-list{flex:1;overflow-y:auto;padding:var(--spacing-md)}.version-timeline{position:relative;padding-left:20px}.version-timeline:before{content:"";position:absolute;left:7px;top:0;bottom:0;width:2px;background:var(--color-border)}.version-item{position:relative;margin-bottom:var(--spacing-lg);padding-left:var(--spacing-md)}.version-timeline-dot{position:absolute;left:-17px;top:4px;width:10px;height:10px;border-radius:50%;background:var(--color-border);border:2px solid var(--color-bg-secondary)}.version-item.latest .version-timeline-dot{background:var(--color-accent)}.version-info{display:flex;flex-direction:column;gap:4px}.version-top{display:flex;align-items:center;gap:6px}.version-number{font-size:.82rem;font-weight:600;color:var(--color-text-primary)}.version-auto-badge{font-size:.6rem;padding:1px 6px;border-radius:10px;background:var(--color-accent-dim);color:var(--color-accent);text-transform:uppercase;letter-spacing:.05em}.version-meta{display:flex;gap:12px;font-size:.72rem;color:var(--color-text-muted)}.version-meta span{display:flex;align-items:center;gap:4px}.version-ago{font-size:.7rem;color:var(--color-text-muted)}.version-restore-btn{display:flex;align-items:center;gap:4px;margin-top:4px;padding:4px 10px;font-size:.72rem;background:transparent;border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text-secondary);cursor:pointer;transition:all .15s}.version-restore-btn:hover{background:var(--color-accent-dim);border-color:var(--color-accent);color:var(--color-accent)}.version-empty,.version-loading{text-align:center;padding:var(--spacing-xl);color:var(--color-text-muted)}.version-empty svg{opacity:.4;margin-bottom:8px}.version-audit-summary{font-size:.72rem;color:var(--color-text-muted);margin-bottom:10px;padding:8px 10px;border:1px solid var(--color-border-subtle);border-radius:var(--radius-sm);background:var(--color-bg-tertiary)}.version-author-group{border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);margin-bottom:12px;overflow:hidden}.version-author-header{display:flex;align-items:center;justify-content:space-between;padding:8px 10px;background:var(--color-bg-tertiary);border-bottom:1px solid var(--color-border-subtle);font-size:.73rem;color:var(--color-text-secondary)}.version-author-header span{display:inline-flex;align-items:center;gap:6px}.version-author-count{opacity:.85}.version-name-chip{font-size:.62rem;padding:1px 6px;border-radius:10px;border:1px solid var(--color-border);color:var(--color-text-secondary)}.version-diff-chips{display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin-top:4px}.version-diff-chip{font-size:.62rem;padding:2px 6px;border-radius:999px;border:1px solid var(--color-border-subtle);color:var(--color-text-secondary);background:var(--color-bg-secondary)}.version-diff-chip.added{color:#16a34a;border-color:#16a34a59;background:#16a34a14}.version-diff-chip.removed{color:#dc2626;border-color:#dc262659;background:#dc262614}.version-diff-chip.changed{color:#d97706;border-color:#d9770659;background:#d9770614}.version-diff-toggle{margin-left:auto;border:1px solid var(--color-border);background:transparent;color:var(--color-text-secondary);font-size:.67rem;border-radius:var(--radius-sm);padding:2px 8px;cursor:pointer}.version-diff-toggle:hover{border-color:var(--color-accent);color:var(--color-accent);background:var(--color-accent-dim)}.version-diff-list{margin-top:8px;border:1px solid var(--color-border-subtle);border-radius:var(--radius-sm);padding:8px;display:flex;flex-direction:column;gap:8px;background:var(--color-bg-secondary)}.version-diff-item{border:1px solid var(--color-border-subtle);border-radius:var(--radius-sm);padding:6px}.version-diff-item.added{border-color:#16a34a40;background:#16a34a0d}.version-diff-item.removed{border-color:#dc262640;background:#dc26260d}.version-diff-item.changed{border-color:#d9770640;background:#d977060d}.version-diff-label{font-size:.67rem;font-weight:700;color:var(--color-text-secondary);margin-bottom:6px}.version-diff-content{display:grid;gap:6px}.version-diff-content .before,.version-diff-content .after{font-size:.7rem;line-height:1.4;border:1px dashed var(--color-border-subtle);border-radius:6px;padding:6px;white-space:pre-wrap;word-break:break-word}.version-diff-content .before{background:#dc262614}.version-diff-content .after{background:#16a34a14}.version-diff-empty,.version-diff-more{font-size:.7rem;color:var(--color-text-muted)}.backlinks-panel{width:100%;height:100%;display:flex;flex-direction:column}.backlinks-header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-md) var(--spacing-lg);border-bottom:1px solid var(--color-border-subtle)}.backlinks-header h3{display:flex;align-items:center;gap:8px;font-size:.9rem;color:var(--color-text-primary)}.backlinks-header button{background:none;border:none;color:var(--color-text-muted);cursor:pointer}.backlinks-list{flex:1;overflow-y:auto;padding:var(--spacing-sm)}.backlink-item{display:flex;align-items:center;gap:8px;padding:8px 12px;border-radius:var(--radius-md);cursor:pointer;transition:background .15s;color:var(--color-text-secondary);font-size:.82rem}.backlink-item:hover{background:var(--color-bg-tertiary);color:var(--color-accent)}.backlinks-empty,.backlinks-loading{text-align:center;padding:var(--spacing-xl);color:var(--color-text-muted)}.backlinks-empty svg{opacity:.4;margin-bottom:8px}.backlinks-empty span{font-size:.72rem;display:block;margin-top:4px}.toc-panel{width:100%;height:100%;display:flex;flex-direction:column}.toc-header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-md) var(--spacing-lg);border-bottom:1px solid var(--color-border-subtle)}.toc-header h3{display:flex;align-items:center;gap:8px;font-size:.9rem;color:var(--color-text-primary)}.toc-header button{background:none;border:none;color:var(--color-text-muted);cursor:pointer}.toc-list{flex:1;overflow-y:auto;padding:var(--spacing-sm)}.toc-item{display:block;width:100%;text-align:left;padding:6px 12px;border:none;background:none;border-radius:var(--radius-sm);color:var(--color-text-secondary);font-size:.82rem;cursor:pointer;transition:all .15s;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.toc-item:hover{background:var(--color-bg-tertiary);color:var(--color-accent)}.toc-level-1{padding-left:12px;font-weight:600}.toc-level-2{padding-left:24px}.toc-level-3{padding-left:36px;font-size:.78rem}.toc-empty{text-align:center;padding:var(--spacing-xl);color:var(--color-text-muted)}.toc-empty svg{opacity:.4;margin-bottom:8px}.toc-empty span{font-size:.72rem;display:block;margin-top:4px}.export-dialog-overlay{position:fixed;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1001;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.export-dialog{background:var(--color-bg-secondary);border-radius:var(--radius-xl);width:420px;max-width:90%;box-shadow:var(--shadow-lg);overflow:hidden}.export-dialog-header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-lg) var(--spacing-xl);border-bottom:1px solid var(--color-border-subtle)}.export-dialog-header h3{display:flex;align-items:center;gap:8px;font-size:1rem;color:var(--color-text-primary)}.export-dialog-header button{background:none;border:none;color:var(--color-text-muted);cursor:pointer}.export-dialog-subtitle{padding:var(--spacing-md) var(--spacing-xl) 0;font-size:.82rem;color:var(--color-text-secondary)}.export-options{display:flex;flex-direction:column;gap:var(--spacing-sm);padding:var(--spacing-lg) var(--spacing-xl)}.export-option{display:flex;align-items:center;gap:12px;padding:14px 16px;border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-bg-primary);cursor:pointer;transition:all .15s;text-align:left;color:var(--color-text-primary);position:relative}.export-option:hover{border-color:var(--color-accent);background:var(--color-accent-dim)}.export-option svg:first-child{color:var(--color-accent);flex-shrink:0}.export-option-title{font-size:.9rem;font-weight:600;display:block}.export-option-desc{font-size:.72rem;color:var(--color-text-muted);display:block}.export-option-icon{position:absolute;right:14px;color:var(--color-text-muted)}.onboarding-overlay{position:fixed;inset:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:2000;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.onboarding-dialog{background:var(--color-bg-secondary);border-radius:var(--radius-xl);padding:var(--spacing-2xl) var(--spacing-xl);width:440px;max-width:90%;text-align:center;position:relative;box-shadow:var(--shadow-lg)}.onboarding-skip{position:absolute;top:12px;right:12px;background:none;border:none;color:var(--color-text-muted);cursor:pointer}.onboarding-icon{color:var(--color-accent);margin-bottom:var(--spacing-lg)}.onboarding-dialog h2{font-size:1.3rem;color:var(--color-text-primary);margin-bottom:var(--spacing-sm)}.onboarding-dialog p{font-size:.9rem;color:var(--color-text-secondary);line-height:1.6;margin-bottom:var(--spacing-lg)}.onboarding-dots{display:flex;justify-content:center;gap:6px;margin-bottom:var(--spacing-lg)}.onboarding-dot{width:8px;height:8px;border-radius:50%;background:var(--color-border);transition:all .2s}.onboarding-dot.active{background:var(--color-accent);transform:scale(1.3)}.onboarding-actions{display:flex;justify-content:center;gap:var(--spacing-sm)}.onboarding-prev,.onboarding-next,.onboarding-finish{display:flex;align-items:center;gap:4px;padding:8px 20px;border-radius:var(--radius-md);font-size:.85rem;cursor:pointer;transition:all .15s}.onboarding-prev{background:transparent;border:1px solid var(--color-border);color:var(--color-text-secondary)}.onboarding-next{background:var(--color-accent);border:none;color:#fff;font-weight:500}.onboarding-finish{background:var(--color-accent);border:none;color:#fff;font-weight:600}.onboarding-next:hover,.onboarding-finish:hover{background:var(--color-accent-hover)}.sidebar-resize-handle{position:absolute;top:0;right:-3px;width:6px;height:100%;cursor:col-resize;z-index:10;transition:background .15s}.sidebar-resize-handle:hover,.sidebar-resize-handle:active{background:var(--color-accent);opacity:.5}.sidebar{position:relative}.sidebar-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px;padding:0 6px}.grid-note-card{display:flex;flex-direction:column;padding:10px;border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);background:var(--color-bg-tertiary);cursor:pointer;min-height:70px}.grid-note-card:hover,.grid-note-card.active{border-color:var(--color-accent);background:var(--color-accent-dim)}.grid-note-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px;color:var(--color-accent)}.grid-note-badges{display:flex;gap:3px}.grid-note-title{font-size:.78rem;font-weight:500;color:var(--color-text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.grid-note-date{font-size:.65rem;color:var(--color-text-muted);margin-top:auto;padding-top:4px}.view-toggle-btn{opacity:.6}.view-toggle-btn:hover{opacity:1}.trash-panel .sidebar-section-title{display:flex;align-items:center;gap:6px}.trash-count{font-size:.65rem;background:var(--color-danger);color:#fff;padding:0 6px;border-radius:10px;margin-left:auto}.trash-item{display:flex;align-items:center;gap:8px;padding:6px 12px!important}.trash-item-content{flex:1;min-width:0;display:flex;flex-direction:column}.trash-item-date{font-size:.65rem;color:var(--color-text-muted)}.trash-item-actions{display:flex;gap:2px;opacity:0;transition:opacity .15s}.trash-item:hover .trash-item-actions{opacity:1}.trash-restore-btn,.trash-delete-btn{background:none;border:none;padding:3px;border-radius:var(--radius-sm);cursor:pointer;color:var(--color-text-muted)}.trash-restore-btn:hover{color:var(--color-success);background:#10b9811a}.trash-delete-btn:hover{color:var(--color-danger);background:#ef44441a}.trash-confirm-delete{display:flex;gap:2px}.trash-confirm-delete button{padding:2px 8px;border-radius:var(--radius-sm);border:none;font-size:.65rem;cursor:pointer}.trash-confirm-delete button:first-child{background:var(--color-danger);color:#fff}.trash-confirm-delete button:last-child{background:var(--color-bg-tertiary);color:var(--color-text-secondary)}.drag-handle{opacity:0;color:var(--color-text-muted);cursor:grab;flex-shrink:0}.sidebar-note-item:hover .drag-handle{opacity:.5}.sidebar-note-item:hover .drag-handle:hover{opacity:1}.sidebar-folder-item.drag-over{background:var(--color-accent-dim)!important;border:1px dashed var(--color-accent);border-radius:var(--radius-sm)}.sidebar-content.drag-over-root{background:#00adb50a;box-shadow:inset 0 0 0 2px #00adb540;border-radius:var(--radius-sm)}.sidebar-section-pinned .sidebar-section-title,.sidebar-section-favorites .sidebar-section-title{display:flex;align-items:center;gap:4px}.sidebar-section-pinned .sidebar-section-title svg{color:var(--color-info)}.sidebar-section-favorites .sidebar-section-title svg{color:var(--color-warning)}.app-side-panel{width:280px;min-width:280px;background:var(--color-bg-secondary);border-left:1px solid var(--color-border-subtle);overflow-y:auto}.editor-code-block-wrapper{position:relative;margin:8px 0}.code-block-language{position:absolute;top:4px;right:8px;font-size:.65rem;padding:1px 8px;border-radius:var(--radius-sm);background:#00adb526;color:var(--color-accent);text-transform:uppercase;letter-spacing:.05em;z-index:2;pointer-events:none}.code-block-container{position:relative}.code-highlight-overlay{position:absolute;inset:0;padding:16px;font-family:JetBrains Mono,Fira Code,Cascadia Code,Consolas,monospace;font-size:.85rem;line-height:1.6;white-space:pre-wrap;word-wrap:break-word;pointer-events:none;overflow:hidden;z-index:0}.editor-code-block.code-transparent{position:relative;z-index:1;color:transparent;caret-color:var(--color-text-primary)}.editor-code-block.code-transparent ::selection{background:#00adb54d;color:transparent}.code-highlight-overlay .hljs-keyword{color:#c678dd}.code-highlight-overlay .hljs-string{color:#98c379}.code-highlight-overlay .hljs-number{color:#d19a66}.code-highlight-overlay .hljs-built_in{color:#e6c07b}.code-highlight-overlay .hljs-function,.code-highlight-overlay .hljs-title{color:#61afef}.code-highlight-overlay .hljs-params{color:#abb2bf}.code-highlight-overlay .hljs-comment{color:#5c6370;font-style:italic}.code-highlight-overlay .hljs-doctag{color:#c678dd}.code-highlight-overlay .hljs-meta{color:#61afef}.code-highlight-overlay .hljs-attr,.code-highlight-overlay .hljs-attribute{color:#d19a66}.code-highlight-overlay .hljs-tag,.code-highlight-overlay .hljs-name{color:#e06c75}.code-highlight-overlay .hljs-type,.code-highlight-overlay .hljs-class{color:#e6c07b}.code-highlight-overlay .hljs-literal,.code-highlight-overlay .hljs-symbol{color:#56b6c2}.code-highlight-overlay .hljs-regexp{color:#98c379}.code-highlight-overlay .hljs-variable,.code-highlight-overlay .hljs-template-variable,.code-highlight-overlay .hljs-selector-tag{color:#e06c75}.code-highlight-overlay .hljs-selector-id{color:#61afef}.code-highlight-overlay .hljs-selector-class{color:#d19a66}.code-highlight-overlay .hljs-property{color:#e06c75}.code-highlight-overlay .hljs-punctuation{color:#abb2bf}.code-highlight-overlay .hljs-operator{color:#56b6c2}.code-highlight-overlay .hljs-deletion{color:#e06c75;background:#e06c751a}.code-highlight-overlay .hljs-addition{color:#98c379;background:#98c3791a}[data-theme=light] .code-highlight-overlay .hljs-keyword{color:#a626a4}[data-theme=light] .code-highlight-overlay .hljs-string{color:#50a14f}[data-theme=light] .code-highlight-overlay .hljs-number{color:#986801}[data-theme=light] .code-highlight-overlay .hljs-built_in{color:#c18401}[data-theme=light] .code-highlight-overlay .hljs-function,[data-theme=light] .code-highlight-overlay .hljs-title{color:#4078f2}[data-theme=light] .code-highlight-overlay .hljs-comment{color:#a0a1a7}[data-theme=light] .code-highlight-overlay .hljs-tag,[data-theme=light] .code-highlight-overlay .hljs-name{color:#e45649}[data-theme=light] .code-highlight-overlay .hljs-type{color:#c18401}[data-theme=light] .code-highlight-overlay .hljs-variable{color:#e45649}[data-theme=light] .code-highlight-overlay .hljs-operator,[data-theme=light] .code-highlight-overlay .hljs-literal{color:#0184bc}.mermaid-wrapper{border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);overflow:hidden}.mermaid-preview{padding:16px;display:flex;justify-content:center;align-items:center;background:var(--color-bg-tertiary);min-height:80px;overflow-x:auto}.mermaid-preview svg{max-width:100%;height:auto}.mermaid-error{padding:8px 16px;color:var(--color-danger);font-size:.8rem;background:#ff6b6b14}.mermaid-source{border-top:1px solid var(--color-border-subtle);font-size:.8rem!important;opacity:.7;max-height:120px;overflow-y:auto}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.spin{animation:spin 1s linear infinite}.btn-mark-all{background:none;border:none;color:var(--color-text-muted);cursor:pointer;padding:4px;border-radius:var(--radius-sm)}.btn-mark-all:hover{color:var(--color-accent);background:var(--color-accent-dim)}.editor-table-wrapper{margin:8px 0;border-radius:var(--radius-md);overflow:hidden;border:1px solid var(--color-border)}.editor-table{width:100%;border-collapse:collapse;table-layout:auto}.editor-table-cell{border:1px solid var(--color-border);padding:8px 12px;min-width:60px;vertical-align:top;font-size:.9rem;line-height:1.5}.editor-table-cell:focus-within{background:var(--color-accent-dim);outline:2px solid var(--color-accent);outline-offset:-2px}.editor-table tr:first-child .editor-table-cell{font-weight:600;background:var(--color-bg-secondary)}.table-controls{display:flex;gap:4px;padding:6px 8px;background:var(--color-bg-secondary);border-top:1px solid var(--color-border)}.table-controls button{display:flex;align-items:center;gap:4px;padding:3px 8px;font-size:.7rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg);color:var(--color-text-muted);cursor:pointer;transition:all .15s}.table-controls button:hover{background:var(--color-accent-dim);color:var(--color-accent);border-color:var(--color-accent)}.table-del-row:hover,.table-del-col:hover{color:var(--color-danger)!important;border-color:var(--color-danger)!important;background:#ff6b6b1a!important}.toolbar-dropdown-wrapper{position:relative;display:inline-flex}.toolbar-dropdown-trigger{display:flex;align-items:center;gap:2px}.toolbar-dropdown-portal{z-index:9999}.toolbar-dropdown{background:var(--color-bg-primary);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);min-width:80px;max-height:240px;overflow-y:auto;padding:4px}.toolbar-dropdown-item{display:block;width:100%;padding:4px 10px;border:none;background:transparent;color:var(--color-text-primary);cursor:pointer;border-radius:var(--radius-sm);text-align:left;white-space:nowrap}.toolbar-dropdown-item:hover,.toolbar-dropdown-item.active{background:var(--color-accent-dim);color:var(--color-accent)}.toolbar-color-grid{background:var(--color-bg-primary);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);padding:8px;display:grid;grid-template-columns:repeat(4,1fr);gap:4px;width:140px}.toolbar-color-item{width:28px;height:28px;border-radius:var(--radius-sm);border:2px solid transparent;cursor:pointer;transition:transform .1s,border-color .15s}.toolbar-color-item:hover{transform:scale(1.15);border-color:var(--color-accent)}.toolbar-color-item.active{border-color:var(--color-accent);box-shadow:0 0 0 2px var(--color-accent-dim)}.toolbar-color-clear{background:var(--color-bg-secondary)!important;color:var(--color-text-muted);font-size:14px;display:flex;align-items:center;justify-content:center}.editor-tags-row{display:flex;flex-wrap:wrap;align-items:center;gap:6px;padding:4px 0 8px;min-height:28px}.tag-chip{display:inline-flex;align-items:center;gap:4px;padding:2px 8px 2px 6px;border-radius:20px;background:var(--color-bg-secondary);border:1px solid var(--color-border);font-size:.75rem;color:var(--color-text);animation:fadeIn .2s}.tag-chip-remove{display:inline-flex;align-items:center;justify-content:center;width:14px;height:14px;border:none;background:transparent;color:var(--color-text-muted);cursor:pointer;border-radius:50%;padding:0;margin-left:2px}.tag-chip-remove:hover{background:var(--color-danger);color:#fff}.tag-input-wrapper{position:relative}.tag-input{background:transparent;border:none;outline:none;color:var(--color-text);font-size:.75rem;padding:2px 4px;width:120px}.tag-input::placeholder{color:var(--color-text-muted)}.tag-suggestions{position:absolute;top:100%;left:0;z-index:50;background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);min-width:160px;max-height:180px;overflow-y:auto;padding:4px}.tag-suggestion-item{display:flex;align-items:center;gap:6px;width:100%;padding:5px 10px;border:none;background:transparent;color:var(--color-text);cursor:pointer;border-radius:var(--radius-sm);font-size:.8rem}.tag-suggestion-item:hover{background:var(--color-accent-dim);color:var(--color-accent)}.sidebar-drag-preview{position:fixed;z-index:99999;pointer-events:none;background:var(--color-accent);color:#fff;padding:4px 12px;border-radius:6px;font-size:.8rem;font-weight:500;white-space:nowrap;box-shadow:0 2px 8px #0000004d;transform:translateY(-50%)}.sidebar-drag-grip{display:inline-flex;align-items:center;cursor:grab;color:var(--color-text-muted);opacity:0;transition:opacity .15s;flex-shrink:0;margin-right:2px}.sidebar-item:hover .sidebar-drag-grip{opacity:.6}.sidebar-drag-grip:hover{opacity:1!important;color:var(--color-accent)}.sidebar-item.is-dragging{opacity:.35}.sidebar .drag-over-root{background:var(--color-accent-dim);outline:2px dashed var(--color-accent);outline-offset:-2px}.tag-filter-clear{display:inline-flex;align-items:center;gap:4px;margin-left:8px;padding:1px 6px;font-size:.6rem;background:var(--color-accent-dim);color:var(--color-accent);border:1px solid var(--color-accent);border-radius:var(--radius-sm);cursor:pointer;text-transform:none;font-weight:400}.tag-filter-clear:hover{background:var(--color-accent);color:#fff}.tag-filtered-notes{padding-left:8px;border-left:2px solid var(--color-accent);margin-left:8px}.ai-panel{position:absolute;right:0;top:0;bottom:0;width:370px;background:var(--color-bg-primary);border-left:1px solid var(--color-border);display:flex;flex-direction:column;z-index:50;box-shadow:-4px 0 24px #00000040;animation:slideInRight .2s ease}@keyframes slideInRight{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}.ai-panel-header{display:flex;align-items:center;gap:8px;padding:14px 16px;border-bottom:1px solid var(--color-border);font-weight:600;font-size:.9rem;color:var(--color-accent);background:var(--color-bg-secondary);flex-shrink:0}.ai-panel-settings{margin-left:auto;display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;background:transparent;color:var(--color-text-muted);cursor:pointer;border-radius:var(--radius-sm);transition:all .15s}.ai-panel-settings:hover{background:#ffffff14;color:var(--color-accent)}.ai-panel-close{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;background:transparent;color:var(--color-text-muted);cursor:pointer;border-radius:var(--radius-sm);transition:all .15s}.ai-panel-close:hover{background:#ffffff14;color:var(--color-text-primary)}.ai-panel-body{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:0}.ai-panel-actions{display:flex;flex-wrap:wrap;gap:6px;padding:12px 16px}.ai-action-btn{padding:5px 12px;border:1px solid var(--color-border);border-radius:20px;background:transparent;color:var(--color-text-primary);font-size:.75rem;cursor:pointer;transition:all .15s}.ai-action-btn:hover{border-color:var(--color-accent);color:var(--color-accent);background:var(--color-accent-dim)}.ai-action-btn.active{background:var(--color-accent);color:#fff;border-color:var(--color-accent)}.ai-translate-lang{display:flex;align-items:center;gap:6px;padding:0 16px 8px}.ai-translate-lang label{font-size:.75rem;color:var(--color-text-muted);white-space:nowrap}.ai-translate-lang select{flex:1;padding:4px 8px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg-secondary);color:var(--color-text-primary);font-size:.8rem;outline:none}.ai-translate-lang select:focus{border-color:var(--color-accent)}.ai-prompt-input{margin:0 16px;padding:8px 12px;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg-secondary);color:var(--color-text-primary);font-size:.85rem;resize:vertical;min-height:60px;font-family:inherit}.ai-prompt-input:focus{outline:none;border-color:var(--color-accent)}.ai-panel-hint{padding:8px 16px;font-size:.75rem;color:var(--color-text-muted)}.ai-run-btn{margin:0 16px;padding:10px;border:none;border-radius:var(--radius-md);background:var(--color-accent);color:#fff;font-weight:600;font-size:.85rem;cursor:pointer;transition:all .15s;display:flex;align-items:center;justify-content:center;gap:6px}.ai-run-btn:hover{opacity:.9;box-shadow:0 2px 10px #00adb54d}.ai-run-btn:disabled{opacity:.6;cursor:not-allowed}.ai-error-msg{margin:0 16px;padding:8px 12px;font-size:.8rem;color:var(--color-danger);background:#ef444414;border-radius:var(--radius-sm);border:1px solid rgba(239,68,68,.2)}.ai-result{margin:12px 16px;padding:12px;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg-secondary);flex:1;overflow-y:auto}.ai-result-header{font-size:.75rem;font-weight:600;color:var(--color-accent);margin-bottom:8px}.ai-result-text{font-size:.85rem;line-height:1.6;color:var(--color-text-primary);white-space:pre-wrap;word-wrap:break-word}.ai-insert-btn{margin-top:10px;padding:6px 12px;border:1px solid var(--color-accent);border-radius:var(--radius-sm);background:transparent;color:var(--color-accent);font-size:.75rem;cursor:pointer;width:100%;transition:all .15s}.ai-insert-btn:hover{background:var(--color-accent);color:#fff}.ai-config-panel{flex:1;display:flex;flex-direction:column;overflow-y:auto}.ai-config-header{display:flex;align-items:center;gap:10px;padding:14px 16px;border-bottom:1px solid var(--color-border);background:var(--color-bg-secondary);flex-shrink:0}.ai-config-header h3{font-size:.9rem;font-weight:600;color:var(--color-text-primary);margin:0}.ai-back-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;background:transparent;color:var(--color-text-muted);cursor:pointer;border-radius:var(--radius-sm);transition:all .15s}.ai-back-btn:hover{background:#ffffff14;color:var(--color-text-primary)}.ai-config-current{display:flex;align-items:center;gap:8px;padding:10px 16px;margin:12px 16px 0;background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:.8rem;color:var(--color-text-secondary)}.ai-config-badge{display:inline-flex;align-items:center;padding:2px 8px;border-radius:10px;background:var(--color-accent-dim);color:var(--color-accent);font-size:.7rem;font-weight:600}.ai-config-key{color:var(--color-text-muted);font-family:var(--font-mono);font-size:.7rem}.ai-config-section{padding:12px 16px}.ai-config-label{display:block;font-size:.75rem;font-weight:600;color:var(--color-text-secondary);margin-bottom:8px;text-transform:uppercase;letter-spacing:.5px}.ai-provider-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.ai-provider-btn{display:flex;align-items:center;gap:8px;padding:10px 12px;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg-secondary);color:var(--color-text-primary);cursor:pointer;font-size:.8rem;font-weight:500;transition:all .15s}.ai-provider-btn:hover{border-color:var(--color-accent);background:var(--color-accent-dim)}.ai-provider-btn.active{border-color:var(--color-accent);background:var(--color-accent-dim);color:var(--color-accent)}.ai-provider-icon{font-size:1.2rem;flex-shrink:0}.ai-config-select{width:100%;padding:8px 10px;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg-secondary);color:var(--color-text-primary);font-size:.85rem;outline:none;cursor:pointer}.ai-config-select:focus{border-color:var(--color-accent)}.ai-config-input{width:100%;padding:8px 10px;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg-secondary);color:var(--color-text-primary);font-size:.85rem;font-family:var(--font-mono);outline:none;box-sizing:border-box}.ai-config-input:focus{border-color:var(--color-accent)}.ai-config-input::placeholder{color:var(--color-text-muted)}.ai-config-hint{font-size:.7rem;color:var(--color-text-muted);margin-top:6px;line-height:1.4}.ai-config-error{padding:8px 12px;margin:0 16px;font-size:.8rem;color:var(--color-danger);background:#ef444414;border-radius:var(--radius-sm);border:1px solid rgba(239,68,68,.2)}.ai-config-success{padding:8px 12px;margin:0 16px;font-size:.8rem;color:var(--color-success);background:#10b98114;border-radius:var(--radius-sm);border:1px solid rgba(16,185,129,.2)}.ai-config-actions{display:flex;gap:8px;padding:12px 16px;flex-shrink:0}.ai-save-btn{flex:1;padding:10px;border:none;border-radius:var(--radius-md);background:var(--color-accent);color:#fff;font-weight:600;font-size:.85rem;cursor:pointer;transition:all .15s}.ai-save-btn:hover{opacity:.9;box-shadow:0 2px 10px #00adb54d}.ai-delete-btn{padding:10px 14px;border:1px solid rgba(239,68,68,.3);border-radius:var(--radius-md);background:transparent;color:var(--color-danger);font-size:.85rem;cursor:pointer;transition:all .15s}.ai-delete-btn:hover{background:#ef444414;border-color:var(--color-danger)}.floating-selection-toolbar{position:fixed;z-index:10000;display:flex;align-items:center;gap:2px;padding:4px 6px;background:var(--color-bg-primary);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:0 4px 20px #0000004d,0 0 0 1px #ffffff0d;pointer-events:auto;animation:fst-fade-in .12s ease}@keyframes fst-fade-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.fst-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;background:transparent;color:var(--color-text-muted);cursor:pointer;border-radius:var(--radius-sm);transition:all .1s;padding:0}.fst-btn:hover{background:#ffffff14;color:var(--color-text-primary)}.fst-btn.active{background:var(--color-accent-dim);color:var(--color-accent)}.fst-divider{width:1px;height:20px;background:var(--color-border-subtle);margin:0 3px;flex-shrink:0}.fst-dropdown-wrap{position:relative;display:inline-flex}.fst-color-grid{position:fixed;background:var(--color-bg-primary);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:0 4px 20px #00000059;padding:6px;display:grid;grid-template-columns:repeat(4,1fr);gap:3px;width:130px;z-index:10001}.fst-color-item{width:26px;height:26px;border-radius:4px;border:2px solid transparent;cursor:pointer;transition:transform .1s,border-color .15s}.fst-color-item:hover{transform:scale(1.15);border-color:var(--color-accent)}.fst-color-item.active{border-color:var(--color-accent);box-shadow:0 0 0 2px var(--color-accent-dim)}.fst-color-clear{background:var(--color-bg-secondary)!important;color:var(--color-text-muted);font-size:12px;display:flex;align-items:center;justify-content:center}.fst-size-dropdown{position:fixed;background:var(--color-bg-primary);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:0 4px 20px #00000059;padding:4px;min-width:70px;z-index:10001}.fst-size-item{display:block;width:100%;padding:4px 10px;border:none;background:transparent;color:var(--color-text-primary);cursor:pointer;border-radius:var(--radius-sm);text-align:left;white-space:nowrap;font-size:.8rem}.fst-size-item:hover{background:var(--color-accent-dim);color:var(--color-accent)}.fst-size-item.active{background:var(--color-accent-dim);color:var(--color-accent);font-weight:600}.editor-image-wrapper{margin:12px 0;text-align:center}.editor-image{max-width:100%;max-height:500px;border-radius:var(--radius-md);box-shadow:0 2px 8px #00000026;cursor:pointer;transition:box-shadow .2s}.editor-image:hover{box-shadow:0 4px 16px #00adb54d}@keyframes fadeIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}
