:root{--bg-app:#f0f2f5;--bg-card:#fff;--bg-card-alt:#f8f9fb;--bg-primary:#fff;--bg-secondary:#f3f4f6;--bg-hover:#f0f1f3;--bg-active:#e8eaf0;--text-primary:#1a1a2e;--text-secondary:#6b7280;--text-muted:#9ca3af;--border-color:#e5e7eb;--accent:#6c63ff;--accent-soft:#6c63ff14;--accent-hover:#5a52d5;--shadow-sm:0 1px 3px #0000000f, 0 1px 2px #0000000a;--shadow-md:0 4px 12px #0000000f, 0 2px 4px #0000000a;--shadow-lg:0 8px 24px #00000014, 0 4px 8px #0000000a;--radius:12px;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:20px;--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono:"SF Mono", "Fira Code", "Consolas", monospace;--sidebar-width:280px;--topbar-height:52px;--transition:.18s ease;--panel-gap:8px}@media (width<=768px){:root{--sidebar-width:100vw;--topbar-height:48px;--panel-gap:4px;--radius:10px;--radius-lg:12px;--radius-sm:6px}}@media (width<=480px){:root{--sidebar-width:100vw;--topbar-height:44px;--panel-gap:2px;--radius:8px;--radius-lg:8px;--radius-sm:4px}}.dark{--bg-app:#0f0f1a;--bg-card:#1a1a2e;--bg-card-alt:#1e1e36;--bg-primary:#1a1a2e;--bg-secondary:#252540;--bg-hover:#252540;--bg-active:#2a2a4a;--text-primary:#e8e8f0;--text-secondary:#9ca3b8;--text-muted:#6b7080;--border-color:#2a2a45;--accent:#8b83ff;--accent-soft:#8b83ff1a;--accent-hover:#a09aff;--shadow-sm:0 1px 3px #0003, 0 1px 2px #00000026;--shadow-md:0 4px 12px #00000040, 0 2px 4px #0003;--shadow-lg:0 8px 24px #0000004d, 0 4px 8px #00000040}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100dvh;height:-webkit-fill-available;overflow:hidden}body{font-family:var(--font-sans);color:var(--text-primary);background:var(--bg-app);-webkit-font-smoothing:antialiased;padding-bottom:env(safe-area-inset-bottom,0px);font-size:14px;line-height:1.6}input,textarea,button{font-family:inherit;font-size:inherit}a{color:var(--accent);text-decoration:none}a:hover{color:var(--accent-hover)}*{scrollbar-width:thin;scrollbar-color:var(--text-muted) transparent}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--text-muted);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--text-secondary)}.app{background:var(--bg-app);height:100vh;color:var(--text-primary);padding:var(--panel-gap);gap:var(--panel-gap);flex-direction:column;display:flex}.topbar{height:var(--topbar-height);background:var(--bg-card);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);flex-shrink:0;align-items:center;gap:6px;padding:0 12px;display:flex}.topbar-left{flex-shrink:0;align-items:center;gap:2px;display:flex}.topbar-right{scrollbar-width:none;flex:1;justify-content:flex-end;align-items:center;gap:2px;min-width:0;display:flex;overflow:visible}.topbar-right::-webkit-scrollbar{display:none}.tb-group-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;opacity:.6;margin-right:2px;font-size:10px;font-weight:600}.tb-home{color:var(--accent)}.tb-sync{position:relative}.tb-sync-dot{background:var(--text-muted);border-radius:50%;width:6px;height:6px;position:absolute;bottom:3px;right:3px}.tb-sync-dot.ok{background:#22c55e}.tb-sync-dot.sync{background:var(--accent);animation:.8s ease-in-out infinite sync-pulse}.tb-sync-dot.err{background:#ef4444}.tb-sync-spin{animation:2s linear infinite spin}.tb-team-info{flex-direction:column;gap:1px;display:flex}.tb-team-name{color:var(--text-primary);font-size:13px;font-weight:700}.tb-team-meta{color:var(--text-muted);align-items:center;gap:4px;font-size:10px;display:flex}.tb-team-dot{background:var(--text-muted);border-radius:50%;flex-shrink:0;width:5px;height:5px}.tb-team-dot.online{background:#22c55e}.team-view{background:var(--bg-primary);border-radius:var(--radius-lg);width:100%;height:100%;font-family:var(--font-sans);display:flex;overflow:hidden}.tv-sidebar{border-right:1px solid var(--border-color);background:var(--bg-card);flex-direction:column;flex-shrink:0;width:240px;display:flex}.tv-sidebar-head{border-bottom:1px solid var(--border-color);padding:14px 16px 10px}.tv-team-name{color:var(--text-primary);font-size:14px;font-weight:700}.tv-online{color:var(--text-muted);align-items:center;gap:4px;margin-top:2px;font-size:10px;display:flex}.tv-online-dot{background:#22c55e;border-radius:50%;flex-shrink:0;width:5px;height:5px}.tv-notes-head{border-bottom:1px solid var(--border-color);text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);flex-shrink:0;justify-content:space-between;align-items:center;padding:8px 14px;font-size:11px;font-weight:600;display:flex}.tv-notes-list{flex:1;padding:4px 0;overflow-y:auto}.tv-empty{text-align:center;color:var(--text-muted);padding:20px;font-size:12px}.tv-folder{padding:0}.tv-folder-name{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;padding:8px 14px 4px;font-size:10px;font-weight:600}.tv-note{cursor:pointer;color:var(--text-secondary);align-items:center;gap:6px;padding:6px 14px;font-size:12px;transition:background .1s;display:flex}.tv-note:hover{background:var(--bg-hover)}.tv-note.active{background:var(--bg-secondary);color:var(--text-primary)}.tv-note-icon{opacity:.4;flex-shrink:0}.tv-note.active .tv-note-icon{opacity:.7}.tv-note-title{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.tv-note-del{opacity:0;transition:opacity .1s}.tv-note:hover .tv-note-del{opacity:1}.tv-note-editor{background:var(--accent-color,#6c63ff);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:20px;height:20px;margin-left:4px;font-size:9px;font-weight:700;display:flex}.tv-main{flex-direction:column;flex:1;min-width:0;display:flex;overflow:hidden}.tv-empty-state{color:var(--text-muted);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:12px;padding:40px;font-size:13px;display:flex}.tv-editors-bar{border-bottom:1px solid var(--border-color);background:var(--bg-card);flex-wrap:wrap;flex-shrink:0;align-items:center;gap:8px;padding:6px 20px;display:flex}.tv-editor-badge{color:var(--ec);border:1px solid var(--ec);background:color-mix(in srgb, var(--ec) 8%, transparent);border-radius:4px;align-items:center;gap:4px;padding:2px 8px;font-size:11px;font-weight:500;display:inline-flex}.tv-editor-badge-dot{border-radius:50%;flex-shrink:0;width:6px;height:6px}.tv-editor{flex-direction:column;height:100%;display:flex;overflow:hidden}.tv-editor-head{border-bottom:1px solid var(--border-color);flex-shrink:0;padding:10px 20px}.tv-title-input{width:100%;color:var(--text-primary);font-size:18px;font-weight:600;font-family:var(--font-sans);background:0 0;border:none;outline:none;padding:4px 0}.tv-editor-toolbar{border-bottom:1px solid var(--border-color);flex-wrap:wrap;flex-shrink:0;align-items:center;gap:2px;padding:4px 12px;display:flex}.tv-editor-content{flex:1;padding:24px 28px;overflow-y:auto}.tv-editor-content .tiptap{outline:none;min-height:100%;font-size:15px;line-height:1.8}.tb-badge{color:#fff;background:#ef4444;border-radius:7px;justify-content:center;align-items:center;min-width:14px;height:14px;padding:0 3px;font-size:9px;font-weight:700;display:flex;position:absolute;top:2px;right:2px}.tb-invites-drop{background:var(--bg-card);border:1px solid var(--border-color);z-index:300;border-radius:8px;min-width:240px;margin-top:6px;padding:4px;position:absolute;top:100%;right:0;box-shadow:0 8px 24px #00000026}.tb-invites-head{color:var(--text-primary);padding:6px 10px 4px;font-size:11px;font-weight:700}.tb-invites-empty{color:var(--text-muted);text-align:center;padding:12px 10px;font-size:12px}.tb-invite-item{color:var(--text-primary);border-radius:6px;justify-content:space-between;align-items:center;gap:8px;padding:10px 12px;font-size:12px;display:flex}.tb-invite-item:hover{background:var(--bg-hover)}.tb-invite-text{flex-direction:column;gap:2px;min-width:0;display:flex}.tb-invite-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.03em;font-size:10px;font-weight:600}.tb-invite-team{color:var(--text-primary);font-size:13px;font-weight:600}.tb-invite-actions{flex-shrink:0;gap:4px;display:flex}.tb-invite-accept,.tb-invite-reject{cursor:pointer;border:none;border-radius:50%;justify-content:center;align-items:center;width:30px;height:30px;padding:0;transition:all .12s;display:flex}.tb-invite-accept{color:#22c55e;background:#22c55e1a}.tb-invite-accept:hover{color:#fff;background:#22c55e}.tb-invite-reject{color:#ef4444;background:#ef44441a}.tb-invite-reject:hover{color:#fff;background:#ef4444}.team-card{border:1px solid var(--border-color);border-radius:8px;overflow:hidden}.team-card-head{cursor:pointer;align-items:center;gap:10px;padding:12px 14px;font-size:13px;transition:background .1s;display:flex}.team-card-head:hover{background:var(--bg-hover)}.team-card-info{flex:1;min-width:0}.team-card-name{color:var(--text-primary);font-weight:600;display:block}.team-card-meta{color:var(--text-muted);font-size:11px}.team-card-owner{color:#f59e0b;font-weight:500}.team-card-badges{flex-shrink:0;align-items:center;gap:6px;display:flex}.team-card-role{text-transform:uppercase;color:var(--text-muted);background:var(--bg-secondary);border-radius:4px;padding:2px 8px;font-size:10px;font-weight:600}.team-online-badge{color:#22c55e;font-size:10px;font-weight:600}.team-card-body{flex-direction:column;gap:12px;padding:0 14px 14px;display:flex}.team-section{flex-direction:column;gap:4px;display:flex}.team-section-label{color:var(--text-muted);font-size:11px;font-weight:500}.team-invite-inputs{gap:6px;margin-top:2px;display:flex}.team-members-list{flex-direction:column;gap:3px;display:flex}.team-member-row{border-radius:4px;align-items:center;gap:8px;padding:4px 6px;font-size:12px;display:flex}.team-member-row:hover{background:var(--bg-hover)}.team-member-dot{background:var(--text-muted);border-radius:50%;flex-shrink:0;width:6px;height:6px}.team-member-dot.online{background:#22c55e}.team-member-name{color:var(--text-primary);flex:1;font-weight:500}.team-member-role{color:var(--text-muted);text-transform:uppercase;font-size:10px}.team-kick-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:2px;display:flex}.team-kick-btn:hover{color:#ef4444;background:#ef44441a}.team-card-footer{border-top:1px solid var(--border-color);padding-top:10px}.team-add-btn{border:1px solid var(--border-color);background:var(--bg-card);color:var(--text-secondary);cursor:pointer;font-size:13px;font-family:var(--font-sans);border-radius:6px;align-self:flex-start;align-items:center;gap:6px;padding:8px 16px;font-weight:500;transition:all .15s;display:inline-flex}.team-add-btn:hover{border-color:var(--text-secondary);color:var(--text-primary);background:var(--bg-hover)}.team-create-form{align-items:center;gap:6px;display:flex}.team-delete-link{color:#ef4444;cursor:pointer;font-size:12px;font-family:var(--font-sans);background:0 0;border:none;padding:4px 0}.team-delete-link:hover{text-decoration:underline}.tb-sep{background:var(--border-color);flex-shrink:0;width:1px;height:22px;margin:0 4px}.tb-more-wrap{position:relative}.tb-mobile-only{display:none}@media (width<=768px){.tb-mobile-only{display:block}}.tb-more-wrap .btn-icon{touch-action:manipulation}[data-tip]{position:relative}[data-tip]:after{content:attr(data-tip);background:var(--text-primary);color:var(--bg-primary);white-space:nowrap;pointer-events:none;opacity:0;font-size:11px;font-weight:500;font-family:var(--font-sans);z-index:500;border-radius:6px;padding:4px 8px;transition:opacity .15s;position:absolute;top:calc(100% + 4px);bottom:auto;left:50%;transform:translate(-50%)}[data-tip]:hover:after{opacity:1;transition-delay:.4s}.tb-more-drop{background:var(--bg-card);border:1px solid var(--border-color);z-index:300;border-radius:8px;flex-direction:column;gap:2px;min-width:160px;margin-top:6px;padding:4px;display:flex;position:absolute;top:100%;right:0;box-shadow:0 8px 24px #00000026}.tb-more-drop .btn-icon{border-radius:5px;justify-content:flex-start;gap:8px;width:100%;padding:7px 10px;font-size:12px}.tb-more-drop .btn-icon:hover{background:var(--bg-hover)}.tb-drop-btn{color:var(--text-primary);cursor:pointer;text-align:left;width:100%;font-size:13px;font-family:var(--font-sans);background:0 0;border:none;border-radius:5px;align-items:center;gap:10px;padding:8px 12px;transition:background .1s;display:flex}.tb-drop-btn:hover{background:var(--bg-hover)}.tb-drop-btn svg{flex-shrink:0}.tb-drop-sep{background:var(--border-color);height:1px;margin:4px 6px}.btn-clear{cursor:pointer;color:var(--text-muted);background:0 0;border:none;border-radius:4px;padding:2px;display:flex}.btn-clear:hover{color:var(--text-primary)}.btn-icon{cursor:pointer;color:var(--text-secondary);border-radius:var(--radius-sm);transition:background var(--transition), color var(--transition);background:0 0;border:none;justify-content:center;align-items:center;padding:8px;display:inline-flex}.btn-icon:hover{background:var(--bg-hover);color:var(--text-primary)}.btn-icon.active{background:var(--accent-soft);color:var(--accent)}.btn-sm{padding:6px}.btn-primary{border-radius:var(--radius-sm);background:var(--accent);color:#fff;cursor:pointer;transition:background var(--transition);font-size:13px;font-weight:500;font-family:var(--font-sans);border:none;align-items:center;gap:6px;padding:8px 16px;display:inline-flex}.btn-primary:hover{background:var(--accent-hover)}.btn-primary:disabled{opacity:.5;cursor:default}.btn-danger{border-radius:var(--radius-sm);color:#fff;cursor:pointer;font-size:13px;font-weight:500;font-family:var(--font-sans);background:#dc2626;border:none;align-items:center;gap:6px;padding:7px 14px;transition:background .18s;display:inline-flex}.btn-danger:hover{background:#b91c1c}.btn-cancel{border:1px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-primary);cursor:pointer;font-size:13px;font-weight:500;font-family:var(--font-sans);background:0 0;align-items:center;gap:6px;padding:7px 14px;transition:background .18s;display:inline-flex}.btn-cancel:hover{background:var(--bg-hover)}.btn-secondary{border:1px solid var(--border-color);border-radius:var(--radius-sm);background:var(--bg-card-alt);color:var(--text-primary);cursor:pointer;transition:background var(--transition);font-size:13px;font-weight:500;font-family:var(--font-sans);align-items:center;gap:6px;padding:8px 16px;display:inline-flex}.btn-secondary:hover{background:var(--bg-hover)}.app-body{gap:var(--panel-gap);flex:1;min-height:0;display:flex;overflow:hidden}.sidebar-wrapper{width:var(--sidebar-width);background:var(--bg-card);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);transition:width var(--transition), opacity var(--transition);flex-shrink:0;overflow:hidden}.sidebar-wrapper.collapsed{opacity:0;width:0;overflow:hidden}.sidebar{width:var(--sidebar-width);flex-direction:column;height:100%;display:flex;overflow:hidden}.sidebar-section{flex-direction:column;display:flex}.sidebar-section+.sidebar-section{border-top:1px solid var(--border-color);margin-top:4px;padding-top:4px}.sidebar-section-notes{flex:1;min-height:0;overflow:hidden}.sidebar-header{text-transform:uppercase;letter-spacing:.6px;color:var(--text-muted);justify-content:space-between;align-items:center;padding:12px 14px 8px;font-size:11px;font-weight:600;display:flex}.sidebar-title{flex:1}.folder-list,.note-list{flex:1;max-height:180px;padding:0 6px 6px;overflow-y:auto}.note-list{flex:1;min-height:0;max-height:none;padding-bottom:12px}.folder-item{padding:1px 0}.folder-label{border-radius:var(--radius-sm);cursor:pointer;color:var(--text-secondary);transition:background var(--transition), color var(--transition);align-items:center;gap:8px;padding:6px 10px;font-size:13px;display:flex}.folder-label:hover{background:var(--bg-hover);color:var(--text-primary)}.folder-label.active{background:var(--accent-soft);color:var(--accent);font-weight:500}.folder-label.active svg{color:var(--accent)}.folder-actions{flex-shrink:0;align-items:center;gap:2px;display:none}.folder-label:hover .folder-actions{display:flex}.folder-label:hover .note-count{display:none}.folder-name{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.note-count{color:var(--text-muted);background:var(--bg-card-alt);border-radius:10px;padding:1px 6px;font-size:11px}.inline-input{border:1.5px solid var(--accent);border-radius:var(--radius-sm);background:var(--bg-card);width:calc(100% - 12px);color:var(--text-primary);outline:none;margin:2px 6px;padding:5px 8px;font-size:13px}.note-item{cursor:pointer;border-radius:var(--radius-sm);transition:background var(--transition);margin:1px 0;padding:10px 12px}.note-item:hover{background:var(--bg-hover)}.note-item.active{background:var(--accent-soft)}.note-item-title{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;margin-bottom:3px;font-size:14px;font-weight:500;overflow:hidden}.note-item-preview{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.empty-state{text-align:center;color:var(--text-muted);padding:20px 12px;font-size:13px}.sidebar-header-mobile{border-bottom:1px solid var(--border-color);flex-shrink:0;justify-content:space-between;align-items:center;padding:12px 14px;display:none}.sidebar-title-mobile{color:var(--text-primary);font-size:15px;font-weight:700}.sidebar-close-btn{display:flex}.main-content{background:var(--bg-card);border-radius:var(--radius-lg);min-width:0;box-shadow:var(--shadow-sm);flex-direction:column;flex:1;display:flex;overflow:hidden}.note-header{border-bottom:1px solid var(--border-color);flex-direction:column;flex-shrink:0;gap:4px;padding:10px 20px 8px;display:flex}.note-cross-links{border-top:1px solid var(--border-color);flex-wrap:wrap;flex-shrink:0;gap:8px;margin-top:4px;padding-top:4px;display:flex}.ncl-section{align-items:center;gap:6px;font-size:11px;display:flex}.ncl-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.03em;font-weight:600}.ncl-tags{flex-wrap:wrap;gap:4px;display:flex}.ncl-tag{background:var(--bg-secondary);border:1px solid var(--border-color);color:var(--text-secondary);cursor:pointer;border-radius:12px;align-items:center;gap:3px;padding:2px 8px;font-size:11px;transition:all .15s;display:inline-flex}.ncl-tag:hover{background:var(--bg-tertiary);border-color:var(--accent);color:var(--text-primary)}.ncl-tag svg{flex-shrink:0}.ncl-more{color:var(--text-muted);padding:2px 4px;font-size:11px}.note-header-top{align-items:center;gap:12px;display:flex}.note-title-input{color:var(--text-primary);background:0 0;border:none;outline:none;flex:1;padding:4px 0;font-size:20px;font-weight:600}.note-title-input::placeholder{color:var(--text-muted)}.note-header-actions{align-items:center;gap:4px;display:flex}.tag-sm{background:var(--accent-soft);color:var(--accent);border:none;border-radius:20px;align-items:center;padding:1px 8px;font-size:11px;font-weight:500;display:inline-flex}.editor{flex-direction:column;flex:1;display:flex;overflow:hidden}.editor-empty{color:var(--text-muted);flex:1;justify-content:center;align-items:center;font-size:14px;display:flex}.empty-state-large{text-align:center;opacity:.5;flex-direction:column;align-items:center;gap:16px;display:flex}.editor-toolbar{border-bottom:1px solid var(--border-color);background:var(--bg-card-alt);flex-wrap:wrap;flex-shrink:0;align-items:center;gap:2px;padding:6px 12px;display:flex}.toolbar-btn{cursor:pointer;color:var(--text-secondary);font-size:12px;font-weight:600;font-family:var(--font-sans);transition:background var(--transition), color var(--transition);background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;padding:5px 7px;display:inline-flex}.toolbar-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.toolbar-btn[data-active=true]{background:var(--accent);color:#fff}.toolbar-sep{background:var(--border-color);width:1px;height:22px;margin:0 3px}.editor-content-wrapper{flex:1;padding:20px 28px;overflow-y:auto}.tiptap-editor{min-height:100%;color:var(--text-primary);outline:none;font-size:15px;line-height:1.8}.tiptap-editor h1{color:var(--text-primary);margin:0 0 16px;font-size:28px;font-weight:700}.tiptap-editor h2{color:var(--text-primary);margin:24px 0 8px;font-size:22px;font-weight:600}.tiptap-editor h3{color:var(--text-primary);margin:20px 0 6px;font-size:18px;font-weight:600}.tiptap-editor p{margin:0 0 8px}.tiptap-editor ul,.tiptap-editor ol{margin:0 0 10px;padding-left:24px}.tiptap-editor li{margin-bottom:3px}.tiptap-editor blockquote{border-left:3px solid var(--accent);background:var(--bg-card-alt);border-radius:0 var(--radius-sm) var(--radius-sm) 0;color:var(--text-secondary);margin:0 0 14px;padding:10px 18px}.tiptap-editor code{font-family:var(--font-mono);background:var(--accent-soft);color:var(--accent);border-radius:4px;padding:2px 6px;font-size:13px}.tiptap-editor pre{background:var(--bg-card-alt);border-radius:var(--radius-sm);border:1px solid var(--border-color);margin:0 0 16px;padding:16px 20px;overflow-x:auto}.tiptap-editor pre code{color:var(--text-primary);background:0 0;padding:0}.tiptap-editor hr{border:none;border-top:1.5px solid var(--border-color);margin:24px 0}.tiptap-editor strong{font-weight:700}.tiptap-editor em{font-style:italic}.tiptap-editor s{text-decoration:line-through}.tiptap-editor ul{list-style:outside}.tiptap-editor ol{list-style:decimal}.tiptap-editor p:first-child{margin-top:0}.search-overlay{z-index:100;padding-top:calc(var(--topbar-height) + var(--panel-gap) + 8px);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#00000026;justify-content:center;display:flex;position:fixed;inset:0}.search-panel{background:var(--bg-card);border-radius:var(--radius-lg);width:520px;max-width:calc(100vw - 32px);max-height:60vh;box-shadow:var(--shadow-lg);flex-direction:column;align-self:flex-start;display:flex;overflow:hidden}.search-panel-input{border-bottom:1px solid var(--border-color);align-items:center;gap:10px;padding:14px 16px;display:flex}.search-panel-input svg{color:var(--text-muted);flex-shrink:0}.search-panel-input input{color:var(--text-primary);background:0 0;border:none;outline:none;flex:1;font-size:15px}.search-panel-input input::placeholder{color:var(--text-muted)}.search-panel-results{padding:6px;overflow-y:auto}.search-empty{text-align:center;color:var(--text-muted);padding:32px 16px;font-size:14px}.search-result-item{border-radius:var(--radius-sm);cursor:pointer;transition:background var(--transition);padding:10px 12px}.search-result-item:hover{background:var(--bg-hover)}.search-result-item+.search-result-item{border-top:1px solid var(--border-color)}.search-result-title{color:var(--text-primary);margin-bottom:2px;font-size:14px;font-weight:600}.search-result-preview{color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;margin-bottom:4px;font-size:13px;overflow:hidden}.search-result-meta{color:var(--text-muted);align-items:center;gap:12px;font-size:11px;display:flex}.search-result-folder{background:var(--bg-card-alt);border-radius:4px;padding:1px 6px}.graph-screen{background:var(--bg-card);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);flex:1;display:flex;overflow:hidden}.graph-view{flex-direction:column;flex:1;height:100%;display:flex;position:relative;overflow:hidden}.graph-controls{border-bottom:1px solid var(--border-color);background:var(--bg-card-alt);flex-shrink:0;align-items:center;gap:4px;padding:8px 12px;display:flex}.graph-zoom-level{color:var(--text-muted);text-align:right;min-width:40px;margin-left:auto;font-size:11px}.graph-svg-wrap{flex:1;justify-content:center;align-items:center;display:flex;overflow:hidden}.graph-svg-wrap svg{display:block}.graph-hint{color:var(--text-muted);opacity:.6;white-space:nowrap;background:var(--bg-card-alt);border-radius:var(--radius-sm);pointer-events:none;padding:4px 12px;font-size:11px;position:absolute;bottom:12px;left:50%;transform:translate(-50%)}.graph-empty{text-align:center;color:var(--text-muted);padding:40px;font-size:14px}.calendar-screen{background:var(--bg-card);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);flex:1;display:flex;overflow:hidden}.calendar-view{flex:1;height:100%;display:flex}.calendar-main{flex-direction:column;flex:1;min-width:0;padding:20px 24px;display:flex}.calendar-header{align-items:center;gap:8px;margin-bottom:20px;display:flex}.calendar-title{color:var(--text-primary);min-width:200px;font-size:20px;font-weight:700}.calendar-today-btn{border:1px solid var(--border-color);border-radius:var(--radius-sm);background:var(--bg-card-alt);color:var(--text-secondary);cursor:pointer;transition:background var(--transition), color var(--transition);margin-left:auto;padding:6px 16px;font-size:13px;font-weight:500}.calendar-today-btn:hover{background:var(--accent-soft);color:var(--accent);border-color:var(--accent)}.calendar-grid{flex-direction:column;flex:1;gap:2px;display:flex}.calendar-row{flex:1;grid-template-columns:repeat(7,1fr);gap:2px;display:grid}.calendar-row-header{flex:none}.calendar-cell{border-radius:var(--radius-sm);cursor:pointer;transition:background var(--transition);flex-direction:column;justify-content:flex-start;align-items:center;min-height:70px;padding:6px 4px;display:flex;position:relative}.calendar-cell:hover{background:var(--bg-hover)}.calendar-cell.selected{background:var(--accent-soft);outline:2px solid var(--accent);outline-offset:-2px}.calendar-cell.today .calendar-day-num{background:var(--accent);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;display:flex}.calendar-cell-empty{cursor:default}.calendar-cell-empty:hover{background:0 0}.calendar-day-header{color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;cursor:default;min-height:auto;padding:4px;font-size:11px;font-weight:600}.calendar-day-header:hover{background:0 0}.calendar-day-num{color:var(--text-primary);justify-content:center;align-items:center;width:28px;height:28px;font-size:14px;font-weight:500;display:flex}.calendar-dot-row{flex-wrap:wrap;justify-content:center;align-items:center;gap:3px;margin-top:4px;display:flex}.calendar-dot{border-radius:50%;flex-shrink:0;width:6px;height:6px}.calendar-dot-more{color:var(--text-muted);font-size:9px;font-weight:600}.calendar-sidebar{border-left:1px solid var(--border-color);flex-direction:column;flex-shrink:0;width:300px;padding:20px 16px;display:flex;overflow-y:auto}.calendar-sidebar-header{color:var(--text-primary);justify-content:space-between;align-items:center;margin-bottom:12px;font-size:15px;font-weight:600;display:flex}.calendar-event-form{background:var(--bg-card-alt);border-radius:var(--radius-sm);border:1px solid var(--border-color);flex-direction:column;gap:8px;margin-bottom:12px;padding:12px;display:flex}.calendar-input{border:1px solid var(--border-color);border-radius:var(--radius-sm);background:var(--bg-card);color:var(--text-primary);transition:border-color var(--transition);outline:none;padding:8px 10px;font-size:13px}.calendar-input:focus{border-color:var(--accent)}.calendar-input::placeholder{color:var(--text-muted)}.calendar-color-row{gap:6px;display:flex}.calendar-color-btn{cursor:pointer;width:22px;height:22px;transition:transform var(--transition), border-color var(--transition);border:2px solid #0000;border-radius:50%}.calendar-color-btn:hover{transform:scale(1.15)}.calendar-color-btn.active{border-color:var(--text-primary);transform:scale(1.15)}.calendar-form-actions{justify-content:flex-end;align-items:center;gap:6px;display:flex}.calendar-add-btn{border-radius:var(--radius-sm);background:var(--accent);color:#fff;cursor:pointer;transition:background var(--transition);border:none;padding:6px 16px;font-size:13px;font-weight:500}.calendar-add-btn:hover{background:var(--accent-hover)}.calendar-add-btn:disabled{opacity:.5;cursor:default}.calendar-event-list{flex-direction:column;flex:1;gap:6px;display:flex}.calendar-empty{text-align:center;color:var(--text-muted);padding:20px;font-size:13px}.calendar-event-card{background:var(--bg-card-alt);border-radius:var(--radius-sm);border:1px solid var(--border-color);transition:background var(--transition);align-items:flex-start;gap:10px;padding:10px 12px;display:flex}.calendar-event-card:hover{background:var(--bg-hover)}.calendar-event-color{border-radius:2px;flex-shrink:0;width:4px;min-height:36px;margin-top:2px}.calendar-event-body{flex:1;min-width:0}.calendar-event-title{color:var(--text-primary);margin-bottom:2px;font-size:13px;font-weight:600}.calendar-event-meta{color:var(--text-muted);flex-direction:column;gap:1px;font-size:11px;display:flex}.calendar-event-del{opacity:0;transition:opacity var(--transition);flex-shrink:0}.calendar-event-card:hover .calendar-event-del{opacity:1}.note-tags{flex-wrap:wrap;align-items:center;gap:4px;padding:0 0 2px;display:flex}.tag-remove{color:inherit;cursor:pointer;opacity:.5;transition:opacity var(--transition);background:0 0;border:none;padding:0 0 0 2px;font-size:13px;line-height:1}.tag-remove:hover{opacity:1}.tag-input-inline{color:var(--text-muted);background:0 0;border:none;outline:none;min-width:50px;max-width:120px;padding:2px 4px;font-size:11px}.tag-input-inline::placeholder{color:var(--text-muted);opacity:.5}.tag-input-inline:focus{color:var(--text-primary)}.note-fields{border-top:1px solid var(--border-color);background:var(--bg-card-alt);flex-shrink:0;max-height:220px;padding:12px 20px;overflow-y:auto}.note-field{align-items:flex-start;gap:10px;padding:6px 0;display:flex}.note-field+.note-field{border-top:1px solid var(--border-color)}.note-field-label{color:var(--text-muted);flex-shrink:0;min-width:100px;padding-top:6px;font-size:12px;font-weight:600}.note-field-input{border-radius:var(--radius-sm);color:var(--text-primary);transition:border-color var(--transition), background var(--transition);font-size:13px;font-family:var(--font-sans);resize:vertical;background:0 0;border:1px solid #0000;outline:none;flex:1;padding:5px 8px}.note-field-input:focus{border-color:var(--accent);background:var(--bg-card)}.note-field-input::placeholder{color:var(--text-muted)}textarea.note-field-input{min-height:50px}.backlinks{border-top:1px solid var(--border-color);background:var(--bg-card-alt);flex-shrink:0;max-height:160px;padding:12px 20px;overflow-y:auto}.backlinks-header{color:var(--text-muted);text-transform:uppercase;letter-spacing:.4px;align-items:center;gap:6px;margin-bottom:8px;font-size:12px;font-weight:600;display:flex}.backlinks-list{flex-direction:column;gap:4px;display:flex}.backlink-item{border-radius:var(--radius-sm);cursor:pointer;transition:background var(--transition);padding:8px 10px}.backlink-item:hover{background:var(--bg-hover)}.backlink-title{color:var(--accent);margin-bottom:2px;font-size:13px;font-weight:600}.backlink-preview{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.relationships{border-top:1px solid var(--border-color);background:var(--bg-card-alt);flex-shrink:0;max-height:260px;padding:12px 20px;overflow-y:auto}.relationships-header{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.relationships-title{color:var(--text-muted);text-transform:uppercase;letter-spacing:.4px;font-size:12px;font-weight:600}.rel-form{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-sm);flex-direction:column;gap:8px;margin-bottom:10px;padding:10px 12px;display:flex}.rel-form-row{align-items:center;gap:6px;display:flex}.rel-select{border:1px solid var(--border-color);border-radius:var(--radius-sm);background:var(--bg-card-alt);color:var(--text-primary);font-size:13px;font-family:var(--font-sans);outline:none;flex:1;padding:6px 8px}.rel-select:focus{border-color:var(--accent)}.rel-type-row{flex-wrap:wrap;gap:4px;display:flex}.rel-type-btn{border:2px solid var(--border-color);background:var(--bg-card-alt);cursor:pointer;width:32px;height:32px;transition:transform var(--transition), border-color var(--transition);border-radius:50%;justify-content:center;align-items:center;font-size:15px;display:flex}.rel-type-btn:hover{transform:scale(1.15)}.rel-type-btn.active{border-color:var(--rel-color,var(--accent));background:color-mix(in srgb, var(--rel-color,var(--accent)) 15%, transparent);transform:scale(1.15)}.rel-form-actions{align-items:center;gap:6px;display:flex}.rel-input{border:1px solid var(--border-color);border-radius:var(--radius-sm);background:var(--bg-card-alt);color:var(--text-primary);font-size:13px;font-family:var(--font-sans);outline:none;flex:1;padding:6px 8px}.rel-input:focus{border-color:var(--accent)}.rel-input::placeholder{color:var(--text-muted)}.rel-add-btn{border-radius:var(--radius-sm);background:var(--accent);color:#fff;cursor:pointer;white-space:nowrap;transition:background var(--transition);border:none;padding:6px 14px;font-size:13px;font-weight:500}.rel-add-btn:hover{background:var(--accent-hover)}.rel-add-btn:disabled{opacity:.5;cursor:default}.rel-empty{text-align:center;color:var(--text-muted);padding:12px;font-size:12px}.rel-group{margin-bottom:8px}.rel-group-header{align-items:center;gap:5px;margin-bottom:4px;padding:0 4px;font-size:12px;font-weight:600;display:flex}.rel-count{color:var(--text-muted);margin-left:auto;font-size:10px;font-weight:500}.rel-card{border-radius:var(--radius-sm);cursor:default;transition:background var(--transition);align-items:center;gap:8px;padding:6px 8px;display:flex}.rel-card:hover{background:var(--bg-hover)}.rel-card:hover .rel-del{opacity:1}.rel-card-line{border-radius:2px;flex-shrink:0;width:3px;height:24px}.rel-card-body{flex:1;align-items:center;gap:8px;min-width:0;display:flex}.rel-card-name{color:var(--accent);text-overflow:ellipsis;white-space:nowrap;transition:opacity var(--transition);font-size:13px;font-weight:500;overflow:hidden}.rel-card-name:hover{opacity:.8}.rel-card-label{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.rel-card-type{color:var(--text-muted);font-size:11px}.rel-del{opacity:0;transition:opacity var(--transition);flex-shrink:0}.rel-divider{color:var(--text-muted);text-transform:uppercase;letter-spacing:.3px;align-items:center;gap:8px;margin:8px 0;font-size:11px;font-weight:500;display:flex}.rel-divider:after{content:"";background:var(--border-color);flex:1;height:1px}.books-view{background:var(--bg-primary);border-radius:var(--radius-lg);width:100%;height:100%;font-family:var(--font-sans);flex-direction:column;display:flex;overflow:hidden}.bv-bar{border-bottom:1px solid var(--border-color);flex-shrink:0;justify-content:space-between;align-items:center;padding:14px 20px;display:flex}.bv-bar-title{color:var(--text-primary);margin:0;font-size:18px;font-weight:700}.bv-grid{flex:1;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));align-content:start;gap:14px;padding:16px 20px;display:grid;overflow-y:auto}.bv-empty{color:var(--text-muted);flex-direction:column;grid-column:1/-1;justify-content:center;align-items:center;gap:10px;padding:60px 20px;font-size:13px;display:flex}.bk-card{border:1px solid var(--border-color);cursor:pointer;border-radius:8px;flex-direction:column;transition:border-color .12s;display:flex;overflow:hidden}.bk-card:hover{border-color:var(--text-muted)}.bk-cover{align-items:flex-end;height:100px;padding:12px;display:flex}.bk-cover-title{color:#fff;text-shadow:0 1px 3px #0000004d;text-overflow:ellipsis;white-space:nowrap;font-size:16px;font-weight:700;overflow:hidden}.bk-meta{color:var(--text-muted);background:var(--bg-card);gap:12px;padding:8px 12px;font-size:11px;display:flex}.bk-detail-bar{border-bottom:1px solid var(--border-color);flex-wrap:wrap;flex-shrink:0;align-items:center;gap:10px;padding:10px 16px;display:flex}.bk-title-input{min-width:120px;color:var(--text-primary);font-size:16px;font-weight:700;font-family:var(--font-sans);background:0 0;border:none;outline:none;flex:1}.bk-stats{color:var(--text-muted);flex-shrink:0;gap:12px;font-size:12px;display:flex}.bk-meta-row{border-bottom:1px solid var(--border-color);flex-wrap:wrap;flex-shrink:0;align-items:center;gap:12px;padding:8px 16px;display:flex}.bk-meta-input{background:var(--bg-secondary);border:1px solid var(--border-color);min-width:140px;color:var(--text-primary);font-size:12px;font-family:var(--font-sans);border-radius:6px;outline:none;flex:1;padding:5px 8px}.bk-meta-field{color:var(--text-muted);align-items:center;gap:4px;font-size:12px;display:flex}.bk-meta-num{background:var(--bg-secondary);border:1px solid var(--border-color);width:70px;color:var(--text-primary);text-align:center;border-radius:4px;outline:none;padding:3px 6px;font-size:12px}.bk-color-pick{border:1px solid var(--border-color);cursor:pointer;border-radius:4px;width:24px;height:24px;padding:0}.bk-progress{border-bottom:1px solid var(--border-color);flex-shrink:0;align-items:center;gap:10px;padding:6px 16px;display:flex}.bk-progress-track{background:var(--bg-secondary);border-radius:3px;flex:1;height:6px;overflow:hidden}.bk-progress-bar{background:var(--accent-color,#6c63ff);border-radius:3px;min-width:0;height:100%;transition:width .3s}.bk-progress-text{color:var(--text-muted);white-space:nowrap;flex-shrink:0;font-size:12px}.bk-chapters{flex-direction:column;flex:1;gap:6px;padding:8px 16px 16px;display:flex;overflow-y:auto}.bk-empty-msg{text-align:center;color:var(--text-muted);padding:40px 20px;font-size:13px}.bk-chapter{background:var(--bg-card);border:1px solid var(--border-color);border-radius:8px;flex-direction:column;min-height:0;display:flex;overflow:hidden}.bk-chapter.expanded{flex:1;min-height:0}.bk-chapter+.bk-chapter{margin-top:0}.bk-ch-head{background:var(--bg-card-alt);border-bottom:1px solid var(--border-color);align-items:center;gap:6px;padding:8px 12px;display:flex}.bk-ch-drag{cursor:grab;flex-shrink:0;display:flex}.bk-ch-status{text-transform:uppercase;letter-spacing:.03em;cursor:pointer;border-radius:8px;flex-shrink:0;padding:2px 7px;font-size:9px;font-weight:700}.bk-ch-title{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;cursor:pointer;flex:1;font-size:14px;font-weight:600;overflow:hidden}.bk-ch-edit{border:1px solid var(--border-color);background:var(--bg-secondary);color:var(--text-primary);font-size:14px;font-weight:600;font-family:var(--font-sans);border-radius:4px;outline:none;flex:1;padding:3px 6px}.bk-ch-info{color:var(--text-muted);flex-shrink:0;font-size:11px}.bk-ch-del{opacity:0;transition:opacity .1s}.bk-chapter:hover .bk-ch-del{opacity:1}.bk-scenes{background:var(--bg-card);flex-direction:column;flex:1;gap:2px;min-height:0;padding:4px 12px 8px 28px;display:flex;overflow-y:auto}.bk-scene{cursor:pointer;border:1px solid #0000;border-radius:6px;align-items:center;gap:8px;padding:7px 10px;transition:background .1s;display:flex}.bk-scene:hover{background:var(--bg-hover);border-color:var(--border-color)}.bk-scene.active{background:var(--bg-secondary);border-color:var(--border-color)}.bk-scene-dot{cursor:pointer;border:2px solid #0000;border-radius:50%;flex-shrink:0;width:8px;height:8px;transition:transform .1s}.bk-scene-dot:hover{transform:scale(1.3)}.bk-scene-title{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:13px;font-weight:500;overflow:hidden}.bk-scene-meta{color:var(--text-muted);flex-shrink:0;font-size:10px}.bk-scene-del{opacity:0;transition:opacity .1s}.bk-scene:hover .bk-scene-del{opacity:1}.scene-fullscreen{z-index:500;background:var(--bg-primary);font-family:var(--font-sans);flex-direction:column;display:flex;position:fixed;inset:0}.sf-bar{border-bottom:1px solid var(--border-color);background:var(--bg-card);flex-shrink:0;align-items:center;gap:8px;padding:8px 12px;display:flex}.sf-nav{align-items:center;gap:2px;display:flex}.sf-nav-pos{color:var(--text-muted);padding:0 2px;font-size:11px;font-weight:500}.sf-title-input{min-width:120px;color:var(--text-primary);font-size:15px;font-weight:600;font-family:var(--font-sans);background:0 0;border:none;outline:none;flex:1}.sf-meta{flex-shrink:0;align-items:center;gap:6px;display:flex}.sf-status-badge{text-transform:uppercase;letter-spacing:.03em;cursor:pointer;border-radius:8px;padding:2px 8px;font-size:10px;font-weight:700}.sf-wc{color:var(--text-muted);font-size:11px}.sf-editor{background:var(--bg-primary);flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.sf-editor .tiptap{color:var(--text-primary);outline:none;flex:1;padding:24px 28px 80px;font-size:15px;line-height:1.8;overflow-y:auto}.sf-editor .tiptap code{background:var(--bg-secondary);border-radius:3px;padding:1px 4px;font-size:14px}.sf-panel{border-top:1px solid var(--border-color);background:var(--bg-card);flex-direction:column;flex-shrink:0;gap:6px;max-height:200px;padding:10px 16px;display:flex;overflow-y:auto}.sf-toolbar{border-bottom:1px solid var(--border-color);background:var(--bg-card);flex-wrap:wrap;flex-shrink:0;align-items:center;gap:2px;padding:4px 12px;display:flex}.sf-toolbar .toolbar-btn{min-width:28px;height:28px;color:var(--text-secondary);cursor:pointer;font-size:13px;font-family:var(--font-sans);background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:0 5px;transition:background .1s;display:inline-flex}.sf-toolbar .toolbar-btn:hover{background:var(--bg-hover)}.sf-toolbar .toolbar-btn[data-active=true]{color:var(--text-primary);background:var(--bg-secondary)}.sf-toolbar .toolbar-sep{background:var(--border-color);flex-shrink:0;width:1px;height:18px;margin:0 4px}.sf-sidebar{border-left:1px solid var(--border-color);flex-direction:column;flex-shrink:0;width:240px;display:flex}.sf-sidebar-header{text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);border-bottom:1px solid var(--border-color);padding:10px 14px;font-size:11px;font-weight:700}.sf-sidebar-list{flex-direction:column;flex:1;gap:1px;padding:4px;display:flex;overflow-y:auto}.sf-sidebar-item{cursor:pointer;color:var(--text-secondary);border-radius:4px;align-items:center;gap:6px;padding:6px 10px;font-size:12px;transition:background .1s;display:flex}.sf-sidebar-item:hover{background:var(--bg-hover)}.sf-sidebar-item.active{background:var(--bg-secondary);color:var(--text-primary)}.sf-sidebar-name{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.sf-entities{border-top:1px solid var(--border-color);background:var(--bg-card);flex-wrap:wrap;flex-shrink:0;gap:6px;max-height:160px;padding:12px 16px;display:flex;overflow-y:auto}.sf-entity-tag{background:var(--bg-secondary);color:var(--text-secondary);cursor:pointer;border:1px solid #0000;border-radius:4px;padding:2px 8px;font-size:11px;transition:all .1s}.sf-entity-tag:hover{border-color:var(--accent);color:var(--accent)}.entities-view{background:var(--bg-primary);border-radius:var(--radius-lg);width:100%;height:100%;font-family:var(--font-sans);flex-direction:column;display:flex;overflow:hidden}.ent-bar{border-bottom:1px solid var(--border-color);flex-shrink:0;justify-content:space-between;align-items:center;padding:14px 20px;display:flex}.ent-bar-title{color:var(--text-primary);margin:0;font-size:18px;font-weight:700}.ent-bar-right{align-items:center;gap:8px;display:flex}.ent-filters{border-bottom:1px solid var(--border-color);flex-wrap:wrap;flex-shrink:0;align-items:center;gap:10px;padding:10px 20px;display:flex}.ent-search{background:var(--bg-secondary);color:var(--text-primary);border:1px solid var(--border-color);border-radius:6px;outline:none;width:160px;padding:5px 10px;font-size:12px}.ent-search:focus{border-color:var(--text-secondary)}.ent-tabs{flex-wrap:wrap;gap:4px;display:flex}.ent-tab{border:1px solid var(--border-color);color:var(--text-muted);cursor:pointer;font-size:11px;font-weight:500;font-family:var(--font-sans);background:0 0;border-radius:12px;align-items:center;gap:4px;padding:3px 10px;transition:all .1s;display:inline-flex}.ent-tab:hover{border-color:var(--text-secondary);color:var(--text-primary)}.ent-tab.active{border-color:var(--tc,var(--text-secondary));background:color-mix(in srgb, var(--tc,var(--text-secondary)) 8%, transparent);color:var(--tc,var(--text-secondary))}.ent-tab-n{color:var(--text-muted);font-weight:600}.ent-tab.active .ent-tab-n{color:var(--tc,var(--text-secondary))}.ent-list{flex-direction:column;flex:1;gap:4px;padding:8px 20px 20px;display:flex;overflow-y:auto}.ent-empty{color:var(--text-muted);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:10px;padding:60px 20px;font-size:13px;display:flex}.ent-row{background:var(--bg-card);border:1px solid var(--border-color);cursor:pointer;border-radius:6px;align-items:center;gap:12px;padding:10px 14px;transition:border-color .12s;display:flex}.ent-row:hover{border-color:var(--text-muted)}.ent-row-icon{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:16px;display:flex}.ent-row-body{flex:1;min-width:0}.ent-row-name{color:var(--text-primary);font-size:14px;font-weight:600}.ent-row-meta{flex-wrap:wrap;align-items:center;gap:8px;margin-top:2px;display:flex}.ent-row-type{text-transform:uppercase;letter-spacing:.03em;color:var(--text-muted);background:var(--bg-secondary);border-radius:3px;padding:1px 6px;font-size:10px;font-weight:600}.ent-row-field{color:var(--text-muted);font-size:11px}.ent-row-field strong{color:var(--text-secondary);font-weight:600}.ent-row-del{opacity:0;flex-shrink:0;transition:opacity .12s}.ent-row:hover .ent-row-del{opacity:1}.ed-overlay{z-index:1000;background:#0006;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.ed-modal{background:var(--bg-primary);border-radius:14px;flex-direction:column;width:500px;max-width:100%;max-height:85vh;display:flex;overflow:hidden;box-shadow:0 16px 48px #00000040}.ed-header{color:#fff;flex-shrink:0;align-items:center;gap:14px;padding:20px 22px;display:flex;position:relative;overflow:hidden}.ed-header:after{content:"";pointer-events:none;background:linear-gradient(135deg,#ffffff14,#0000);position:absolute;inset:0}.ed-header-icon{z-index:1;filter:drop-shadow(0 2px 4px #0003);flex-shrink:0;font-size:32px;position:relative}.ed-header-info{z-index:1;flex:1;min-width:0;position:relative}.ed-header-name{text-overflow:ellipsis;white-space:nowrap;text-shadow:0 1px 2px #0000001a;font-size:20px;font-weight:700;overflow:hidden}.ed-header-type{opacity:.75;text-transform:uppercase;letter-spacing:.06em;margin-top:2px;font-size:11px}.ed-body{flex-direction:column;gap:18px;padding:20px 22px;display:flex;overflow-y:auto}.ed-section{flex-direction:column;gap:8px;display:flex}.ed-section-title{text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);border-bottom:1px solid var(--border-color);align-items:center;gap:6px;padding-bottom:4px;font-size:10px;font-weight:700;display:flex}.ed-description{color:var(--text-secondary);font-size:13px;line-height:1.6}.ed-fields{grid-template-columns:1fr 1fr;gap:8px;display:grid}.ed-field{background:var(--bg-card);border:1px solid var(--border-color);border-radius:8px;flex-direction:column;gap:3px;padding:10px 12px;display:flex}.ed-field-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.03em;font-size:10px;font-weight:600}.ed-field-value{color:var(--text-primary);word-break:break-word;font-size:14px;font-weight:600}.ed-ref-list{flex-direction:column;gap:3px;display:flex}.ed-ref-item{border:1px solid #0000;border-radius:6px;align-items:center;gap:8px;padding:7px 10px;font-size:12px;transition:background .1s;display:flex}.ed-ref-item:hover{background:var(--bg-hover);border-color:var(--border-color)}.ed-ref-dot{border-radius:50%;flex-shrink:0;width:7px;height:7px}.ed-ref-icon{flex-shrink:0;font-size:14px}.ed-ref-name{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:13px;font-weight:500;overflow:hidden}.ed-ref-rel-type{color:var(--text-muted);background:var(--bg-secondary);text-transform:uppercase;letter-spacing:.03em;border-radius:4px;padding:2px 6px;font-size:9px;font-weight:700}.ed-empty{text-align:center;color:var(--text-muted);padding:16px;font-size:12px}.ed-actions{border-top:1px solid var(--border-color);background:var(--bg-card);flex-shrink:0;align-items:center;gap:8px;padding:14px 22px;display:flex}.ed-actions .btn-danger{margin-right:auto}.ed-rel-form{flex-direction:column;gap:8px;padding:4px 0;display:flex}.ed-rel-type-row{flex-wrap:wrap;gap:5px;display:flex}.ed-rel-type-btn{border:1px solid var(--border-color);background:var(--bg-secondary);color:var(--text-secondary);cursor:pointer;font-size:11px;font-weight:500;font-family:var(--font-sans);border-radius:6px;padding:4px 10px;transition:all .15s}.ed-rel-type-btn:hover{border-color:var(--rel-color);color:var(--rel-color)}.ed-rel-type-btn.active{background:var(--rel-color);border-color:var(--rel-color);color:#fff}.ed-rel-form-actions{align-items:center;gap:8px;display:flex}.wmp-type{color:var(--text-muted);background:var(--bg-secondary);text-transform:uppercase;border-radius:3px;padding:1px 5px;font-size:9px;font-weight:600}@media (width<=768px){.app{gap:0;padding:0}.topbar{border-radius:0;gap:4px;height:48px;padding:0 6px;overflow:visible}.topbar-left{gap:1px}.topbar-right{gap:1px;overflow:visible}.tb-group-label,.tb-sep{display:none}.bm-hide{display:none!important}.sidebar-wrapper{z-index:200;border-radius:0;position:fixed;top:48px;bottom:0;left:0}.sidebar-wrapper.collapsed{display:none}.sidebar-wrapper:not(.collapsed){width:280px;box-shadow:4px 0 16px #00000026}.main-content{border-radius:0;margin:0}.note-header{padding:8px 12px}.note-title-input{font-size:16px}.editor{padding:8px 12px}.entities-header{padding:12px 16px}.entities-search-row{padding:8px 16px}.entities-type-tabs{padding:8px 16px;overflow-x:auto}.entities-grid{padding:12px}.ent-card{min-width:140px}.ed-fields{grid-template-columns:1fr}.ed-modal{width:95vw;max-height:90vh}.ed-header{padding:16px}.ed-body{padding:14px 16px}.ed-actions{padding:12px 16px}.entity-form{max-width:100%;max-height:95vh}.entity-form-body{padding:12px 16px}.modal-box{max-height:90vh;width:95vw!important}.editor-content-wrapper{padding:12px}.wm-header{flex-wrap:nowrap;padding:8px 10px}.wm-title{font-size:14px}.wm-tools{gap:2px;overflow-x:auto}.wm-tools .btn-sm{padding:4px 6px}.wm-mode-hint{display:none}.wm-popup{min-width:auto;max-width:none;bottom:10px;left:10px;right:10px;transform:none}.wm-legend-panel{width:180px;font-size:11px}.wm-map-select{max-width:120px}.tl-filters{padding:6px 10px}.tl-chip-row{gap:3px}.tl-chip{padding:2px 8px;font-size:10px}.tl-row{padding:5px 8px 5px 12px}.tl-row-title{font-size:12px}.tl-columns{flex-direction:column}.tl-left{border-right:none;border-bottom:1px solid var(--border-color);flex:1;min-height:0}.tl-right{flex:none;width:100%;max-width:100%;max-height:40vh}.tl-bar{padding:8px 10px}.tl-bar-title{font-size:15px}.tl-detail-body{padding:10px 12px}.gv-bar{padding:10px 14px}.gv-search{width:120px}.bv-bar{padding:10px 14px}.bv-search{width:120px}.ent-bar{padding:10px 14px}.ent-filters{padding:8px 14px}.ent-search{width:140px}.ent-row{padding:8px 10px}.sv-layout{border-radius:0}.sv-side{border-right:none;border-bottom:1px solid var(--border-color);flex-shrink:0;width:100%;padding:10px 0 0}.sv-side-title{display:none}.sv-nav{flex-direction:row;padding:0 6px;overflow-x:auto}.sv-nav-btn{white-space:nowrap;padding:7px 12px;font-size:12px}.sv-main-header{padding:14px 12px 0}.sv-main-header h2{font-size:17px}.sv-main-body{gap:20px;padding:12px 12px 20px}.settings-view{padding:16px}.book-header{padding:12px 16px}.book-nav{padding:8px 12px;overflow-x:auto}.goals-header{padding:12px 16px}.goals-entity-select{overflow-x:auto}.calendar-screen{border-radius:0;overflow:auto}.calendar-header{flex-wrap:wrap;gap:4px;margin-bottom:12px;padding:8px 12px}.calendar-title{min-width:auto;font-size:16px}.calendar-main{padding:12px}.calendar-weekdays{padding:0 4px}.calendar-grid{gap:1px;padding:2px 4px}.cal-day{min-height:44px;padding:4px 2px;font-size:12px}.cal-day-num{font-size:11px}.cal-evt{text-overflow:ellipsis;white-space:nowrap;max-width:100%;padding:1px 3px;font-size:9px;overflow:hidden}.calendar-sidebar{border-left:none;border-top:1px solid var(--border-color);width:100%;max-height:40vh;padding:12px}.calendar-today-btn{padding:4px 12px;font-size:12px}.calendar-day-header{padding:2px;font-size:9px}.calendar-dot-row{gap:1px;margin-top:2px}.calendar-dot{width:4px;height:4px}.calendar-cell{min-height:48px;padding:3px 2px}.calendar-cell.today .calendar-day-num{width:22px;height:22px;font-size:11px}.calendar-day-num{width:22px;height:22px;font-size:12px}.graph-screen,.calendar-screen{border-radius:0}.sf-bar{padding:6px 8px}.sf-title-input{font-size:14px}.sf-editor .tiptap{padding:16px}.sf-nav-pos{font-size:10px}.bk-detail-bar{flex-wrap:wrap;padding:8px 10px}.bk-title-input{font-size:14px}}.entity-overlay{z-index:1000;background:#0006;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.entity-form{background:var(--bg-primary);border-radius:12px;flex-direction:column;width:480px;max-width:100%;max-height:85vh;display:flex;box-shadow:0 12px 48px #0003}.entity-form-header{border-bottom:1px solid var(--border-color);color:var(--text-primary);flex-shrink:0;justify-content:space-between;align-items:center;padding:14px 18px;font-size:15px;font-weight:700;display:flex}.entity-form-body{flex-direction:column;gap:12px;padding:16px 18px;display:flex;overflow-y:auto}.ef-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;font-size:10px;font-weight:600}.ef-input,.ef-textarea,.ef-select{background:var(--bg-secondary);color:var(--text-primary);border:1px solid var(--border-color);font-size:13px;font-family:var(--font-sans);border-radius:6px;outline:none;padding:7px 10px}.ef-textarea{resize:vertical;min-height:60px}.ef-type-row{flex-wrap:wrap;gap:6px;display:flex}.ef-type-btn{border:1px solid var(--border-color);background:var(--bg-card);color:var(--text-secondary);cursor:pointer;font-size:12px;font-weight:500;font-family:var(--font-sans);border-radius:6px;align-items:center;gap:5px;padding:6px 12px;transition:all .15s;display:inline-flex}.ef-type-btn:hover{border-color:var(--ef-color);color:var(--ef-color)}.ef-type-btn.active{background:color-mix(in srgb, var(--ef-color) 12%, transparent);border-color:var(--ef-color);color:var(--ef-color)}.ef-fields{flex-direction:column;gap:8px;display:flex}.ef-field{flex-direction:column;gap:4px;display:flex}.ef-field-label{color:var(--text-muted);font-size:11px}.entity-form-actions{border-top:1px solid var(--border-color);flex-shrink:0;justify-content:flex-end;gap:8px;padding:12px 18px;display:flex}.entity-pick-row{cursor:pointer;border:1px solid #0000;border-radius:4px;align-items:center;gap:8px;padding:8px 12px;transition:all .1s;display:flex}.entity-pick-row:hover{background:var(--bg-hover)}.entity-pick-icon{flex-shrink:0;font-size:16px}.entity-pick-name{color:var(--text-primary);flex:1;font-size:13px;font-weight:500}.entity-pick-type{color:var(--text-muted);text-transform:uppercase;font-size:10px}.modal-empty{text-align:center;color:var(--text-muted);padding:20px;font-size:12px}.modal-sm{width:380px;max-width:95vw}.timeline-screen{flex:1;min-height:0;display:flex;overflow:hidden}.timeline-view{background:var(--bg-primary);border-radius:var(--radius-lg);width:100%;height:100%;font-family:var(--font-sans);flex-direction:column;display:flex;overflow:hidden}.tl-bar{border-bottom:1px solid var(--border-color);background:var(--bg-card);flex-shrink:0;justify-content:space-between;align-items:center;padding:10px 16px;display:flex}.tl-bar-left{align-items:center;gap:10px;display:flex}.tl-bar-title{color:var(--text-primary);margin:0;font-size:16px;font-weight:700}.tl-bar-right{align-items:center;gap:6px;display:flex}.tl-body{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.tl-columns{flex:1;min-height:0;display:flex;overflow:hidden}.tl-left{border-right:1px solid var(--border-color);flex-direction:column;flex:1;min-width:0;min-height:0;display:flex;overflow:hidden}.tl-right{background:var(--bg-card);flex-direction:column;flex-shrink:0;width:340px;max-width:40vw;display:flex;overflow-y:auto}.tl-filters{border-bottom:1px solid var(--border-color);flex-shrink:0;padding:8px 14px}.tl-filters-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.tl-scale-seg{border:1px solid var(--border-color);border-radius:6px;display:flex;overflow:hidden}.tl-seg-btn{border:none;border-right:1px solid var(--border-color);background:var(--bg-card);color:var(--text-muted);cursor:pointer;font-size:11px;font-weight:500;font-family:var(--font-sans);padding:3px 10px;transition:all .1s}.tl-seg-btn:last-child{border-right:none}.tl-seg-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.tl-seg-btn.active{background:var(--bg-secondary);color:var(--text-primary)}.tl-count-badge{color:var(--text-muted);margin-left:auto;font-size:11px}.tl-chip-row{flex-wrap:wrap;gap:4px;margin-top:6px;display:flex}.tl-chip{border:1px solid var(--border-color);background:var(--bg-card);color:var(--text-muted);cursor:pointer;font-size:11px;font-weight:500;font-family:var(--font-sans);border-radius:12px;padding:2px 10px;transition:all .1s}.tl-chip:hover{border-color:var(--text-secondary);color:var(--text-primary)}.tl-chip.active{border-color:var(--accent-color,#6c63ff);background:color-mix(in srgb, var(--accent-color,#6c63ff) 8%, transparent);color:var(--accent-color,#6c63ff)}.tl-chip-dot{border-radius:50%;flex-shrink:0;width:6px;height:6px;display:inline-block}.tl-scroll{flex:1;padding:6px 0;overflow-y:auto}.tl-group{padding:0 0 2px}.tl-group-bar{border-left:3px solid var(--border-color);border-radius:0 4px 4px 0;align-items:center;margin:4px 12px 2px;padding:5px 14px;display:flex}.tl-group-label{color:var(--text-primary);align-items:center;gap:8px;font-size:13px;font-weight:600;display:flex}.tl-group-era{text-transform:uppercase;letter-spacing:.04em;font-size:10px;font-weight:600}.tl-row{cursor:pointer;align-items:flex-start;gap:8px;padding:7px 14px 7px 18px;transition:background .1s;display:flex}.tl-row:hover{background:var(--bg-hover)}.tl-row.active{background:var(--bg-secondary)}.tl-row-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px;margin-top:5px}.tl-row-body{flex:1;min-width:0}.tl-row-title{color:var(--text-primary);align-items:center;gap:6px;font-size:13px;font-weight:600;display:flex}.tl-row-cat{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:14px;height:14px;font-size:8px;font-weight:700;display:inline-flex}.tl-row-stars{opacity:.3;flex-shrink:0;gap:1px;margin-left:auto;display:flex}.tl-row:hover .tl-row-stars{opacity:.6}.tl-row.active .tl-row-stars{opacity:.8}.tl-row-meta{color:var(--text-muted);flex-wrap:wrap;align-items:center;gap:6px;margin-top:2px;font-size:11px;display:flex}.tl-row-date{color:var(--text-secondary);font-weight:500}.tl-row-range{color:var(--text-muted)}.tl-row-line{font-weight:500}.tl-row-desc{color:var(--text-secondary);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-top:2px;font-size:11px;line-height:1.4;display:-webkit-box;overflow:hidden}.tl-row-actions{opacity:0;flex-direction:column;flex-shrink:0;gap:2px;transition:opacity .12s;display:flex}.tl-row:hover .tl-row-actions,.tl-row.active .tl-row-actions{opacity:1}.tl-detail{flex-direction:column;height:100%;display:flex}.tl-detail-header{border-bottom:1px solid var(--border-color);flex-shrink:0;justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.tl-detail-header h3{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:15px;font-weight:700;overflow:hidden}.tl-detail-body{flex-direction:column;gap:12px;padding:14px 16px;display:flex}.tl-detail-date{background:var(--bg-secondary);border-left:3px solid var(--text-secondary);border-radius:0 6px 6px 0;flex-wrap:wrap;gap:6px;padding:8px 12px;display:flex}.tl-detail-date-text{color:var(--text-primary);font-size:13px;font-weight:600}.tl-detail-era{text-transform:uppercase;font-size:10px;font-weight:600}.tl-detail-line{color:var(--text-muted);font-size:11px}.tl-detail-desc{color:var(--text-secondary);margin:0;font-size:13px;line-height:1.5}.tl-detail-meta{flex-wrap:wrap;gap:6px;display:flex}.tl-detail-tag{background:var(--bg-secondary);color:var(--text-secondary);border-radius:4px;padding:2px 8px;font-size:11px}.tl-detail-tag.link{cursor:pointer;color:var(--accent-color,#6c63ff)}.tl-detail-chain{flex-direction:column;gap:3px;display:flex}.tl-detail-label{text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);margin-bottom:2px;font-size:10px;font-weight:700}.tl-detail-chain-item{color:var(--accent-color,#6c63ff);cursor:pointer;background:color-mix(in srgb, var(--accent-color,#6c63ff) 8%, transparent);text-overflow:ellipsis;white-space:nowrap;border-radius:4px;padding:3px 8px;font-size:12px;transition:all .1s;overflow:hidden}.tl-detail-chain-item:hover{background:var(--accent-color,#6c63ff);color:#fff}.tl-detail-refs{flex-direction:column;gap:3px;display:flex}.tl-detail-tags{flex-wrap:wrap;gap:4px;display:flex}.tl-detail-ref{background:var(--bg-secondary);border:1px solid var(--border-color);color:var(--text-secondary);cursor:pointer;border-radius:4px;padding:2px 8px;font-size:11px;transition:all .1s}.tl-detail-ref:hover{border-color:var(--text-secondary)}.tl-detail-ref.loc{color:#22c55e}.tl-detail-ref.note{color:#3b82f6}.tl-detail-ref.map{color:#14b8a6}.tl-detail-actions{border-top:1px solid var(--border-color);gap:8px;padding-top:8px;display:flex}.tl-detail-empty{color:var(--text-muted);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:10px;padding:40px;font-size:13px;display:flex}.tl-empty-icon{opacity:.2;margin-bottom:4px}.tl-manager{border-bottom:1px solid var(--border-color);background:var(--bg-card-alt);flex-shrink:0;padding:8px 14px}.tl-manager-form{border-bottom:1px solid var(--border-color);gap:6px;margin-bottom:4px;padding-bottom:6px;display:flex}.tl-manager-list-h{flex-wrap:wrap;gap:4px;display:flex}.tl-pill{border:1px solid var(--border-color);color:var(--text-muted);cursor:pointer;border-radius:12px;align-items:center;gap:4px;padding:3px 10px;font-size:11px;transition:all .1s;display:inline-flex}.tl-pill:hover{border-color:var(--text-secondary);color:var(--text-primary)}.tl-pill.active{border-color:var(--text-secondary);background:var(--bg-secondary);color:var(--text-primary)}.tl-pill-count{color:var(--text-muted);background:var(--bg-secondary);border-radius:8px;padding:0 5px;font-size:10px}.tl-manager-modal{background:var(--bg-primary);border-radius:12px;width:380px;max-width:90vw;max-height:70vh;overflow-y:auto;box-shadow:0 12px 48px #0003}.tl-modal{background:var(--bg-primary);border-radius:12px;flex-direction:column;width:420px;max-width:90vw;max-height:75vh;display:flex;overflow:hidden;box-shadow:0 12px 48px #0003}.tl-manager-panel{flex-direction:column;display:flex;overflow:hidden}.tl-manager-header{border-bottom:1px solid var(--border-color);color:var(--text-primary);flex-shrink:0;justify-content:space-between;align-items:center;padding:12px 16px;font-size:14px;font-weight:700;display:flex}.tl-manager-body{flex:1;padding:12px 16px;overflow-y:auto}.tl-manager-form{border-bottom:1px solid var(--border-color);flex-direction:column;gap:6px;margin-bottom:8px;padding-bottom:10px;display:flex}.tl-manager-list{flex-direction:column;gap:4px;display:flex}.tl-manager-item{border-radius:4px;align-items:center;gap:8px;padding:5px 8px;font-size:12px;transition:background .1s;display:flex}.tl-manager-item:hover{background:var(--bg-hover)}.tl-manager-item-color{border-radius:50%;flex-shrink:0;width:10px;height:10px}.tl-manager-item-name{color:var(--text-primary);flex:1}.tl-manager-item-years{color:var(--text-muted);font-size:11px}.tl-selector{flex-shrink:0;position:relative}.tl-select{border:1px solid var(--border-color);background:var(--bg-secondary);color:var(--text-primary);cursor:pointer;font-size:12px;font-weight:600;font-family:var(--font-sans);appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M0 0l5 6 5-6z' fill='%23888'/%3E%3C/svg%3E");background-position:right 6px center;background-repeat:no-repeat;border-radius:6px;outline:none;padding:3px 22px 3px 8px}.timeline-empty{color:var(--text-muted);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:10px;padding:40px;font-size:13px;display:flex}@media (width<=768px){.tl-columns{flex-direction:column}.tl-left{border-right:none;border-bottom:1px solid var(--border-color);flex:1;min-height:0}.tl-right{flex:none;width:100%;max-width:100%;max-height:40vh}.tl-bar{padding:8px 10px}.tl-bar-title{font-size:15px}.tl-filters{padding:6px 10px}.tl-row{padding:5px 10px 5px 14px}.tl-detail-body{padding:10px 12px}}.btn-lg{padding:6px 16px;font-size:13px;font-weight:600}.tef-body{flex-direction:column;gap:10px;max-height:60vh;padding:12px 16px;display:flex;overflow-y:auto}.tef-section{flex-direction:column;gap:4px;display:flex}.tef-section-title{color:var(--text-secondary);align-items:center;gap:6px;font-size:11px;font-weight:600;display:flex}.tef-optional{color:var(--text-muted);font-size:10px;font-weight:400}.tef-date-row{gap:6px;display:flex}.tef-precision-row{flex-wrap:wrap;gap:4px;display:flex}.tef-precision-btn{border:1px solid var(--border-color);background:var(--bg-card);color:var(--text-muted);cursor:pointer;font-size:11px;font-family:var(--font-sans);border-radius:6px;padding:3px 10px;transition:all .12s}.tef-precision-btn:hover{border-color:var(--text-secondary);color:var(--text-primary)}.tef-precision-btn.active{background:var(--bg-secondary);color:var(--text-primary);border-color:var(--text-secondary)}.tef-category-row{flex-wrap:wrap;gap:4px;display:flex}.tef-cat-btn{border:1px solid var(--border-color);background:var(--bg-card);color:var(--text-muted);cursor:pointer;font-size:11px;font-family:var(--font-sans);border-radius:6px;align-items:center;gap:4px;padding:3px 10px;transition:all .12s;display:inline-flex}.tef-cat-btn:hover{border-color:var(--text-secondary);color:var(--text-primary)}.tef-cat-btn.active{background:var(--bg-secondary);color:var(--text-primary);border-color:var(--text-secondary)}.tef-entity-row{flex-wrap:wrap;align-items:center;gap:6px;min-height:28px;display:flex}.tef-none{color:var(--text-muted);font-size:12px;font-style:italic}.tef-entity-tag{background:var(--bg-secondary);border:1px solid var(--border-color);color:var(--text-secondary);border-radius:6px;align-items:center;gap:4px;padding:2px 8px;font-size:12px;display:inline-flex}.tef-entity-remove{color:var(--text-muted);cursor:pointer;background:0 0;border:none;padding:0 2px;font-size:14px;line-height:1}.tef-entity-remove:hover{color:#ef4444}.tef-pick-btn{border:1px dashed var(--border-color);color:var(--text-muted);cursor:pointer;font-size:11px;font-family:var(--font-sans);background:0 0;border-radius:6px;padding:3px 10px;transition:all .12s}.tef-pick-btn:hover{border-color:var(--text-secondary);color:var(--text-primary)}.tef-cause-row{flex-wrap:wrap;align-items:center;gap:6px;min-height:28px;display:flex}.tl-stars-row{gap:3px;display:flex}.tl-star-btn{cursor:pointer;color:var(--text-muted);background:0 0;border:none;padding:1px;transition:transform .12s}.tl-star-btn:hover{transform:scale(1.2)}.tl-star-btn.active{color:#f59e0b}.tl-input{border:1px solid var(--border-color);background:var(--bg-secondary);color:var(--text-primary);font-size:13px;font-family:var(--font-sans);border-radius:6px;outline:none;flex:1;padding:7px 10px}.tl-input:focus{border-color:var(--text-secondary)}.tl-textarea{resize:vertical;min-height:40px}.tl-color-row{flex-wrap:wrap;flex-shrink:0;align-items:center;gap:4px;display:flex}.tl-color-btn{cursor:pointer;border:2px solid #0000;border-radius:50%;width:20px;height:20px;padding:0;transition:transform .12s}.tl-color-btn:hover{transform:scale(1.2)}.tl-color-btn.active{border-color:var(--text-primary);transform:scale(1.2)}.tl-add-btn{background:var(--accent-color,#6c63ff);color:#fff;cursor:pointer;font-size:13px;font-weight:500;font-family:var(--font-sans);border:none;border-radius:6px;align-items:center;gap:6px;padding:6px 16px;transition:background .15s;display:inline-flex}.tl-add-btn:hover{background:var(--accent-hover,#5a52d5)}.tl-add-btn:disabled{opacity:.5;cursor:default}.worldmap{background:var(--bg-primary);border-radius:var(--radius-lg);width:100%;height:100%;font-family:var(--font-sans);flex-direction:column;display:flex;overflow:hidden}.wm-header{border-bottom:1px solid var(--border-color);background:var(--bg-card);flex-wrap:wrap;flex-shrink:0;align-items:center;gap:12px;padding:10px 16px;display:flex}.wm-title-row{align-items:center;gap:10px;display:flex}.wm-title{color:var(--text-primary);margin:0;font-size:16px;font-weight:700}.wm-map-selector{align-items:center;gap:4px;display:flex}.wm-map-select{border:1px solid var(--border-color);background:var(--bg-secondary);color:var(--text-primary);cursor:pointer;font-size:12px;font-weight:600;font-family:var(--font-sans);appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M0 0l5 6 5-6z' fill='%23888'/%3E%3C/svg%3E");background-position:right 8px center;background-repeat:no-repeat;border-radius:6px;outline:none;padding:4px 24px 4px 8px}.wm-tools{flex-shrink:0;align-items:center;gap:4px;margin-left:auto;display:flex}.wm-sep{background:var(--border-color);flex-shrink:0;width:1px;height:20px;margin:0 4px}.wm-mode-hint{color:var(--text-muted);margin-left:8px;font-size:10px}.wm-canvas{background:var(--bg-app);cursor:grab;flex:1;min-height:0;position:relative;overflow:hidden}.wm-canvas svg{display:block}.wm-empty-state{color:var(--text-muted);flex-direction:column;justify-content:center;align-items:center;gap:12px;font-size:14px;display:flex;position:absolute;inset:0}.wm-popup{z-index:50;background:var(--bg-card);border:1px solid var(--border-color);border-radius:10px;min-width:240px;max-width:320px;position:absolute;bottom:20px;left:50%;transform:translate(-50%);box-shadow:0 -2px 20px #00000026}.wm-popup-body{align-items:flex-start;gap:10px;padding:14px;display:flex}.wm-popup-icon{color:var(--text-secondary);flex-shrink:0;margin-top:2px;font-size:20px}.wm-popup-info{flex:1;min-width:0}.wm-popup-name{color:var(--text-primary);margin-bottom:6px;font-size:14px;font-weight:600}.wm-popup-actions{gap:4px;display:flex}.wm-popup-name-input,.wm-popup-desc-input{background:var(--bg-secondary);border:1px solid var(--border-color);width:100%;color:var(--text-primary);font-size:13px;font-family:var(--font-sans);border-radius:6px;outline:none;margin-bottom:6px;padding:7px 10px;transition:border-color .15s}.wm-popup-name-input:focus,.wm-popup-desc-input:focus{border-color:var(--text-secondary)}.wm-overlay{z-index:1100;background:#0006;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.wm-form{background:var(--bg-primary);border-radius:12px;flex-direction:column;width:400px;max-width:100%;max-height:80vh;display:flex;box-shadow:0 12px 48px #0003}.wm-form-header{border-bottom:1px solid var(--border-color);color:var(--text-primary);flex-shrink:0;justify-content:space-between;align-items:center;padding:12px 16px;font-size:14px;font-weight:700;display:flex}.wm-form-body{flex-direction:column;gap:8px;padding:14px 16px;display:flex;overflow-y:auto}.wm-form-actions{border-top:1px solid var(--border-color);flex-shrink:0;justify-content:flex-end;gap:8px;padding:10px 16px;display:flex}.wmf-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;font-size:10px;font-weight:600}.wmf-input,.wmf-textarea,.wmf-select{background:var(--bg-secondary);color:var(--text-primary);border:1px solid var(--border-color);font-size:13px;font-family:var(--font-sans);border-radius:6px;outline:none;padding:7px 10px}.wmf-textarea{resize:vertical;min-height:50px}.wmf-colors{flex-wrap:wrap;gap:4px;display:flex}.wmf-color-btn{cursor:pointer;border:2px solid #0000;border-radius:50%;width:20px;height:20px;padding:0;transition:transform .12s}.wmf-color-btn:hover{transform:scale(1.2)}.wmf-color-btn.active{border-color:var(--text-primary)}.wm-legend-panel{z-index:50;background:var(--bg-card);border:1px solid var(--border-color);border-radius:10px;flex-direction:column;width:220px;max-height:calc(100% - 16px);display:flex;position:absolute;top:8px;left:8px;overflow:hidden;box-shadow:0 4px 16px #0000001f}.wm-legend-header{border-bottom:1px solid var(--border-color);color:var(--text-primary);flex-shrink:0;justify-content:space-between;align-items:center;padding:10px 12px;font-size:12px;font-weight:700;display:flex}.wm-legend-body{flex-direction:column;flex:1;gap:3px;padding:6px;display:flex;overflow-y:auto}.wm-legend-empty{text-align:center;color:var(--text-muted);padding:12px;font-size:11px}.wm-legend-item{cursor:grab;border-radius:6px;align-items:center;gap:6px;padding:5px 8px;transition:background .1s;display:flex}.wm-legend-item:hover{background:var(--bg-hover)}.wm-legend-item-icon{color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;font-size:12px;display:flex}.wm-legend-item-info{flex-direction:column;flex:1;min-width:0;display:flex}.wm-legend-item-label{color:var(--text-primary);font-size:11px;font-weight:600}.wm-legend-item-desc{color:var(--text-muted);font-size:9px}.wm-legend-form{border-top:1px solid var(--border-color);flex-direction:column;flex-shrink:0;gap:6px;padding:6px 8px 8px;display:flex}.wm-legend-form-row{gap:4px;display:flex}.wm-legend-input{flex:1}.wm-legend-icon-input{text-align:center;flex:none;width:40px}.wm-legend-add-btn{border:1px solid var(--border-color);background:var(--bg-secondary);color:var(--text-primary);cursor:pointer;font-size:12px;font-weight:500;font-family:var(--font-sans);border-radius:6px;padding:5px}.wm-picker{width:380px}.wm-picker-empty{text-align:center;color:var(--text-muted);padding:20px;font-size:12px}.wm-picker-list{flex-direction:column;gap:1px;max-height:240px;padding:4px 8px;display:flex;overflow-y:auto}.wm-picker-item{cursor:pointer;border-radius:4px;align-items:center;gap:6px;padding:6px 8px;font-size:12px;transition:background .1s;display:flex}.wm-picker-item:hover{background:var(--bg-hover)}.wm-picker-item.active{background:var(--bg-secondary)}.wm-picker-item input{cursor:pointer;width:14px;height:14px}.wmp-icon{flex-shrink:0;font-size:14px}.wmp-name{color:var(--text-primary);flex:1;font-weight:500}.wmp-type{color:var(--text-muted);text-transform:uppercase;font-size:10px}.wm-mgr-form{width:420px}.wm-layers{z-index:50;background:var(--bg-card);border:1px solid var(--border-color);border-radius:8px;flex-direction:column;gap:4px;min-width:130px;padding:8px 12px;display:flex;position:absolute;top:8px;right:8px;box-shadow:0 2px 12px #0000001a}.wm-layers-head{color:var(--text-primary);justify-content:space-between;align-items:center;margin-bottom:2px;font-size:11px;font-weight:700;display:flex}.wm-layer-row{color:var(--text-secondary);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:6px;font-size:12px;display:flex}.wm-layer-row input{cursor:pointer;width:14px;height:14px;accent-color:var(--text-primary)}.tm-overlay{z-index:1100;background:#0006;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.tm-panel{background:var(--bg-primary);border-radius:12px;flex-direction:column;width:500px;max-width:100%;max-height:80vh;display:flex;box-shadow:0 12px 48px #0003}.tm-header{border-bottom:1px solid var(--border-color);color:var(--text-primary);flex-shrink:0;justify-content:space-between;align-items:center;padding:14px 18px;font-size:15px;font-weight:700;display:flex}.tm-body{flex-direction:column;gap:14px;padding:16px 18px;display:flex;overflow-y:auto}.tm-form{border-bottom:1px solid var(--border-color);flex-direction:column;gap:8px;padding-bottom:12px;display:flex}.tmf-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;font-size:10px;font-weight:600}.tmf-input,.tmf-select{background:var(--bg-secondary);color:var(--text-primary);border:1px solid var(--border-color);font-size:12px;font-family:var(--font-sans);border-radius:6px;outline:none;padding:6px 10px}.tmf-input:focus{border-color:var(--text-secondary)}.tmf-row{gap:8px;display:flex}.tmf-half{flex-direction:column;flex:1;gap:4px;display:flex}.tmf-colors{flex-wrap:wrap;gap:4px;display:flex}.tmf-color-btn{cursor:pointer;border:2px solid #0000;border-radius:50%;width:20px;height:20px;padding:0;transition:transform .12s,border-color .12s}.tmf-color-btn:hover{transform:scale(1.15)}.tmf-color-btn.active{border-color:var(--text-primary)}.tmf-field-row{align-items:center;gap:4px;display:flex}.tmf-field-input{flex:1}.tmf-field-type{width:90px;font-size:11px}.tmf-add-field{border:1px dashed var(--border-color);color:var(--text-muted);cursor:pointer;font-size:12px;font-family:var(--font-sans);text-align:center;background:0 0;border-radius:6px;padding:5px}.tmf-add-field:hover{color:var(--text-primary);border-color:var(--text-secondary)}.tm-form-actions{justify-content:flex-end;gap:6px;margin-top:4px;display:flex}.tm-list{flex-direction:column;gap:4px;display:flex}.tm-empty{color:var(--text-muted);text-align:center;padding:16px;font-size:12px}.tm-item{border-radius:6px;align-items:center;gap:8px;padding:6px 10px;transition:background .1s;display:flex}.tm-item:hover{background:var(--bg-hover)}.tm-item-icon{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;font-size:14px;display:flex}.tm-item-info{flex:1;min-width:0}.tm-item-name{color:var(--text-primary);font-size:13px;font-weight:600;display:block}.tm-item-meta{color:var(--text-muted);font-size:11px}.goals-view{background:var(--bg-primary);border-radius:var(--radius-lg);width:100%;height:100%;font-family:var(--font-sans);flex-direction:column;display:flex;overflow:hidden}.gv-bar{border-bottom:1px solid var(--border-color);flex-wrap:wrap;flex-shrink:0;justify-content:space-between;align-items:center;gap:12px;padding:14px 20px;display:flex}.gv-bar-left{flex-wrap:wrap;align-items:center;gap:16px;display:flex}.gv-bar-right{align-items:center;gap:8px;display:flex}.gv-title{color:var(--text-primary);margin:0;font-size:18px;font-weight:700}.gv-stats{gap:4px;display:flex}.gv-stat-chip{border:1px solid var(--border-color);color:var(--text-muted);cursor:pointer;font-size:11px;font-weight:500;font-family:var(--font-sans);background:0 0;border-radius:12px;align-items:center;gap:4px;padding:2px 10px;transition:all .12s;display:inline-flex}.gv-stat-chip:hover{border-color:var(--text-secondary);color:var(--text-secondary)}.gv-stat-chip.active{border-color:var(--sc);background:color-mix(in srgb, var(--sc) 10%, transparent);color:var(--sc)}.gv-stat-chip span{margin-left:2px;font-weight:700}.gv-search{background:var(--bg-secondary);color:var(--text-primary);border:1px solid var(--border-color);border-radius:6px;outline:none;width:140px;padding:5px 10px;font-size:12px}.gv-search:focus{border-color:var(--text-secondary)}.gv-filter{background:var(--bg-secondary);color:var(--text-primary);border:1px solid var(--border-color);cursor:pointer;border-radius:6px;outline:none;padding:5px 8px;font-size:12px}.gv-list{flex-direction:column;flex:1;gap:4px;padding:8px 20px 20px;display:flex;overflow-y:auto}.gv-empty{color:var(--text-muted);text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:10px;padding:60px 20px;font-size:13px;display:flex}.gv-row{background:var(--bg-card);border:1px solid var(--border-color);cursor:pointer;border-radius:6px;align-items:stretch;transition:border-color .12s;display:flex;overflow:hidden}.gv-row:hover{border-color:var(--text-muted)}.gv-row-bar{flex-shrink:0;width:3px}.gv-row-body{flex-direction:column;flex:1;gap:6px;min-width:0;padding:10px 14px;display:flex}.gv-row-head{align-items:center;gap:8px;display:flex}.gv-row-title{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:14px;font-weight:600;overflow:hidden}.gv-row-badges{flex-shrink:0;align-items:center;gap:4px;display:flex}.gv-chip{text-transform:uppercase;letter-spacing:.03em;border-radius:8px;padding:1px 7px;font-size:10px;font-weight:600}.gv-chip-stat{cursor:pointer}.gv-prio-dot{border-radius:50%;flex-shrink:0;width:7px;height:7px}.gv-row-actions{opacity:0;flex-shrink:0;transition:opacity .12s;display:flex}.gv-row:hover .gv-row-actions{opacity:1}.gv-row-meta{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.gv-meta-char{color:var(--text-muted);font-size:11px;font-weight:500}.gv-meta-dl{color:var(--text-muted);font-size:11px}.gv-meta-steps{background:var(--bg-secondary);border-radius:10px;align-items:center;gap:5px;min-width:50px;padding:1px 4px 1px 0;display:flex}.gv-meta-steps-bar{background:#22c55e;border-radius:2px;height:4px;transition:width .3s}.gv-meta-steps-txt{color:var(--text-muted);white-space:nowrap;font-size:10px;font-weight:600}.gv-meta-link{color:var(--text-muted);font-size:11px}.gv-overlay{z-index:1000;background:#0006;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.gv-modal{background:var(--bg-primary);border-radius:12px;flex-direction:column;width:520px;max-width:100%;max-height:85vh;display:flex;box-shadow:0 12px 48px #0003}.gv-modal-head{border-bottom:1px solid var(--border-color);color:var(--text-primary);flex-shrink:0;justify-content:space-between;align-items:center;padding:14px 18px;font-size:15px;font-weight:700;display:flex}.gv-modal-body{flex-direction:column;gap:12px;padding:16px 18px;display:flex;overflow-y:auto}.gv-modal-foot{border-top:1px solid var(--border-color);flex-shrink:0;justify-content:flex-end;gap:8px;padding:12px 18px;display:flex}.gvf-row{gap:10px;display:flex}.gvf-row.cols-2>*,.gvf-row.cols-3>*{flex:1}.gvf-field{flex-direction:column;gap:4px;display:flex}.gvf-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;font-size:10px;font-weight:600}.gvf-input,.gvf-textarea,.gvf-select{background:var(--bg-secondary);color:var(--text-primary);border:1px solid var(--border-color);font-size:13px;font-family:var(--font-sans);border-radius:6px;outline:none;padding:7px 10px;transition:border-color .15s}.gvf-input:focus,.gvf-textarea:focus,.gvf-select:focus{border-color:var(--text-secondary)}.gvf-textarea{resize:vertical;min-height:60px}.gvf-empty{color:var(--text-muted);padding:12px;font-size:12px}.gvf-subgoals{flex-direction:column;gap:5px;display:flex}.gvf-sg-row{align-items:center;gap:6px;display:flex}.gvf-sg-row input[type=checkbox]{cursor:pointer;flex-shrink:0;width:14px;height:14px}.gvf-sg-input{flex:1}.gvf-add-sg{color:var(--text-muted);border:1px dashed var(--border-color);cursor:pointer;font-size:12px;font-family:var(--font-sans);background:0 0;border-radius:6px;align-items:center;gap:4px;padding:5px 10px;transition:all .15s;display:inline-flex}.gvf-add-sg:hover{color:var(--text-primary);border-color:var(--text-secondary)}.gvf-scenes{border:1px solid var(--border-color);border-radius:6px;flex-direction:column;gap:1px;max-height:150px;padding:4px;display:flex;overflow-y:auto}.gvf-scene-row{cursor:pointer;border-radius:4px;align-items:center;gap:6px;padding:5px 6px;font-size:12px;transition:background .1s;display:flex}.gvf-scene-row:hover{background:var(--bg-secondary)}.gvf-scene-row input[type=checkbox]{cursor:pointer;flex-shrink:0;width:14px;height:14px}.gvf-scene-row span:first-of-type{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;flex:1;font-weight:500;overflow:hidden}.gvf-scene-path{color:var(--text-muted);white-space:nowrap;margin-left:auto;font-size:10px}.gvf-empty-hint{color:var(--text-muted);padding:8px;font-size:12px;font-style:italic}.stats-view{background:var(--bg-app);border-radius:var(--radius-lg);width:100%;height:100%;font-family:var(--font-sans);flex-direction:column;display:flex;overflow:hidden}.sv-header{border-bottom:1px solid var(--border-color);flex-shrink:0;align-items:center;padding:16px 24px;display:flex}.sv-title{color:var(--text-primary);align-items:center;gap:8px;margin:0;font-size:20px;font-weight:700;display:flex}.sv-content{flex-direction:column;flex:1;gap:28px;padding:24px;display:flex;overflow-y:auto}.sv-section{flex-direction:column;gap:12px;display:flex}.sv-section-title{color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;margin:0;font-size:13px;font-weight:700}.sv-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px;display:grid}.sv-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:10px;align-items:center;gap:12px;padding:14px 16px;transition:box-shadow .15s,border-color .15s;display:flex}.sv-card:hover{border-color:var(--text-muted);box-shadow:0 2px 10px #0000000f}.sv-card-icon{flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:22px;display:flex}.sv-card-body{flex:1;min-width:0}.sv-card-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;font-size:11px;font-weight:600}.sv-card-value{color:var(--text-primary);font-size:26px;font-weight:800;line-height:1.2}.sv-card-sub{color:var(--text-muted);margin-top:4px;font-size:11px;line-height:1.3}.sv-layout{background:var(--bg-primary);border-radius:var(--radius-lg);width:100%;height:100%;font-family:var(--font-sans);display:flex;overflow:hidden}.sv-side{border-right:1px solid var(--border-color);background:var(--bg-card);flex-direction:column;flex-shrink:0;width:220px;padding:24px 0;display:flex}.sv-side-title{color:var(--text-primary);padding:0 20px 20px;font-size:18px;font-weight:700}.sv-nav{flex-direction:column;gap:0;display:flex}.sv-nav-btn{color:var(--text-secondary);cursor:pointer;text-align:left;font-size:14px;font-weight:500;font-family:var(--font-sans);background:0 0;border:none;align-items:center;gap:10px;width:100%;padding:10px 20px;transition:background .1s;display:flex}.sv-nav-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.sv-nav-btn.active{background:var(--bg-secondary);color:var(--text-primary)}.sv-nav-icon{opacity:.5;flex-shrink:0;display:flex}.sv-nav-btn:hover .sv-nav-icon{opacity:.8}.sv-nav-btn.active .sv-nav-icon{opacity:1}.sv-nav-arrow{opacity:.3;flex-shrink:0;margin-left:auto}.sv-nav-btn:hover .sv-nav-arrow{opacity:.6}.sv-main{background:var(--bg-primary);flex-direction:column;flex:1;min-width:0;display:flex;overflow:hidden}.sv-main-header{flex-shrink:0;align-items:center;gap:10px;padding:24px 32px 0;display:flex}.sv-main-header h2{color:var(--text-primary);margin:0;font-size:20px;font-weight:700}.sv-back-btn{width:32px;height:32px;color:var(--text-primary);cursor:pointer;background:0 0;border:none;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;display:none}.sv-back-btn:hover{background:var(--bg-hover)}.sv-main-body{flex-direction:column;flex:1;gap:24px;padding:24px 32px 32px;display:flex;overflow-y:auto}.sv-group{flex-direction:column;gap:8px;display:flex}.sv-group-label{color:var(--text-secondary);font-size:13px;font-weight:500}.sv-group-label strong{color:var(--text-primary);font-weight:700}.sv-font-grid{grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:8px;display:grid}.sv-font-card{background:var(--bg-card);border:1px solid var(--border-color);cursor:pointer;border-radius:8px;flex-direction:column;align-items:center;gap:4px;padding:12px 10px;transition:border-color .15s;display:flex}.sv-font-card:hover{border-color:var(--text-secondary)}.sv-font-card.active{border-color:var(--text-primary);background:var(--bg-secondary)}.sv-font-name{color:var(--text-muted);font-size:11px}.sv-font-preview{color:var(--text-primary);font-size:22px}.sv-slider{appearance:none;background:var(--border-color);border-radius:2px;outline:none;width:100%;max-width:240px;height:4px}.sv-slider::-webkit-slider-thumb{appearance:none;background:var(--text-primary);cursor:pointer;border:none;border-radius:50%;width:14px;height:14px}.sv-theme-toggle{border:1px solid var(--border-color);border-radius:8px;display:inline-flex;overflow:hidden}.sv-theme-btn{color:var(--text-muted);cursor:pointer;font-size:13px;font-family:var(--font-sans);background:0 0;border:none;align-items:center;gap:6px;padding:8px 16px;transition:background .15s,color .15s;display:flex}.sv-theme-btn:not(.active):hover{background:var(--bg-hover)}.sv-theme-btn.active{background:var(--bg-secondary);color:var(--text-primary)}.sv-toggle{cursor:pointer;flex-shrink:0;width:40px;height:22px;display:inline-block;position:relative}.sv-toggle input{display:none}.sv-toggle-slider{background:var(--border-color);border-radius:11px;transition:background .2s;position:absolute;inset:0}.sv-toggle-slider:before{content:"";background:var(--bg-primary);border-radius:50%;width:18px;height:18px;transition:transform .2s;position:absolute;top:2px;left:2px}.sv-toggle input:checked+.sv-toggle-slider{background:var(--text-secondary)}.sv-toggle input:checked+.sv-toggle-slider:before{transform:translate(18px)}.sv-distraction-row{justify-content:space-between;align-items:center;display:flex}.sv-select{background:var(--bg-secondary);border:1px solid var(--border-color);color:var(--text-primary);cursor:pointer;font-size:13px;font-family:var(--font-sans);appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M0 0l5 6 5-6z' fill='%23666'/%3E%3C/svg%3E");background-position:right 10px center;background-repeat:no-repeat;border-radius:6px;outline:none;max-width:220px;padding:6px 28px 6px 10px}.sv-excluded-list{flex-wrap:wrap;gap:6px;display:flex}.sv-excluded-tag{background:var(--bg-secondary);border:1px solid var(--border-color);color:var(--text-secondary);border-radius:4px;align-items:center;gap:4px;padding:3px 8px;font-size:11px;display:inline-flex}.sv-excluded-tag button{color:var(--text-muted);cursor:pointer;background:0 0;border:none;padding:0;font-size:13px;line-height:1}.sv-excluded-tag button:hover{color:#ef4444}.sv-lang-row{border:1px solid var(--border-color);border-radius:8px;display:inline-flex;overflow:hidden}.sv-lang-btn{color:var(--text-muted);cursor:pointer;font-size:13px;font-family:var(--font-sans);background:0 0;border:none;align-items:center;gap:6px;padding:8px 16px;transition:background .15s,color .15s;display:flex}.sv-lang-btn:not(.active):hover{background:var(--bg-hover)}.sv-lang-btn.active{background:var(--bg-secondary);color:var(--text-primary)}@media (width<=768px){.sv-layout{border-radius:0}.sv-side{border-right:none;width:100%}.sv-side.hide-mobile,.sv-main{display:none}.sv-main.show-mobile{display:flex}.sv-back-btn{display:inline-flex}.sv-main-header{padding:16px 14px 0}.sv-main-body{gap:20px;padding:16px 14px 24px}}.acct-bar-track{max-width:400px}.ef-autosave{color:var(--text-muted);align-items:center;gap:6px;padding:0 8px;font-size:11px;display:flex}.ef-autosave svg{color:#22c55e;flex-shrink:0}.ef-excluded{color:#ef4444;font-weight:600}.vp-save-row .btn-primary{color:#fff;cursor:pointer;background:#6c63ff;border:none;border-radius:6px;padding:6px 12px;font-size:13px;font-weight:600;transition:background .15s}.vp-save-row .btn-primary:hover:not(:disabled){background:#5a52d5}.vp-save-row .btn-primary:disabled{opacity:.4;cursor:default}.bv-view{background:var(--bg-primary);border-radius:var(--radius-lg);width:100%;height:100%;font-family:var(--font-sans);flex-direction:column;display:flex;overflow:hidden}.bv-bar{border-bottom:1px solid var(--border-color);flex-wrap:wrap;flex-shrink:0;justify-content:space-between;align-items:center;gap:12px;padding:14px 20px;display:flex}.bv-title{color:var(--text-primary);margin:0;font-size:18px;font-weight:700}.bv-filters{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.bv-tabs{border:1px solid var(--border-color);border-radius:6px;display:flex;overflow:hidden}.bv-tab{border:none;border-right:1px solid var(--border-color);color:var(--text-muted);cursor:pointer;font-size:12px;font-weight:500;font-family:var(--font-sans);background:0 0;gap:4px;padding:4px 12px;transition:all .1s;display:inline-flex}.bv-tab:last-child{border-right:none}.bv-tab:hover{background:var(--bg-hover);color:var(--text-primary)}.bv-tab.active{background:var(--bg-secondary);color:var(--text-primary)}.bv-tab span{color:var(--text-muted);font-weight:600}.bv-tab.active span{color:var(--text-secondary)}.bv-search{background:var(--bg-secondary);color:var(--text-primary);border:1px solid var(--border-color);border-radius:6px;outline:none;width:140px;padding:5px 10px;font-size:12px}.bv-search:focus{border-color:var(--text-secondary)}.bv-list{flex-direction:column;flex:1;gap:4px;padding:8px 20px 20px;display:flex;overflow-y:auto}.bv-empty{color:var(--text-muted);text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:10px;padding:60px 20px;font-size:13px;display:flex}.bv-row{background:var(--bg-card);border:1px solid var(--border-color);cursor:pointer;border-radius:6px;align-items:center;gap:10px;padding:10px 14px;transition:border-color .12s;display:flex}.bv-row:hover{border-color:var(--text-muted)}.bv-row-icon{background:var(--bg-secondary);width:28px;height:28px;color:var(--text-secondary);border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.bv-row-body{flex:1;min-width:0}.bv-row-title{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:600;overflow:hidden}.bv-row-meta{flex-wrap:wrap;align-items:center;gap:6px;margin-top:2px;display:flex}.bv-row-type{text-transform:uppercase;letter-spacing:.03em;color:var(--text-muted);background:var(--bg-secondary);border-radius:3px;padding:1px 5px;font-size:10px;font-weight:600}.bv-row-label{color:var(--text-muted);font-size:11px;font-style:italic}.bv-row-ctx{color:var(--text-muted);font-size:11px}.bv-row-del{opacity:0;flex-shrink:0;transition:opacity .12s}.bv-row:hover .bv-row-del{opacity:1}.editor-footer{border-top:1px solid var(--border-color);flex-shrink:0;align-items:center;gap:2px;padding:4px 12px;display:flex}.ef-spacer{flex:1}.editor-footer .btn-icon.btn-sm{width:28px;height:28px;color:var(--text-muted);border-radius:6px}.editor-footer .btn-icon.btn-sm:hover{color:var(--text-primary);background:var(--bg-secondary)}.editor-footer .btn-icon.btn-sm.active{color:#6c63ff;background:#6c63ff1f}.modal-overlay{z-index:1000;background:#0006;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-box{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:12px;flex-direction:column;max-width:92vw;max-height:80vh;display:flex;box-shadow:0 12px 48px #0003}.modal-sm{width:420px}.modal-header{border-bottom:1px solid var(--border-color);color:var(--text-primary);flex-shrink:0;align-items:center;gap:8px;padding:12px 14px;font-size:14px;font-weight:600;display:flex}.modal-header svg:first-child{color:var(--text-muted)}.modal-header .btn-icon{margin-left:auto}.modal-body{flex-direction:column;gap:6px;padding:12px 14px;display:flex;overflow-y:auto}.modal-empty{color:var(--text-muted);text-align:center;padding:16px 0;font-size:13px;font-style:italic}.att-row{background:var(--bg-secondary);border-radius:6px;align-items:center;gap:8px;padding:6px 8px;display:flex}.att-row .att-icon{width:26px;height:26px;color:var(--text-muted);flex-shrink:0;justify-content:center;align-items:center;display:flex}.att-row .att-info{flex:1;min-width:0}.att-row .att-name{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:500;overflow:hidden}.att-row .att-meta{color:var(--text-muted);font-size:11px}.att-row .att-actions{flex-shrink:0;gap:4px;display:flex}.att-upload-btn{border:1px dashed var(--border-color);color:var(--text-muted);cursor:pointer;background:0 0;border-radius:6px;justify-content:center;align-items:center;gap:6px;padding:7px 12px;font-size:13px;transition:border-color .15s,color .15s;display:flex}.att-upload-btn:hover{color:#6c63ff;border-color:#6c63ff}.vp-save-row{gap:6px;display:flex}.vp-input{background:var(--bg-secondary);border:1px solid var(--border-color);color:var(--text-primary);border-radius:6px;outline:none;flex:1;min-width:0;padding:6px 10px;font-size:13px}.vp-input::placeholder{color:var(--text-muted)}.vp-item{background:var(--bg-secondary);border-radius:6px;align-items:center;gap:8px;padding:6px 8px;display:flex}.vp-dot{background:#6c63ff;border-radius:50%;flex-shrink:0;width:8px;height:8px}.vp-info{flex:1;min-width:0}.vp-message{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:500;overflow:hidden}.vp-date{color:var(--text-muted);font-size:11px}.vp-actions{flex-shrink:0;gap:4px;display:flex}.btn-xs{width:24px;height:24px}.entity-reference-node{background:var(--er-color);background:linear-gradient(135deg, var(--er-color)15, var(--er-color)5);border:1px solid var(--er-color);color:var(--er-color);white-space:nowrap;cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:4px;align-items:center;gap:4px;padding:1px 6px;font-size:12px;font-weight:600;transition:all .15s;display:inline-flex}.entity-reference-node:hover{background:var(--er-color);color:#fff}.entity-reference-node.ProseMirror-selectednode{outline:2px solid var(--er-color);outline-offset:1px;background:var(--er-color);color:#fff}.er-icon{background:var(--er-color);color:#fff;border-radius:3px;flex-shrink:0;justify-content:center;align-items:center;width:16px;height:16px;font-size:10px;display:inline-flex}.er-name{text-overflow:ellipsis;white-space:nowrap;max-width:160px;overflow:hidden}.global-search-view{background:var(--bg-app);border-radius:var(--radius-lg);width:100%;height:100%;font-family:var(--font-sans);flex-direction:column;display:flex;overflow:hidden}.gs-header{border-bottom:1px solid var(--border-color);flex-shrink:0;align-items:center;gap:16px;padding:16px 24px;display:flex}.gs-title{color:var(--text-primary);align-items:center;gap:8px;margin:0;font-size:20px;font-weight:700;display:flex}.gs-search{flex:1;max-width:600px;position:relative}.gs-search input{background:var(--bg-secondary);border:1px solid var(--border-color);width:100%;color:var(--text-primary);border-radius:8px;outline:none;padding:10px 14px 10px 42px;font-size:14px;transition:border-color .15s,box-shadow .15s}.gs-search input:focus{border-color:#6c63ff;box-shadow:0 0 0 3px #6c63ff26}.gs-search input::placeholder{color:var(--text-muted)}.gs-search svg{color:var(--text-muted);pointer-events:none;position:absolute;top:50%;left:12px;transform:translateY(-50%)}.gs-content{flex-direction:column;flex:1;gap:24px;padding:16px 24px;display:flex;overflow-y:auto}mark{color:#1a1a2e;background:#fef08a;border-radius:2px;padding:0 2px}.gs-modal-overlay{z-index:2000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0006;justify-content:center;align-items:flex-start;padding-top:8vh;display:flex;position:fixed;inset:0}.gs-modal-box{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:14px;flex-direction:column;width:720px;max-width:calc(100vw - 32px);max-height:85vh;display:flex;overflow:hidden;box-shadow:0 24px 64px #00000040}.gs-modal-header{border-bottom:1px solid var(--border-color);flex-shrink:0;align-items:center;gap:12px;padding:14px 18px;display:flex}.gs-modal-title{color:var(--text-primary);align-items:center;gap:8px;font-size:16px;font-weight:700;display:flex}.gs-modal-title svg{color:var(--text-muted)}.gs-search-input{flex:1;max-width:480px;position:relative}.gs-search-input input{background:var(--bg-secondary);border:1px solid var(--border-color);width:100%;color:var(--text-primary);border-radius:8px;outline:none;padding:10px 14px 10px 42px;font-size:15px;transition:border-color .15s,box-shadow .15s}.gs-search-input input:focus{border-color:#6c63ff;box-shadow:0 0 0 3px #6c63ff26}.gs-search-input input::placeholder{color:var(--text-muted)}.gs-search-input svg{color:var(--text-muted);pointer-events:none;position:absolute;top:50%;left:12px;transform:translateY(-50%)}.gs-clear{width:22px;height:22px;color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;display:flex;position:absolute;top:50%;right:8px;transform:translateY(-50%)}.gs-clear:hover{background:var(--bg-secondary);color:var(--text-primary)}.gs-tabs{border-bottom:1px solid var(--border-color);flex-shrink:0;gap:4px;padding:8px 16px 0;display:flex;overflow-x:auto}.gs-tab{color:var(--text-muted);cursor:pointer;white-space:nowrap;background:0 0;border:1px solid #0000;border-radius:6px;align-items:center;gap:6px;padding:6px 12px;font-size:12px;font-weight:600;transition:all .15s;display:flex}.gs-tab:hover{background:var(--bg-secondary);color:var(--text-primary)}.gs-tab.active{color:#fff;background:#6c63ff;border-color:#6c63ff}.gs-tab-count{background:#fff3;border-radius:10px;padding:1px 6px;font-size:11px}.gs-tab.active .gs-tab-count{background:#ffffff4d}.gs-results{flex-direction:column;flex:1;gap:20px;padding:16px 18px;display:flex;overflow-y:auto}.gs-section{flex-direction:column;gap:6px;display:flex}.gs-section-title{color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;border-bottom:1px solid var(--border-color);margin:0;padding-bottom:4px;font-size:11px;font-weight:700}.gs-list{flex-direction:column;gap:4px;display:flex}.gs-item{background:var(--bg-card);border:1px solid var(--border-color);cursor:pointer;text-align:left;border-radius:8px;align-items:flex-start;gap:10px;padding:10px 12px;transition:border-color .15s,box-shadow .15s;display:flex}.gs-item:hover{border-color:var(--text-muted);box-shadow:0 1px 6px #0000000f}.gs-item-icon{flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;font-size:15px;display:flex}.gs-item-content{flex:1;min-width:0}.gs-item-title{color:var(--text-primary);font-size:13px;font-weight:600;line-height:1.3}.gs-item-preview{color:var(--text-muted);margin-top:2px;font-size:11px;line-height:1.4}.gs-item-type{color:var(--text-muted);text-transform:uppercase;margin-left:6px;font-size:10px}.gs-item-field{color:var(--text-muted);margin-top:2px;font-size:10px}.gs-empty{color:var(--text-muted);text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:12px;padding:40px;font-size:13px;display:flex}.gs-empty svg{opacity:.35;width:40px;height:40px}.gs-modal-footer{border-top:1px solid var(--border-color);color:var(--text-muted);justify-content:center;align-items:center;gap:8px;padding:10px 16px;font-size:11px;display:flex}.gs-modal-footer kbd{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:4px;padding:2px 6px;font-family:inherit;font-size:10px}.ctx-menu{background:var(--bg-card);border:1px solid var(--border-color);border-radius:8px;min-width:180px;max-width:260px;padding:4px;animation:.1s ctx-in;box-shadow:0 6px 24px #0000002e}@keyframes ctx-in{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.ctx-item{color:var(--text-primary);cursor:pointer;white-space:nowrap;border-radius:5px;align-items:center;gap:8px;padding:7px 10px;font-size:12px;transition:background .1s;display:flex}.ctx-item:hover{background:var(--bg-hover)}.ctx-item.danger{color:#ef4444}.ctx-item.danger:hover{background:#ef44441a}.ctx-icon{text-align:center;flex-shrink:0;width:18px;font-size:13px}.ctx-label{flex:1}.ctx-shortcut{color:var(--text-muted);margin-left:12px;font-size:10px}.ctx-sep{background:var(--border-color);height:1px;margin:4px 6px}.auth-msg{background:var(--bg-secondary);color:var(--text-secondary);border-radius:6px;padding:6px 10px;font-size:12px}.auth-msg.error{color:#ef4444;background:#ef44441a}.auth-link{color:var(--accent);cursor:pointer;font-weight:500}.auth-link:hover{text-decoration:underline}.tb-acct-active{color:var(--accent)}.acct-msg{color:var(--text-secondary);margin:0;font-size:13px;line-height:1.5}.acct-card{flex-direction:column;gap:16px;display:flex}.acct-profile{align-items:center;gap:14px;display:flex}.acct-avatar{background:var(--bg-secondary);width:44px;height:44px;color:var(--text-secondary);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:18px;font-weight:600;display:flex}.acct-meta{flex-direction:column;gap:3px;min-width:0;display:flex}.acct-email{color:var(--text-primary);text-overflow:ellipsis;font-size:14px;font-weight:600;overflow:hidden}.acct-sub{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.acct-badge{color:#ef4444;background:#ef44440f;border-radius:8px;padding:1px 7px;font-size:10px;font-weight:600}.acct-badge.ok{color:#22c55e;background:#22c55e0f}.acct-actions{align-items:center;gap:6px;display:flex}.acct-link{color:var(--text-muted);cursor:pointer;font-size:11px;font-family:var(--font-sans);background:0 0;border:none;align-items:center;gap:2px;padding:0;display:inline-flex}.acct-link:hover{color:var(--text-primary)}.acct-hint{color:var(--text-muted);margin:2px 0 0;font-size:11px;font-style:italic}.acct-stats{gap:24px;display:flex}.acct-stat{flex-direction:column;gap:2px;display:flex}.acct-stat-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.03em;font-size:10px;font-weight:600}.acct-stat-value{color:var(--text-secondary);align-items:center;gap:4px;font-size:12px;display:flex}.acct-dot{background:var(--text-muted);border-radius:50%;flex-shrink:0;width:5px;height:5px}.acct-dot.ok{background:#22c55e}.acct-dot.spin{background:var(--text-secondary);animation:.8s ease-in-out infinite sync-pulse}.acct-dot.err{background:#ef4444}.acct-logout-link{color:var(--text-muted);cursor:pointer;font-size:12px}.acct-logout-link:hover{color:#ef4444}@keyframes sync-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.85)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (width<=768px){.tl-columns{flex-direction:column}.tl-left{border-right:none;border-bottom:1px solid var(--border-color);flex:1;min-height:0}.tl-right{flex:none;width:100%;max-width:100%;max-height:40vh}.tl-bar{gap:8px;padding:10px 14px}.tl-bar-title{font-size:16px}.tl-filters{padding:8px 12px}.tl-row{padding:6px 12px 6px 16px}.tl-detail-body{padding:12px 14px}}
