.app{width:100%;height:100%;display:flex;flex-direction:column}.app-header{display:flex;align-items:center;justify-content:space-between;background-color:#2c3e50;color:#fff;padding:.75rem 1.5rem;box-shadow:var(--shadow-md)}.app-header-left{display:flex;align-items:center;gap:1rem}.app-header-title{display:flex;flex-direction:column}.app-header h1{font-size:1.25rem;font-weight:600;margin-bottom:.125rem}.app-header p{font-size:.75rem;opacity:.8}.app-header-actions{display:flex;align-items:center;gap:.5rem}.theme-toggle{display:flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;border:1px solid rgba(255,255,255,.2);border-radius:6px;background:#ffffff1a;color:#fff;cursor:pointer;transition:all .15s ease;font-size:1.125rem}.theme-toggle:hover{background:#fff3;border-color:#ffffff4d}.theme-toggle:focus{outline:none;box-shadow:0 0 0 2px #ffffff4d}.app-main{flex:1;display:flex;flex-direction:row;overflow:hidden;position:relative}.canvas-area-wrapper{flex:1 1 auto;min-width:0;position:relative;display:flex;overflow:hidden}.canvas-area{flex:1;background-color:var(--canvas-bg);position:relative}.app-presence{position:fixed;top:52px;right:260px;z-index:100;padding:8px;background:var(--color-bg-secondary);border-radius:0 0 0 8px;box-shadow:var(--shadow-sm)}.styled-select{appearance:none;-webkit-appearance:none;-moz-appearance:none;background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:6px;padding:6px 28px 6px 10px;font-size:.8125rem;color:var(--text-primary);cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 8px center;background-size:12px;transition:border-color .15s ease,box-shadow .15s ease;min-width:100px}.styled-select:hover{border-color:var(--color-primary-light)}.styled-select:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 2px var(--color-primary-alpha)}.styled-select:disabled{opacity:.5;cursor:not-allowed}[data-theme=dark] .styled-select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%239ca3af' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E")}.styled-select-compact{padding:4px 24px 4px 8px;font-size:.75rem;min-width:60px}.styled-number-input{-webkit-appearance:textfield;appearance:textfield;-moz-appearance:textfield;background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:6px;padding:6px 8px;font-size:.8125rem;color:var(--text-primary);width:60px;text-align:center;transition:border-color .15s ease,box-shadow .15s ease}.styled-number-input::-webkit-outer-spin-button,.styled-number-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.styled-number-input:hover{border-color:var(--color-primary-light)}.styled-number-input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 2px var(--color-primary-alpha)}.styled-checkbox{appearance:none;-webkit-appearance:none;-moz-appearance:none;width:16px;height:16px;border:2px solid var(--border-color);border-radius:4px;background-color:var(--bg-secondary);cursor:pointer;position:relative;transition:all .15s ease;flex-shrink:0}.styled-checkbox:hover{border-color:var(--color-primary-light)}.styled-checkbox:checked{background-color:var(--color-primary);border-color:var(--color-primary)}.styled-checkbox:checked:after{content:"";position:absolute;left:4px;top:1px;width:4px;height:8px;border:solid white;border-width:0 2px 2px 0;transform:rotate(45deg)}.styled-checkbox:focus{outline:none;box-shadow:0 0 0 2px var(--color-primary-alpha)}.styled-checkbox:disabled{opacity:.5;cursor:not-allowed}.toggle-icon-btn{display:flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;border:1px solid transparent;border-radius:4px;background:transparent;color:var(--text-secondary);cursor:pointer;transition:all .15s ease;flex-shrink:0}.toggle-icon-btn:hover{background:var(--bg-tertiary);color:var(--text-primary)}.toggle-icon-btn.active{color:var(--color-primary);background:var(--color-primary-alpha);border-color:var(--color-primary);box-shadow:0 0 6px var(--color-primary-alpha)}.toggle-icon-btn:focus{outline:none;box-shadow:0 0 0 2px var(--color-primary-alpha)}.toggle-icon-btn svg{width:14px;height:14px}.styled-slider{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;height:6px;background:var(--bg-tertiary);border-radius:3px;outline:none;cursor:pointer}.styled-slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:16px;height:16px;background:var(--color-primary);border-radius:50%;cursor:pointer;border:2px solid white;box-shadow:0 1px 3px #0003;transition:transform .15s ease}.styled-slider::-webkit-slider-thumb:hover{transform:scale(1.1)}.styled-slider::-moz-range-thumb{width:16px;height:16px;background:var(--color-primary);border-radius:50%;cursor:pointer;border:2px solid white;box-shadow:0 1px 3px #0003}.styled-slider:focus{outline:none}.styled-slider:focus::-webkit-slider-thumb{box-shadow:0 0 0 3px var(--color-primary-alpha)}.text-editor-overlay{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:1000}.text-editor-textarea{pointer-events:auto;background:#fff;color:#1e293b;border:2px solid var(--selection-color, #2196f3);border-radius:4px;padding:4px 8px;resize:both;overflow:auto;box-shadow:0 2px 8px #00000040;outline:none;line-height:1.4;box-sizing:border-box}.text-editor-textarea::placeholder{color:#94a3b8}.text-editor-textarea:focus{border-color:#1976d2;box-shadow:0 2px 12px #2196f366}[data-theme=dark] .text-editor-textarea{background:#1e293b;color:#f1f5f9;box-shadow:0 2px 12px #00000080}[data-theme=dark] .text-editor-textarea::placeholder{color:#64748b}.context-menu{position:fixed;z-index:1000;min-width:180px;background:var(--bg-primary, #ffffff);border:1px solid var(--border-color, #dee2e6);border-radius:6px;box-shadow:0 4px 16px #00000026;padding:4px 0;font-size:13px}.context-menu-item{display:flex;align-items:center;justify-content:space-between;width:100%;padding:8px 12px;border:none;background:transparent;color:var(--text-primary, #212529);cursor:pointer;text-align:left;transition:background-color .1s ease}.context-menu-item:hover:not(.disabled){background:var(--bg-hover, #f8f9fa)}.context-menu-item.disabled{color:var(--text-secondary, #6c757d);cursor:default}.context-menu-item.danger:hover{background:#fee2e2;color:#dc2626}.context-menu-label{flex:1}.context-menu-shortcut{margin-left:24px;color:var(--text-secondary, #6c757d);font-size:11px}.context-menu-separator{height:1px;margin:4px 0;background:var(--border-color, #dee2e6)}.context-menu-submenu{position:relative}.context-menu-submenu .has-submenu{display:flex;align-items:center;justify-content:space-between;width:100%;padding:8px 12px;border:none;background:transparent;color:var(--text-primary, #212529);cursor:pointer;text-align:left}.context-menu-submenu:hover>.has-submenu{background:var(--bg-hover, #f8f9fa)}.context-menu-arrow{font-size:10px;margin-left:12px;opacity:.6}.context-menu-submenu-content{position:absolute;left:100%;top:0;min-width:140px;background:var(--bg-primary, #ffffff);border:1px solid var(--border-color, #dee2e6);border-radius:6px;box-shadow:0 4px 16px #00000026;padding:4px 0;margin-left:2px;z-index:1001}.context-menu-submenu-content .context-menu-item{padding-left:8px}.context-menu-check{width:18px;font-size:12px;color:var(--accent-color, #4a90d9);flex-shrink:0}[data-theme=dark] .context-menu{background:var(--bg-primary, #1e1e1e);border-color:var(--border-color, #3d3d3d);box-shadow:0 4px 16px #0006}[data-theme=dark] .context-menu-item{color:var(--text-primary, #e0e0e0)}[data-theme=dark] .context-menu-item:hover:not(.disabled){background:var(--bg-hover, #2a2a2a)}[data-theme=dark] .context-menu-item.danger:hover{background:#450a0a;color:#f87171}[data-theme=dark] .context-menu-separator{background:var(--border-color, #3d3d3d)}[data-theme=dark] .context-menu-submenu .has-submenu{color:var(--text-primary, #e0e0e0)}[data-theme=dark] .context-menu-submenu:hover>.has-submenu{background:var(--bg-hover, #2a2a2a)}[data-theme=dark] .context-menu-submenu-content{background:var(--bg-primary, #1e1e1e);border-color:var(--border-color, #3d3d3d);box-shadow:0 4px 16px #0006}[data-theme=dark] .context-menu-check{color:var(--accent-color, #4a90d9)}.export-dialog-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.export-dialog{background:var(--bg-primary, #ffffff);border-radius:8px;box-shadow:0 8px 32px #0003;width:360px;max-width:90vw;overflow:hidden}.export-dialog-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;background:var(--bg-secondary, #f8f9fa);border-bottom:1px solid var(--border-color, #dee2e6)}.export-dialog-header h2{margin:0;font-size:16px;font-weight:600;color:var(--text-primary, #212529)}.export-dialog-close{width:28px;height:28px;display:flex;align-items:center;justify-content:center;padding:0;border:none;border-radius:4px;background:transparent;color:var(--text-secondary, #6c757d);font-size:20px;cursor:pointer;transition:background-color .15s ease,color .15s ease}.export-dialog-close:hover{background:var(--bg-hover, #e9ecef);color:var(--text-primary, #212529)}.export-dialog-content{padding:20px;display:flex;flex-direction:column;gap:16px}.export-option{display:flex;flex-direction:column;gap:6px}.export-label{font-size:12px;font-weight:500;color:var(--text-secondary, #6c757d);text-transform:uppercase;letter-spacing:.5px}.export-format-toggle{display:flex;gap:0;border:1px solid var(--border-color, #dee2e6);border-radius:6px;overflow:hidden}.export-format-btn{flex:1;padding:8px 16px;border:none;background:var(--bg-primary, #ffffff);color:var(--text-secondary, #6c757d);font-size:13px;font-weight:500;cursor:pointer;transition:background-color .15s ease,color .15s ease}.export-format-btn:not(:last-child){border-right:1px solid var(--border-color, #dee2e6)}.export-format-btn:hover{background:var(--bg-hover, #f8f9fa)}.export-format-btn.active{background:var(--color-primary, #2196f3);color:#fff}.export-select{padding:8px 12px;border:1px solid var(--border-color, #dee2e6);border-radius:6px;background:var(--bg-primary, #ffffff);color:var(--text-primary, #212529);font-size:13px;cursor:pointer}.export-select:focus{outline:none;border-color:var(--color-primary, #2196f3);box-shadow:0 0 0 2px #2196f333}.export-background-options{display:flex;align-items:center;gap:12px}.export-checkbox-label{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--text-primary, #212529);cursor:pointer}.export-checkbox-label input[type=checkbox]{width:16px;height:16px;cursor:pointer;accent-color:var(--color-primary, #2196f3)}.export-color{width:36px;height:28px;padding:0;border:1px solid var(--border-color, #dee2e6);border-radius:4px;cursor:pointer;background:none}.export-color::-webkit-color-swatch-wrapper{padding:2px}.export-color::-webkit-color-swatch{border-radius:2px;border:none}.export-input-group{display:flex;align-items:center;gap:6px}.export-number{width:80px;padding:8px 12px;border:1px solid var(--border-color, #dee2e6);border-radius:6px;background:var(--bg-primary, #ffffff);color:var(--text-primary, #212529);font-size:13px}.export-number:focus{outline:none;border-color:var(--color-primary, #2196f3);box-shadow:0 0 0 2px #2196f333}.export-unit{font-size:12px;color:var(--text-secondary, #6c757d)}.export-filename-group{display:flex;align-items:center}.export-text{flex:1;padding:8px 12px;border:1px solid var(--border-color, #dee2e6);border-radius:6px 0 0 6px;background:var(--bg-primary, #ffffff);color:var(--text-primary, #212529);font-size:13px}.export-text:focus{outline:none;border-color:var(--color-primary, #2196f3);box-shadow:0 0 0 2px #2196f333;z-index:1;position:relative}.export-extension{padding:8px 12px;border:1px solid var(--border-color, #dee2e6);border-left:none;border-radius:0 6px 6px 0;background:var(--bg-secondary, #f8f9fa);color:var(--text-secondary, #6c757d);font-size:13px}.export-error{padding:10px 12px;background:#fee2e2;border:1px solid #fecaca;border-radius:6px;color:#dc2626;font-size:13px}.export-dialog-footer{display:flex;justify-content:flex-end;gap:8px;padding:16px 20px;background:var(--bg-secondary, #f8f9fa);border-top:1px solid var(--border-color, #dee2e6)}.export-btn{padding:8px 16px;border:none;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;transition:background-color .15s ease,opacity .15s ease}.export-btn:disabled{opacity:.5;cursor:not-allowed}.export-btn-cancel{background:var(--bg-primary, #ffffff);border:1px solid var(--border-color, #dee2e6);color:var(--text-primary, #212529)}.export-btn-cancel:hover:not(:disabled){background:var(--bg-hover, #e9ecef)}.export-btn-primary{background:var(--color-primary, #2196f3);color:#fff}.export-btn-primary:hover:not(:disabled){background:var(--color-primary-dark, #1976d2)}[data-theme=dark] .export-dialog{background:var(--bg-primary, #1e1e1e)}[data-theme=dark] .export-dialog-header{background:var(--bg-secondary, #252526);border-color:var(--border-color, #3d3d3d)}[data-theme=dark] .export-dialog-header h2{color:var(--text-primary, #e0e0e0)}[data-theme=dark] .export-dialog-close:hover{background:var(--bg-hover, #2a2a2a)}[data-theme=dark] .export-format-toggle{border-color:var(--border-color, #3d3d3d)}[data-theme=dark] .export-format-btn{background:var(--bg-primary, #1e1e1e);color:var(--text-secondary, #9e9e9e);border-color:var(--border-color, #3d3d3d)}[data-theme=dark] .export-format-btn:hover{background:var(--bg-hover, #2a2a2a)}[data-theme=dark] .export-format-btn.active{background:var(--color-primary, #60a5fa);color:#1e1e1e}[data-theme=dark] .export-select,[data-theme=dark] .export-number,[data-theme=dark] .export-text{background:var(--bg-primary, #1e1e1e);border-color:var(--border-color, #3d3d3d);color:var(--text-primary, #e0e0e0)}[data-theme=dark] .export-color{border-color:var(--border-color, #3d3d3d)}[data-theme=dark] .export-extension{background:var(--bg-secondary, #252526);border-color:var(--border-color, #3d3d3d);color:var(--text-secondary, #9e9e9e)}[data-theme=dark] .export-checkbox-label{color:var(--text-primary, #e0e0e0)}[data-theme=dark] .export-error{background:#450a0a;border-color:#7f1d1d;color:#f87171}[data-theme=dark] .export-dialog-footer{background:var(--bg-secondary, #252526);border-color:var(--border-color, #3d3d3d)}[data-theme=dark] .export-btn-cancel{background:var(--bg-primary, #1e1e1e);border-color:var(--border-color, #3d3d3d);color:var(--text-primary, #e0e0e0)}[data-theme=dark] .export-btn-cancel:hover:not(:disabled){background:var(--bg-hover, #2a2a2a)}[data-theme=dark] .export-btn-primary{background:var(--color-primary, #60a5fa);color:#1e1e1e}[data-theme=dark] .export-btn-primary:hover:not(:disabled){background:var(--color-primary-dark, #3b82f6)}.save-to-library-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:10001}.save-to-library-dialog{background:var(--bg-primary, #ffffff);border-radius:12px;box-shadow:0 8px 32px #0003;width:400px;max-width:90vw;overflow:hidden}.save-to-library-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;background:var(--bg-secondary, #f8f9fa);border-bottom:1px solid var(--border-color, #dee2e6)}.save-to-library-header h2{margin:0;font-size:16px;font-weight:600;color:var(--text-primary, #212529)}.save-to-library-close{width:28px;height:28px;display:flex;align-items:center;justify-content:center;padding:0;border:none;border-radius:4px;background:transparent;color:var(--text-secondary, #6c757d);font-size:20px;cursor:pointer;transition:background-color .15s ease,color .15s ease}.save-to-library-close:hover{background:var(--bg-hover, #e9ecef);color:var(--text-primary, #212529)}.save-to-library-content{padding:20px;display:flex;flex-direction:column;gap:16px}.save-to-library-preview{display:flex;flex-direction:column;align-items:center;gap:8px;padding:16px;background:var(--bg-secondary, #f8f9fa);border-radius:8px}.save-to-library-preview img{width:120px;height:120px;object-fit:contain;border-radius:4px;background:var(--bg-primary, #ffffff)}.save-to-library-preview-placeholder{width:120px;height:120px;display:flex;align-items:center;justify-content:center;font-size:48px;background:var(--bg-primary, #ffffff);border-radius:4px;color:var(--text-muted, #adb5bd)}.save-to-library-preview-info{font-size:12px;color:var(--text-secondary, #6c757d)}.save-to-library-field{display:flex;flex-direction:column;gap:6px}.save-to-library-label{font-size:12px;font-weight:500;color:var(--text-secondary, #6c757d);text-transform:uppercase;letter-spacing:.5px}.save-to-library-input{padding:10px 12px;border:1px solid var(--border-color, #dee2e6);border-radius:6px;background:var(--bg-primary, #ffffff);color:var(--text-primary, #212529);font-size:14px}.save-to-library-input:focus{outline:none;border-color:var(--color-primary, #2196f3);box-shadow:0 0 0 2px #2196f333}.save-to-library-input::placeholder{color:var(--text-muted, #adb5bd)}.save-to-library-select-container{display:flex;gap:8px}.save-to-library-select{flex:1;padding:10px 12px;border:1px solid var(--border-color, #dee2e6);border-radius:6px;background:var(--bg-primary, #ffffff);color:var(--text-primary, #212529);font-size:14px;cursor:pointer}.save-to-library-select:focus{outline:none;border-color:var(--color-primary, #2196f3);box-shadow:0 0 0 2px #2196f333}.save-to-library-new-library-btn{width:40px;display:flex;align-items:center;justify-content:center;padding:0;border:1px solid var(--border-color, #dee2e6);border-radius:6px;background:var(--bg-primary, #ffffff);color:var(--text-primary, #212529);font-size:18px;font-weight:500;cursor:pointer;transition:background-color .15s ease,border-color .15s ease}.save-to-library-new-library-btn:hover{background:var(--bg-hover, #e9ecef);border-color:var(--color-primary, #2196f3)}.save-to-library-create-library{display:flex;gap:6px}.save-to-library-create-library .save-to-library-input{flex:1}.save-to-library-create-btn,.save-to-library-cancel-btn{padding:8px 12px;border:none;border-radius:6px;font-size:12px;font-weight:500;cursor:pointer;transition:background-color .15s ease}.save-to-library-create-btn{background:var(--color-primary, #2196f3);color:#fff}.save-to-library-create-btn:hover:not(:disabled){background:var(--color-primary-dark, #1976d2)}.save-to-library-create-btn:disabled{opacity:.5;cursor:not-allowed}.save-to-library-cancel-btn{background:var(--bg-tertiary, #e9ecef);color:var(--text-secondary, #6c757d)}.save-to-library-cancel-btn:hover{background:var(--bg-hover, #dee2e6)}.save-to-library-error{padding:10px 12px;background:#fee2e2;border:1px solid #fecaca;border-radius:6px;color:#dc2626;font-size:13px}.save-to-library-footer{display:flex;justify-content:flex-end;gap:8px;padding:16px 20px;background:var(--bg-secondary, #f8f9fa);border-top:1px solid var(--border-color, #dee2e6)}.save-to-library-btn{padding:10px 20px;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:background-color .15s ease,opacity .15s ease}.save-to-library-btn:disabled{opacity:.5;cursor:not-allowed}.save-to-library-btn-cancel{background:var(--bg-primary, #ffffff);border:1px solid var(--border-color, #dee2e6);color:var(--text-primary, #212529)}.save-to-library-btn-cancel:hover:not(:disabled){background:var(--bg-hover, #e9ecef)}.save-to-library-btn-primary{background:var(--color-primary, #2196f3);color:#fff}.save-to-library-btn-primary:hover:not(:disabled){background:var(--color-primary-dark, #1976d2)}[data-theme=dark] .save-to-library-dialog{background:var(--bg-primary, #1e1e1e)}[data-theme=dark] .save-to-library-header{background:var(--bg-secondary, #252526);border-color:var(--border-color, #3d3d3d)}[data-theme=dark] .save-to-library-header h2{color:var(--text-primary, #e0e0e0)}[data-theme=dark] .save-to-library-close:hover{background:var(--bg-hover, #2a2a2a)}[data-theme=dark] .save-to-library-preview{background:var(--bg-secondary, #252526)}[data-theme=dark] .save-to-library-preview img,[data-theme=dark] .save-to-library-preview-placeholder{background:var(--bg-primary, #1e1e1e)}[data-theme=dark] .save-to-library-input,[data-theme=dark] .save-to-library-select,[data-theme=dark] .save-to-library-new-library-btn{background:var(--bg-primary, #1e1e1e);border-color:var(--border-color, #3d3d3d);color:var(--text-primary, #e0e0e0)}[data-theme=dark] .save-to-library-new-library-btn:hover{background:var(--bg-hover, #2a2a2a)}[data-theme=dark] .save-to-library-create-btn{background:var(--color-primary, #60a5fa);color:#1e1e1e}[data-theme=dark] .save-to-library-cancel-btn{background:var(--bg-tertiary, #2a2a2a);color:var(--text-secondary, #9e9e9e)}[data-theme=dark] .save-to-library-cancel-btn:hover{background:var(--bg-hover, #3d3d3d)}[data-theme=dark] .save-to-library-error{background:#450a0a;border-color:#7f1d1d;color:#f87171}[data-theme=dark] .save-to-library-footer{background:var(--bg-secondary, #252526);border-color:var(--border-color, #3d3d3d)}[data-theme=dark] .save-to-library-btn-cancel{background:var(--bg-primary, #1e1e1e);border-color:var(--border-color, #3d3d3d);color:var(--text-primary, #e0e0e0)}[data-theme=dark] .save-to-library-btn-cancel:hover:not(:disabled){background:var(--bg-hover, #2a2a2a)}[data-theme=dark] .save-to-library-btn-primary{background:var(--color-primary, #60a5fa);color:#1e1e1e}[data-theme=dark] .save-to-library-btn-primary:hover:not(:disabled){background:var(--color-primary-dark, #3b82f6)}.file-viewer-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:10000;animation:file-viewer-fade-in .15s ease-out}@keyframes file-viewer-fade-in{0%{opacity:0}to{opacity:1}}@keyframes file-viewer-slide-in{0%{opacity:0;transform:scale(.96) translateY(8px)}to{opacity:1;transform:scale(1) translateY(0)}}.file-viewer-modal{background:var(--bg-primary, #ffffff);border-radius:12px;box-shadow:0 16px 64px #0000004d;width:90vw;height:85vh;max-width:1200px;display:flex;flex-direction:column;overflow:hidden;animation:file-viewer-slide-in .2s ease-out}.file-viewer-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--border-color, #e2e8f0);background:var(--bg-secondary, #f8fafc);flex-shrink:0}.file-viewer-header-info{display:flex;align-items:center;gap:8px;min-width:0;flex:1}.file-viewer-icon{font-size:20px;flex-shrink:0}.file-viewer-filename{font-weight:600;font-size:14px;color:var(--text-primary, #1e293b);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.file-viewer-meta{font-size:12px;color:var(--text-secondary, #64748b);white-space:nowrap;flex-shrink:0}.file-viewer-mime{padding:2px 6px;background:var(--bg-tertiary, #f1f5f9);border-radius:4px;font-family:monospace;font-size:11px}.file-viewer-header-actions{display:flex;align-items:center;gap:8px;flex-shrink:0;margin-left:16px}.file-viewer-action-btn{padding:6px 12px;border:1px solid var(--border-color, #e2e8f0);border-radius:6px;background:var(--bg-primary, #ffffff);color:var(--text-primary, #1e293b);font-size:13px;cursor:pointer;transition:background .15s,border-color .15s;white-space:nowrap}.file-viewer-action-btn:hover{background:var(--bg-hover, #f1f5f9);border-color:var(--border-hover, #cbd5e1)}.file-viewer-close-btn{width:32px;height:32px;border:none;border-radius:6px;background:transparent;color:var(--text-secondary, #64748b);font-size:16px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s,color .15s}.file-viewer-close-btn:hover{background:var(--bg-hover, #f1f5f9);color:var(--text-primary, #1e293b)}.file-viewer-body{flex:1;overflow:auto;position:relative;display:flex;align-items:center;justify-content:center}.file-viewer-loading{display:flex;flex-direction:column;align-items:center;gap:12px;color:var(--text-secondary, #64748b);font-size:14px}.file-viewer-spinner{width:32px;height:32px;border:3px solid var(--border-color, #e2e8f0);border-top-color:var(--accent-color, #3b82f6);border-radius:50%;animation:file-viewer-spin .8s linear infinite}@keyframes file-viewer-spin{to{transform:rotate(360deg)}}.file-viewer-error{display:flex;flex-direction:column;align-items:center;gap:8px;color:var(--text-secondary, #64748b);font-size:14px}.file-viewer-error-icon{font-size:32px}[data-theme=dark] .file-viewer-overlay{background:#000c}[data-theme=dark] .file-viewer-modal{background:var(--bg-primary, #1e293b);box-shadow:0 16px 64px #00000080}[data-theme=dark] .file-viewer-header{border-bottom-color:var(--border-color, #334155);background:var(--bg-secondary, #0f172a)}[data-theme=dark] .file-viewer-action-btn{border-color:var(--border-color, #334155);background:var(--bg-secondary, #0f172a);color:var(--text-primary, #f1f5f9)}[data-theme=dark] .file-viewer-action-btn:hover{background:var(--bg-hover, #1e293b)}[data-theme=dark] .file-viewer-close-btn:hover{background:var(--bg-hover, #334155)}.file-viewer-recovery{display:flex;flex-direction:column;align-items:center;gap:12px;text-align:center;max-width:360px;padding:24px}.file-viewer-recovery-icon{font-size:48px}.file-viewer-recovery-title{font-size:18px;font-weight:600;color:var(--text-primary, #1e293b)}.file-viewer-recovery-message{font-size:14px;color:var(--text-secondary, #64748b);margin:0;line-height:1.5}.file-viewer-recovery-btn{padding:10px 20px;border:none;border-radius:8px;background:var(--accent-color, #3b82f6);color:#fff;font-size:14px;font-weight:500;cursor:pointer;transition:background .15s;margin-top:8px}.file-viewer-recovery-btn:hover{background:var(--accent-hover, #2563eb)}.file-viewer-recovery-btn:disabled{opacity:.6;cursor:not-allowed}.file-viewer-action-btn:disabled{opacity:.5;cursor:not-allowed}@media (max-width: 768px){.file-viewer-modal{width:100vw;height:100vh;border-radius:0;max-width:none}.file-viewer-header{padding:8px 12px}.file-viewer-mime{display:none}}.collab-cursors-overlay{position:absolute;top:0;left:0;pointer-events:none;overflow:hidden;z-index:1000}.collab-cursor{position:absolute;pointer-events:none;transition:left .05s linear,top .05s linear;z-index:1001}.collab-cursor-icon{display:block;filter:drop-shadow(0 1px 2px rgba(0,0,0,.3))}.collab-cursor-label{position:absolute;top:16px;left:8px;padding:2px 6px;border-radius:4px;color:#fff;font-size:11px;font-weight:500;white-space:nowrap;box-shadow:0 1px 3px #0003;max-width:120px;overflow:hidden;text-overflow:ellipsis}.collab-selection-indicator{position:absolute;border:2px dashed var(--cursor-color, #4a90d9);border-radius:2px;pointer-events:none;opacity:.6}.collab-cursor{animation:cursor-appear .2s ease-out}@keyframes cursor-appear{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}.collab-selection-overlay{position:absolute;top:0;left:0;pointer-events:none;overflow:hidden;z-index:999}.collab-selection-box{position:absolute;border:2px dashed var(--selection-color, #4a90d9);border-radius:3px;pointer-events:none;opacity:.7;transition:left .1s ease-out,top .1s ease-out,width .1s ease-out,height .1s ease-out}.collab-selection-label{position:absolute;top:-18px;left:-2px;padding:1px 5px;border-radius:3px 3px 0 0;color:#fff;font-size:10px;font-weight:500;white-space:nowrap;max-width:100px;overflow:hidden;text-overflow:ellipsis}.collab-selection-box{animation:selection-appear .15s ease-out}@keyframes selection-appear{0%{opacity:0}to{opacity:.7}}.collab-selection-box.active{animation:selection-pulse 2s ease-in-out infinite}@keyframes selection-pulse{0%,to{opacity:.5}50%{opacity:.8}}.minimap-container{position:absolute;bottom:16px;right:16px;z-index:100;border-radius:8px;overflow:hidden;box-shadow:0 2px 12px #00000026;border:1px solid var(--border-color, #e2e8f0);background:var(--bg-primary, #ffffff);transition:opacity .15s ease,transform .15s ease}.minimap-container:hover{box-shadow:0 4px 16px #0003}.minimap-canvas{display:block;cursor:crosshair;background:var(--bg-primary, #ffffff)}:root[data-theme=dark] .minimap-container{border-color:var(--border-color, #334155);background:var(--bg-secondary, #1e293b);box-shadow:0 2px 12px #0006}:root[data-theme=dark] .minimap-container:hover{box-shadow:0 4px 16px #00000080}:root[data-theme=dark] .minimap-canvas{background:var(--bg-secondary, #1e293b)}.property-section-container{margin-bottom:4px;border-radius:8px;overflow:hidden;background:var(--bg-secondary);border:1px solid transparent;transition:border-color .15s ease,background-color .15s ease}.property-section-container:hover{border-color:var(--border-color-light, #e9ecef)}.property-section-container:last-child{margin-bottom:0}.property-section-header{display:flex;align-items:center;gap:8px;padding:10px 12px;cursor:pointer;-webkit-user-select:none;user-select:none;transition:background-color .15s ease;border-radius:8px}.property-section-header:hover{background-color:var(--bg-tertiary, #f0f0f0)}.property-section-header:focus{outline:none;background-color:var(--bg-tertiary, #f0f0f0)}.property-section-chevron{font-size:.5625rem;color:var(--text-muted, var(--text-secondary, #6c757d));transition:transform .2s ease,color .15s ease;width:12px;text-align:center;opacity:.7}.property-section-header:hover .property-section-chevron{color:var(--color-primary, #2196f3);opacity:1}.property-section-title{flex:1;font-size:.6875rem;font-weight:600;color:var(--text-primary, #495057);text-transform:uppercase;letter-spacing:.05em}.property-section-badge{font-size:.625rem;font-weight:600;padding:2px 8px;background-color:var(--color-primary-light, rgba(33, 150, 243, .1));color:var(--color-primary, #2196f3);border-radius:10px}.property-section-content{display:flex;flex-direction:column;gap:8px;padding:0 12px 12px;overflow:hidden;transition:max-height .25s ease,opacity .2s ease,padding .25s ease}.property-section-container.collapsed .property-section-content{max-height:0;opacity:0;padding-top:0;padding-bottom:0;pointer-events:none}.property-section-container.expanded .property-section-content{max-height:600px;opacity:1}[data-theme=dark] .property-section-container{background:var(--bg-secondary, #252526)}[data-theme=dark] .property-section-container:hover{border-color:var(--border-color, #404040)}[data-theme=dark] .property-section-header:hover,[data-theme=dark] .property-section-header:focus{background-color:var(--bg-tertiary, #333333)}[data-theme=dark] .property-section-title{color:var(--text-primary, #e0e0e0)}[data-theme=dark] .property-section-badge{background-color:var(--color-primary-light, rgba(33, 150, 243, .15))}.color-palette-container{display:flex;flex-direction:column;gap:8px;padding:4px 0}.color-palette-container.compact{gap:4px}.color-palette-section{display:flex;flex-direction:column;gap:4px}.color-palette-label{font-size:.625rem;font-weight:500;color:var(--text-secondary, #6c757d);text-transform:uppercase;letter-spacing:.5px}.color-palette-row{display:flex;flex-wrap:wrap;gap:4px}.color-swatch{width:22px;height:22px;border:1px solid var(--border-color, #dee2e6);border-radius:4px;cursor:pointer;padding:0;transition:transform .1s ease,box-shadow .1s ease;flex-shrink:0}.color-swatch:hover{transform:scale(1.1);box-shadow:0 2px 4px #0003}.color-swatch:focus{outline:none;box-shadow:0 0 0 2px #2196f34d}.color-swatch.selected{border:2px solid #fff;box-shadow:0 0 0 2px var(--color-primary, #2196f3)}.color-palette-auto-row,.color-palette-nofill-row{display:flex;align-items:center;gap:8px}.color-swatch--auto,.color-swatch--nofill{width:32px;height:32px;border-radius:6px;flex-shrink:0;display:flex;align-items:center;justify-content:center}.color-swatch--auto{background:linear-gradient(135deg,#fff,#fff 50%,#000 50%,#000)}.auto-color-icon{color:var(--color-primary, #2196f3);font-size:13px;font-weight:700;line-height:1;background:#ffffffbf;border-radius:50%;width:18px;height:18px;display:flex;align-items:center;justify-content:center}.color-swatch--nofill{background:repeating-linear-gradient(45deg,#fff,#fff 4px,#eee 4px,#eee 8px);position:relative}.no-fill-icon{color:#c00;font-size:18px;font-weight:700;line-height:1}.color-palette-special-label{font-size:.8rem;font-weight:500;color:var(--text-primary, #212529)}.color-palette-info-btn{position:relative;display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:50%;background:var(--bg-secondary, #e9ecef);color:var(--text-secondary, #6c757d);font-size:11px;font-weight:700;font-style:normal;cursor:default;-webkit-user-select:none;user-select:none;flex-shrink:0}.color-palette-info-btn:hover{background:var(--color-primary, #2196f3);color:#fff}.color-palette-info-tooltip{display:none;position:absolute;left:24px;top:50%;transform:translateY(-50%);width:220px;padding:8px 10px;background:var(--bg-tooltip, #1a1a2e);color:#fff;font-size:.7rem;font-weight:400;line-height:1.5;border-radius:6px;box-shadow:0 4px 12px #00000040;z-index:10001;pointer-events:none;white-space:normal}.color-palette-info-tooltip:before{content:"";position:absolute;right:100%;top:50%;transform:translateY(-50%);border:5px solid transparent;border-right-color:var(--bg-tooltip, #1a1a2e)}.color-palette-info-btn:hover .color-palette-info-tooltip{display:block}.color-swatch.no-fill{background:repeating-linear-gradient(45deg,#fff,#fff 4px,#eee 4px,#eee 8px);position:relative;display:flex;align-items:center;justify-content:center}.color-palette-nofill-label{font-size:.75rem;color:var(--text-secondary, #6c757d)}.color-palette-custom{display:flex;align-items:center;gap:6px}.color-palette-picker{width:28px;height:28px;padding:0;border:1px solid var(--border-color, #dee2e6);border-radius:4px;cursor:pointer;background:transparent}.color-palette-picker::-webkit-color-swatch-wrapper{padding:2px}.color-palette-picker::-webkit-color-swatch{border:none;border-radius:2px}.color-palette-custom-toggle{flex:1;padding:4px 8px;font-size:.75rem;font-family:SF Mono,Menlo,Monaco,Consolas,monospace;color:var(--text-primary, #495057);background:var(--bg-secondary, #f8f9fa);border:1px solid var(--border-color, #dee2e6);border-radius:4px;cursor:pointer;text-align:left;transition:background-color .15s ease,border-color .15s ease}.color-palette-custom-toggle:hover{background:var(--bg-hover, #e9ecef);border-color:var(--color-primary, #2196f3)}.color-palette-custom-input-group{display:flex;flex:1;gap:4px}.color-palette-custom-input{flex:1;min-width:0;padding:4px 6px;font-size:.75rem;font-family:SF Mono,Menlo,Monaco,Consolas,monospace;color:var(--text-primary, #495057);background:var(--bg-primary, #ffffff);border:1px solid var(--color-primary, #2196f3);border-radius:4px;outline:none}.color-palette-custom-input:focus{box-shadow:0 0 0 2px #2196f333}.color-palette-custom-apply{padding:4px 8px;font-size:.75rem;font-weight:500;color:#fff;background:var(--color-primary, #2196f3);border:none;border-radius:4px;cursor:pointer;transition:background-color .15s ease}.color-palette-custom-apply:hover{background:var(--color-primary-dark, #1976d2)}[data-theme=dark] .color-swatch{border-color:var(--border-color, #404040)}[data-theme=dark] .color-swatch--nofill,[data-theme=dark] .color-swatch.no-fill{background:repeating-linear-gradient(45deg,#333,#333 4px,#444 4px,#444 8px)}[data-theme=dark] .color-palette-picker{border-color:var(--border-color, #404040)}[data-theme=dark] .color-palette-custom-toggle{background:var(--bg-secondary, #252526);border-color:var(--border-color, #404040)}[data-theme=dark] .color-palette-custom-toggle:hover{background:var(--bg-hover, #3c3c3c)}[data-theme=dark] .color-palette-custom-input{background:var(--bg-primary, #1e1e1e);color:var(--text-primary, #cccccc)}[data-theme=dark] .color-palette-info-btn{background:var(--bg-hover, #3c3c3c);color:var(--text-secondary, #aaa)}.color-palette{display:grid;grid-template-columns:repeat(6,1fr);gap:4px;padding:4px 0}.color-palette-ramps{display:flex;flex-direction:column;gap:3px}.color-palette-ramp-row{display:flex;align-items:center;gap:6px}.color-palette-ramp-label{width:50px;font-size:.6rem;font-weight:500;color:var(--text-secondary, #6c757d);text-transform:uppercase;letter-spacing:.3px;flex-shrink:0;text-align:right;padding-right:2px}.color-palette-ramp-shades{display:flex;gap:3px}.compact .color-palette-ramp-row{gap:3px}.compact .color-palette-ramp-label{display:none}.compact .color-palette-ramp-shades{gap:2px}[data-theme=dark] .color-palette-ramp-label{color:var(--text-secondary, #8b8b8b)}.compact-color-input{display:flex;align-items:center;gap:8px;position:relative}.compact-color-label{font-size:.75rem;color:var(--text-secondary, #6c757d);min-width:40px}.compact-color-controls{display:flex;align-items:center;gap:4px;flex:1}.compact-color-picker{width:26px;height:26px;padding:0;border:1px solid var(--border-color, #dee2e6);border-radius:4px;cursor:pointer;background:transparent;flex-shrink:0}.compact-color-picker::-webkit-color-swatch-wrapper{padding:2px}.compact-color-picker::-webkit-color-swatch{border:none;border-radius:2px}.compact-color-picker:hover{border-color:var(--color-primary, #2196f3)}.compact-color-picker:focus{outline:none;border-color:var(--color-primary, #2196f3);box-shadow:0 0 0 2px #2196f333}.compact-color-swatch{width:26px;height:26px;padding:0;border:1px solid var(--border-color, #dee2e6);border-radius:4px;cursor:pointer;flex-shrink:0;display:flex;align-items:center;justify-content:center;position:relative;transition:border-color .15s ease,transform .1s ease}.compact-color-swatch:hover{border-color:var(--color-primary, #2196f3);transform:translateY(-1px)}.compact-color-swatch:focus{outline:none;border-color:var(--color-primary, #2196f3);box-shadow:0 0 0 2px #2196f340}.compact-color-swatch-auto{font-size:11px;font-weight:700;line-height:1;color:var(--color-primary, #2196f3);background:#ffffffd9;width:14px;height:14px;border-radius:50%;display:flex;align-items:center;justify-content:center}.compact-color-swatch-none{color:#c00;font-size:14px;font-weight:700;line-height:1}[data-theme=dark] .compact-color-swatch{border-color:var(--border-color, #404040)}[data-theme=dark] .compact-color-swatch:hover,[data-theme=dark] .compact-color-swatch:focus{border-color:var(--color-primary, #0078d4)}.compact-color-auto-label{color:var(--color-primary, #2196f3);font-style:italic;font-weight:600}.compact-color-hex-input{flex:1;min-width:0;height:26px;padding:0 6px;font-size:.75rem;font-family:SF Mono,Menlo,Monaco,Consolas,monospace;color:var(--text-primary, #495057);background:var(--bg-secondary, #f8f9fa);border:1px solid var(--border-color, #dee2e6);border-radius:4px;text-align:left;cursor:pointer;transition:background-color .15s ease,border-color .15s ease}.compact-color-hex-input:hover{background:var(--bg-hover, #e9ecef);border-color:var(--color-primary, #2196f3)}.compact-color-hex-input:focus{outline:none;border-color:var(--color-primary, #2196f3);box-shadow:0 0 0 2px #2196f333}.compact-color-hex-input.editing{background:var(--bg-primary, #ffffff);cursor:text}.compact-color-edit{width:26px;height:26px;padding:0;font-size:.75rem;font-weight:600;color:var(--text-secondary, #6c757d);background:var(--bg-tertiary, #e9ecef);border:1px solid var(--border-color, #dee2e6);border-radius:4px;cursor:pointer;flex-shrink:0;transition:background-color .15s ease,color .15s ease}.compact-color-edit:hover{background:var(--color-primary, #2196f3);color:#fff;border-color:var(--color-primary, #2196f3)}.compact-color-edit:focus{outline:none;box-shadow:0 0 0 2px #2196f333}.compact-color-palette-dropdown{position:absolute;top:100%;left:0;right:0;margin-top:4px;padding:8px;background:var(--bg-primary, #ffffff);border:1px solid var(--border-color, #dee2e6);border-radius:6px;box-shadow:0 4px 12px #00000026;z-index:100}[data-theme=dark] .compact-color-picker{border-color:var(--border-color, #404040)}[data-theme=dark] .compact-color-picker:hover,[data-theme=dark] .compact-color-picker:focus{border-color:var(--color-primary, #0078d4)}[data-theme=dark] .compact-color-hex-input{background:var(--bg-secondary, #252526);border-color:var(--border-color, #404040);color:var(--text-primary, #cccccc)}[data-theme=dark] .compact-color-hex-input:hover{background:var(--bg-hover, #3c3c3c)}[data-theme=dark] .compact-color-hex-input.editing{background:var(--bg-primary, #1e1e1e)}[data-theme=dark] .compact-color-edit{background:var(--bg-tertiary, #333333);border-color:var(--border-color, #404040)}[data-theme=dark] .compact-color-edit:hover{background:var(--color-primary, #0078d4)}[data-theme=dark] .compact-color-palette-dropdown{background:var(--bg-primary, #1e1e1e);border-color:var(--border-color, #404040);box-shadow:0 4px 12px #0006}.alignment-panel{padding:12px 16px;border-top:1px solid var(--border-color, #dee2e6)}.alignment-section{margin-bottom:12px}.alignment-section:last-child{margin-bottom:0}.alignment-label{font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:.5px;color:var(--text-secondary, #6c757d);margin-bottom:8px}.alignment-buttons{display:flex;gap:4px;flex-wrap:wrap}.alignment-button{display:flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;border:1px solid var(--border-color, #dee2e6);border-radius:4px;background:var(--bg-secondary, #f8f9fa);color:var(--text-primary, #495057);cursor:pointer;transition:background-color .15s ease,border-color .15s ease}.alignment-button:hover{background:var(--bg-tertiary, #e9ecef);border-color:var(--text-secondary, #6c757d)}.alignment-button:active{background:var(--border-color, #dee2e6)}.alignment-button svg{width:16px;height:16px}.style-profile-panel{padding:8px 0;border-top:1px solid var(--border-color, #e2e8f0)}.style-profile-header{display:flex;align-items:center;justify-content:space-between;padding:0 12px 8px;font-size:12px;font-weight:600;color:var(--text-secondary, #64748b);text-transform:uppercase;letter-spacing:.5px}.style-profile-header-actions{display:flex;align-items:center;gap:2px}.style-profile-view-btn{display:flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;border:none;border-radius:4px;background:transparent;color:var(--text-tertiary, #94a3b8);cursor:pointer;transition:all .15s ease}.style-profile-view-btn:hover{background:var(--hover-bg, #f1f5f9);color:var(--text-secondary, #64748b)}.style-profile-view-btn.active{background:var(--hover-bg, #f1f5f9);color:var(--text-primary, #1e293b)}.style-profile-add-btn{display:flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;border:none;border-radius:4px;background:transparent;color:var(--text-secondary, #64748b);cursor:pointer;transition:all .15s ease;margin-left:4px}.style-profile-add-btn:hover{background:var(--accent-color, #4a90d9);color:#fff}.style-profile-create{padding:8px 12px;margin-bottom:8px;background:var(--hover-bg, #f8fafc);border-radius:4px;margin-left:8px;margin-right:8px}.style-profile-input{width:100%;padding:6px 8px;font-size:12px;border:1px solid var(--border-color, #e2e8f0);border-radius:4px;background:var(--input-bg, #fff);color:var(--text-primary, #1e293b);outline:none;margin-bottom:8px}.style-profile-input:focus{border-color:var(--accent-color, #4a90d9);box-shadow:0 0 0 2px #4a90d933}.style-profile-create-actions{display:flex;gap:6px}.style-profile-btn{flex:1;padding:4px 8px;font-size:11px;font-weight:500;border:none;border-radius:4px;cursor:pointer;transition:all .15s ease}.style-profile-btn.save{background:var(--accent-color, #4a90d9);color:#fff}.style-profile-btn.save:hover:not(:disabled){background:var(--accent-hover, #3a7bc8)}.style-profile-btn.save:disabled{opacity:.5;cursor:not-allowed}.style-profile-btn.cancel{background:var(--hover-bg, #e2e8f0);color:var(--text-secondary, #64748b)}.style-profile-btn.cancel:hover{background:var(--border-color, #cbd5e1)}.style-profile-search{display:flex;align-items:center;gap:4px;padding:4px 12px 8px;position:relative}.style-profile-search-input{flex:1;padding:6px 28px 6px 8px;font-size:12px;border:1px solid var(--border-color, #e2e8f0);border-radius:4px;background:var(--input-bg, #fff);color:var(--text-primary, #1e293b);outline:none}.style-profile-search-input:focus{border-color:var(--accent-color, #4a90d9);box-shadow:0 0 0 2px #4a90d933}.style-profile-search-clear{position:absolute;right:18px;display:flex;align-items:center;justify-content:center;width:18px;height:18px;padding:0;border:none;border-radius:50%;background:var(--hover-bg, #e2e8f0);color:var(--text-tertiary, #94a3b8);cursor:pointer;transition:all .15s ease}.style-profile-search-clear:hover{background:var(--border-color, #cbd5e1);color:var(--text-secondary, #64748b)}.style-profile-filter-active{display:flex;align-items:center;justify-content:space-between;padding:4px 12px 8px;font-size:11px;color:var(--text-secondary, #64748b);background:#4a90d91a;margin:0 8px 8px;border-radius:4px}.style-profile-filter-clear{display:flex;align-items:center;justify-content:center;width:16px;height:16px;padding:0;border:none;border-radius:50%;background:transparent;color:var(--text-tertiary, #94a3b8);cursor:pointer;transition:all .15s ease}.style-profile-filter-clear:hover{background:#4a90d933;color:var(--text-primary, #1e293b)}.style-profile-container{padding:0 8px}.style-profile-container.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(60px,1fr));gap:6px}.style-profile-container.list{display:flex;flex-direction:column;gap:2px}.style-profile-grid-item{position:relative;display:flex;flex-direction:column;align-items:center;padding:6px;border-radius:6px;cursor:pointer;transition:all .15s ease;background:var(--bg-secondary, #f8fafc);border:1px solid transparent}.style-profile-grid-item:hover:not(.disabled){background:var(--hover-bg, #f1f5f9);border-color:var(--border-color, #e2e8f0)}.style-profile-grid-item.disabled{opacity:.5;cursor:not-allowed}.style-profile-grid-item.favorite{background:#eab30814}.style-profile-grid-preview{width:36px;height:36px;border-radius:4px;flex-shrink:0;box-shadow:inset 0 0 0 1px #0000001a;margin-bottom:4px}.style-profile-grid-star{position:absolute;top:2px;right:2px;font-size:10px;color:var(--warning-color, #eab308)}.style-profile-grid-name{font-size:10px;color:var(--text-secondary, #64748b);max-width:100%;text-align:center;word-wrap:break-word;overflow-wrap:break-word;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.style-profile-grid-confirm{position:absolute;top:0;left:0;right:0;bottom:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;border-radius:6px;font-size:10px;font-weight:500}.style-profile-grid-confirm.delete{background:#e53e3ef2;color:#fff}.style-profile-grid-confirm.overwrite{background:#4a90d9f2;color:#fff}.style-profile-grid-confirm-actions{display:flex;gap:4px}.style-profile-grid-confirm-actions button{padding:2px 8px;font-size:10px;font-weight:500;border:none;border-radius:3px;cursor:pointer;transition:all .15s ease}.style-profile-grid-confirm.delete .style-profile-grid-confirm-actions button{background:#fff3;color:#fff}.style-profile-grid-confirm.delete .style-profile-grid-confirm-actions button:hover{background:#ffffff4d}.style-profile-grid-confirm.overwrite .style-profile-grid-confirm-actions button{background:#fff3;color:#fff}.style-profile-grid-confirm.overwrite .style-profile-grid-confirm-actions button:hover{background:#ffffff4d}.style-profile-item{display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:4px;transition:background .15s ease}.style-profile-item:hover:not(.disabled){background:var(--hover-bg, #f1f5f9)}.style-profile-item.disabled{opacity:.6}.style-profile-preview{width:24px;height:24px;border-radius:4px;flex-shrink:0;box-shadow:inset 0 0 0 1px #0000001a}.style-profile-name{flex:1;font-size:12px;color:var(--text-primary, #1e293b);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:default}.style-profile-item:not(.disabled) .style-profile-name{cursor:pointer}.style-profile-edit-input{flex:1;padding:2px 6px;font-size:12px;border:1px solid var(--accent-color, #4a90d9);border-radius:3px;background:var(--input-bg, #fff);color:var(--text-primary, #1e293b);outline:none}.style-profile-actions{display:flex;gap:2px;opacity:0;transition:opacity .15s ease}.style-profile-item:hover .style-profile-actions{opacity:1}.style-profile-action{display:flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;border:none;border-radius:4px;background:transparent;color:var(--text-secondary, #64748b);cursor:pointer;transition:all .15s ease}.style-profile-action:hover:not(:disabled){background:var(--hover-bg, #e2e8f0)}.style-profile-action.apply:hover:not(:disabled){color:var(--success-color, #48bb78)}.style-profile-action.overwrite:hover:not(:disabled){color:var(--accent-color, #4a90d9)}.style-profile-action.delete:hover{color:var(--danger-color, #e53e3e)}.style-profile-action.favorite{opacity:.4}.style-profile-item:hover .style-profile-action.favorite{opacity:1}.style-profile-action.favorite.active{opacity:1;color:var(--warning-color, #eab308)}.style-profile-action.favorite:hover{color:var(--warning-color, #eab308)}.style-profile-action.confirm{color:var(--success-color, #48bb78)}.style-profile-action.confirm:hover{background:#48bb7826;color:var(--success-color, #48bb78)}.style-profile-action.cancel{color:var(--danger-color, #e53e3e)}.style-profile-action.cancel:hover{background:#e53e3e26;color:var(--danger-color, #e53e3e)}.style-profile-action:disabled{opacity:.4;cursor:not-allowed}.style-profile-hint{padding:8px 12px;font-size:11px;color:var(--text-tertiary, #94a3b8);text-align:center;font-style:italic}.style-profile-context-menu{position:fixed;z-index:1000;min-width:160px;background:var(--bg-primary, #ffffff);border:1px solid var(--border-color, #e2e8f0);border-radius:6px;box-shadow:0 4px 12px #00000026;padding:4px 0;font-size:12px}.style-profile-context-menu-item{display:block;width:100%;padding:8px 12px;border:none;background:transparent;color:var(--text-primary, #1e293b);text-align:left;cursor:pointer;transition:background-color .1s ease}.style-profile-context-menu-item:hover{background:var(--hover-bg, #f1f5f9)}.style-profile-context-menu-item.danger:hover{background:#fee2e2;color:#dc2626}.style-profile-context-menu-separator{height:1px;margin:4px 0;background:var(--border-color, #e2e8f0)}:root[data-theme=dark] .style-profile-panel{border-top-color:var(--border-color, #334155)}:root[data-theme=dark] .style-profile-header{color:var(--text-secondary, #94a3b8)}:root[data-theme=dark] .style-profile-view-btn{color:var(--text-tertiary, #64748b)}:root[data-theme=dark] .style-profile-view-btn:hover{background:var(--hover-bg, #334155);color:var(--text-secondary, #94a3b8)}:root[data-theme=dark] .style-profile-view-btn.active{background:var(--hover-bg, #334155);color:var(--text-primary, #f1f5f9)}:root[data-theme=dark] .style-profile-add-btn{color:var(--text-secondary, #94a3b8)}:root[data-theme=dark] .style-profile-add-btn:hover{background:var(--accent-color, #60a5fa);color:#fff}:root[data-theme=dark] .style-profile-create{background:var(--hover-bg, #1e293b)}:root[data-theme=dark] .style-profile-input{border-color:var(--border-color, #475569);background:var(--input-bg, #0f172a);color:var(--text-primary, #f1f5f9)}:root[data-theme=dark] .style-profile-input:focus{border-color:var(--accent-color, #60a5fa);box-shadow:0 0 0 2px #60a5fa33}:root[data-theme=dark] .style-profile-btn.save{background:var(--accent-color, #60a5fa)}:root[data-theme=dark] .style-profile-btn.save:hover:not(:disabled){background:var(--accent-hover, #3b82f6)}:root[data-theme=dark] .style-profile-btn.cancel{background:var(--hover-bg, #334155);color:var(--text-secondary, #94a3b8)}:root[data-theme=dark] .style-profile-btn.cancel:hover{background:var(--border-color, #475569)}:root[data-theme=dark] .style-profile-grid-item{background:var(--bg-tertiary, #1e293b)}:root[data-theme=dark] .style-profile-grid-item:hover:not(.disabled){background:var(--hover-bg, #334155);border-color:var(--border-color, #475569)}:root[data-theme=dark] .style-profile-grid-item.favorite{background:#eab3081a}:root[data-theme=dark] .style-profile-grid-name{color:var(--text-secondary, #94a3b8)}:root[data-theme=dark] .style-profile-grid-star{color:var(--warning-color, #facc15)}:root[data-theme=dark] .style-profile-item:hover:not(.disabled){background:var(--hover-bg, #1e293b)}:root[data-theme=dark] .style-profile-name{color:var(--text-primary, #f1f5f9)}:root[data-theme=dark] .style-profile-edit-input{border-color:var(--accent-color, #60a5fa);background:var(--input-bg, #0f172a);color:var(--text-primary, #f1f5f9)}:root[data-theme=dark] .style-profile-action{color:var(--text-secondary, #94a3b8)}:root[data-theme=dark] .style-profile-action:hover:not(:disabled){background:var(--hover-bg, #334155)}:root[data-theme=dark] .style-profile-hint{color:var(--text-tertiary, #64748b)}:root[data-theme=dark] .style-profile-action.favorite.active{color:var(--warning-color, #facc15)}:root[data-theme=dark] .style-profile-action.favorite:hover{color:var(--warning-color, #facc15)}:root[data-theme=dark] .style-profile-action.confirm{color:var(--success-color, #4ade80)}:root[data-theme=dark] .style-profile-action.confirm:hover{background:#4ade8026;color:var(--success-color, #4ade80)}:root[data-theme=dark] .style-profile-action.cancel{color:var(--danger-color, #f87171)}:root[data-theme=dark] .style-profile-action.cancel:hover{background:#f8717126;color:var(--danger-color, #f87171)}:root[data-theme=dark] .style-profile-context-menu{background:var(--bg-primary, #1e293b);border-color:var(--border-color, #475569);box-shadow:0 4px 12px #0006}:root[data-theme=dark] .style-profile-context-menu-item{color:var(--text-primary, #f1f5f9)}:root[data-theme=dark] .style-profile-context-menu-item:hover{background:var(--hover-bg, #334155)}:root[data-theme=dark] .style-profile-context-menu-item.danger:hover{background:#450a0a;color:#f87171}:root[data-theme=dark] .style-profile-context-menu-separator{background:var(--border-color, #475569)}.icon-picker{position:relative;display:flex;flex-direction:column;gap:4px}.icon-picker-label{font-size:11px;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.icon-picker-trigger{display:flex;align-items:center;justify-content:space-between;padding:6px 8px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:4px;cursor:pointer;transition:border-color .15s}.icon-picker-trigger:hover{border-color:var(--color-primary)}.icon-picker-preview{display:flex;align-items:center;gap:8px}.icon-picker-name{font-size:12px;color:var(--text-primary);max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.icon-picker-placeholder{font-size:12px;color:var(--text-muted)}.icon-picker-chevron{font-size:8px;color:var(--text-muted)}.icon-picker-dropdown{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:6px;box-shadow:0 4px 12px #00000026;max-height:320px;display:flex;flex-direction:column}.icon-picker-dropdown:not(.icon-picker-dropdown-portal){position:absolute;top:100%;left:0;right:0;margin-top:4px;z-index:100}.icon-picker-header{display:flex;gap:4px;padding:8px;border-bottom:1px solid var(--border-color)}.icon-picker-search{flex:1;padding:6px 8px;border:1px solid var(--border-color);border-radius:4px;background:var(--bg-secondary);color:var(--text-primary);font-size:12px}.icon-picker-search:focus{outline:none;border-color:var(--color-primary)}.icon-picker-search::placeholder{color:var(--text-muted)}.icon-picker-upload-btn{padding:6px 10px;background:var(--color-primary);color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:14px;font-weight:600;transition:background-color .15s}.icon-picker-upload-btn:hover{background:var(--color-primary-dark)}.icon-picker-categories{display:flex;flex-wrap:wrap;gap:2px;padding:6px 8px;border-bottom:1px solid var(--border-color)}.icon-picker-category{padding:4px 8px;background:transparent;border:none;border-radius:4px;color:var(--text-secondary);font-size:10px;cursor:pointer;transition:all .15s}.icon-picker-category:hover{background:var(--bg-tertiary);color:var(--text-primary)}.icon-picker-category.active{background:var(--color-primary);color:#fff}.icon-picker-category.lazy{font-style:italic;opacity:.7}.icon-picker-category.lazy:hover{opacity:1}.icon-picker-category-sep{color:var(--border-color);font-size:10px;align-self:center;padding:0 4px}.icon-picker-error{padding:8px;background:var(--color-error-bg);color:var(--color-error);font-size:12px;border-bottom:1px solid var(--border-color)}.icon-picker-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(60px,1fr));gap:4px;padding:8px;overflow-y:auto;max-height:200px}.icon-picker-item{display:flex;flex-direction:column;align-items:center;gap:4px;padding:8px 4px;background:transparent;border:1px solid transparent;border-radius:4px;cursor:pointer;transition:all .15s}.icon-picker-item:hover{background:var(--bg-tertiary);border-color:var(--border-color)}.icon-picker-item.selected{background:var(--color-primary-light);border-color:var(--color-primary)}.icon-picker-item-name{font-size:9px;color:var(--text-secondary);text-align:center;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.icon-picker-clear{border:1px dashed var(--border-color)}.icon-picker-clear-icon{font-size:16px;color:var(--text-muted)}.icon-picker-loading,.icon-picker-empty{grid-column:1 / -1;text-align:center;padding:16px;color:var(--text-muted);font-size:12px}.icon-preview-loading{animation:icon-preview-pulse 1.2s ease-in-out infinite}@keyframes icon-preview-pulse{0%,to{opacity:.4}50%{opacity:1}}.icon-preview-error{background:var(--bg-tertiary);position:relative}.icon-preview-error:after{content:"!";position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-size:10px;color:var(--text-muted);font-weight:600}.icon-picker-loading:before{content:"";display:inline-block;width:12px;height:12px;border:2px solid var(--border-color);border-top-color:var(--color-primary);border-radius:50%;animation:icon-picker-spin .6s linear infinite;margin-right:6px;vertical-align:middle}@keyframes icon-picker-spin{to{transform:rotate(360deg)}}.icon-preview{object-fit:contain}.icon-preview-placeholder{background:var(--bg-tertiary);border-radius:2px}.icon-display{object-fit:contain}[data-theme=dark] .icon-picker-dropdown{box-shadow:0 4px 12px #0006}.number-input-row{display:flex;align-items:center;gap:8px;margin-bottom:2px}.number-input-label{font-size:.75rem;color:var(--text-secondary);min-width:55px;font-weight:500}.number-input-container{display:flex;align-items:stretch;height:28px;border:1px solid var(--border-color-input, #ced4da);border-radius:6px;background:var(--bg-secondary);overflow:hidden;transition:border-color .15s ease,box-shadow .15s ease}.number-input-container:hover{border-color:var(--border-color, #adb5bd)}.number-input-container:focus-within{border-color:var(--color-primary, #2196f3);box-shadow:0 0 0 2px #2196f326}.number-input-container.disabled{opacity:.5;pointer-events:none}.number-input-field{width:44px;border:none;background:transparent;color:var(--text-primary);font-size:.75rem;text-align:center;padding:0 4px;outline:none;-moz-appearance:textfield}.number-input-field::-webkit-inner-spin-button,.number-input-field::-webkit-outer-spin-button{-webkit-appearance:none;display:none}.number-input-btn{display:flex;align-items:center;justify-content:center;width:22px;padding:0;border:none;background:var(--bg-tertiary, #e9ecef);color:var(--text-secondary, #6c757d);cursor:pointer;transition:background-color .1s ease,color .1s ease;flex-shrink:0}.number-input-btn:hover:not(.disabled){background:var(--bg-hover, #dee2e6);color:var(--color-primary, #2196f3)}.number-input-btn:active:not(.disabled){background:var(--color-primary-light, rgba(33, 150, 243, .2))}.number-input-btn.disabled{cursor:not-allowed;opacity:.4}.number-input-btn.decrement{border-right:1px solid var(--border-color-input, #ced4da)}.number-input-btn.increment{border-left:1px solid var(--border-color-input, #ced4da)}.number-input-btn svg{width:8px;height:8px}.number-input-suffix{font-size:.6875rem;color:var(--text-muted, var(--text-secondary));opacity:.8}[data-theme=dark] .number-input-container{background:var(--bg-secondary, #252526);border-color:var(--border-color-input, #404040)}[data-theme=dark] .number-input-container:hover{border-color:var(--border-color, #505050)}[data-theme=dark] .number-input-btn{background:var(--bg-tertiary, #333333);color:var(--text-secondary, #999)}[data-theme=dark] .number-input-btn:hover:not(.disabled){background:var(--bg-hover, #3c3c3c);color:var(--color-primary, #60a5fa)}[data-theme=dark] .number-input-btn:active:not(.disabled){background:var(--color-primary-light, rgba(96, 165, 250, .2))}[data-theme=dark] .number-input-btn.decrement{border-right-color:var(--border-color-input, #404040)}[data-theme=dark] .number-input-btn.increment{border-left-color:var(--border-color-input, #404040)}.pattern-picker{display:flex;flex-direction:column;gap:8px}.pattern-picker-row{display:flex;align-items:center;gap:8px}.pattern-picker-label{font-size:12px;color:var(--text-secondary);min-width:55px}.pattern-picker-button{flex:1;display:flex;align-items:center;gap:8px;padding:6px 10px;background:var(--bg-tertiary);border:1px solid var(--border-color-input);border-radius:4px;cursor:pointer;font-size:12px;color:var(--text-primary);transition:border-color .15s,background-color .15s}.pattern-picker-button:hover{border-color:var(--color-primary);background:var(--bg-secondary)}.pattern-preview{display:flex;align-items:center;justify-content:center;flex-shrink:0}.pattern-preview svg{border-radius:2px}.pattern-name{flex:1;text-align:left}.pattern-chevron{font-size:10px;color:var(--text-muted)}.pattern-picker-dropdown{position:fixed;z-index:10000;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:6px;box-shadow:0 4px 12px #00000026;padding:4px;min-width:180px;max-height:300px;overflow-y:auto}.pattern-option{display:flex;align-items:center;gap:8px;width:100%;padding:8px 10px;background:transparent;border:none;border-radius:4px;cursor:pointer;font-size:12px;color:var(--text-primary);text-align:left;transition:background-color .15s}.pattern-option:hover{background:var(--bg-secondary)}.pattern-option.selected{background:var(--color-primary-light);color:var(--color-primary)}.pattern-input{-webkit-appearance:textfield;appearance:textfield;-moz-appearance:textfield;width:60px;padding:6px 8px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:6px;font-size:.8125rem;color:var(--text-primary);text-align:center;transition:border-color .15s ease,box-shadow .15s ease}.pattern-input::-webkit-outer-spin-button,.pattern-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.pattern-input:hover{border-color:var(--color-primary-light)}.pattern-input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 2px var(--color-primary-alpha)}.pattern-unit{font-size:11px;color:var(--text-secondary);min-width:20px;font-weight:500}:root[data-theme=dark] .pattern-picker-dropdown{box-shadow:0 4px 16px #0006}:root[data-theme=dark] .pattern-preview svg rect[stroke="#ccc"]{stroke:#555}.shadow-editor{display:flex;flex-direction:column;gap:8px}.shadow-row{display:flex;align-items:center;gap:8px}.shadow-toggle-row{margin-bottom:4px}.shadow-toggle{display:flex;align-items:center;gap:8px;cursor:pointer;-webkit-user-select:none;user-select:none}.shadow-toggle input[type=checkbox]{width:16px;height:16px;cursor:pointer;accent-color:var(--color-primary)}.shadow-toggle-label{font-size:12px;color:var(--text-primary)}.shadow-label{font-size:12px;color:var(--text-secondary);min-width:55px}.shadow-input{width:60px;padding:4px 8px;background:var(--bg-tertiary);border:1px solid var(--border-color-input);border-radius:4px;font-size:12px;color:var(--text-primary);text-align:right}.shadow-input:focus{outline:none;border-color:var(--color-primary)}.shadow-slider{flex:1;height:4px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:var(--bg-tertiary);border-radius:2px;cursor:pointer}.shadow-slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:14px;height:14px;background:var(--color-primary);border-radius:50%;cursor:pointer;border:2px solid var(--bg-primary);box-shadow:0 1px 3px #0003}.shadow-slider::-moz-range-thumb{width:14px;height:14px;background:var(--color-primary);border-radius:50%;cursor:pointer;border:2px solid var(--bg-primary);box-shadow:0 1px 3px #0003}.shadow-value{font-size:11px;color:var(--text-muted);min-width:35px;text-align:right}.shadow-unit{font-size:11px;color:var(--text-muted);min-width:20px}.shadow-presets-row{margin-bottom:4px}.shadow-presets{display:flex;gap:4px;flex:1}.shadow-preset-btn{flex:1;padding:4px 8px;background:var(--bg-tertiary);border:1px solid var(--border-color-input);border-radius:4px;font-size:11px;color:var(--text-primary);cursor:pointer;transition:background-color .15s,border-color .15s}.shadow-preset-btn:hover{background:var(--bg-secondary);border-color:var(--color-primary)}.shadow-preset-btn:active{background:var(--color-primary-light)}.border-style-picker{display:flex;flex-direction:column;gap:8px}.border-style-row{display:flex;align-items:center;gap:8px}.border-style-label{font-size:12px;color:var(--text-secondary);min-width:55px}.border-style-button{flex:1;display:flex;align-items:center;gap:8px;padding:6px 10px;background:var(--bg-tertiary);border:1px solid var(--border-color-input);border-radius:4px;cursor:pointer;font-size:12px;color:var(--text-primary);transition:border-color .15s,background-color .15s}.border-style-button:hover{border-color:var(--color-primary);background:var(--bg-secondary)}.border-style-preview{display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--text-primary)}.border-style-name{flex:1;text-align:left}.border-style-chevron{font-size:10px;color:var(--text-muted)}.border-style-dropdown{position:fixed;z-index:10000;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:6px;box-shadow:0 4px 12px #00000026;padding:4px;min-width:160px}.border-style-option{display:flex;align-items:center;gap:8px;width:100%;padding:8px 10px;background:transparent;border:none;border-radius:4px;cursor:pointer;font-size:12px;color:var(--text-primary);text-align:left;transition:background-color .15s}.border-style-option:hover{background:var(--bg-secondary)}.border-style-option.selected{background:var(--color-primary-light);color:var(--color-primary)}:root[data-theme=dark] .border-style-dropdown{box-shadow:0 4px 16px #0006}.label-position-picker{display:flex;flex-direction:column;gap:8px}.label-position-row{display:flex;align-items:center;gap:8px}.label-position-label{font-size:12px;color:var(--text-secondary);min-width:55px}.label-position-grid{display:flex;flex-direction:column;gap:2px;padding:4px;background:var(--bg-tertiary);border:1px solid var(--border-color-input);border-radius:4px}.label-position-grid-row{display:flex;gap:2px}.label-position-cell{width:20px;height:20px;display:flex;align-items:center;justify-content:center;background:var(--bg-secondary);border:1px solid transparent;border-radius:3px;cursor:pointer;transition:background-color .15s,border-color .15s;padding:0}.label-position-cell:hover{background:var(--bg-primary);border-color:var(--color-primary)}.label-position-cell.selected{background:var(--color-primary);border-color:var(--color-primary)}.label-position-dot{width:6px;height:6px;background:var(--text-muted);border-radius:50%;transition:background-color .15s}.label-position-cell:hover .label-position-dot{background:var(--color-primary)}.label-position-cell.selected .label-position-dot{background:#fff}.label-position-value{font-size:11px;color:var(--text-muted);min-width:60px}.icon-list-editor{display:flex;flex-direction:column;gap:8px}.icon-list-header{display:flex;justify-content:space-between;align-items:center;font-size:12px;color:var(--text-secondary)}.icon-add-button{padding:4px 8px;font-size:11px;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:4px;cursor:pointer;color:var(--text-primary)}.icon-add-button:hover{background:var(--bg-hover)}.icon-add-picker{display:flex;flex-direction:column;gap:8px;padding:8px;background:var(--bg-tertiary);border-radius:4px}.icon-add-cancel{padding:4px 8px;font-size:11px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:4px;cursor:pointer;color:var(--text-secondary)}.icon-list{display:flex;flex-direction:column;gap:4px}.icon-list-empty{font-size:11px;color:var(--text-tertiary);text-align:center;padding:12px}.icon-config-item{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:4px;overflow:hidden}.icon-config-item.expanded{border-color:var(--accent-color)}.icon-config-header{display:flex;align-items:center;gap:8px;padding:6px 8px;cursor:pointer;font-size:12px}.icon-config-header:hover{background:var(--bg-hover)}.icon-config-index{font-weight:600;color:var(--text-secondary);min-width:20px}.icon-config-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.icon-config-position{font-size:10px;color:var(--text-tertiary);background:var(--bg-secondary);padding:2px 4px;border-radius:2px}.icon-config-remove{padding:2px 6px;font-size:12px;font-weight:700;background:transparent;border:none;color:var(--text-secondary);cursor:pointer;border-radius:2px}.icon-config-remove:hover{background:var(--danger-bg);color:var(--danger-color)}.icon-config-body{padding:8px;border-top:1px solid var(--border-color);display:flex;flex-direction:column;gap:8px}.icon-config-row{display:flex;align-items:center;gap:8px;font-size:12px}.icon-config-row>label{min-width:60px;color:var(--text-secondary)}.icon-config-row>select{flex:1;padding:4px 20px 4px 4px;font-size:11px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:4px;color:var(--text-primary);-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%236b7280' d='M3 5l3 3 3-3'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 6px center}.icon-config-row>select option{background:var(--bg-secondary, #f8f9fa);color:var(--text-primary, #212529)}.icon-config-row.checkbox>label{display:flex;align-items:center;gap:6px;cursor:pointer}.icon-config-row.checkbox input[type=checkbox]{margin:0}.icon-mini-input{display:flex;align-items:center;gap:8px;font-size:12px}.icon-mini-input>label{min-width:60px;color:var(--text-secondary)}.icon-mini-input>input{width:60px;padding:4px;font-size:11px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:4px;color:var(--text-primary)}.icon-mini-input>.suffix{font-size:10px;color:var(--text-tertiary)}.icon-color-reset-mini{padding:2px 6px;font-size:10px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:2px;cursor:pointer;color:var(--text-secondary)}.icon-color-reset-mini:hover{background:var(--bg-hover)}.icon-badge-options{margin-top:8px;padding-top:8px;border-top:1px dashed var(--border-color);display:flex;flex-direction:column;gap:8px}.icon-badge-header{font-size:11px;font-weight:600;color:var(--text-secondary)}.icon-preset-selector{display:flex;align-items:center;gap:8px;font-size:12px;padding:6px 0;border-bottom:1px dashed var(--border-color);margin-bottom:8px}.icon-preset-selector>label{min-width:60px;color:var(--text-secondary)}.icon-preset-selector>select{flex:1;padding:4px 20px 4px 4px;font-size:11px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:4px;color:var(--text-primary);-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%236b7280' d='M3 5l3 3 3-3'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 6px center}.icon-preset-selector>select option,.icon-preset-selector>select optgroup{background:var(--bg-secondary, #f8f9fa);color:var(--text-primary, #212529)}[data-theme=dark] .icon-config-row>select,[data-theme=dark] .icon-preset-selector>select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%239ca3af' d='M3 5l3 3 3-3'/%3E%3C/svg%3E")}[data-theme=dark] .icon-config-row>select option,[data-theme=dark] .icon-preset-selector>select option,[data-theme=dark] .icon-preset-selector>select optgroup{background:var(--bg-secondary, #252526);color:var(--text-primary, #e5e7eb)}[data-theme=dark] .icon-mini-input>input{background:var(--bg-secondary, #252526);border-color:var(--border-color, #404040)}.property-panel{position:relative;min-width:180px;max-width:400px;background-color:var(--bg-primary);border-left:1px solid var(--border-color);display:flex;flex-direction:column;overflow:hidden}.property-panel.property-panel-left-dock{border-left:none;border-right:1px solid var(--border-color)}.property-panel.property-panel-left-dock .property-panel-resize-handle{left:auto;right:0}.property-panel-resize-handle{position:absolute;left:0;top:0;bottom:0;width:4px;cursor:ew-resize;background:transparent;transition:background-color .15s ease;z-index:10}.property-panel-resize-handle:hover,.property-panel-resize-handle.resizing{background-color:var(--color-primary, #2196f3)}.property-panel-header{padding:12px 14px;font-weight:600;font-size:.8125rem;background-color:var(--bg-secondary);border-bottom:1px solid var(--border-color);color:var(--text-primary);letter-spacing:.01em}.property-panel-empty{padding:24px 16px;color:var(--text-muted, var(--text-secondary));font-size:.8125rem;text-align:center;line-height:1.5}.property-panel-content{flex:1;overflow-y:auto;padding:12px 14px}.property-panel-content::-webkit-scrollbar{width:6px}.property-panel-content::-webkit-scrollbar-track{background:transparent}.property-panel-content::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:3px}.property-panel-content::-webkit-scrollbar-thumb:hover{background:var(--text-muted, var(--text-secondary))}.property-type-badge{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;font-size:.6875rem;font-weight:600;color:var(--color-primary, #2196f3);background:var(--color-primary-light, rgba(33, 150, 243, .1));border-radius:12px;text-transform:capitalize;margin-bottom:12px;letter-spacing:.02em}.property-hint{margin-top:10px;padding:8px 10px;background:var(--bg-tertiary);border-radius:6px;font-size:.6875rem;color:var(--text-secondary);text-align:center;border:1px dashed var(--border-color)}.compact-number-row{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:6px;padding:4px 0}.compact-number-label{font-size:.75rem;color:var(--text-secondary);min-width:70px;font-weight:500}.compact-number-input{width:64px;height:28px;padding:0 4px 0 8px;font-size:.75rem;border:1px solid var(--border-color-input, #ced4da);border-radius:6px;background:var(--bg-secondary);color:var(--text-primary);text-align:right;transition:border-color .15s ease,box-shadow .15s ease,background-color .15s ease;-moz-appearance:textfield}.compact-number-input::-webkit-inner-spin-button,.compact-number-input::-webkit-outer-spin-button{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:16px;height:100%;margin:0 0 0 4px;background:var(--bg-tertiary, #e9ecef);border-left:1px solid var(--border-color-input, #ced4da);border-radius:0 5px 5px 0;cursor:pointer;opacity:1;position:relative}.compact-number-input::-webkit-inner-spin-button{background:linear-gradient(var(--text-secondary) 0 0) no-repeat center 40% / 6px 1px,linear-gradient(var(--text-secondary) 0 0) no-repeat center 40% / 1px 6px,linear-gradient(var(--text-secondary) 0 0) no-repeat center 65% / 6px 1px,var(--bg-tertiary, #e9ecef);background-origin:content-box}.compact-number-input::-webkit-inner-spin-button:hover{background:linear-gradient(var(--color-primary, #2196f3) 0 0) no-repeat center 40% / 6px 1px,linear-gradient(var(--color-primary, #2196f3) 0 0) no-repeat center 40% / 1px 6px,linear-gradient(var(--color-primary, #2196f3) 0 0) no-repeat center 65% / 6px 1px,var(--bg-hover, #dee2e6)}.compact-number-input:hover{background:var(--bg-tertiary)}.compact-number-input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 2px #2196f326;background:var(--bg-primary)}.compact-number-input:focus::-webkit-inner-spin-button{border-left-color:var(--color-primary)}.compact-number-suffix{font-size:.6875rem;color:var(--text-muted, var(--text-secondary));opacity:.8}.compact-slider-row{display:flex;align-items:center;gap:8px;margin-bottom:2px}.compact-slider-label{font-size:.75rem;color:var(--text-secondary);min-width:55px;font-weight:500}.compact-slider{flex:1;height:4px;cursor:pointer;accent-color:var(--color-primary);border-radius:2px}.compact-slider-value{font-size:.6875rem;color:var(--text-secondary);min-width:36px;text-align:right;font-weight:500}.info-row{display:flex;align-items:center;gap:8px;padding:4px 0}.info-label{font-size:.75rem;color:var(--text-secondary);min-width:55px;font-weight:500}.info-value{font-size:.75rem;color:var(--text-primary);font-family:SF Mono,Menlo,Monaco,Consolas,monospace;background:var(--bg-secondary);padding:2px 6px;border-radius:4px}.stroke-row{display:flex;flex-direction:column;gap:6px}.stroke-row .compact-number-row{padding-left:48px}.stroke-row .compact-number-label{min-width:auto}.property-text-input{width:100%;height:30px;padding:0 10px;font-size:.75rem;border:1px solid var(--border-color-input, #ced4da);border-radius:6px;background:var(--bg-secondary);color:var(--text-primary);transition:border-color .15s ease,box-shadow .15s ease,background-color .15s ease}.property-text-input:hover{background:var(--bg-tertiary)}.property-text-input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 2px #2196f326;background:var(--bg-primary)}.property-text-input::placeholder{color:var(--text-muted, #adb5bd)}.property-textarea{width:100%;padding:10px;font-size:.75rem;font-family:inherit;border:1px solid var(--border-color-input, #ced4da);border-radius:6px;background:var(--bg-secondary);color:var(--text-primary);resize:vertical;min-height:60px;transition:border-color .15s ease,box-shadow .15s ease,background-color .15s ease}.property-textarea:hover{background:var(--bg-tertiary)}.property-textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 2px #2196f326;background:var(--bg-primary)}.align-row{display:flex;align-items:center;gap:8px;margin-bottom:2px}.align-label{font-size:.75rem;color:var(--text-secondary);min-width:40px;font-weight:500}.align-buttons{display:flex;gap:2px}.align-button{width:28px;height:28px;padding:0;font-size:.75rem;color:var(--text-secondary);background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:6px;cursor:pointer;transition:all .15s ease}.align-button:hover{background:var(--bg-tertiary);color:var(--text-primary);border-color:var(--color-primary)}.align-button.active{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.align-button:focus{outline:none;box-shadow:0 0 0 2px #2196f326}.compact-select-row{display:flex;align-items:center;gap:8px;margin-bottom:2px}.compact-select-label{font-size:.75rem;color:var(--text-secondary);min-width:55px;font-weight:500}.compact-select{flex:1;height:28px;padding:0 24px 0 8px;font-size:.75rem;border:1px solid var(--border-color-input, #ced4da);border-radius:6px;background:var(--bg-secondary);color:var(--text-primary);cursor:pointer;transition:border-color .15s ease,box-shadow .15s ease,background-color .15s ease;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%236b7280' d='M3 5l3 3 3-3'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 8px center}.compact-select option{background:var(--bg-secondary, #f8f9fa);color:var(--text-primary, #212529);padding:8px}.compact-select:hover{background:var(--bg-tertiary)}.compact-select:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 2px #2196f326;background:var(--bg-primary)}.compact-string-row{display:flex;flex-direction:column;gap:4px;margin-bottom:2px}.compact-string-label{font-size:.75rem;color:var(--text-secondary);font-weight:500}.compact-checkbox-row{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:6px;padding:4px 0}.compact-checkbox-label{font-size:.75rem;color:var(--text-secondary);font-weight:500}.compact-checkbox{appearance:none;-webkit-appearance:none;-moz-appearance:none;width:16px;height:16px;border:2px solid var(--border-color);border-radius:4px;background-color:var(--bg-secondary);cursor:pointer;position:relative;transition:all .15s ease;flex-shrink:0}.compact-checkbox:hover{border-color:var(--color-primary-light)}.compact-checkbox:checked{background-color:var(--color-primary);border-color:var(--color-primary)}.compact-checkbox:checked:after{content:"";position:absolute;left:4px;top:1px;width:4px;height:8px;border:solid white;border-width:0 2px 2px 0;transform:rotate(45deg)}.compact-checkbox:focus{outline:none;box-shadow:0 0 0 2px var(--color-primary-alpha)}.property-section{font-size:.75rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;margin-top:1rem;margin-bottom:.5rem;padding-bottom:.25rem;border-bottom:1px solid var(--border-color)}.property-section:first-child{margin-top:0}.property-row{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem}.property-row-full{flex-direction:column;align-items:stretch}.property-label{flex:0 0 70px;font-size:.75rem;color:var(--text-secondary)}.property-row-full .property-label{flex:none;margin-bottom:.25rem}.property-value{font-size:.875rem;color:var(--text-primary)}.property-input-group{flex:1;display:flex;align-items:center;gap:.5rem}.property-color{width:32px;height:24px;padding:0;border:1px solid var(--border-color-input);border-radius:4px;cursor:pointer;background:none}.property-color::-webkit-color-swatch-wrapper{padding:2px}.property-color::-webkit-color-swatch{border-radius:2px;border:none}.property-text{flex:1;padding:.25rem .5rem;font-size:.75rem;font-family:monospace;border:1px solid var(--border-color-input);border-radius:4px;background:var(--bg-primary);color:var(--text-primary)}.property-text:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 2px #2196f333}.property-number{width:60px;padding:.25rem .5rem;font-size:.75rem;border:1px solid var(--border-color-input);border-radius:4px;background:var(--bg-primary);color:var(--text-primary);text-align:right}.property-number:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 2px #2196f333}.property-select{flex:1;padding:.25rem .5rem;font-size:.75rem;border:1px solid var(--border-color-input);border-radius:4px;background:var(--bg-primary);color:var(--text-primary);cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%236b7280' d='M3 5l3 3 3-3'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 6px center;padding-right:20px}.property-select option{background:var(--bg-primary, #ffffff);color:var(--text-primary, #212529)}.property-select:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 2px #2196f333}.property-slider{flex:1;height:4px;cursor:pointer;accent-color:var(--color-primary)}.property-group-hint{margin-top:.75rem;padding:.5rem;background:var(--bg-tertiary);border-radius:4px;font-size:.75rem;color:var(--text-secondary);text-align:center}[data-theme=dark] .property-panel{background-color:var(--bg-primary, #1e1e1e)}[data-theme=dark] .property-panel-header{background-color:var(--bg-secondary, #252526)}[data-theme=dark] .property-type-badge{background:var(--color-primary-light, rgba(33, 150, 243, .15))}[data-theme=dark] .compact-number-input,[data-theme=dark] .property-text-input,[data-theme=dark] .property-textarea,[data-theme=dark] .compact-select{background:var(--bg-secondary, #252526);border-color:var(--border-color-input, #404040)}[data-theme=dark] .compact-select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%239ca3af' d='M3 5l3 3 3-3'/%3E%3C/svg%3E")}[data-theme=dark] .compact-select option{background:var(--bg-secondary, #252526);color:var(--text-primary, #e5e7eb)}[data-theme=dark] .compact-number-input:hover,[data-theme=dark] .property-text-input:hover,[data-theme=dark] .property-textarea:hover,[data-theme=dark] .compact-select:hover{background:var(--bg-tertiary, #333333)}[data-theme=dark] .compact-number-input:focus,[data-theme=dark] .property-text-input:focus,[data-theme=dark] .property-textarea:focus,[data-theme=dark] .compact-select:focus{background:var(--bg-primary, #1e1e1e)}[data-theme=dark] .info-value{background:var(--bg-secondary, #252526)}[data-theme=dark] .align-button{background:var(--bg-secondary, #252526);border-color:var(--border-color, #404040)}[data-theme=dark] .align-button:hover{background:var(--bg-tertiary, #333333)}[data-theme=dark] .property-hint{background:var(--bg-secondary, #252526);border-color:var(--border-color, #404040)}.icon-color-row{display:flex;align-items:center;gap:8px}.icon-color-row .compact-color-row{flex:1}.icon-color-reset{padding:4px 8px;font-size:.6875rem;font-weight:500;color:var(--text-secondary);background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:4px;cursor:pointer;transition:all .15s ease;white-space:nowrap}.icon-color-reset:hover{background:var(--bg-tertiary);color:var(--text-primary);border-color:var(--color-primary)}.icon-color-reset:focus{outline:none;box-shadow:0 0 0 2px #2196f326}[data-theme=dark] .icon-color-reset{background:var(--bg-secondary, #252526);border-color:var(--border-color, #404040)}[data-theme=dark] .icon-color-reset:hover{background:var(--bg-tertiary, #333333)}.migrate-to-multi-icon{width:100%;padding:6px 12px;margin-bottom:8px;font-size:.75rem;font-weight:500;color:var(--color-primary);background:var(--bg-secondary);border:1px dashed var(--color-primary);border-radius:4px;cursor:pointer;transition:all .15s ease}.migrate-to-multi-icon:hover{background:color-mix(in srgb,var(--color-primary) 10%,transparent)}[data-theme=dark] .migrate-to-multi-icon{background:var(--bg-secondary, #252526)}[data-theme=dark] .migrate-to-multi-icon:hover{background:color-mix(in srgb,var(--color-primary) 15%,transparent)}.label-offset-row{display:flex;flex-direction:column;gap:4px;margin-top:8px;padding-top:8px;border-top:1px dashed var(--border-color)}.label-offset-row .number-input-row{flex:1}.label-offset-reset{align-self:flex-end;padding:4px 8px;font-size:.6875rem;font-weight:500;color:var(--text-secondary);background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:4px;cursor:pointer;transition:all .15s ease;white-space:nowrap}.label-offset-reset:hover{background:var(--bg-tertiary);color:var(--text-primary);border-color:var(--color-primary)}.label-offset-reset:focus{outline:none;box-shadow:0 0 0 2px #2196f326}[data-theme=dark] .label-offset-reset{background:var(--bg-secondary, #252526);border-color:var(--border-color, #404040)}[data-theme=dark] .label-offset-reset:hover{background:var(--bg-tertiary, #333333)}.erd-members-list{display:flex;flex-direction:column;gap:6px;margin-bottom:8px}.erd-member-row{display:flex;align-items:center;gap:4px;cursor:grab;transition:background-color .15s ease,opacity .15s ease}.erd-member-row:active{cursor:grabbing}.erd-member-row.dragging{opacity:.5;background:var(--bg-tertiary)}.erd-member-row.drag-over{background:var(--color-primary-light, rgba(33, 150, 243, .15));border-radius:4px}.erd-member-pk{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:22px;height:22px;padding:0;border:1px solid transparent;border-radius:4px;background:transparent;color:var(--text-secondary);cursor:pointer;transition:all .15s ease}.erd-member-pk:hover{background:var(--bg-tertiary);color:var(--text-primary)}.erd-member-pk.active{color:var(--color-warning, #f59e0b);background:#f59e0b26;border-color:var(--color-warning, #f59e0b);box-shadow:0 0 6px #f59e0b4d}.erd-member-pk svg{width:14px;height:14px}.erd-member-name{flex:1;min-width:60px;padding:4px 6px;font-size:.75rem;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:4px;color:var(--text-primary)}.erd-member-type{flex:1;min-width:50px;padding:4px 6px;font-size:.75rem;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:4px;color:var(--text-secondary)}.erd-member-name:focus,.erd-member-type:focus{outline:none;border-color:var(--color-primary)}.erd-member-remove{flex-shrink:0;width:20px;height:20px;padding:0;font-size:14px;line-height:1;color:var(--text-secondary);background:transparent;border:none;border-radius:4px;cursor:pointer;opacity:.6;transition:all .15s ease}.erd-member-remove:hover{opacity:1;color:var(--color-error, #e53e3e);background:#e53e3e1a}.erd-add-member{width:100%;padding:6px 10px;font-size:.75rem;font-weight:500;color:var(--color-primary);background:transparent;border:1px dashed var(--border-color);border-radius:4px;cursor:pointer;transition:all .15s ease}.erd-add-member:hover{background:#2196f30d;border-color:var(--color-primary)}[data-theme=dark] .erd-member-name,[data-theme=dark] .erd-member-type{background:var(--bg-secondary, #252526);border-color:var(--border-color, #404040)}.uml-members-list{display:flex;flex-direction:column;gap:6px;margin-bottom:8px}.uml-member-row{display:flex;align-items:center;gap:4px;cursor:grab;transition:background-color .15s ease,opacity .15s ease}.uml-member-row:active{cursor:grabbing}.uml-member-row.dragging{opacity:.5;background:var(--bg-tertiary)}.uml-member-row.drag-over{background:var(--color-primary-light, rgba(33, 150, 243, .15));border-radius:4px}.uml-member-visibility{appearance:none;-webkit-appearance:none;-moz-appearance:none;flex-shrink:0;width:36px;padding:4px 2px;font-size:.75rem;font-family:monospace;background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:4px;color:var(--text-primary);text-align:center;cursor:pointer;transition:border-color .15s ease}.uml-member-visibility option{background:var(--bg-secondary, #f8f9fa);color:var(--text-primary, #212529);text-align:center}.uml-member-visibility:hover{border-color:var(--color-primary-light)}.uml-member-name{flex:2;min-width:50px;padding:4px 6px;font-size:.75rem;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:4px;color:var(--text-primary)}.uml-member-type{flex:1;min-width:40px;padding:4px 6px;font-size:.75rem;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:4px;color:var(--text-secondary)}.uml-member-static{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:22px;height:22px;padding:0;border:1px solid transparent;border-radius:4px;background:transparent;color:var(--text-secondary);cursor:pointer;transition:all .15s ease}.uml-member-static:hover{background:var(--bg-tertiary);color:var(--text-primary)}.uml-member-static.active{color:var(--color-primary);background:var(--color-primary-alpha);border-color:var(--color-primary);box-shadow:0 0 6px var(--color-primary-alpha)}.uml-member-visibility:focus,.uml-member-name:focus,.uml-member-type:focus{outline:none;border-color:var(--color-primary)}.uml-member-remove{flex-shrink:0;width:20px;height:20px;padding:0;font-size:14px;line-height:1;color:var(--text-secondary);background:transparent;border:none;border-radius:4px;cursor:pointer;opacity:.6;transition:all .15s ease}.uml-member-remove:hover{opacity:1;color:var(--color-error, #e53e3e);background:#e53e3e1a}.uml-add-member{width:100%;padding:6px 10px;font-size:.75rem;font-weight:500;color:var(--color-primary);background:transparent;border:1px dashed var(--border-color);border-radius:4px;cursor:pointer;transition:all .15s ease}.uml-add-member:hover{background:#2196f30d;border-color:var(--color-primary)}[data-theme=dark] .uml-member-visibility,[data-theme=dark] .uml-member-name,[data-theme=dark] .uml-member-type{background:var(--bg-secondary, #252526);border-color:var(--border-color, #404040)}[data-theme=dark] .uml-member-visibility option{background:var(--bg-secondary, #252526);color:var(--text-primary, #e5e7eb)}[data-theme=dark] .property-select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%239ca3af' d='M3 5l3 3 3-3'/%3E%3C/svg%3E")}[data-theme=dark] .property-select option{background:var(--bg-primary, #1e1e1e);color:var(--text-primary, #e5e7eb)}.preset-buttons{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px}.preset-button{padding:4px 8px;font-size:.6875rem;font-weight:500;color:var(--text-secondary);background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:4px;cursor:pointer;min-width:32px;text-align:center;transition:all .15s ease}.preset-button:hover{background:var(--bg-hover);border-color:var(--color-primary);color:var(--color-primary)}.preset-button:active{background:var(--color-primary-light, rgba(33, 150, 243, .15))}[data-theme=dark] .preset-button{background:var(--bg-secondary, #252526);border-color:var(--border-color, #404040)}[data-theme=dark] .preset-button:hover{background:var(--bg-hover, #2a2d2e)}.member-drag-handle{flex-shrink:0;width:16px;font-size:.75rem;color:var(--text-muted, var(--text-secondary));cursor:grab;-webkit-user-select:none;user-select:none;opacity:.5;transition:opacity .15s ease,color .15s ease}.member-drag-handle:hover{opacity:1;color:var(--color-primary)}.member-drag-handle:active{cursor:grabbing}.erd-member-row.dragging .member-drag-handle,.uml-member-row.dragging .member-drag-handle{opacity:.3}.file-info-card{display:flex;align-items:center;gap:10px;padding:10px 12px;background:var(--bg-tertiary, #f1f5f9);border-radius:8px;margin-bottom:12px}.file-info-icon{font-size:24px;flex-shrink:0}.file-info-details{flex:1;min-width:0}.file-info-name{font-size:.8125rem;font-weight:500;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.file-info-meta{font-size:.6875rem;color:var(--text-secondary);margin-top:2px}.file-replace-btn{width:100%;padding:8px 12px;font-size:.75rem;font-weight:500;color:var(--text-primary);background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:6px;cursor:pointer;transition:all .15s ease}.file-replace-btn:hover{background:var(--bg-hover);border-color:var(--color-primary);color:var(--color-primary)}.file-replace-btn:disabled{opacity:.5;cursor:not-allowed}[data-theme=dark] .file-info-card{background:var(--bg-secondary, #252526)}.swimlane-lanes-list{display:flex;flex-direction:column;gap:6px;margin-bottom:8px}.swimlane-lane-row{display:flex;align-items:center;gap:4px;cursor:grab;padding:4px;border-radius:4px;transition:background-color .15s ease,opacity .15s ease}.swimlane-lane-row:active{cursor:grabbing}.swimlane-lane-row.dragging{opacity:.5;background:var(--bg-tertiary)}.swimlane-lane-row.drag-over{background:var(--color-primary-light, rgba(33, 150, 243, .15))}.swimlane-lane-name{flex:1;min-width:60px;padding:4px 6px;font-size:.75rem;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:4px;color:var(--text-primary)}.swimlane-lane-name:focus{outline:none;border-color:var(--color-primary)}.swimlane-width-control{display:flex;align-items:center;gap:4px}.swimlane-width-slider{width:50px;height:4px;cursor:pointer;accent-color:var(--color-primary);border-radius:2px}.swimlane-width-value{font-size:.625rem;color:var(--text-secondary);min-width:28px;text-align:right;font-family:monospace}.swimlane-lane-remove{flex-shrink:0;width:20px;height:20px;padding:0;font-size:14px;line-height:1;color:var(--text-secondary);background:transparent;border:none;border-radius:4px;cursor:pointer;opacity:.6;transition:all .15s ease}.swimlane-lane-remove:hover{opacity:1;color:var(--color-error, #e53e3e);background:#e53e3e1a}.swimlane-lane-remove:disabled{opacity:.2;cursor:not-allowed}.swimlane-lane-remove:disabled:hover{color:var(--text-secondary);background:transparent}.swimlane-actions{display:flex;gap:8px;margin-bottom:8px}.swimlane-add-lane{flex:1;padding:6px 10px;font-size:.75rem;font-weight:500;color:var(--color-primary);background:transparent;border:1px dashed var(--border-color);border-radius:4px;cursor:pointer;transition:all .15s ease}.swimlane-add-lane:hover{background:#2196f30d;border-color:var(--color-primary)}.swimlane-reset-widths{padding:6px 10px;font-size:.75rem;font-weight:500;color:var(--text-secondary);background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:4px;cursor:pointer;transition:all .15s ease}.swimlane-reset-widths:hover{background:var(--bg-tertiary);border-color:var(--text-primary);color:var(--text-primary)}[data-theme=dark] .swimlane-lane-name,[data-theme=dark] .swimlane-reset-widths{background:var(--bg-secondary, #252526);border-color:var(--border-color, #404040)}[data-theme=dark] .swimlane-reset-widths:hover{background:var(--bg-tertiary, #333333)}.layer-view-manager-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:10000}.layer-view-manager{background:var(--bg-primary, #ffffff);border-radius:12px;box-shadow:0 8px 32px #0003;width:400px;max-width:90vw;max-height:80vh;display:flex;flex-direction:column;overflow:hidden}.layer-view-manager-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border-color, #dee2e6);background:var(--bg-secondary, #f8f9fa)}.layer-view-manager-header h3{margin:0;font-size:16px;font-weight:600;color:var(--text-primary, #212529)}.layer-view-manager-close{width:28px;height:28px;border:none;background:transparent;font-size:20px;color:var(--text-secondary, #6c757d);cursor:pointer;border-radius:4px;display:flex;align-items:center;justify-content:center;transition:background-color .15s ease}.layer-view-manager-close:hover{background:var(--bg-hover, #e9ecef);color:var(--text-primary, #212529)}.layer-view-manager-content{flex:1;overflow-y:auto;padding:16px 20px}.layer-view-manager-section{margin-bottom:20px}.layer-view-manager-section:last-child{margin-bottom:0}.layer-view-manager-section h4{margin:0 0 12px;font-size:13px;font-weight:600;color:var(--text-secondary, #6c757d);text-transform:uppercase;letter-spacing:.5px}.layer-view-form{display:flex;flex-direction:column;gap:12px}.layer-view-form-row{display:flex;flex-direction:column;gap:4px}.layer-view-form-row label{font-size:12px;font-weight:500;color:var(--text-secondary, #6c757d)}.layer-view-form-row input{padding:8px 12px;border:1px solid var(--border-color, #dee2e6);border-radius:6px;font-size:13px;background:var(--bg-primary, #ffffff);color:var(--text-primary, #212529);transition:border-color .15s ease,box-shadow .15s ease}.layer-view-form-row input:focus{outline:none;border-color:var(--accent-color, #2196f3);box-shadow:0 0 0 3px #2196f31a}.layer-view-form-hint{font-size:11px;color:var(--text-muted, #868e96)}.layer-view-form-error{font-size:12px;color:#dc2626;padding:4px 0}.layer-view-form-submit{padding:8px 16px;border:none;border-radius:6px;background:var(--accent-color, #2196f3);color:#fff;font-size:13px;font-weight:500;cursor:pointer;transition:background-color .15s ease}.layer-view-form-submit:hover{background:var(--accent-color-dark, #1976d2)}.layer-view-empty{color:var(--text-muted, #868e96);font-size:13px;font-style:italic;margin:0}.layer-view-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.layer-view-list-item{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;background:var(--bg-secondary, #f8f9fa);border-radius:6px;border:1px solid var(--border-color, #dee2e6)}.layer-view-list-item-info{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.layer-view-list-item-name{font-size:13px;font-weight:500;color:var(--text-primary, #212529)}.layer-view-list-item-regex{font-size:11px;color:var(--text-muted, #868e96);font-family:monospace}.layer-view-list-item-manual{font-size:11px;color:var(--accent-color, #2196f3)}.layer-view-list-item-actions{display:flex;gap:4px}.layer-view-list-item-actions button{width:28px;height:28px;border:none;border-radius:4px;background:transparent;color:var(--text-secondary, #6c757d);cursor:pointer;font-size:14px;display:flex;align-items:center;justify-content:center;transition:background-color .15s ease,color .15s ease}.layer-view-list-item-actions button:hover{background:var(--bg-hover, #e9ecef);color:var(--text-primary, #212529)}.layer-view-list-item-actions button.danger:hover{background:#fee2e2;color:#dc2626}.layer-view-edit-form{display:flex;flex-direction:column;gap:8px;width:100%}.layer-view-edit-form input{padding:6px 10px;border:1px solid var(--border-color, #dee2e6);border-radius:4px;font-size:13px;background:var(--bg-primary, #ffffff);color:var(--text-primary, #212529)}.layer-view-edit-form input:focus{outline:none;border-color:var(--accent-color, #2196f3)}.layer-view-edit-actions{display:flex;gap:8px}.layer-view-edit-actions button{padding:4px 12px;border:1px solid var(--border-color, #dee2e6);border-radius:4px;background:var(--bg-primary, #ffffff);color:var(--text-primary, #212529);font-size:12px;cursor:pointer;transition:background-color .15s ease}.layer-view-edit-actions button:first-child{background:var(--accent-color, #2196f3);border-color:var(--accent-color, #2196f3);color:#fff}.layer-view-edit-actions button:hover{background:var(--bg-hover, #e9ecef)}.layer-view-edit-actions button:first-child:hover{background:var(--accent-color-dark, #1976d2)}.layer-view-help{background:var(--bg-secondary, #f8f9fa);border-radius:8px;padding:12px 16px;margin-top:16px}.layer-view-help h4{margin-bottom:8px}.layer-view-help ul{margin:0;padding-left:20px;font-size:12px;color:var(--text-secondary, #6c757d)}.layer-view-help li{margin-bottom:4px}.layer-view-help code{background:var(--bg-tertiary, #e9ecef);padding:1px 4px;border-radius:3px;font-size:11px}[data-theme=dark] .layer-view-manager{background:var(--bg-primary, #1e1e1e)}[data-theme=dark] .layer-view-manager-header{background:var(--bg-secondary, #252526);border-color:var(--border-color, #3d3d3d)}[data-theme=dark] .layer-view-manager-header h3{color:var(--text-primary, #e0e0e0)}[data-theme=dark] .layer-view-manager-close:hover{background:var(--bg-hover, #2a2a2a)}[data-theme=dark] .layer-view-form-row input{background:var(--bg-primary, #1e1e1e);border-color:var(--border-color, #3d3d3d);color:var(--text-primary, #e0e0e0)}[data-theme=dark] .layer-view-list-item{background:var(--bg-secondary, #252526);border-color:var(--border-color, #3d3d3d)}[data-theme=dark] .layer-view-list-item-actions button:hover{background:var(--bg-hover, #2a2a2a)}[data-theme=dark] .layer-view-list-item-actions button.danger:hover{background:#450a0a;color:#f87171}[data-theme=dark] .layer-view-edit-form input,[data-theme=dark] .layer-view-edit-actions button{background:var(--bg-primary, #1e1e1e);border-color:var(--border-color, #3d3d3d);color:var(--text-primary, #e0e0e0)}[data-theme=dark] .layer-view-edit-actions button:hover{background:var(--bg-hover, #2a2a2a)}[data-theme=dark] .layer-view-help{background:var(--bg-secondary, #252526)}[data-theme=dark] .layer-view-help code{background:var(--bg-tertiary, #3d3d3d)}.layer-view-form-regex-row{display:flex;gap:8px}.layer-view-form-regex-row input{flex:1}.layer-view-form-test{padding:6px 12px;border:1px solid var(--border-color, #dee2e6);border-radius:6px;background:var(--bg-secondary, #f8f9fa);color:var(--text-primary, #212529);font-size:12px;font-weight:500;cursor:pointer;white-space:nowrap;transition:background-color .15s ease,border-color .15s ease}.layer-view-form-test:hover:not(:disabled){background:var(--bg-hover, #e9ecef);border-color:var(--accent-color, #2196f3)}.layer-view-form-test:disabled{opacity:.5;cursor:not-allowed}.layer-view-preview{margin-top:8px;padding:10px 12px;background:var(--bg-secondary, #f8f9fa);border-radius:6px;border:1px solid var(--border-color, #dee2e6);font-size:12px}.layer-view-preview strong{color:var(--text-primary, #212529);display:block;margin-bottom:6px}.layer-view-preview-empty{color:var(--text-muted, #868e96);font-style:italic;margin-left:8px}.layer-view-preview-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}.layer-view-preview-list li{display:flex;align-items:center;gap:8px}.layer-view-preview-type{background:var(--accent-color, #2196f3);color:#fff;padding:2px 6px;border-radius:4px;font-size:10px;font-weight:500;text-transform:uppercase}.layer-view-preview-label{color:var(--text-secondary, #6c757d);font-style:italic;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.layer-view-preview-more{color:var(--text-muted, #868e96);font-style:italic;margin-top:4px}[data-theme=dark] .layer-view-form-test{background:var(--bg-secondary, #252526);border-color:var(--border-color, #3d3d3d);color:var(--text-primary, #e0e0e0)}[data-theme=dark] .layer-view-form-test:hover:not(:disabled){background:var(--bg-hover, #2a2a2a)}[data-theme=dark] .layer-view-preview{background:var(--bg-secondary, #252526);border-color:var(--border-color, #3d3d3d)}[data-theme=dark] .layer-view-preview strong{color:var(--text-primary, #e0e0e0)}.layer-panel{position:absolute;bottom:20px;left:20px;min-width:180px;max-width:400px;background:var(--bg-primary, #ffffff);border:1px solid var(--border-color, #dee2e6);border-radius:8px;box-shadow:0 4px 12px #0000001a;display:flex;flex-direction:column;overflow:hidden;z-index:100;transition:height .2s ease,width .2s ease}.layer-panel.collapsed{height:auto!important;width:auto!important}.layer-panel.resizing{transition:none;-webkit-user-select:none;user-select:none}.layer-panel-resize-handle-vertical{position:absolute;top:0;left:0;right:0;height:6px;cursor:ns-resize;background:transparent;z-index:10}.layer-panel-resize-handle-vertical:hover{background:var(--accent-color, #2196f3);opacity:.3}.layer-panel-resize-handle-horizontal{position:absolute;top:0;right:0;bottom:0;width:6px;cursor:ew-resize;background:transparent;z-index:10}.layer-panel-resize-handle-horizontal:hover{background:var(--accent-color, #2196f3);opacity:.3}.layer-panel-header{padding:10px 12px;font-weight:600;font-size:13px;color:var(--text-primary, #495057);border-bottom:1px solid var(--border-color, #dee2e6);background:var(--bg-secondary, #f8f9fa);flex-shrink:0;cursor:pointer;display:flex;align-items:center;gap:8px;-webkit-user-select:none;user-select:none}.layer-panel-header:hover{background:var(--bg-hover, #e9ecef)}.layer-panel.collapsed .layer-panel-header{border-bottom:none}.layer-panel-empty{padding:24px 16px;text-align:center;color:var(--text-secondary, #6c757d);font-size:13px}.layer-panel-list{overflow-y:auto;flex:1}.layer-item{display:flex;align-items:center;padding:8px 12px;gap:8px;border-bottom:1px solid var(--border-color-light, #f0f0f0);cursor:pointer;transition:background-color .15s ease;-webkit-user-select:none;user-select:none}.layer-item:hover{background:var(--bg-hover, #f8f9fa)}.layer-item.selected{background:var(--bg-selected, #e7f3ff)}.layer-item.dragging{opacity:.5}.layer-item.drop-before{box-shadow:inset 0 3px 0 0 var(--accent-color, #2196f3)}.layer-item.drop-after{box-shadow:inset 0 -3px 0 0 var(--accent-color, #2196f3)}.layer-item.drop-into{background:var(--color-primary-light, #e3f2fd)!important;outline:2px solid var(--accent-color, #2196f3);outline-offset:-2px}[data-theme=dark] .layer-item.drop-into{background:var(--color-primary-dark, #1e3a5f)!important}.layer-item-drag-handle{cursor:grab;color:var(--text-secondary, #6c757d);opacity:.5;flex-shrink:0}.layer-item-drag-handle:hover{opacity:1}.layer-item-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.layer-item-type{font-size:12px;font-weight:500;color:var(--text-primary, #495057);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.layer-item-rename-input{font-size:12px;font-weight:500;color:var(--text-primary, #495057);background:var(--bg-primary, #ffffff);border:1px solid var(--color-primary, #2196f3);border-radius:3px;padding:2px 4px;width:100%;outline:none}.layer-item-rename-input:focus{border-color:var(--color-primary, #2196f3)}[data-theme=dark] .layer-item-rename-input{background:var(--bg-primary, #1e1e1e);color:var(--text-primary, #cccccc)}.layer-item-id{font-size:10px;color:var(--text-secondary, #6c757d);font-family:monospace}.layer-item-preview{font-size:10px;color:var(--text-muted, #868e96);font-style:italic;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:140px}.layer-item-actions{display:flex;gap:2px;flex-shrink:0}.layer-action-btn{display:flex;align-items:center;justify-content:center;width:22px;height:22px;padding:0;border:none;border-radius:4px;background:transparent;color:var(--text-secondary, #6c757d);cursor:pointer;transition:background-color .15s ease,color .15s ease}.layer-action-btn:hover{background:var(--bg-tertiary, #e9ecef);color:var(--text-primary, #495057)}.layer-action-btn.active{color:var(--accent-color, #2196f3)}.layer-action-btn.inactive{opacity:.4}.layer-item-expand-btn{display:flex;align-items:center;justify-content:center;width:16px;height:16px;padding:0;border:none;border-radius:3px;background:transparent;color:var(--text-secondary, #6c757d);cursor:pointer;flex-shrink:0;transition:background-color .15s ease,color .15s ease}.layer-item-expand-btn:hover{background:var(--bg-tertiary, #e9ecef);color:var(--text-primary, #495057)}.layer-group-children{border-left:2px solid var(--border-color, #dee2e6);margin-left:18px}.layer-item.child{padding-left:8px;background:var(--bg-secondary, #f8f9fa)}.layer-item.child:hover{background:var(--bg-hover, #f0f0f0)}.layer-item.child.selected{background:var(--bg-selected, #d4e8ff)}[data-theme=dark] .layer-panel{background:var(--bg-primary, #1e1e1e);border-color:var(--border-color, #3d3d3d)}[data-theme=dark] .layer-panel-header{background:var(--bg-secondary, #252526);border-color:var(--border-color, #3d3d3d)}[data-theme=dark] .layer-panel-header:hover{background:var(--bg-hover, #2a2a2a)}[data-theme=dark] .layer-panel-resize-handle-vertical:hover,[data-theme=dark] .layer-panel-resize-handle-horizontal:hover{background:var(--accent-color, #60a5fa)}[data-theme=dark] .layer-item{border-color:var(--border-color-light, #2d2d2d)}[data-theme=dark] .layer-item:hover{background:var(--bg-hover, #2a2a2a)}[data-theme=dark] .layer-item.selected{background:var(--bg-selected, #264f78)}[data-theme=dark] .layer-action-btn:hover{background:var(--bg-tertiary, #3d3d3d)}[data-theme=dark] .layer-item-expand-btn:hover{background:var(--bg-tertiary, #3d3d3d);color:var(--text-primary, #e0e0e0)}[data-theme=dark] .layer-group-children{border-color:var(--border-color, #3d3d3d)}[data-theme=dark] .layer-item.child{background:var(--bg-secondary, #252526)}[data-theme=dark] .layer-item.child:hover{background:var(--bg-hover, #2d2d2d)}[data-theme=dark] .layer-item.child.selected{background:var(--bg-selected, #1e3a5f)}.layer-panel-actions{padding:8px;border-bottom:1px solid var(--border-color, #dee2e6);background:var(--bg-secondary, #f8f9fa)}.layer-panel-action-btn{display:flex;align-items:center;gap:6px;width:100%;padding:6px 10px;border:1px solid var(--border-color, #dee2e6);border-radius:4px;background:var(--bg-primary, #ffffff);color:var(--text-primary, #495057);font-size:12px;cursor:pointer;transition:background-color .15s ease,border-color .15s ease}.layer-panel-action-btn:hover{background:var(--bg-hover, #e9ecef);border-color:var(--accent-color, #2196f3)}.layer-context-menu{position:fixed;z-index:1000;min-width:150px;background:var(--bg-primary, #ffffff);border:1px solid var(--border-color, #dee2e6);border-radius:6px;box-shadow:0 4px 12px #00000026;padding:4px 0;font-size:12px}.layer-context-menu-item{display:block;width:100%;padding:8px 12px;border:none;background:transparent;color:var(--text-primary, #495057);text-align:left;cursor:pointer;transition:background-color .1s ease}.layer-context-menu-item:hover{background:var(--bg-hover, #f8f9fa)}.layer-context-menu-item.danger:hover{background:#fee2e2;color:#dc2626}.layer-context-menu-separator{height:1px;margin:4px 0;background:var(--border-color, #dee2e6)}[data-theme=dark] .layer-panel-actions{background:var(--bg-secondary, #252526);border-color:var(--border-color, #3d3d3d)}[data-theme=dark] .layer-panel-action-btn{background:var(--bg-primary, #1e1e1e);border-color:var(--border-color, #3d3d3d);color:var(--text-primary, #e0e0e0)}[data-theme=dark] .layer-panel-action-btn:hover{background:var(--bg-hover, #2a2a2a)}[data-theme=dark] .layer-context-menu{background:var(--bg-primary, #1e1e1e);border-color:var(--border-color, #3d3d3d);box-shadow:0 4px 12px #0006}[data-theme=dark] .layer-context-menu-item{color:var(--text-primary, #e0e0e0)}[data-theme=dark] .layer-context-menu-item:hover{background:var(--bg-hover, #2a2a2a)}[data-theme=dark] .layer-context-menu-item.danger:hover{background:#450a0a;color:#f87171}[data-theme=dark] .layer-context-menu-separator{background:var(--border-color, #3d3d3d)}.layer-item-color-badge{width:4px;height:20px;border-radius:2px;flex-shrink:0;margin-right:4px}.layer-item-color-badge.inherited{opacity:.6;border:1px dashed rgba(255,255,255,.3)}[data-theme=dark] .layer-item-color-badge.inherited{border-color:#fff3}.layer-context-menu-submenu{position:relative}.layer-context-menu-submenu-trigger{display:flex;justify-content:space-between;align-items:center}.layer-context-menu-arrow{font-size:8px;opacity:.6;margin-left:8px}.layer-context-menu-submenu-content{display:none;position:absolute;left:100%;top:0;min-width:120px;background:var(--bg-primary, #ffffff);border:1px solid var(--border-color, #dee2e6);border-radius:6px;box-shadow:0 4px 12px #00000026;padding:4px;z-index:1001}.layer-context-menu-submenu:hover .layer-context-menu-submenu-content{display:block}[data-theme=dark] .layer-context-menu-submenu-content{background:var(--bg-primary, #1e1e1e);border-color:var(--border-color, #3d3d3d);box-shadow:0 4px 12px #0006}.layer-color-picker-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:4px;padding:4px;margin-bottom:4px;border-bottom:1px solid var(--border-color, #dee2e6)}[data-theme=dark] .layer-color-picker-grid{border-color:var(--border-color, #3d3d3d)}.layer-color-swatch{width:24px;height:24px;border:1px solid rgba(0,0,0,.1);border-radius:4px;cursor:pointer;padding:0;transition:transform .1s ease,box-shadow .1s ease}.layer-color-swatch:hover{transform:scale(1.1);box-shadow:0 2px 4px #0003}[data-theme=dark] .layer-color-swatch{border-color:#ffffff1a}.layer-view-selector{display:flex;align-items:center;gap:4px;padding:8px 12px;border-bottom:1px solid var(--border-color, #dee2e6);background:var(--bg-secondary, #f8f9fa)}.layer-view-selector select{flex:1;padding:4px 8px;font-size:11px;border:1px solid var(--border-color, #dee2e6);border-radius:4px;background:var(--bg-primary, #ffffff);color:var(--text-primary, #495057);cursor:pointer}.layer-view-selector select:focus{outline:none;border-color:var(--accent-color, #2196f3)}.layer-view-manage-btn{display:flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;border:none;border-radius:4px;background:transparent;color:var(--text-secondary, #6c757d);cursor:pointer;transition:background-color .15s ease,color .15s ease}.layer-view-manage-btn:hover{background:var(--bg-hover, #e9ecef);color:var(--text-primary, #495057)}.layer-view-selector-empty{justify-content:center}.layer-view-create-btn{padding:4px 12px;font-size:11px;border:1px dashed var(--border-color, #dee2e6);border-radius:4px;background:transparent;color:var(--text-secondary, #6c757d);cursor:pointer;transition:border-color .15s ease,color .15s ease}.layer-view-create-btn:hover{border-color:var(--accent-color, #2196f3);color:var(--accent-color, #2196f3)}[data-theme=dark] .layer-view-selector{background:var(--bg-secondary, #252526);border-color:var(--border-color, #3d3d3d)}[data-theme=dark] .layer-view-selector select{background:var(--bg-primary, #1e1e1e);border-color:var(--border-color, #3d3d3d);color:var(--text-primary, #e0e0e0)}[data-theme=dark] .layer-view-manage-btn:hover{background:var(--bg-hover, #2a2a2a)}[data-theme=dark] .layer-view-create-btn{border-color:var(--border-color, #3d3d3d)}[data-theme=dark] .layer-view-create-btn:hover{border-color:var(--accent-color, #60a5fa);color:var(--accent-color, #60a5fa)}.flyout-panel{position:relative;display:flex;flex-direction:row;align-items:stretch;height:100%;width:24px;flex:0 0 24px;z-index:5}.flyout-panel-no-rail{width:0;flex:0 0 0}.flyout-panel-rail{flex:0 0 24px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:8px 0;border:none;background:var(--bg-secondary);color:var(--text-secondary, #6c757d);cursor:pointer;outline:none}.flyout-panel-side-right .flyout-panel-rail{border-left:1px solid var(--border-color)}.flyout-panel-side-left .flyout-panel-rail{border-right:1px solid var(--border-color);order:2}.flyout-panel-side-left .flyout-panel-body{order:1}.flyout-panel-rail:hover,.flyout-panel-rail:focus-visible{background:var(--bg-tertiary, var(--bg-secondary));color:var(--text-primary, #212529)}.flyout-panel-rail:focus-visible{box-shadow:inset 2px 0 0 var(--color-primary, #2196f3)}.flyout-panel-rail-icon{display:inline-flex;font-size:14px;line-height:1}.flyout-panel-rail-chevron{display:inline-flex;font-size:12px;line-height:1;opacity:.6}.flyout-panel-expanded .flyout-panel-rail-chevron{transform:rotate(180deg)}.flyout-panel-body{position:absolute;top:0;bottom:0;display:flex;flex-direction:column;background:var(--bg-primary);overflow:hidden;min-width:180px;max-width:480px;z-index:6}@media (prefers-reduced-motion: no-preference){.flyout-panel-body{animation:flyout-panel-slide .14s ease-out}}.flyout-panel-side-right .flyout-panel-body{right:24px;border-left:1px solid var(--border-color);border-right:1px solid var(--border-color);box-shadow:-6px 0 16px #0000002e}.flyout-panel-side-left .flyout-panel-body{left:24px;border-right:1px solid var(--border-color);border-left:1px solid var(--border-color);box-shadow:6px 0 16px #0000002e}.flyout-panel-no-rail.flyout-panel-side-right .flyout-panel-body{right:0}.flyout-panel-no-rail.flyout-panel-side-left .flyout-panel-body{left:0}@keyframes flyout-panel-slide{0%{transform:translate(var(--flyout-slide-from, 8px));opacity:.7}to{transform:translate(0);opacity:1}}.flyout-panel-side-right .flyout-panel-body{--flyout-slide-from: 8px}.flyout-panel-side-left .flyout-panel-body{--flyout-slide-from: -8px}.flyout-panel-header{display:flex;align-items:center;justify-content:space-between;padding:6px 8px 6px 12px;border-bottom:1px solid var(--border-color);font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary, #6c757d);background:var(--bg-secondary)}.flyout-panel-pin{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;padding:0;border:none;border-radius:4px;background:transparent;color:var(--text-secondary, #6c757d);cursor:pointer}.flyout-panel-pin:hover,.flyout-panel-pin:focus-visible{background:var(--bg-tertiary, rgba(0, 0, 0, .06));color:var(--text-primary, #212529);outline:none}.flyout-panel-content{flex:1 1 auto;min-height:0;overflow:auto;display:flex;flex-direction:column}.flyout-panel .property-panel{min-width:0;max-width:none;width:100%;border-left:none}.panel-chrome-menu{position:fixed;min-width:180px;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:6px;box-shadow:0 6px 20px #0000002e;padding:4px;z-index:2000}.panel-chrome-menu-item{display:block;width:100%;padding:6px 10px;border:none;background:transparent;text-align:left;font-size:12px;color:var(--text-primary, #212529);border-radius:4px;cursor:pointer}.panel-chrome-menu-item:hover:not(:disabled),.panel-chrome-menu-item:focus-visible{background:var(--bg-secondary);outline:none}.panel-chrome-menu-item:disabled{opacity:.45;cursor:default}.panel-chrome-menu-divider{height:1px;margin:4px 0;background:var(--border-color)}.docked-panel{position:relative;display:flex;flex-direction:column;min-width:200px;max-width:600px;background:var(--bg-secondary);overflow:hidden}.docked-panel-left{border-right:1px solid var(--border-color)}.docked-panel-right{border-left:1px solid var(--border-color)}.docked-panel-handle{position:absolute;top:0;bottom:0;width:4px;cursor:ew-resize;background:transparent;transition:background-color .15s ease;z-index:10}.docked-panel-handle-left{right:-2px}.docked-panel-handle-right{left:-2px}.docked-panel-handle:hover,.docked-panel-handle.dragging{background:var(--color-primary, #2196f3)}.document-toggle-rail{position:absolute;top:50%;z-index:50;width:22px;height:48px;padding:0;border:1px solid var(--border-color);background:var(--bg-secondary);color:var(--text-secondary, #6c757d);cursor:pointer;display:flex;align-items:center;justify-content:center;transform:translateY(-50%);transition:background-color .15s ease,color .15s ease,width .15s ease;box-shadow:0 2px 8px #0000001f}.document-toggle-rail-left{left:0;border-left:none;border-radius:0 6px 6px 0}.document-toggle-rail-right{right:0;border-right:none;border-radius:6px 0 0 6px}.document-toggle-rail:hover,.document-toggle-rail:focus-visible{background:var(--bg-tertiary, var(--bg-secondary));color:var(--text-primary, #212529);width:26px;outline:none}.window-controls{display:flex;align-items:stretch;height:28px;-webkit-app-region:no-drag}.window-control{width:38px;height:100%;display:inline-flex;align-items:center;justify-content:center;padding:0;border:none;background:transparent;color:var(--text-secondary, #6c757d);cursor:pointer;transition:background-color .12s ease,color .12s ease}.window-control:hover,.window-control:focus-visible{background:var(--bg-secondary);color:var(--text-primary, #212529);outline:none}.window-control-close:hover,.window-control-close:focus-visible{background:#e81123;color:#fff}.title-bar{display:flex;align-items:center;height:28px;background:var(--bg-secondary);border-bottom:1px solid var(--border-color);-webkit-app-region:drag;-webkit-user-select:none;user-select:none;flex-shrink:0}.title-bar-mac-gap{width:78px;height:100%;flex-shrink:0}.title-bar-title{flex:1 1 auto;display:flex;align-items:center;justify-content:center;gap:6px;font-size:12px;font-weight:500;color:var(--text-primary, #212529);min-width:0;overflow:hidden;padding:0 12px}.title-bar-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.title-bar-status{flex-shrink:0;font-size:10px;line-height:1;display:inline-flex;align-items:center}.title-bar-status-dirty{color:var(--color-warning, #f59e0b)}.title-bar-status-saving{color:var(--text-secondary, #6c757d)}.title-bar-status-saved{color:var(--color-success, #10b981)}.shape-library-manager{height:100%;display:flex;flex-direction:column}.shape-library-loading{display:flex;align-items:center;justify-content:center;height:200px;color:var(--text-secondary, #6c757d);font-size:14px}.shape-library-error{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;margin-bottom:16px;background:#fee2e2;border:1px solid #fecaca;border-radius:6px;color:#dc2626;font-size:13px}.shape-library-error-dismiss{width:24px;height:24px;display:flex;align-items:center;justify-content:center;padding:0;border:none;border-radius:4px;background:transparent;color:#dc2626;font-size:16px;cursor:pointer}.shape-library-error-dismiss:hover{background:#dc26261a}.shape-library-layout{display:flex;flex:1;min-height:0;gap:16px}.shape-library-sidebar{width:200px;display:flex;flex-direction:column;background:var(--bg-secondary, #f8f9fa);border-radius:8px;overflow:hidden;flex-shrink:0}.shape-library-sidebar-header{display:flex;align-items:center;justify-content:space-between;padding:12px;border-bottom:1px solid var(--border-color, #dee2e6)}.shape-library-sidebar-header h3{margin:0;font-size:13px;font-weight:600;color:var(--text-primary, #212529);text-transform:uppercase;letter-spacing:.5px}.shape-library-sidebar-actions{display:flex;gap:4px}.shape-library-action-btn{width:28px;height:28px;display:flex;align-items:center;justify-content:center;padding:0;border:none;border-radius:4px;background:transparent;color:var(--text-secondary, #6c757d);font-size:14px;cursor:pointer;transition:background-color .15s ease,color .15s ease}.shape-library-action-btn:hover{background:var(--bg-hover, #e9ecef);color:var(--text-primary, #212529)}.shape-library-action-btn.danger:hover{background:#fee2e2;color:#dc2626}.shape-library-create-form{display:flex;flex-wrap:wrap;gap:6px;padding:8px 12px;background:var(--bg-primary, #ffffff);border-bottom:1px solid var(--border-color, #dee2e6)}.shape-library-create-input{flex:1;min-width:120px;padding:6px 8px;border:1px solid var(--border-color, #dee2e6);border-radius:4px;background:var(--bg-primary, #ffffff);color:var(--text-primary, #212529);font-size:12px}.shape-library-create-input:focus{outline:none;border-color:var(--color-primary, #2196f3)}.shape-library-create-btn,.shape-library-cancel-btn{padding:6px 10px;border:none;border-radius:4px;font-size:11px;font-weight:500;cursor:pointer;transition:background-color .15s ease}.shape-library-create-btn{background:var(--color-primary, #2196f3);color:#fff}.shape-library-create-btn:hover:not(:disabled){background:var(--color-primary-dark, #1976d2)}.shape-library-create-btn:disabled{opacity:.5;cursor:not-allowed}.shape-library-cancel-btn{background:var(--bg-tertiary, #e9ecef);color:var(--text-secondary, #6c757d)}.shape-library-cancel-btn:hover{background:var(--bg-hover, #dee2e6)}.shape-library-list{flex:1;overflow-y:auto;padding:8px}.shape-library-empty{padding:20px 12px;text-align:center;color:var(--text-muted, #adb5bd);font-size:12px;line-height:1.5}.shape-library-item{display:flex;align-items:center;justify-content:space-between;padding:8px 10px;border-radius:6px;cursor:pointer;transition:background-color .15s ease}.shape-library-item:hover{background:var(--bg-hover, #e9ecef)}.shape-library-item.selected{background:var(--color-primary, #2196f3);color:#fff}.shape-library-item-name{flex:1;font-size:13px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.shape-library-item-count{font-size:11px;padding:2px 6px;border-radius:10px;background:#0000001a}.shape-library-item.selected .shape-library-item-count{background:#fff3}.shape-library-edit-input{flex:1;padding:4px 6px;border:1px solid var(--color-primary, #2196f3);border-radius:4px;background:var(--bg-primary, #ffffff);color:var(--text-primary, #212529);font-size:13px}.shape-library-content{flex:1;min-width:0;display:flex;flex-direction:column;background:var(--bg-secondary, #f8f9fa);border-radius:8px;overflow:hidden}.shape-library-content-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--border-color, #dee2e6)}.shape-library-content-header h3{margin:0;font-size:15px;font-weight:600;color:var(--text-primary, #212529)}.shape-library-content-actions{display:flex;gap:4px}.shape-library-no-selection,.shape-library-items-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;flex:1;padding:40px 20px;text-align:center}.shape-library-no-selection p,.shape-library-items-empty p{margin:0;color:var(--text-secondary, #6c757d);font-size:14px}.shape-library-no-selection-hint,.shape-library-items-hint{margin-top:8px!important;color:var(--text-muted, #adb5bd)!important;font-size:12px!important}.shape-library-items-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:12px;padding:16px;overflow-y:auto}.shape-library-shape-item{display:flex;flex-direction:column;align-items:center;gap:6px;padding:12px 8px 8px;background:var(--bg-primary, #ffffff);border:1px solid var(--border-color, #dee2e6);border-radius:8px;transition:border-color .15s ease,box-shadow .15s ease}.shape-library-shape-item:hover{border-color:var(--color-primary, #2196f3);box-shadow:0 2px 8px #0000001a}.shape-library-shape-preview{width:64px;height:64px;display:flex;align-items:center;justify-content:center;background:var(--bg-secondary, #f8f9fa);border-radius:4px;overflow:hidden}.shape-library-shape-preview img{max-width:100%;max-height:100%;object-fit:contain}.shape-library-shape-placeholder{font-size:24px;color:var(--text-muted, #adb5bd)}.shape-library-shape-name{font-size:11px;font-weight:500;color:var(--text-primary, #212529);text-align:center;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:pointer}.shape-library-shape-edit-input{width:100%;padding:2px 4px;border:1px solid var(--color-primary, #2196f3);border-radius:3px;background:var(--bg-primary, #ffffff);color:var(--text-primary, #212529);font-size:11px;text-align:center}.shape-library-shape-actions{display:flex;gap:2px;opacity:0;transition:opacity .15s ease}.shape-library-shape-item:hover .shape-library-shape-actions{opacity:1}.shape-library-shape-action-btn{width:24px;height:24px;display:flex;align-items:center;justify-content:center;padding:0;border:none;border-radius:4px;background:transparent;font-size:12px;cursor:pointer;transition:background-color .15s ease}.shape-library-shape-action-btn:hover{background:var(--bg-hover, #e9ecef)}.shape-library-shape-action-btn.danger:hover{background:#fee2e2}[data-theme=dark] .shape-library-error{background:#450a0a;border-color:#7f1d1d;color:#f87171}[data-theme=dark] .shape-library-error-dismiss:hover{background:#f871711a}[data-theme=dark] .shape-library-sidebar{background:var(--bg-secondary, #252526)}[data-theme=dark] .shape-library-sidebar-header{border-color:var(--border-color, #3d3d3d)}[data-theme=dark] .shape-library-sidebar-header h3{color:var(--text-primary, #e0e0e0)}[data-theme=dark] .shape-library-action-btn:hover{background:var(--bg-hover, #2a2a2a);color:var(--text-primary, #e0e0e0)}[data-theme=dark] .shape-library-action-btn.danger:hover{background:#450a0a;color:#f87171}[data-theme=dark] .shape-library-create-form{background:var(--bg-primary, #1e1e1e);border-color:var(--border-color, #3d3d3d)}[data-theme=dark] .shape-library-create-input{background:var(--bg-primary, #1e1e1e);border-color:var(--border-color, #3d3d3d);color:var(--text-primary, #e0e0e0)}[data-theme=dark] .shape-library-create-btn{background:var(--color-primary, #60a5fa);color:#1e1e1e}[data-theme=dark] .shape-library-cancel-btn{background:var(--bg-tertiary, #2a2a2a);color:var(--text-secondary, #9e9e9e)}[data-theme=dark] .shape-library-cancel-btn:hover{background:var(--bg-hover, #3d3d3d)}[data-theme=dark] .shape-library-item:hover{background:var(--bg-hover, #2a2a2a)}[data-theme=dark] .shape-library-item.selected{background:var(--color-primary, #60a5fa);color:#1e1e1e}[data-theme=dark] .shape-library-edit-input{background:var(--bg-primary, #1e1e1e);color:var(--text-primary, #e0e0e0)}[data-theme=dark] .shape-library-content{background:var(--bg-secondary, #252526)}[data-theme=dark] .shape-library-content-header{border-color:var(--border-color, #3d3d3d)}[data-theme=dark] .shape-library-content-header h3{color:var(--text-primary, #e0e0e0)}[data-theme=dark] .shape-library-shape-item{background:var(--bg-primary, #1e1e1e);border-color:var(--border-color, #3d3d3d)}[data-theme=dark] .shape-library-shape-item:hover{border-color:var(--color-primary, #60a5fa)}[data-theme=dark] .shape-library-shape-preview{background:var(--bg-tertiary, #2a2a2a)}[data-theme=dark] .shape-library-shape-name{color:var(--text-primary, #e0e0e0)}[data-theme=dark] .shape-library-shape-edit-input{background:var(--bg-primary, #1e1e1e);color:var(--text-primary, #e0e0e0)}[data-theme=dark] .shape-library-shape-action-btn:hover{background:var(--bg-hover, #2a2a2a)}[data-theme=dark] .shape-library-shape-action-btn.danger:hover{background:#450a0a}.sync-status-badge{display:inline-flex;align-items:center;gap:4px;font-weight:500;border-radius:4px;white-space:nowrap}.sync-status-icon{display:inline-flex;align-items:center;justify-content:center}.sync-status--small{font-size:10px;padding:2px 4px}.sync-status--medium{font-size:12px;padding:3px 6px}.sync-status--synced{color:#22c55e;background:#22c55e1a}.sync-status--syncing{color:var(--accent-color, #3b82f6);background:#3b82f61a}.sync-status--syncing .sync-status-icon{animation:spin 1s linear infinite}.sync-status--pending{color:#f59e0b;background:#f59e0b1a}.sync-status--pending .sync-status-icon{animation:pulse 1.5s ease-in-out infinite}.sync-status--error{color:#ef4444;background:#ef44441a}.sync-status--local{color:var(--text-secondary, #64748b);background:#64748b1a}.sync-status--offline{color:#8b5cf6;background:#8b5cf61a}:root[data-theme=dark] .sync-status--synced{color:#4ade80;background:#4ade8026}:root[data-theme=dark] .sync-status--syncing{background:#3b82f626}:root[data-theme=dark] .sync-status--pending{color:#fbbf24;background:#fbbf2426}:root[data-theme=dark] .sync-status--error{color:#f87171;background:#f8717126}:root[data-theme=dark] .sync-status--local{color:var(--text-secondary, #94a3b8);background:#94a3b826}:root[data-theme=dark] .sync-status--offline{color:#a78bfa;background:#a78bfa26}.document-card{display:flex;align-items:flex-start;justify-content:space-between;padding:10px 12px;background:var(--bg-primary, #ffffff);border:1px solid var(--border-color, #e2e8f0);border-radius:6px;cursor:pointer;transition:all .15s ease}.document-card:hover{background:var(--bg-hover, #f8fafc);border-color:var(--accent-color, #3b82f6)}.document-card--active{background:var(--bg-secondary, #f1f5f9);border-color:var(--accent-color, #3b82f6)}.document-card--selected{box-shadow:0 0 0 2px var(--accent-color, #3b82f6)}.document-card__content{flex:1;min-width:0}.document-card__name-row{display:flex;align-items:center;gap:8px;margin-bottom:6px}.document-card__name{font-size:13px;font-weight:500;color:var(--text-primary, #1e293b);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.document-card__name-input{flex:1;font-size:13px;font-weight:500;padding:2px 6px;border:1px solid var(--accent-color, #3b82f6);border-radius:4px;background:var(--bg-primary, #ffffff);color:var(--text-primary, #1e293b);outline:none}.document-card__active-badge{font-size:10px;font-weight:500;padding:2px 6px;color:var(--accent-color, #3b82f6);background:#3b82f61a;border-radius:4px;flex-shrink:0}.document-card__meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.document-card__type{display:inline-flex;align-items:center;gap:4px;font-size:10px;font-weight:600;padding:2px 6px;border-radius:4px;text-transform:uppercase;letter-spacing:.3px}.document-card__type svg,.document-card__relay svg{flex-shrink:0}.document-card__type--local{color:#64748b;background:#64748b1a}.document-card__type--remote{color:#8b5cf6;background:#8b5cf61a}.document-card__type--cached{color:#f59e0b;background:#f59e0b1a}.document-card__date{font-size:11px;color:var(--text-muted, #94a3b8)}.document-card__actions{display:flex;align-items:center;gap:4px;flex-shrink:0;opacity:0;transition:opacity .15s ease}.document-card:hover .document-card__actions,.document-card:focus-within .document-card__actions{opacity:1}.document-card--full .document-card__actions{opacity:.7}.document-card--full:hover .document-card__actions,.document-card--full:focus-within .document-card__actions{opacity:1}.document-card__action{display:flex;align-items:center;justify-content:center;width:30px;height:30px;color:var(--text-secondary, #64748b);background:transparent;border:1px solid transparent;border-radius:6px;cursor:pointer;transition:all .15s ease}.document-card__action svg,.document-card__expand svg{display:block}.document-card__action:hover{background:var(--bg-secondary, #f1f5f9);border-color:var(--border-color, #e2e8f0);color:var(--text-primary, #1e293b)}.document-card__action:focus-visible,.document-card__expand:focus-visible{outline:none;box-shadow:0 0 0 2px var(--accent-color, #3b82f6)}.document-card__action:disabled{cursor:progress;opacity:.6}.document-card__action--danger:hover{background:#ef44441a;border-color:#ef44444d;color:#ef4444}.document-card__confirm{display:flex;align-items:center;gap:4px}.document-card__confirm-text{font-size:11px;color:#ef4444;font-weight:500}.document-card__confirm-btn{font-size:10px;font-weight:500;padding:3px 8px;border:none;border-radius:4px;cursor:pointer;transition:all .15s ease}.document-card__confirm-yes{background:#ef4444;color:#fff}.document-card__confirm-yes:hover{background:#dc2626}.document-card__confirm-no{background:var(--bg-secondary, #f1f5f9);color:var(--text-secondary, #64748b)}.document-card__confirm-no:hover{background:var(--bg-tertiary, #e2e8f0)}.document-card__relay{display:inline-flex;align-items:center;gap:4px;font-size:10px;font-weight:600;padding:2px 6px;border-radius:4px;max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.document-card__relay--connected{color:#16a34a;background:#16a34a1a}.document-card__relay--disconnected{color:var(--text-muted, #94a3b8);background:#94a3b81f}.document-card__expand{display:flex;align-items:center;justify-content:center;align-self:flex-start;width:30px;height:30px;margin-left:4px;color:var(--text-secondary, #64748b);background:transparent;border:1px solid transparent;border-radius:6px;cursor:pointer;flex-shrink:0;transition:background .15s ease,color .15s ease,border-color .15s ease}.document-card__expand:hover{background:var(--bg-secondary, #f1f5f9);border-color:var(--border-color, #e2e8f0);color:var(--text-primary, #1e293b)}.document-card__chevron{display:block;transition:transform .15s ease}.document-card__chevron--open{transform:rotate(180deg)}@keyframes document-card-spin{to{transform:rotate(360deg)}}.document-card__spin{animation:document-card-spin 1s linear infinite}.document-card__details{margin:10px 0 2px;padding:10px 12px;display:grid;grid-template-columns:max-content 1fr;gap:5px 14px;background:var(--bg-secondary, #f8fafc);border:1px solid var(--border-color, #e2e8f0);border-radius:6px;cursor:default}.document-card__detail{display:contents}.document-card__detail dt{font-size:11px;font-weight:500;color:var(--text-muted, #94a3b8)}.document-card__detail dd{margin:0;font-size:11px;color:var(--text-secondary, #64748b);word-break:break-word}.document-card__detail--id dd{font-family:var(--font-mono, ui-monospace, monospace);font-size:10px}.document-card--full{padding:14px 16px}.document-card--full .document-card__name{font-size:14px}.document-card--full .document-card__name-row{margin-bottom:10px}.document-card--full .document-card__meta{gap:10px;row-gap:6px}.document-card--compact{padding:8px 10px}.document-card--compact .document-card__name-row{margin-bottom:4px}.document-card--grid{flex-direction:column;align-items:stretch;padding:10px;min-height:96px}.document-card--grid .document-card__content{display:flex;flex-direction:column;gap:6px}.document-card--grid .document-card__name-row{margin-bottom:0}.document-card--grid .document-card__meta{font-size:10px;gap:6px}.document-card--grid .document-card__actions{margin-top:6px;justify-content:flex-end}.document-card__select{flex-shrink:0;width:18px;height:18px;margin-right:8px;margin-top:2px;border:1.5px solid var(--border-color, #cbd5e1);border-radius:4px;background:var(--bg-primary, #ffffff);color:#fff;font-size:12px;font-weight:700;line-height:1;cursor:pointer;opacity:0;transition:opacity .15s ease,background .15s ease,border-color .15s ease;display:flex;align-items:center;justify-content:center;padding:0}.document-card:hover .document-card__select,.document-card__select--visible{opacity:1}.document-card__select--checked{background:var(--accent-color, #3b82f6);border-color:var(--accent-color, #3b82f6);opacity:1}.document-card--grid .document-card__select{position:absolute;top:8px;left:8px;margin:0;z-index:2}.document-card--grid .document-card__name-row{padding-left:24px;min-height:22px}.document-card--grid{position:relative}.document-card__group-chip{font-size:10px;font-weight:600;padding:2px 6px;border-radius:10px;color:#fff;background:var(--text-muted, #94a3b8);max-width:96px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex-shrink:0}:root[data-theme=dark] .document-card{background:var(--bg-secondary, #1e293b);border-color:var(--border-color, #334155)}:root[data-theme=dark] .document-card:hover{background:var(--bg-tertiary, #334155)}:root[data-theme=dark] .document-card--active{background:var(--bg-tertiary, #334155)}:root[data-theme=dark] .document-card__type--local{color:#94a3b8;background:#94a3b826}:root[data-theme=dark] .document-card__type--remote{color:#a78bfa;background:#a78bfa26}:root[data-theme=dark] .document-card__type--cached{color:#fbbf24;background:#fbbf2426}:root[data-theme=dark] .document-card__relay--connected{color:#4ade80;background:#4ade8026}:root[data-theme=dark] .document-card__relay--disconnected{color:#94a3b8;background:#94a3b82e}:root[data-theme=dark] .document-card__details{background:var(--bg-tertiary, #334155);border-color:var(--border-color, #334155)}:root[data-theme=dark] .document-card__expand:hover{background:var(--bg-tertiary, #334155)}.document-permissions-dialog__overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .15s ease}.document-permissions-dialog{background:var(--bg-primary, #fff);border-radius:12px;width:90%;max-width:520px;max-height:85vh;display:flex;flex-direction:column;box-shadow:0 8px 32px #0003;animation:slideIn .2s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideIn{0%{opacity:0;transform:translateY(-10px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.document-permissions-dialog__header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border-color, #e0e0e0);background:linear-gradient(135deg,#667eea,#764ba2);border-radius:12px 12px 0 0}.document-permissions-dialog__header h3{margin:0;font-size:16px;font-weight:600;color:#fff}.document-permissions-dialog__close{background:#fff3;border:none;font-size:20px;line-height:1;color:#fff;cursor:pointer;padding:4px 8px;border-radius:4px;transition:background .15s}.document-permissions-dialog__close:hover{background:#ffffff4d}.document-permissions-dialog__content{padding:20px;overflow-y:auto;flex:1}.document-permissions-dialog__doc-info{display:flex;flex-direction:column;gap:8px;padding:14px 16px;background:linear-gradient(135deg,#f8fafc,#f1f5f9);border-radius:8px;margin-bottom:16px;border:1px solid var(--border-color, #e0e0e0)}.document-permissions-dialog__doc-name{font-weight:600;font-size:15px;color:var(--text-primary, #333)}.document-permissions-dialog__doc-meta{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.document-permissions-dialog__owner-badge{display:inline-flex;align-items:center;gap:4px;font-size:13px;color:#b45309;background:#fef3c7;padding:3px 8px;border-radius:4px;font-weight:500}.document-permissions-dialog__access-count{font-size:12px;color:var(--text-secondary, #666)}.document-permissions-dialog__error{padding:10px 12px;background:#fef2f2;border:1px solid #fecaca;border-radius:6px;color:#dc2626;font-size:13px;margin-bottom:16px}.document-permissions-dialog__success{padding:10px 12px;background:#f0fdf4;border:1px solid #86efac;border-radius:6px;color:#16a34a;font-size:13px;margin-bottom:16px}.document-permissions-dialog__quick-actions{display:flex;gap:8px;margin-bottom:16px}.document-permissions-dialog__quick-btn{padding:6px 12px;font-size:12px;border:1px solid var(--border-color, #ddd);border-radius:6px;background:var(--bg-primary, #fff);color:var(--text-primary, #333);cursor:pointer;transition:all .15s}.document-permissions-dialog__quick-btn:hover{background:var(--bg-secondary, #f5f5f5);border-color:var(--primary-color, #4a90d9)}.document-permissions-dialog__quick-btn--danger:hover{background:#fef2f2;border-color:#dc2626;color:#dc2626}.document-permissions-dialog__section{margin-bottom:20px}.document-permissions-dialog__section h4{margin:0 0 12px;font-size:13px;font-weight:600;color:var(--text-secondary, #666);text-transform:uppercase;letter-spacing:.5px}.document-permissions-dialog__empty{color:var(--text-muted, #999);font-size:13px;font-style:italic;padding:16px;text-align:center;background:var(--bg-secondary, #f5f5f5);border-radius:8px}.document-permissions-dialog__members{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px;max-height:280px;overflow-y:auto}.document-permissions-dialog__member{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;background:var(--bg-secondary, #f5f5f5);border-radius:8px;border:1px solid transparent;transition:all .15s}.document-permissions-dialog__member--has-access{background:#f0fdf4;border-color:#86efac}.document-permissions-dialog__member--offline{opacity:.7}.document-permissions-dialog__member-info{flex:1;min-width:0}.document-permissions-dialog__member-name{font-weight:500;font-size:14px;color:var(--text-primary, #333);display:flex;align-items:center;gap:8px}.document-permissions-dialog__offline-badge{font-size:10px;font-weight:400;color:var(--text-muted, #999);background:var(--bg-secondary, #e5e5e5);padding:1px 6px;border-radius:3px}.document-permissions-dialog__member-controls{display:flex;align-items:center;gap:8px;flex-shrink:0}.document-permissions-dialog__permission-select{padding:6px 10px;border:1px solid var(--border-color, #ddd);border-radius:6px;background:var(--bg-primary, #fff);color:var(--text-primary, #333);font-size:13px;cursor:pointer;min-width:100px}.document-permissions-dialog__permission-select:focus{outline:none;border-color:var(--primary-color, #4a90d9);box-shadow:0 0 0 2px #4a90d91a}.document-permissions-dialog__transfer-btn{background:none;border:none;font-size:14px;cursor:pointer;padding:4px 6px;border-radius:4px;transition:all .15s;opacity:.5}.document-permissions-dialog__transfer-btn:hover{background:#fbbf2433;opacity:1;transform:scale(1.1)}.document-permissions-dialog__transfer-confirm{padding:16px;background:#fffbeb;border:1px solid #fbbf24;border-radius:8px;margin-bottom:16px}.document-permissions-dialog__transfer-confirm p{margin:0 0 8px;color:var(--text-primary, #333)}.document-permissions-dialog__transfer-warning{color:#b45309;font-size:13px;font-weight:500}.document-permissions-dialog__transfer-actions{display:flex;gap:8px;margin-top:12px}.document-permissions-dialog__actions{display:flex;gap:8px;justify-content:flex-end;padding-top:16px;border-top:1px solid var(--border-color, #e0e0e0)}.document-permissions-dialog__btn{padding:10px 18px;border:1px solid var(--border-color, #ddd);border-radius:6px;background:var(--bg-primary, #fff);color:var(--text-primary, #333);font-size:14px;font-weight:500;cursor:pointer;transition:all .15s}.document-permissions-dialog__btn:hover:not(:disabled){background:var(--bg-secondary, #f5f5f5)}.document-permissions-dialog__btn:disabled{opacity:.5;cursor:not-allowed}.document-permissions-dialog__btn--primary{background:linear-gradient(135deg,#667eea,#764ba2);border-color:transparent;color:#fff}.document-permissions-dialog__btn--primary:hover:not(:disabled){background:linear-gradient(135deg,#5a6fd6,#6a4190);box-shadow:0 2px 8px #667eea66}.document-permissions-dialog__btn--danger{background:#dc2626;border-color:#dc2626;color:#fff}.document-permissions-dialog__btn--danger:hover:not(:disabled){background:#b91c1c}:root[data-theme=dark] .document-permissions-dialog{background:var(--bg-primary-dark, #1e1e1e)}:root[data-theme=dark] .document-permissions-dialog__doc-info{background:linear-gradient(135deg,#2d2d2d,#252525);border-color:var(--border-color-dark, #444)}:root[data-theme=dark] .document-permissions-dialog__doc-name,:root[data-theme=dark] .document-permissions-dialog__member-name{color:var(--text-primary-dark, #eee)}:root[data-theme=dark] .document-permissions-dialog__member,:root[data-theme=dark] .document-permissions-dialog__empty{background:var(--bg-secondary-dark, #2d2d2d)}:root[data-theme=dark] .document-permissions-dialog__member--has-access{background:#16a34a26;border-color:#86efac4d}:root[data-theme=dark] .document-permissions-dialog__permission-select,:root[data-theme=dark] .document-permissions-dialog__quick-btn{background:var(--bg-secondary-dark, #2d2d2d);border-color:var(--border-color-dark, #444);color:var(--text-primary-dark, #eee)}:root[data-theme=dark] .document-permissions-dialog__actions{border-color:var(--border-color-dark, #444)}:root[data-theme=dark] .document-permissions-dialog__btn{background:var(--bg-secondary-dark, #2d2d2d);border-color:var(--border-color-dark, #444);color:var(--text-primary-dark, #eee)}:root[data-theme=dark] .document-permissions-dialog__btn:hover:not(:disabled){background:var(--bg-hover-dark, #3d3d3d)}:root[data-theme=dark] .document-permissions-dialog__owner-badge{background:#fbbf2433;color:#fbbf24}:root[data-theme=dark] .document-permissions-dialog__success{background:#16a34a26;border-color:#86efac4d;color:#86efac}:root[data-theme=dark] .document-permissions-dialog__error{background:#dc262626;border-color:#fecaca4d;color:#fca5a5}:root[data-theme=dark] .document-permissions-dialog__transfer-confirm{background:#fbbf241a;border-color:#fbbf244d}:root{--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px}.document-browser{display:flex;flex-direction:column;gap:var(--space-4);padding:var(--space-2) 0}.document-browser__actions{display:grid;grid-template-columns:repeat(5,1fr);gap:var(--space-2)}.document-browser__action{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-1);padding:var(--space-3) var(--space-2);font-size:12px;font-weight:500;color:var(--text-primary, #1e293b);background:var(--bg-primary, #ffffff);border:1px solid var(--border-color, #e2e8f0);border-radius:8px;cursor:pointer;transition:all .15s cubic-bezier(.16,1,.3,1);min-height:56px}.document-browser__action:hover{background:var(--bg-hover, #f8fafc);border-color:var(--accent-color, #3b82f6);transform:translateY(-1px);box-shadow:0 2px 8px #0000000f}.document-browser__action:active{transform:translateY(0)}.document-browser__action--primary{background:var(--accent-color, #3b82f6);border-color:var(--accent-color, #3b82f6);color:#fff}.document-browser__action--primary:hover{background:var(--accent-hover, #2563eb);border-color:var(--accent-hover, #2563eb);box-shadow:0 4px 12px #3b82f640}.document-browser__action-icon{display:inline-flex;align-items:center;justify-content:center;line-height:1}.document-browser__status{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:var(--bg-secondary, #f8fafc);border:1px solid var(--border-color, #e2e8f0);border-radius:10px}.document-browser__status-text{flex:1;font-size:13px;font-weight:500;color:var(--text-secondary, #64748b)}.document-browser__refresh{display:flex;align-items:center;justify-content:center;width:28px;height:28px;font-size:14px;color:var(--text-secondary, #64748b);background:var(--bg-primary, #ffffff);border:1px solid var(--border-color, #e2e8f0);border-radius:6px;cursor:pointer;transition:all .15s ease}.document-browser__refresh:hover{background:var(--bg-hover, #f1f5f9);color:var(--text-primary, #1e293b);border-color:var(--accent-color, #3b82f6)}.document-browser__refresh:disabled{animation:spin 1s linear infinite;cursor:default}.document-browser__error{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);font-size:13px;font-weight:500;color:#dc2626;background:#ef444414;border:1px solid rgba(239,68,68,.2);border-radius:8px}.document-browser__error-icon{font-size:16px;font-weight:600;width:20px;height:20px;display:flex;align-items:center;justify-content:center;background:#ef444426;border-radius:50%}.document-browser__toolbar{display:flex;flex-direction:column;gap:var(--space-3)}.document-browser__search{width:100%;padding:10px var(--space-4);font-size:14px;font-weight:400;color:var(--text-primary, #1e293b);background:var(--bg-primary, #ffffff);border:1px solid var(--border-color, #e2e8f0);border-radius:8px;outline:none;transition:all .15s ease}.document-browser__search:focus{border-color:var(--accent-color, #3b82f6);box-shadow:0 0 0 3px #3b82f61a}.document-browser__search::placeholder{color:var(--text-muted, #94a3b8)}.document-browser__filter{display:flex;gap:var(--space-1);background:var(--bg-secondary, #f1f5f9);padding:4px;border-radius:10px;flex-wrap:wrap}.document-browser__filter-btn{flex:1;min-width:fit-content;padding:8px var(--space-3);font-size:12px;font-weight:500;color:var(--text-secondary, #64748b);background:transparent;border:none;border-radius:6px;cursor:pointer;transition:all .15s cubic-bezier(.16,1,.3,1);white-space:nowrap}.document-browser__filter-btn:hover{background:var(--bg-hover, rgba(255, 255, 255, .5));color:var(--text-primary, #1e293b)}.document-browser__filter-btn--active{background:var(--bg-primary, #ffffff);color:var(--accent-color, #3b82f6);box-shadow:0 1px 3px #00000014;font-weight:600}.document-browser__list{display:flex;flex-direction:column;gap:var(--space-2);max-height:380px;overflow-y:auto;padding:var(--space-1) 0}.settings-modal-content .document-browser{flex:1 1 auto;min-height:0}.settings-modal-content .document-browser__list{flex:1 1 auto;min-height:160px;max-height:none}.document-browser__empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-6) var(--space-4);text-align:center;background:var(--bg-secondary, #f8fafc);border:1px dashed var(--border-color, #e2e8f0);border-radius:12px;margin:var(--space-2) 0}.document-browser__empty p{font-size:14px;font-weight:500;color:var(--text-muted, #94a3b8);margin:0;line-height:1.5}.document-browser--compact{gap:var(--space-3)}.document-browser--compact .document-browser__actions{grid-template-columns:repeat(3,1fr)}.document-browser--compact .document-browser__action{padding:var(--space-2) var(--space-1);font-size:11px;min-height:48px}.document-browser--compact .document-browser__action-icon{font-size:16px}.document-browser--compact .document-browser__toolbar{gap:var(--space-2)}.document-browser--compact .document-browser__list{max-height:280px}.document-browser__list::-webkit-scrollbar{width:6px}.document-browser__list::-webkit-scrollbar-track{background:transparent;margin:var(--space-1) 0}.document-browser__list::-webkit-scrollbar-thumb{background:var(--border-color, #e2e8f0);border-radius:3px}.document-browser__list::-webkit-scrollbar-thumb:hover{background:var(--text-muted, #94a3b8)}.document-browser__controls{display:flex;flex-direction:column;gap:var(--space-2)}.document-browser__view-controls{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2)}.document-browser__select{display:inline-flex;align-items:center;gap:6px;font-size:11px;color:var(--text-secondary, #64748b)}.document-browser__select-label{font-weight:500;letter-spacing:.2px}.document-browser__select-input{appearance:none;-webkit-appearance:none;-moz-appearance:none;font-size:12px;font-weight:500;color:var(--text-primary, #1e293b);background-color:var(--bg-primary, #ffffff);border:1px solid var(--border-color, #e2e8f0);border-radius:6px;padding:5px 24px 5px 8px;cursor:pointer;outline:none;transition:border-color .15s ease,box-shadow .15s ease;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 7px center;background-size:10px}.document-browser__select-input:hover{border-color:var(--accent-color, #3b82f6)}.document-browser__select-input:focus{border-color:var(--accent-color, #3b82f6);box-shadow:0 0 0 3px #3b82f626}.document-browser__select-input option{background:var(--bg-primary, #ffffff);color:var(--text-primary, #1e293b)}.document-browser__view-toggle{display:inline-flex;background:var(--bg-secondary, #f1f5f9);border-radius:8px;padding:2px}.document-browser__view-btn{width:28px;height:26px;display:flex;align-items:center;justify-content:center;font-size:14px;background:transparent;border:none;border-radius:6px;cursor:pointer;color:var(--text-secondary, #64748b)}.document-browser__view-btn--active{background:var(--bg-primary, #ffffff);color:var(--accent-color, #3b82f6);box-shadow:0 1px 3px #00000014}.document-browser__new-group-btn{display:inline-flex;align-items:center;gap:4px;margin-left:auto;font-size:11px;font-weight:600;padding:6px 10px;color:var(--text-primary, #1e293b);background:var(--bg-primary, #ffffff);border:1px dashed var(--border-color, #cbd5e1);border-radius:6px;cursor:pointer}.document-browser__new-group-btn:hover{border-color:var(--accent-color, #3b82f6);color:var(--accent-color, #3b82f6)}.document-browser__list--grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:var(--space-2)}.document-browser__selection-bar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:var(--space-2);padding:var(--space-2) var(--space-3);background:#3b82f614;border:1px solid rgba(59,130,246,.25);border-radius:8px}.document-browser__selection-count{font-size:12px;font-weight:600;color:var(--accent-color, #3b82f6)}.document-browser__selection-actions{display:flex;align-items:center;gap:var(--space-1);flex-wrap:wrap}.document-browser__bulk-btn{font-size:12px;font-weight:500;padding:6px 10px;color:var(--text-primary, #1e293b);background:var(--bg-primary, #ffffff);border:1px solid var(--border-color, #e2e8f0);border-radius:6px;cursor:pointer}.document-browser__bulk-btn:hover{border-color:var(--accent-color, #3b82f6);color:var(--accent-color, #3b82f6)}.document-browser__bulk-btn--danger:hover{border-color:#ef4444;color:#ef4444}.document-browser__assign-wrap{position:relative}.document-browser__assign-menu,.document-browser__section-menu{position:absolute;top:calc(100% + 4px);right:0;min-width:200px;z-index:20;background:var(--bg-primary, #ffffff);border:1px solid var(--border-color, #e2e8f0);border-radius:8px;box-shadow:0 4px 16px #0000001a;padding:4px;display:flex;flex-direction:column}.document-browser__assign-item{display:flex;align-items:center;gap:8px;font-size:12px;text-align:left;padding:6px 8px;color:var(--text-primary, #1e293b);background:transparent;border:none;border-radius:4px;cursor:pointer}.document-browser__assign-item:hover{background:var(--bg-hover, #f1f5f9)}.document-browser__assign-item--new{color:var(--accent-color, #3b82f6);font-weight:500}.document-browser__assign-item--danger{color:#ef4444}.document-browser__assign-item--danger:hover{background:#ef444414}.document-browser__assign-sep{height:1px;background:var(--border-color, #e2e8f0);margin:4px 0}.document-browser__assign-swatch{width:10px;height:10px;border-radius:50%;background:var(--text-muted, #94a3b8);flex-shrink:0}.document-browser__section{display:flex;flex-direction:column;gap:var(--space-1)}.document-browser__section-header{display:flex;align-items:center;justify-content:space-between;padding:4px 6px;border-radius:6px}.document-browser__section-toggle{display:inline-flex;align-items:center;gap:6px;flex:1;font-size:12px;font-weight:600;color:var(--text-primary, #1e293b);background:transparent;border:none;cursor:pointer;padding:2px 0;text-align:left}.document-browser__caret{flex-shrink:0;color:var(--text-secondary, #64748b);transition:transform .15s ease}.document-browser__caret--collapsed{transform:rotate(-90deg)}.document-browser__section-swatch{width:10px;height:10px;border-radius:50%;background:var(--text-muted, #94a3b8);flex-shrink:0}.document-browser__section-title{letter-spacing:.2px}.document-browser__section-count{font-size:10px;font-weight:600;color:var(--text-muted, #94a3b8);background:var(--bg-secondary, #f1f5f9);padding:1px 6px;border-radius:8px}.document-browser__section-status{display:inline-flex;align-items:center;gap:3px;font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.4px;padding:1px 6px;border-radius:8px}.document-browser__section-status--connected{color:#16a34a;background:#16a34a1f}.document-browser__section-status--disconnected{color:var(--text-muted, #94a3b8);background:var(--bg-secondary, #f1f5f9)}.document-browser__section-menu-wrap{position:relative}.document-browser__section-menu-btn{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border:none;background:transparent;border-radius:4px;cursor:pointer;color:var(--text-secondary, #64748b)}.document-browser__section-menu-btn:hover{background:var(--bg-secondary, #f1f5f9);color:var(--text-primary, #1e293b)}.document-browser__section-body{display:flex;flex-direction:column;gap:var(--space-1);padding-left:var(--space-3)}.document-browser__section-body--grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:var(--space-2)}.document-browser__section-empty{font-size:11px;color:var(--text-muted, #94a3b8);padding:var(--space-2) 0;font-style:italic}.document-browser__swatch-row{display:flex;align-items:center;gap:4px;padding:4px 6px}.document-browser__swatch{width:18px;height:18px;border-radius:50%;border:1px solid rgba(0,0,0,.1);cursor:pointer;padding:0}.document-browser__swatch--clear{display:inline-flex;align-items:center;justify-content:center;background:var(--bg-primary, #ffffff);color:var(--text-secondary, #64748b);line-height:1}:root[data-theme=dark] .document-browser__select-input{background-color:var(--bg-secondary, #0f172a);border-color:var(--border-color, #334155);color:var(--text-primary, #e2e8f0);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 24 24' fill='none' stroke='%2394a3b8' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E")}:root[data-theme=dark] .document-browser__select-input:hover,:root[data-theme=dark] .document-browser__select-input:focus{border-color:#60a5fa}:root[data-theme=dark] .document-browser__select-input option{background:var(--bg-secondary, #0f172a);color:var(--text-primary, #e2e8f0)}:root[data-theme=dark] .document-browser__view-toggle{background:var(--bg-tertiary, #1e293b)}:root[data-theme=dark] .document-browser__view-btn--active{background:var(--bg-secondary, #0f172a);color:#60a5fa}:root[data-theme=dark] .document-browser__new-group-btn{background:var(--bg-secondary, #0f172a);border-color:var(--border-color, #334155);color:var(--text-primary, #e2e8f0)}:root[data-theme=dark] .document-browser__bulk-btn{background:var(--bg-secondary, #0f172a);border-color:var(--border-color, #334155);color:var(--text-primary, #e2e8f0)}:root[data-theme=dark] .document-browser__assign-menu,:root[data-theme=dark] .document-browser__section-menu{background:var(--bg-secondary, #0f172a);border-color:var(--border-color, #334155)}:root[data-theme=dark] .document-browser__assign-item{color:var(--text-primary, #e2e8f0)}:root[data-theme=dark] .document-browser__assign-item:hover{background:var(--bg-tertiary, #1e293b)}:root[data-theme=dark] .document-browser__section-count{background:var(--bg-tertiary, #1e293b);color:var(--text-muted, #94a3b8)}:root[data-theme=dark] .document-browser__section-status--connected{color:#4ade80;background:#4ade8026}:root[data-theme=dark] .document-browser__section-status--disconnected{background:var(--bg-tertiary, #1e293b);color:var(--text-muted, #94a3b8)}:root[data-theme=dark] .document-browser__selection-bar{background:#60a5fa1a;border-color:#60a5fa4d}:root[data-theme=dark] .document-browser__selection-count{color:#60a5fa}:root[data-theme=dark] .document-browser__status{background:var(--bg-tertiary, #1e293b);border-color:var(--border-color, #334155)}:root[data-theme=dark] .document-browser__filter{background:var(--bg-tertiary, #1e293b)}:root[data-theme=dark] .document-browser__filter-btn:hover{background:#ffffff0d}:root[data-theme=dark] .document-browser__filter-btn--active{background:var(--bg-secondary, #0f172a);color:#60a5fa}:root[data-theme=dark] .document-browser__empty{background:var(--bg-tertiary, #1e293b);border-color:var(--border-color, #334155)}:root[data-theme=dark] .document-browser__error{color:#f87171;background:#f871711a;border-color:#f8717140}:root[data-theme=dark] .document-browser__refresh{background:var(--bg-tertiary, #1e293b);border-color:var(--border-color, #334155)}:root[data-theme=dark] .document-browser__refresh:hover{background:var(--bg-secondary, #334155);border-color:#60a5fa}:root[data-theme=dark] .document-browser__search{background:var(--bg-secondary, #0f172a);border-color:var(--border-color, #334155)}:root[data-theme=dark] .document-browser__search:focus{border-color:#60a5fa;box-shadow:0 0 0 3px #60a5fa26}:root[data-theme=dark] .document-browser__action{background:var(--bg-secondary, #0f172a);border-color:var(--border-color, #334155)}:root[data-theme=dark] .document-browser__action:hover{background:var(--bg-tertiary, #1e293b);border-color:#60a5fa}:root[data-theme=dark] .document-browser__action--primary{background:#3b82f6;border-color:#3b82f6}:root[data-theme=dark] .document-browser__action--primary:hover{background:#2563eb;border-color:#2563eb}.document-browser__transfer{display:flex;align-items:center;gap:8px;margin:8px 0;padding:8px 10px;font-size:13px;border-radius:6px;background:#2563eb14;border:1px solid rgba(37,99,235,.25)}.document-browser__transfer-text{color:var(--color-text, #1e293b)}.general-settings{padding:4px 0}.settings-section-title{margin:0 0 20px;font-size:18px;font-weight:600;color:var(--text-primary, #1e293b)}.settings-group{margin-bottom:24px;padding-bottom:20px;border-bottom:1px solid var(--border-color, #e2e8f0)}.settings-group:last-child{border-bottom:none;margin-bottom:0}.settings-group-title{margin:0 0 12px;font-size:13px;font-weight:600;color:var(--text-secondary, #64748b);text-transform:uppercase;letter-spacing:.5px}.settings-row{margin-bottom:16px}.settings-row:last-child{margin-bottom:0}.settings-label{display:block;margin-bottom:6px;font-size:13px;font-weight:500;color:var(--text-primary, #1e293b)}.settings-select{appearance:none;-webkit-appearance:none;-moz-appearance:none;width:100%;max-width:300px;padding:8px 32px 8px 12px;font-size:13px;border:1px solid var(--border-color, #e2e8f0);border-radius:6px;background-color:var(--bg-secondary, #f8fafc);color:var(--text-primary, #1e293b);cursor:pointer;transition:border-color .15s ease,box-shadow .15s ease;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;background-size:12px}.settings-select:hover{border-color:var(--color-primary-light, #60a5fa)}.settings-select:focus{outline:none;border-color:var(--color-primary, #3b82f6);box-shadow:0 0 0 3px var(--color-primary-alpha, rgba(59, 130, 246, .15))}[data-theme=dark] .settings-select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%239ca3af' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E")}.settings-hint{display:block;margin-top:6px;font-size:12px;color:var(--text-tertiary, #94a3b8)}.settings-row-checkbox{display:flex;flex-direction:column;gap:4px}.settings-checkbox-label{display:flex;align-items:center;gap:10px;cursor:pointer}.settings-checkbox-text{font-size:13px;font-weight:500;color:var(--text-primary, #1e293b)}.settings-slider-row{display:flex;align-items:center;gap:12px;width:100%;max-width:300px}.settings-slider-value{font-size:13px;font-weight:500;color:var(--text-primary, #1e293b);min-width:40px;text-align:right}.settings-reset-btn{padding:8px 16px;font-size:13px;font-weight:500;color:var(--danger-color, #ef4444);background:transparent;border:1px solid var(--danger-color, #ef4444);border-radius:6px;cursor:pointer;transition:all .15s ease}.settings-reset-btn:hover{background:var(--danger-color, #ef4444);color:#fff}:root[data-theme=dark] .settings-section-title{color:var(--text-primary, #f1f5f9)}:root[data-theme=dark] .settings-group{border-color:var(--border-color, #334155)}:root[data-theme=dark] .settings-group-title{color:var(--text-secondary, #94a3b8)}:root[data-theme=dark] .settings-label{color:var(--text-primary, #f1f5f9)}:root[data-theme=dark] .settings-select{background:var(--bg-secondary, #1e293b);border-color:var(--border-color, #334155);color:var(--text-primary, #f1f5f9)}:root[data-theme=dark] .settings-select:hover{border-color:var(--border-hover, #475569)}:root[data-theme=dark] .settings-select:focus{border-color:var(--accent-color, #60a5fa);box-shadow:0 0 0 3px #60a5fa26}:root[data-theme=dark] .settings-hint{color:var(--text-tertiary, #64748b)}:root[data-theme=dark] .settings-checkbox-text{color:var(--text-primary, #f1f5f9)}:root[data-theme=dark] .settings-reset-btn{color:var(--danger-color, #f87171);border-color:var(--danger-color, #f87171)}:root[data-theme=dark] .settings-reset-btn:hover{background:var(--danger-color, #f87171);color:var(--bg-primary, #0f172a)}:root[data-theme=dark] .settings-select option{background:var(--bg-secondary, #1e293b);color:var(--text-primary, #f1f5f9)}:root[data-theme=dark] .settings-select option:checked{background:var(--accent-color, #3b82f6);color:#fff}.settings-checkbox{-moz-appearance:none;appearance:none;-webkit-appearance:none;width:18px;height:18px;margin:0;border:2px solid var(--border-color, #d1d5db);border-radius:4px;background:var(--bg-primary, #ffffff);cursor:pointer;transition:all .15s ease;position:relative}.settings-checkbox:hover{border-color:var(--accent-color, #3b82f6)}.settings-checkbox:checked{background:var(--accent-color, #3b82f6);border-color:var(--accent-color, #3b82f6)}.settings-checkbox:checked:after{content:"";position:absolute;left:5px;top:2px;width:5px;height:9px;border:solid white;border-width:0 2px 2px 0;transform:rotate(45deg)}.settings-checkbox:focus{outline:none;box-shadow:0 0 0 3px #3b82f633}:root[data-theme=dark] .settings-checkbox{background:var(--bg-secondary, #1e293b);border-color:var(--border-color, #475569)}:root[data-theme=dark] .settings-checkbox:hover{border-color:var(--accent-color, #60a5fa)}:root[data-theme=dark] .settings-checkbox:checked{background:var(--accent-color, #60a5fa);border-color:var(--accent-color, #60a5fa)}:root[data-theme=dark] .settings-checkbox:focus{box-shadow:0 0 0 3px #60a5fa40}.storage-settings{padding:4px 0}.storage-tabs{display:flex;gap:4px;margin-bottom:16px;border-bottom:1px solid var(--border-color, #e2e8f0);padding-bottom:8px}.storage-tab{padding:8px 16px;font-size:13px;font-weight:500;color:var(--text-secondary, #64748b);background:transparent;border:1px solid transparent;border-radius:6px 6px 0 0;cursor:pointer;transition:all .15s ease}.storage-tab:hover{color:var(--text-primary, #1e293b);background:var(--bg-hover, #f1f5f9)}.storage-tab.active{color:var(--accent-color, #3b82f6);background:var(--bg-primary, #ffffff);border-color:var(--border-color, #e2e8f0);border-bottom-color:transparent}.storage-stats{display:flex;flex-wrap:wrap;gap:16px;margin-bottom:12px}.storage-stat-item{display:flex;gap:6px;font-size:13px}.storage-stat-label{color:var(--text-secondary, #64748b)}.storage-stat-value{font-weight:600;color:var(--text-primary, #1e293b)}.storage-stat-warning .storage-stat-value{color:var(--warning-color, #f59e0b)}.storage-progress{height:6px;background:var(--bg-tertiary, #e2e8f0);border-radius:3px;margin-bottom:16px;overflow:hidden}.storage-progress-bar{height:100%;background:var(--accent-color, #3b82f6);border-radius:3px;transition:width .3s ease}.storage-actions{display:flex;align-items:center;gap:8px;margin-bottom:16px}.storage-btn{padding:8px 14px;font-size:12px;font-weight:500;color:var(--text-primary, #1e293b);background:var(--bg-secondary, #f1f5f9);border:1px solid var(--border-color, #e2e8f0);border-radius:6px;cursor:pointer;transition:all .15s ease}.storage-btn:hover:not(:disabled){background:var(--bg-hover, #e2e8f0);border-color:var(--border-hover, #cbd5e1)}.storage-btn:disabled{opacity:.5;cursor:not-allowed}.storage-btn-primary{color:#fff;background:var(--accent-color, #3b82f6);border-color:var(--accent-color, #3b82f6)}.storage-btn-primary:hover:not(:disabled){background:var(--accent-hover, #2563eb);border-color:var(--accent-hover, #2563eb)}.storage-btn-danger{color:#fff;background:var(--danger-color, #ef4444);border-color:var(--danger-color, #ef4444)}.storage-btn-danger:hover:not(:disabled){background:#dc2626;border-color:#dc2626}.storage-gc-result{font-size:12px;color:var(--success-color, #22c55e);font-weight:500}.storage-list-container{border:1px solid var(--border-color, #e2e8f0);border-radius:6px;max-height:300px;overflow-y:auto}.storage-empty{padding:32px;text-align:center;color:var(--text-tertiary, #94a3b8);font-size:13px}.storage-list{font-size:12px}.storage-list-header{display:grid;grid-template-columns:1fr 60px 70px 60px 80px 60px;gap:8px;padding:10px 12px;background:var(--bg-secondary, #f8fafc);border-bottom:1px solid var(--border-color, #e2e8f0);font-weight:600;color:var(--text-secondary, #64748b);position:sticky;top:0}.storage-list-item{display:grid;grid-template-columns:1fr 60px 70px 60px 80px 60px;gap:8px;padding:8px 12px;border-bottom:1px solid var(--border-color, #e2e8f0);align-items:center;color:var(--text-primary, #1e293b)}.storage-list-item:last-child{border-bottom:none}.storage-list-item:hover{background:var(--bg-hover, #f8fafc)}.storage-col-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.storage-orphan-badge{display:inline-block;padding:2px 6px;font-size:10px;font-weight:500;color:var(--warning-color, #f59e0b);background:#f59e0b1a;border-radius:4px}.storage-orphan-badge.protected{color:var(--accent-color, #3b82f6);background:#3b82f61a}.storage-icon-tag{margin-left:6px;padding:1px 5px;font-size:9px;font-weight:600;color:var(--accent-color, #3b82f6);background:#3b82f61a;border-radius:3px;text-transform:uppercase}.storage-delete-btn{padding:4px 8px;font-size:11px;color:var(--danger-color, #ef4444);background:transparent;border:1px solid var(--danger-color, #ef4444);border-radius:4px;cursor:pointer;transition:all .15s ease}.storage-delete-btn:hover{color:#fff;background:var(--danger-color, #ef4444)}.storage-icon-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(80px,1fr));gap:8px;padding:12px}.storage-icon-item{position:relative;display:flex;flex-direction:column;align-items:center;padding:8px;border-radius:6px;background:var(--bg-secondary, #f8fafc);transition:background .15s ease}.storage-icon-item:hover{background:var(--bg-hover, #f1f5f9)}.storage-icon-preview{width:40px;height:40px;display:flex;align-items:center;justify-content:center;margin-bottom:6px}.storage-icon-image{max-width:100%;max-height:100%;object-fit:contain}.storage-icon-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:var(--text-tertiary, #94a3b8);font-size:16px}.storage-icon-info{display:flex;flex-direction:column;align-items:center;gap:2px}.storage-icon-name{font-size:10px;color:var(--text-primary, #1e293b);max-width:70px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:center}.storage-icon-type{font-size:9px;padding:1px 4px;border-radius:3px;text-transform:uppercase}.storage-icon-type.builtin{color:var(--text-secondary, #64748b);background:var(--bg-tertiary, #e2e8f0)}.storage-icon-type.custom{color:var(--accent-color, #3b82f6);background:#3b82f61a}.storage-icon-delete{position:absolute;top:4px;right:4px;width:18px;height:18px;font-size:12px;line-height:1;color:var(--text-tertiary, #94a3b8);background:transparent;border:none;border-radius:3px;cursor:pointer;opacity:0;transition:all .15s ease}.storage-icon-item:hover .storage-icon-delete{opacity:1}.storage-icon-delete:hover{color:var(--danger-color, #ef4444);background:#ef44441a}.storage-confirm-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:10001}.storage-confirm-modal{background:var(--bg-primary, #ffffff);border-radius:8px;padding:20px;max-width:360px;box-shadow:0 8px 32px #0003}.storage-confirm-title{margin:0 0 12px;font-size:16px;font-weight:600;color:var(--text-primary, #1e293b)}.storage-confirm-text{margin:0 0 8px;font-size:13px;color:var(--text-secondary, #64748b)}.storage-confirm-total{margin:0 0 16px;font-size:13px;font-weight:600;color:var(--text-primary, #1e293b)}.storage-confirm-actions{display:flex;gap:8px;justify-content:flex-end}:root[data-theme=dark] .storage-tab{color:var(--text-secondary, #94a3b8)}:root[data-theme=dark] .storage-tab:hover{color:var(--text-primary, #f1f5f9);background:var(--bg-hover, #334155)}:root[data-theme=dark] .storage-tab.active{color:var(--accent-color, #60a5fa);background:var(--bg-primary, #1e293b);border-color:var(--border-color, #334155)}:root[data-theme=dark] .storage-stat-value{color:var(--text-primary, #f1f5f9)}:root[data-theme=dark] .storage-progress{background:var(--bg-tertiary, #334155)}:root[data-theme=dark] .storage-btn{color:var(--text-primary, #f1f5f9);background:var(--bg-secondary, #1e293b);border-color:var(--border-color, #334155)}:root[data-theme=dark] .storage-btn:hover:not(:disabled){background:var(--bg-hover, #334155)}:root[data-theme=dark] .storage-list-container{border-color:var(--border-color, #334155)}:root[data-theme=dark] .storage-list-header{background:var(--bg-secondary, #1e293b);border-color:var(--border-color, #334155);color:var(--text-secondary, #94a3b8)}:root[data-theme=dark] .storage-list-item{border-color:var(--border-color, #334155);color:var(--text-primary, #f1f5f9)}:root[data-theme=dark] .storage-list-item:hover{background:var(--bg-hover, #334155)}:root[data-theme=dark] .storage-icon-item{background:var(--bg-secondary, #1e293b)}:root[data-theme=dark] .storage-icon-item:hover{background:var(--bg-hover, #334155)}:root[data-theme=dark] .storage-icon-name{color:var(--text-primary, #f1f5f9)}:root[data-theme=dark] .storage-icon-type.builtin{color:var(--text-secondary, #94a3b8);background:var(--bg-tertiary, #334155)}:root[data-theme=dark] .storage-confirm-modal{background:var(--bg-primary, #1e293b)}:root[data-theme=dark] .storage-confirm-title{color:var(--text-primary, #f1f5f9)}:root[data-theme=dark] .storage-confirm-total{color:var(--text-primary, #f1f5f9)}.style-profile-settings{padding:4px 0}.settings-description{margin:0 0 20px;font-size:13px;color:var(--text-secondary, #64748b);line-height:1.5}.settings-info-box{display:flex;gap:12px;padding:12px 14px;background:var(--bg-secondary, #f8fafc);border:1px solid var(--border-color, #e2e8f0);border-radius:6px;margin-top:24px}.settings-info-icon{flex-shrink:0;width:20px;height:20px;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:600;color:var(--accent-color, #3b82f6);background:#3b82f61a;border-radius:50%}.settings-info-content{font-size:12px;color:var(--text-secondary, #64748b);line-height:1.5}.settings-info-content strong{color:var(--text-primary, #1e293b)}:root[data-theme=dark] .settings-description{color:var(--text-secondary, #94a3b8)}:root[data-theme=dark] .settings-info-box{background:var(--bg-secondary, #1e293b);border-color:var(--border-color, #334155)}:root[data-theme=dark] .settings-info-icon{color:var(--accent-color, #60a5fa);background:#60a5fa26}:root[data-theme=dark] .settings-info-content{color:var(--text-secondary, #94a3b8)}:root[data-theme=dark] .settings-info-content strong{color:var(--text-primary, #f1f5f9)}.relay-settings{padding:4px 0}.relay-settings__intro{margin:0 0 20px;font-size:13px;color:var(--text-secondary, #64748b);line-height:1.5}.relay-settings__intro code{padding:1px 6px;font-size:12px;background:var(--color-bg, #f8fafc);border:1px solid var(--color-border, #e2e8f0);border-radius:4px}.relay-settings__panel{display:flex;flex-direction:column;gap:14px;padding:18px;background:var(--color-bg-secondary, #ffffff);border:1px solid var(--color-border, #e2e8f0);border-radius:8px}.relay-settings__status{display:inline-flex;align-items:center;gap:8px;align-self:flex-start;padding:4px 10px;font-size:12px;font-weight:600;border-radius:999px;text-transform:uppercase;letter-spacing:.5px}.relay-settings__status-dot{width:8px;height:8px;border-radius:50%;background:currentColor}.relay-settings__status--ok{color:#15803d;background:#22c55e1f}.relay-settings__status--busy{color:#b45309;background:#f59e0b1f}.relay-settings__status--idle{color:var(--text-secondary, #64748b);background:var(--color-bg, #f1f5f9)}.relay-settings__error{display:flex;align-items:flex-start;gap:8px;padding:10px 12px;font-size:13px;color:#b91c1c;background:#ef444414;border:1px solid rgba(239,68,68,.25);border-radius:6px}.relay-settings__field{display:flex;flex-direction:column;gap:6px}.relay-settings__field label{font-size:13px;font-weight:500;color:var(--text-secondary, #64748b)}.relay-settings__field input{padding:10px 12px;font-size:14px;color:var(--color-text, #1e293b);background:var(--color-bg, #ffffff);border:1px solid var(--color-border, #e2e8f0);border-radius:6px;transition:border-color .15s ease}.relay-settings__field input:focus{outline:none;border-color:var(--color-primary, #2563eb)}.relay-settings__field input:disabled{opacity:.6;cursor:not-allowed}.relay-settings__btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 16px;font-size:14px;font-weight:500;border:1px solid transparent;border-radius:6px;cursor:pointer;transition:background .15s ease,border-color .15s ease}.relay-settings__btn:disabled{opacity:.5;cursor:not-allowed}.relay-settings__btn--primary{color:#fff;background:var(--color-primary, #2563eb)}.relay-settings__btn--primary:not(:disabled):hover{background:var(--color-primary-hover, #1d4ed8)}.relay-settings__btn--secondary{color:var(--color-text, #1e293b);background:var(--color-bg, #f1f5f9);border-color:var(--color-border, #e2e8f0);align-self:flex-start}.relay-settings__btn--secondary:not(:disabled):hover{background:var(--color-bg-hover, #e2e8f0)}.relay-settings__info{display:grid;grid-template-columns:max-content 1fr;gap:6px 16px;margin:0;padding:4px 0}.relay-settings__info>div{display:contents}.relay-settings__info dt{font-size:12px;font-weight:600;color:var(--text-secondary, #64748b);text-transform:uppercase;letter-spacing:.4px}.relay-settings__info dd{margin:0;font-size:14px;color:var(--color-text, #1e293b);word-break:break-all}.relay-settings__success{display:flex;align-items:center;gap:8px;padding:10px 12px;font-size:13px;color:#15803d;background:#22c55e1a;border:1px solid rgba(34,197,94,.25);border-radius:6px}.relay-settings__btn-row{display:flex;gap:8px;flex-wrap:wrap}.relay-settings__panel+.relay-settings__panel{margin-top:12px}.relay-settings__role{margin-left:8px;padding:1px 8px;font-size:11px;font-weight:600;color:var(--text-secondary, #64748b);background:var(--color-bg, #f1f5f9);border-radius:999px;text-transform:uppercase;letter-spacing:.4px}.relay-settings__device{display:flex;flex-direction:column;align-items:center;gap:12px;text-align:center}.relay-settings__device-hint{margin:0;font-size:13px;color:var(--text-secondary, #64748b);line-height:1.5}.relay-settings__device-code{padding:10px 18px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:26px;font-weight:700;letter-spacing:4px;color:var(--color-text, #1e293b);background:var(--color-bg, #f1f5f9);border:1px solid var(--color-border, #e2e8f0);border-radius:8px}.relay-settings__device-link{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:var(--color-primary, #2563eb);text-decoration:none}.relay-settings__device-link:hover{text-decoration:underline}.relay-settings__spin{animation:relay-settings-spin .8s linear infinite}@keyframes relay-settings-spin{to{transform:rotate(360deg)}}.backup-settings{padding:4px 0}.backup-section{margin-bottom:24px;padding-bottom:20px;border-bottom:1px solid var(--border-color, #e2e8f0)}.backup-section:last-child{border-bottom:none;margin-bottom:0}.backup-section-title{margin:0 0 12px;font-size:13px;font-weight:600;color:var(--text-secondary, #64748b);text-transform:uppercase;letter-spacing:.5px}.backup-section-description{font-size:12px;color:var(--text-secondary, #64748b);margin:0 0 12px;line-height:1.5}.backup-options{display:flex;flex-direction:column;gap:8px;margin-bottom:16px}.backup-option-row{display:flex;align-items:center;gap:8px}.backup-option-row input[type=checkbox]{width:16px;height:16px;accent-color:var(--accent-color, #3b82f6);cursor:pointer;flex-shrink:0}.backup-option-label{font-size:13px;color:var(--text-primary, #1e293b);cursor:pointer;-webkit-user-select:none;user-select:none}.backup-option-label .option-detail{color:var(--text-secondary, #64748b);font-size:12px;margin-left:4px}.backup-select-actions{display:flex;gap:8px;margin-bottom:12px}.backup-link-btn{font-size:12px;color:var(--accent-color, #3b82f6);background:none;border:none;cursor:pointer;padding:0;text-decoration:underline}.backup-link-btn:hover{color:var(--accent-hover, #2563eb)}.backup-size-info{display:flex;align-items:center;gap:8px;margin-bottom:16px;font-size:13px;color:var(--text-secondary, #64748b)}.backup-size-value{font-weight:600;color:var(--text-primary, #1e293b)}.backup-last-info{font-size:12px;color:var(--text-secondary, #64748b);margin-bottom:12px}.backup-actions{display:flex;gap:8px;align-items:center}.backup-btn{padding:8px 16px;font-size:13px;font-weight:500;border-radius:6px;cursor:pointer;transition:all .15s ease;border:1px solid transparent}.backup-btn-primary{background:var(--accent-color, #3b82f6);color:#fff;border-color:var(--accent-color, #3b82f6)}.backup-btn-primary:hover:not(:disabled){background:var(--accent-hover, #2563eb)}.backup-btn-primary:disabled{opacity:.5;cursor:not-allowed}.backup-btn-danger{background:var(--error-color, #ef4444);color:#fff;border-color:var(--error-color, #ef4444)}.backup-btn-danger:hover:not(:disabled){background:#dc2626}.backup-btn-danger:disabled{opacity:.5;cursor:not-allowed}.backup-progress-container{margin:12px 0}.backup-progress-bar-track{height:6px;background:var(--bg-tertiary, #e2e8f0);border-radius:3px;overflow:hidden;margin-bottom:6px}.backup-progress-bar-fill{height:100%;background:var(--accent-color, #3b82f6);border-radius:3px;transition:width .3s ease}.backup-progress-detail{font-size:12px;color:var(--text-secondary, #64748b)}.backup-dropzone{border:2px dashed var(--border-color, #e2e8f0);border-radius:8px;padding:24px;text-align:center;cursor:pointer;transition:all .15s ease;margin-bottom:16px;background:var(--bg-secondary, #f8fafc)}.backup-dropzone:hover,.backup-dropzone.drag-active{border-color:var(--accent-color, #3b82f6);background:var(--bg-hover, #f1f5f9)}.backup-dropzone-label{font-size:13px;color:var(--text-secondary, #64748b);margin:0}.backup-dropzone-label strong{color:var(--accent-color, #3b82f6)}.backup-dropzone-hint{font-size:11px;color:var(--text-tertiary, #94a3b8);margin:4px 0 0}.backup-validation{background:var(--bg-secondary, #f8fafc);border:1px solid var(--border-color, #e2e8f0);border-radius:8px;padding:12px 16px;margin-bottom:16px}.backup-validation-title{font-size:13px;font-weight:600;color:var(--text-primary, #1e293b);margin:0 0 8px}.backup-validation-item{font-size:12px;color:var(--text-secondary, #64748b);padding:2px 0}.backup-validation-error{color:var(--error-color, #ef4444);font-size:12px;margin:8px 0 0}.backup-validation-warning{color:var(--warning-color, #f59e0b);font-size:12px;margin:4px 0 0}.backup-mode-toggle{display:flex;gap:8px;margin-bottom:16px}.backup-mode-option{flex:1;padding:10px 12px;font-size:13px;border:1px solid var(--border-color, #e2e8f0);border-radius:6px;background:var(--bg-secondary, #f8fafc);color:var(--text-primary, #1e293b);cursor:pointer;text-align:center;transition:all .15s ease}.backup-mode-option:hover{border-color:var(--accent-color, #3b82f6)}.backup-mode-option.active{border-color:var(--accent-color, #3b82f6);background:var(--accent-bg, #eff6ff);color:var(--accent-color, #3b82f6);font-weight:600}.backup-mode-description{font-size:11px;color:var(--text-tertiary, #94a3b8);margin-top:2px}.backup-mode-option.active .backup-mode-description{color:var(--accent-color, #3b82f6);opacity:.75}.backup-conflicts{margin-bottom:16px}.backup-conflicts-title{font-size:13px;font-weight:600;color:var(--warning-color, #f59e0b);margin:0 0 8px}.backup-conflict-item{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;background:var(--bg-secondary, #f8fafc);border:1px solid var(--border-color, #e2e8f0);border-radius:6px;margin-bottom:4px}.backup-conflict-info{font-size:12px;color:var(--text-primary, #1e293b)}.backup-conflict-type{font-size:11px;color:var(--text-tertiary, #94a3b8);text-transform:uppercase}.backup-conflict-select{font-size:12px;padding:4px 8px;border:1px solid var(--border-color, #e2e8f0);border-radius:4px;background:var(--bg-primary, #ffffff);color:var(--text-primary, #1e293b)}.backup-result{padding:12px 16px;border-radius:8px;font-size:13px;margin-bottom:12px}.backup-result-success{background:var(--success-bg, #f0fdf4);color:var(--success-color, #16a34a);border:1px solid var(--success-border, #bbf7d0)}.backup-result-error{background:var(--error-bg, #fef2f2);color:var(--error-color, #ef4444);border:1px solid var(--error-border, #fecaca)}.layout-settings{display:flex;flex-direction:column;gap:24px;max-width:720px}.layout-settings-header h3{margin:0 0 6px;font-size:18px}.layout-settings-header p{margin:0;color:var(--text-secondary, #6c757d);font-size:13px;line-height:1.45}.layout-settings-section{display:flex;flex-direction:column;gap:10px;padding:16px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px}.layout-settings-section h4{margin:0;font-size:14px}.layout-settings-default-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:8px}.layout-settings-default-option{display:flex;flex-direction:column;align-items:center;gap:6px;padding:10px;border:1px solid var(--border-color);border-radius:6px;background:var(--bg-primary);cursor:pointer}.layout-settings-default-option input[type=radio]{position:absolute;opacity:0;pointer-events:none}.layout-settings-default-option.active{border-color:var(--color-primary, #2196f3);box-shadow:inset 0 0 0 1px var(--color-primary, #2196f3)}.layout-settings-default-text{text-align:center}.layout-settings-default-name{font-size:12px;font-weight:600}.layout-settings-default-desc{font-size:10px;color:var(--text-secondary, #6c757d);line-height:1.3}.layout-settings-mode-header{display:flex;align-items:center;gap:12px}.layout-settings-mode-header h4{margin:0 0 2px}.layout-settings-mode-desc{margin:0;font-size:12px;color:var(--text-secondary, #6c757d)}.layout-settings-table{width:100%;border-collapse:collapse;font-size:13px}.layout-settings-table th{text-align:left;font-weight:600;font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary, #6c757d);padding:6px 8px;border-bottom:1px solid var(--border-color)}.layout-settings-table td{padding:6px 8px;border-bottom:1px solid var(--border-color)}.layout-settings-customized{margin-left:8px;font-size:11px;color:var(--color-primary, #2196f3)}.layout-settings-table select{width:100%;padding:4px 6px;font-size:13px;border:1px solid var(--border-color);border-radius:4px;background:var(--bg-primary)}.layout-settings-reset{align-self:flex-start;padding:8px 14px;font-size:13px;border:1px solid var(--border-color);border-radius:6px;background:var(--bg-primary);color:var(--text-primary);cursor:pointer}.layout-settings-reset:hover{background:var(--bg-tertiary, var(--bg-secondary))}.settings-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:10000;animation:settings-overlay-in .2s ease-out}@keyframes settings-overlay-in{0%{opacity:0}to{opacity:1}}.settings-modal{background:var(--bg-primary, #ffffff);border-radius:16px;box-shadow:0 12px 48px #00000040,0 0 0 1px #0000000d;width:850px;max-width:92vw;height:620px;max-height:88vh;display:flex;flex-direction:column;overflow:hidden;animation:settings-modal-in .25s ease-out}@keyframes settings-modal-in{0%{opacity:0;transform:scale(.96) translateY(8px)}to{opacity:1;transform:scale(1) translateY(0)}}.settings-modal.is-fullscreen{width:100vw;max-width:none;height:100vh;max-height:none;border-radius:0;transition:border-radius .2s ease}.settings-modal-header-actions{display:flex;align-items:center;gap:4px}.settings-modal-fullscreen{width:34px;height:34px;display:flex;align-items:center;justify-content:center;padding:0;border:none;border-radius:8px;background:transparent;color:var(--text-secondary, #64748b);cursor:pointer;transition:all .15s ease}.settings-modal-fullscreen:hover{background:var(--bg-secondary, #f1f5f9);color:var(--text-primary, #1e293b);transform:scale(1.05)}.settings-modal-header{display:flex;align-items:center;justify-content:space-between;padding:18px 24px;background:linear-gradient(135deg,var(--bg-secondary, #f8f9fa) 0%,var(--bg-primary, #ffffff) 100%);border-bottom:1px solid var(--border-color, #e2e8f0);flex-shrink:0}.settings-modal-header h2{margin:0;font-size:20px;font-weight:700;color:var(--text-primary, #1e293b);letter-spacing:-.02em}.settings-modal-close{width:34px;height:34px;display:flex;align-items:center;justify-content:center;padding:0;border:none;border-radius:8px;background:transparent;color:var(--text-secondary, #64748b);font-size:22px;cursor:pointer;transition:all .15s ease}.settings-modal-close:hover{background:#ef44441a;color:#ef4444;transform:scale(1.05)}.settings-modal-body{display:flex;flex:1;min-height:0;overflow:hidden}.settings-modal-sidebar{width:210px;background:var(--bg-secondary, #f8fafc);border-right:1px solid var(--border-color, #e2e8f0);padding:16px 10px;flex-shrink:0;overflow-y:auto;display:flex;flex-direction:column;gap:4px}.settings-tab-btn{display:flex;align-items:center;gap:12px;width:100%;padding:12px 14px;border:none;border-radius:10px;background:transparent;color:var(--text-secondary, #64748b);font-size:14px;font-weight:500;text-align:left;cursor:pointer;transition:all .15s ease;position:relative}.settings-tab-btn:before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%) scaleY(0);width:3px;height:60%;border-radius:0 3px 3px 0;background:var(--accent-color, #3b82f6);transition:transform .2s ease}.settings-tab-btn:hover{background:var(--bg-hover, #f1f5f9);color:var(--text-primary, #1e293b)}.settings-tab-btn.active{background:linear-gradient(135deg,#3b82f61f,#3b82f60f);color:var(--accent-color, #3b82f6);font-weight:600}.settings-tab-btn.active:before{transform:translateY(-50%) scaleY(1)}.settings-tab-icon{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:6px;transition:all .2s ease}.settings-tab-btn:nth-child(1) .settings-tab-icon{color:#3b82f6;filter:drop-shadow(0 0 8px rgba(59,130,246,.4))}.settings-tab-btn:nth-child(1).active .settings-tab-icon{filter:drop-shadow(0 0 12px rgba(59,130,246,.6))}.settings-tab-btn:nth-child(2) .settings-tab-icon{color:#8b5cf6;filter:drop-shadow(0 0 8px rgba(139,92,246,.4))}.settings-tab-btn:nth-child(2).active .settings-tab-icon{filter:drop-shadow(0 0 12px rgba(139,92,246,.6))}.settings-tab-btn:nth-child(3) .settings-tab-icon{color:#10b981;filter:drop-shadow(0 0 8px rgba(16,185,129,.4))}.settings-tab-btn:nth-child(3).active .settings-tab-icon{filter:drop-shadow(0 0 12px rgba(16,185,129,.6))}.settings-tab-btn:nth-child(4) .settings-tab-icon{color:#f59e0b;filter:drop-shadow(0 0 8px rgba(245,158,11,.4))}.settings-tab-btn:nth-child(4).active .settings-tab-icon{filter:drop-shadow(0 0 12px rgba(245,158,11,.6))}.settings-tab-btn:nth-child(5) .settings-tab-icon{color:#ef4444;filter:drop-shadow(0 0 8px rgba(239,68,68,.4))}.settings-tab-btn:nth-child(5).active .settings-tab-icon{filter:drop-shadow(0 0 12px rgba(239,68,68,.6))}.settings-tab-btn:nth-child(6) .settings-tab-icon{color:#ec4899;filter:drop-shadow(0 0 8px rgba(236,72,153,.4))}.settings-tab-btn:nth-child(6).active .settings-tab-icon{filter:drop-shadow(0 0 12px rgba(236,72,153,.6))}.settings-tab-btn:nth-child(7) .settings-tab-icon{color:#06b6d4;filter:drop-shadow(0 0 8px rgba(6,182,212,.4))}.settings-tab-btn:nth-child(7).active .settings-tab-icon{filter:drop-shadow(0 0 12px rgba(6,182,212,.6))}.settings-tab-label{flex:1}.settings-modal-content{flex:1;min-width:0;overflow:auto;padding:24px;background:var(--bg-primary, #ffffff);display:flex;flex-direction:column}.settings-section{margin-bottom:32px}.settings-section:last-child{margin-bottom:0}.settings-section__header{display:flex;align-items:center;gap:12px;margin-bottom:20px;padding-bottom:12px;border-bottom:1px solid var(--border-color, #e2e8f0)}.settings-section__title{font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary, #64748b);margin:0}.settings-section__content{display:flex;flex-direction:column;gap:16px}.settings-form-row{display:grid;grid-template-columns:140px 1fr;gap:16px;align-items:start}.settings-form-row--full{grid-template-columns:1fr}.settings-form-label{font-size:14px;font-weight:500;color:var(--text-primary, #1e293b);text-align:right;padding-top:8px}.settings-form-field{display:flex;flex-direction:column;gap:6px}.settings-form-input{padding:10px 14px;font-size:14px;color:var(--text-primary, #1e293b);background:var(--bg-primary, #ffffff);border:1px solid var(--border-color, #e2e8f0);border-radius:8px;outline:none;transition:all .15s ease}.settings-form-input:focus{border-color:var(--accent-color, #3b82f6);box-shadow:0 0 0 3px #3b82f61a}.settings-form-description{font-size:12px;color:var(--text-secondary, #64748b);margin:0;line-height:1.4}[data-theme=dark] .settings-section__header{border-bottom-color:var(--border-color, #334155)}[data-theme=dark] .settings-section__title{color:var(--text-secondary, #94a3b8)}[data-theme=dark] .settings-form-input{background:var(--bg-secondary, #0f172a);border-color:var(--border-color, #334155)}[data-theme=dark] .settings-form-input:focus{border-color:#60a5fa;box-shadow:0 0 0 3px #60a5fa26}.settings-modal-content::-webkit-scrollbar{width:8px}.settings-modal-content::-webkit-scrollbar-track{background:transparent}.settings-modal-content::-webkit-scrollbar-thumb{background:var(--border-color, #e2e8f0);border-radius:4px}.settings-modal-content::-webkit-scrollbar-thumb:hover{background:var(--text-secondary, #94a3b8)}[data-theme=dark] .settings-modal-overlay{background:#000000b3}[data-theme=dark] .settings-modal{background:var(--bg-primary, #0f172a);box-shadow:0 12px 48px #00000080,0 0 0 1px #ffffff0d}[data-theme=dark] .settings-modal-header{background:linear-gradient(135deg,var(--bg-secondary, #1e293b) 0%,var(--bg-primary, #0f172a) 100%);border-color:var(--border-color, #334155)}[data-theme=dark] .settings-modal-header h2{color:var(--text-primary, #f1f5f9)}[data-theme=dark] .settings-modal-close{color:var(--text-secondary, #94a3b8)}[data-theme=dark] .settings-modal-close:hover{background:#ef444433;color:#f87171}[data-theme=dark] .settings-modal-sidebar{background:var(--bg-secondary, #1e293b);border-color:var(--border-color, #334155)}[data-theme=dark] .settings-tab-btn{color:var(--text-secondary, #94a3b8)}[data-theme=dark] .settings-tab-btn:hover{background:#ffffff0d;color:var(--text-primary, #f1f5f9)}[data-theme=dark] .settings-tab-btn.active{background:linear-gradient(135deg,#60a5fa26,#60a5fa14);color:#60a5fa}[data-theme=dark] .settings-tab-btn.active:before{background:#60a5fa}[data-theme=dark] .settings-modal-content{background:var(--bg-primary, #0f172a)}[data-theme=dark] .settings-modal-content::-webkit-scrollbar-thumb{background:var(--border-color, #334155)}[data-theme=dark] .settings-modal-content::-webkit-scrollbar-thumb:hover{background:var(--text-secondary, #64748b)}@media (max-width: 640px){.settings-modal{width:100%;height:100%;max-width:100%;max-height:100%;border-radius:0}.settings-modal-sidebar{width:170px;padding:12px 8px}.settings-tab-btn{padding:10px 12px;font-size:13px}.settings-tab-icon{font-size:16px}}.settings-server-badge{margin-top:auto;display:flex;align-items:center;gap:8px;padding:8px 12px;border:1px solid var(--border-color, #e2e8f0);border-radius:8px;background:var(--bg-secondary, #f8fafc);color:var(--text-primary, #1e293b);font-size:13px;font-weight:500;cursor:pointer;transition:background .15s ease,border-color .15s ease}.settings-server-badge:hover:not(:disabled){background:var(--bg-primary, #ffffff)}.settings-server-badge:disabled{cursor:progress;opacity:.7}.settings-server-badge.is-online{border-color:#22c55e73;background:#22c55e14;color:#15803d}.settings-server-badge.is-offline{border-color:#94a3b880}.settings-server-badge__dot{width:8px;height:8px;border-radius:50%;background:#94a3b8;box-shadow:0 0 #0000}.settings-server-badge__dot.is-online{background:#22c55e;box-shadow:0 0 0 3px #22c55e2e}[data-theme=dark] .settings-server-badge{background:#ffffff0a;border-color:var(--border-color, #334155);color:var(--text-primary, #f1f5f9)}[data-theme=dark] .settings-server-badge.is-online{background:#22c55e1f;border-color:#22c55e8c;color:#4ade80}.shape-picker{position:relative;display:inline-block}.shape-picker-trigger{display:flex;align-items:center;gap:4px;padding:4px 8px;background:transparent;border:none;border-radius:4px;color:var(--text-primary);cursor:pointer;transition:all .15s;height:32px}.shape-picker-trigger:hover,.shape-picker-trigger.open{background:var(--bg-tertiary)}.shape-picker-trigger.active{background:var(--color-primary);color:#fff}.shape-picker-trigger.active:hover{background:var(--color-primary-dark)}.shape-picker-trigger-icon{font-size:16px;line-height:1}.shape-picker-chevron{font-size:8px;color:var(--text-muted)}.shape-picker-trigger.active .shape-picker-chevron{color:#fffc}.shape-picker-dropdown{position:absolute;top:100%;left:0;margin-top:4px;min-width:280px;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:8px;box-shadow:0 4px 12px #00000026;z-index:200;overflow:hidden}.shape-picker-header{display:flex;align-items:center;justify-content:space-between;padding:8px;border-bottom:1px solid var(--border-color);background:var(--bg-secondary);gap:8px}.shape-picker-categories{display:flex;flex-wrap:wrap;gap:2px;flex:1}.shape-picker-category{padding:4px 10px;background:transparent;border:none;border-radius:4px;color:var(--text-secondary);font-size:11px;cursor:pointer;transition:all .15s}.shape-picker-category:hover{background:var(--bg-tertiary);color:var(--text-primary)}.shape-picker-category.active{background:var(--color-primary);color:#fff}.shape-picker-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(64px,1fr));gap:4px;padding:8px;max-height:240px;overflow-y:auto}.shape-picker-item{display:flex;flex-direction:column;align-items:center;gap:4px;padding:8px 4px;background:transparent;border:1px solid transparent;border-radius:6px;cursor:pointer;transition:all .15s}.shape-picker-item:hover{background:var(--bg-tertiary);border-color:var(--border-color)}.shape-picker-item.selected{background:var(--color-primary-light);border-color:var(--color-primary)}.shape-picker-item-name{font-size:9px;color:var(--text-secondary);text-align:center;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.shape-picker-empty{grid-column:1 / -1;text-align:center;padding:24px 16px;color:var(--text-muted);font-size:12px}.shape-preview-canvas{display:block}[data-theme=dark] .shape-picker-dropdown{box-shadow:0 4px 12px #0006}.shape-picker-view-options{display:flex;gap:2px;flex-shrink:0}.shape-picker-view-btn{padding:4px 6px;background:transparent;border:none;border-radius:4px;color:var(--text-muted);font-size:10px;cursor:pointer;transition:all .15s;line-height:1}.shape-picker-view-btn:hover{background:var(--bg-tertiary);color:var(--text-primary)}.shape-picker-view-btn.active{background:var(--color-primary);color:#fff}.shape-picker-grid.size-small{grid-template-columns:repeat(auto-fill,minmax(64px,1fr))}.shape-picker-grid.size-small .shape-picker-item-name{font-size:9px}.shape-picker-grid.size-medium{grid-template-columns:repeat(auto-fill,minmax(90px,1fr))}.shape-picker-grid.size-medium .shape-picker-item-name{font-size:10px}.shape-picker-grid.size-large{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));max-height:320px}.shape-picker-grid.size-large .shape-picker-item-name{font-size:11px}.shape-picker-hint{padding:4px 8px 6px;font-size:10px;color:var(--color-text-muted, #666);text-align:center;border-top:1px solid var(--color-border, #333)}.custom-shape-picker{position:relative;display:inline-block}.custom-shape-picker-trigger{display:flex;align-items:center;gap:4px;padding:4px 8px;background:transparent;border:none;border-radius:4px;color:var(--text-primary);cursor:pointer;transition:all .15s;height:32px}.custom-shape-picker-trigger:hover,.custom-shape-picker-trigger.open{background:var(--bg-tertiary)}.custom-shape-picker-trigger.active{background:var(--color-primary);color:#fff}.custom-shape-picker-trigger.active:hover{background:var(--color-primary-dark)}.custom-shape-picker-trigger-icon{font-size:16px;line-height:1;display:flex;align-items:center;justify-content:center}.custom-shape-picker-trigger-thumb{width:18px;height:18px;object-fit:contain;border-radius:2px}.custom-shape-picker-chevron{font-size:8px;color:var(--text-muted)}.custom-shape-picker-trigger.active .custom-shape-picker-chevron{color:#fffc}.custom-shape-picker-dropdown{position:absolute;top:100%;left:0;margin-top:4px;min-width:280px;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:8px;box-shadow:0 4px 12px #00000026;z-index:200;overflow:hidden}.custom-shape-picker-header{display:flex;align-items:center;justify-content:space-between;padding:8px;border-bottom:1px solid var(--border-color);background:var(--bg-secondary);gap:8px}.custom-shape-picker-libraries{display:flex;flex-wrap:wrap;gap:2px;flex:1}.custom-shape-picker-library{padding:4px 10px;background:transparent;border:none;border-radius:4px;color:var(--text-secondary);font-size:11px;cursor:pointer;transition:all .15s}.custom-shape-picker-library:hover{background:var(--bg-tertiary);color:var(--text-primary)}.custom-shape-picker-library.active{background:var(--color-primary);color:#fff}.custom-shape-picker-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(72px,1fr));gap:4px;padding:8px;max-height:240px;overflow-y:auto}.custom-shape-picker-item{display:flex;flex-direction:column;align-items:center;gap:4px;padding:8px 4px;background:transparent;border:1px solid transparent;border-radius:6px;cursor:pointer;transition:all .15s}.custom-shape-picker-item:hover{background:var(--bg-tertiary);border-color:var(--border-color)}.custom-shape-picker-item.selected{background:var(--color-primary-light);border-color:var(--color-primary)}.custom-shape-picker-item-preview{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:var(--bg-secondary);border-radius:4px;overflow:hidden}.custom-shape-picker-item-preview img{max-width:100%;max-height:100%;object-fit:contain}.custom-shape-picker-item-placeholder{font-size:20px;color:var(--text-muted)}.custom-shape-picker-item-name{font-size:9px;color:var(--text-secondary);text-align:center;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.custom-shape-picker-empty{grid-column:1 / -1;text-align:center;padding:24px 16px;color:var(--text-muted);font-size:12px;line-height:1.5}.custom-shape-picker-hint{font-size:11px;color:var(--text-muted);opacity:.8}[data-theme=dark] .custom-shape-picker-dropdown{box-shadow:0 4px 12px #0006}[data-theme=dark] .custom-shape-picker-item-preview{background:var(--bg-tertiary)}.custom-shape-picker-view-options{display:flex;gap:2px;flex-shrink:0}.custom-shape-picker-view-btn{padding:4px 6px;background:transparent;border:none;border-radius:4px;color:var(--text-muted);font-size:10px;cursor:pointer;transition:all .15s;line-height:1}.custom-shape-picker-view-btn:hover{background:var(--bg-tertiary);color:var(--text-primary)}.custom-shape-picker-view-btn.active{background:var(--color-primary);color:#fff}.custom-shape-picker-grid.size-small{grid-template-columns:repeat(auto-fill,minmax(72px,1fr))}.custom-shape-picker-grid.size-small .custom-shape-picker-item-preview{width:40px;height:40px}.custom-shape-picker-grid.size-small .custom-shape-picker-item-name{font-size:9px}.custom-shape-picker-grid.size-medium{grid-template-columns:repeat(auto-fill,minmax(100px,1fr))}.custom-shape-picker-grid.size-medium .custom-shape-picker-item-preview{width:64px;height:64px}.custom-shape-picker-grid.size-medium .custom-shape-picker-item-name{font-size:10px}.custom-shape-picker-grid.size-medium .custom-shape-picker-item-placeholder{font-size:28px}.custom-shape-picker-grid.size-large{grid-template-columns:repeat(auto-fill,minmax(140px,1fr))}.custom-shape-picker-grid.size-large .custom-shape-picker-item-preview{width:96px;height:96px}.custom-shape-picker-grid.size-large .custom-shape-picker-item-name{font-size:11px}.custom-shape-picker-grid.size-large .custom-shape-picker-item-placeholder{font-size:40px}.custom-shape-picker-grid.size-large{max-height:320px}.file-import-hidden-input{position:absolute;width:0;height:0;opacity:0;pointer-events:none;overflow:hidden}.file-import-btn.importing{opacity:.6;cursor:wait}.file-import-spinner{display:block}.layout-selector-wrapper{position:relative;display:inline-flex;align-items:center}.layout-selector-chip{display:inline-flex;align-items:center;gap:6px;height:28px;padding:0 8px;border:1px solid var(--border-color);border-radius:6px;background:var(--bg-primary);color:var(--text-primary, #212529);cursor:pointer;font-size:12px;font-weight:500;transition:background-color .12s ease,border-color .12s ease}.layout-selector-chip:hover,.layout-selector-chip.open,.layout-selector-chip:focus-visible{background:var(--bg-secondary);border-color:var(--color-primary, #2196f3);outline:none}.layout-selector-chip-label{white-space:nowrap}.layout-selector-chip-chevron{font-size:10px;opacity:.6}.layout-selector-dropdown{position:absolute;top:calc(100% + 6px);right:0;width:320px;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:8px;box-shadow:0 10px 30px #0000002e;z-index:1000;padding:6px}.layout-selector-list{display:flex;flex-direction:column;gap:2px}.layout-selector-option{display:flex;align-items:center;gap:10px;padding:8px;border:none;background:transparent;border-radius:6px;cursor:pointer;text-align:left;color:var(--text-primary, #212529);width:100%}.layout-selector-option:hover,.layout-selector-option:focus-visible{background:var(--bg-secondary);outline:none}.layout-selector-option.active{background:var(--bg-secondary)}.layout-selector-option-text{flex:1 1 auto;display:flex;flex-direction:column;gap:2px;min-width:0}.layout-selector-option-title{display:flex;align-items:baseline;justify-content:space-between;font-size:13px;font-weight:600;gap:8px}.layout-selector-option-shortcut{font-size:11px;font-weight:400;color:var(--text-secondary, #6c757d);font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.layout-selector-option-desc{font-size:11px;color:var(--text-secondary, #6c757d);line-height:1.3}.layout-selector-footer{display:flex;flex-direction:column;gap:2px;margin-top:4px;padding-top:6px;border-top:1px solid var(--border-color)}.layout-selector-footer-item{display:flex;align-items:center;gap:8px;padding:7px 10px;border:none;background:transparent;color:var(--text-primary, #212529);font-size:12px;text-align:left;cursor:pointer;border-radius:6px;width:100%}.layout-selector-footer-item:hover,.layout-selector-footer-item:focus-visible{background:var(--bg-secondary);outline:none}.layout-selector-toggle{cursor:pointer}.layout-selector-toggle input[type=checkbox]{margin:0;cursor:pointer}.unified-toolbar{display:flex;align-items:center;height:44px;padding:0 12px;background:var(--bg-secondary, #f8f9fa);border-bottom:1px solid var(--border-color, #dee2e6);gap:8px}.unified-toolbar-left{display:flex;align-items:center;gap:8px}.unified-toolbar-center{flex:0 0 auto;display:flex;align-items:center;justify-content:center}.unified-toolbar-right{flex:1;display:flex;align-items:center;justify-content:flex-end;gap:8px;min-width:0}.toolbar-divider{width:1px;height:24px;background:var(--border-color, #dee2e6)}.tool-buttons{display:flex;gap:2px}.tool-button-wrapper{position:relative}.tool-button{width:32px;height:32px;padding:0;display:flex;align-items:center;justify-content:center;background:transparent;border:1px solid transparent;border-radius:6px;cursor:pointer;transition:all .15s ease}.tool-button:hover{background:var(--bg-hover, #e9ecef)}.tool-button.active{background:var(--color-primary-light, #e7f1ff);border-color:var(--color-primary, #2196f3);color:var(--color-primary, #2196f3)}.tool-button:focus{outline:none;box-shadow:0 0 0 2px #2196f333}.tool-button-icon{font-size:1rem;line-height:1;color:var(--text-primary, #495057)}.tool-button-tooltip{position:absolute;top:100%;left:50%;transform:translate(-50%);margin-top:6px;padding:4px 8px;background:var(--bg-tertiary, #333);color:var(--text-primary, #fff);font-size:.75rem;border-radius:4px;white-space:nowrap;z-index:1000;pointer-events:none;box-shadow:0 2px 8px #00000026;display:flex;align-items:center;gap:6px}.tool-button-tooltip-shortcut{padding:1px 4px;background:#fff3;border-radius:3px;font-size:.625rem;font-weight:600}.file-menu-button{position:relative}.file-menu-trigger{display:flex;align-items:center;gap:4px;padding:6px 10px;font-size:.8125rem;font-weight:500;color:var(--text-primary, #495057);background:transparent;border:1px solid transparent;border-radius:6px;cursor:pointer;transition:all .15s ease}.file-menu-trigger:hover,.file-menu-trigger.open{background:var(--bg-hover, #e9ecef)}.file-menu-arrow{font-size:.5rem;opacity:.6}.file-menu-dropdown{position:absolute;top:100%;left:0;margin-top:4px;min-width:180px;padding:4px;background:var(--bg-primary, #ffffff);border:1px solid var(--border-color, #dee2e6);border-radius:8px;box-shadow:0 4px 16px #0000001f;z-index:1000}.file-menu-dropdown button{display:flex;align-items:center;justify-content:space-between;width:100%;padding:8px 12px;font-size:.8125rem;color:var(--text-primary, #495057);background:transparent;border:none;border-radius:4px;cursor:pointer;text-align:left}.file-menu-dropdown button:hover{background:var(--bg-hover, #e9ecef)}.file-menu-shortcut{font-size:.6875rem;color:var(--text-secondary, #6c757d)}.file-menu-divider{height:1px;margin:4px 0;background:var(--border-color, #dee2e6)}.document-info{display:flex;align-items:center;gap:6px}.document-name-button{padding:4px 8px;font-size:.8125rem;font-weight:500;color:var(--text-primary, #495057);background:transparent;border:1px solid transparent;border-radius:4px;cursor:pointer;transition:all .15s ease;max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.document-name-button:hover{background:var(--bg-hover, #e9ecef);border-color:var(--border-color, #dee2e6)}.document-name-input{padding:4px 8px;font-size:.8125rem;font-weight:500;color:var(--text-primary, #495057);background:var(--bg-primary, #ffffff);border:1px solid var(--color-primary, #2196f3);border-radius:4px;outline:none;max-width:200px}.document-status{display:flex;align-items:center;justify-content:center;font-size:.875rem;cursor:default}.document-status.dirty{color:#f59e0b;cursor:pointer}.document-status.saving{color:var(--color-primary, #4a90d9)}.document-status.saved{color:#10b981}.status-icon{display:block}.status-icon.saving-spin{animation:spin 1s linear infinite}.status-icon.saved-check .check-path{stroke-dasharray:20;stroke-dashoffset:20;animation:draw-check .4s ease-out forwards}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes draw-check{to{stroke-dashoffset:0}}.inline-page-tabs{display:flex;align-items:center;gap:4px;max-width:400px;min-width:150px;position:relative}.inline-tabs-scroll{display:flex;gap:2px;overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none}.inline-tabs-scroll::-webkit-scrollbar{display:none}.inline-tab{padding:4px 10px;font-size:.75rem;color:var(--text-secondary, #6c757d);background:transparent;border:1px solid transparent;border-radius:4px;cursor:pointer;white-space:nowrap;transition:all .15s ease;flex-shrink:0}.inline-tab:hover{background:var(--bg-hover, #e9ecef);color:var(--text-primary, #495057)}.inline-tab.active{background:var(--color-primary-light, #e7f1ff);color:var(--color-primary, #2196f3);border-color:var(--color-primary, #2196f3);font-weight:500}.inline-tab-add{width:24px;height:24px;padding:0;font-size:1rem;color:var(--text-secondary, #6c757d);background:transparent;border:1px dashed var(--border-color, #dee2e6);border-radius:4px;cursor:pointer;transition:all .15s ease;flex-shrink:0}.inline-tab-add:hover{background:var(--bg-hover, #e9ecef);color:var(--color-primary, #2196f3);border-color:var(--color-primary, #2196f3)}.toolbar-action-button{width:32px;height:32px;padding:0;display:flex;align-items:center;justify-content:center;font-size:1rem;color:var(--text-secondary, #6c757d);background:transparent;border:1px solid transparent;border-radius:6px;cursor:pointer;transition:all .15s ease}.toolbar-action-button:hover{background:var(--bg-hover, #e9ecef);color:var(--text-primary, #495057)}.toolbar-action-button:focus{outline:none;box-shadow:0 0 0 2px #2196f333}.toolbar-action-group{display:flex;align-items:center;gap:4px}.toolbar-icon-btn{width:32px;height:32px;padding:0;display:flex;align-items:center;justify-content:center;color:var(--text-secondary, #6c757d);background:transparent;border:1px solid transparent;border-radius:6px;cursor:pointer;transition:all .15s ease}.toolbar-icon-btn:hover{background:var(--bg-hover, #e9ecef);color:var(--text-primary, #495057)}.toolbar-icon-btn:focus{outline:none;box-shadow:0 0 0 2px #2196f333}.toolbar-icon-btn svg{width:16px;height:16px}.toolbar-rebuild-btn{width:28px;height:28px;padding:0;display:flex;align-items:center;justify-content:center;font-size:1rem;color:var(--text-secondary, #6c757d);background:transparent;border:1px solid var(--border-color, #dee2e6);border-radius:6px;cursor:pointer;transition:all .15s ease}.toolbar-rebuild-btn:hover{background:var(--bg-hover, #e9ecef);color:var(--color-primary, #2196f3);border-color:var(--color-primary, #2196f3)}.toolbar-rebuild-btn:focus{outline:none;box-shadow:0 0 0 2px #2196f333}.toolbar-rebuild-btn:active{transform:rotate(180deg)}.toolbar-action-btn{width:28px;height:28px;padding:0;display:flex;align-items:center;justify-content:center;color:var(--text-secondary, #6c757d);background:transparent;border:1px solid var(--border-color, #dee2e6);border-radius:6px;cursor:pointer;transition:all .15s ease}.toolbar-action-btn:hover:not(:disabled){background:var(--bg-hover, #e9ecef);color:var(--color-primary, #2196f3);border-color:var(--color-primary, #2196f3)}.toolbar-action-btn:disabled{opacity:.35;cursor:default}.toolbar-action-btn:focus{outline:none;box-shadow:0 0 0 2px #2196f333}.toolbar-help-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;color:var(--text-secondary, #6c757d);background:transparent;border:1px solid transparent;border-radius:6px;cursor:pointer;transition:all .15s ease}.toolbar-help-btn:hover{background:var(--bg-hover, #e9ecef);border-color:var(--border-color, #dee2e6);color:var(--color-primary, #2196f3)}.toolbar-help-btn:focus{outline:none;box-shadow:0 0 0 2px #2196f333}.toolbar-help-btn svg{width:16px;height:16px}.toolbar-whiteboard-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;color:var(--text-primary, #495057);background:transparent;border:none;border-radius:4px;cursor:pointer;transition:all .15s ease}.toolbar-whiteboard-btn:hover{background:var(--bg-hover, #e9ecef);color:var(--color-primary, #2196f3)}.toolbar-whiteboard-btn:focus{outline:none;box-shadow:0 0 0 2px #2196f333}.toolbar-whiteboard-btn svg{width:16px;height:16px}.toolbar-settings-btn{display:flex;align-items:center;gap:6px;padding:6px 12px;font-size:.8125rem;font-weight:500;color:var(--text-primary, #495057);background:var(--bg-primary, #ffffff);border:1px solid var(--border-color, #dee2e6);border-radius:6px;cursor:pointer;transition:all .15s ease}.toolbar-settings-btn:hover{background:var(--bg-hover, #e9ecef);border-color:var(--color-primary, #2196f3);color:var(--color-primary, #2196f3)}.toolbar-settings-btn:focus{outline:none;box-shadow:0 0 0 2px #2196f333}.toolbar-settings-btn svg{width:14px;height:14px;flex-shrink:0}[data-theme=dark] .unified-toolbar{background:var(--bg-secondary, #252526);border-bottom-color:var(--border-color, #404040)}[data-theme=dark] .tool-button,[data-theme=dark] .tool-button-icon{color:var(--text-primary, #cccccc)}[data-theme=dark] .tool-button:hover{background:var(--bg-hover, #3c3c3c)}[data-theme=dark] .tool-button.active{background:var(--color-primary-light, #0d3868)}[data-theme=dark] .tool-button-tooltip{background:var(--bg-tertiary, #1e1e1e);color:var(--text-primary, #cccccc)}[data-theme=dark] .file-menu-trigger:hover,[data-theme=dark] .file-menu-trigger.open{background:var(--bg-hover, #3c3c3c)}[data-theme=dark] .file-menu-dropdown{background:var(--bg-primary, #1e1e1e);border-color:var(--border-color, #404040);box-shadow:0 4px 16px #0006}[data-theme=dark] .file-menu-dropdown button:hover{background:var(--bg-hover, #3c3c3c)}[data-theme=dark] .document-name-button:hover{background:var(--bg-hover, #3c3c3c);border-color:var(--border-color, #404040)}[data-theme=dark] .document-name-input{background:var(--bg-primary, #1e1e1e)}[data-theme=dark] .inline-tab:hover{background:var(--bg-hover, #3c3c3c)}[data-theme=dark] .inline-tab.active{background:var(--color-primary-light, #0d3868)}[data-theme=dark] .inline-tab-add:hover,[data-theme=dark] .toolbar-action-button:hover{background:var(--bg-hover, #3c3c3c)}.inline-tab-context-menu{position:fixed;min-width:120px;padding:4px;background:var(--bg-primary, #ffffff);border:1px solid var(--border-color, #dee2e6);border-radius:6px;box-shadow:0 4px 12px #00000026;z-index:2000}.inline-tab-context-menu button{display:block;width:100%;padding:6px 10px;font-size:.75rem;color:var(--text-primary, #495057);background:transparent;border:none;border-radius:4px;cursor:pointer;text-align:left}.inline-tab-context-menu button:hover{background:var(--bg-hover, #e9ecef)}.inline-tab-context-menu button.disabled{color:var(--text-muted, #adb5bd);cursor:not-allowed}.inline-tab-context-menu button.disabled:hover{background:transparent}.inline-tab-input{width:60px;padding:2px 4px;font-size:.75rem;color:var(--text-primary, #495057);background:var(--bg-primary, #ffffff);border:1px solid var(--color-primary, #2196f3);border-radius:3px;outline:none}[data-theme=dark] .inline-tab-context-menu{background:var(--bg-primary, #1e1e1e);border-color:var(--border-color, #404040);box-shadow:0 4px 12px #0006}[data-theme=dark] .inline-tab-context-menu button:hover{background:var(--bg-hover, #3c3c3c)}[data-theme=dark] .inline-tab-input{background:var(--bg-primary, #1e1e1e);color:var(--text-primary, #cccccc)}[data-theme=dark] .toolbar-icon-btn{color:var(--text-secondary, #94a3b8)}[data-theme=dark] .toolbar-icon-btn:hover{background:var(--bg-hover, #3c3c3c);color:var(--text-primary, #cccccc)}[data-theme=dark] .toolbar-rebuild-btn{color:var(--text-secondary, #94a3b8);border-color:var(--border-color, #404040)}[data-theme=dark] .toolbar-rebuild-btn:hover{background:var(--bg-hover, #3c3c3c);color:var(--color-primary, #60a5fa);border-color:var(--color-primary, #60a5fa)}[data-theme=dark] .toolbar-action-btn{color:var(--text-secondary, #94a3b8);border-color:var(--border-color, #404040)}[data-theme=dark] .toolbar-action-btn:hover:not(:disabled){background:var(--bg-hover, #3c3c3c);color:var(--color-primary, #60a5fa);border-color:var(--color-primary, #60a5fa)}[data-theme=dark] .toolbar-help-btn{color:var(--text-secondary, #8b8b8b)}[data-theme=dark] .toolbar-help-btn:hover{background:var(--bg-hover, #3c3c3c);border-color:var(--border-color, #404040);color:var(--color-primary, #60a5fa)}[data-theme=dark] .toolbar-settings-btn{color:var(--text-primary, #cccccc);background:var(--bg-secondary, #2d2d2d);border-color:var(--border-color, #404040)}[data-theme=dark] .toolbar-settings-btn:hover{background:var(--bg-hover, #3c3c3c);color:var(--color-primary, #60a5fa);border-color:var(--color-primary, #60a5fa)}[data-theme=dark] .toolbar-whiteboard-btn{color:var(--text-secondary, #8b8b8b)}[data-theme=dark] .toolbar-whiteboard-btn:hover{background:var(--bg-hover, #3c3c3c);color:var(--color-primary, #60a5fa)}.status-bar{display:flex;align-items:center;justify-content:space-between;height:24px;padding:0 12px;background:var(--bg-secondary, #f8f9fa);border-top:1px solid var(--border-color, #dee2e6);font-size:.6875rem;color:var(--text-secondary, #6c757d)}.status-bar-section{display:flex;align-items:center;gap:6px}.status-bar-left{min-width:120px}.status-bar-center{flex:0 0 auto}.status-bar-right{min-width:120px;justify-content:flex-end}.status-bar-label{color:var(--text-muted, #adb5bd)}.status-bar-value{font-family:SF Mono,Menlo,Monaco,Consolas,monospace;color:var(--text-primary, #495057);min-width:40px}.status-bar-info{display:flex;align-items:center;gap:4px}.status-bar-tool{color:var(--color-primary, #2196f3);font-weight:500}.status-bar-drill-badge{display:inline-flex;align-items:center;gap:4px;padding:1px 6px;font-size:.625rem;font-weight:500;color:var(--color-primary, #2196f3);background:#2196f31f;border:1px solid rgba(33,150,243,.4);border-radius:10px;cursor:pointer;transition:background .15s ease,border-color .15s ease}.status-bar-drill-badge:hover{background:#2196f338;border-color:var(--color-primary, #2196f3)}.status-bar-drill-badge-x{margin-left:2px;font-size:.75rem;line-height:1;opacity:.7}.status-bar-sync{display:flex;align-items:center;gap:4px;color:var(--color-warning, #f59e0b);font-weight:500;animation:pulse 1.5s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.6}}.status-bar-divider{width:1px;height:12px;background:var(--border-color, #dee2e6);margin:0 4px}.status-bar-zoom-btn{width:20px;height:18px;padding:0;font-size:.75rem;font-weight:600;color:var(--text-secondary, #6c757d);background:var(--bg-tertiary, #e9ecef);border:1px solid var(--border-color, #dee2e6);border-radius:3px;cursor:pointer;transition:all .15s ease}.status-bar-zoom-btn:hover{background:var(--bg-hover, #e9ecef);color:var(--text-primary, #495057);border-color:var(--color-primary, #2196f3)}.status-bar-zoom-btn:active{background:var(--color-primary, #2196f3);color:#fff}.status-bar-zoom-value{font-family:SF Mono,Menlo,Monaco,Consolas,monospace;color:var(--text-primary, #495057);min-width:36px;text-align:center}.status-bar-btn{padding:2px 6px;font-size:.625rem;font-weight:500;color:var(--text-secondary, #6c757d);background:transparent;border:1px solid var(--border-color, #dee2e6);border-radius:3px;cursor:pointer;transition:all .15s ease}.status-bar-btn:hover{background:var(--bg-hover, #e9ecef);color:var(--text-primary, #495057);border-color:var(--color-primary, #2196f3)}[data-theme=dark] .status-bar{background:var(--bg-secondary, #252526);border-top-color:var(--border-color, #404040)}[data-theme=dark] .status-bar-zoom-btn{background:var(--bg-tertiary, #333333);border-color:var(--border-color, #404040)}[data-theme=dark] .status-bar-zoom-btn:hover{background:var(--bg-hover, #3c3c3c)}[data-theme=dark] .status-bar-btn{border-color:var(--border-color, #404040)}[data-theme=dark] .status-bar-btn:hover{background:var(--bg-hover, #3c3c3c)}.presence-indicators{display:flex;align-items:center;gap:8px}.presence-status{display:flex;align-items:center;justify-content:center;width:8px;height:8px}.presence-status-dot{width:8px;height:8px;border-radius:50%;transition:background-color .2s ease}.presence-status-connected .presence-status-dot{background-color:var(--color-success, #48bb78)}.presence-status-connecting .presence-status-dot{background-color:var(--color-warning, #ecc94b);animation:pulse 1s ease-in-out infinite}.presence-status-disconnected .presence-status-dot{background-color:var(--color-text-secondary)}.presence-status-error .presence-status-dot{background-color:var(--color-error, #e53e3e)}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.presence-avatars{display:flex;align-items:center}.presence-avatar{display:flex;align-items:center;justify-content:center;border-radius:50%;color:#fff;font-weight:600;font-size:11px;cursor:default;border:2px solid var(--color-bg);margin-left:-6px;transition:transform .15s ease}.presence-avatar:first-child{margin-left:0}.presence-avatar:hover{transform:scale(1.1);z-index:1}.presence-avatar-small{width:24px;height:24px;font-size:9px}.presence-avatar-medium{width:32px;height:32px;font-size:11px}.presence-overflow{background-color:var(--color-bg-tertiary);color:var(--color-text-secondary);font-size:10px}.presence-count{font-size:12px;color:var(--color-text-secondary);margin-left:4px;white-space:nowrap}.notification-container{position:fixed;bottom:48px;right:16px;z-index:9999;display:flex;flex-direction:column;gap:8px;max-width:400px;pointer-events:none}.notification-toast{display:flex;align-items:flex-start;gap:12px;padding:12px 16px;border-radius:8px;box-shadow:0 4px 12px #00000026;pointer-events:auto;animation:toast-slide-in .2s ease-out;background:var(--color-surface, #fff);border-left:4px solid}@keyframes toast-slide-in{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}.notification-toast--info{border-left-color:var(--color-info, #3b82f6)}.notification-toast--info .notification-toast__icon{color:var(--color-info, #3b82f6)}.notification-toast--success{border-left-color:var(--color-success, #22c55e)}.notification-toast--success .notification-toast__icon{color:var(--color-success, #22c55e)}.notification-toast--warning{border-left-color:var(--color-warning, #f59e0b)}.notification-toast--warning .notification-toast__icon{color:var(--color-warning, #f59e0b)}.notification-toast--error{border-left-color:var(--color-error, #ef4444)}.notification-toast--error .notification-toast__icon{color:var(--color-error, #ef4444)}.notification-toast__icon{flex-shrink:0;display:flex;align-items:center;justify-content:center}.notification-toast__content{flex:1;min-width:0}.notification-toast__message{margin:0;font-size:14px;line-height:1.4;color:var(--color-text, #1f2937);word-wrap:break-word}.notification-toast__hint{display:block;margin-top:4px;font-size:12px;color:var(--color-text-secondary, #6b7280)}.notification-toast__actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.notification-toast__action-btn{padding:4px 12px;font-size:13px;font-weight:500;color:var(--color-primary, #3b82f6);background:transparent;border:1px solid var(--color-primary, #3b82f6);border-radius:4px;cursor:pointer;transition:background .15s,color .15s}.notification-toast__action-btn:hover{background:var(--color-primary, #3b82f6);color:#fff}.notification-toast__dismiss-btn{display:flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;background:transparent;border:none;border-radius:4px;color:var(--color-text-secondary, #6b7280);cursor:pointer;transition:background .15s,color .15s}.notification-toast__dismiss-btn:hover{background:var(--color-surface-hover, #f3f4f6);color:var(--color-text, #1f2937)}[data-theme=dark] .notification-toast{background:var(--color-surface, #1f2937);box-shadow:0 4px 12px #0000004d}[data-theme=dark] .notification-toast__message{color:var(--color-text, #f9fafb)}[data-theme=dark] .notification-toast__dismiss-btn:hover{background:var(--color-surface-hover, #374151);color:var(--color-text, #f9fafb)}.error-boundary{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px 16px;gap:8px;min-height:120px;color:var(--color-text-secondary, #888);text-align:center}.error-boundary__icon{font-size:24px}.error-boundary__message{font-size:13px;font-weight:500;color:var(--color-text-primary, #ccc)}.error-boundary__details{font-size:11px;font-family:monospace;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;opacity:.7}.error-boundary__reload{margin-top:8px;padding:6px 16px;border:1px solid var(--color-border, #444);border-radius:4px;background:var(--color-bg-secondary, #2a2a3e);color:var(--color-text-primary, #ccc);cursor:pointer;font-size:12px;transition:background .15s}.error-boundary__reload:hover{background:var(--color-bg-hover, #3a3a4e)}.connection-banner{display:flex;align-items:center;gap:8px;padding:6px 12px;font-size:12px;animation:banner-slide-down .2s ease-out}@keyframes banner-slide-down{0%{transform:translateY(-100%);opacity:0}to{transform:translateY(0);opacity:1}}.connection-banner--warning{background:var(--color-warning-bg, #3d3520);color:var(--color-warning-text, #f0c040);border-bottom:1px solid var(--color-warning-border, #5a4a20)}.connection-banner--error{background:var(--color-error-bg, #3d2020);color:var(--color-error-text, #f04040);border-bottom:1px solid var(--color-error-border, #5a2020)}.connection-banner--info{background:var(--color-info-bg, #203040);color:var(--color-info-text, #60a0e0);border-bottom:1px solid var(--color-info-border, #304050)}.connection-banner__icon{font-size:14px;flex-shrink:0}.connection-banner__message{flex:1}.connection-banner__actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.connection-banner__retry{padding:2px 10px;border:1px solid currentColor;border-radius:3px;background:transparent;color:inherit;cursor:pointer;font-size:11px;opacity:.9}.connection-banner__retry:hover{opacity:1;background:#ffffff1a}.connection-banner__dismiss{background:none;border:none;color:inherit;cursor:pointer;font-size:14px;padding:0 4px;opacity:.6}.connection-banner__dismiss:hover{opacity:1}.command-palette-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;background:#00000073;display:flex;justify-content:center;padding-top:15vh;animation:cpFadeIn .1s ease-out}@keyframes cpFadeIn{0%{opacity:0}to{opacity:1}}.command-palette{width:520px;max-height:420px;background:var(--color-bg-primary, #1e1e2e);border:1px solid var(--color-border, #444);border-radius:10px;box-shadow:0 16px 48px #00000080;display:flex;flex-direction:column;overflow:hidden;animation:cpSlideIn .12s ease-out}@keyframes cpSlideIn{0%{transform:translateY(-12px);opacity:0}to{transform:translateY(0);opacity:1}}.command-palette-input{width:100%;padding:14px 16px;background:transparent;border:none;border-bottom:1px solid var(--color-border, #444);color:var(--color-text-primary, #cdd6f4);font-size:15px;outline:none;font-family:inherit}.command-palette-input::placeholder{color:var(--color-text-muted, #888)}.command-palette-list{flex:1;overflow-y:auto;padding:4px 0}.command-palette-empty{padding:20px 16px;color:var(--color-text-muted, #888);text-align:center;font-size:13px}.command-palette-item{display:flex;align-items:center;justify-content:space-between;width:100%;padding:8px 16px;background:transparent;border:none;color:var(--color-text-primary, #cdd6f4);font-size:13px;cursor:pointer;text-align:left;font-family:inherit;gap:8px}.command-palette-item:hover,.command-palette-item.selected{background:var(--color-bg-hover, #313244)}.command-palette-item-label{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.command-palette-item-meta{display:flex;align-items:center;gap:8px;flex-shrink:0}.command-palette-shortcut{background:var(--color-bg-secondary, #2a2a3a);border:1px solid var(--color-border, #444);border-radius:4px;padding:1px 6px;font-size:11px;color:var(--color-text-muted, #888);font-family:inherit}.command-palette-category{font-size:11px;color:var(--color-text-muted, #666);min-width:50px;text-align:right}.shape-search-panel{position:fixed;top:56px;right:16px;z-index:900;background:var(--color-bg-primary, #1e1e2e);border:1px solid var(--color-border, #444);border-radius:8px;box-shadow:0 4px 16px #00000059;display:flex;flex-direction:column;width:340px;animation:ssSlideIn .12s ease-out}@keyframes ssSlideIn{0%{transform:translateY(-8px);opacity:0}to{transform:translateY(0);opacity:1}}.shape-search-header{display:flex;align-items:center;padding:6px 10px;gap:6px}.shape-search-input{flex:1;background:transparent;border:none;color:var(--color-text-primary, #cdd6f4);font-size:13px;outline:none;padding:4px 0;font-family:inherit}.shape-search-input::placeholder{color:var(--color-text-muted, #888)}.shape-search-count{font-size:11px;color:var(--color-text-muted, #888);white-space:nowrap;min-width:55px;text-align:right}.shape-search-actions{display:flex;align-items:center;padding:2px 6px 6px;gap:2px}.shape-search-btn{background:transparent;border:1px solid transparent;color:var(--color-text-muted, #888);border-radius:4px;padding:2px 8px;font-size:12px;cursor:pointer;font-family:inherit}.shape-search-btn:hover{background:var(--color-bg-hover, #313244);color:var(--color-text-primary, #cdd6f4)}.shape-search-btn:disabled{opacity:.4;cursor:default}.shape-search-btn.active{background:var(--color-bg-selected, #45475a);color:var(--color-text-primary, #cdd6f4);border-color:var(--color-border, #444)}.shape-search-close{margin-left:auto}.sticky-note{position:absolute;display:flex;flex-direction:column;--note-toolbar-height: 30px;--note-content-top-padding: 10px;border-radius:3px 3px 6px 6px;-webkit-user-select:none;user-select:none;transition:box-shadow .2s ease,transform .1s ease;box-shadow:0 1px 3px #00000014,0 4px 12px #0000001f,0 8px 24px #0000000f;background-color:var(--note-bg);border:1.5px solid var(--note-border);overflow:visible}.sticky-note:hover{box-shadow:0 2px 6px #0000001a,0 8px 20px #00000026,0 12px 32px #00000014}.sticky-note.is-dragging{box-shadow:0 4px 12px #00000026,0 16px 40px #0003;transform:rotate(-1deg) scale(1.02);opacity:.95}.sticky-note:after{content:"";position:absolute;bottom:0;right:0;width:18px;height:18px;background:linear-gradient(135deg,transparent 50%,rgba(0,0,0,.06) 50%,rgba(0,0,0,.03) 100%);border-radius:0 0 6px;pointer-events:none}.note-toolbar{position:absolute;top:calc(-1 * (var(--note-toolbar-height)));left:0;right:0;z-index:2;height:var(--note-toolbar-height);display:flex;align-items:center;justify-content:space-between;padding:0 6px;cursor:grab;background-color:var(--note-border);border-bottom:1px solid rgba(0,0,0,.06);border-radius:2px 2px 0 0;opacity:0;visibility:hidden;pointer-events:none;transform:translateY(-3px);transition:opacity .15s ease,transform .15s ease,visibility 0s linear .15s}.sticky-note:hover .note-toolbar,.sticky-note:focus-within .note-toolbar,.sticky-note.is-dragging .note-toolbar,.sticky-note.is-resizing .note-toolbar,.note-toolbar.is-active{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0);transition:opacity .15s ease,transform .15s ease,visibility 0s}.note-toolbar:active{cursor:grabbing}.note-toolbar-left{display:flex;align-items:center;gap:1px}.note-controls{display:flex;align-items:center;gap:4px}.note-color-picker{position:relative}.note-color-btn{width:16px;height:16px;border-radius:3px;cursor:pointer;padding:0;border:1.5px solid rgba(0,0,0,.2);transition:transform .1s ease,box-shadow .1s ease}.note-color-btn:hover{transform:scale(1.15);box-shadow:0 1px 4px #0003}.note-delete-btn{width:18px;height:18px;border-radius:3px;border:none;background-color:transparent;color:var(--note-text);opacity:.5;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700;line-height:1;padding:0;transition:opacity .15s ease,background-color .15s ease}.note-delete-btn:hover{opacity:.9;background-color:#00000014}.note-delete-btn.confirming{opacity:1;background-color:#b414142e}.note-delete-btn.confirming:hover{background-color:#b4141447}.note-color-dropdown{position:absolute;top:22px;right:0;background:#fff;border-radius:8px;box-shadow:0 4px 16px #00000026,0 1px 3px #00000014;padding:10px;z-index:100;min-width:172px;border:1px solid rgba(0,0,0,.08)}.note-color-grid{display:flex;flex-wrap:wrap;gap:5px;margin-bottom:8px}.note-color-swatch{width:24px;height:24px;border-radius:4px;border:1.5px solid rgba(0,0,0,.1);cursor:pointer;padding:0;transition:transform .1s ease,box-shadow .1s ease;position:relative}.note-color-swatch:hover{transform:scale(1.12);box-shadow:0 2px 6px #0003}.note-color-swatch.selected{border:2px solid #fff;box-shadow:0 0 0 2px #333,0 0 0 4px #0000001a}.note-color-section-label{font-size:9px;color:#888;margin-bottom:4px;text-transform:uppercase;letter-spacing:.5px;font-weight:500}.note-format-btn{width:22px;height:20px;border:none;border-radius:3px;background:transparent;color:var(--note-text);opacity:.55;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:600;padding:0;transition:opacity .1s ease,background-color .1s ease;font-family:inherit}.note-format-btn:hover{opacity:.85;background-color:#0000000f}.note-format-btn.active{opacity:1;background-color:#0000001f}.note-format-btn-bold{font-weight:800}.note-format-btn-italic{font-style:italic}.note-format-btn-underline{text-decoration:underline}.note-content{flex:1;padding:var(--note-content-top-padding) 12px 10px;font-size:13px;line-height:1.55;color:var(--note-text, #2c2c2c);overflow:auto;cursor:text;outline:none;-webkit-user-select:text;user-select:text;word-break:break-word;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.note-content:empty:before{content:"Type something…";color:var(--note-text, #2c2c2c);opacity:.3;font-style:italic;pointer-events:none}.note-content b,.note-content strong{font-weight:700}.note-content i,.note-content em{font-style:italic}.note-content u{text-decoration:underline;text-underline-offset:2px}.note-content s,.note-content strike{text-decoration:line-through}.note-content::-webkit-scrollbar{width:4px}.note-content::-webkit-scrollbar-track{background:transparent}.note-content::-webkit-scrollbar-thumb{background-color:#00000026;border-radius:2px}.note-content::-webkit-scrollbar-thumb:hover{background-color:#00000040}.note-resize-handle{position:absolute;right:0;bottom:0;width:14px;height:14px;cursor:nwse-resize;display:flex;align-items:center;justify-content:center;z-index:1}.note-resize-handle:before{content:"";position:absolute;bottom:3px;right:3px;width:8px;height:8px;background-image:radial-gradient(circle,rgba(0,0,0,.2) 1px,transparent 1px);background-size:3px 3px;background-position:bottom right;opacity:.6;transition:opacity .15s ease}.note-resize-handle:hover:before{opacity:1}.dark-mode .note-color-dropdown{background:#2a2a2a;border-color:#ffffff1a;box-shadow:0 4px 16px #0006,0 1px 3px #0003}.dark-mode .note-color-swatch{border-color:#ffffff1a}.dark-mode .note-color-swatch.selected{border-color:#fff;box-shadow:0 0 0 2px #ffffff26}.dark-mode .note-color-section-label{color:#888}.dark-mode .note-toolbar{border-bottom-color:#ffffff0f}.dark-mode .note-format-btn:hover{background-color:#ffffff14}.dark-mode .note-format-btn.active{background-color:#ffffff1f}.dark-mode .note-delete-btn:hover{background-color:#ffffff1a}.dark-mode .note-delete-btn.confirming{background-color:#ff787833}.dark-mode .note-delete-btn.confirming:hover{background-color:#ff787852}.dark-mode .note-resize-handle:before{background-image:radial-gradient(circle,rgba(255,255,255,.25) 1px,transparent 1px)}.whiteboard-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:flex;align-items:center;justify-content:center}.whiteboard-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background-color:#0000004d;background-image:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px);background-size:20px 20px;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.whiteboard-container{position:relative;width:90vw;height:85vh;background-color:#f8f8f8f2;border-radius:12px;box-shadow:0 8px 32px #0003;display:flex;flex-direction:column;overflow:hidden}.dark-mode .whiteboard-container{background-color:#1e1e1ef2;color:#e5e5e5}.whiteboard-header{display:flex;align-items:center;justify-content:space-between;padding:10px 16px;background-color:#0000000d;border-bottom:1px solid rgba(0,0,0,.1);flex-shrink:0}.dark-mode .whiteboard-header{background-color:#ffffff0d;border-bottom-color:#ffffff1a}.whiteboard-header-left{display:flex;align-items:center;gap:10px}.whiteboard-title{margin:0;font-size:16px;font-weight:600;color:#333}.dark-mode .whiteboard-title{color:#e5e5e5}.whiteboard-note-count{font-size:11px;color:#888;background:#0000000f;padding:2px 8px;border-radius:10px;font-weight:500}.dark-mode .whiteboard-note-count{background:#ffffff14;color:#999}.whiteboard-close-btn{width:28px;height:28px;border:none;background-color:transparent;color:#666;font-size:20px;cursor:pointer;border-radius:4px;display:flex;align-items:center;justify-content:center;transition:background-color .15s ease}.whiteboard-close-btn:hover{background-color:#0000001a;color:#333}.dark-mode .whiteboard-close-btn{color:#999}.dark-mode .whiteboard-close-btn:hover{background-color:#ffffff1a;color:#fff}.whiteboard-board-tabs{display:flex;align-items:center;padding:0 12px;background-color:#00000005;border-bottom:1px solid rgba(0,0,0,.08);flex-shrink:0;gap:4px;min-height:34px}.dark-mode .whiteboard-board-tabs{background-color:#ffffff05;border-bottom-color:#ffffff0f}.whiteboard-board-tabs-list{display:flex;gap:2px;overflow-x:auto;flex:1;min-width:0}.whiteboard-board-tabs-list::-webkit-scrollbar{height:0}.whiteboard-board-tab{padding:6px 14px;font-size:12px;font-weight:500;color:#666;cursor:pointer;border-radius:6px 6px 0 0;border:1px solid transparent;border-bottom:none;white-space:nowrap;transition:color .15s ease,background-color .15s ease;-webkit-user-select:none;user-select:none;flex-shrink:0}.whiteboard-board-tab:hover{color:#333;background-color:#0000000a}.whiteboard-board-tab.active{color:#333;font-weight:600;background-color:#f8f8f8f2;border-color:#00000014;position:relative}.whiteboard-board-tab.active:after{content:"";position:absolute;bottom:-1px;left:0;right:0;height:1px;background-color:#f8f8f8f2}.dark-mode .whiteboard-board-tab{color:#888}.dark-mode .whiteboard-board-tab:hover{color:#ccc;background-color:#ffffff0a}.dark-mode .whiteboard-board-tab.active{color:#e5e5e5;background-color:#1e1e1ef2;border-color:#ffffff14}.dark-mode .whiteboard-board-tab.active:after{background-color:#1e1e1ef2}.whiteboard-board-tab-input{background:transparent;border:none;outline:none;font-size:12px;font-weight:500;color:inherit;width:80px;padding:0}.whiteboard-board-tab-add{width:24px;height:24px;border:none;background:transparent;color:#888;font-size:16px;cursor:pointer;border-radius:4px;display:flex;align-items:center;justify-content:center;transition:background-color .15s ease,color .15s ease;flex-shrink:0}.whiteboard-board-tab-add:hover{background-color:#0000000f;color:#333}.dark-mode .whiteboard-board-tab-add:hover{background-color:#ffffff14;color:#fff}.whiteboard-board-context-menu{position:fixed;background:#fff;border-radius:8px;box-shadow:0 4px 16px #00000026;padding:4px;z-index:1100;min-width:140px;border:1px solid rgba(0,0,0,.08)}.dark-mode .whiteboard-board-context-menu{background:#2a2a2a;border-color:#ffffff14;box-shadow:0 4px 16px #0006}.whiteboard-board-context-menu button{width:100%;padding:6px 12px;font-size:12px;text-align:left;border:none;background:transparent;cursor:pointer;border-radius:4px;color:#333;transition:background-color .1s ease}.whiteboard-board-context-menu button:hover{background-color:#0000000f}.dark-mode .whiteboard-board-context-menu button{color:#ddd}.dark-mode .whiteboard-board-context-menu button:hover{background-color:#ffffff14}.whiteboard-board-context-menu button.disabled{color:#aaa;cursor:not-allowed}.whiteboard-board-context-menu button.disabled:hover{background-color:transparent}.whiteboard-notes{flex:1;position:relative;overflow:hidden}.whiteboard-empty-state{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;pointer-events:none;-webkit-user-select:none;user-select:none}.whiteboard-empty-icon{font-size:48px;margin-bottom:12px;opacity:.3}.whiteboard-empty-text{font-size:14px;color:#888;opacity:.6}.dark-mode .whiteboard-empty-text{color:#999}.whiteboard-add-btn{position:absolute;bottom:24px;right:24px;width:48px;height:48px;border:none;border-radius:50%;background-color:#3b82f6;color:#fff;font-size:24px;font-weight:400;cursor:pointer;box-shadow:0 4px 12px #3b82f666;transition:transform .15s ease,box-shadow .15s ease;display:flex;align-items:center;justify-content:center}.whiteboard-add-btn:hover{transform:scale(1.05);box-shadow:0 6px 16px #3b82f680}.whiteboard-add-btn:active{transform:scale(.95)}:root{--bg-primary: #ffffff;--bg-secondary: #f8f9fa;--bg-tertiary: #e9ecef;--bg-hover: #e9ecef;--bg-active: #e7f1ff;--text-primary: #495057;--text-secondary: #6c757d;--text-muted: #adb5bd;--border-color: #dee2e6;--border-color-light: #e9ecef;--border-color-input: #ced4da;--color-primary: #2196f3;--color-primary-dark: #1976d2;--color-primary-light: #e7f1ff;--canvas-bg: #ffffff;--grid-minor: #e0e0e0;--grid-major: #c0c0c0;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--shadow-md: 0 2px 4px rgba(0, 0, 0, .1)}[data-theme=dark]{--bg-primary: #1e1e1e;--bg-secondary: #252526;--bg-tertiary: #333333;--bg-hover: #3c3c3c;--bg-active: #0d3868;--text-primary: #cccccc;--text-secondary: #9d9d9d;--text-muted: #6d6d6d;--border-color: #404040;--border-color-light: #333333;--border-color-input: #505050;--color-primary: #0078d4;--color-primary-dark: #005a9e;--color-primary-light: #0d3868;--canvas-bg: #1e1e1e;--grid-minor: #2d2d2d;--grid-major: #3d3d3d;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .3);--shadow-md: 0 2px 4px rgba(0, 0, 0, .4)}*{margin:0;padding:0;box-sizing:border-box}html,body,#root{width:100%;height:100%;overflow:hidden;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{background-color:var(--bg-secondary);color:var(--text-primary)}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}:root[data-reduced-motion=true] *,:root[data-reduced-motion=true] *:before,:root[data-reduced-motion=true] *:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
