: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:100%;overflow:hidden}body{font-family:var(--font-sans);color:var(--text-primary);background:var(--bg-app);-webkit-font-smoothing:antialiased;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:auto hidden}.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-sep{background:var(--border-color);flex-shrink:0;width:1px;height:22px;margin:0 4px}.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 12px;font-size:28px;font-weight:700}.tiptap-editor h2{color:var(--text-primary);margin:28px 0 10px;font-size:22px;font-weight:600}.tiptap-editor h3{color:var(--text-primary);margin:22px 0 8px;font-size:18px;font-weight:600}.tiptap-editor p{margin:0 0 10px}.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-app);min-height:0;font-family:var(--font-sans);border-radius:var(--radius-lg);flex-direction:column;flex:1;display:flex;overflow:hidden}.books-view-header{border-bottom:1px solid var(--border-color);flex-shrink:0;justify-content:space-between;align-items:center;padding:16px 24px;display:flex}.books-view-title{color:var(--text-primary);margin:0;font-size:20px;font-weight:700}.books-empty{color:var(--text-muted);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:12px;font-size:14px;display:flex}.books-grid{flex:1;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));align-content:start;gap:12px;padding:20px 24px;display:grid;overflow-y:auto}.book-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius);cursor:pointer;transition:box-shadow var(--transition), transform var(--transition);flex-direction:column;display:flex;overflow:hidden}.book-card:hover{transform:translateY(-2px);box-shadow:0 4px 16px #00000014}.book-card-head{flex-shrink:0;justify-content:center;align-items:center;height:80px;display:flex}.book-card-body{padding:12px 14px}.book-card-title{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:600;overflow:hidden}.book-card-desc{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;margin-top:2px;font-size:12px;overflow:hidden}.book-structure{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.book-structure-top{border-bottom:1px solid var(--border-color);flex-shrink:0;align-items:center;gap:12px;padding:12px 20px;display:flex}.book-meta{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.book-title-input{color:var(--text-primary);font-size:18px;font-weight:600;font-family:var(--font-sans);background:0 0;border:none;outline:none;padding:2px 0}.book-desc-input{color:var(--text-secondary);font-size:13px;font-family:var(--font-sans);background:0 0;border:none;outline:none;padding:2px 0}.book-desc-input::placeholder{color:var(--text-muted)}.book-stats{color:var(--text-muted);white-space:nowrap;gap:10px;font-size:11px;display:flex}.book-progress-bar{background:var(--bg-card-alt);border-radius:10px;flex-shrink:0;height:20px;margin:8px 20px 0;position:relative;overflow:hidden}.book-progress-fill{background:linear-gradient(90deg, var(--accent), var(--accent-hover));border-radius:10px;min-width:0;height:100%;transition:width .3s}.book-progress-label{color:#fff;text-shadow:0 1px 2px #0000004d;justify-content:center;align-items:center;font-size:10px;font-weight:600;display:flex;position:absolute;inset:0}.book-settings-row{flex-shrink:0;align-items:center;gap:16px;padding:6px 20px;display:flex}.book-settings-label{color:var(--text-muted);align-items:center;gap:6px;font-size:12px;display:flex}.book-color-picker{border:2px solid var(--border-color);cursor:pointer;background:0 0;border-radius:50%;width:28px;height:28px;padding:0}.book-color-picker::-webkit-color-swatch-wrapper{padding:0}.book-color-picker::-webkit-color-swatch{border:none;border-radius:50%}.book-goal-input{border:1px solid var(--border-color);background:var(--bg-card);width:80px;color:var(--text-primary);font-size:12px;font-family:var(--font-sans);border-radius:6px;outline:none;padding:4px 8px}.book-goal-input:focus{border-color:var(--accent)}.chapter-drag-wrap{align-items:flex-start;gap:4px;margin-bottom:8px;display:flex}.ch-drag-handle{color:var(--text-muted);cursor:grab;opacity:0;align-items:center;padding:14px 4px 0;transition:opacity .12s;display:flex}.chapter-drag-wrap:hover .ch-drag-handle{opacity:.5}.ch-drag-handle:active{cursor:grabbing}.book-chapters{flex:1;min-height:0;padding:16px 20px;overflow-y:auto}.chapters-empty{text-align:center;color:var(--text-muted);padding:40px 20px;font-size:13px}.chapter-block{border:1px solid var(--border-color);border-radius:var(--radius);background:var(--bg-card);flex:1;min-width:0;margin-bottom:8px;overflow:hidden}.chapter-header{background:var(--bg-card-alt);border-bottom:1px solid var(--border-color);align-items:center;gap:6px;padding:10px 12px;display:flex}.ch-status-badge{white-space:nowrap;cursor:pointer;border-radius:8px;flex-shrink:0;padding:1px 6px;font-size:10px;font-weight:500;transition:opacity .12s}.ch-status-badge:hover{opacity:.8}.ch-title{color:var(--text-primary);cursor:pointer;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:14px;font-weight:600;overflow:hidden}.ch-title-input{border:1px solid var(--accent);color:var(--text-primary);background:var(--bg-card);font-size:14px;font-weight:600;font-family:var(--font-sans);border-radius:4px;outline:none;flex:1;padding:4px 8px}.ch-count{color:var(--text-muted);white-space:nowrap;flex-shrink:0;font-size:11px}.scene-status-icon{cursor:pointer;align-items:center;padding:0 2px;transition:transform .12s;display:flex}.scene-status-icon:hover{transform:scale(1.2)}.status-dot{border-radius:50%;width:8px;height:8px;display:inline-block}.scene-list{padding:4px 0}.scene-item{cursor:pointer;transition:background var(--transition);border-left:3px solid #0000;align-items:center;gap:6px;padding:6px 12px 6px 8px;display:flex}.scene-item:hover{background:var(--bg-hover)}.scene-item:hover .scene-del{opacity:1}.scene-item.active{border-left-color:var(--accent);background:var(--accent-soft)}.scene-drag{color:var(--text-muted);cursor:grab;opacity:.4;align-items:center;display:flex}.scene-item:hover .scene-drag{opacity:1}.scene-info{flex:1;align-items:center;gap:8px;min-width:0;display:flex}.scene-title{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.scene-meta{color:var(--text-muted);white-space:nowrap;flex-shrink:0;font-size:11px}.scene-del{opacity:0;flex-shrink:0}.scene-editor{flex-direction:column;height:100%;display:flex;overflow:hidden}.scene-editor-header{border-bottom:1px solid var(--border-color);flex-shrink:0;align-items:center;gap:10px;padding:10px 16px;display:flex}.scene-title-input{color:var(--text-primary);font-size:16px;font-weight:600;font-family:var(--font-sans);background:0 0;border:none;outline:none;flex:1;padding:4px 0}.scene-textarea{resize:none;color:var(--text-primary);font-size:14px;line-height:1.7;font-family:var(--font-sans);background:0 0;border:none;outline:none;flex:1;padding:16px 20px}.scene-textarea::placeholder{color:var(--text-muted)}.scene-footer{border-top:1px solid var(--border-color);flex-shrink:0;align-items:center;gap:10px;padding:8px 16px;display:flex}.scene-wc{color:var(--text-muted);font-size:11px}.scene-link-btn{border:1px solid var(--border-color);border-radius:var(--radius-sm);background:var(--bg-card-alt);color:var(--text-secondary);cursor:pointer;font-size:11px;font-family:var(--font-sans);transition:background var(--transition);align-items:center;gap:4px;padding:4px 10px;display:inline-flex}.scene-link-btn:hover{background:var(--bg-hover)}.scene-link-panel{border-top:1px solid var(--border-color);background:var(--bg-card-alt);max-height:150px;padding:8px 16px;overflow-y:auto}.scene-link-grid{flex-wrap:wrap;gap:4px;display:flex}.scene-link-item{border:1px solid var(--border-color);border-radius:var(--radius-sm);background:var(--bg-card);color:var(--text-secondary);cursor:pointer;transition:all var(--transition);align-items:center;gap:4px;padding:3px 8px;font-size:11px;display:inline-flex}.scene-link-item:hover{background:var(--bg-hover)}.scene-link-item.active{border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}.scene-link-name{text-overflow:ellipsis;white-space:nowrap;max-width:120px;overflow:hidden}.scene-fullscreen{z-index:500;background:var(--bg-app);font-family:var(--font-sans);flex-direction:column;display:flex;position:fixed;inset:0}.sf-header{border-bottom:1px solid var(--border-color);background:var(--bg-card);flex-shrink:0;align-items:center;gap:10px;padding:10px 16px;display:flex}.sf-nav{flex-shrink:0;align-items:center;gap:4px;display:flex}.sf-nav .btn-icon:disabled{opacity:.3;cursor:default;pointer-events:none}.sf-nav-pos{color:var(--text-muted);text-align:center;font-variant-numeric:tabular-nums;min-width:32px;font-size:11px}.sf-status-badge{text-transform:capitalize;cursor:pointer;border-radius:8px;flex-shrink:0;padding:2px 7px;font-size:10px;font-weight:500;transition:opacity .12s}.sf-status-badge:hover{opacity:.8}.sf-title-input{color:var(--text-primary);font-size:17px;font-weight:600;font-family:var(--font-sans);background:0 0;border:none;outline:none;flex:1;padding:4px 0}.sf-actions{align-items:center;gap:6px;display:flex}.sf-wc{color:var(--text-muted);white-space:nowrap;margin-right:4px;font-size:12px}.sf-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 16px;display:flex}.sf-editor{flex:1;min-height:0;padding:0;overflow-y:auto}.sf-editor .tiptap-editor{outline:none;max-width:740px;min-height:100%;margin:0 auto;padding:12px 32px 48px}.sf-editor .tiptap-editor .tiptap-editor-content,.sf-editor .tiptap-editor [contenteditable]{outline:none;min-height:200px}.sf-editor .tiptap-editor p.is-editor-empty:first-child:before{content:attr(data-placeholder);float:left;color:var(--text-muted);pointer-events:none;height:0;font-style:italic}.sf-editor .tiptap-editor p{margin:.5em 0}.sf-editor .tiptap-editor h1{margin:.6em 0 .3em;font-size:1.6em}.sf-editor .tiptap-editor h2{margin:.5em 0 .25em;font-size:1.3em}.sf-editor .tiptap-editor h3{margin:.4em 0 .2em;font-size:1.1em}.sf-sidebar{z-index:501;background:var(--bg-card);border-left:1px solid var(--border-color);flex-direction:column;width:260px;animation:.15s ease-out sf-sidebar-in;display:flex;position:fixed;top:0;bottom:0;right:0;box-shadow:-4px 0 16px #00000014}@keyframes sf-sidebar-in{0%{transform:translate(100%)}to{transform:translate(0)}}.sf-sidebar-header{color:var(--text-primary);border-bottom:1px solid var(--border-color);flex-shrink:0;padding:14px 16px;font-size:13px;font-weight:600}.sf-sidebar-list{flex:1;padding:8px;overflow-y:auto}.sf-sidebar-item{border-radius:var(--radius-sm);cursor:pointer;transition:background var(--transition);color:var(--text-secondary);align-items:center;gap:8px;padding:8px 10px;font-size:13px;display:flex}.sf-sidebar-item:hover{background:var(--bg-hover)}.sf-sidebar-item.active{background:var(--accent-soft);color:var(--accent)}.sf-sidebar-name{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.worldmap{background:var(--bg-app);width:100%;height:100%;font-family:var(--font-sans);border-radius:var(--radius-lg);flex-direction:column;display:flex;overflow:hidden}.wm-header{border-bottom:1px solid var(--border-color);background:var(--bg-card);flex-shrink:0;align-items:center;gap:12px;padding:10px 16px;display:flex}.wm-title{color:var(--text-primary);white-space:nowrap;margin:0;font-size:16px;font-weight:700}.wm-tools{align-items:center;gap:3px;display:flex}.wm-sep{background:var(--border-color);width:1px;height:20px;margin:0 4px}.wm-mode-hint{text-align:right;color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:11px;overflow:hidden}.wm-canvas{background:var(--bg-card);flex:1;position:relative;overflow:hidden}.wm-canvas svg{display:block}.wm-popup{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius);z-index:10;padding:10px 14px;position:absolute;bottom:16px;left:50%;transform:translate(-50%);box-shadow:0 4px 16px #0000001a}.wm-popup-body{align-items:center;gap:10px;display:flex}.wm-popup-icon{font-size:22px}.wm-popup-info{flex-direction:column;gap:4px;display:flex}.wm-popup-name{color:var(--text-primary);font-size:14px;font-weight:600}.wm-popup-actions{gap:4px;display:flex}.wm-popup-name-input{margin-bottom:3px;padding:4px 8px!important;font-size:13px!important}.wm-popup-desc-input{padding:3px 8px!important;font-size:12px!important}.wm-overlay{z-index:1000;background:#0006;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.wm-form{background:var(--bg-card);border-radius:var(--radius);width:100%;max-width:380px;animation:.15s ease-out ef-in;box-shadow:0 8px 32px #0003}.wm-form-header{color:var(--text-primary);border-bottom:1px solid var(--border-color);padding:14px 16px;font-size:15px;font-weight:600}.wm-form-body{flex-direction:column;gap:10px;padding:14px 16px;display:flex}.wmf-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.3px;font-size:11px;font-weight:600}.wmf-input,.wmf-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;padding:7px 10px}.wmf-input:focus,.wmf-select:focus{border-color:var(--accent)}.wmf-colors{flex-wrap:wrap;gap:5px;display:flex}.wmf-color-btn{cursor:pointer;width:26px;height:26px;transition:transform var(--transition);border:2px solid #0000;border-radius:50%}.wmf-color-btn:hover{transform:scale(1.2)}.wmf-color-btn.active{border-color:var(--text-primary);transform:scale(1.2)}.wm-form-actions{border-top:1px solid var(--border-color);justify-content:flex-end;gap:6px;padding:10px 16px;display:flex}.wm-picker{max-width:420px}.wm-picker-empty{text-align:center;color:var(--text-muted);padding:30px 16px;font-size:13px}.wm-picker-list{max-height:300px;padding:8px;overflow-y:auto}.wm-picker-item{border-radius:var(--radius-sm);cursor:pointer;transition:background var(--transition);align-items:center;gap:8px;padding:7px 10px;font-size:13px;display:flex}.wm-picker-item:hover{background:var(--bg-hover)}.wm-picker-item.active{background:var(--accent-soft)}.wm-picker-item input[type=checkbox]{accent-color:var(--accent)}.wmp-icon{text-align:center;width:28px;font-size:16px}.wmp-name{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;flex:1;font-weight:500;overflow:hidden}.wmp-type{color:var(--text-muted);white-space:nowrap;font-size:11px}.wm-title-row{align-items:center;gap:12px;display:flex}.wm-map-selector{align-items:center;gap:4px;display:flex}.wm-map-select{background:var(--bg-secondary);color:var(--text-primary);border:1px solid var(--border);cursor:pointer;border-radius:6px;outline:none;max-width:180px;padding:4px 8px;font-size:13px}.wm-empty-state{color:var(--text-muted);text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:12px;padding:60px 20px;font-size:14px;display:flex}.wm-empty-state svg{opacity:.35;width:48px;height:48px}.wm-mgr-form{max-width:420px}.wmf-textarea{background:var(--bg-secondary);color:var(--text-primary);border:1px solid var(--border);resize:vertical;border-radius:6px;outline:none;min-height:60px;padding:8px 10px;font-family:inherit;font-size:14px;transition:border-color .15s}.wmf-textarea:focus{border-color:#6c63ff}.wm-legend-panel{background:var(--bg-card);border-left:1px solid var(--border);z-index:10;width:240px;height:100%;font-family:var(--font-sans);flex-direction:column;display:flex;position:absolute;top:0;right:0}.wm-legend-header{border-bottom:1px solid var(--border);flex-shrink:0;justify-content:space-between;align-items:center;padding:10px 14px;display:flex}.wm-legend-title{color:var(--text-primary);font-size:13px;font-weight:700}.wm-legend-body{flex-direction:column;flex:1;gap:4px;padding:8px;display:flex;overflow-y:auto}.wm-legend-empty{color:var(--text-muted);text-align:center;padding:20px 10px;font-size:12px}.wm-legend-item{border-radius:6px;align-items:flex-start;gap:8px;padding:6px 8px;transition:background .1s;display:flex}.wm-legend-item:hover{background:var(--bg-secondary)}.wm-legend-item-icon{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;font-size:13px;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:12px;font-weight:600}.wm-legend-item-desc{color:var(--text-muted);font-size:11px}.wm-legend-form{border-top:1px solid var(--border);flex-direction:column;flex-shrink:0;gap:4px;padding:10px;display:flex}.wm-legend-form-row{gap:4px;display:flex}.wm-legend-input{flex:1;padding:5px 8px!important;font-size:12px!important}.wm-legend-icon-input{text-align:center;width:44px;padding:5px 8px!important;font-size:12px!important}.wm-legend-add-btn{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:5px;width:100%;padding:5px;font-family:inherit;font-size:12px;font-weight:600;transition:opacity .15s}.wm-legend-add-btn:hover{opacity:.85}.entities-view{background:var(--bg-app);width:100%;height:100%;font-family:var(--font-sans);border-radius:var(--radius-lg);flex-direction:column;display:flex;overflow:hidden}.entities-header{border-bottom:1px solid var(--border-color);flex-shrink:0;justify-content:space-between;align-items:center;padding:16px 24px;display:flex}.entities-header-actions{align-items:center;gap:8px;display:flex}.entities-title{color:var(--text-primary);margin:0;font-size:20px;font-weight:700}.entities-type-tabs{border-bottom:1px solid var(--border-color);background:var(--bg-card-alt);scrollbar-width:none;flex-shrink:0;gap:4px;padding:10px 24px;display:flex;overflow-x:auto}.entities-type-tabs::-webkit-scrollbar{display:none}.ent-tab{color:var(--text-secondary);cursor:pointer;white-space:nowrap;font-size:13px;font-family:var(--font-sans);background:0 0;border:1px solid #0000;border-radius:20px;align-items:center;gap:5px;padding:6px 12px;transition:all .18s;display:flex;position:relative}.ent-tab:hover{background:var(--bg-hover);color:var(--text-primary)}.ent-tab.active{border-color:var(--tab-color,var(--accent));background:color-mix(in srgb, var(--tab-color,var(--accent)) 12%, transparent);color:var(--tab-color,var(--accent));box-shadow:0 0 0 1px color-mix(in srgb, var(--tab-color,var(--accent)) 20%, transparent)}.ent-tab-label{font-size:12px}.entities-grid{flex:1;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));align-content:start;gap:14px;padding:20px 24px;display:grid;overflow-y:auto}.entities-empty{text-align:center;color:var(--text-muted);grid-column:1/-1;padding:60px 20px;font-size:14px;line-height:1.6}.ent-card{background:var(--bg-card);border:1px solid var(--border-color);cursor:pointer;border-radius:14px;flex-direction:column;transition:all .2s cubic-bezier(.4,0,.2,1);display:flex;position:relative;overflow:hidden}.ent-card:hover{border-color:#0000;transform:translateY(-3px);box-shadow:0 8px 24px #00000014}.ent-card:active{transform:translateY(-1px)scale(.99)}.ent-card-head{flex-shrink:0;justify-content:center;align-items:center;height:56px;font-size:26px;display:flex;position:relative;overflow:hidden}.ent-card-head:after{content:"";pointer-events:none;background:linear-gradient(135deg,#ffffff26 0%,#0000 50%);position:absolute;inset:0}.ent-card-icon{filter:drop-shadow(0 1px 2px #0003);z-index:1;position:relative}.ent-card-body{padding:12px 14px 14px}.ent-card-name{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;margin-bottom:3px;font-size:15px;font-weight:600;overflow:hidden}.ent-card-type{color:var(--text-muted);text-transform:uppercase;letter-spacing:.3px;margin-bottom:8px;font-size:11px}.ent-card-fields{flex-direction:column;gap:3px;display:flex}.ent-card-field{color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;padding:2px 0;font-size:12px;overflow:hidden}.ecf-label{color:var(--text-muted);font-weight:500}.ent-card-del{border-radius:var(--radius-sm);color:#fff;cursor:pointer;opacity:0;width:24px;height:24px;transition:opacity var(--transition);background:#0006;border:none;justify-content:center;align-items:center;display:flex;position:absolute;top:4px;right:4px}.ent-card:hover .ent-card-del{opacity:1}.ent-card-del:hover{background:#dc2626cc}.entities-search-row{border-bottom:1px solid var(--border-color);background:var(--bg-card-alt);flex-shrink:0;align-items:center;gap:8px;padding:10px 24px;display:flex}.entities-search-inner{background:var(--bg-input,var(--bg-primary));border:1px solid var(--border-color);border-radius:10px;flex:1;align-items:center;gap:8px;padding:6px 12px;transition:border-color .18s,box-shadow .18s;display:flex}.entities-search-inner:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 20%, transparent)}.entities-search-icon{color:var(--text-muted);flex-shrink:0;font-size:14px}.entities-search-input{color:var(--text-primary);font-size:13px;font-family:var(--font-sans);background:0 0;border:none;outline:none;flex:1}.entities-search-input::placeholder{color:var(--text-muted)}.entities-search-clear{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:2px;transition:all .12s;display:flex}.entities-search-clear:hover{color:var(--text-primary);background:var(--bg-hover)}.entities-add-btn{flex-shrink:0}.ent-tab-count{background:var(--bg-hover);color:var(--text-muted);border-radius:8px;margin-left:2px;padding:1px 5px;font-size:10px}.ent-tab.active .ent-tab-count{background:color-mix(in srgb, var(--tab-color,var(--accent)) 20%, transparent);color:var(--tab-color,var(--accent))}.tm-overlay{z-index:1000;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0006;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.tm-panel{background:var(--bg-primary);border:1px solid var(--border);border-radius:12px;flex-direction:column;width:500px;max-width:92vw;max-height:85vh;display:flex;box-shadow:0 12px 48px #00000040}.tm-header{border-bottom:1px solid var(--border);flex-shrink:0;justify-content:space-between;align-items:center;padding:14px 18px;display:flex}.tm-title{color:var(--text-primary);font-size:16px;font-weight:700}.tm-body{flex-direction:column;flex:1;gap:16px;padding:16px 18px;display:flex;overflow-y:auto}.tm-form{border-bottom:1px solid var(--border);flex-direction:column;gap:8px;padding-bottom:12px;display:flex}.tmf-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;font-size:11px;font-weight:600}.tmf-input,.tmf-select{background:var(--bg-secondary);color:var(--text-primary);border:1px solid var(--border);border-radius:6px;outline:none;padding:7px 10px;font-family:inherit;font-size:13px}.tmf-input:focus{border-color:#6c63ff}.tmf-row{gap:10px;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:18px;height:18px;padding:0;transition:transform .12s,border-color .12s}.tmf-color-btn:hover{transform:scale(1.15)}.tmf-color-btn.active{box-shadow:0 0 0 1.5px var(--bg-primary);border-color:#fff}.tmf-field-row{align-items:center;gap:4px;display:flex}.tmf-field-input{flex:1}.tmf-field-type{width:100px;padding:5px 8px;font-size:12px}.tmf-add-field{border:1px dashed var(--border);color:var(--text-muted);cursor:pointer;background:0 0;border-radius:6px;padding:5px;font-family:inherit;font-size:12px;transition:color .15s,border-color .15s}.tmf-add-field:hover{color:#6c63ff;border-color:#6c63ff}.tm-form-actions{justify-content:flex-end;gap:6px;display:flex}.tm-list{flex-direction:column;gap:4px;display:flex}.tm-empty{color:var(--text-muted);text-align:center;padding:20px;font-size:13px}.tm-item{border-radius:8px;align-items:center;gap:8px;padding:8px 10px;transition:background .1s;display:flex}.tm-item:hover{background:var(--bg-secondary)}.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}.ed-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;background:#00000073;justify-content:center;align-items:center;padding:20px;animation:.15s ed-fade-in;display:flex;position:fixed;inset:0}@keyframes ed-fade-in{0%{opacity:0}to{opacity:1}}.ed-modal{background:var(--bg-card);border-radius:16px;flex-direction:column;width:480px;max-width:100%;max-height:80vh;animation:.2s cubic-bezier(.4,0,.2,1) ed-slide-up;display:flex;overflow:hidden;box-shadow:0 20px 60px #00000040}@keyframes ed-slide-up{0%{opacity:0;transform:translateY(16px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}.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,#ffffff1a 0%,#0000 60%);position:absolute;inset:0}.ed-header-icon{filter:drop-shadow(0 2px 4px #0003);z-index:1;flex-shrink:0;font-size:30px;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 #00000026;font-size:20px;font-weight:700;overflow:hidden}.ed-header-type{opacity:.8;text-transform:uppercase;letter-spacing:.5px;text-shadow:0 1px 1px #0000001a;font-size:11px}.ed-body{flex-direction:column;gap:18px;padding:18px 22px;display:flex;overflow-y:auto}.ed-section{flex-direction:column;gap:8px;display:flex}.ed-section-title{text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);border-bottom:1px solid var(--border-color);align-items:center;gap:6px;padding-bottom:5px;font-size:10px;font-weight:700;display:flex}.ed-description{color:var(--text-secondary);white-space:pre-wrap;background:var(--bg-card-alt);border-left:3px solid var(--border-color);border-radius:8px;padding:8px 10px;font-size:13px;line-height:1.6}.ed-fields{flex-direction:column;gap:6px;display:flex}.ed-field{background:var(--bg-card-alt);border-radius:8px;align-items:baseline;gap:10px;padding:6px 10px;transition:background .12s;display:flex}.ed-field:hover{background:var(--bg-hover)}.ed-field-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.4px;flex-shrink:0;min-width:80px;font-size:10px;font-weight:700}.ed-field-value{color:var(--text-primary);white-space:pre-wrap;word-break:break-word;font-size:13px}.ed-ref-list{flex-direction:column;gap:4px;display:flex}.ed-ref-item{background:var(--bg-card-alt);cursor:default;border-radius:8px;align-items:center;gap:8px;padding:6px 10px;transition:background .12s;display:flex}.ed-ref-item:hover{background:var(--bg-hover)}.ed-ref-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.ed-ref-icon{flex-shrink:0;font-size:14px}.ed-ref-name{color:var(--text-primary);font-size:13px;font-weight:500}.ed-ref-rel-type{color:var(--text-muted);background:var(--bg-secondary);text-transform:uppercase;border-radius:4px;margin-left:auto;padding:1px 6px;font-size:10px;font-weight:600}.ed-empty{text-align:center;color:var(--text-muted);background:var(--bg-card-alt);border-radius:8px;padding:24px;font-size:13px;font-style:italic}.ed-rel-form{flex-direction:column;gap:8px;padding:4px 0;display:flex}.ed-rel-type-row{flex-wrap:wrap;gap:6px;display:flex}.ed-rel-type-btn{border:1px solid var(--border-color);background:var(--bg-secondary);color:var(--text-secondary);cursor:pointer;border-radius:6px;align-items:center;gap:4px;padding:5px 10px;font-size:11px;font-weight:500;transition:all .15s;display:inline-flex}.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;margin-top:4px;display:flex}.ed-rel-form-actions .tef-pick-btn{flex:1;justify-content:center}.ed-rel-target{color:var(--text-secondary);background:var(--bg-secondary);border-radius:4px;padding:4px 8px;font-size:12px}.ed-actions{border-top:1px solid var(--border-color);background:var(--bg-secondary);flex-shrink:0;align-items:center;gap:8px;padding:14px 22px;display:flex}.ed-actions .btn-danger{margin-right:auto}.entity-overlay{z-index:1000;background:#00000080;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.entity-form{background:var(--bg-card);border-radius:var(--radius);flex-direction:column;width:100%;max-width:520px;max-height:90vh;animation:.15s ease-out ef-in;display:flex;box-shadow:0 12px 48px #0003}@keyframes ef-in{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.entity-form-header{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.entity-form-header h3{color:var(--text-primary);font-size:16px;font-weight:600;font-family:var(--font-sans);margin:0}.entity-form-body{flex-direction:column;gap:12px;padding:16px 20px;display:flex;overflow-y:auto}.ef-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.3px;font-size:12px;font-weight:600}.ef-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);box-sizing:border-box;outline:none;width:100%;padding:8px 10px}.ef-input:focus{border-color:var(--accent)}.ef-textarea{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);box-sizing:border-box;resize:vertical;outline:none;width:100%;min-height:64px;padding:8px 10px}.ef-textarea:focus{border-color:var(--accent)}.ef-type-row{flex-wrap:wrap;gap:4px;display:flex}.ef-type-btn{border-radius:var(--radius-sm);background:var(--bg-card-alt);color:var(--text-secondary);cursor:pointer;transition:all var(--transition);border:1px solid #0000;align-items:center;gap:4px;padding:6px 10px;font-size:12px;display:flex}.ef-type-btn:hover{background:var(--bg-hover)}.ef-type-btn.active{border-color:var(--ef-color,var(--accent));background:color-mix(in srgb, var(--ef-color,var(--accent)) 12%, transparent);color:var(--ef-color,var(--accent))}.ef-type-label{font-size:11px}.ef-fields{flex-direction:column;gap:8px;display:flex}.ef-field{flex-direction:column;gap:4px;display:flex}.ef-field-label{color:var(--text-secondary);font-size:12px;font-weight:500}.entity-form-actions{border-top:1px solid var(--border-color);justify-content:flex-end;align-items:center;gap:8px;padding:12px 20px;display:flex}.entity-ref{background:color-mix(in srgb, var(--accent) 15%, transparent);border:1px solid color-mix(in srgb, var(--accent) 30%, transparent);white-space:nowrap;cursor:pointer;border-radius:4px;align-items:center;gap:3px;padding:1px 6px;font-size:13px;font-weight:500;text-decoration:none;display:inline-flex;color:var(--accent)!important}.entity-ref:hover{background:color-mix(in srgb, var(--accent) 25%, transparent)}.entity-mentions-editor{border-top:1px solid var(--border-color);background:var(--bg-card-alt);flex-shrink:0;padding:10px 20px}.entity-mentions-header{color:var(--text-muted);text-transform:uppercase;letter-spacing:.3px;margin-bottom:6px;font-size:11px;font-weight:600}.entity-mentions-list{flex-wrap:wrap;gap:5px;display:flex}.entity-badge-sm{background:color-mix(in srgb, var(--eb-color,var(--accent)) 12%, transparent);color:var(--eb-color,var(--accent));border:1px solid color-mix(in srgb, var(--eb-color,var(--accent)) 25%, transparent);cursor:pointer;transition:opacity var(--transition);border-radius:4px;align-items:center;gap:3px;padding:2px 8px;font-size:12px;font-weight:500;display:inline-flex}.entity-badge-sm:hover{opacity:.8}.entity-picker-overlay{z-index:999;background:#0006;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.entity-picker{background:var(--bg-card);border-radius:var(--radius);flex-direction:column;width:100%;max-width:400px;max-height:80vh;display:flex;box-shadow:0 4px 24px #0003}.entity-picker-header{border-bottom:1px solid var(--border-color);color:var(--text-primary);justify-content:space-between;align-items:center;padding:14px 16px;font-size:14px;font-weight:600;display:flex}.entity-picker-empty{text-align:center;color:var(--text-muted);padding:30px 16px;font-size:13px}.entity-picker-list{padding:8px;overflow-y:auto}.entity-picker-item{border-radius:var(--radius-sm);cursor:pointer;transition:background var(--transition);align-items:center;gap:10px;padding:8px 10px;display:flex}.entity-picker-item:hover{background:var(--bg-hover)}.epi-icon{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:16px;display:flex}.epi-info{flex:1;min-width:0}.epi-name{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:500;overflow:hidden}.epi-type{color:var(--text-muted);font-size:11px}.timeline-screen{background:var(--bg-card);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);flex:1;display:flex;overflow:hidden}.timeline-view{flex-direction:column;flex:1;height:100%;display:flex;overflow:hidden}.timeline-header{flex-shrink:0;padding:16px 20px 0}.timeline-title-row{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.timeline-title{color:var(--text-primary);font-size:20px;font-weight:700}.timeline-add-btn{border-radius:var(--radius-sm);background:var(--accent);color:#fff;cursor:pointer;transition:background var(--transition);border:none;align-items:center;gap:6px;padding:6px 14px;font-size:13px;font-weight:500;display:inline-flex}.timeline-add-btn:hover{background:var(--accent-hover)}.timeline-scale-row{border-bottom:1px solid var(--border-color);align-items:center;gap:6px;padding-bottom:12px;display:flex}.timeline-scale-label{color:var(--text-muted);margin-right:4px;font-size:12px;font-weight:500}.timeline-scale-btn{border:1px solid var(--border-color);background:var(--bg-card-alt);color:var(--text-secondary);cursor:pointer;transition:background var(--transition), color var(--transition);border-radius:20px;padding:3px 12px;font-size:12px;font-weight:500}.timeline-scale-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.timeline-scale-btn.active{background:var(--accent-soft);color:var(--accent);border-color:var(--accent)}.timeline-count{color:var(--text-muted);margin-left:auto;font-size:12px}.timeline-form{background:var(--bg-card-alt);border-bottom:1px solid var(--border-color);flex-direction:column;flex-shrink:0;gap:8px;padding:14px 20px;display:flex}.timeline-form-row{align-items:flex-start;gap:8px;display:flex}.tl-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);font-size:13px;font-family:var(--font-sans);outline:none;flex:1;padding:7px 10px}.tl-input:focus{border-color:var(--accent)}.tl-input::placeholder{color:var(--text-muted)}.tl-input-sm{flex:none;max-width:80px}.tl-textarea{resize:vertical;min-height:40px}.tl-color-row{flex-shrink:0;align-items:center;gap:4px;display:flex}.tl-color-btn{cursor:pointer;width:20px;height:20px;transition:transform var(--transition), border-color var(--transition);border:2px solid #0000;border-radius:50%;flex-shrink:0}.tl-color-btn:hover{transform:scale(1.2)}.tl-color-btn.active{border-color:var(--text-primary);transform:scale(1.2)}.timeline-form-actions{justify-content:flex-end;align-items:center;gap:6px;display:flex}.tl-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}.tl-add-btn:hover{background:var(--accent-hover)}.tl-add-btn:disabled{opacity:.5;cursor:default}.timeline-empty{color:var(--text-muted);text-align:center;flex:1;justify-content:center;align-items:center;padding:40px;font-size:14px;display:flex}.timeline-scroll{flex:1;padding:20px 20px 40px;overflow-y:auto}.timeline-group{gap:16px;display:flex;position:relative}.timeline-group-line{flex-direction:column;flex-shrink:0;align-items:center;width:24px;display:flex;position:relative}.timeline-group-dot{background:var(--accent);border:3px solid var(--bg-app);z-index:1;width:12px;height:12px;box-shadow:0 0 0 1px var(--border-color);border-radius:50%;flex-shrink:0;margin-top:6px}.timeline-group:before{content:"";background:var(--border-color);opacity:.4;width:2px;position:absolute;top:24px;bottom:0;left:11px}.timeline-group:last-child:before{display:none}.timeline-group-content{flex:1;min-width:0;padding-bottom:28px}.timeline-group-header{color:var(--text-primary);align-items:center;gap:8px;margin-bottom:10px;padding-top:2px;font-size:16px;font-weight:700;display:flex}.timeline-card{background:var(--bg-card-alt);border:1px solid var(--border-color);border-radius:var(--radius-sm);cursor:pointer;transition:background var(--transition), border-color var(--transition);align-items:flex-start;gap:10px;margin-bottom:6px;padding:10px 14px;display:flex}.timeline-card:hover{background:var(--bg-hover)}.timeline-card.selected{border-color:var(--accent);background:var(--accent-soft)}.timeline-card-color{border-radius:2px;flex-shrink:0;width:4px;min-height:36px;margin-top:2px}.timeline-card-body{flex:1;min-width:0}.timeline-card-title{color:var(--text-primary);align-items:center;gap:6px;margin-bottom:2px;font-size:14px;font-weight:600;display:flex}.timeline-card-badge{color:#fff;text-transform:uppercase;letter-spacing:.3px;background:#14b8a6;border-radius:8px;padding:1px 6px;font-size:9px;font-weight:600}.timeline-card-desc{color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;margin-bottom:2px;font-size:12px;overflow:hidden}.timeline-card-meta{color:var(--text-muted);gap:12px;font-size:11px;display:flex}.tl-filter-row{border-bottom:1px solid var(--border-color);flex-wrap:wrap;align-items:center;gap:8px;padding-bottom:10px;display:flex}.tl-scale-row{flex:1;align-items:center;gap:6px;display:flex}.tl-scale-label{color:var(--text-muted);margin-right:4px;font-size:12px;font-weight:500}.tl-scale-btn{border:1px solid var(--border-color);background:var(--bg-card-alt);color:var(--text-secondary);cursor:pointer;transition:background var(--transition), color var(--transition);border-radius:20px;padding:3px 12px;font-size:12px;font-weight:500}.tl-scale-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.tl-scale-btn.active{background:var(--accent-soft);color:var(--accent);border-color:var(--accent)}.tl-count{color:var(--text-muted);margin-left:auto;font-size:12px}.tl-util-btns{gap:4px;display:flex}.tl-cat-filters{flex-wrap:wrap;flex-shrink:0;gap:4px;padding:8px 0 6px;display:flex}.tl-cat-filter{border:1px solid var(--border-color);background:var(--bg-card-alt);color:var(--text-secondary);cursor:pointer;transition:all var(--transition);border-radius:20px;align-items:center;gap:4px;padding:3px 10px;font-size:11px;font-weight:500;display:inline-flex}.tl-cat-filter:hover{background:var(--bg-hover);color:var(--text-primary)}.tl-cat-filter.active{background:var(--accent-soft);color:var(--accent);border-color:var(--accent)}.tl-line-tabs{flex-wrap:wrap;flex-shrink:0;gap:4px;padding-bottom:6px;display:flex}.tl-line-tab{border:1px solid var(--border-color);background:var(--bg-card-alt);color:var(--text-secondary);cursor:pointer;transition:all var(--transition);border-radius:6px;padding:3px 12px;font-size:12px;font-weight:500}.tl-line-tab:hover{background:var(--bg-hover)}.tl-line-tab.active{background:var(--bg-primary);border-color:var(--accent)}.tef-body{flex-direction:column;gap:12px;padding:12px 16px;display:flex;overflow-y:auto}.tef-section{flex-direction:column;gap:6px;display:flex}.tef-section-title{color:var(--text-secondary);align-items:center;gap:6px;font-size:12px;font-weight:600;display:flex}.tef-optional{color:var(--text-muted);font-size:11px;font-weight:400}.tef-date-row{gap:6px;display:flex}.tef-date-row .tl-input{min-width:0}.tef-precision-row{flex-wrap:wrap;gap:4px;display:flex}.tef-precision-btn{border:1px solid var(--border-color);background:var(--bg-card-alt);color:var(--text-secondary);cursor:pointer;transition:all var(--transition);border-radius:6px;align-items:center;gap:4px;padding:4px 10px;font-size:12px;display:inline-flex}.tef-precision-btn:hover{background:var(--bg-hover)}.tef-precision-btn.active{background:var(--accent-soft);color:var(--accent);border-color:var(--accent)}.tef-category-row{flex-wrap:wrap;gap:4px;display:flex}.tef-cat-btn{border:1px solid var(--border-color);background:var(--bg-card-alt);color:var(--text-secondary);cursor:pointer;transition:all var(--transition);border-radius:6px;align-items:center;gap:4px;padding:4px 10px;font-size:12px;display:inline-flex}.tef-cat-btn:hover{background:var(--bg-hover)}.tef-cat-btn.active{background:var(--bg-primary);border-color:var(--accent);color:var(--text-primary)}.tef-entity-row{flex-wrap:wrap;align-items:center;gap:6px;min-height:32px;display:flex}.tef-none{color:var(--text-muted);font-size:12px;font-style:italic}.tef-entity-tag{background:var(--accent-soft);border:1px solid var(--accent);color:var(--accent);border-radius:6px;align-items:center;gap:4px;padding:2px 8px;font-size:12px;display:inline-flex}.tef-entity-remove{color:var(--accent);cursor:pointer;background:0 0;border:none;padding:0 2px;font-size:14px;line-height:1}.tef-pick-btn{border:1px dashed var(--border-color);color:var(--text-muted);cursor:pointer;transition:all var(--transition);background:0 0;border-radius:6px;padding:3px 10px;font-size:11px}.tef-pick-btn:hover{border-color:var(--accent);color:var(--accent)}.tef-cause-row{flex-wrap:wrap;align-items:center;gap:6px;min-height:32px;display:flex}.tl-stars-row{gap:4px;display:flex}.tl-star-btn{cursor:pointer;color:var(--text-muted);transition:transform var(--transition);background:0 0;border:none;padding:2px}.tl-star-btn:hover{transform:scale(1.2)}.tl-star-btn.active{color:#f59e0b}.entity-pick-row{cursor:pointer;transition:background var(--transition);border:1px solid #0000;border-radius:6px;align-items:center;gap:8px;padding:6px 10px;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);text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:13px;overflow:hidden}.entity-pick-type{color:var(--text-muted);flex-shrink:0;font-size:11px}.tl-card{background:var(--bg-card);border:1px solid var(--border-color);cursor:pointer;border-radius:10px;align-items:flex-start;gap:10px;margin-bottom:8px;padding:12px 14px;transition:all .18s;display:flex;position:relative}.tl-card:hover{border-color:#0000;box-shadow:0 3px 12px #00000012}.tl-card.selected{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent), 0 3px 12px #00000012}.tl-card-dot{border:2px solid #0000;border-radius:50%;flex-shrink:0;width:10px;height:10px;margin-top:5px}.tl-card-body{flex:1;min-width:0}.tl-card-title-row{align-items:center;gap:6px;margin-bottom:2px;display:flex}.tl-card-cat-icon{border-radius:50%;flex-shrink:0;width:8px;height:8px;margin-top:3px}.tl-cat-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px;display:inline-block}.tl-card-title{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;font-size:15px;font-weight:600;overflow:hidden}.tl-card-stars{opacity:.5;flex-shrink:0;gap:1px;margin-left:auto;display:flex}.tl-card:hover .tl-card-stars{opacity:1}.tl-card-meta{color:var(--text-muted);flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:2px;font-size:11px;display:flex}.tl-card-date{color:var(--text-secondary);align-items:center;gap:3px;font-size:12px;display:flex}.tl-prec-badge{background:var(--bg-card-alt);color:var(--text-muted);border:1px solid var(--border-color);border-radius:3px;padding:1px 4px;font-size:9px}.tl-card-cat{border-radius:8px;padding:1px 6px;font-size:10px;font-weight:500}.tl-card-line{font-size:10px;font-weight:500}.tl-card-desc{color:var(--text-secondary);margin-top:4px;font-size:12px;line-height:1.4}.tl-card-refs{flex-wrap:wrap;gap:4px;margin-top:6px;display:flex}.tl-ref-tag{cursor:pointer;background:var(--bg-secondary);border:1px solid var(--border-color);transition:background var(--transition);border-radius:4px;padding:2px 6px;font-size:10px}.tl-ref-tag:hover{background:var(--bg-hover)}.tl-ref-entity{color:var(--accent)}.tl-ref-loc{color:#22c55e}.tl-card-chains{border-top:1px solid var(--border-color);flex-direction:column;gap:4px;margin-top:6px;padding-top:6px;display:flex}.tl-chain-section{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.tl-chain-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.3px;font-size:10px;font-weight:600}.tl-chain-link{color:var(--accent);cursor:pointer;background:var(--accent-soft);transition:background var(--transition);border-radius:4px;padding:1px 6px;font-size:11px}.tl-chain-link:hover{background:var(--accent);color:#fff}.tl-card-actions{opacity:0;flex-direction:column;flex-shrink:0;gap:4px;margin-top:2px;margin-left:6px;transition:opacity .18s;display:flex}.tl-card:hover .tl-card-actions,.tl-card.selected .tl-card-actions{opacity:1}.tl-era-label{text-transform:uppercase;letter-spacing:.3px;white-space:nowrap;opacity:.5;margin-top:2px;font-size:8px;font-weight:600}.tl-era-badge{vertical-align:middle;border:1px solid;border-radius:4px;margin-left:8px;padding:1px 6px;font-size:9px;font-weight:500}.tl-manager-panel{border-bottom:1px solid var(--border-color);background:var(--bg-card-alt);flex-shrink:0}.tl-manager-header{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;padding:8px 16px;display:flex}.tl-manager-title{color:var(--text-primary);font-size:13px;font-weight:600}.tl-manager-body{padding:10px 16px}.tl-manager-form{border-bottom:1px solid var(--border-color);flex-direction:column;gap:6px;margin-bottom:10px;padding-bottom:10px;display:flex}.tl-manager-list{flex-direction:column;gap:4px;max-height:200px;display:flex;overflow-y:auto}.tl-manager-item{background:var(--bg-primary);border-radius:4px;align-items:center;gap:8px;padding:4px 8px;display:flex}.tl-manager-item-color{border-radius:50%;flex-shrink:0;width:10px;height:10px}.tl-manager-item-name{color:var(--text-primary);flex:1;font-size:12px}.tl-manager-item-years{color:var(--text-muted);font-size:11px}.tl-manager-inline-row{flex-wrap:wrap;gap:4px;display:flex}.tl-icn-btn{border:1px solid var(--border-color);background:var(--bg-card-alt);cursor:pointer;width:28px;height:28px;transition:all var(--transition);border-radius:6px;justify-content:center;align-items:center;font-size:14px;display:inline-flex}.tl-icn-btn:hover{background:var(--bg-hover)}.tl-icn-btn.active{border-color:var(--accent);background:var(--accent-soft)}@media (width<=768px){.app{padding:var(--panel-gap)}.topbar{padding:0 10px}.topbar-right{gap:1px}.tb-group-label{display:none}.tb-sep{margin:0 2px}.search-box{width:100%;max-width:100%}.sidebar-wrapper:not(.collapsed){z-index:40;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0000004d;position:fixed;inset:0;width:100vw!important}.sidebar-wrapper.collapsed{z-index:40;pointer-events:none;background:0 0;position:fixed;inset:0;width:100vw!important}.sidebar{background:var(--bg-card);width:300px;max-width:85vw;height:100%;box-shadow:var(--shadow-lg);transition:transform .2s}.sidebar-wrapper.collapsed .sidebar{transform:translate(-100%)}.sidebar-header-mobile{display:flex!important}.editor-content-wrapper{padding:16px}.calendar-view{flex-direction:column;overflow-y:auto}.calendar-sidebar{border-left:none;border-top:1px solid var(--border-color);width:100%;max-height:280px}.calendar-cell{min-height:50px;padding:4px 2px}.calendar-day-num{width:24px;height:24px;font-size:12px}.calendar-title{min-width:auto;font-size:16px}.calendar-header{margin-bottom:12px}.graph-hint{display:none}.note-title-input{font-size:17px}.note-fields{max-height:180px;padding:10px 14px}.note-field-label{min-width:70px;font-size:11px}.backlinks{max-height:120px;padding:10px 14px}.timeline-scroll{padding:14px 14px 30px}.timeline-header{padding:12px 14px 0}.timeline-form{padding:12px 14px}.tl-cat-filters{gap:3px}.tl-cat-filter{padding:2px 8px;font-size:10px}.tl-scale-btn{padding:2px 10px;font-size:11px}.tl-line-tabs{gap:3px}.tl-line-tab{padding:2px 10px;font-size:11px}.tl-manager-body{padding:8px 12px}.tef-body{gap:10px;padding:10px 14px}.tl-card-title{font-size:13px}}@media (width<=480px){.app{padding:0}.topbar{height:var(--topbar-height);border-radius:0;gap:2px;padding:0 6px}.topbar-left,.topbar-right{gap:0}.tb-sep{margin:0 1px}.sidebar-wrapper:not(.collapsed),.main-content,.graph-screen,.calendar-screen{border-radius:0}.editor-content-wrapper{padding:12px}.note-header{padding:10px 14px 8px}.calendar-main,.calendar-sidebar{padding:12px}.calendar-cell{min-height:40px}.calendar-day-num{width:22px;height:22px;font-size:11px}.sidebar{max-width:90vw}.tiptap-editor{font-size:14px;line-height:1.7}.tiptap-editor h1{font-size:22px}.tiptap-editor h2{font-size:18px}.tiptap-editor h3{font-size:16px}}.goals-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}.gv-header{border-bottom:1px solid var(--border-color);flex-shrink:0;justify-content:space-between;align-items:center;gap:12px;padding:16px 24px;display:flex}.gv-title{color:var(--text-primary);white-space:nowrap;align-items:center;gap:8px;margin:0;font-size:20px;font-weight:700;display:flex}.gv-header-actions{align-items:center;gap:10px;display:flex}.gv-filters{gap:6px;display:flex}.gv-filter{background:var(--bg-secondary);color:var(--text-primary);border:1px solid var(--border);cursor:pointer;border-radius:6px;outline:none;padding:6px 10px;font-size:13px}.gv-summary{border-bottom:1px solid var(--border-color);flex-wrap:wrap;flex-shrink:0;gap:16px;padding:12px 24px;display:flex}.gv-summary-item{color:var(--text-muted);align-items:center;gap:6px;font-size:13px;display:flex}.gv-summary-dot{background:var(--gv-stat-color);border-radius:50%;width:8px;height:8px}.gv-summary-label{font-weight:500}.gv-summary-count{color:var(--text-primary);background:var(--bg-secondary);text-align:center;border-radius:4px;min-width:18px;padding:0 6px;font-size:12px;font-weight:700;line-height:18px}.gv-list{flex-direction:column;flex:1;gap:8px;padding:16px 24px;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:12px;padding:60px 20px;font-size:14px;display:flex}.gv-empty svg{opacity:.35;width:48px;height:48px}.gv-card{background:var(--bg-card);border:1px solid var(--border);cursor:pointer;border-radius:8px;transition:box-shadow .15s,border-color .15s;display:flex;position:relative;overflow:hidden}.gv-card:hover{border-color:var(--text-muted);box-shadow:0 2px 10px #00000014}.gv-card-line{flex-shrink:0;width:4px}.gv-card-body{flex:1;min-width:0;padding:12px 14px}.gv-card-top{align-items:center;gap:8px;margin-bottom:4px;display:flex}.gv-card-title{white-space:nowrap;text-overflow:ellipsis;color:var(--text-primary);flex:1;font-size:15px;font-weight:600;overflow:hidden}.gv-card-badges{flex-shrink:0;gap:4px;display:flex}.gv-badge{text-transform:uppercase;letter-spacing:.04em;border-radius:10px;padding:2px 8px;font-size:10px;font-weight:700}.gv-priority{background:0 0;border:1.5px solid}.gv-card-meta{color:var(--text-muted);gap:8px;margin-top:6px;font-size:12px;display:flex}.gv-card-char{background:var(--bg-secondary);border-radius:4px;padding:2px 8px;font-weight:500}.gv-del{opacity:0;transition:opacity .15s;position:absolute;top:6px;right:6px}.gv-card:hover .gv-del{opacity:1}.gv-overlay{z-index:1000;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#00000073;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.gv-form{background:var(--bg-primary);border:1px solid var(--border);border-radius:12px;width:440px;max-width:92vw;max-height:85vh;overflow-y:auto;box-shadow:0 12px 48px #00000040}.gv-form-header{border-bottom:1px solid var(--border);color:var(--text-primary);justify-content:space-between;align-items:center;padding:14px 18px;font-size:16px;font-weight:700;display:flex}.gv-form-body{flex-direction:column;gap:10px;padding:16px 18px;display:flex}.gvf-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;font-size:11px;font-weight:600}.gvf-input,.gvf-textarea,.gvf-select{background:var(--bg-secondary);color:var(--text-primary);border:1px solid var(--border);border-radius:6px;outline:none;padding:8px 10px;font-family:inherit;font-size:14px;transition:border-color .15s}.gvf-input:focus,.gvf-textarea:focus,.gvf-select:focus{border-color:#6c63ff}.gvf-textarea{resize:vertical;min-height:72px}.gvf-row{gap:12px;display:flex}.gvf-field{flex-direction:column;flex:1;gap:4px;display:flex}.gv-form-actions{border-top:1px solid var(--border);justify-content:flex-end;gap:8px;padding:12px 18px;display:flex}.gv-search{background:var(--bg-secondary);color:var(--text-primary);border:1px solid var(--border);border-radius:6px;outline:none;width:160px;padding:6px 10px;font-size:13px;transition:border-color .15s}.gv-search:focus{border-color:#6c63ff}.gv-search::placeholder{color:var(--text-muted);opacity:.6}.gv-card-drag{width:20px;color:var(--text-muted);opacity:0;cursor:grab;flex-shrink:0;justify-content:center;align-items:center;transition:opacity .15s;display:flex}.gv-card:hover .gv-card-drag{opacity:.5}.gv-card-drag:active{cursor:grabbing}.gv-cat{background:0 0}.gv-card-desc{color:var(--text-muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-bottom:6px;font-size:13px;display:-webkit-box;overflow:hidden}.gv-card-desc.expanded{-webkit-line-clamp:unset;display:block}.gv-desc-toggle{color:#6c63ff;cursor:pointer;white-space:nowrap;font-size:12px;font-weight:600}.gv-desc-toggle:hover{text-decoration:underline}.gv-card-subgoals{align-items:center;gap:8px;margin-bottom:4px;display:flex}.gv-sg-progress{background:var(--bg-secondary);border-radius:2px;flex:1;max-width:120px;height:4px;overflow:hidden}.gv-sg-bar{background:#22c55e;border-radius:2px;height:100%;transition:width .3s;display:block}.gv-sg-label{color:var(--text-muted);white-space:nowrap;font-size:11px;font-weight:600}.gv-card-meta-item{background:var(--bg-secondary);border-radius:4px;padding:2px 8px;font-weight:500}.gv-form--wide{width:560px}.gvf-subgoals{flex-direction:column;gap:6px;display:flex}.gvf-sg-row{align-items:center;gap:6px;display:flex}.gvf-sg-cb{cursor:pointer;accent-color:#6c63ff;width:14px;height:14px}.gvf-sg-input{flex:1}.gvf-add-sg{color:var(--text-muted);border:1px dashed var(--border);cursor:pointer;background:0 0;border-radius:6px;align-items:center;gap:4px;padding:6px 10px;font-family:inherit;font-size:12px;transition:color .15s,border-color .15s;display:inline-flex}.gvf-add-sg:hover{color:#6c63ff;border-color:#6c63ff}.gvf-scenes{border:1px solid var(--border);border-radius:6px;flex-direction:column;gap:1px;max-height:160px;padding:4px;display:flex;overflow-y:auto}.gvf-scene-row{cursor:pointer;border-radius:4px;align-items:center;gap:6px;padding:4px 6px;font-size:13px;transition:background .1s;display:flex}.gvf-scene-row:hover{background:var(--bg-secondary)}.gvf-scene-row input[type=checkbox]{cursor:pointer;accent-color:#6c63ff;width:14px;height:14px}.gvf-scene-title{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;min-width:0;font-weight:500;overflow:hidden}.gvf-scene-path{color:var(--text-muted);white-space:nowrap;margin-left:auto;font-size:11px}.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);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}.settings-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}.settings-view .sv-header{border-bottom:1px solid var(--border-color);flex-shrink:0;align-items:center;padding:16px 24px;display:flex}.settings-view .sv-title{color:var(--text-primary);align-items:center;gap:8px;margin:0;font-size:20px;font-weight:700;display:flex}.settings-view .sv-content{flex-direction:column;flex:1;gap:32px;padding:24px 32px;display:flex;overflow-y:auto}.settings-view .sv-section{flex-direction:column;gap:16px;display:flex}.settings-view .sv-section-title{color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;margin:0;font-size:12px;font-weight:700}.sv-field{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.sv-field-label{color:var(--text-primary);min-width:160px;font-size:13px;font-weight:500}.sv-field-label strong{font-weight:700}.sv-font-grid{flex-wrap:wrap;gap:8px;display:flex}.sv-font-card{background:var(--bg-card);border:1px solid var(--border);cursor:pointer;border-radius:8px;flex-direction:column;align-items:center;gap:4px;min-width:80px;padding:10px 16px;transition:border-color .15s,box-shadow .15s;display:flex}.sv-font-card:hover{border-color:var(--text-muted)}.sv-font-card.active{border-color:#6c63ff;box-shadow:0 0 0 1px #6c63ff}.sv-font-name{color:var(--text-muted);font-size:11px}.sv-font-preview{color:var(--text-primary);font-size:24px}.sv-slider{appearance:none;background:var(--border);border-radius:2px;outline:none;flex:1;max-width:200px;height:4px}.sv-slider::-webkit-slider-thumb{appearance:none;cursor:pointer;border:2px solid var(--bg-primary);background:#6c63ff;border-radius:50%;width:16px;height:16px;box-shadow:0 1px 4px #0003}.sv-theme-toggle{border:1px solid var(--border);border-radius:8px;gap:0;display:flex;overflow:hidden}.sv-theme-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:none;align-items:center;gap:6px;padding:8px 16px;font-size:13px;transition:background .15s,color .15s;display:flex}.sv-theme-btn.active{color:#fff;background:#6c63ff}.sv-theme-btn:not(.active):hover{background:var(--bg-secondary)}.sv-toggle{cursor:pointer;width:40px;height:22px;display:inline-block;position:relative}.sv-toggle input{display:none}.sv-toggle-slider{background:var(--border);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:#6c63ff}.sv-toggle input:checked+.sv-toggle-slider:before{transform:translate(18px)}.sv-select{background:var(--bg-secondary);border:1px solid var(--border);color:var(--text-primary);cursor:pointer;border-radius:6px;outline:none;padding:6px 10px;font-size:13px}.sv-excluded-list{flex-wrap:wrap;gap:6px;margin-top:8px;display:flex}.sv-excluded-tag{background:var(--bg-secondary);border:1px solid var(--border);color:var(--text-muted);border-radius:4px;align-items:center;gap:4px;padding:2px 8px;font-size:11px;display:inline-flex}.sv-excluded-tag button{color:var(--text-muted);cursor:pointer;background:0 0;border:none;padding:0;line-height:1}.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}.bookmarks-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}.bv-header{border-bottom:1px solid var(--border-color);flex-shrink:0;align-items:center;padding:16px 24px;display:flex}.bv-title{color:var(--text-primary);align-items:center;gap:8px;margin:0;font-size:20px;font-weight:700;display:flex}.bv-list{flex-direction:column;flex:1;gap:6px;padding:16px 24px;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:12px;padding:60px;font-size:14px;display:flex}.bv-empty svg{opacity:.35;width:48px;height:48px}.bv-card{background:var(--bg-card);border:1px solid var(--border);cursor:pointer;border-radius:8px;align-items:center;gap:12px;padding:10px 12px;transition:border-color .15s,box-shadow .15s;display:flex}.bv-card:hover{border-color:var(--text-muted);box-shadow:0 1px 6px #0000000f}.bv-card-icon{background:var(--bg-secondary);color:#f97316;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;display:flex}.bv-card-body{flex:1;min-width:0}.bv-card-title{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:14px;font-weight:600;overflow:hidden}.bv-card-meta{color:var(--text-muted);gap:6px;margin-top:2px;font-size:11px;display:flex}.bv-card-type{background:var(--bg-secondary);text-transform:uppercase;letter-spacing:.03em;border-radius:3px;padding:1px 6px;font-weight:600}.bv-card-label{font-style:italic}.bv-del{opacity:0;flex-shrink:0;transition:opacity .15s}.bv-card:hover .bv-del{opacity:1}.editor-footer{border-top:1px solid var(--border);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);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: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: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: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);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);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);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);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);border-radius:4px;padding:2px 6px;font-family:inherit;font-size:10px}
