*{box-sizing:border-box;margin:0;padding:0}:root{--bg-primary: #0a0a0a;--bg-secondary: #141414;--bg-tertiary: #1f1f1f;--text-primary: #e5e5e5;--text-secondary: #a3a3a3;--text-muted: #6b7280;--border: #2a2a2a;--accent: #6366f1;--success: #22c55e;--warning: #f59e0b;--info: #3b82f6;--pink: #ec4899}html,body{height:100%}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:var(--bg-primary);color:var(--text-primary);overflow:hidden}.app{width:100vw;height:100vh;height:100dvh;display:flex;flex-direction:column;position:relative}.app-tab-bar{display:flex;align-items:center;background:#1a1a2e;border-bottom:1px solid #333;height:30px;flex-shrink:0;z-index:1200}.app-tab-bar-tabs{display:flex;align-items:center;height:100%}.app-tab-bar-center{margin:0 auto;display:flex;align-items:center;height:100%}.app-tab-bar-right{display:flex;align-items:center;height:100%}.app-tab-bar-center .legend-item{height:100%;border-radius:0;font-size:.7rem;padding:0 6px;border:none;gap:4px}.app-tab-bar-center .legend-item .dot{width:7px;height:7px}.tab-bar-btn{background:none;border:none;padding:0 7px;color:var(--text-muted);cursor:pointer;display:flex;align-items:center;justify-content:center;height:100%;transition:all .15s}.tab-bar-btn:hover{background:var(--bg-tertiary);color:var(--text-primary)}.tab-bar-btn.active{color:var(--accent)}.tab-bar-btn:focus{outline:none}.tab-bar-btn:disabled{cursor:default}.app-tab{padding:0 14px;background:none;border:none;border-bottom:2px solid transparent;color:#888;font-size:12px;cursor:pointer;transition:color .15s,border-color .15s;height:100%;display:flex;align-items:center;gap:5px}.app-tab:hover{color:#ccc}.app-tab.active{color:#fff;border-bottom-color:#6c63ff}.app-tab-content{flex:1;position:relative;overflow:hidden;display:flex}.app.loading,.app.error{justify-content:center;align-items:center}.loader{color:var(--text-secondary);font-size:1.125rem}.error-message{text-align:center;max-width:400px}.error-message h2{color:#ef4444;margin-bottom:12px}.error-message p{color:var(--text-secondary);margin-bottom:8px}.error-message code{background:var(--bg-tertiary);padding:4px 8px;border-radius:4px;font-size:.875rem}.graph-container{flex:1;height:100%;position:relative;z-index:1}.graph-corner-controls{position:absolute;top:0;left:0;z-index:100;display:flex;flex-direction:row;gap:0}.graph-corner-controls .graph-control-btn{border-radius:0;border-left:none;border-top:none}.graph-corner-controls .graph-control-btn:first-child{border-bottom-right-radius:0}.graph-corner-controls .graph-control-btn:last-child{border-bottom-right-radius:8px}.graph-control-btn{width:36px;height:36px;background:var(--bg-secondary);border:1px solid var(--border);border-radius:8px;cursor:pointer;color:var(--text-muted);transition:all .2s ease;display:flex;align-items:center;justify-content:center;font-size:16px}.graph-control-btn:hover{color:var(--text);border-color:var(--text-secondary);background:var(--bg-tertiary)}.graph-control-btn.active{color:var(--accent);border-color:var(--accent);background:var(--bg-tertiary)}.graph-control-btn.unsaved{border-color:#ef4444;border-width:2px}.node-card{position:absolute;top:0;right:0;width:340px;height:100vh;background:var(--bg-secondary);border-left:1px solid var(--border);padding:16px;overflow-y:auto;display:flex;flex-direction:column;gap:12px;transition:width .2s ease;z-index:100}.node-card.expanded{width:calc(100vw - 40px);z-index:1100}.node-card-header{display:flex;align-items:flex-start;gap:12px}.header-content{flex:1;display:flex;flex-direction:column;gap:8px}.node-name-input{background:transparent;border:1px solid transparent;border-radius:6px;padding:4px 8px;color:var(--text-primary);font-size:1.5rem;font-weight:600;width:100%;transition:all .15s}.node-name-input:hover{background:var(--bg-tertiary)}.node-name-input:focus{outline:none;background:var(--bg-tertiary);border-color:var(--accent)}.node-type-select{background:transparent;border:1px solid transparent;border-radius:4px;padding:4px 8px;font-size:.75rem;font-weight:500;text-transform:uppercase;letter-spacing:.5px;cursor:pointer;width:fit-content;transition:all .15s}.node-type-select:hover{border-color:var(--border)}.node-type-select:focus{outline:none;border-color:var(--accent)}.node-type-select.node-type-area{background:#6366f133;color:#818cf8}.node-type-select.node-type-skill{background:#22c55e33;color:#4ade80}.node-type-select.node-type-state{background:#f59e0b33;color:#fbbf24}.node-type-select.node-type-knowledge{background:#3b82f633;color:#60a5fa}.node-type-select.node-type-trait{background:#ec489933;color:#f472b6}.header-actions{display:flex;align-items:center;gap:4px}.close-btn{background:none;border:none;color:var(--text-secondary);font-size:1.5rem;cursor:pointer;padding:4px 8px;line-height:1}.close-btn:hover{color:var(--text-primary)}.focus-btn{background:none;border:none;color:var(--text-secondary);cursor:pointer;padding:6px;line-height:1;border-radius:4px;transition:all .15s}.focus-btn:hover{color:var(--accent);background:#6366f11a}.expand-toggle-btn{background:none;border:none;color:var(--text-secondary);cursor:pointer;padding:6px;line-height:1;border-radius:4px;transition:all .15s;flex-shrink:0}.expand-toggle-btn:hover{color:var(--accent);background:#6366f11a}.node-type{display:inline-block;padding:4px 10px;border-radius:4px;font-size:.75rem;font-weight:500;text-transform:uppercase;letter-spacing:.5px}.node-type-area{background:#6366f133;color:#818cf8}.node-type-skill{background:#22c55e33;color:#4ade80}.node-type-state{background:#f59e0b33;color:#fbbf24}.node-type-knowledge{background:#3b82f633;color:#60a5fa}.node-type-trait{background:#ec489933;color:#f472b6}.periodicity-section{background:var(--bg-tertiary);padding:12px 16px;border-radius:8px}.periodicity-section .periodicity-toggle{margin-bottom:0}.periodicity-section .periodicity-fields{margin-top:12px}.periodicity-target{width:60px;background:var(--bg-secondary);border:1px solid var(--border);border-radius:6px;padding:6px 10px;color:var(--text-primary);font-size:.875rem}.section h3{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-secondary);margin-bottom:6px}.empty{color:var(--text-muted);font-style:italic;font-size:.85rem}.add-task-form{display:flex;gap:6px;margin-bottom:8px}.add-task-form input{flex:1;background:var(--bg-tertiary);border:1px solid var(--border);border-radius:4px;padding:6px 10px;color:var(--text-primary);font-size:.85rem}.add-task-form input:focus{outline:none;border-color:var(--accent)}.add-task-form button{background:var(--accent);color:#fff;border:none;padding:6px 10px;border-radius:4px;font-weight:600;cursor:pointer}.add-task-form button:disabled{opacity:.5;cursor:not-allowed}.task-list{list-style:none;display:flex;flex-direction:column;gap:8px}.task-list li{background:var(--bg-tertiary);padding:12px;border-radius:8px}.task-list li.completed{opacity:.6}.task-list.hierarchical{gap:4px}.task-list.hierarchical li{padding:8px 10px;border-left:2px solid transparent}.task-list.hierarchical li[style*=margin-left]{border-left-color:var(--border);background:var(--bg-secondary);font-size:.9em}.task-list li.completed span{text-decoration:line-through}.task-list label{display:flex;align-items:center;gap:10px;cursor:pointer}.task-list input[type=checkbox]{width:18px;height:18px;accent-color:var(--success)}.task-types{margin-left:auto;display:flex;gap:4px}.task-type{font-size:.625rem;padding:2px 6px;border-radius:4px;text-transform:uppercase}.task-type-learn{background:#3b82f633;color:#60a5fa}.task-type-practice{background:#22c55e33;color:#4ade80}.task-type-reflect{background:#a855f733;color:#c084fc}.create-task-form{display:flex;gap:6px;margin-bottom:8px}.create-task-form input{flex:1;background:var(--bg-tertiary);border:1px solid var(--border);border-radius:4px;padding:6px 10px;color:var(--text-primary);font-size:.85rem}.create-task-form input:focus{outline:none;border-color:var(--accent)}.create-task-form button{background:var(--accent);color:#fff;border:none;padding:6px 10px;border-radius:4px;font-weight:600;cursor:pointer}.create-task-form button:disabled{opacity:.5;cursor:not-allowed}.task-list-compact{list-style:none;display:flex;flex-direction:column;gap:4px}.task-list-compact li{display:flex;align-items:center;gap:8px;padding:4px 0}.task-list-compact li.completed .task-title{text-decoration:line-through;color:var(--text-secondary)}.task-list-compact li.cancelled .task-title{text-decoration:line-through;color:var(--text-muted)}.task-list-compact .task-checkbox{background:none;border:none;cursor:pointer;padding:0;font-size:14px;line-height:1}.task-list-compact .task-title{cursor:pointer;font-size:.9rem;color:var(--text-primary)}.task-list-compact .task-title:hover{color:var(--accent)}.journal-entry-form{border:1px solid var(--border);border-radius:8px;padding:12px;margin-bottom:16px;background:var(--bg-secondary)}.journal-entry-form .comment-form{margin-bottom:0}.comment-form{display:flex;flex-direction:column;gap:8px;margin-bottom:16px}.comment-form textarea{background:var(--bg-tertiary);border:1px solid var(--border);border-radius:8px;padding:12px;color:var(--text-primary);font-family:inherit;font-size:.875rem;resize:vertical}.comment-form textarea:focus{outline:none;border-color:var(--accent)}.comment-form button{align-self:flex-end;background:var(--accent);color:#fff;border:none;padding:8px 16px;border-radius:6px;font-weight:500;cursor:pointer;transition:opacity .2s}.comment-form button:disabled{opacity:.5;cursor:not-allowed}.comment-form button:hover:not(:disabled){opacity:.9}.comment-list{list-style:none;display:flex;flex-direction:column;gap:12px}.comment-list li{background:var(--bg-tertiary);padding:12px;border-radius:8px}.comment-list p{font-size:.875rem;line-height:1.5;margin-bottom:8px}.comment-list time{font-size:.75rem;color:var(--text-muted)}.comment-list .measurement{display:inline-block;background:#22c55e33;color:#4ade80;padding:2px 8px;border-radius:4px;font-size:.75rem;margin-right:8px}.legend-item{display:flex;align-items:center;gap:6px;font-size:.75rem;color:var(--text-secondary);background:none;border:1px solid transparent;padding:6px 10px;border-radius:6px;cursor:pointer;transition:all .15s}.legend-item:hover{background:var(--bg-tertiary);border-color:var(--border);color:var(--text-primary)}.dot{width:10px;height:10px;border-radius:50%}.dot.area{background:#6366f1}.dot.skill{background:#22c55e}.dot.state{background:#f59e0b}.dot.knowledge{background:#3b82f6}.dot.trait{background:#ec4899}.dot.task{background:#f97316}.dot.person{background:#8b5cf6}.dot.comment{background:#fbbf24}.context-menu{position:fixed;background:var(--bg-secondary);border:1px solid var(--border);border-radius:6px;padding:3px;min-width:120px;z-index:1000;box-shadow:0 4px 12px #0006}.context-menu button{display:flex;align-items:center;gap:6px;width:100%;padding:5px 8px;background:none;border:none;color:var(--text-primary);font-size:.8rem;cursor:pointer;border-radius:3px;text-align:left}.context-menu button:hover{background:var(--bg-tertiary)}.context-menu button.danger{color:#f87171}.context-menu button.danger:hover{background:#ef444426}.context-menu-divider{height:1px;background:var(--border);margin:2px 0}.status-picker-menu{position:fixed;background:var(--bg-secondary);border:1px solid var(--border);border-radius:6px;padding:3px;min-width:130px;z-index:1001;box-shadow:0 4px 12px #0006}.status-picker-menu .status-option{display:flex;align-items:center;gap:8px;width:100%;padding:6px 10px;background:none;border:none;color:var(--text-primary);font-size:.85rem;cursor:pointer;border-radius:4px;text-align:left}.status-picker-menu .status-option:hover{background:var(--bg-tertiary)}.status-picker-menu .status-option.active{background:var(--bg-tertiary);font-weight:500}.status-picker-menu .status-emoji{font-size:1rem;width:20px;text-align:center}.status-picker-menu .status-option.pending.active{border-left:2px solid #f97316}.status-picker-menu .status-option.analyzed.active{border-left:2px solid #d946ef}.status-picker-menu .status-option.approved.active{border-left:2px solid #06b6d4}.status-picker-menu .status-option.in_progress.active{border-left:2px solid #3b82f6}.status-picker-menu .status-option.review.active{border-left:2px solid #eab308}.status-picker-menu .status-option.completed.active{border-left:2px solid #22c55e}.status-picker-menu .status-option.cancelled.active{border-left:2px solid #9ca3af}.confirm-dialog-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:2000}.confirm-dialog{background:var(--bg-secondary);border:1px solid var(--border);border-radius:12px;padding:20px 24px;max-width:320px;box-shadow:0 8px 24px #00000080}.confirm-dialog p{margin-bottom:16px;color:var(--text-primary);font-size:.95rem;line-height:1.5}.confirm-dialog-buttons{display:flex;gap:8px;justify-content:flex-end}.confirm-dialog-buttons button{padding:8px 16px;border-radius:6px;font-size:.875rem;cursor:pointer;border:1px solid var(--border);background:var(--bg-tertiary);color:var(--text-primary)}.confirm-dialog-buttons button:hover{background:var(--bg-primary)}.confirm-dialog-buttons button.danger{background:#dc2626;border-color:#dc2626;color:#fff}.confirm-dialog-buttons button.danger:hover{background:#b91c1c}.node-label-input{position:fixed;transform:translate(-50%);background:var(--bg-secondary);border:1px solid var(--accent);border-radius:4px;padding:3px 4px;color:var(--text-primary);font-family:Inter,sans-serif;font-size:12px;text-align:center;min-width:50px;max-width:80vw;z-index:1000;outline:none}.recalculate-btn.saving{background:#dc2626!important;border-color:#dc2626!important;color:#fff!important}.mobile-mode-toggle{position:absolute;top:8px;left:8px;z-index:100;display:flex;border-radius:8px;overflow:hidden;border:1px solid #333}.mobile-mode-btn{width:40px;height:40px;background:var(--bg-secondary);border:none;color:var(--text-muted);display:flex;align-items:center;justify-content:center;cursor:pointer}.mobile-mode-btn+.mobile-mode-btn{border-left:1px solid #333}.mobile-mode-btn.active{background:var(--accent);color:#fff}.minimap-container{position:absolute;bottom:0;left:0;z-index:100;border-top:1px solid var(--border);border-right:1px solid var(--border);border-top-right-radius:8px;overflow:hidden;background:var(--bg-secondary)}.minimap-canvas{display:block;cursor:pointer}.minimap-canvas:hover{opacity:.9}.graph-settings-panel{position:absolute;top:36px;left:0;background:var(--bg-secondary);border-right:1px solid var(--border);border-bottom:1px solid var(--border);border-bottom-right-radius:8px;padding:12px;min-width:240px;z-index:1000}.settings-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;font-weight:600;color:var(--text-primary)}.settings-header .close-btn{background:none;border:none;color:var(--text-secondary);font-size:1.25rem;cursor:pointer;padding:0;line-height:1}.settings-header .close-btn:hover{color:var(--text-primary)}.settings-row{display:flex;align-items:center;gap:8px;margin-bottom:8px}.settings-row:last-child{margin-bottom:0}.settings-row label{flex:0 0 90px;font-size:.875rem;color:var(--text-secondary)}.settings-row label[title]{cursor:help}.settings-row input[type=range]{flex:1;height:6px;background:var(--bg-tertiary);border-radius:3px;-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer}.settings-row input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:14px;height:14px;background:var(--accent);border-radius:50%;cursor:pointer}.settings-row .settings-value{flex:0 0 45px;font-size:.75rem;color:var(--text-muted);text-align:right}.settings-hotkey-display{padding:2px 8px;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:4px;font-size:.8rem;font-family:inherit;color:var(--text-primary)}.settings-hotkey-recording{font-size:.8rem;color:var(--accent);animation:pulse 1s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.settings-hotkey-btn{margin-left:auto;padding:2px 8px;font-size:.75rem;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:4px;color:var(--text-secondary);cursor:pointer}.settings-hotkey-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.settings-divider{font-size:.7rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;margin:8px 0 4px;padding-top:8px;border-top:1px solid var(--border-color)}.graph-container{position:absolute;top:0;left:0;right:0;bottom:0}.selection-overlay{position:absolute;top:0;left:0;right:0;bottom:0;pointer-events:none;z-index:10}.selection-overlay.active{pointer-events:auto;cursor:crosshair}.selection-box{position:fixed;border:2px solid #22d3ee;background:#22d3ee1a;pointer-events:none;z-index:999}.bulk-toolbar{position:absolute;bottom:20px;left:50%;transform:translate(-50%);background:var(--bg-secondary);border:1px solid var(--border);border-radius:8px;padding:8px 16px;display:flex;align-items:center;gap:12px;z-index:1000}.bulk-toolbar .bulk-count{font-size:.875rem;color:#22d3ee;font-weight:600}.bulk-toolbar button{padding:6px 12px;border-radius:6px;border:1px solid var(--border);background:var(--bg-tertiary);color:var(--text-primary);font-size:.875rem;cursor:pointer;transition:all .15s}.bulk-toolbar button:hover{background:var(--bg-primary);border-color:var(--accent)}.bulk-toolbar button.danger{background:#dc2626;border-color:#dc2626;color:#fff}.bulk-toolbar button.danger:hover{background:#b91c1c}.bulk-distance-slider{display:flex;align-items:center;gap:6px}.bulk-distance-slider label{font-size:.75rem;color:var(--text-secondary);white-space:nowrap}.bulk-distance-slider input[type=range]{width:100px;height:4px;accent-color:#22d3ee;cursor:pointer}.bulk-distance-value{font-size:.75rem;color:#22d3ee;min-width:36px;text-align:right;font-variant-numeric:tabular-nums}.btn{padding:8px 16px;border-radius:6px;font-weight:500;cursor:pointer;border:none;transition:opacity .2s}.btn:hover:not(:disabled){opacity:.9}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--accent);color:#fff}.btn-secondary{background:var(--bg-tertiary);color:var(--text-primary);border:1px solid var(--border)}.btn-danger{background:#ef444433;color:#f87171;border:1px solid rgba(239,68,68,.3)}.btn-danger:hover:not(:disabled){background:#ef44444d}.danger-zone{margin-top:auto;padding-top:20px;border-top:1px solid var(--border)}.periodicity-toggle{display:flex;align-items:center;gap:8px;cursor:pointer;color:var(--text-secondary);font-size:.875rem}.periodicity-toggle input[type=checkbox]{width:16px;height:16px;accent-color:var(--accent)}.periodicity-fields{display:flex;align-items:center;gap:8px;margin-top:12px}.periodicity-fields input,.periodicity-fields select{background:var(--bg-secondary);border:1px solid var(--border);border-radius:6px;padding:6px 10px;color:var(--text-primary);font-size:.875rem}.periodicity-fields input{width:60px}.periodicity-fields span{color:var(--text-secondary);font-size:.875rem}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:100}.modal{background:var(--bg-secondary);border:1px solid var(--border);border-radius:12px;width:400px;max-width:90vw;max-height:90vh;overflow-y:auto}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid var(--border)}.modal-header h2{font-size:1.25rem;font-weight:600}.node-form{padding:20px;display:flex;flex-direction:column;gap:16px}.form-group{display:flex;flex-direction:column;gap:6px}.form-group>label{font-size:.875rem;font-weight:500;color:var(--text-secondary)}.form-group input[type=text],.form-group select{background:var(--bg-tertiary);border:1px solid var(--border);border-radius:6px;padding:10px 12px;color:var(--text-primary);font-size:.875rem}.form-group input[type=text]:focus,.form-group select:focus{outline:none;border-color:var(--accent)}.form-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:8px}.edge-list{list-style:none;display:flex;flex-direction:column;gap:8px;margin-bottom:12px}.edge-item{display:flex;align-items:center;gap:8px;background:var(--bg-tertiary);padding:8px 12px;border-radius:6px}.edge-item.incoming{opacity:.7}.edge-label{font-size:.75rem;color:var(--text-muted);min-width:80px}.edge-target{flex:1;font-size:.875rem}.edge-delete{background:none;border:none;color:var(--text-muted);cursor:pointer;padding:2px 6px;font-size:1rem}.edge-delete:hover{color:#ef4444}.add-edge-form{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.add-edge-form select{background:var(--bg-tertiary);border:1px solid var(--border);border-radius:6px;padding:6px 10px;color:var(--text-primary);font-size:.875rem;flex:1;min-width:100px}.add-edge-btn{margin-top:8px}.btn-sm{padding:6px 12px;font-size:.75rem}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--bg-primary)}::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#3a3a3a}.health-status{margin-top:12px}.health-bar-container{height:8px;background:var(--bg-secondary);border-radius:4px;overflow:hidden;margin-bottom:8px}.health-bar{height:100%;border-radius:4px;transition:width .3s ease,background-color .3s ease}.health-info{display:flex;align-items:center;gap:12px;font-size:.75rem}.health-value{font-weight:600;font-size:.875rem}.health-progress{color:var(--text-secondary)}.health-streak{margin-left:auto;font-size:.875rem}.comment-form-actions{display:flex;align-items:center;justify-content:space-between;gap:12px}.practice-toggle{display:flex;align-items:center;gap:8px;font-size:.75rem;color:var(--text-secondary);cursor:pointer}.practice-toggle input[type=checkbox]{width:14px;height:14px;accent-color:var(--success)}.practice-toggle:has(input:checked){color:var(--success)}.practice-history,.notes-history{margin-top:16px}.practice-history h4,.notes-history h4{font-size:.75rem;font-weight:500;color:var(--text-muted);margin-bottom:8px;text-transform:uppercase;letter-spacing:.5px}.practice-item{display:flex;align-items:flex-start;gap:10px}.practice-badge{width:20px;height:20px;border-radius:50%;background:#22c55e33;color:var(--success);display:flex;align-items:center;justify-content:center;font-size:.625rem;flex-shrink:0;margin-top:2px}.practice-content{flex:1;min-width:0}.practice-content p{margin-bottom:4px}.more-practices{color:var(--text-muted);font-size:.75rem;text-align:center;margin-top:8px}.person-panel{position:absolute;top:0;right:0;width:340px;height:100vh;background:var(--bg-secondary);border-left:1px solid var(--border);padding:16px;display:flex;flex-direction:column;gap:12px;z-index:50;overflow-y:auto;transition:width .2s ease}.person-panel.expanded{width:calc(100vw - 40px);z-index:1100}.toast{position:fixed;bottom:20px;left:50%;transform:translate(-50%);background:var(--bg-tertiary);color:var(--text-primary);padding:8px 16px;border-radius:6px;font-size:.8rem;z-index:1000;border:1px solid var(--border);box-shadow:0 4px 12px #0000004d;animation:toast-in .2s ease}@keyframes toast-in{0%{opacity:0;transform:translate(-50%) translateY(10px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.person-panel-header{display:flex;align-items:center;gap:8px;flex-shrink:0}.person-panel-header h2{font-size:1.25rem;font-weight:600;flex:1}.person-form{display:flex;gap:8px}.person-form input{flex:1;background:var(--bg-tertiary);border:1px solid var(--border);border-radius:6px;padding:10px 12px;color:var(--text-primary);font-size:.875rem}.person-form input:focus{outline:none;border-color:var(--accent)}.person-form button{background:var(--accent);color:#fff;border:none;padding:10px 16px;border-radius:6px;font-weight:500;cursor:pointer}.person-form button:disabled{opacity:.5;cursor:not-allowed}.person-list{list-style:none;display:flex;flex-direction:column;gap:4px;flex:1;overflow-y:auto}.person-list li{display:flex;align-items:center;gap:8px;background:var(--bg-tertiary);padding:6px 10px;border-radius:6px}.person-avatar{width:26px;height:26px;background:var(--accent);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:.75rem;flex-shrink:0}.person-name{flex:1;font-size:.8rem}.person-delete{background:none;border:none;color:var(--text-muted);cursor:pointer;padding:2px 6px;font-size:1rem;line-height:1}.person-delete:hover{color:#ef4444}.person-profile-form{display:flex;flex-direction:column;gap:6px}.person-profile-form .form-row{display:flex;align-items:center;gap:6px}.person-profile-form .form-row label{min-width:70px;font-size:.7rem;color:var(--text-secondary);display:flex;align-items:center;gap:4px}.person-profile-form .form-row input{flex:1;background:var(--bg-tertiary);border:1px solid var(--border);border-radius:4px;padding:5px 8px;color:var(--text-primary);font-size:.8rem}.person-profile-form .form-row input:focus{outline:none;border-color:var(--accent)}.collapsible-section{margin-bottom:4px}.collapsible-header{display:flex;align-items:center;justify-content:space-between;padding:4px 0;-webkit-user-select:none;user-select:none}.collapsible-title{display:flex;align-items:center;gap:4px;cursor:pointer;flex:1}.collapsible-title:hover h3{color:var(--text-primary)}.collapsible-header h3{margin:0;font-size:.7rem;font-weight:500;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px}.section-add-btn{background:none;border:none;color:var(--text-muted);cursor:pointer;padding:2px 4px;border-radius:3px;display:flex;align-items:center;justify-content:center;opacity:.6;transition:all .15s}.section-add-btn:hover{opacity:1;color:var(--accent);background:#6366f11a}.section-add-wrapper{position:relative}.section-dropdown{position:absolute;top:100%;right:0;background:var(--bg-secondary);border:1px solid var(--border);border-radius:4px;box-shadow:0 4px 12px #0000004d;z-index:100;min-width:120px;overflow:hidden}.section-dropdown button{display:block;width:100%;padding:6px 10px;text-align:left;background:none;border:none;color:var(--text-primary);cursor:pointer;font-size:.75rem}.section-dropdown button:hover{background:var(--bg-tertiary)}.form-row.with-remove{position:relative;padding-right:20px}.field-remove-btn{position:absolute;right:0;top:50%;transform:translateY(-50%);background:none;border:none;color:var(--text-muted);cursor:pointer;font-size:.9rem;padding:2px 4px;opacity:0;transition:opacity .15s}.form-row.with-remove:hover .field-remove-btn{opacity:.6}.field-remove-btn:hover{opacity:1!important;color:var(--danger)}.finance-item{background:var(--bg-tertiary);border:1px solid var(--border);border-radius:6px;padding:8px;margin-bottom:8px;position:relative}.finance-item:last-child{margin-bottom:0}.finance-item-header{display:flex;align-items:center;gap:6px;margin-bottom:6px;padding-bottom:4px;border-bottom:1px solid var(--border)}.finance-item-type{font-size:.7rem;font-weight:500;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px}.debt-item.owed .finance-item-type{color:var(--success)}.debt-item.owe .finance-item-type{color:var(--warning)}.debt-item.resolved{opacity:.6}.debt-item.resolved .finance-item-type:after{content:" ✓"}.item-field-add-wrapper{position:relative;margin-left:auto}.item-field-add-btn{background:none;border:none;color:var(--text-muted);cursor:pointer;font-size:.8rem;padding:0 4px;opacity:.6;transition:all .15s}.item-field-add-btn:hover{opacity:1;color:var(--accent)}.item-field-dropdown{position:absolute;top:100%;right:0;background:var(--bg-secondary);border:1px solid var(--border);border-radius:4px;box-shadow:0 4px 12px #0000004d;z-index:100;min-width:100px;overflow:hidden}.item-field-dropdown button{display:block;width:100%;padding:6px 10px;text-align:left;background:none;border:none;color:var(--text-primary);cursor:pointer;font-size:.75rem}.item-field-dropdown button:hover{background:var(--bg-tertiary)}.finance-item-delete{background:none;border:none;color:var(--text-muted);cursor:pointer;font-size:.9rem;padding:2px 4px;opacity:.6;transition:all .15s}.finance-item-delete:hover{opacity:1;color:var(--danger)}.finance-field-row{display:flex;align-items:center;gap:8px;margin-bottom:4px;position:relative;padding-right:20px}.finance-field-row:last-of-type{margin-bottom:0}.finance-field-row label{width:55px;font-size:.7rem;color:var(--text-muted);flex-shrink:0}.finance-field-row input{flex:1;background:var(--bg-primary);border:1px solid var(--border);border-radius:4px;color:var(--text-primary);padding:4px 6px;font-size:.75rem}.finance-field-value{flex:1;font-size:.75rem;padding:4px 6px;cursor:pointer;border-radius:4px;transition:background .15s}.finance-field-value:hover{background:var(--bg-primary)}.finance-field-value.empty{color:var(--text-muted);font-style:italic}.finance-field-row .field-remove-btn{position:absolute;right:0}.collapsible-toggle{background:none;border:none;color:var(--text-muted);cursor:pointer;padding:2px;display:flex;align-items:center;transition:transform .2s}.collapsible-toggle.collapsed{transform:rotate(-90deg)}.collapsible-content{padding-top:6px}.collapsible-content.collapsed{display:none}.social-links-list{display:flex;flex-wrap:wrap;gap:4px}.social-link-item{display:flex;align-items:center;gap:4px;padding:3px 6px;background:var(--bg-tertiary);border-radius:12px;max-width:100%}.social-link-icon{width:14px;height:14px;display:flex;align-items:center;justify-content:center;color:var(--text-secondary);flex-shrink:0}.social-link-value{font-size:.7rem;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-decoration:none;transition:color .15s;max-width:120px}.social-link-value:hover{color:var(--accent);text-decoration:underline}.social-link-delete{background:none;border:none;color:var(--text-muted);cursor:pointer;padding:0 2px;font-size:.75rem;line-height:1;opacity:0;transition:opacity .15s;flex-shrink:0}.social-link-item:hover .social-link-delete{opacity:1}.social-link-delete:hover{color:#ef4444}.add-social-btn{display:flex;align-items:center;gap:4px;background:none;border:1px dashed var(--border);border-radius:4px;padding:4px 8px;color:var(--text-muted);font-size:.7rem;cursor:pointer;width:100%;justify-content:center;margin-top:4px}.add-social-btn:hover{border-color:var(--accent);color:var(--accent)}.add-social-form{display:flex;gap:4px;margin-top:4px}.add-social-form input{flex:1;background:var(--bg-tertiary);border:1px solid var(--border);border-radius:4px;padding:4px 6px;color:var(--text-primary);font-size:.75rem}.add-social-form input:focus{outline:none;border-color:var(--accent)}.add-social-form button{background:var(--accent);border:none;border-radius:4px;padding:4px 8px;color:#fff;font-size:.7rem;cursor:pointer}.add-social-form button.cancel{background:var(--bg-tertiary);color:var(--text-secondary)}.phone-entries-list{display:flex;flex-direction:column;gap:6px}.phone-entry-item{display:flex;align-items:center;gap:3px;padding:3px 0}.phone-entry-number{width:90px;background:var(--bg-tertiary);border:1px solid var(--border);border-radius:3px;padding:3px 5px;color:var(--text-primary);font-size:.7rem}.phone-entry-label{flex:1;min-width:40px;background:var(--bg-tertiary);border:1px solid var(--border);border-radius:3px;padding:3px 5px;color:var(--text-secondary);font-size:.7rem}.phone-entry-delete{background:none;border:none;color:var(--text-muted);cursor:pointer;padding:0 2px;font-size:.8rem;line-height:1;opacity:.5}.phone-entry-item:hover .phone-entry-delete{opacity:1}.phone-entry-delete:hover{color:#ef4444}.phone-toggle{background:var(--bg-tertiary);border:1px solid var(--border);border-radius:3px;padding:3px;color:var(--text-muted);cursor:pointer;transition:all .15s;display:flex;align-items:center;justify-content:center;flex-shrink:0}.phone-toggle:hover{border-color:var(--text-secondary);color:var(--text-secondary)}.phone-toggle.active{background:#22c55e33;border-color:var(--success);color:var(--success)}.phone-toggle svg{width:11px;height:11px}.phone-entry-number-display,.phone-entry-label-display{font-size:.75rem;color:var(--text-primary);cursor:pointer;padding:3px 5px;border-radius:3px;transition:background .15s;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.phone-entry-number-display{min-width:80px;max-width:120px}.phone-entry-label-display{flex:1;min-width:40px}.phone-entry-number-display:hover,.phone-entry-label-display:hover{background:#6366f11a}.phone-entry-number-display.empty,.phone-entry-label-display.empty{color:var(--text-muted);font-style:italic}.date-with-age{display:flex;align-items:center;gap:8px;flex:1}.date-with-age input{flex:1}.age-display{font-size:.75rem;color:var(--text-secondary);white-space:nowrap}.person-create-form{display:flex;flex-direction:column;gap:6px;margin-bottom:12px}.person-create-form .form-row{display:flex;flex-direction:column;gap:6px}.person-create-form input{flex:1;background:var(--bg-tertiary);border:1px solid var(--border);border-radius:4px;padding:6px 10px;color:var(--text-primary);font-size:.8rem}.person-create-form input:focus{outline:none;border-color:var(--accent)}.person-create-form button{background:var(--accent);color:#fff;border:none;padding:6px 12px;border-radius:4px;font-weight:500;font-size:.8rem;cursor:pointer}.person-create-form button:disabled{opacity:.5;cursor:not-allowed}.people-btn{background:var(--bg-tertiary)!important;border:1px solid var(--border)!important}.comment-meta{display:flex;align-items:center;gap:12px}.edit-btn{background:none;border:none;color:var(--text-muted);font-size:.75rem;cursor:pointer;padding:0}.edit-btn:hover{color:var(--accent)}.edit-comment-form{flex:1;display:flex;flex-direction:column;gap:8px}.edit-comment-form textarea{background:var(--bg-secondary);border:1px solid var(--border);border-radius:6px;padding:8px 10px;color:var(--text-primary);font-family:inherit;font-size:.875rem;resize:vertical}.edit-comment-form textarea:focus{outline:none;border-color:var(--accent)}.edit-comment-actions{display:flex;gap:8px}.comment-form-options{display:flex;gap:16px;flex-wrap:wrap}.measurement-toggle{display:flex;align-items:center;gap:8px;font-size:.75rem;color:var(--text-secondary);cursor:pointer}.measurement-toggle input[type=checkbox]{width:14px;height:14px;accent-color:var(--info)}.measurement-toggle:has(input:checked){color:var(--info)}.measurement-fields{display:flex;gap:8px;flex-wrap:wrap;padding:8px;background:var(--bg-tertiary);border-radius:6px}.measurement-fields .measurement-type{background:var(--bg-secondary);border:1px solid var(--border);border-radius:4px;padding:6px 8px;color:var(--text-primary);font-size:.75rem}.measurement-fields .measurement-value,.measurement-fields .measurement-unit{background:var(--bg-secondary);border:1px solid var(--border);border-radius:4px;padding:6px 8px;color:var(--text-primary);font-size:.75rem;width:80px}.measurement-fields .measurement-type:focus,.measurement-fields .measurement-value:focus,.measurement-fields .measurement-unit:focus{outline:none;border-color:var(--info)}.measurement-fields .measurement-value::placeholder,.measurement-fields .measurement-unit::placeholder{font-size:.75rem}.person-select{display:flex;flex-direction:column;gap:6px}.person-select-label{font-size:.75rem;color:var(--text-secondary)}.person-chips{display:flex;flex-wrap:wrap;gap:6px}.person-chip{background:var(--bg-tertiary);border:1px solid var(--border);border-radius:16px;padding:4px 12px;font-size:.75rem;color:var(--text-secondary);cursor:pointer;transition:all .15s}.person-chip:hover{border-color:var(--accent);color:var(--text-primary)}.person-chip.selected{background:#6366f133;border-color:var(--accent);color:var(--accent);display:flex;align-items:center;gap:4px}.person-chip-remove{background:none;border:none;color:var(--accent);font-size:14px;cursor:pointer;padding:0;margin-left:2px;line-height:1;opacity:.7}.person-chip-remove:hover{opacity:1}.person-search-select{margin-top:8px}.person-search-select .searchable-select-input{width:100%}.person-add-select{background:var(--bg-tertiary);border:1px dashed var(--border);border-radius:16px;padding:4px 12px;font-size:.75rem;color:var(--text-secondary);cursor:pointer;transition:all .15s}.person-add-select:hover{border-color:var(--accent);color:var(--text-primary)}.searchable-select{position:relative;flex:1}.searchable-select-input{width:100%;background:var(--bg-tertiary);border:1px solid var(--border);border-radius:6px;padding:8px 12px;font-size:.875rem;color:var(--text-primary)}.searchable-select-input:focus{outline:none;border-color:var(--accent)}.searchable-select-dropdown{position:absolute;top:100%;left:0;right:0;background:var(--bg-secondary);border:1px solid var(--border);border-radius:6px;margin-top:4px;max-height:200px;overflow-y:auto;z-index:100;box-shadow:0 4px 12px #0000004d}.searchable-select-option{display:block;width:100%;text-align:left;background:none;border:none;padding:8px 12px;font-size:.875rem;color:var(--text-primary);cursor:pointer}.searchable-select-option:hover{background:var(--bg-tertiary)}.searchable-select-option.selected{background:#6366f133;color:var(--accent)}.searchable-select-empty{padding:8px 12px;font-size:.75rem;color:var(--text-secondary);text-align:center}.involved-persons{display:flex;flex-wrap:wrap;gap:4px;margin:4px 0}.involved-person{background:#ec489933;color:var(--pink);padding:2px 8px;border-radius:10px;font-size:.625rem}.involved-person.clickable{border:none;cursor:pointer;transition:background .15s}.involved-person.clickable:hover{background:#ec489966}.involved-person.with-remove{display:inline-flex;align-items:center;gap:2px;padding:2px 4px 2px 8px}.involved-person.with-remove .person-name-btn{background:none;border:none;color:inherit;padding:0;cursor:pointer;font-size:inherit}.involved-person.with-remove .person-name-btn:hover{text-decoration:underline}.involved-person.with-remove .remove-btn{background:none;border:none;color:inherit;padding:0 2px;cursor:pointer;font-size:.75rem;opacity:.6;line-height:1}.involved-person.with-remove .remove-btn:hover{opacity:1;color:#ef4444}.involved-persons-section{display:flex;flex-direction:column;gap:8px}.involved-persons-section .add-person-select{max-width:200px}.task-type-section{padding-top:0!important}.back-btn{background:none;border:none;color:var(--text-secondary);font-size:1.25rem;cursor:pointer;padding:4px 8px}.back-btn:hover{color:var(--text-primary)}.person-list li.clickable{cursor:pointer;transition:background .15s}.person-list li.clickable:hover{background:var(--bg-secondary)}.person-detail-section{margin-bottom:12px}.person-detail-section h3{font-size:.7rem;font-weight:500;color:var(--text-muted);margin-bottom:6px;text-transform:uppercase;letter-spacing:.5px}.person-history-list{list-style:none;display:flex;flex-direction:column;gap:8px}.person-history-list li{background:var(--bg-tertiary);padding:10px 12px;border-radius:6px}.person-history-list li.completed{opacity:.6}.person-history-list li.completed p{text-decoration:line-through}.person-history-list p{font-size:.875rem;margin-bottom:4px}.person-history-list time{font-size:.75rem;color:var(--text-muted)}.task-item{background:var(--bg-tertiary);padding:12px;border-radius:8px}.task-header{display:flex;align-items:center;gap:8px}.task-header label{display:flex;align-items:center;gap:10px;cursor:pointer;flex:1}.task-persons-count{font-size:.75rem;color:var(--pink);cursor:pointer;padding:2px 6px;background:#ec48991a;border-radius:4px}.task-expand-btn{background:none;border:none;color:var(--text-muted);font-size:.625rem;cursor:pointer;padding:4px}.task-expand-btn:hover{color:var(--text-primary)}.task-persons-section{margin-top:10px;padding-top:10px;border-top:1px solid var(--border)}.task-persons-label{font-size:.75rem;color:var(--text-muted);margin-bottom:8px}.task-persons-chips{display:flex;flex-wrap:wrap;gap:6px}.note-item-with-actions{display:flex;gap:8px;align-items:flex-start}.note-item-with-actions .practice-content,.note-item-with-actions .note-content{flex:1;min-width:0}.note-actions{display:flex;flex-direction:column;gap:2px;flex-shrink:0}.note-action-btn{background:var(--bg-tertiary);border:none;color:var(--text-secondary);cursor:pointer;padding:4px;border-radius:4px;transition:all .15s;display:flex;align-items:center;justify-content:center}.note-action-btn:hover{color:var(--accent);background:#6366f133}.note-action-btn.danger:hover{color:#ef4444;background:#ef444433}.link-note-form{display:flex;gap:8px;margin-top:8px;flex-wrap:wrap}.link-note-form .searchable-select{flex:1;min-width:150px}.note-card{position:absolute;right:0;top:0;height:100vh;width:340px;max-width:100vw;background:var(--bg-secondary);border-left:1px solid var(--border);padding:20px;overflow-y:auto;z-index:100;display:flex;flex-direction:column;gap:20px;transition:width .2s ease}.note-card.expanded{width:calc(100vw - 40px);z-index:1100}.note-card-header{display:flex;align-items:flex-start;gap:12px}.note-card-header .header-content{flex:1;display:flex;flex-direction:column;gap:4px}.note-type-badge{display:inline-block;padding:4px 8px;border-radius:4px;font-size:.7rem;font-weight:500;width:fit-content}.note-type-badge.practice{background:#22c55e33;color:#4ade80}.note-type-badge.note{background:#fbbf2433;color:#fbbf24}.note-title{font-size:1.125rem;font-weight:600;color:var(--text-primary)}.note-full-content{background:var(--bg-tertiary);padding:12px;border-radius:6px}.note-full-content p{white-space:pre-wrap;line-height:1.5}.note-full-content p.placeholder{color:var(--text-muted);font-style:italic}.note-full-content .edit-btn{margin-top:8px}.edit-note-form{display:flex;flex-direction:column;gap:8px}.edit-note-form textarea{width:100%;padding:8px;background:var(--bg-tertiary);border:1px solid var(--border);border-radius:6px;color:var(--text-primary);font-size:.875rem;resize:vertical}.edit-actions{display:flex;gap:8px}.edit-history-section{border-top:1px solid var(--border);padding-top:12px}.history-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.edited-badge{background:var(--warning);color:#000;padding:2px 8px;border-radius:4px;font-size:.75rem;font-weight:500}.history-list{display:flex;flex-direction:column;gap:8px}.history-item{background:var(--bg-tertiary);padding:10px;border-radius:6px;border-left:3px solid var(--text-muted);opacity:.7}.history-content{font-size:.875rem;color:var(--text-secondary);white-space:pre-wrap;line-height:1.4}.history-date{display:block;font-size:.75rem;color:var(--text-muted);margin-top:6px}.measurement-display{background:var(--bg-tertiary);padding:12px;border-radius:6px;display:flex;align-items:baseline;gap:8px}.measurement-value{font-size:1.5rem;font-weight:600;color:var(--accent)}.measurement-unit{font-size:1rem;color:var(--text-secondary)}.measurement-type{font-size:.75rem;color:var(--text-muted)}.linked-nodes-list{list-style:none;display:flex;flex-direction:column;gap:8px}.linked-node-item{display:flex;align-items:center;justify-content:space-between;background:var(--bg-tertiary);padding:8px 12px;border-radius:6px}.node-link{background:none;border:none;color:var(--text-primary);cursor:pointer;display:flex;align-items:center;gap:8px;font-size:.875rem}.node-link:hover{color:var(--accent)}.node-type-dot{width:8px;height:8px;border-radius:50%}.node-type-dot.area{background:#6366f1}.node-type-dot.skill{background:#22c55e}.node-type-dot.state{background:#f59e0b}.node-type-dot.knowledge{background:#3b82f6}.node-type-dot.trait{background:#ec4899}.link-direction{font-family:monospace;font-size:.75rem;color:var(--text-secondary);margin-right:4px;opacity:.7}.linked-notes-section h3{display:flex;align-items:center;gap:8px}.linked-note-header{display:flex;align-items:center;gap:6px;margin-bottom:4px}.note-type-badge.small{font-size:.7rem;padding:2px 6px}.link-direction-badge{font-size:.7rem;color:var(--text-secondary);background:var(--bg-tertiary);padding:2px 6px;border-radius:4px;opacity:.8}.note-content p.clickable{cursor:pointer}.note-content p.clickable:hover{color:var(--accent)}.unlink-btn{background:none;border:none;color:var(--text-secondary);cursor:pointer;padding:4px;border-radius:4px;transition:all .15s}.unlink-btn:hover{color:#ef4444;background:#ef44441a}.add-link-form{display:flex;gap:8px;margin-top:8px;flex-wrap:wrap}.add-link-form .searchable-select{flex:1;min-width:150px}.attach-note-form{display:flex;gap:8px;margin-top:8px;flex-wrap:wrap}.attach-note-form .searchable-select{flex:1;min-width:150px}.attach-note-btn{margin-top:8px}.note-details{background:var(--bg-tertiary);padding:12px;border-radius:6px;display:flex;flex-direction:column;gap:8px}.detail-row{display:flex;gap:8px}.detail-label{color:var(--text-muted);font-size:.75rem;min-width:60px}.detail-row time,.detail-row span{font-size:.875rem;color:var(--text-secondary)}.task-card{position:absolute;right:0;top:0;height:100vh;width:340px;max-width:100vw;background:var(--bg-secondary);border-left:1px solid var(--border);padding:20px;overflow-y:auto;z-index:100;display:flex;flex-direction:column;gap:20px;transition:width .2s ease}.task-card.expanded{width:calc(100vw - 40px);z-index:1100}.task-card.in-tasks-view{transition:none}.task-card-resize-handle{position:absolute;left:0;top:0;bottom:0;width:4px;cursor:ew-resize;z-index:10}.task-card-resize-handle:hover{background:#6366f14d}.task-card-header{display:flex;align-items:center;gap:12px}.task-card-header .header-content{flex:1;display:flex;flex-direction:row;align-items:center;gap:8px;min-width:0}.task-complete-toggle{display:flex;align-items:center;flex-shrink:0}.task-complete-toggle input[type=checkbox]{width:18px;height:18px;cursor:pointer;accent-color:var(--success)}.task-title{font-size:1.125rem;font-weight:600;color:var(--text-primary);cursor:pointer;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.task-title:hover{color:var(--accent)}.task-title.completed{text-decoration:line-through;color:var(--text-secondary)}.task-title-input{flex:1;font-size:1.125rem;font-weight:600;background:var(--bg-tertiary);border:1px solid var(--accent);border-radius:6px;color:var(--text-primary);padding:4px 8px}.task-status{display:flex;align-items:center;gap:8px}.status-badge{display:inline-block;padding:4px 12px;border-radius:4px;font-size:.8rem;font-weight:500}.status-badge.completed{background:#22c55e33;color:#4ade80}.status-badge.pending{background:#fbbf2433;color:#fbbf24}.task-types-selector{display:flex;gap:8px;flex-wrap:wrap}.task-type-btn{padding:6px 12px;border:1px solid var(--border);border-radius:6px;background:var(--bg-tertiary);color:var(--text-secondary);cursor:pointer;font-size:.8rem;font-weight:500;transition:all .15s}.task-type-btn:hover{border-color:var(--text-secondary)}.task-type-btn.selected{border-color:transparent}.task-type-btn.task-type-learn.selected{background:#3b82f633;color:#3b82f6}.task-type-btn.task-type-practice.selected{background:#22c55e33;color:#22c55e}.task-type-btn.task-type-reflect.selected{background:#ec489933;color:#ec4899}.parent-node-link{display:flex;align-items:center;gap:8px;background:var(--bg-tertiary);border:none;padding:10px 14px;border-radius:6px;color:var(--text-primary);cursor:pointer;font-size:.9rem;width:100%;text-align:left;transition:all .15s}.parent-node-link:hover{background:var(--bg-primary);color:var(--accent)}.assigned-persons{display:flex;flex-direction:column;gap:8px}.assigned-person{display:flex;align-items:center;justify-content:space-between;background:var(--bg-tertiary);padding:8px 12px;border-radius:6px}.person-link{background:none;border:none;color:var(--text-primary);cursor:pointer;font-size:.875rem}.person-link:hover{color:var(--accent)}.remove-person-btn{background:none;border:none;color:var(--text-secondary);cursor:pointer;font-size:1rem;padding:0 4px;transition:color .15s}.remove-person-btn:hover{color:#ef4444}.add-person-form{margin-top:8px}.add-person-form .searchable-select{width:100%}.task-details{background:var(--bg-tertiary);padding:12px;border-radius:6px;display:flex;flex-direction:column;gap:8px}.task-item-with-actions{display:flex;gap:8px;padding:12px;background:var(--bg-tertiary);border-radius:6px;margin-bottom:8px}.task-item-with-actions.completed .task-main span{text-decoration:line-through;color:var(--text-secondary)}.task-content{flex:1;min-width:0;display:flex;flex-direction:column;gap:6px}.task-main{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.task-checkbox{display:flex;align-items:center;gap:8px;cursor:pointer}.task-checkbox input[type=checkbox]{width:16px;height:16px;accent-color:var(--success);cursor:pointer}.task-checkbox span.completed{text-decoration:line-through;color:var(--text-secondary)}.task-checkbox span.cancelled{text-decoration:line-through;color:var(--text-muted)}.task-checkbox-emoji,.task-checkbox-emoji-large{cursor:pointer;-webkit-user-select:none;user-select:none;display:inline-flex;align-items:center;justify-content:center}.task-checkbox-emoji{font-size:14px;width:18px;height:18px;flex-shrink:0}.task-checkbox-emoji-large{font-size:20px;width:24px;height:24px;flex-shrink:0}.task-item-with-actions.cancelled .task-main span,.task-title.cancelled,.task-title-inline.cancelled{text-decoration:line-through;color:var(--text-muted)}.task-list li.cancelled,.task-item-compact.cancelled{opacity:.5}.task-status-buttons{display:flex;gap:8px;flex-wrap:wrap}.status-btn{padding:6px 12px;border:1px solid var(--border-color);border-radius:4px;background:var(--bg-secondary);color:var(--text-secondary);cursor:pointer;font-size:.85rem;transition:all .2s ease}.status-btn:hover:not(:disabled){background:var(--bg-tertiary)}.status-btn:disabled{cursor:default}.status-btn.active{font-weight:600}.status-btn.active.pending{background:#f97316;color:#fff;border-color:#f97316}.status-btn.active.analyzed{background:#d946ef;color:#fff;border-color:#d946ef}.status-btn.active.approved{background:#06b6d4;color:#fff;border-color:#06b6d4}.status-btn.active.in-progress{background:#3b82f6;color:#fff;border-color:#3b82f6}.status-btn.active.review{background:#eab308;color:#fff;border-color:#eab308}.status-btn.active.completed{background:#22c55e;color:#fff;border-color:#22c55e}.status-btn.active.cancelled{background:#9ca3af;color:#fff;border-color:#9ca3af}.task-meta{display:flex;align-items:center;gap:8px;font-size:.75rem}.task-meta time{color:var(--text-muted)}.task-meta .expand-btn{background:none;border:none;color:var(--accent);cursor:pointer;font-size:.75rem;padding:0}.task-meta .expand-btn:hover{text-decoration:underline}.task-actions{display:flex;flex-direction:column;gap:4px;flex-shrink:0}.task-action-btn{background:none;border:none;color:var(--text-secondary);cursor:pointer;padding:4px;border-radius:4px;transition:all .15s;display:flex;align-items:center;justify-content:center}.task-action-btn:hover{color:var(--accent);background:#6366f11a}.task-action-btn.danger:hover{color:#ef4444;background:#ef44441a}.compact-person-select{position:relative;display:flex;align-items:center;gap:6px;flex-wrap:wrap}.compact-person-title{font-size:.75rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.assigned-persons-row{display:flex;flex-wrap:wrap;align-items:center;gap:4px}.person-tag{display:inline-flex;align-items:center;gap:1px;background:var(--bg-tertiary);border-radius:3px;font-size:.8rem;padding:1px 3px 1px 6px}.person-tag .person-name-btn{background:none;border:none;color:var(--accent);cursor:pointer;padding:0;font-size:inherit}.person-tag .person-name-btn:hover{text-decoration:underline}.person-tag .remove-btn{background:none;border:none;color:var(--text-secondary);cursor:pointer;padding:1px 3px;font-size:.9rem;line-height:1;border-radius:2px}.person-tag .remove-btn:hover{color:#ef4444;background:#ef44441a}.add-person-btn{width:20px;height:20px;display:flex;align-items:center;justify-content:center;background:var(--bg-tertiary);border:1px dashed var(--border);border-radius:3px;color:var(--text-secondary);cursor:pointer;transition:all .15s}.add-person-btn:hover{border-color:var(--accent);color:var(--accent);background:#6366f11a}.person-select-dropdown{position:absolute;top:100%;left:0;min-width:180px;z-index:100;margin-top:2px;background:var(--bg-secondary);border:1px solid var(--border);border-radius:4px;padding:4px;box-shadow:0 4px 12px #0000004d}.person-select-dropdown .searchable-select{width:100%}.person-select-dropdown .searchable-select input{padding:4px 8px;font-size:.85rem}.task-item-compact{list-style:none;padding:4px 0}.task-item-compact.completed .task-checkbox-inline span{text-decoration:line-through;color:var(--text-secondary)}.task-row{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.task-expand-btn{background:none;border:none;color:var(--text-secondary);cursor:pointer;padding:2px;display:flex;align-items:center;justify-content:center;border-radius:3px;flex-shrink:0}.task-expand-btn:hover{background:var(--bg-tertiary);color:var(--text-primary)}.task-checkbox-inline{display:flex;align-items:center;gap:6px;cursor:pointer;flex:1;min-width:0}.task-checkbox-inline input[type=checkbox]{width:14px;height:14px;cursor:pointer;accent-color:var(--success);flex-shrink:0}.task-checkbox-inline span{font-size:.9rem;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.task-actions-inline{display:flex;gap:2px;flex-shrink:0}.task-actions-inline .task-action-btn{padding:2px}.task-title-inline{cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.task-title-inline:hover{text-decoration:underline;text-decoration-style:dotted}.task-title-edit{flex:1;min-width:100px;padding:2px 4px;border:1px solid var(--primary);border-radius:3px;background:var(--bg-tertiary);color:var(--text-primary);font-size:.9rem}.task-title-edit:focus{outline:none;border-color:var(--primary)}.task-item-compact .task-row{flex-wrap:wrap}.history-list{list-style:none;padding:0;margin:0}.history-item{display:flex;flex-direction:column;gap:2px;padding:8px 0;border-bottom:1px solid var(--border)}.history-item:last-child{border-bottom:none}.history-event{font-size:.9rem;color:var(--text-primary)}.history-time{font-size:.75rem;color:var(--text-secondary)}.task-breadcrumb{display:flex;flex-wrap:wrap;align-items:center;gap:4px;font-size:.9rem}.breadcrumb-item{display:inline-flex;align-items:center;gap:4px}.breadcrumb-separator{color:var(--text-secondary);margin:0 2px}.breadcrumb-link{display:inline-flex;align-items:center;gap:4px;background:none;border:none;color:var(--accent);cursor:pointer;padding:2px 6px;border-radius:4px;font-size:inherit}.breadcrumb-link:hover{background:#6366f11a;text-decoration:underline}.breadcrumb-link .node-type-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.search-palette-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:flex-start;justify-content:center;padding-top:15vh;z-index:2000;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.search-palette{background:var(--bg-secondary);border:1px solid var(--border);border-radius:12px;width:560px;max-width:90vw;max-height:70vh;display:flex;flex-direction:column;box-shadow:0 16px 48px #00000080;overflow:hidden}.search-palette-input-container{display:flex;align-items:center;gap:12px;padding:16px;border-bottom:1px solid var(--border)}.search-palette-icon{color:var(--text-muted);flex-shrink:0}.search-palette-input{flex:1;background:none;border:none;outline:none;font-size:1.1rem;color:var(--text-primary)}.search-palette-input::placeholder{color:var(--text-muted)}.search-palette-shortcut{display:flex;gap:4px}.search-palette-shortcut kbd,.search-palette-footer kbd{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;padding:0 6px;background:var(--bg-tertiary);border:1px solid var(--border);border-radius:4px;font-size:.7rem;font-family:inherit;color:var(--text-secondary)}.search-palette-results{flex:1;overflow-y:auto;padding:8px}.search-palette-empty{padding:24px;text-align:center;color:var(--text-secondary);font-size:.9rem}.search-palette-section-header{padding:4px 12px;font-size:.75rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em}.search-palette-item{display:flex;align-items:center;gap:12px;width:100%;padding:10px 12px;background:none;border:none;border-radius:8px;cursor:pointer;text-align:left;color:var(--text-primary);transition:background .1s}.search-palette-item:hover,.search-palette-item.selected{background:var(--bg-tertiary)}.search-palette-item.selected{outline:1px solid var(--accent)}.search-palette-item-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.search-palette-item-name{flex:1;font-size:.95rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.search-palette-item-type{font-size:.75rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px}.search-palette-footer{display:flex;gap:16px;padding:10px 16px;border-top:1px solid var(--border);font-size:.75rem;color:var(--text-muted)}.search-palette-footer span{display:flex;align-items:center;gap:4px}.link-existing-task{margin-top:8px}.link-task-toggle{background:var(--bg-tertiary);border:1px dashed var(--border);border-radius:6px;padding:6px 12px;font-size:.8rem;color:var(--text-secondary);cursor:pointer;transition:all .15s;width:100%;text-align:center}.link-task-toggle:hover{border-color:var(--accent);color:var(--text-primary)}.link-task-picker{margin-top:8px}.link-task-picker .searchable-select{width:100%}.task-combobox{position:relative;margin-bottom:8px}.task-combobox-input-row{display:flex;gap:6px}.task-combobox-input{flex:1;background:var(--bg-tertiary);border:1px solid var(--border);border-radius:6px;padding:6px 10px;color:var(--text-primary);font-size:.85rem}.task-combobox-input:focus{outline:none;border-color:var(--accent)}.task-combobox-create-btn{background:var(--accent);color:#fff;border:none;border-radius:6px;padding:6px 12px;font-size:1rem;cursor:pointer}.task-combobox-create-btn:disabled{opacity:.5;cursor:not-allowed}.task-combobox-dropdown{position:absolute;top:100%;left:0;right:0;max-height:200px;overflow-y:auto;background:var(--bg-secondary);border:1px solid var(--border);border-radius:6px;margin-top:4px;z-index:100;box-shadow:0 4px 12px #0000004d}.task-combobox-option{display:flex;align-items:center;gap:8px;width:100%;text-align:left;padding:6px 10px;background:none;border:none;color:var(--text-primary);font-size:.8rem;cursor:pointer}.task-combobox-option:hover,.task-combobox-option.highlighted{background:var(--bg-tertiary)}.task-combobox-option-status{flex-shrink:0;font-size:.75rem}.task-combobox-option-title{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.history-panel-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0006;z-index:1200}.history-panel{position:fixed;top:0;left:0;width:400px;height:100vh;background:var(--bg-secondary);border-right:1px solid var(--border);z-index:1201;display:flex;flex-direction:column;animation:historySlideIn .15s ease-out}@keyframes historySlideIn{0%{transform:translate(-100%)}to{transform:translate(0)}}.history-panel-header{display:flex;align-items:center;justify-content:space-between;padding:16px;border-bottom:1px solid var(--border);font-size:1rem;font-weight:600;color:var(--text-primary)}.history-panel-list{flex:1;overflow-y:auto;padding:8px 0}.history-panel-empty{color:var(--text-muted);text-align:center;padding:32px 16px;font-size:.875rem}.history-entry{display:flex;align-items:center;gap:10px;padding:8px 16px;transition:background .1s}.history-entry:hover{background:var(--bg-tertiary)}.history-entry-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.history-entry-content{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.history-entry-desc{font-size:.8125rem;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.history-entry-locate{background:none;border:none;color:var(--text-muted);cursor:pointer;padding:0 2px;font-size:.75rem;margin-left:4px;opacity:.5;transition:opacity .15s}.history-entry-locate:hover{opacity:1;color:var(--accent)}.history-entry-time{font-size:.6875rem;color:var(--text-muted)}.history-entry-undo{opacity:0;background:none;border:1px solid var(--border);border-radius:4px;color:var(--text-secondary);cursor:pointer;padding:2px 6px;font-size:.8125rem;transition:all .15s;flex-shrink:0}.history-entry:hover .history-entry-undo{opacity:1}.history-entry-undo:hover{color:var(--accent);border-color:var(--accent);background:var(--bg-tertiary)}.history-entry-undo:disabled{opacity:.3;cursor:not-allowed}.tree-view{display:flex;width:100%;height:100%}.tree-view-tree{flex-shrink:0;min-width:200px;overflow:hidden;display:flex;flex-direction:column;background:#1e1e2e}.tree-view-tree-header{padding:4px 8px;font-size:11px;font-weight:600;color:#aaa;border-bottom:1px solid #333;flex-shrink:0;display:flex;align-items:center;justify-content:space-between}.tree-view-tree-list{flex:1;overflow-y:auto}.tree-view-item{display:flex;align-items:center;gap:2px;padding:0 4px;cursor:pointer;font-size:12px;line-height:1.3;color:#ccc;min-height:18px;position:relative}.tree-view-item:before{content:"";position:absolute;top:0;bottom:0;left:4px;width:calc(var(--tree-depth, 0) * 14px);pointer-events:none;background-image:repeating-linear-gradient(to right,transparent 0px,transparent 5px,rgba(255,255,255,.06) 5px,rgba(255,255,255,.06) 6px,transparent 6px,transparent 14px)}.tree-view-item:not(.tree-row-odd){background:#20203a}.tree-view-item.tree-row-odd{background:#2a2a42}.tree-view-item:hover{background:#2a2a3e}.tree-view-item.selected{background:#335}.tree-view-item.tree-highlight{animation:tree-flash 2s ease-out}@keyframes tree-flash{0%,20%,40%{box-shadow:inset 0 0 0 1px #22d3ee,0 0 8px #22d3ee}10%,30%,50%{box-shadow:none}to{box-shadow:none}}.tree-view-item.is-reference{opacity:.55;font-style:italic}.tree-view-item.is-reference .tree-view-name{text-decoration:underline;text-decoration-style:dashed;text-underline-offset:2px}.tree-view-item.is-reference:hover{opacity:.8}.tree-view-ref-icon{flex-shrink:0}.tree-view-item.dragging{opacity:.4}.tree-view-item.drop-inside{background:#6366f133;outline:1px solid rgba(99,102,241,.5);outline-offset:-1px}.tree-view-item.drop-above:after,.tree-view-item.drop-below:after{content:"";position:absolute;left:calc(4px + var(--tree-depth, 0) * 14px);right:0;height:2px;background:#6366f1;pointer-events:none;z-index:1}.tree-view-item.drop-above:after{top:0}.tree-view-item.drop-below:after{bottom:0}.tree-view-chevron{background:none;border:none;color:#888;font-size:8px;cursor:pointer;width:10px;height:14px;flex-shrink:0;padding:0;margin:0;line-height:1;display:flex;align-items:center;justify-content:center}.tree-view-chevron-spacer{width:10px;flex-shrink:0}.tree-view-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0}.tree-view-icon{flex-shrink:0;width:10px;height:10px}.tree-view-status{background:none;border:none;cursor:pointer;font-size:12px;line-height:1;padding:0;margin:0;flex-shrink:0;height:14px;display:flex;align-items:center}.tree-view-item.status-completed,.tree-view-item.status-cancelled{opacity:.5}.tree-view-name{word-break:break-word;overflow:hidden;text-overflow:ellipsis}.tree-view-locate-btn{background:none;border:none;cursor:pointer;color:#666;padding:0;margin:0;flex-shrink:0;opacity:0;transition:opacity .15s}.tree-view-item:hover .tree-view-locate-btn{opacity:1}.tree-view-locate-btn:hover{color:#aaa}.app.mobile .tree-view-item:hover .tree-view-locate-btn{opacity:0}.app.mobile .tree-view-item.selected .tree-view-locate-btn{opacity:1}.tree-view-action-btn{display:none;align-items:center;justify-content:center;background:none;border:none;color:#888;cursor:pointer;padding:2px;border-radius:3px;flex-shrink:0;min-width:20px;min-height:20px}.tree-view-action-btn:hover{color:#ccc;background:#ffffff1a}.tree-view-item:hover .tree-view-action-btn{display:flex}.app.mobile .tree-view-item:hover .tree-view-action-btn{display:none}.app.mobile .tree-view-item.selected .tree-view-action-btn{display:flex;min-width:32px;min-height:32px}.tree-view-resize-handle{width:4px;cursor:ew-resize;background:#333;flex-shrink:0;transition:background .15s}.tree-view-resize-handle:hover,.tree-view-resize-handle:active{background:#6366f180}.tree-view-detail{flex:1;position:relative;overflow:hidden;display:flex;min-width:0}.tree-view-detail .task-card,.tree-view-detail .node-card,.tree-view-detail .note-card,.tree-view-detail .person-panel{position:relative;right:auto;top:auto;height:100%;width:100%!important;max-width:100%;border-left:none}.tree-view-detail .person-panel{overflow-y:auto}.tree-view-detail .history-panel{position:relative;width:100%;height:100%;border-right:none;animation:none}.tree-view-no-selection{display:flex;align-items:center;justify-content:center;width:100%;height:100%;color:#666;font-size:14px}.tree-view-empty{padding:20px;text-align:center;color:#666;font-size:13px}.calendar-placeholder{display:flex;align-items:center;justify-content:center;width:100%;height:100%;color:#666;font-size:16px}.mobile-back-btn{background:none;border:none;color:var(--accent);padding:0 8px;height:100%;display:flex;align-items:center;cursor:pointer}.app.mobile{padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}.app.mobile .app-tab-bar{order:1;border-bottom:none;border-top:1px solid #333;height:44px;flex-wrap:nowrap;overflow:hidden}.app.mobile .app-tab-content{order:0}.app.mobile .app-tab-bar-tabs{flex-shrink:0}.app.mobile .app-tab{font-size:13px;padding:0 10px}.app.mobile .app-tab span,.app.mobile .legend-item.people-btn span{display:none}.app.mobile .app-tab-bar-center{gap:0;flex-shrink:1;min-width:0;overflow:hidden}.app.mobile .app-tab-bar-right{flex-shrink:0}.app.mobile.mobile-overlay-open .app-tab-bar-center,.app.mobile.mobile-overlay-open .app-tab-bar-right,.app.mobile.mobile-overlay-open .app-tab-bar-tabs,.app.tma.mobile-overlay-open .app-tab-bar,.app.mobile.mobile-overlay-open .graph-container,.app.mobile.mobile-overlay-open .tree-view{display:none}.app.mobile .node-card,.app.mobile .task-card,.app.mobile .note-card,.app.mobile .person-panel{position:relative;width:100%;height:100%;border-left:none;z-index:1;flex-shrink:0}.app.mobile .node-card.expanded,.app.mobile .task-card.expanded,.app.mobile .note-card.expanded,.app.mobile .person-panel.expanded{width:100%}.app.mobile .history-panel{width:100%;height:100dvh}.app.mobile .graph-corner-controls button{min-width:36px;min-height:36px}.app.mobile .app-tab-bar-center .legend-item{display:none}.app.mobile .app-tab-bar-center .legend-item.people-btn{display:flex}.app.mobile .tree-view{flex-direction:column}.app.mobile .tree-view-tree{width:100%!important;max-width:100%!important;flex:1;min-width:unset}.app.mobile .tree-view-resize-handle,.app.mobile .tree-view-detail{display:none}.app.mobile .tree-view:has(.tree-view-detail>:not(.tree-view-no-selection)) .tree-view-tree{display:none}.app.mobile .tree-view:has(.tree-view-detail>:not(.tree-view-no-selection)) .tree-view-detail{display:flex;position:absolute;top:0;right:0;bottom:0;left:0;z-index:10;background:var(--bg-primary)}.app.mobile .graph-container canvas{touch-action:none}.app.mobile .tree-view-tree-list{touch-action:pan-y}.app.mobile .tree-view-item{min-height:44px;padding:2px 8px;font-size:14px}.app.mobile .tree-view-chevron,.app.mobile .tree-view-status{min-width:32px;min-height:32px;display:flex;align-items:center;justify-content:center}.app.mobile .node-card,.app.mobile .task-card,.app.mobile .note-card,.app.mobile .person-panel{padding:12px;gap:12px}.app.mobile .task-card-resize-handle{display:none}.app.mobile .task-card-header{position:sticky;top:0;z-index:10;background:var(--bg-secondary);margin:-12px -12px 0;padding:12px 12px 8px;flex-shrink:0}.app.mobile .node-name-input{font-size:1.125rem}.app.mobile .agent-chat-controls{flex-wrap:wrap;gap:4px}.app.mobile .agent-model-select,.app.mobile .agent-permission-select{font-size:12px;padding:4px 6px;min-height:32px}.app.mobile .agent-toggle{font-size:12px;gap:4px;min-height:32px}.app.mobile .agent-toggle input{width:18px;height:18px}.app.mobile .agent-worktree-input,.app.mobile .agent-base-branch-select{font-size:13px;padding:4px 6px;min-height:32px}.app.mobile .agent-worktree-input{padding-right:22px}.app.mobile .worktree-label{font-size:11px}.app.mobile .worktree-lifecycle-btn{font-size:11px;padding:4px 8px;min-height:32px}.app.mobile .worktree-setup-btn{font-size:12px;padding:6px 12px;min-height:36px}.app.mobile .agent-chat-input{font-size:14px;padding:8px;min-height:44px}.app.mobile .agent-send-btn{min-height:44px;min-width:56px;font-size:14px}.app.mobile .agent-chat-status{font-size:12px;padding:6px 8px;min-height:32px}.app.mobile .agent-continue-btn{font-size:13px;padding:6px 12px;min-height:36px}.app.mobile .danger-zone{padding-top:12px}.app.mobile .danger-zone .btn{min-height:44px;font-size:14px}.admin-panel-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;z-index:2000;display:flex;align-items:center;justify-content:center}.admin-panel{background:#1e1e2e;border:1px solid #444;border-radius:12px;width:420px;max-width:95vw;max-height:80vh;display:flex;flex-direction:column;overflow:hidden}.admin-panel-header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-bottom:1px solid #333}.admin-panel-header h3{margin:0;font-size:14px;color:#e0e0e0}.admin-panel-close{background:none;border:none;color:#888;font-size:20px;cursor:pointer;padding:0 4px}.admin-panel-close:hover{color:#fff}.admin-panel-error{padding:8px 16px;background:#3a1c1c;color:#f87171;font-size:12px}.admin-panel-add{display:flex;flex-wrap:wrap;gap:8px;padding:12px 16px;border-bottom:1px solid #333}.admin-panel-input{flex:1 1 120px;min-width:0;padding:6px 10px;background:#2a2a3e;border:1px solid #444;border-radius:6px;color:#e0e0e0;font-size:13px}.admin-panel-input:focus{outline:none;border-color:#666}.admin-panel-btn{padding:6px 14px;border:none;border-radius:6px;font-size:13px;cursor:pointer}.admin-panel-btn-add{flex-shrink:0;background:#3b82f6;color:#fff}.admin-panel-btn-add:disabled{opacity:.5;cursor:default}.admin-panel-btn-remove{background:#dc2626;color:#fff;font-size:11px;padding:4px 10px}.admin-panel-list{overflow-y:auto;padding:8px 16px}.admin-panel-loading,.admin-panel-empty{padding:16px 0;text-align:center;color:#888;font-size:13px}.admin-panel-user{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px solid #2a2a3e}.admin-panel-user:last-child{border-bottom:none}.admin-panel-user-info{display:flex;align-items:center;gap:8px}.admin-panel-user-id{font-family:monospace;color:#a0a0b0;font-size:13px}.admin-panel-user-name{color:#e0e0e0;font-size:13px}.admin-panel-badge{background:#f59e0b;color:#000;font-size:10px;padding:1px 6px;border-radius:4px;font-weight:600}.agent-chat{display:flex;flex-direction:column;border:1px solid #333;border-radius:6px;background:#1a1a1a;overflow:hidden;flex:1;min-height:0}.agent-chat-status{display:flex;align-items:center;gap:6px;padding:4px 8px;background:#222;border-top:1px solid #333;font-size:11px;color:#888}.agent-status-dot{width:6px;height:6px;border-radius:50%;background:#555}.agent-status-dot.connected{background:#4caf50}.agent-status-dot.disconnected{background:#f44336}.agent-session-id{font-family:monospace;color:#666;margin-left:auto}.agent-cost{color:#ff9800;font-family:monospace}.agent-abort-btn{background:#c62828;color:#fff;border:none;border-radius:3px;padding:1px 6px;font-size:10px;cursor:pointer}.agent-abort-btn:hover{background:#e53935}.agent-autoscroll-btn{background:transparent;color:#666;border:1px solid #444;border-radius:3px;padding:1px 4px;font-size:10px;cursor:pointer;margin-left:4px}.agent-autoscroll-btn.active{color:#ff9800;border-color:#ff9800}.agent-chat-continue{display:flex;align-items:center;gap:8px;padding:6px 8px;background:#1a2a1a;border-bottom:1px solid #2a4a2a}.agent-continue-btn{background:#2a4a2a;color:#8bc34a;border:1px solid #4a6a4a;border-radius:4px;padding:3px 8px;font-size:11px;cursor:pointer}.agent-continue-btn:hover{background:#3a5a3a}.agent-continue-hint{font-size:10px;color:#666;font-family:monospace}.agent-chat-approvals{display:flex;flex-direction:column;gap:6px;padding:8px;border-bottom:1px solid #ff9800;background:#2a2200}.agent-chat-messages{flex:1;overflow-y:auto;padding:8px;display:flex;flex-direction:column;gap:6px;min-height:0}.agent-chat-empty{color:#555;font-size:12px;text-align:center;padding:20px 8px}.agent-msg{font-size:12px;line-height:1.4;padding:4px 8px;border-radius:4px}.agent-msg-user{background:#1a3a5c;color:#b8d4f0;align-self:flex-end;max-width:90%}.agent-msg-assistant{background:#2a2a2a;color:#d4d4d4;white-space:pre-wrap;word-break:break-word}.agent-msg-assistant.streaming{border-left:2px solid #ff9800}.agent-cursor{display:inline-block;width:6px;height:12px;background:#ff9800;animation:agentBlink 1s infinite;margin-left:2px;vertical-align:middle}@keyframes agentBlink{0%,50%{opacity:1}51%,to{opacity:0}}.agent-msg-tool{background:#1a2a1a;border:1px solid #2a4a2a;font-size:11px}.agent-msg-tool.tool-error{background:#2a1a1a;border-color:#6a2a2a}.agent-msg-tool.tool-error .agent-tool-header{color:#ef5350}.agent-tool-error-badge{color:#ef5350;font-weight:400;font-size:10px}.agent-tool-header{display:flex;align-items:center;gap:4px;cursor:pointer;color:#8bc34a}.agent-tool-icon{font-size:12px}.agent-tool-name{font-family:monospace;font-weight:600}.agent-tool-expand{margin-left:auto;font-size:9px;color:#666}.agent-tool-input{margin-top:4px;padding:4px;background:#111;border-radius:3px;font-size:10px;color:#999;overflow-x:auto;max-height:150px;overflow-y:auto}.agent-msg-tool-result{background:#1a1a2a;border:1px solid #2a2a4a;font-size:11px}.agent-msg-tool-result.error{border-color:#4a2a2a}.agent-tool-result-header{display:flex;justify-content:space-between;cursor:pointer;color:#7986cb;font-size:10px}.agent-tool-result-content{margin-top:4px;padding:4px;background:#111;border-radius:3px;font-size:10px;color:#888;overflow-x:auto;max-height:150px;overflow-y:auto}.agent-markdown-content{margin-top:4px;padding:6px 8px;background:#111;border-radius:3px;font-size:11px;color:#ccc;overflow:auto;max-height:300px;line-height:1.5}.agent-markdown-content h1,.agent-markdown-content h2,.agent-markdown-content h3{color:#e0e0e0;margin:8px 0 4px;font-size:13px}.agent-markdown-content h1{font-size:15px}.agent-markdown-content h2{font-size:13px}.agent-markdown-content h3{font-size:12px}.agent-markdown-content p{margin:4px 0}.agent-markdown-content ul,.agent-markdown-content ol{margin:4px 0;padding-left:18px}.agent-markdown-content li{margin:2px 0}.agent-markdown-content code{background:#1a1a2a;padding:1px 4px;border-radius:2px;font-size:10px;color:#90caf9}.agent-markdown-content pre{background:#0a0a1a;padding:6px;border-radius:3px;overflow-x:auto;margin:4px 0}.agent-markdown-content pre code{background:none;padding:0}.agent-markdown-content table{border-collapse:collapse;width:100%;margin:6px 0;font-size:10px}.agent-markdown-content th,.agent-markdown-content td{border:1px solid #333;padding:3px 6px;text-align:left}.agent-markdown-content th{background:#1a1a2a;color:#90caf9;font-weight:600}.agent-markdown-content strong{color:#e0e0e0}.agent-markdown-content a{color:#64b5f6}.agent-markdown-content hr{border:none;border-top:1px solid #333;margin:8px 0}.agent-markdown-content blockquote{border-left:3px solid #444;margin:4px 0;padding:2px 8px;color:#999}.agent-msg-system{color:#666;font-size:10px;text-align:center;font-style:italic}.agent-msg-error{color:#ef5350;font-size:11px;background:#2a1a1a;border:1px solid #4a2a2a}.agent-approval{background:#2a2a1a;border:1px solid #ff9800;border-radius:4px;padding:8px}.agent-approval-header{display:flex;align-items:center;gap:6px;color:#ff9800;font-size:12px;font-weight:600;margin-bottom:6px}.agent-approval-icon{font-size:14px}.agent-approval-input{background:#111;border-radius:3px;padding:4px 6px;font-size:10px;color:#999;max-height:120px;overflow:auto;margin-bottom:6px}.agent-approval-actions{display:flex;gap:6px}.agent-approve-btn{background:#2e7d32;color:#fff;border:none;border-radius:3px;padding:3px 12px;font-size:11px;cursor:pointer}.agent-approve-btn:hover{background:#388e3c}.agent-approve-all-btn{background:#b45309;color:#fff;border:none;border-radius:3px;padding:3px 12px;font-size:11px;cursor:pointer}.agent-approve-all-btn:hover{background:#d97706}.agent-deny-btn{background:#c62828;color:#fff;border:none;border-radius:3px;padding:3px 12px;font-size:11px;cursor:pointer}.agent-deny-btn:hover{background:#e53935}.agent-approve-btn:disabled{opacity:.4;cursor:not-allowed}.agent-question-widget{display:flex;flex-direction:column;gap:10px}.agent-question-block{display:flex;flex-direction:column;gap:4px}.agent-question-chip{display:inline-block;background:#3a3a3a;color:#ccc;font-size:10px;padding:1px 6px;border-radius:8px;width:fit-content;text-transform:uppercase;letter-spacing:.5px}.agent-question-text{color:#e0e0e0;font-size:12px;font-weight:500}.agent-question-options{display:flex;flex-direction:column;gap:3px;margin-top:2px}.agent-question-option{display:flex;align-items:flex-start;gap:6px;padding:4px 6px;border-radius:3px;cursor:pointer;border:1px solid transparent}.agent-question-option:hover{background:#333}.agent-question-option.selected{background:#2a3a2a;border-color:#4caf50}.agent-question-option input[type=radio],.agent-question-option input[type=checkbox]{margin-top:2px;accent-color:#4caf50}.agent-question-option-label{color:#e0e0e0;font-size:12px;font-weight:500}.agent-question-option-desc{color:#888;font-size:11px;margin-left:4px}.agent-question-other-input{background:#1a1a1a;border:1px solid #555;border-radius:3px;color:#e0e0e0;font-size:12px;padding:4px 6px;margin-top:2px;outline:none}.agent-question-other-input:focus{border-color:#4caf50}.agent-question-actions{display:flex;gap:6px;margin-top:4px}.agent-chat-input-area{border-top:1px solid #333;padding:6px;background:#222}.agent-chat-controls{display:flex;gap:6px;margin-bottom:4px;align-items:center}.agent-model-select,.agent-permission-select{background:#1a1a1a;color:#aaa;border:1px solid #444;border-radius:3px;padding:1px 4px;font-size:10px}.agent-permission-select.overridden{opacity:.4;text-decoration:line-through}.agent-toggle{display:flex;align-items:center;gap:3px;font-size:10px;color:#666;cursor:pointer;-webkit-user-select:none;user-select:none}.agent-toggle input{margin:0;cursor:pointer}.agent-toggle.active{color:#7c7}.agent-toggle.active.danger{color:#e55}.agent-chat-input-row{display:flex;gap:4px}.agent-chat-input{flex:1;background:#1a1a1a;color:#d4d4d4;border:1px solid #444;border-radius:4px;padding:4px 6px;font-size:12px;font-family:inherit;resize:none;outline:none}.agent-chat-input:focus{border-color:#666}.agent-send-btn{background:#1565c0;color:#fff;border:none;border-radius:4px;padding:4px 12px;font-size:12px;cursor:pointer;align-self:flex-end}.agent-send-btn:hover:not(:disabled){background:#1976d2}.agent-send-btn:disabled{opacity:.4;cursor:not-allowed}.agent-section-header{color:#b388ff}.agent-active-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#4caf50;margin-left:4px;flex-shrink:0;animation:agent-pulse 2s ease-in-out infinite;vertical-align:middle}@keyframes agent-pulse{0%,to{opacity:1;box-shadow:0 0 #4caf5066}50%{opacity:.7;box-shadow:0 0 4px 2px #4caf5033}}.agent-card{border-left-color:#10b981}.agent-card-body{display:flex;flex-direction:column;gap:inherit;flex:1;min-height:0;overflow-y:auto}.agent-entity-icon{font-size:16px;margin-right:4px}.agent-linked-list{list-style:none;padding:0;margin:0}.agent-linked-list li{padding:2px 0}.agent-linked-task-status{font-size:10px;margin-left:6px;opacity:.8}.entity-type-badge{display:inline-block;font-size:10px;padding:1px 4px;border-radius:3px;margin-right:4px;font-weight:500}.entity-type-badge.task{background:#f9731633;color:#f97316}.agent-open-card-btn{display:inline-flex;align-items:center;gap:4px;background:none;border:1px solid #10b981;color:#10b981;border-radius:4px;padding:2px 8px;font-size:11px;cursor:pointer;transition:background .15s,color .15s}.agent-open-card-btn:hover{background:#10b981;color:#fff}.agent-chat-worktree-section{display:flex;flex-direction:column;gap:3px;padding:0 8px}.worktree-row{display:flex;align-items:center;gap:6px;min-width:0}.worktree-label{font-size:10px;color:#999;white-space:nowrap;width:38px;flex-shrink:0;text-align:right}.worktree-input-wrap{display:flex;align-items:center;flex:1;min-width:0;position:relative}.agent-worktree-input{width:100%;min-width:0;background:var(--bg-tertiary);border:1px solid var(--border);border-radius:4px;color:var(--text-primary);font-size:11px;font-family:monospace;padding:2px 18px 2px 4px}.agent-base-branch-select{flex:1;min-width:0;background:var(--bg-tertiary);border:1px solid var(--border);border-radius:4px;color:var(--text-primary);font-size:11px;font-family:monospace;padding:2px 4px}.worktree-reset-btn{position:absolute;right:2px;background:none;border:none;color:#999;cursor:pointer;font-size:12px;padding:0 3px;line-height:1}.worktree-reset-btn:hover{color:#ef4444}.worktree-setup-btn{background:#10b981;color:#fff;border:none;border-radius:4px;font-size:10px;padding:3px 8px;cursor:pointer;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.worktree-setup-btn:hover:not(:disabled){background:#059669}.worktree-setup-btn:disabled{opacity:.4;cursor:default}.worktree-ai-btn{background:#7c3aed}.worktree-ai-btn:hover:not(:disabled){background:#6d28d9}.worktree-error{font-size:10px;color:#ef4444;padding:0;word-break:break-word}.worktree-lifecycle-row{display:flex;align-items:center;gap:4px;flex-wrap:wrap;padding:2px 0}.worktree-ports-info{font-size:10px;color:#94a3b8;margin-right:2px}.worktree-instance-link{color:#60a5fa;text-decoration:none;font-size:10px}.worktree-instance-link:hover{text-decoration:underline}.worktree-lifecycle-btn{font-size:9px;padding:1px 5px;background:#334155;color:#e2e8f0;border:1px solid #475569;border-radius:3px;cursor:pointer}.worktree-lifecycle-btn:hover:not(:disabled){background:#475569}.worktree-lifecycle-btn:disabled{opacity:.5;cursor:not-allowed}.worktree-delete-btn{color:#f87171;border-color:#7f1d1d}.worktree-delete-btn:hover:not(:disabled){background:#7f1d1d}.worktree-lifecycle-status{font-size:9px;color:#f59e0b}.worktree-effective-cwd{font-size:10px;color:#666;font-family:monospace;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.task-inline-agent{border:1px solid #333;border-radius:6px;padding:6px;margin-top:6px}.task-inline-agent-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px}.task-inline-agent-name{font-size:12px;font-weight:500;color:#10b981}.monospace{font-family:JetBrains Mono,Fira Code,monospace;font-size:11px}.login-page{display:flex;align-items:center;justify-content:center;min-height:100vh;background:var(--bg-primary)}.login-card{text-align:center;padding:48px 40px;background:var(--bg-secondary);border:1px solid var(--border);border-radius:16px;max-width:380px;width:100%}.login-title{font-size:28px;font-weight:700;color:var(--text-primary);margin-bottom:8px}.login-subtitle{font-size:14px;color:var(--text-muted);margin-bottom:32px}.login-btn{display:inline-flex;align-items:center;gap:10px;padding:12px 24px;border-radius:8px;font-size:15px;font-weight:500;text-decoration:none;cursor:pointer;transition:background .15s}.login-btn-github{background:#24292f;color:#fff;border:1px solid #444}.login-btn-github:hover{background:#333}
