.planner-sidebar{display:flex;flex-direction:column;gap:var(--space-4);padding:var(--spacing-10);background:var(--surface-secondary);border-right:1px solid var(--border-primary)}.accordion-section{border:1px solid var(--border-secondary);border-radius:var(--radius-lg);background:var(--surface-tertiary)}.accordion-header{width:100%;display:flex;align-items:center;gap:var(--spacing-6);padding:var(--spacing-8) var(--spacing-10);background:transparent;color:var(--text-primary);border:none;border-bottom:1px solid var(--border-secondary);cursor:pointer}.accordion-header .icon{font-family:var(--typography-font-family-icon)}.accordion-header .title{font-size:var(--typography-font-size-lg);font-weight:var(--typography-font-weight-semibold)}.accordion-body{padding:var(--spacing-6) var(--spacing-8);display:grid;grid-template-columns:1fr;gap:var(--space-3)}.planner-item{display:flex;align-items:center;gap:var(--spacing-6);padding:var(--spacing-6) var(--spacing-8);background:var(--surface-quaternary);border:1px solid var(--border-secondary);border-radius:var(--radius-md);color:var(--text-secondary);position:relative}.planner-item:hover{background:var(--interactive-secondary-hover);color:var(--text-primary)}.planner-item .icon{font-family:var(--typography-font-family-icon);font-size:var(--typography-font-size-icon-md)}.planner-item .label{flex:1}.planner-item .connect-cta{margin-left:auto;font-size:12px;padding:4px 8px;border-radius:999px;border:1px solid var(--border-secondary);background:var(--surface-secondary);color:var(--text-primary);cursor:pointer}.planner-item .connect-cta:hover{background:var(--interactive-secondary-hover)}.connection-status{width:8px;height:8px;border-radius:50%;flex-shrink:0;margin-left:auto}.connection-status.connected{background-color:#10b981;box-shadow:0 0 4px #10b98180}.connection-status.disconnected{background-color:#6b7280;box-shadow:0 0 4px #6b72804d}.planner-item[data-service=googledrive] .connection-status.connected{background-color:#4285f4;box-shadow:0 0 4px #4285f480}.planner-item[data-service=googlecalendar] .connection-status.connected{background-color:#ea4335;box-shadow:0 0 4px #ea433580}.planner-item[data-service=googlephotos] .connection-status.connected{background-color:#fbbc04;box-shadow:0 0 4px #fbbc0480}.planner-item[data-service=gmail] .connection-status.connected{background-color:#34a853;box-shadow:0 0 4px #34a85380}.planner-item[data-connected=true] .icon{color:var(--color-accent-primary, #10b981);font-weight:600}.planner-item[data-service=googledrive][data-connected=true] .icon{color:#4285f4}.planner-item[data-service=googlecalendar][data-connected=true] .icon{color:#ea4335}.planner-item[data-service=googlephotos][data-connected=true] .icon{color:#fbbc04}.planner-item[data-service=gmail][data-connected=true] .icon{color:#34a853}.planner-item[data-connected=true]{border-color:#10b9814d;background:linear-gradient(135deg,var(--surface-quaternary) 0%,rgba(16,185,129,.05) 100%)}.planner-item[data-service=googledrive][data-connected=true]{border-color:#4285f44d;background:linear-gradient(135deg,var(--surface-quaternary) 0%,rgba(66,133,244,.05) 100%)}.planner-item[data-service=googlecalendar][data-connected=true]{border-color:#ea43354d;background:linear-gradient(135deg,var(--surface-quaternary) 0%,rgba(234,67,53,.05) 100%)}.planner-item[data-service=googlephotos][data-connected=true]{border-color:#fbbc044d;background:linear-gradient(135deg,var(--surface-quaternary) 0%,rgba(251,188,4,.05) 100%)}.planner-item[data-service=gmail][data-connected=true]{border-color:#34a8534d;background:linear-gradient(135deg,var(--surface-quaternary) 0%,rgba(52,168,83,.05) 100%)}.prompt-indicator{margin-left:auto;font-size:12px;opacity:.8}.node-google-calendar,.node-google-drive,.node-google-photos,.node-gmail{resize:both;overflow:auto;min-width:280px;min-height:200px;max-width:600px;max-height:500px;position:relative}.node-google-calendar .resize-handle,.node-google-drive .resize-handle,.node-google-photos .resize-handle,.node-gmail .resize-handle{position:absolute;bottom:0;right:0;width:12px;height:12px;cursor:se-resize;background:linear-gradient(-45deg,transparent 0%,transparent 30%,var(--border-secondary) 30%,var(--border-secondary) 35%,transparent 35%,transparent 65%,var(--border-secondary) 65%,var(--border-secondary) 70%,transparent 70%)}.prompt-config-modal{position:absolute;top:0;left:0;right:0;bottom:0;background:var(--surface-primary);border:2px solid var(--border-accent);border-radius:var(--radius-lg);padding:var(--spacing-8);z-index:1000;display:flex;flex-direction:column;gap:var(--spacing-6)}.prompt-config-header{display:flex;align-items:center;justify-content:space-between}.prompt-config-header h4{margin:0;color:var(--text-primary);font-size:var(--typography-font-size-lg)}.close-btn{background:none;border:none;color:var(--text-tertiary);font-size:18px;cursor:pointer;padding:2px 6px;border-radius:var(--radius-sm)}.prompt-textarea{width:100%;min-height:80px;background:var(--surface-secondary);border:1px solid var(--border-secondary);border-radius:var(--radius-md);padding:var(--spacing-6);color:var(--text-primary);font-family:var(--typography-font-family-body);font-size:var(--typography-font-size-sm);resize:vertical}.prompt-textarea:focus{outline:none;border-color:var(--border-accent);box-shadow:0 0 0 2px #1e88e533}.prompt-config-actions{display:flex;gap:var(--spacing-6);justify-content:flex-end}.save-btn{background:var(--interactive-primary);color:var(--text-on-primary);border:none;padding:var(--spacing-4) var(--spacing-8);border-radius:var(--radius-md);font-size:var(--typography-font-size-sm);cursor:pointer;transition:all .2s ease}.save-btn:hover{background:var(--interactive-primary-hover);transform:translateY(-1px)}.cancel-btn{background:var(--surface-tertiary);color:var(--text-secondary);border:1px solid var(--border-secondary);padding:var(--spacing-4) var(--spacing-8);border-radius:var(--radius-md);font-size:var(--typography-font-size-sm);cursor:pointer;transition:all .2s ease}.cancel-btn:hover{background:var(--interactive-secondary-hover);color:var(--text-primary)}.empty{color:var(--text-tertiary);font-size:var(--typography-font-size-sm);padding:var(--spacing-6)}.planner-canvas-container{position:relative;height:100%;background:var(--surface-primary)}.workflow-title-container{position:absolute;top:var(--spacing-10);left:var(--spacing-10);z-index:var(--z-index-dropdown);display:flex;flex-direction:column;align-items:flex-start;gap:var(--spacing-2)}.workflow-title-row{display:flex;align-items:center;gap:var(--spacing-4)}.workflow-title-display{font-size:var(--typography-font-size-xl);font-weight:var(--typography-font-weight-semibold);color:var(--text-primary);padding:var(--spacing-4) var(--spacing-6);border:2px dashed transparent;border-radius:var(--radius-md);cursor:pointer;transition:all .2s ease;background:var(--surface-secondary);-webkit-backdrop-filter:var(--backdrop-filter);backdrop-filter:var(--backdrop-filter);min-width:200px}.workflow-title-display:hover{border-color:var(--border-accent);background:var(--surface-tertiary)}.workflow-title-input{font-size:var(--typography-font-size-xl);font-weight:var(--typography-font-weight-semibold);color:var(--text-primary);padding:var(--spacing-4) var(--spacing-6);border:2px solid var(--border-accent);border-radius:var(--radius-md);background:var(--surface-input);outline:none;min-width:200px}.btn-ai-title{padding:var(--spacing-4);border:none;border-radius:var(--radius-md);background:var(--surface-secondary);-webkit-backdrop-filter:var(--backdrop-filter);backdrop-filter:var(--backdrop-filter);color:var(--text-accent);cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.btn-ai-title:hover{background:var(--interactive-secondary-hover);transform:scale(1.05)}.workflow-title-error{color:var(--surface-error);font-size:var(--typography-font-size-sm);background:#ff4d4d26;padding:var(--spacing-2) var(--spacing-4);border-radius:var(--radius-sm)}.planner-toolbar{position:absolute;top:var(--spacing-10);right:var(--spacing-10);z-index:var(--z-index-dropdown);display:flex;gap:var(--spacing-6)}.planner-canvas{position:relative;height:100%}.node-card{padding:var(--spacing-6) var(--spacing-8);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);border:1px solid var(--border-secondary);background:var(--surface-tertiary);min-width:160px}.node-title{color:var(--text-primary);font-weight:var(--typography-font-weight-semibold)}.node-sub{color:var(--text-tertiary);font-size:var(--typography-font-size-sm);margin-top:var(--spacing-2)}.node-module,.node-assistant{border-color:var(--border-accent)}.node-source{border-color:var(--border-secondary)}.node-model-provider{border-color:var(--border-accent);background:linear-gradient(135deg,var(--surface-tertiary),var(--surface-quaternary))}.node-model-provider:hover{cursor:pointer}.react-flow__node.dragging .node-model-provider{cursor:grabbing!important}.context-menu{background:var(--surface-modal);border:1px solid var(--border-primary);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);min-width:200px;overflow:hidden}.context-menu-header{padding:var(--spacing-6) var(--spacing-8);background:var(--surface-tertiary);color:var(--text-primary);font-weight:var(--typography-font-weight-semibold);font-size:var(--typography-font-size-sm);border-bottom:1px solid var(--border-secondary)}.context-menu-item{padding:var(--spacing-6) var(--spacing-8);color:var(--text-primary);cursor:pointer;border-bottom:1px solid var(--border-secondary)}.context-menu-item:last-child{border-bottom:none}.context-menu-item:hover:not(.disabled){background:var(--interactive-secondary-hover)}.context-menu-item.disabled{color:var(--text-tertiary);cursor:not-allowed}.model-name{font-weight:var(--typography-font-weight-medium);font-size:var(--typography-font-size-base)}.model-description{font-size:var(--typography-font-size-sm);color:var(--text-secondary);margin-top:var(--spacing-2)}.node-connector{border-style:dashed;border-color:var(--border-dashed)}.react-flow__handle{width:10px!important;height:10px!important;background:var(--border-accent)!important;border:2px solid var(--surface-primary)!important;transition:all .2s ease}.react-flow__handle:hover{width:12px!important;height:12px!important;background:var(--interactive-primary-default)!important;box-shadow:0 0 8px #3b82f680}.react-flow__handle-connecting{background:var(--interactive-primary-default)!important;box-shadow:0 0 8px #3b82f6cc}.node-archiva-template{border-color:var(--status-success);background:linear-gradient(135deg,var(--surface-tertiary),var(--surface-quaternary));position:relative}.node-archiva-template .node-title{color:var(--text-primary);font-weight:var(--typography-font-weight-semibold)}.node-archiva-template .node-sub{color:var(--text-secondary);font-size:var(--typography-font-size-sm)}.node-config-prompt{margin-top:var(--spacing-3);padding:var(--spacing-3);border-top:1px solid var(--border-secondary)}.btn-configure{display:flex;align-items:center;gap:var(--spacing-2);padding:var(--spacing-2) var(--spacing-3);border:1px solid var(--border-accent);border-radius:var(--radius-sm);background:var(--interactive-primary-default);color:var(--text-on-primary);font-size:var(--typography-font-size-xs);cursor:pointer;transition:all .2s ease;width:100%;justify-content:center}.btn-configure:hover{background:var(--interactive-primary-hover);transform:scale(1.02)}.template-config-modal{position:absolute;top:100%;left:0;right:0;z-index:1000;background:var(--surface-modal);border:1px solid var(--border-primary);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);-webkit-backdrop-filter:var(--backdrop-filter);backdrop-filter:var(--backdrop-filter);margin-top:var(--spacing-2);min-width:300px;max-width:400px}.config-header{padding:var(--spacing-5) var(--spacing-6);border-bottom:1px solid var(--border-secondary)}.config-header h3{margin:0 0 var(--spacing-2) 0;font-size:var(--typography-font-size-lg);font-weight:var(--typography-font-weight-semibold);color:var(--text-primary)}.config-header p{margin:0;font-size:var(--typography-font-size-sm);color:var(--text-secondary)}.config-body{padding:var(--spacing-5) var(--spacing-6);max-height:300px;overflow-y:auto}.config-section{margin-bottom:var(--spacing-5)}.config-section label{display:block;margin-bottom:var(--spacing-3);font-size:var(--typography-font-size-sm);font-weight:var(--typography-font-weight-medium);color:var(--text-primary)}.format-select{width:100%;padding:var(--spacing-3) var(--spacing-4);border:1px solid var(--border-primary);border-radius:var(--radius-md);background:var(--surface-input);color:var(--text-primary);font-size:var(--typography-font-size-sm)}.fields-preview{border:1px solid var(--border-secondary);border-radius:var(--radius-md);background:var(--surface-quaternary);padding:var(--spacing-4);max-height:150px;overflow-y:auto}.field-preview{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-2) 0;border-bottom:1px solid var(--border-tertiary)}.field-preview:last-child{border-bottom:none}.field-name{font-size:var(--typography-font-size-sm);color:var(--text-primary);font-weight:var(--typography-font-weight-medium)}.field-type{font-size:var(--typography-font-size-xs);color:var(--text-secondary);background:var(--surface-tertiary);padding:var(--spacing-1) var(--spacing-2);border-radius:var(--radius-sm)}.field-more{font-size:var(--typography-font-size-sm);color:var(--text-tertiary);font-style:italic}.config-actions{padding:var(--spacing-5) var(--spacing-6);border-top:1px solid var(--border-secondary);display:flex;gap:var(--spacing-3);justify-content:flex-end}.btn-cancel,.btn-save{padding:var(--spacing-3) var(--spacing-4);border:1px solid var(--border-primary);border-radius:var(--radius-md);font-size:var(--typography-font-size-sm);cursor:pointer;transition:all .2s ease}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.config-modal{background:var(--surface-modal);border:1px solid var(--border-primary);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);width:90vw;max-width:600px;max-height:90vh;overflow:hidden;display:flex;flex-direction:column}.config-header{padding:var(--spacing-6);border-bottom:1px solid var(--border-secondary);display:flex;justify-content:space-between;align-items:center;background:var(--surface-tertiary)}.config-header h3{margin:0;font-size:var(--typography-font-size-lg);font-weight:var(--typography-font-weight-semibold);color:var(--text-primary)}.close-btn{background:none;border:none;color:var(--text-secondary);cursor:pointer;padding:var(--spacing-2);border-radius:var(--radius-sm);transition:all .2s ease}.close-btn:hover{background:var(--interactive-secondary-hover);color:var(--text-primary)}.config-body{flex:1;overflow-y:auto;padding:var(--spacing-6)}.config-section{margin-bottom:var(--spacing-8)}.config-section:last-child{margin-bottom:0}.config-section h4{margin:0 0 var(--spacing-4) 0;font-size:var(--typography-font-size-base);font-weight:var(--typography-font-weight-semibold);color:var(--text-primary);border-bottom:1px solid var(--border-secondary);padding-bottom:var(--spacing-2)}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-4)}.section-header h4{margin:0;border:none;padding:0}.add-btn{display:flex;align-items:center;gap:var(--spacing-2);padding:var(--spacing-2) var(--spacing-3);background:var(--interactive-primary-default);color:var(--text-on-primary);border:none;border-radius:var(--radius-sm);font-size:var(--typography-font-size-xs);cursor:pointer;transition:all .2s ease}.add-btn:hover{background:var(--interactive-primary-hover)}.form-group{margin-bottom:var(--spacing-4)}.form-group label{display:block;margin-bottom:var(--spacing-2);font-size:var(--typography-font-size-sm);font-weight:var(--typography-font-weight-medium);color:var(--text-primary)}.form-group input,.form-group textarea,.form-group select{width:100%;padding:var(--spacing-3);border:1px solid var(--border-primary);border-radius:var(--radius-md);background:var(--surface-input);color:var(--text-primary);font-size:var(--typography-font-size-sm);font-family:inherit}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{outline:none;border-color:var(--border-accent);box-shadow:0 0 0 2px #3b82f61a}.form-group textarea{resize:vertical;min-height:80px}.variable-list,.config-list{display:flex;flex-direction:column;gap:var(--spacing-3)}.variable-item,.config-item{display:flex;gap:var(--spacing-3);align-items:center}.variable-key,.config-key{flex:0 0 140px;background:var(--surface-secondary);color:var(--text-secondary);font-weight:var(--typography-font-weight-medium)}.variable-value,.config-value{flex:1}.delete-btn{background:var(--status-error);color:var(--text-on-primary);border:none;border-radius:var(--radius-sm);padding:var(--spacing-2);cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.delete-btn:hover{background:var(--status-error-hover)}.delete-btn .icon{font-size:16px}.empty-state{color:var(--text-tertiary);font-style:italic;text-align:center;padding:var(--spacing-6);border:1px dashed var(--border-secondary);border-radius:var(--radius-md);margin:0}.preview-box{background:var(--surface-quaternary);border:1px solid var(--border-secondary);border-radius:var(--radius-md);padding:var(--spacing-4)}.preview-box strong{color:var(--text-primary);display:block;margin-bottom:var(--spacing-2)}.preview-box p{color:var(--text-secondary);margin:var(--spacing-2) 0;font-size:var(--typography-font-size-sm)}.connector-preview{margin-top:var(--spacing-3);display:flex;align-items:center;gap:var(--spacing-3)}.connector-badge{background:var(--interactive-primary-default);color:var(--text-on-primary);padding:var(--spacing-1) var(--spacing-3);border-radius:var(--radius-sm);font-size:var(--typography-font-size-xs);font-weight:var(--typography-font-weight-medium);text-transform:uppercase}.connector-preview small{color:var(--text-tertiary);font-size:var(--typography-font-size-xs)}.config-footer{padding:var(--spacing-6);border-top:1px solid var(--border-secondary);background:var(--surface-tertiary);display:flex;gap:var(--spacing-4);justify-content:flex-end}.btn-cancel,.btn-save{padding:var(--spacing-3) var(--spacing-6);border:1px solid var(--border-primary);border-radius:var(--radius-md);font-size:var(--typography-font-size-sm);font-weight:var(--typography-font-weight-medium);cursor:pointer;transition:all .2s ease}.btn-cancel{background:var(--surface-secondary);color:var(--text-secondary)}.btn-cancel:hover{background:var(--interactive-secondary-hover);color:var(--text-primary)}.btn-save{background:var(--interactive-primary-default);color:var(--text-on-primary);border-color:var(--interactive-primary-default)}.btn-save:hover{background:var(--interactive-primary-hover)}.node-card.loop-connector{border-style:dashed;border-color:var(--status-warning);background:linear-gradient(135deg,var(--surface-tertiary),var(--surface-quaternary))}.node-card.trigger-connector{border-style:dotted;border-color:var(--status-info);background:linear-gradient(135deg,var(--surface-tertiary),var(--surface-quaternary))}.node-card .connector-badge{position:absolute;top:-8px;right:-8px;background:var(--interactive-primary-default);color:var(--text-on-primary);padding:2px 6px;border-radius:var(--radius-xs);font-size:10px;font-weight:var(--typography-font-weight-medium);text-transform:uppercase}.node-app-state-snapshot{border-color:var(--status-info);background:linear-gradient(135deg,var(--surface-tertiary),var(--surface-quaternary));position:relative}.node-app-state-snapshot .node-title{display:flex;align-items:center;gap:var(--spacing-3);color:var(--text-primary);font-weight:var(--typography-font-weight-semibold)}.node-app-state-snapshot .node-title .icon{color:var(--status-info);font-family:var(--typography-font-family-icon)}.node-app-state-snapshot .node-sub{color:var(--text-secondary);font-size:var(--typography-font-size-sm);margin-top:var(--spacing-2)}.node-action-button{margin-top:var(--spacing-4);padding-top:var(--spacing-3);border-top:1px solid var(--border-secondary)}.btn-capture{display:flex;align-items:center;justify-content:center;gap:var(--spacing-2);width:100%;padding:var(--spacing-3) var(--spacing-4);border:1px solid var(--status-info);border-radius:var(--radius-md);background:var(--status-info);color:var(--text-on-primary);font-size:var(--typography-font-size-sm);font-weight:var(--typography-font-weight-medium);cursor:pointer;transition:all .2s ease}.btn-capture:hover:not(:disabled){background:var(--status-info-hover);border-color:var(--status-info-hover);transform:scale(1.02)}.btn-capture:disabled{opacity:.7;cursor:not-allowed}.btn-capture .icon{font-family:var(--typography-font-family-icon)}.snapshot-preview{margin-top:var(--spacing-4);padding:var(--spacing-4);background:var(--surface-quaternary);border:1px solid var(--border-tertiary);border-radius:var(--radius-md)}.snapshot-info{display:flex;flex-direction:column;gap:var(--spacing-2)}.info-line{display:flex;justify-content:space-between;align-items:center;font-size:var(--typography-font-size-xs)}.info-label{color:var(--text-secondary);font-weight:var(--typography-font-weight-medium);text-transform:uppercase;letter-spacing:.05em}.info-value{color:var(--text-primary);font-weight:var(--typography-font-weight-medium);font-family:var(--typography-font-family-mono)}.node-ai-agent{border-color:#9333ea;background:linear-gradient(135deg,var(--surface-tertiary),rgba(147,51,234,.05));min-width:220px;padding:var(--spacing-6) var(--spacing-8);position:relative}.node-ai-agent .ai-agent-header{display:flex;align-items:center;gap:var(--spacing-4);margin-bottom:var(--spacing-4)}.node-ai-agent .node-icon{font-family:var(--typography-font-family-icon);font-size:20px}.node-ai-agent .node-title{flex:1;font-weight:var(--typography-font-weight-semibold);color:var(--text-primary);cursor:text;padding:2px 4px;border-radius:var(--radius-sm);transition:background .2s}.node-ai-agent .node-title:hover{background:var(--surface-quaternary)}.node-ai-agent .node-name-input{flex:1;background:var(--surface-quaternary);border:1px solid var(--border-accent);border-radius:var(--radius-sm);padding:2px 6px;color:var(--text-primary);font-size:var(--typography-font-size-base);font-weight:var(--typography-font-weight-semibold)}.node-ai-agent .ai-agent-ports{display:flex;flex-direction:column;gap:var(--spacing-4);margin:var(--spacing-4) 0}.node-ai-agent .ports-section{display:flex;flex-direction:column;gap:var(--spacing-2)}.node-ai-agent .ports-label{font-size:var(--typography-font-size-xs);font-weight:var(--typography-font-weight-semibold);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em}.node-ai-agent .port-item{font-size:var(--typography-font-size-sm);color:var(--text-tertiary);padding-left:var(--spacing-4);position:relative}.node-ai-agent .port-item:before{content:"•";position:absolute;left:0;color:#9333ea;font-weight:700}.node-ai-agent .ai-agent-settings{display:flex;align-items:center;gap:var(--spacing-2);margin:var(--spacing-4) 0;padding:var(--spacing-3);background:var(--surface-quaternary);border-radius:var(--radius-sm);font-size:var(--typography-font-size-xs);color:var(--text-tertiary)}.node-ai-agent .ai-agent-settings .icon{font-family:var(--typography-font-family-icon);color:#9333ea}.node-ai-agent .settings-text{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.node-ai-agent .ai-agent-actions{display:flex;gap:var(--spacing-2);margin-top:var(--spacing-4);padding-top:var(--spacing-4);border-top:1px solid var(--border-tertiary)}.node-ai-agent .btn-icon{flex:1;display:flex;align-items:center;justify-content:center;gap:var(--spacing-2);padding:var(--spacing-2) var(--spacing-3);background:var(--interactive-secondary);border:1px solid var(--border-secondary);border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;transition:all .2s;font-size:var(--typography-font-size-sm)}.node-ai-agent .btn-icon:hover{background:var(--interactive-secondary-hover);border-color:var(--border-accent);color:var(--text-primary)}.node-ai-agent .btn-icon.btn-delete{border-color:#ef44444d;color:#ef4444}.node-ai-agent .btn-icon.btn-delete:hover{background:#ef44441a;border-color:#ef4444}.node-ai-agent .btn-icon .icon{font-family:var(--typography-font-family-icon);font-size:16px}.node-ai-agent.node-state-processing{box-shadow:0 0 20px #3b82f666;animation:pulse 2s ease-in-out infinite}.node-ai-agent.node-state-complete{box-shadow:0 0 15px #10b9814d}.node-ai-agent.node-state-error{box-shadow:0 0 15px #ef44444d}@keyframes pulse{0%,to{box-shadow:0 0 20px #3b82f666}50%{box-shadow:0 0 30px #3b82f699}}.processing-spinner{display:inline-block;width:14px;height:14px;border:2px solid rgba(59,130,246,.3);border-top-color:#3b82f6;border-radius:50%;animation:spin .8s linear infinite;margin-left:var(--spacing-2)}.ai-agent-error{display:flex;align-items:flex-start;gap:var(--spacing-2);margin:var(--spacing-4) 0;padding:var(--spacing-3);background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:var(--radius-sm)}.ai-agent-error .icon{font-family:var(--typography-font-family-icon);font-size:16px;flex-shrink:0}.ai-agent-error .error-text{font-size:var(--typography-font-size-xs);color:var(--text-secondary);line-height:1.4}.node-ai-agent .btn-icon:disabled{opacity:.5;cursor:not-allowed}.btn-success{background:#10b981;color:#fff;border:1px solid #10b981;padding:var(--spacing-3) var(--spacing-6);border-radius:var(--radius-md);font-size:var(--typography-font-size-sm);font-weight:var(--typography-font-weight-medium);cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:var(--spacing-2)}.btn-success:hover:not(:disabled){background:#059669;border-color:#059669;transform:translateY(-1px);box-shadow:0 4px 12px #10b9814d}.btn-success:disabled{opacity:.6;cursor:not-allowed}.btn-success .icon{font-family:var(--typography-font-family-icon);font-size:18px}.react-flow{direction:ltr}.react-flow__container{position:absolute;width:100%;height:100%;top:0;left:0}.react-flow__pane{z-index:1;cursor:-webkit-grab;cursor:grab}.react-flow__pane.selection{cursor:pointer}.react-flow__pane.dragging{cursor:-webkit-grabbing;cursor:grabbing}.react-flow__viewport{transform-origin:0 0;z-index:2;pointer-events:none}.react-flow__renderer{z-index:4}.react-flow__selection{z-index:6}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible{outline:none}.react-flow .react-flow__edges{pointer-events:none;overflow:visible}.react-flow__edge-path,.react-flow__connection-path{stroke:#b1b1b7;stroke-width:1;fill:none}.react-flow__edge{pointer-events:visibleStroke;cursor:pointer}.react-flow__edge.animated path{stroke-dasharray:5;-webkit-animation:dashdraw .5s linear infinite;animation:dashdraw .5s linear infinite}.react-flow__edge.animated path.react-flow__edge-interaction{stroke-dasharray:none;-webkit-animation:none;animation:none}.react-flow__edge.inactive{pointer-events:none}.react-flow__edge.selected,.react-flow__edge:focus,.react-flow__edge:focus-visible{outline:none}.react-flow__edge.selected .react-flow__edge-path,.react-flow__edge:focus .react-flow__edge-path,.react-flow__edge:focus-visible .react-flow__edge-path{stroke:#555}.react-flow__edge-textwrapper{pointer-events:all}.react-flow__edge-textbg{fill:#fff}.react-flow__edge .react-flow__edge-text{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__connection{pointer-events:none}.react-flow__connection .animated{stroke-dasharray:5;-webkit-animation:dashdraw .5s linear infinite;animation:dashdraw .5s linear infinite}.react-flow__connectionline{z-index:1001}.react-flow__nodes{pointer-events:none;transform-origin:0 0}.react-flow__node{position:absolute;-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:all;transform-origin:0 0;box-sizing:border-box;cursor:-webkit-grab;cursor:grab}.react-flow__node.dragging{cursor:-webkit-grabbing;cursor:grabbing}.react-flow__nodesselection{z-index:3;transform-origin:left top;pointer-events:none}.react-flow__nodesselection-rect{position:absolute;pointer-events:all;cursor:-webkit-grab;cursor:grab}.react-flow__handle{position:absolute;pointer-events:none;min-width:5px;min-height:5px;width:6px;height:6px;background:#1a192b;border:1px solid white;border-radius:100%}.react-flow__handle.connectionindicator{pointer-events:all;cursor:crosshair}.react-flow__handle-bottom{top:auto;left:50%;bottom:-4px;transform:translate(-50%)}.react-flow__handle-top{left:50%;top:-4px;transform:translate(-50%)}.react-flow__handle-left{top:50%;left:-4px;transform:translateY(-50%)}.react-flow__handle-right{right:-4px;top:50%;transform:translateY(-50%)}.react-flow__edgeupdater{cursor:move;pointer-events:all}.react-flow__panel{position:absolute;z-index:5;margin:15px}.react-flow__panel.top{top:0}.react-flow__panel.bottom{bottom:0}.react-flow__panel.left{left:0}.react-flow__panel.right{right:0}.react-flow__panel.center{left:50%;transform:translate(-50%)}.react-flow__attribution{font-size:10px;background:#ffffff80;padding:2px 3px;margin:0}.react-flow__attribution a{text-decoration:none;color:#999}@-webkit-keyframes dashdraw{0%{stroke-dashoffset:10}}@keyframes dashdraw{0%{stroke-dashoffset:10}}.react-flow__edgelabel-renderer{position:absolute;width:100%;height:100%;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__edge.updating .react-flow__edge-path{stroke:#777}.react-flow__edge-text{font-size:10px}.react-flow__node.selectable:focus,.react-flow__node.selectable:focus-visible{outline:none}.react-flow__node-default,.react-flow__node-input,.react-flow__node-output,.react-flow__node-group{padding:10px;border-radius:3px;width:150px;font-size:12px;color:#222;text-align:center;border-width:1px;border-style:solid;border-color:#1a192b;background-color:#fff}.react-flow__node-default.selectable:hover,.react-flow__node-input.selectable:hover,.react-flow__node-output.selectable:hover,.react-flow__node-group.selectable:hover{box-shadow:0 1px 4px 1px #00000014}.react-flow__node-default.selectable.selected,.react-flow__node-default.selectable:focus,.react-flow__node-default.selectable:focus-visible,.react-flow__node-input.selectable.selected,.react-flow__node-input.selectable:focus,.react-flow__node-input.selectable:focus-visible,.react-flow__node-output.selectable.selected,.react-flow__node-output.selectable:focus,.react-flow__node-output.selectable:focus-visible,.react-flow__node-group.selectable.selected,.react-flow__node-group.selectable:focus,.react-flow__node-group.selectable:focus-visible{box-shadow:0 0 0 .5px #1a192b}.react-flow__node-group{background-color:#f0f0f040}.react-flow__nodesselection-rect,.react-flow__selection{background:#0059dc14;border:1px dotted rgba(0,89,220,.8)}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible,.react-flow__selection:focus,.react-flow__selection:focus-visible{outline:none}.react-flow__controls{box-shadow:0 0 2px 1px #00000014}.react-flow__controls-button{border:none;background:#fefefe;border-bottom:1px solid #eee;box-sizing:content-box;display:flex;justify-content:center;align-items:center;width:16px;height:16px;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;padding:5px}.react-flow__controls-button:hover{background:#f4f4f4}.react-flow__controls-button svg{width:100%;max-width:12px;max-height:12px}.react-flow__controls-button:disabled{pointer-events:none}.react-flow__controls-button:disabled svg{fill-opacity:.4}.react-flow__minimap{background-color:#fff}.react-flow__minimap svg{display:block}.react-flow__resize-control{position:absolute}.react-flow__resize-control.left,.react-flow__resize-control.right{cursor:ew-resize}.react-flow__resize-control.top,.react-flow__resize-control.bottom{cursor:ns-resize}.react-flow__resize-control.top.left,.react-flow__resize-control.bottom.right{cursor:nwse-resize}.react-flow__resize-control.bottom.left,.react-flow__resize-control.top.right{cursor:nesw-resize}.react-flow__resize-control.handle{width:4px;height:4px;border:1px solid #fff;border-radius:1px;background-color:#3367d9;transform:translate(-50%,-50%)}.react-flow__resize-control.handle.left{left:0;top:50%}.react-flow__resize-control.handle.right{left:100%;top:50%}.react-flow__resize-control.handle.top{left:50%;top:0}.react-flow__resize-control.handle.bottom{left:50%;top:100%}.react-flow__resize-control.handle.top.left,.react-flow__resize-control.handle.bottom.left{left:0}.react-flow__resize-control.handle.top.right,.react-flow__resize-control.handle.bottom.right{left:100%}.react-flow__resize-control.line{border-color:#3367d9;border-width:0;border-style:solid}.react-flow__resize-control.line.left,.react-flow__resize-control.line.right{width:1px;transform:translate(-50%);top:0;height:100%}.react-flow__resize-control.line.left{left:0;border-left-width:1px}.react-flow__resize-control.line.right{left:100%;border-right-width:1px}.react-flow__resize-control.line.top,.react-flow__resize-control.line.bottom{height:1px;transform:translateY(-50%);left:0;width:100%}.react-flow__resize-control.line.top{top:0;border-top-width:1px}.react-flow__resize-control.line.bottom{border-bottom-width:1px;top:100%}.calendar-ai{position:relative;min-height:100vh;width:100%;background:radial-gradient(1200px 800px at 70% -10%,#1b2030 0,#0f121a 45%,#0b0d13) fixed,#0e0f13;color:var(--color-text-primary)}.calendar-grid-section{padding:var(--spacing-md)}.calendar-grid-wrapper{max-width:980px;margin:0 auto}.calendar-grid-header{display:flex;align-items:center;justify-content:center;gap:12px;margin-bottom:10px}.calendar-grid-header h3{margin:0;font-size:18px}.calendar-grid-header .nav{display:grid;place-items:center;width:32px;height:32px;border-radius:8px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1)}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}.calendar-weekday{text-align:center;font-size:12px;color:var(--color-text-secondary);padding:6px 0}.calendar-cell{position:relative;display:flex;align-items:center;justify-content:center;height:48px;border-radius:10px;background:#ffffff08;border:1px solid rgba(255,255,255,.08);color:var(--color-text-primary)}.calendar-cell.muted{opacity:.5}.calendar-cell .date-num{font-size:13px;font-weight:600}.calendar-cell .event-dot{position:absolute;bottom:6px;width:6px;height:6px;border-radius:50%;background:var(--color-accent, #60a5fa)}.calendar-filter-banner{display:flex;align-items:center;justify-content:center;gap:6px;margin-top:10px;color:var(--color-text-secondary)}.calendar-popover{position:absolute;transform:translate(-50%,8px);background:#0d1018fa;border:1px solid rgba(255,255,255,.12);border-radius:10px;padding:8px;display:flex;gap:6px;z-index:60;box-shadow:0 10px 30px #00000059}.calendar-popover .action{display:flex;align-items:center;gap:6px;padding:6px 10px;border-radius:8px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1)}.calendar-ai-topbar{position:fixed;top:var(--spacing-md);right:var(--spacing-md);display:flex;gap:10px;z-index:50}.calendar-ai .icon-btn{width:42px;height:42px;display:grid;place-items:center;background:color-mix(in lab,var(--color-surface) 70%,black);border:1px solid color-mix(in lab,var(--color-surface) 85%,white 10%);border-radius:999px;cursor:pointer;box-shadow:0 8px 30px #00000040;transition:transform .15s ease,background .2s ease,border-color .2s ease}.calendar-ai .icon-btn:hover{transform:translateY(-2px)}.calendar-ai .icon-btn svg{width:20px;height:20px;fill:none;stroke:var(--color-text-primary);stroke-width:1.8}.calendar-ai .icon-btn[data-tip]{position:relative}.calendar-ai .icon-btn[data-tip]:after{content:attr(data-tip);position:absolute;bottom:-6px;left:50%;translate:-50% 100%;white-space:nowrap;font-size:12px;color:var(--color-text-primary);background:#0b0d13;border:1px solid #2a2f3e;padding:6px 8px;border-radius:8px;opacity:0;pointer-events:none;transition:.15s;box-shadow:0 8px 30px #00000040}.calendar-ai .icon-btn[data-tip]:hover:after{opacity:1}.calendar-ai-fab{position:fixed;right:var(--spacing-md);bottom:var(--spacing-md);z-index:40}.calendar-ai-fab .icon-btn{background:linear-gradient(180deg,#1e2433,#131826)}.calendar-ai-grid{position:relative;min-height:100vh;padding:var(--spacing-md);display:grid;gap:calc(var(--spacing-md) * 1.5);grid-auto-rows:8px;grid-template-columns:repeat(auto-fill,minmax(min(360px,100%),1fr));max-width:100%;width:min(100%,100vw)}@media (min-width: 1200px){.calendar-ai-grid{gap:calc(var(--spacing-md) * 2)}}.calendar-ai-grid.single{height:100vh}.calendar-ai-grid.single .event-card{height:calc(100vh - var(--spacing-md) * 2);grid-column:1 / -1}.event-card{position:relative;overflow:hidden;border-radius:var(--radius-xl);border:1px solid #23293a;background:#0c0f16;box-shadow:0 8px 30px #00000040;display:block;aspect-ratio:var(--ar, 4/3);contain:layout paint;cursor:pointer;transition:box-shadow .2s ease,transform .2s ease}.event-card:hover{transform:translateY(-2px)}.event-card.selected{box-shadow:0 0 0 3px color-mix(in lab,var(--color-accent) 65%,white 15%),0 8px 30px #00000040}.event-card .media{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;max-width:100%;max-height:100%;contain:paint;display:grid;place-items:center;background:#0b0d13}.event-card img{width:100%;height:100%;max-width:100%;max-height:100%;object-fit:var(--fit, contain);display:block;filter:saturate(1.05) contrast(1.03)}.event-card .vignette{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,#00000059 0,#00000040,#0000008c);pointer-events:none}.event-card .meta{position:absolute;left:12px;top:12px;right:12px;display:flex;flex-direction:column;gap:4px;z-index:2;text-shadow:0 2px 10px rgba(0,0,0,.6)}.event-card .title{font-weight:700;letter-spacing:.2px;font-size:clamp(16px,1.5vw,22px)}.event-card .where{font-size:12px;color:var(--color-text-secondary)}.countdown{position:absolute;left:50%;bottom:12px;transform:translate(-50%);z-index:2}.cd-part{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:8px 12px;border-radius:8px;background:transparent}.cd-num{font-variant-numeric:tabular-nums;font-weight:700;letter-spacing:.5px;font-size:clamp(16px,2vw,22px);color:var(--text-primary)}.cd-lbl{font-size:10px;color:var(--text-secondary);margin-top:2px}.card-actions{position:absolute;right:10px;top:10px;display:flex;gap:8px;z-index:2}.mini{width:34px;height:34px;display:grid;place-items:center;border-radius:10px;cursor:pointer;background:#0b0f1b;border:1px solid #2a334a;transition:transform .12s ease}.mini:hover{transform:translateY(-1px)}.mini svg{width:18px;height:18px;stroke:#cfe9ff;stroke-width:1.8;fill:none}.mini[data-tip]{position:relative}.mini[data-tip]:after{content:attr(data-tip);position:absolute;top:100%;left:50%;translate:-50% 6px;white-space:nowrap;background:#0b0d13;border:1px solid #2a2f3e;color:var(--color-text-primary);font-size:11px;padding:5px 7px;border-radius:8px;opacity:0;pointer-events:none;transition:.15s}.mini:hover:after{opacity:1}.empty-state{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;pointer-events:none;color:#8c95a3;text-align:center;padding:0 20px}.empty-state p{max-width:520px;line-height:1.6}.calendar-ai .modal{position:fixed;top:0;right:0;bottom:0;left:0;display:none;z-index:60;background:#06080c99;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);align-items:center;justify-content:center;padding:var(--spacing-md)}.calendar-ai .modal.show{display:flex}.calendar-ai .card{width:min(720px,100%);background:#0f1422;border:1px solid #263048;border-radius:20px;box-shadow:0 8px 30px #00000040;padding:clamp(16px,2.8vw,28px)}.calendar-ai .card h2{margin:0 0 14px;font-size:20px;letter-spacing:.2px}.calendar-ai .grid2{display:grid;grid-template-columns:1fr 1fr;gap:12px}.calendar-ai .row{margin:10px 0}.calendar-ai .row label{font-size:12px;color:var(--color-text-secondary);display:block;margin:4px 0 6px}.calendar-ai .row input[type=text],.calendar-ai .row input[type=datetime-local],.calendar-ai .row input[type=file],.calendar-ai .row select{width:100%;padding:12px;border-radius:12px;border:1px solid #2a334a;background:#0b1020;color:var(--color-text-primary)}.calendar-ai .row input[type=file]{padding:10px;border-style:dashed;color:var(--color-text-secondary)}.calendar-ai .actions{display:flex;gap:10px;justify-content:flex-end;margin-top:14px}.calendar-ai .btn{padding:10px 14px;border-radius:12px;border:1px solid #2a334a;background:#12182a;color:var(--color-text-primary);cursor:pointer;transition:transform .15s ease,background .2s ease}.calendar-ai .btn:hover:not(:disabled){transform:translateY(-1px)}.calendar-ai .btn.primary{background:linear-gradient(180deg,#20304a,#15233b);border-color:#314361;color:#d8f6e0}.calendar-ai .btn.danger{background:#28161a;border-color:#4a2a33;color:#ffd6d6}.calendar-ai .btn:disabled{opacity:.5;cursor:not-allowed}.calendar-ai .seg{display:inline-flex;background:#0c1222;border:1px solid #2a334a;border-radius:12px;overflow:hidden}.calendar-ai .seg button{padding:8px 12px;border:0;background:transparent;color:var(--color-text-primary);cursor:pointer;transition:background .2s ease}.calendar-ai .seg button.active{background:#172235}#help{position:fixed;top:0;right:0;bottom:0;left:0;display:none;z-index:70;background:#05070cb3;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);align-items:center;justify-content:center}#help.show{display:flex}#help .panel{margin:auto;width:min(720px,95%);background:#0f1422;border:1px solid #263048;border-radius:20px;box-shadow:0 8px 30px #00000040;padding:22px}#help h3{margin:0 0 10px}#help .grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}#help .row{display:flex;justify-content:space-between;gap:10px;padding:6px 0;border-bottom:1px dashed #28324a}#help .row:last-child{border-bottom:0}kbd{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;background:#10141e;border:1px solid #2a334a;padding:2px 6px;border-radius:6px;font-size:.9em}@media (max-width: 600px){.calendar-ai .grid2{grid-template-columns:1fr}.countdown{gap:8px}.cd-part{min-width:48px}#help .grid{grid-template-columns:1fr}}.calendar-ai-sidebar{display:flex;flex-direction:column;gap:var(--spacing-lg);padding:var(--spacing-md);height:100%;overflow-y:auto}.mini-calendar{background:var(--color-surface);border:1px solid var(--color-surface-border);border-radius:var(--border-radius-lg);padding:var(--spacing-md)}.calendar-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--spacing-md);gap:var(--spacing-sm)}.calendar-header .nav-btn{width:32px;height:32px;display:grid;place-items:center;background:transparent;border:none;border-radius:var(--border-radius-md);cursor:pointer;color:var(--color-text-secondary);transition:background .15s ease,color .15s ease;font-size:18px}.calendar-header .nav-btn:hover{background:color-mix(in lab,var(--color-surface) 85%,white 10%);color:var(--color-text-primary)}.calendar-header .month-label{flex:1;background:transparent;border:none;font-size:14px;font-weight:600;color:var(--color-text-primary);cursor:pointer;padding:6px 12px;border-radius:var(--border-radius-md);transition:background .15s ease;text-align:center}.calendar-header .month-label:hover{background:color-mix(in lab,var(--color-surface) 85%,white 10%)}.calendar-grid{display:flex;flex-direction:column;gap:8px}.weekday-header{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;margin-bottom:4px}.weekday{text-align:center;font-size:11px;font-weight:600;color:var(--color-text-secondary);padding:4px 0}.days-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.day{aspect-ratio:1;display:grid;place-items:center;font-size:12px;border-radius:var(--border-radius-sm);color:var(--color-text-primary);position:relative;cursor:pointer;transition:background .15s ease}.day:hover{background:color-mix(in lab,var(--color-surface) 85%,white 10%)}.day.other-month{color:var(--color-text-tertiary);opacity:.4}.day.today{background:var(--color-accent);color:#fff;font-weight:700}.day.has-event:after{content:"";position:absolute;bottom:2px;left:50%;transform:translate(-50%);width:4px;height:4px;background:var(--color-accent);border-radius:50%}.day.today.has-event:after{background:#fff}.category-filters{display:flex;flex-direction:column;gap:var(--spacing-xs)}.section-title{font-size:12px;font-weight:600;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.5px;margin:0 0 var(--spacing-sm) 0;padding:0 var(--spacing-sm)}.category-item{display:flex;align-items:center;gap:var(--spacing-sm);padding:10px 12px;background:transparent;border:1px solid transparent;border-radius:var(--border-radius-md);cursor:pointer;transition:background .15s ease,border-color .15s ease;text-align:left}.category-item:hover{background:color-mix(in lab,var(--color-surface) 85%,white 10%);border-color:var(--color-surface-border)}.category-item.active{background:var(--color-surface);border-color:var(--color-accent)}.category-item .icon{font-size:20px;color:var(--color-text-secondary)}.category-item.active .icon{color:var(--color-accent)}.category-name{flex:1;font-size:14px;color:var(--color-text-primary);font-weight:500}.category-count{font-size:12px;color:var(--color-text-secondary);background:color-mix(in lab,var(--color-surface) 85%,white 10%);padding:2px 8px;border-radius:12px;min-width:24px;text-align:center;font-weight:600}.category-item.active .category-count{background:color-mix(in lab,var(--color-accent) 20%,transparent);color:var(--color-accent)}.connection-status{margin-top:auto;padding-top:var(--spacing-md)}.status-card{display:flex;align-items:center;gap:var(--spacing-sm);padding:12px;background:var(--color-surface);border:1px solid var(--color-surface-border);border-radius:var(--border-radius-lg)}.status-card .icon{font-size:24px}.status-card.connected .icon{color:#4ade80}.status-card.disconnected .icon{color:var(--color-text-tertiary)}.status-text{flex:1;display:flex;flex-direction:column;gap:2px}.status-title{font-size:13px;font-weight:600;color:var(--color-text-primary)}.status-subtitle{font-size:11px;color:var(--color-text-secondary)}.connect-link{background:transparent;border:none;color:var(--color-accent);cursor:pointer;font-size:11px;padding:0;text-align:left;text-decoration:underline;transition:opacity .15s ease}.connect-link:hover{opacity:.8}.calendar-ai-sidebar::-webkit-scrollbar{width:6px}.calendar-ai-sidebar::-webkit-scrollbar-track{background:transparent}.calendar-ai-sidebar::-webkit-scrollbar-thumb{background:var(--color-surface-border);border-radius:3px}.calendar-ai-sidebar::-webkit-scrollbar-thumb:hover{background:color-mix(in lab,var(--color-surface-border) 80%,white 20%)}.calendar-day-tooltip{position:fixed;transform:translateY(-50%);background:#0d1018f2;border:1px solid var(--color-surface-border);border-radius:var(--border-radius-md);padding:8px;display:flex;flex-direction:column;gap:8px;z-index:4000;box-shadow:0 10px 30px #00000040;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.calendar-day-tooltip:before{content:"";position:absolute;left:-6px;top:50%;width:10px;height:10px;transform:translateY(-50%) rotate(45deg);background:#0d1018f2;border-left:1px solid var(--color-surface-border);border-bottom:1px solid var(--color-surface-border)}.calendar-day-tooltip .action{display:flex;align-items:center;gap:6px;padding:6px 10px;border-radius:var(--border-radius-sm);background:#ffffff1f;border:1px solid rgba(255,255,255,.16)}.calendar-day-tooltip .action:hover{background:#ffffff2e}[data-theme=light] .calendar-day-tooltip{background:#fffffffa;border-color:#0000001a}[data-theme=light] .calendar-day-tooltip .action{background:#0000000d;border-color:#0000001a}[data-theme=light] .calendar-day-tooltip .action:hover{background:#00000014}[data-theme=light] .calendar-day-tooltip:before{background:#fffffffa;border-left-color:#0000001a;border-bottom-color:#0000001a}.glass-dock{position:fixed;z-index:2000;-webkit-user-select:none;user-select:none;transition:all .3s cubic-bezier(.4,0,.2,1);transform-origin:center bottom;will-change:transform;display:flex;flex-direction:column;align-items:center;gap:0}.glass-dock.voice-chat-expanded{background:#ffffff1a;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.2);border-radius:24px;box-shadow:0 8px 32px #0000001a,0 4px 16px #0000000d,inset 0 1px #ffffff4d,inset 0 -1px #0000001a;padding:16px;cursor:default}.glass-dock.voice-chat-expanded:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg,#ffffff26,#ffffff0d,#0000000d);border-radius:inherit;pointer-events:none;z-index:-1}.glass-dock.minimized{background:#ffffff1a;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.2);border-radius:16px;box-shadow:0 8px 32px #0003,0 4px 16px #0000001a,inset 0 1px #ffffff4d;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s ease}.glass-dock.minimized:hover{background:#ffffff26;transform:scale(1.05);box-shadow:0 12px 40px #0000004d,0 6px 20px #00000026,inset 0 1px #fff6}.minimized-icon{display:flex;align-items:center;justify-content:center;width:100%;height:100%}.minimized-icon .icon{font-size:32px;color:#3b82f6e6;transition:all .3s ease}.glass-dock.minimized:hover .minimized-icon .icon{color:#3b82f6;transform:scale(1.1)}.glass-dock.dragging{cursor:grabbing;transform:scale(1.05) rotateX(5deg);transition:none}.glass-dock:not(.voice-chat-expanded){cursor:grab}.dock-container{display:flex;align-items:center;gap:8px;padding:12px;background:#ffffff1a;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.2);border-radius:24px;box-shadow:0 8px 32px #0000001a,0 4px 16px #0000000d,inset 0 1px #ffffff4d,inset 0 -1px #0000001a;position:relative;overflow:hidden;cursor:grab}.glass-dock.voice-chat-expanded .dock-container{background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none;border:none;box-shadow:none;border-top:1px solid rgba(255,255,255,.1);border-radius:0;cursor:grab}.dock-container:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg,#ffffff26,#ffffff0d,#0000000d);border-radius:inherit;pointer-events:none}.glass-dock.voice-chat-expanded .dock-container:before{display:none}.dock-item{position:relative;width:56px;height:56px;border-radius:16px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);background:#ffffff0d;border:1px solid rgba(255,255,255,.1);overflow:hidden;z-index:1}.dock-item:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg,#ffffff1a,#ffffff05);border-radius:inherit;transition:opacity .3s ease;opacity:0}.dock-item:hover:before{opacity:1}.dock-item:hover{transform:translateY(-2px) scale(1.02);background:#ffffff26;border-color:#ffffff40;box-shadow:0 8px 16px #0000001f,0 4px 8px #00000014,inset 0 1px #ffffff4d}.dock-item:active{transform:translateY(-4px) scale(1.05);transition:all .15s ease}.dock-item.active{background:#ffffff40;border-color:#fff6;box-shadow:0 0 16px #fff6,0 4px 12px #0000001a,inset 0 1px #fff6}.dock-item .icon{font-size:24px;color:#000c;font-family:Material Symbols Outlined,Material Icons,sans-serif;z-index:2;transition:all .3s ease;text-shadow:0 2px 8px rgba(255,255,255,.3),0 1px 3px rgba(255,255,255,.5);font-weight:400;font-style:normal;font-variant:normal;line-height:1;letter-spacing:normal;text-rendering:optimizeLegibility;font-variation-settings:"FILL" 0,"wght" 400,"GRAD" 0,"opsz" 24}.dock-item:hover .icon{color:#000;text-shadow:0 2px 12px rgba(255,255,255,.4);font-variation-settings:"FILL" .5,"wght" 500,"GRAD" 0,"opsz" 24}.dock-item.active .icon{color:#000;text-shadow:0 2px 12px rgba(var(--color-accent-rgb, 0, 123, 255),.5);font-variation-settings:"FILL" 1,"wght" 500,"GRAD" 0,"opsz" 24}.active-indicator{position:absolute;bottom:-4px;left:50%;transform:translate(-50%);width:6px;height:6px;border-radius:50%;background:var(--color-accent, #007bff);box-shadow:0 0 12px rgba(var(--color-accent-rgb, 0, 123, 255),.8);animation:pulse-indicator 2s infinite}@keyframes pulse-indicator{0%,to{opacity:1;transform:translate(-50%) scale(1)}50%{opacity:.7;transform:translate(-50%) scale(1.2)}}.remove-item{display:none!important}.dock-item:hover .remove-item{opacity:1;transform:scale(1)}.remove-item:hover{background:#ff4757;transform:scale(1.1)}.remove-item .icon{font-size:12px;color:#fff;text-shadow:none;font-family:Material Symbols Outlined,Material Icons,sans-serif;font-variation-settings:"FILL" 1,"wght" 500,"GRAD" 0,"opsz" 12}.dock-item.listening{background:#ff475733;border-color:#ff475766;animation:pulse-listening 2s infinite}.dock-item.listening .icon{color:#fff;text-shadow:0 2px 12px rgba(255,71,87,.8)}@keyframes pulse-listening{0%,to{box-shadow:0 0 20px #ff47574d}50%{box-shadow:0 0 30px #ff475799}}.listening-animation{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:100%;height:100%;pointer-events:none}.listening-animation .pulse{position:absolute;top:0;left:0;width:100%;height:100%;border-radius:inherit;background:#ff47574d;animation:pulse-wave 1.5s infinite}.listening-animation .pulse:nth-child(2){animation-delay:.5s}.listening-animation .pulse:nth-child(3){animation-delay:1s}@keyframes pulse-wave{0%{transform:scale(1);opacity:1}to{transform:scale(1.5);opacity:0}}.voice-status-dock{position:absolute;top:-45px;left:50%;transform:translate(-50%);background:#000000e6;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.3);border-radius:20px;padding:10px 16px;font-size:12px;color:#fffffff2;text-align:center;white-space:nowrap;z-index:1002;animation:slideDown .3s ease;max-width:250px;text-overflow:ellipsis;overflow:hidden;box-shadow:0 8px 32px #0003,0 4px 16px #0000001a}@keyframes slideDown{0%{opacity:0;transform:translate(-50%) translateY(-10px) scale(.9)}to{opacity:1;transform:translate(-50%) translateY(0) scale(1)}}.dock-handle{position:absolute;top:-12px;left:50%;transform:translate(-50%);width:32px;height:8px;background:#fff3;border-radius:4px;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .3s ease;cursor:grab}.glass-dock:hover .dock-handle{opacity:1}.dock-handle .icon{font-size:12px;color:#fff9;transform:rotate(90deg);font-family:Material Symbols Outlined,Material Icons,sans-serif;font-variation-settings:"FILL" 0,"wght" 300,"GRAD" 0,"opsz" 12}.dock-item.removing{animation:dock-item-remove .3s ease forwards}.dock-item.adding{animation:dock-item-add .3s ease forwards}@keyframes dock-item-remove{0%{opacity:1;transform:scale(1);width:56px;margin-right:8px}50%{opacity:0;transform:scale(.8) rotate(180deg)}to{opacity:0;transform:scale(0);width:0;margin-right:0}}@keyframes dock-item-add{0%{opacity:0;transform:scale(0);width:0;margin-right:0}50%{opacity:0;transform:scale(.8);width:56px;margin-right:8px}to{opacity:1;transform:scale(1)}}.subtitle-area{position:absolute;bottom:-90px;left:0;right:0;height:80px;background:#000000e6;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-radius:12px;border:1px solid rgba(255,255,255,.1);display:flex;align-items:center;justify-content:center;padding:12px;box-shadow:0 4px 16px #0000004d}.subtitle-text{color:#fff;font-size:14px;text-align:center;line-height:1.4;opacity:.9}.personality-indicator{position:absolute;top:-70px;right:0;background:#000000d9;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-radius:8px;border:1px solid rgba(255,255,255,.1);padding:8px 12px;box-shadow:0 4px 16px #0000004d;min-width:120px;opacity:0;transform:translate(10px);transition:all .3s ease;pointer-events:none}.glass-dock:hover .personality-indicator{opacity:1;transform:translate(0)}.personality-info{display:flex;flex-direction:column;gap:4px}.personality-name{color:#fff;font-size:13px;font-weight:600;white-space:nowrap}.personality-domain{color:#ffffffb3;font-size:11px;font-weight:400;white-space:nowrap}[data-theme="dark"] .dock-container,@media (prefers-color-scheme: dark){.dock-container{background:#0006;border-color:#fff3;box-shadow:0 8px 32px #0000004d,0 4px 16px #0003,inset 0 1px #fff3,inset 0 -1px #0003}.dock-item{background:#ffffff14;border-color:#ffffff1f}.dock-item:hover{background:#ffffff26;border-color:#ffffff40}.dock-item .icon{color:#ffffffe6;text-shadow:0 2px 8px rgba(0,0,0,.5),0 1px 3px rgba(0,0,0,.7)}.dock-item:hover .icon{color:#fff;text-shadow:0 2px 12px rgba(0,0,0,.4)}.dock-item.active .icon{color:#fff;text-shadow:0 2px 12px rgba(var(--color-accent-rgb, 0, 123, 255),.5)}.dock-handle{background:#fff3}.voice-status-dock{background:#000000e6;border-color:#ffffff4d}}[data-theme=light] .dock-container{background:#fff3;border-color:#0000001a;box-shadow:0 8px 32px #00000014,0 4px 16px #0000000a,inset 0 1px #ffffff80,inset 0 -1px #0000000d}[data-theme=light] .dock-item{background:#ffffff4d;border-color:#00000014}[data-theme=light] .dock-item:hover{background:#ffffff80;border-color:#0000001f}[data-theme=light] .dock-item .icon{color:#000c;text-shadow:0 2px 8px rgba(255,255,255,.5),0 1px 3px rgba(255,255,255,.3)}[data-theme=light] .dock-item:hover .icon{color:#000000e6}[data-theme=light] .dock-handle{background:#00000026}[data-theme=light] .voice-status-dock{background:#fffffff2;border-color:#00000026;color:#000000d9;box-shadow:0 8px 32px #0000001a,0 4px 16px #0000000d}@media (max-width: 768px){.dock-container{padding:8px;gap:6px;border-radius:20px}.dock-item{width:48px;height:48px;border-radius:14px}.dock-item .icon{font-size:20px}.dock-item:hover{transform:translateY(-6px) scale(1.05)}.remove-item{width:18px;height:18px;top:-6px;right:-6px}.remove-item .icon{font-size:10px}}@media (prefers-reduced-motion: reduce){.glass-dock,.dock-item,.remove-item{transition:none}.dock-item:hover{transform:none}.active-indicator{animation:none}@keyframes dock-item-remove,@keyframes dock-item-add{animation-duration: .1s;}}@media (prefers-contrast: high){.dock-container{background:#000c;border:2px solid #ffffff}.dock-item{background:#ffffff1a;border:1px solid #ffffff}.dock-item .icon{color:#fff}}.voice-chat-section{display:flex;flex-direction:column;animation:slideUpIn .3s cubic-bezier(.4,0,.2,1);overflow:hidden;cursor:default;position:relative;z-index:1;margin-bottom:12px}@keyframes slideUpIn{0%{opacity:0;transform:translateY(20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.voice-chat-header-minimal{position:absolute;top:12px;left:12px;right:12px;display:flex;justify-content:space-between;align-items:center;z-index:10;pointer-events:none}.voice-chat-header-minimal>*{pointer-events:all}.status-light-container{display:flex;align-items:center;gap:8px}.status-light{position:relative;width:12px;height:12px;border-radius:50%;background:#fff3;transition:all .3s ease}.status-light.online{background:#2ed573;box-shadow:0 0 12px #2ed57399}.status-light.offline{background:#ffffff4d}.status-pulse{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:100%;height:100%;border-radius:50%;background:#2ed573;animation:pulse-ring 2s infinite}@keyframes pulse-ring{0%{transform:translate(-50%,-50%) scale(1);opacity:1}to{transform:translate(-50%,-50%) scale(2.5);opacity:0}}.voice-chat-header .header-top{display:flex;justify-content:space-between;align-items:flex-start}.voice-chat-header .header-left{display:flex;align-items:flex-start;gap:12px;flex:1}.voice-chat-header .header-left>.icon{color:var(--color-accent, #007bff);font-size:24px;margin-top:2px}.voice-chat-header .header-info{display:flex;flex-direction:column;gap:6px}.voice-chat-header h3{margin:0;font-size:16px;font-weight:600;color:#fffffff2;text-shadow:0 1px 2px rgba(0,0,0,.3);line-height:1.2}.voice-chat-header .header-meta{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.status-indicator{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:500;padding:3px 8px;border-radius:12px;background:#0003}.status-indicator.connected{color:#2ed573;background:#2ed57326}.status-indicator.disconnected{color:#fff9;background:#ffffff14}.status-dot{width:6px;height:6px;border-radius:50%;background:currentColor}.status-indicator.connected .status-dot{animation:pulse-dot 2s infinite}@keyframes pulse-dot{0%,to{opacity:1}50%{opacity:.5}}.recording-indicator{display:flex;align-items:center;gap:4px;font-size:11px;font-weight:500;color:#ff4757;padding:3px 8px;border-radius:12px;background:#ff475726}.recording-indicator .icon{font-size:14px;animation:pulse 1.5s infinite}.message-count{font-size:11px;color:#fff9;padding:3px 8px;border-radius:12px;background:#ffffff14}.status-badge{padding:4px 8px;border-radius:12px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.status-badge.connected{background:#2ed57333;color:#2ed573;animation:pulse-badge 2s infinite}@keyframes pulse-badge{0%,to{opacity:1}50%{opacity:.6}}.voice-chat-header .header-actions{display:flex;gap:8px}.icon-btn{width:32px;height:32px;border:none;background:transparent;color:#ffffffb3;cursor:pointer;border-radius:8px;display:flex;align-items:center;justify-content:center;transition:all .2s}.icon-btn:hover:not(:disabled){background:#ffffff1a;color:#fffffff2}.icon-btn:disabled{opacity:.3;cursor:not-allowed}.icon-btn .icon{font-size:18px}.icon-btn.close-btn:hover:not(:disabled){background:#ff475733;color:#ff4757}.voice-selector-compact{display:flex;align-items:center;gap:10px;padding:10px 12px;background:#00000026;border-radius:12px;position:relative}.voice-selector-compact>.icon{color:#ffffffb3;font-size:18px}.voice-selector-compact .voice-select{flex:1;padding:6px 10px;background:#ffffff14;border:1px solid rgba(255,255,255,.15);border-radius:8px;color:#fffffff2;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s;backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);outline:none}.voice-selector-compact .voice-select:hover:not(:disabled){border-color:var(--color-accent, #007bff);background:#ffffff1f}.voice-selector-compact .voice-select:focus{border-color:var(--color-accent, #007bff);box-shadow:0 0 0 3px #007bff1a}.voice-selector-compact .voice-select:disabled{opacity:.5;cursor:not-allowed;background:#ffffff0d}.voice-locked-hint{font-size:10px;color:#ffffff80;font-style:italic;position:absolute;bottom:-16px;left:28px;white-space:nowrap}.voice-chat-canvas{position:relative;display:flex;flex-direction:column;flex:1;min-height:320px;max-height:100%}.voice-visualization{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:40px 20px 20px;flex:1}.voice-waves-container{display:flex;align-items:center;justify-content:center;gap:12px;height:60px}.awareness-plus{font-size:24px;font-weight:300;color:#0006;line-height:1}[data-theme="dark"] .awareness-plus,@media (prefers-color-scheme: dark){.awareness-plus{color:#ffffff80}}.voice-waves{display:flex;align-items:center;justify-content:center;gap:6px;height:60px}.wave{width:3px;height:16px;background:#0000004d;border-radius:2px;transition:all .3s ease;will-change:height,background}.wave.active{animation:wave-pulse-light 1.2s infinite ease-in-out}[data-theme="dark"] .wave,@media (prefers-color-scheme: dark){.wave{background:#ffffff4d}.wave.active{animation:wave-pulse-dark 1.2s infinite ease-in-out}}.wave:nth-child(1).active{animation-delay:0s}.wave:nth-child(2).active{animation-delay:.15s}.wave:nth-child(3).active{animation-delay:.3s}.wave:nth-child(4).active{animation-delay:.45s}.wave:nth-child(5).active{animation-delay:.6s}@keyframes wave-pulse-light{0%,to{height:16px;background:#0000004d;transform:scaleY(1)}50%{height:48px;background:#1fab5e;transform:scaleY(1.05)}}@keyframes wave-pulse-dark{0%,to{height:16px;background:#ffffff4d;transform:scaleY(1)}50%{height:48px;background:#2ed573;transform:scaleY(1.05)}}.voice-status-text{font-size:13px;color:#000000b3;font-weight:500}[data-theme="dark"] .voice-status-text,@media (prefers-color-scheme: dark){.voice-status-text{color:#fffc}}.voice-connect-prompt{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:60px 20px;flex:1}.voice-connect-prompt .icon{font-size:48px;color:#fff6}.voice-connect-prompt p{margin:0;font-size:14px;color:#ffffffb3}.voice-connect-prompt .voice-name{font-size:12px;color:#ffffff80;padding:4px 12px;background:#ffffff14;border-radius:12px}.voice-chat-messages{flex:1;overflow-y:auto;padding:12px;display:flex;flex-direction:column;gap:10px;max-height:200px}.voice-chat-messages .message{display:flex;animation:messageIn .3s ease-out}@keyframes messageIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.voice-chat-messages .message-content{padding:10px 14px;border-radius:12px;max-width:80%;font-size:14px;line-height:1.5;word-wrap:break-word}.voice-chat-messages .message-user .message-content{background:var(--color-accent, #007bff);color:#fff;margin-left:auto;border-bottom-right-radius:4px}.voice-chat-messages .message-assistant .message-content{background:#ffffff26;color:#fffffff2;border-bottom-left-radius:4px}.voice-chat-messages .message-system .message-content{background:#ffffff1a;color:#fffc;font-size:12px;text-align:center;margin:0 auto;font-style:italic}.voice-chat-messages .message-error .message-content{background:#ff475733;color:#ff4757;font-size:13px;border:1px solid rgba(255,71,87,.3)}.voice-chat-messages .message-transcribing .message-content{opacity:.6;animation:pulse 1.5s infinite}@keyframes pulse{0%,to{opacity:.6}50%{opacity:1}}.voice-chat-controls{padding:16px;border-top:1px solid rgba(255,255,255,.1);background:#ffffff0d;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);display:flex;flex-direction:column;gap:12px;position:relative;z-index:1}.connect-btn{width:100%;padding:12px 20px;border:none;border-radius:12px;background:var(--color-accent, #007bff);color:#fff;font-size:14px;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;transition:all .2s}.connect-btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px #0003}.connect-btn:active{transform:translateY(0)}.connect-btn.connected{background:#ff4757}.connect-btn.connected:hover{background:#ff3838}.connect-btn .icon{font-size:18px}.api-key-warning{position:absolute;bottom:100%;left:0;right:0;margin-bottom:8px;padding:12px 16px;background:#ffffff26;color:#fffffff2;border:1px solid rgba(255,255,255,.2);border-radius:12px;display:flex;align-items:center;gap:8px;font-size:13px;font-weight:500;box-shadow:0 4px 12px #0003}.api-key-warning .icon{font-size:18px}.voice-chat-messages::-webkit-scrollbar{width:6px}.voice-chat-messages::-webkit-scrollbar-track{background:transparent}.voice-chat-messages::-webkit-scrollbar-thumb{background:#fff3;border-radius:3px}.voice-chat-messages::-webkit-scrollbar-thumb:hover{background:#ffffff4d}.capabilities-info-panel{position:absolute;bottom:calc(100% + 12px);left:0;width:420px;background:#ffffff1a;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.2);border-radius:24px;box-shadow:0 8px 32px #0000001a,0 4px 16px #0000000d,inset 0 1px #ffffff4d,inset 0 -1px #0000001a;animation:slideUpIn .3s cubic-bezier(.4,0,.2,1);cursor:default;z-index:2001}.capabilities-info-panel:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg,#ffffff26,#ffffff0d,#0000000d);border-radius:inherit;pointer-events:none;z-index:-1}.capabilities-header{display:flex;justify-content:space-between;align-items:center;padding:16px;border-bottom:1px solid rgba(255,255,255,.1);background:#ffffff0d}.capabilities-title{display:flex;align-items:center;gap:10px}.capabilities-title .icon{font-size:22px;color:var(--color-accent, #007bff)}.capabilities-title h4{margin:0;font-size:16px;font-weight:600;color:#fffffff2;text-shadow:0 1px 2px rgba(0,0,0,.3)}.capabilities-content{padding:16px;display:flex;flex-direction:column;gap:20px;max-height:400px;overflow-y:auto}.capabilities-section{display:flex;flex-direction:column;gap:10px}.section-title{display:flex;align-items:center;gap:8px;margin-bottom:6px}.section-title .icon{font-size:18px;color:#fffc}.section-title h5{margin:0;font-size:14px;font-weight:600;color:#fffffff2;text-shadow:0 1px 2px rgba(0,0,0,.3)}.command-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px}.command-list li{font-size:13px;color:#ffffffd9;padding:8px 12px;background:#00000026;border-radius:8px;border-left:2px solid rgba(255,255,255,.2);line-height:1.4}.command-list code{font-family:Monaco,Menlo,monospace;font-size:12px;color:#2ed573;background:#2ed5731a;padding:2px 6px;border-radius:4px;font-weight:600}.capabilities-tip{display:flex;align-items:flex-start;gap:10px;padding:12px;background:#ffffff1a;border-radius:12px;border:1px solid rgba(255,255,255,.2)}.capabilities-tip .icon{font-size:20px;color:#fffc;margin-top:2px}.capabilities-tip p{margin:0;font-size:12px;color:#ffffffe6;line-height:1.5}.capabilities-content::-webkit-scrollbar{width:6px}.capabilities-content::-webkit-scrollbar-track{background:transparent}.capabilities-content::-webkit-scrollbar-thumb{background:#fff3;border-radius:3px}.capabilities-content::-webkit-scrollbar-thumb:hover{background:#ffffff4d}.system-messages-overlay{position:absolute;top:48px;left:12px;right:12px;z-index:20;display:flex;flex-direction:column;gap:8px;pointer-events:none}.system-message-toast{background:#ffffff26;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2);border-radius:12px;padding:10px 16px;color:#fffffff2;font-size:13px;font-weight:500;text-align:center;box-shadow:0 4px 12px #0003;animation:toastSlideIn .3s ease-out,toastFadeOut .5s ease-in 2.5s forwards}@keyframes toastSlideIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes toastFadeOut{0%{opacity:1}to{opacity:0}}.eye-icon{color:#0009;filter:drop-shadow(0 2px 8px rgba(0,0,0,.2));animation:fadeIn .4s ease-out}[data-theme="dark"] .eye-icon,@media (prefers-color-scheme: dark){.eye-icon{color:#ffffffb3;filter:drop-shadow(0 2px 8px rgba(0,0,0,.3))}}.eye-icon.blinking{animation:blink 2.5s infinite}@keyframes fadeIn{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}@keyframes blink{0%,42%,58%,to{opacity:1}50%{opacity:.2}}.voice-chat-resize-handle{position:absolute;bottom:4px;right:4px;width:32px;height:32px;display:flex;align-items:center;justify-content:center;cursor:nwse-resize;opacity:.3;transition:opacity .2s;z-index:100;pointer-events:all;background:#ffffff0d;border-radius:8px}.voice-chat-resize-handle:hover{opacity:.9;background:#ffffff1a}.voice-chat-resize-handle .icon{font-size:16px;color:#ffffffb3;transform:rotate(90deg);pointer-events:none}.glass-dock.node-mode{width:380px!important;height:auto!important;min-height:500px;max-height:700px}.node-mode-panel{display:flex;flex-direction:column;height:100%;width:100%;background:#ffffff0d;border-radius:24px;overflow:hidden}.node-mode-header{display:flex;align-items:center;gap:10px;padding:16px;border-bottom:1px solid rgba(255,255,255,.1);background:#ffffff08}.node-mode-header .icon{font-size:22px;color:#3b82f6e6;flex-shrink:0}.node-name-input{flex:1;background:transparent;border:none;color:#fffffff2;font-size:16px;font-weight:600;outline:none;padding:4px 8px;border-radius:6px;transition:background .2s}.node-name-input:focus{background:#ffffff14}.mode-badge{padding:4px 10px;background:#3b82f633;color:#3b82f6;border-radius:12px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;flex-shrink:0}.node-mode-header .icon-btn{width:28px;height:28px;padding:0;display:flex;align-items:center;justify-content:center;background:#ffffff1a;border:none;border-radius:8px;cursor:pointer;transition:all .2s;flex-shrink:0}.node-mode-header .icon-btn:hover{background:#ff475733}.node-mode-header .icon-btn .icon{font-size:18px;color:#fffc}.node-mode-content{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:20px}.config-section{display:flex;flex-direction:column;gap:10px}.config-section h4{margin:0 0 8px;font-size:12px;font-weight:600;color:#ffffffb3;text-transform:uppercase;letter-spacing:.8px}.port-config{display:flex;align-items:center;gap:8px;padding:10px 12px;background:#ffffff0d;border-radius:10px;margin-bottom:6px;transition:all .2s}.port-config:hover{background:#ffffff14}.port-dot{width:12px;height:12px;border-radius:50%;flex-shrink:0;box-shadow:0 2px 6px #0003}.port-dot.input-port{background:#94a3b8}.port-dot.output-port{background:#3b82f6}.port-config input[type=text]{flex:1;background:transparent;border:none;color:#fffffff2;font-size:13px;outline:none;padding:4px 6px;border-radius:4px;transition:background .2s}.port-config input[type=text]:focus{background:#ffffff0d}.port-config select{padding:6px 10px;background:#ffffff1a;border:1px solid rgba(255,255,255,.15);border-radius:6px;color:#ffffffe6;font-size:12px;font-weight:500;cursor:pointer;outline:none;transition:all .2s}.port-config select:hover{background:#ffffff26;border-color:#ffffff40}.port-config select:focus{border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f61a}.port-config .icon-btn.remove-port{width:24px;height:24px;padding:0;background:transparent;border:none;display:flex;align-items:center;justify-content:center;cursor:pointer;opacity:.5;transition:all .2s}.port-config .icon-btn.remove-port:hover{opacity:1;background:#ff475733;border-radius:6px}.port-config .icon-btn.remove-port .icon{font-size:16px;color:#ff4757}.add-port-btn{width:100%;padding:10px;background:transparent;border:1px dashed rgba(255,255,255,.25);border-radius:10px;color:#fff9;font-size:12px;font-weight:500;cursor:pointer;transition:all .2s}.add-port-btn:hover{background:#ffffff0d;border-color:#fff6;color:#ffffffe6;border-style:solid}.checkbox-label{display:flex;align-items:center;gap:10px;padding:10px 12px;background:#ffffff0d;border-radius:8px;cursor:pointer;transition:all .2s;font-size:13px;color:#ffffffd9}.checkbox-label:hover{background:#ffffff14}.checkbox-label input[type=checkbox]{width:16px;height:16px;cursor:pointer;accent-color:#3b82f6}.number-label{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;background:#ffffff0d;border-radius:8px;font-size:13px;color:#ffffffd9}.number-label input[type=number]{width:100px;padding:6px 10px;background:#ffffff1a;border:1px solid rgba(255,255,255,.15);border-radius:6px;color:#ffffffe6;font-size:13px;outline:none;transition:all .2s}.number-label input[type=number]:focus{border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f61a}.node-mode-footer{display:flex;gap:8px;padding:14px 16px;border-top:1px solid rgba(255,255,255,.1);background:#ffffff08}.test-node-btn,.save-btn,.return-btn{flex:1;padding:10px 16px;border:none;border-radius:10px;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center;gap:6px}.test-node-btn{background:#3b82f633;color:#3b82f6;border:1px solid rgba(59,130,246,.3)}.save-btn{background:#22c55e33;color:#22c55e;border:1px solid rgba(34,197,94,.3)}.return-btn{background:#ffffff1a;color:#ffffffe6;border:1px solid rgba(255,255,255,.15)}.test-node-btn:hover{background:#3b82f64d;border-color:#3b82f680;transform:translateY(-1px)}.save-btn:hover{background:#22c55e4d;border-color:#22c55e80;transform:translateY(-1px)}.return-btn:hover{background:#ffffff26;border-color:#ffffff40;transform:translateY(-1px)}.test-node-btn:active,.save-btn:active,.return-btn:active{transform:translateY(0)}.test-node-btn .icon,.save-btn .icon,.return-btn .icon{font-size:16px}.node-mode-content::-webkit-scrollbar{width:6px}.node-mode-content::-webkit-scrollbar-track{background:transparent}.node-mode-content::-webkit-scrollbar-thumb{background:#fff3;border-radius:3px}.node-mode-content::-webkit-scrollbar-thumb:hover{background:#ffffff4d}[data-theme=dark] .node-mode-panel{background:#ffffff0d}[data-theme=light] .node-mode-panel{background:#00000005}[data-theme=light] .node-name-input,[data-theme=light] .port-config input[type=text],[data-theme=light] .checkbox-label,[data-theme=light] .number-label{color:#000000e6}[data-theme=light] .config-section h4{color:#000000b3}[data-theme=light] .port-config,[data-theme=light] .checkbox-label,[data-theme=light] .number-label{background:#0000000d}[data-theme=light] .add-port-btn{color:#0009;border-color:#0003}[data-theme=light] .add-port-btn:hover{color:#000000e6;border-color:#0006}@keyframes slideIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.node-mode-panel{animation:slideIn .3s ease-out}@media (max-width: 768px){.glass-dock.node-mode{width:calc(100vw - 32px)!important;max-width:380px}.node-mode-footer{flex-direction:column}.test-node-btn,.save-btn,.return-btn{width:100%}}.system-info-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:flex;align-items:center;justify-content:center;background-color:var(--bg-overlay);-webkit-backdrop-filter:var(--backdrop-filter);backdrop-filter:var(--backdrop-filter);animation:fade-in .3s ease-out;padding:20px}@keyframes backdrop-fade-in{0%{opacity:0}to{opacity:1}}.system-info-modal{background-color:var(--bg-panel);border:1px solid var(--border-primary);border-radius:12px;box-shadow:0 10px 30px #0003;max-width:800px;max-height:90vh;width:100%;overflow:hidden;animation:slide-up .4s ease-out}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid var(--color-surface-border, rgba(0, 0, 0, .1));background:var(--color-bg, #f8fafc)}.modal-header h2{display:flex;align-items:center;gap:12px;margin:0;font-size:20px;font-weight:600;color:var(--color-text-primary, #1f2937)}.modal-header .icon{font-family:Material Symbols Outlined,Material Icons,sans-serif;font-size:24px;color:var(--color-accent, #3b82f6)}.close-button{background:none;border:none;padding:8px;border-radius:8px;cursor:pointer;color:var(--color-text-secondary, #6b7280);transition:all .2s ease}.close-button:hover{background:#0000000d;color:var(--color-text-primary, #1f2937)}.close-button .icon{font-family:Material Symbols Outlined,Material Icons,sans-serif;font-size:20px}.modal-content{padding:24px;overflow-y:auto;max-height:calc(90vh - 80px)}.info-section{margin-bottom:32px}.info-section:last-child{margin-bottom:0}.info-section h3{display:flex;align-items:center;gap:12px;margin:0 0 16px;font-size:18px;font-weight:600;color:var(--color-text-primary, #1f2937)}.info-section h3 .icon{font-family:Material Symbols Outlined,Material Icons,sans-serif;font-size:20px;color:var(--color-accent, #3b82f6)}.info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:16px}.info-item{display:flex;flex-direction:column;gap:4px;padding:12px;background:var(--color-bg, #f8fafc);border:1px solid var(--color-surface-border, rgba(0, 0, 0, .1));border-radius:8px}.info-item.full-width{grid-column:1 / -1}.info-item .label{font-size:12px;font-weight:500;color:var(--color-text-secondary, #6b7280);text-transform:uppercase;letter-spacing:.05em}.info-item .value{font-size:14px;font-weight:500;color:var(--color-text-primary, #1f2937);word-break:break-word}.status{font-size:14px;font-weight:500;padding:2px 8px;border-radius:4px;display:inline-block}.status.success{background:#22c55e1a;color:#16a34a}.status.error{background:#ef44441a;color:#dc2626}.status.warning{background:#f59e0b1a;color:#d97706}.status.neutral{background:#6b72801a;color:#6b7280}.commands-list{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.command-tag{background:var(--color-accent, #3b82f6);color:#fff;font-size:12px;font-weight:500;padding:4px 8px;border-radius:4px;font-family:monospace}.timestamp{font-size:12px;color:var(--color-text-secondary, #6b7280);font-style:italic;margin-top:4px}.info-footer{margin-top:24px;padding-top:16px;border-top:1px solid var(--color-surface-border, rgba(0, 0, 0, .1));text-align:center}[data-theme=dark] .system-info-modal{background:#1f2937f2;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.1)}[data-theme=dark] .modal-header,[data-theme=dark] .info-item{background:var(--color-bg, #111827);border-color:var(--color-surface-border, rgba(255, 255, 255, .1))}[data-theme=dark] .close-button:hover{background:#ffffff1a}[data-theme=dark] .info-footer{border-color:var(--color-surface-border, rgba(255, 255, 255, .1))}@media (max-width: 768px){.system-info-modal{margin:20px;max-height:calc(100vh - 40px)}.modal-header{padding:16px 20px}.modal-content{padding:20px}.info-grid{grid-template-columns:1fr}.modal-header h2{font-size:18px}}.command-palette-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0009;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:flex-start;justify-content:center;padding-top:15vh;z-index:10000;animation:fadeIn .15s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.command-palette{width:90%;max-width:640px;background:var(--surface-modal);border:1px solid var(--border-primary);border-radius:var(--radius-xl);box-shadow:0 20px 60px #00000080,0 0 0 1px #ffffff1a;overflow:hidden;animation:slideDown .2s ease-out}@keyframes slideDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.command-palette-header{display:flex;align-items:center;gap:var(--spacing-4);padding:var(--spacing-6) var(--spacing-8);border-bottom:1px solid var(--border-secondary);background:var(--surface-tertiary)}.command-palette-header .search-icon{font-family:var(--typography-font-family-icon);font-size:20px;color:var(--text-tertiary)}.command-palette-input{flex:1;background:transparent;border:none;outline:none;color:var(--text-primary);font-size:var(--typography-font-size-lg);font-weight:var(--typography-font-weight-medium);padding:0}.command-palette-input::placeholder{color:var(--text-tertiary)}.keyboard-hint{display:flex;gap:var(--spacing-4);font-size:var(--typography-font-size-xs);color:var(--text-tertiary);white-space:nowrap}.keyboard-hint kbd{background:var(--surface-quaternary);color:var(--text-secondary);padding:2px 6px;border-radius:var(--radius-sm);border:1px solid var(--border-tertiary);font-family:var(--typography-font-family-mono);font-size:10px;font-weight:var(--typography-font-weight-semibold);box-shadow:0 1px 2px #0000001a}.command-palette-results{max-height:400px;overflow-y:auto;padding:var(--spacing-4)}.command-palette-results::-webkit-scrollbar{width:8px}.command-palette-results::-webkit-scrollbar-track{background:var(--surface-tertiary)}.command-palette-results::-webkit-scrollbar-thumb{background:var(--border-secondary);border-radius:var(--radius-sm)}.command-palette-results::-webkit-scrollbar-thumb:hover{background:var(--border-primary)}.command-palette-item{display:flex;align-items:center;gap:var(--spacing-4);padding:var(--spacing-4) var(--spacing-6);border-radius:var(--radius-md);cursor:pointer;transition:all .15s ease}.command-palette-item:hover{background:var(--interactive-secondary-hover)}.command-palette-item.selected{background:var(--interactive-primary-default);color:var(--text-on-primary)}.command-palette-item .icon{font-family:var(--typography-font-family-icon);font-size:18px;color:var(--text-secondary);flex-shrink:0}.command-palette-item.selected .icon{color:var(--text-on-primary)}.command-palette-item .command-label{font-size:var(--typography-font-size-sm);font-weight:var(--typography-font-weight-medium);flex:1}.command-palette-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-12);color:var(--text-tertiary)}.command-palette-empty .icon{font-family:var(--typography-font-family-icon);font-size:48px;opacity:.3;margin-bottom:var(--spacing-4)}.command-palette-empty p{margin:0;font-size:var(--typography-font-size-sm)}.command-palette-footer{padding:var(--spacing-4) var(--spacing-8);border-top:1px solid var(--border-secondary);background:var(--surface-tertiary)}.shortcut-hints{display:flex;gap:var(--spacing-6);justify-content:center;font-size:var(--typography-font-size-xs);color:var(--text-tertiary)}.shortcut-hints span{display:flex;align-items:center;gap:var(--spacing-2)}.shortcut-hints kbd{background:var(--surface-quaternary);color:var(--text-secondary);padding:2px 6px;border-radius:var(--radius-sm);border:1px solid var(--border-tertiary);font-family:var(--typography-font-family-mono);font-size:10px;font-weight:var(--typography-font-weight-semibold)}@media (max-width: 768px){.command-palette{width:95%;max-width:none}.keyboard-hint{display:none}.command-palette-results{max-height:60vh}}:root{--color-black: #000000;--color-white: #ffffff;--color-blue-500: #1e88e5;--color-blue-600: #1976d2;--color-red-400: #ff4d4d;--color-red-500: #d93025;--color-gray-50: #ffffff;--color-gray-100: #f0f2f5;--color-gray-200: #e4e6e9;--color-gray-300: #dcdfe2;--color-gray-400: #ced0d4;--color-gray-500: #b0b3b8;--color-gray-600: #8a8d91;--color-gray-700: #65676b;--color-gray-800: #1c1e21;--color-gray-900: #000000;--color-neutral-100: #bbbbbb;--color-neutral-200: #888888;--color-neutral-300: #666666;--color-neutral-400: #444444;--color-neutral-500: #333333;--color-neutral-600: #2a2a2a;--color-neutral-700: #252525;--color-neutral-800: #222222;--color-neutral-900: #1a1a1a;--color-neutral-950: #0a0a0a;--color-alpha-black80: rgba(0, 0, 0, .8);--color-alpha-white80: rgba(255, 255, 255, .8);--motion-duration-instant: 0ms;--motion-duration-fast: .2s;--motion-duration-normal: .3s;--motion-duration-slow: .4s;--motion-duration-loading-spin: 1s;--motion-duration-loading-dots: 1.4s;--motion-duration-loading-line: 2s;--motion-easing-linear: linear;--motion-easing-ease: ease;--motion-easing-ease-in: ease-in;--motion-easing-ease-out: ease-out;--motion-easing-ease-in-out: ease-in-out;--motion-easing-ease-in-out-both: ease-in-out both;--radius-none: 0px;--radius-xs: 4px;--radius-sm: 5px;--radius-md: 6px;--radius-lg: 8px;--radius-xl: 12px;--radius-2xl: 16px;--radius-3xl: 18px;--radius-full: 50%;--radius-pill: 20px;--radius-rounded: 50px;--shadow-none: none;--shadow-sm: 0 2px 4px rgba(0, 0, 0, .2);--shadow-md: 0 4px 12px rgba(30, 136, 229, .3);--shadow-lg: 0 10px 30px rgba(0, 0, 0, .2);--shadow-xl: 0 10px 40px rgba(0, 0, 0, .3);--shadow-inner: inset 0 0 0 2px rgba(30, 136, 229, .1);--shadow-focus: 0 0 0 3px rgba(30, 136, 229, .1);--spacing-0: 0px;--spacing-1: 2px;--spacing-2: 4px;--spacing-3: 5px;--spacing-4: 6px;--spacing-5: 8px;--spacing-6: 10px;--spacing-7: 12px;--spacing-8: 15px;--spacing-9: 16px;--spacing-10: 20px;--spacing-11: 24px;--spacing-12: 30px;--spacing-13: 40px;--spacing-layout-column-padding: 20px;--spacing-layout-modal-padding: 40px;--spacing-layout-max-width-left-column-two-column: 380px;--spacing-layout-max-width-left-column-three-column: 320px;--spacing-layout-flex-left-column-two-column: 0 0 25%;--spacing-layout-flex-left-column-three-column: 0 0 20%;--spacing-layout-flex-middle-column: 1 1 50%;--spacing-layout-flex-right-column-two-column: 1 1 75%;--spacing-layout-flex-right-column-three-column: 1 1 30%;--typography-font-family-primary: "Space Mono", "Google Sans Display", sans-serif;--typography-font-family-mono: "Space Mono", Monaco, Menlo, monospace;--typography-font-family-icon: "Material Symbols Outlined";--typography-font-weight-light: 300;--typography-font-weight-normal: 400;--typography-font-weight-medium: 500;--typography-font-weight-semibold: 600;--typography-font-weight-bold: 700;--typography-font-size-xs: 10px;--typography-font-size-sm: 11px;--typography-font-size-base: 12px;--typography-font-size-md: 13px;--typography-font-size-normal: 14px;--typography-font-size-lg: 16px;--typography-font-size-xl: 20px;--typography-font-size-2xl: 24px;--typography-font-size-3xl: 28px;--typography-font-size-icon-sm: 16px;--typography-font-size-icon-base: 20px;--typography-font-size-icon-md: 24px;--typography-font-size-icon-lg: 28px;--typography-font-size-icon-xl: 32px;--typography-font-size-icon-2xl: 48px;--typography-font-size-icon-3xl: 64px;--typography-line-height-tight: 1;--typography-line-height-snug: 1.3;--typography-line-height-normal: 1.4;--typography-line-height-relaxed: 1.5;--typography-line-height-loose: 1.6;--typography-line-height-extra-loose: 1.7;--typography-letter-spacing-tight: .5px;--typography-letter-spacing-normal: 1px;--z-index-base: 0;--z-index-loading: 10;--z-index-dropdown: 100;--z-index-tooltip: 200;--z-index-modal-base: 1000;--z-index-modal-assistant: 1001;--z-index-modal-settings: 1002;--surface-primary: #000000;--surface-secondary: #0a0a0a;--surface-tertiary: #1a1a1a;--surface-quaternary: #252525;--surface-active: #ffffff;--surface-overlay: rgba(0, 0, 0, .8);--surface-modal: #0a0a0a;--surface-input: #1a1a1a;--surface-error: #ff4d4d;--surface-spinner-track: #444444;--text-primary: #ffffff;--text-secondary: #bbbbbb;--text-tertiary: #888888;--text-muted: #666666;--text-inverse: #000000;--text-accent: #1e88e5;--text-on-primary: #ffffff;--border-primary: #333333;--border-secondary: #2a2a2a;--border-accent: #1e88e5;--border-dashed: #333333;--interactive-primary-default: #1e88e5;--interactive-primary-hover: #1976d2;--interactive-secondary-default: #222222;--interactive-secondary-hover: #2a2a2a;--interactive-icon-hover: #2a2a2a;--selection-background: #ffffff;--selection-text: #111111;--backdrop-filter: blur(10px);--button-primary-background-default: #1e88e5;--button-primary-background-hover: #1976d2;--button-primary-background-active: #1976d2;--button-primary-background-disabled: #1e88e5;--button-primary-text-default: #ffffff;--button-primary-border-default: none;--button-secondary-background-default: #222222;--button-secondary-background-hover: #2a2a2a;--button-secondary-background-active: #2a2a2a;--button-secondary-background-disabled: #222222;--button-secondary-text-default: #ffffff;--button-secondary-border-default: 1px solid #333333;--button-icon-background-default: rgba(0, 0, 0, 0);--button-icon-background-hover: #2a2a2a;--button-icon-text-default: #888888;--button-icon-text-hover: #ffffff;--button-icon-text-accent: #1e88e5;--button-border-radius-default: 5px;--button-border-radius-pill: 20px;--button-border-radius-rounded: 50px;--button-border-radius-circular: 50%;--button-padding-xs: 2px 6px;--button-padding-sm: 4px 6px;--button-padding-md: 8px 15px;--button-padding-lg: 10px 20px;--button-padding-xl: 12px 30px;--button-padding-icon-sm: 4px;--button-padding-icon-md: 6px;--button-padding-icon-lg: 8px;--button-font-size-sm: 13px;--button-font-size-md: 14px;--button-font-size-lg: 16px;--button-font-weight: 700;--button-font-family: "Space Mono", "Google Sans Display", sans-serif;--button-gap: 5px;--button-transition-duration: .2s;--button-transition-easing: ease;--button-disabled-opacity: .5;--button-transform-hover: scale(1.05);--button-transform-active: translateY(-1px);--button-shadow-hover: 0 4px 12px rgba(30, 136, 229, .3)}:root{--bg-main: var(--gbl-surface-primary);--bg-panel: var(--gbl-surface-secondary);--bg-item: var(--gbl-surface-tertiary);--bg-item-hover: var(--gbl-surface-quaternary);--bg-item-active: var(--gbl-surface-active);--bg-overlay: var(--gbl-surface-overlay);--bg-modal: var(--gbl-surface-modal);--bg-input: var(--gbl-surface-input);--bg-button-primary: var(--gbl-interactive-primary-default);--bg-button-secondary: var(--gbl-interactive-secondary-default);--bg-button-icon-hover: var(--gbl-interactive-icon-hover);--bg-error: var(--gbl-surface-error);--bg-spinner-track: var(--gbl-surface-spinner-track);--text-primary: var(--gbl-text-primary);--text-secondary: var(--gbl-text-secondary);--text-tertiary: var(--gbl-text-tertiary);--text-muted: var(--gbl-text-muted);--text-inverse: var(--gbl-text-inverse);--text-accent: var(--gbl-text-accent);--text-on-primary: var(--gbl-text-on-primary);--border-primary: var(--gbl-border-primary);--border-secondary: var(--gbl-border-secondary);--border-accent: var(--gbl-border-accent);--border-dashed: var(--gbl-border-dashed);--color-selection-bg: var(--gbl-selection-background);--color-selection-text: var(--gbl-selection-text);--backdrop-filter: var(--gbl-backdrop-filter)}:root[data-theme=light],[data-theme=light]{--surface-primary: var(--color-gray-100);--surface-secondary: var(--color-white);--surface-tertiary: var(--color-gray-100);--surface-quaternary: var(--color-gray-200);--surface-overlay: var(--color-alpha-white80);--surface-modal: var(--color-white);--surface-input: var(--color-gray-200);--surface-error: var(--color-red-500);--text-primary: var(--color-gray-800);--text-secondary: var(--color-gray-700);--text-tertiary: var(--color-gray-600);--text-muted: var(--color-gray-500);--text-inverse: var(--color-white);--text-accent: var(--color-blue-500);--text-on-primary: var(--color-white);--border-primary: var(--color-gray-400);--border-secondary: var(--color-gray-300);--border-accent: var(--color-blue-500);--border-dashed: var(--color-gray-400);--interactive-primary-default: var(--color-blue-500);--interactive-primary-hover: var(--color-blue-600);--interactive-secondary-default: var(--color-gray-200);--interactive-secondary-hover: var(--color-gray-300);--interactive-icon-hover: var(--color-gray-300);--selection-background: var(--color-blue-500);--selection-text: var(--color-white)}.gbl-surface-primary{background:var(--surface-primary)}.gbl-surface-secondary{background:var(--surface-secondary)}.gbl-surface-tertiary{background:var(--surface-tertiary)}.gbl-text-primary{color:var(--text-primary)}.gbl-text-secondary{color:var(--text-secondary)}.gbl-text-tertiary{color:var(--text-tertiary)}.gbl-border-primary{border-color:var(--border-primary)}.gbl-border-accent{border-color:var(--border-accent)}.gbl-p-4{padding:var(--spacing-4)}.gbl-p-6{padding:var(--spacing-6)}.gbl-p-10{padding:var(--spacing-10)}.gbl-m-4{margin:var(--spacing-4)}.gbl-m-6{margin:var(--spacing-6)}.gbl-m-10{margin:var(--spacing-10)}.gbl-rounded-sm{border-radius:var(--radius-sm)}.gbl-rounded-md{border-radius:var(--radius-md)}.gbl-rounded-lg{border-radius:var(--radius-lg)}.gbl-rounded-xl{border-radius:var(--radius-xl)}.gbl-rounded-full{border-radius:var(--radius-full)}.gbl-text-xs{font-size:var(--typography-font-size-xs)}.gbl-text-sm{font-size:var(--typography-font-size-sm)}.gbl-text-base{font-size:var(--typography-font-size-normal)}.gbl-text-lg{font-size:var(--typography-font-size-lg)}.gbl-text-xl{font-size:var(--typography-font-size-xl)}.gbl-font-light{font-weight:var(--typography-font-weight-light)}.gbl-font-normal{font-weight:var(--typography-font-weight-normal)}.gbl-font-medium{font-weight:var(--typography-font-weight-medium)}.gbl-font-semibold{font-weight:var(--typography-font-weight-semibold)}.gbl-font-bold{font-weight:var(--typography-font-weight-bold)}.gbl-shadow-sm{box-shadow:var(--shadow-sm)}.gbl-shadow-md{box-shadow:var(--shadow-md)}.gbl-shadow-lg{box-shadow:var(--shadow-lg)}.gbl-shadow-xl{box-shadow:var(--shadow-xl)}.gbl-transition-fast{transition-duration:var(--motion-duration-fast)}.gbl-transition-normal{transition-duration:var(--motion-duration-normal)}.gbl-ease-out{transition-timing-function:var(--motion-easing-ease-out)}.bg-surface-primary{background-color:var(--surface-primary)}.bg-surface-secondary{background-color:var(--surface-secondary)}.bg-surface-tertiary{background-color:var(--surface-tertiary)}.bg-surface-quaternary{background-color:var(--surface-quaternary)}.bg-surface-active{background-color:var(--surface-active)}.bg-surface-overlay{background-color:var(--surface-overlay)}.bg-surface-modal{background-color:var(--surface-modal)}.bg-surface-input{background-color:var(--surface-input)}.bg-surface-error{background-color:var(--surface-error)}.bg-interactive-primary{background-color:var(--interactive-primary-default)}.bg-interactive-primary-hover{background-color:var(--interactive-primary-hover)}.bg-interactive-secondary{background-color:var(--interactive-secondary-default)}.bg-interactive-secondary-hover{background-color:var(--interactive-secondary-hover)}.bg-transparent{background-color:transparent}.text-primary{color:var(--text-primary)}.text-secondary{color:var(--text-secondary)}.text-tertiary{color:var(--text-tertiary)}.text-muted{color:var(--text-muted)}.text-inverse{color:var(--text-inverse)}.text-accent{color:var(--text-accent)}.text-on-primary{color:var(--text-on-primary)}.border-primary{border-color:var(--border-primary)}.border-secondary{border-color:var(--border-secondary)}.border-accent{border-color:var(--border-accent)}.border{border:1px solid var(--border-primary)}.border-0{border:none}.border-t{border-top:1px solid var(--border-primary)}.border-r{border-right:1px solid var(--border-primary)}.border-b{border-bottom:1px solid var(--border-primary)}.border-l{border-left:1px solid var(--border-primary)}.p-0{padding:var(--spacing-0)}.p-1{padding:var(--spacing-1)}.p-2{padding:var(--spacing-2)}.p-3{padding:var(--spacing-3)}.p-4{padding:var(--spacing-4)}.p-5{padding:var(--spacing-5)}.p-6{padding:var(--spacing-6)}.p-7{padding:var(--spacing-7)}.p-8{padding:var(--spacing-8)}.p-9{padding:var(--spacing-9)}.p-10{padding:var(--spacing-10)}.p-11{padding:var(--spacing-11)}.p-12{padding:var(--spacing-12)}.p-13{padding:var(--spacing-13)}.px-0{padding-left:var(--spacing-0);padding-right:var(--spacing-0)}.px-1{padding-left:var(--spacing-1);padding-right:var(--spacing-1)}.px-2{padding-left:var(--spacing-2);padding-right:var(--spacing-2)}.px-3{padding-left:var(--spacing-3);padding-right:var(--spacing-3)}.px-4{padding-left:var(--spacing-4);padding-right:var(--spacing-4)}.px-5{padding-left:var(--spacing-5);padding-right:var(--spacing-5)}.px-6{padding-left:var(--spacing-6);padding-right:var(--spacing-6)}.px-7{padding-left:var(--spacing-7);padding-right:var(--spacing-7)}.px-8{padding-left:var(--spacing-8);padding-right:var(--spacing-8)}.px-9{padding-left:var(--spacing-9);padding-right:var(--spacing-9)}.px-10{padding-left:var(--spacing-10);padding-right:var(--spacing-10)}.py-0{padding-top:var(--spacing-0);padding-bottom:var(--spacing-0)}.py-1{padding-top:var(--spacing-1);padding-bottom:var(--spacing-1)}.py-2{padding-top:var(--spacing-2);padding-bottom:var(--spacing-2)}.py-3{padding-top:var(--spacing-3);padding-bottom:var(--spacing-3)}.py-4{padding-top:var(--spacing-4);padding-bottom:var(--spacing-4)}.py-5{padding-top:var(--spacing-5);padding-bottom:var(--spacing-5)}.py-6{padding-top:var(--spacing-6);padding-bottom:var(--spacing-6)}.py-7{padding-top:var(--spacing-7);padding-bottom:var(--spacing-7)}.py-8{padding-top:var(--spacing-8);padding-bottom:var(--spacing-8)}.py-9{padding-top:var(--spacing-9);padding-bottom:var(--spacing-9)}.py-10{padding-top:var(--spacing-10);padding-bottom:var(--spacing-10)}.pt-0{padding-top:var(--spacing-0)}.pt-1{padding-top:var(--spacing-1)}.pt-2{padding-top:var(--spacing-2)}.pt-5{padding-top:var(--spacing-5)}.pt-10{padding-top:var(--spacing-10)}.pr-0{padding-right:var(--spacing-0)}.pr-1{padding-right:var(--spacing-1)}.pr-2{padding-right:var(--spacing-2)}.pr-5{padding-right:var(--spacing-5)}.pr-10{padding-right:var(--spacing-10)}.pb-0{padding-bottom:var(--spacing-0)}.pb-1{padding-bottom:var(--spacing-1)}.pb-2{padding-bottom:var(--spacing-2)}.pb-5{padding-bottom:var(--spacing-5)}.pb-10{padding-bottom:var(--spacing-10)}.pl-0{padding-left:var(--spacing-0)}.pl-1{padding-left:var(--spacing-1)}.pl-2{padding-left:var(--spacing-2)}.pl-5{padding-left:var(--spacing-5)}.pl-10{padding-left:var(--spacing-10)}.m-0{margin:var(--spacing-0)}.m-1{margin:var(--spacing-1)}.m-2{margin:var(--spacing-2)}.m-5{margin:var(--spacing-5)}.m-10{margin:var(--spacing-10)}.m-auto{margin:auto}.mx-0{margin-left:var(--spacing-0);margin-right:var(--spacing-0)}.mx-1{margin-left:var(--spacing-1);margin-right:var(--spacing-1)}.mx-2{margin-left:var(--spacing-2);margin-right:var(--spacing-2)}.mx-5{margin-left:var(--spacing-5);margin-right:var(--spacing-5)}.mx-auto{margin-left:auto;margin-right:auto}.my-0{margin-top:var(--spacing-0);margin-bottom:var(--spacing-0)}.my-1{margin-top:var(--spacing-1);margin-bottom:var(--spacing-1)}.my-2{margin-top:var(--spacing-2);margin-bottom:var(--spacing-2)}.my-5{margin-top:var(--spacing-5);margin-bottom:var(--spacing-5)}.radius-none{border-radius:var(--radius-none)}.radius-xs{border-radius:var(--radius-xs)}.radius-sm{border-radius:var(--radius-sm)}.radius-md{border-radius:var(--radius-md)}.radius-lg{border-radius:var(--radius-lg)}.radius-xl{border-radius:var(--radius-xl)}.radius-2xl{border-radius:var(--radius-2xl)}.radius-3xl{border-radius:var(--radius-3xl)}.radius-full{border-radius:var(--radius-full)}.radius-pill{border-radius:var(--radius-pill)}.radius-t-lg{border-top-left-radius:var(--radius-lg);border-top-right-radius:var(--radius-lg)}.radius-b-lg{border-bottom-left-radius:var(--radius-lg);border-bottom-right-radius:var(--radius-lg)}.radius-l-lg{border-top-left-radius:var(--radius-lg);border-bottom-left-radius:var(--radius-lg)}.radius-r-lg{border-top-right-radius:var(--radius-lg);border-bottom-right-radius:var(--radius-lg)}.font-primary{font-family:var(--typography-font-family-primary)}.font-mono{font-family:var(--typography-font-family-mono)}.text-xs{font-size:var(--typography-font-size-xs)}.text-sm{font-size:var(--typography-font-size-sm)}.text-base{font-size:var(--typography-font-size-base)}.text-md{font-size:var(--typography-font-size-md)}.text-normal{font-size:var(--typography-font-size-normal)}.text-lg{font-size:var(--typography-font-size-lg)}.text-xl{font-size:var(--typography-font-size-xl)}.text-2xl{font-size:var(--typography-font-size-2xl)}.text-3xl{font-size:var(--typography-font-size-3xl)}.font-light{font-weight:var(--typography-font-weight-light)}.font-normal{font-weight:var(--typography-font-weight-normal)}.font-medium{font-weight:var(--typography-font-weight-medium)}.font-semibold{font-weight:var(--typography-font-weight-semibold)}.font-bold{font-weight:var(--typography-font-weight-bold)}.leading-tight{line-height:var(--typography-line-height-tight)}.leading-snug{line-height:var(--typography-line-height-snug)}.leading-normal{line-height:var(--typography-line-height-normal)}.leading-relaxed{line-height:var(--typography-line-height-relaxed)}.leading-loose{line-height:var(--typography-line-height-loose)}.shadow-none{box-shadow:var(--shadow-none)}.shadow-sm{box-shadow:var(--shadow-sm)}.shadow-md{box-shadow:var(--shadow-md)}.shadow-lg{box-shadow:var(--shadow-lg)}.shadow-xl{box-shadow:var(--shadow-xl)}.shadow-inner{box-shadow:var(--shadow-inner)}.shadow-focus{box-shadow:var(--shadow-focus)}.transition-fast{transition-duration:var(--motion-duration-fast);transition-timing-function:var(--motion-easing-ease)}.transition-normal{transition-duration:var(--motion-duration-normal);transition-timing-function:var(--motion-easing-ease)}.transition-slow{transition-duration:var(--motion-duration-slow);transition-timing-function:var(--motion-easing-ease)}.ease-linear{transition-timing-function:var(--motion-easing-linear)}.ease-in{transition-timing-function:var(--motion-easing-ease-in)}.ease-out{transition-timing-function:var(--motion-easing-ease-out)}.ease-in-out{transition-timing-function:var(--motion-easing-ease-in-out)}.z-base{z-index:var(--z-index-base)}.z-loading{z-index:var(--z-index-loading)}.z-dropdown{z-index:var(--z-index-dropdown)}.z-tooltip{z-index:var(--z-index-tooltip)}.z-modal{z-index:var(--z-index-modal-base)}.backdrop-blur{-webkit-backdrop-filter:var(--backdrop-filter);backdrop-filter:var(--backdrop-filter)}.btn{font-family:var(--button-font-family);font-weight:var(--button-font-weight);transition-duration:var(--button-transition-duration);transition-timing-function:var(--button-transition-easing);border-radius:var(--button-border-radius-default);gap:var(--button-gap);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;border:none}.btn:disabled{opacity:var(--button-disabled-opacity);cursor:not-allowed}.btn-sm{padding:var(--button-padding-sm);font-size:var(--button-font-size-sm)}.btn-md{padding:var(--button-padding-md);font-size:var(--button-font-size-md)}.btn-lg{padding:var(--button-padding-lg);font-size:var(--button-font-size-lg)}.btn-primary{background-color:var(--button-primary-background-default);color:var(--button-primary-text-default);border:var(--button-primary-border-default)}.btn-primary:hover:not(:disabled){background-color:var(--button-primary-background-hover);transform:var(--button-transform-hover);box-shadow:var(--button-shadow-hover)}.btn-secondary{background-color:var(--button-secondary-background-default);color:var(--button-secondary-text-default);border:var(--button-secondary-border-default)}.btn-secondary:hover:not(:disabled){background-color:var(--button-secondary-background-hover)}.btn-icon{background-color:var(--button-icon-background-default);color:var(--button-icon-text-default);padding:var(--button-padding-icon-md);border-radius:var(--button-border-radius-circular)}.btn-icon:hover:not(:disabled){background-color:var(--button-icon-background-hover);color:var(--button-icon-text-hover)}.btn-pill{border-radius:var(--button-border-radius-pill)}.btn-rounded{border-radius:var(--button-border-radius-rounded)}@media (max-width: 768px){.md\:hidden{display:none}.md\:block{display:block}.md\:flex{display:flex}.md\:p-5{padding:var(--spacing-5)}.md\:px-5{padding-left:var(--spacing-5);padding-right:var(--spacing-5)}.md\:py-5{padding-top:var(--spacing-5);padding-bottom:var(--spacing-5)}}@media (max-width: 480px){.sm\:hidden{display:none}.sm\:block{display:block}.sm\:text-sm{font-size:var(--typography-font-size-sm)}.sm\:p-2{padding:var(--spacing-2)}}/**
 * Module Knowledge Section Styles
 * @license SPDX-License-Identifier: Apache-2.0
 */.knowledge-section{display:flex;flex-direction:column;height:100%;background:var(--color-surface);border-radius:8px;overflow:hidden}.knowledge-section.empty{align-items:center;justify-content:center;text-align:center;color:var(--color-text-secondary)}.knowledge-section.empty .icon{font-size:3rem;opacity:.5;margin-bottom:1rem}.knowledge-header{padding:1rem;border-bottom:1px solid var(--color-surface-border);display:flex;align-items:center;justify-content:space-between}.knowledge-header h3{margin:0;color:var(--color-text-primary)}.knowledge-stats{display:flex;gap:1rem}.knowledge-stats .stat{font-size:.8rem;color:var(--color-text-secondary);background:var(--color-bg);padding:.25rem .5rem;border-radius:4px}.knowledge-search{padding:.75rem 1rem;border-bottom:1px solid var(--color-surface-border)}.search-input-group{display:flex;gap:.5rem;align-items:center}.search-input-group input{flex:1;padding:.5rem;border:1px solid var(--color-surface-border);border-radius:4px;background:var(--color-bg);color:var(--color-text-primary)}.search-btn{padding:.5rem;background:var(--color-accent);border:none;border-radius:4px;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center}.search-btn:hover{opacity:.8}.search-btn:disabled{opacity:.5;cursor:not-allowed}.clear-search{margin-top:.5rem;padding:.25rem .5rem;background:none;border:1px solid var(--color-surface-border);border-radius:4px;color:var(--color-text-secondary);font-size:.8rem;cursor:pointer}.clear-search:hover{background:var(--color-surface)}.knowledge-tabs{display:flex;border-bottom:1px solid var(--color-surface-border);background:var(--color-bg)}.knowledge-tabs .tab{flex:1;padding:.75rem;background:none;border:none;color:var(--color-text-secondary);cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;gap:.5rem}.knowledge-tabs .tab:hover{background:var(--color-surface)}.knowledge-tabs .tab.active{color:var(--color-accent);border-bottom:2px solid var(--color-accent);background:var(--color-surface)}.knowledge-tabs .tab:disabled{opacity:.5;cursor:not-allowed}.tab-count{background:var(--color-accent);color:#fff;font-size:.7rem;padding:.125rem .25rem;border-radius:10px;min-width:1.2rem;text-align:center}.knowledge-content{flex:1;overflow:hidden;position:relative}.loading-state,.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;color:var(--color-text-secondary);text-align:center}.loading-state .icon,.empty-state .icon{font-size:2rem;opacity:.5;margin-bottom:.5rem}.virtualized-list{padding:.5rem}.virtualized-item{padding:.25rem 0}.resource-card{background:var(--color-bg);border:1px solid var(--color-surface-border);border-radius:8px;padding:1rem;margin-bottom:.5rem;transition:all .2s ease}.resource-card:hover{border-color:var(--color-accent);transform:translateY(-1px);box-shadow:0 2px 8px #0000001a}.resource-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:.5rem}.resource-title{font-weight:600;color:var(--color-text-primary);flex:1;margin-right:1rem}.resource-meta{display:flex;flex-direction:column;align-items:flex-end;gap:.25rem}.resource-date,.resource-source{font-size:.8rem;color:var(--color-text-secondary)}.resource-type{font-size:.7rem;padding:.125rem .5rem;border-radius:10px;background:var(--color-surface);color:var(--color-text-secondary);text-transform:uppercase;font-weight:600}.resource-status{font-size:.7rem;padding:.125rem .5rem;border-radius:10px;font-weight:600;text-transform:uppercase}.resource-status[data-status=completed]{background:var(--status-success);color:#fff}.resource-status[data-status=running]{background:var(--status-warning);color:#fff}.resource-status[data-status=failed]{background:var(--status-error);color:#fff}.resource-preview{color:var(--color-text-secondary);font-size:.9rem;line-height:1.4;margin-bottom:.5rem;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.resource-content{margin:.5rem 0;padding-top:.5rem;border-top:1px solid var(--color-surface-border)}.chat-messages{display:flex;flex-direction:column;gap:.25rem}.chat-message{font-size:.8rem;line-height:1.3;color:var(--color-text-secondary)}.chat-message strong{color:var(--color-text-primary);margin-right:.25rem}.chat-message.user strong{color:var(--color-accent)}.chat-message.model strong,.chat-message.assistant strong{color:var(--status-info)}.workflow-progress{display:flex;align-items:center;gap:.5rem}.progress-bar{flex:1;height:4px;background:var(--color-surface-border);border-radius:2px;overflow:hidden}.progress-fill{height:100%;background:var(--color-accent);transition:width .3s ease}.progress-text{font-size:.8rem;color:var(--color-text-secondary);white-space:nowrap}.documentation-content{font-size:.8rem;line-height:1.4;color:var(--color-text-secondary)}.documentation-content h1,.documentation-content h2,.documentation-content h3{font-size:.9rem;margin:.25rem 0;color:var(--color-text-primary)}.documentation-content p{margin:.25rem 0}.resource-actions{display:flex;gap:.5rem;justify-content:flex-end;margin-top:.5rem}.btn-expand{padding:.375rem .75rem;background:var(--color-accent);border:none;border-radius:4px;color:#fff;font-size:.8rem;cursor:pointer;transition:opacity .2s ease}.btn-expand:hover{opacity:.8}.btn-expand:disabled{opacity:.5;cursor:not-allowed}@media (max-width: 768px){.knowledge-header{flex-direction:column;gap:.5rem;align-items:flex-start}.knowledge-stats{justify-content:flex-start;width:100%}.resource-header{flex-direction:column;gap:.5rem}.resource-meta{align-items:flex-start;flex-direction:row;gap:.5rem}}.empathy-lab{display:flex;flex-direction:column;height:100%;background:var(--color-bg);overflow:hidden;position:relative}.empathy-lab-main{flex:1;display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-4);overflow:hidden;min-height:0}.video-container{position:relative;width:100%;max-width:100%;aspect-ratio:16 / 9;background:var(--color-surface);border:1px solid var(--color-surface-border);border-radius:var(--radius-lg);overflow:hidden;display:flex;align-items:center;justify-content:center}.video-canvas,.overlay-canvas{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:contain}.video-canvas{z-index:1}.overlay-canvas{z-index:2;pointer-events:none}.recording-indicator{position:absolute;top:var(--space-3);left:var(--space-3);z-index:10;display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);background:#f44336e6;color:#fff;border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:600}.recording-dot{width:8px;height:8px;background:#fff;border-radius:50%;animation:pulse-dot 1.5s ease-in-out infinite}@keyframes pulse-dot{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.8)}}.video-container .placeholder{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);text-align:center;color:var(--color-text-secondary);z-index:5}.video-container .placeholder .icon{font-size:64px;opacity:.3;margin-bottom:var(--space-2)}.video-container .placeholder p{font-size:var(--font-size-base);margin:0}.error-display{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:#f443361a;border:1px solid rgba(244,67,54,.3);border-radius:var(--radius-md);color:var(--color-text-primary)}.error-display .icon:first-child{font-size:24px;color:#f44336}.error-display h4{margin:0 0 var(--space-1) 0;font-size:var(--font-size-base);font-weight:600}.error-display p{margin:0;font-size:var(--font-size-sm);color:var(--color-text-secondary)}.error-display button{margin-left:auto;background:transparent;border:none;color:var(--color-text-secondary);cursor:pointer;padding:var(--space-1);border-radius:var(--radius-sm)}.tracking-controls{display:flex;gap:var(--space-4);align-items:center;margin-top:var(--space-2)}.checkbox-label{display:flex;align-items:center;gap:var(--space-2);font-size:var(--font-size-sm);cursor:pointer;-webkit-user-select:none;user-select:none}.checkbox-label input[type=checkbox]{width:16px;height:16px;cursor:pointer}.results-panel{margin-top:var(--space-4)}.results-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:var(--space-3);margin-bottom:var(--space-4)}.result-stat{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3);background:var(--color-surface);border:1px solid var(--color-surface-border);border-radius:var(--radius-md)}.result-stat .icon{font-size:32px;color:var(--color-accent)}.result-stat div{display:flex;flex-direction:column}.result-stat strong{font-size:var(--font-size-lg);font-weight:600;color:var(--color-text-primary)}.result-stat small{font-size:var(--font-size-xs);color:var(--color-text-secondary)}.emotion-breakdown{margin-top:var(--space-4)}.emotion-breakdown h4{margin:0 0 var(--space-3) 0;font-size:var(--font-size-base);font-weight:600}.emotion-bars{display:flex;flex-direction:column;gap:var(--space-2)}.emotion-bar{display:grid;grid-template-columns:100px 1fr 60px;align-items:center;gap:var(--space-2)}.emotion-name{font-size:var(--font-size-sm);text-transform:capitalize;color:var(--color-text-primary)}.emotion-progress{height:20px;background:#ffffff0d;border-radius:var(--radius-full);overflow:hidden}.emotion-fill{height:100%;transition:width .3s ease;border-radius:var(--radius-full)}.emotion-score{font-size:var(--font-size-sm);font-weight:600;text-align:right;color:var(--color-text-secondary)}.gestures-list{margin-top:var(--space-4)}.gestures-list h4{margin:0 0 var(--space-3) 0;font-size:var(--font-size-base);font-weight:600}.gesture-item{display:flex;justify-content:space-between;align-items:center;padding:var(--space-2) var(--space-3);background:var(--color-surface);border:1px solid var(--color-surface-border);border-radius:var(--radius-md);margin-bottom:var(--space-2)}.gesture-name{font-size:var(--font-size-sm);text-transform:capitalize;color:var(--color-text-primary)}.gesture-confidence{font-size:var(--font-size-sm);font-weight:600;color:var(--color-accent)}.empathy-lab-sidebar{display:flex;flex-direction:column;gap:var(--space-4);padding:var(--space-4);overflow:visible;justify-content:flex-start}.empathy-lab-sidebar.distribute-evenly{justify-content:space-evenly}.empathy-lab-sidebar>.image-container{width:100%}.sidebar-section{margin-bottom:var(--space-4)}.sidebar-section h4{margin:0 0 var(--space-3) 0;font-size:var(--font-size-sm);font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-secondary)}.preset-buttons{display:grid;grid-template-columns:repeat(auto-fit,minmax(100px,1fr));gap:var(--space-2)}.preset-bar{position:sticky;top:0;z-index:2;padding-bottom:var(--space-2);background:linear-gradient(180deg,var(--bg-panel),color-mix(in lab,var(--bg-panel) 80%,transparent) 100%)}.preset-bar .preset-buttons{display:flex;gap:var(--space-2)}.preset-bar .preset-btn{flex-direction:row;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);font-size:var(--font-size-xs)}.preset-btn{display:flex;flex-direction:column;align-items:center;gap:var(--space-1);padding:var(--space-3);background:var(--color-surface);border:1px solid var(--color-surface-border);border-radius:var(--radius-md);color:var(--color-text-primary);font-size:var(--font-size-xs);cursor:pointer;transition:all .2s ease}.preset-btn:hover{background:#ffffff0d;border-color:var(--color-accent)}.preset-btn.active{background:var(--color-accent);border-color:var(--color-accent);color:#fff}.preset-btn .icon{font-size:24px}.consent-options{display:flex;flex-direction:column;gap:var(--space-3)}.consent-item{padding:var(--space-3);background:var(--color-surface);border:1px solid var(--color-surface-border);border-radius:var(--radius-md);cursor:pointer;transition:all .2s ease}.consent-item:hover{background:#ffffff0d;border-color:var(--color-accent)}.consent-header{display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-1)}.consent-header input[type=checkbox]{width:18px;height:18px;cursor:pointer}.consent-header .icon{font-size:20px;color:var(--color-accent)}.consent-header strong{font-size:var(--font-size-sm);font-weight:600}.consent-description{margin:0;padding-left:calc(18px + var(--space-2) + 20px + var(--space-2));font-size:var(--font-size-xs);color:var(--color-text-secondary);line-height:1.4}.privacy-notice{display:flex;gap:var(--space-3);padding:var(--space-3);background:#2196f31a;border:1px solid rgba(33,150,243,.3);border-radius:var(--radius-md);margin-top:var(--space-4)}.privacy-sticky{position:sticky;bottom:8px;z-index:2}.privacy-notice .icon{font-size:24px;color:#2196f3;flex-shrink:0}.privacy-notice strong{display:block;margin-bottom:var(--space-1);font-size:var(--font-size-sm);color:var(--color-text-primary)}.privacy-notice p{margin:0;font-size:var(--font-size-xs);color:var(--color-text-secondary);line-height:1.5}.use-cases{display:flex;flex-direction:column;gap:var(--space-3)}.use-case-item{display:flex;gap:var(--space-3);padding:var(--space-3);background:var(--color-surface);border:1px solid var(--color-surface-border);border-radius:var(--radius-md)}.use-case-item .icon{font-size:24px;color:var(--color-accent);flex-shrink:0}.use-case-item strong{display:block;margin-bottom:var(--space-1);font-size:var(--font-size-sm);font-weight:600;color:var(--color-text-primary)}.use-case-item p{margin:0;font-size:var(--font-size-xs);color:var(--color-text-secondary);line-height:1.4}.sidebar-accordion{display:block}.accordion-header{width:100%;display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);background:var(--color-surface);border:1px solid var(--color-surface-border);border-radius:var(--radius-md);cursor:pointer;margin:var(--space-2) 0}.accordion-body{padding:var(--space-3);background:var(--color-surface);border:1px solid var(--color-surface-border);border-radius:var(--radius-md)}.about-content p{margin:0 0 var(--space-3) 0;font-size:var(--font-size-sm);color:var(--color-text-secondary);line-height:1.5}.tech-specs{display:flex;flex-direction:column;gap:var(--space-2);margin-bottom:var(--space-3)}.spec-item{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2);background:var(--color-surface);border:1px solid var(--color-surface-border);border-radius:var(--radius-sm)}.spec-item .icon{font-size:18px;color:var(--color-accent)}.spec-item strong{font-size:var(--font-size-xs);font-weight:600}.external-link{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);background:var(--color-accent);color:#fff;text-decoration:none;border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:600;transition:opacity .2s ease}.external-link:hover{opacity:.9}.external-link .icon{font-size:18px}.hume-wave.active{animation:hume-wave-pulse .8s ease-in-out infinite}@keyframes hume-wave-pulse{0%,to{height:16px;background:#6e42cc4d}50%{height:48px;background:#6e42cc}}@media (max-width: 768px){.tracking-controls{flex-direction:column;align-items:flex-start}.results-grid{grid-template-columns:repeat(2,1fr)}.preset-buttons{grid-template-columns:1fr}}.webcam-stream{width:100%;height:100%;display:flex;flex-direction:column}.webcam-container{position:relative;width:100%;flex:1;min-height:0;background:var(--color-bg);border-radius:var(--radius-lg);overflow:hidden;display:flex;align-items:center;justify-content:center}.webcam-canvas,.webcam-overlay{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:contain}.webcam-canvas{z-index:1}.webcam-overlay{z-index:2;pointer-events:none}.webcam-loading{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:10;color:var(--color-text-primary)}.webcam-loading .loading-spinner{width:40px;height:40px;border:3px solid var(--color-surface-border);border-top-color:var(--color-accent);border-radius:50%;animation:spin 1s linear infinite;margin-bottom:var(--space-3)}.webcam-placeholder{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--color-text-secondary);z-index:5}.webcam-placeholder .icon{font-size:64px;opacity:.3;margin-bottom:var(--space-3)}.webcam-placeholder p{font-size:var(--font-size-sm);margin:0}.webcam-error{position:absolute;bottom:var(--space-4);left:50%;transform:translate(-50%);display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);background:#f44336e6;border-radius:var(--radius-md);color:#fff;z-index:10}.webcam-error .icon{font-size:20px}.webcam-stats{position:absolute;bottom:0;left:0;right:0;display:flex;gap:var(--space-3);padding:var(--space-2) var(--space-3);background:#0009;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:0 0 var(--radius-lg) var(--radius-lg);font-size:var(--font-size-xs);color:var(--color-text-primary);z-index:5}.webcam-stats .stat-item{display:flex;align-items:center;gap:var(--space-1)}.webcam-stats .icon{font-size:16px;color:var(--color-accent)}.emotions-list{display:flex;flex-direction:column;height:100%;gap:var(--space-3);overflow-y:auto}.emotion-section{display:flex;flex-direction:column;gap:var(--space-2)}.emotion-section-header{display:flex;align-items:center;gap:var(--space-2);padding-bottom:var(--space-2);border-bottom:1px solid var(--color-surface-border)}.emotion-section-header .icon{font-size:18px;color:var(--color-accent)}.emotion-section-header h3{margin:0;font-size:var(--font-size-sm);font-weight:600;color:var(--color-text-primary)}.emotion-items{display:flex;flex-direction:column;gap:var(--space-2)}.emotions-empty{padding:var(--space-3);text-align:center;color:var(--color-text-secondary);font-size:var(--font-size-sm)}.emotions-empty p{margin:0}.emotion-item{display:flex;flex-direction:column;gap:var(--space-1);padding:var(--space-2);background:#ffffff0d;border-radius:var(--radius-md);transition:background .2s}.emotion-item:hover{background:#ffffff14}.emotion-info{display:flex;justify-content:space-between;align-items:center}.emotion-name{font-size:var(--font-size-sm);font-weight:500;color:var(--color-text-primary);text-transform:capitalize}.emotion-score{font-size:var(--font-size-xs);color:var(--color-text-secondary);font-weight:600}.emotion-bar-container{width:100%;height:4px;background:#ffffff1a;border-radius:2px;overflow:hidden}.emotion-bar{height:100%;border-radius:2px;transition:width .3s ease}.empathy-lab-main .image-container{min-height:0;overflow:hidden}.empathy-lab-main .image-content{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden}.stats-row{display:flex;gap:var(--space-2);padding:var(--space-3);background:var(--color-surface);border:1px solid var(--color-surface-border);border-radius:var(--radius-md);overflow-x:auto}.stat-card{flex:1;min-width:110px;display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-1);padding:var(--space-3);background:var(--color-bg);border:1px solid var(--color-surface-border);border-radius:var(--radius-md)}.stat-card--glass{background:var(--glass-panel-bg);border:1px solid var(--glass-panel-border);box-shadow:var(--glass-panel-shadow);backdrop-filter:var(--glass-backdrop-filter);-webkit-backdrop-filter:var(--glass-backdrop-filter);border-radius:var(--radius-md);transition:transform .12s ease,box-shadow .12s ease,border-color .12s ease}.stat-card--glass:hover{transform:translateY(-1px);box-shadow:0 14px 30px #00000040;border-color:#ffffff2e}.stat-card--glass .stat-icon{color:var(--color-accent);text-shadow:0 0 8px color-mix(in oklab,var(--color-accent) 40%,transparent)}.stat-card--glass .stat-value{color:var(--color-text-primary)}.stat-card--glass .stat-label{color:var(--color-text-secondary)}.stat-top{display:flex;align-items:center;gap:var(--space-2);width:100%}.stat-icon{font-size:22px;flex-shrink:0}.stat-content{flex:1;min-width:0}.stat-value{font-size:var(--font-size-lg);font-weight:600;color:var(--color-text-primary);white-space:nowrap}.stat-bottom.stat-label{font-size:var(--font-size-xs);color:var(--color-text-secondary);white-space:nowrap;opacity:.9}*{margin:0;padding:0;box-sizing:border-box}* ::selection{background:var(--color-selection-bg);color:var(--color-selection-text)}:root{--bg-main: #000;--bg-panel: #0a0a0a;--bg-item: #1a1a1a;--bg-item-hover: #252525;--bg-item-active: #fff;--bg-overlay: rgba(0,0,0,.8);--bg-modal: #0a0a0a;--bg-input: #1a1a1a;--bg-button-primary: #1e88e5;--bg-button-secondary: #222;--bg-button-icon-hover: #2a2a2a;--bg-error: #ff4d4d;--bg-spinner-track: #444;--text-primary: #fff;--text-secondary: #bbb;--text-tertiary: #888;--text-muted: #666;--text-inverse: #000;--text-accent: #1e88e5;--text-on-primary: #fff;--border-primary: #333;--border-secondary: #2a2a2a;--border-accent: #1e88e5;--border-dashed: #333;--glass-panel-bg: rgba(12, 12, 12, .72);--glass-panel-border: rgba(255, 255, 255, .1);--glass-panel-shadow: 0 20px 40px rgba(0, 0, 0, .55);--glass-divider-strong: rgba(255, 255, 255, .16);--glass-backdrop-filter: blur(18px);--backdrop-filter: blur(10px);--color-selection-bg: #fff;--color-selection-text: #111}[data-theme=light]{--bg-main: #f0f2f5;--bg-panel: #ffffff;--bg-item: #f0f2f5;--bg-item-hover: #e4e6e9;--bg-item-active: #1e88e5;--bg-overlay: rgba(255,255,255,.8);--bg-modal: #ffffff;--bg-input: #e4e6e9;--bg-button-primary: #1e88e5;--bg-button-secondary: #e4e6e9;--bg-button-icon-hover: #dcdfe2;--bg-error: #d93025;--bg-spinner-track: #ccc;--text-primary: #1c1e21;--text-secondary: #65676b;--text-tertiary: #8a8d91;--text-muted: #b0b3b8;--text-inverse: #fff;--text-accent: #1e88e5;--text-on-primary: #fff;--border-primary: #ced0d4;--border-secondary: #dcdfe2;--border-accent: #1e88e5;--border-dashed: #ced0d4;--glass-panel-bg: rgba(255, 255, 255, .78);--glass-panel-border: rgba(15, 23, 42, .12);--glass-panel-shadow: 0 18px 36px rgba(15, 23, 42, .15);--glass-divider-strong: rgba(15, 23, 42, .18);--glass-backdrop-filter: blur(18px);--backdrop-filter: blur(10px);--color-selection-bg: #1e88e5;--color-selection-text: #fff}[data-theme=light] .assistant-header-text h3,[data-theme=light] .module-viewer-title h2,[data-theme=light] .assistant-icon,[data-theme=light] .user-info,[data-theme=light] .user-info .icon{color:#000}body{background:var(--bg-main);color:var(--text-primary);font-family:Space Mono,Google Sans Display,sans-serif;transition:background-color .2s,color .2s}h1,h2,h3,h4,h5,h6{font-weight:400}li{list-style:none}button{font-family:Space Mono,Google Sans Display,sans-serif;background:none;color:var(--text-primary);border:none;font-size:16px;cursor:pointer;-webkit-user-select:none;user-select:none;display:flex;align-items:center;gap:5px}button:focus{outline:none}button[disabled]{opacity:.5;cursor:not-allowed}button .icon{display:block}.icon{font-family:Material Symbols Outlined;font-weight:300;line-height:1}main{width:100vw;height:100dvh;overflow:hidden;display:flex;flex-direction:row}.left-column{padding:20px;background:var(--bg-panel);display:flex;flex-direction:column;flex:0 0 auto;min-width:240px;max-width:480px;border-right:1px solid var(--border-primary);transition:all .3s ease-in-out}.left-column-content{flex-grow:1;overflow-y:auto;display:flex;flex-direction:column;gap:var(--space-4);justify-content:flex-start;align-items:stretch}.app-switcher{display:flex;justify-content:space-between;align-items:center;padding:0 10px 10px;border-bottom:1px solid var(--border-primary);margin-bottom:10px;flex-shrink:0}.app-switcher .app-title{font-size:20px;font-weight:700;letter-spacing:1px;color:var(--text-primary);text-align:center;flex-grow:1}.app-switcher .switch-btn{font-size:28px;padding:4px;border-radius:50%;transition:background-color .2s}.app-switcher .switch-btn:hover{background-color:var(--bg-item-hover)}.left-column h2{font-size:14px;text-transform:uppercase;color:var(--text-tertiary);letter-spacing:1px;margin-bottom:10px;padding-left:10px}.section-description{font-size:14px;color:var(--text-secondary);padding-left:10px;margin-bottom:20px;line-height:1.4}.middle-column{border-right:1px solid var(--border-primary);display:flex;flex-direction:column;overflow:hidden}main.three-column .middle-column{flex:1 1 auto;min-width:280px}main:not(.three-column) .middle-column{flex:1 1 auto;border-right:none}.right-column{display:flex;flex-direction:column}main.three-column .right-column{flex:0 0 auto;min-width:360px;max-width:900px}main:not(.three-column) .right-column{flex:1 1 75%;padding:0 20px}.column-resizer,.left-column-resizer{width:6px;cursor:col-resize;background:transparent;flex:0 0 auto;position:relative;z-index:1}.column-resizer:after,.left-column-resizer:after{content:"";position:absolute;top:0;left:50%;transform:translate(-50%);width:1px;height:100%;background:var(--border-primary);opacity:0;transition:opacity .2s ease}.column-resizer:hover:after,.left-column-resizer:hover:after{opacity:.4}.column-resizer:active:after,.left-column-resizer:active:after{opacity:.6;width:2px}main.workflows-layout{flex-direction:row;height:100vh;overflow:hidden}main.workflows-layout .right-column{flex:1;padding:0;max-width:none;display:flex;flex-direction:column}.workflows-header{padding:20px;border-bottom:1px solid var(--border-primary);flex-shrink:0}.workflows-header h2{font-size:20px;font-weight:700;margin-bottom:5px}.workflows-header p{color:var(--text-secondary);font-size:14px}.workflows-filters{padding:20px;border-bottom:1px solid var(--border-primary)}.search-input{width:100%;padding:10px 15px;background:var(--bg-input);border:1px solid var(--border-primary);border-radius:8px;color:var(--text-primary);font-size:14px;margin-bottom:15px}.category-filters{display:flex;flex-direction:column;gap:5px}.category-filter{padding:8px 12px;background:transparent;border:1px solid var(--border-primary);border-radius:6px;color:var(--text-secondary);font-size:13px;text-align:left;transition:all .2s}.category-filter:hover{background:var(--bg-item-hover);color:var(--text-primary)}.category-filter.active{background:var(--bg-button-primary);color:var(--text-on-primary);border-color:var(--bg-button-primary)}.workflows-list{flex:1;overflow-y:auto;padding:20px}.workflow-card{background:var(--bg-item);border:1px solid var(--border-primary);border-radius:8px;padding:16px;margin-bottom:12px;cursor:pointer;transition:all .2s}.workflow-card:hover{background:var(--bg-item-hover);border-color:var(--border-accent)}.workflow-card.selected{background:var(--bg-item-active);color:var(--text-inverse);border-color:var(--border-accent)}.workflow-card-header{margin-bottom:12px}.workflow-meta{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:8px}.workflow-title h3{font-size:16px;font-weight:600;margin-bottom:4px}.category-badge{background:var(--bg-button-secondary);color:var(--text-secondary);padding:2px 8px;border-radius:12px;font-size:11px;text-transform:uppercase;letter-spacing:.5px}.workflow-status{display:flex;align-items:center;gap:8px}.status-indicator{display:flex;align-items:center;gap:4px;font-size:12px;color:var(--text-tertiary)}.progress-circle{width:32px;height:32px;border-radius:50%;background:var(--bg-button-primary);display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:600;color:var(--text-on-primary)}.workflow-info{display:flex;gap:12px;font-size:12px;color:var(--text-tertiary);align-items:center}.workflow-description{color:var(--text-secondary);font-size:14px;line-height:1.4;margin-bottom:12px}.workflow-tags{display:flex;gap:6px;flex-wrap:wrap}.tag{background:var(--bg-button-secondary);color:var(--text-tertiary);padding:4px 8px;border-radius:12px;font-size:11px}.workflows-actions{padding:20px;border-top:1px solid var(--border-primary);flex-shrink:0}.create-new-btn{width:100%;padding:12px;background:var(--bg-button-primary);color:var(--text-on-primary);border-radius:8px;font-weight:600;justify-content:center}.create-new-btn:hover{opacity:.9}.workflow-editor{flex:1;overflow-y:auto;padding:20px}.workflow-editor-empty{display:flex;align-items:center;justify-content:center;height:100%}.empty-state{text-align:center;max-width:400px}.empty-state svg{color:var(--text-tertiary);margin-bottom:20px}.empty-state h2{font-size:24px;margin-bottom:10px;color:var(--text-primary)}.empty-state p{color:var(--text-secondary);margin-bottom:20px;line-height:1.5}.create-workflow-btn{padding:12px 24px;background:var(--bg-button-primary);color:var(--text-on-primary);border-radius:8px;font-weight:600}.workflow-editor-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:30px;padding-bottom:20px;border-bottom:1px solid var(--border-primary)}.workflow-title-section h1{font-size:28px;font-weight:700;margin-bottom:8px}.workflow-subtitle{color:var(--text-secondary);font-size:16px;line-height:1.4}.workflow-actions{display:flex;gap:12px;align-items:center}.edit-btn,.copy-btn,.use-workflow-btn{padding:8px 16px;border-radius:6px;font-size:14px;font-weight:500;transition:all .2s}.edit-btn{background:var(--bg-button-secondary);color:var(--text-primary)}.edit-btn.active{background:var(--bg-button-primary);color:var(--text-on-primary)}.copy-btn{background:transparent;color:var(--text-secondary);border:1px solid var(--border-primary)}.copy-btn:hover{background:var(--bg-item-hover);color:var(--text-primary)}.use-workflow-btn{background:var(--bg-button-primary);color:var(--text-on-primary)}.use-workflow-btn:hover{opacity:.9}.workflow-metadata{margin-bottom:30px}.metadata-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:20px;margin-bottom:20px}.metadata-item{display:flex;flex-direction:column;gap:4px}.metadata-item label{font-size:12px;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.5px}.category-value,.difficulty-value,.duration-value,.steps-value{font-size:14px;font-weight:500;color:var(--text-primary)}.difficulty-value.beginner{color:#4caf50}.difficulty-value.intermediate{color:#ff9800}.difficulty-value.advanced{color:#f44336}.learning-objectives{background:var(--bg-item);border:1px solid var(--border-primary);border-radius:8px;padding:20px}.learning-objectives h4{font-size:16px;font-weight:600;margin-bottom:12px}.learning-objectives ul{list-style-type:disc;list-style-position:inside;color:var(--text-secondary)}.learning-objectives li{margin-bottom:8px;line-height:1.4}.workflow-steps{margin-bottom:30px}.workflow-steps h3{font-size:20px;font-weight:600;margin-bottom:8px}.instructions-description{color:var(--text-secondary);margin-bottom:20px;line-height:1.5}.workflow-step{background:var(--bg-item);border:1px solid var(--border-primary);border-radius:8px;margin-bottom:20px;overflow:hidden}.step-header{display:flex;align-items:center;gap:12px;padding:16px 20px;background:var(--bg-panel);border-bottom:1px solid var(--border-primary)}.step-number{width:32px;height:32px;background:var(--bg-button-primary);color:var(--text-on-primary);border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:14px}.step-title h4{font-size:16px;font-weight:600;margin-bottom:4px}.step-type-badge{background:var(--bg-button-secondary);color:var(--text-secondary);padding:2px 8px;border-radius:12px;font-size:11px;text-transform:uppercase;letter-spacing:.5px}.step-content{padding:20px}.step-guidance h5{font-size:14px;font-weight:600;margin-bottom:8px;color:var(--text-primary)}.step-guidance p{color:var(--text-secondary);line-height:1.5;margin-bottom:16px}.guidance-section{margin-bottom:16px}.guidance-section h6{font-size:13px;font-weight:600;margin-bottom:8px;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.5px}.guidance-section ul{list-style-type:disc;list-style-position:inside;color:var(--text-secondary)}.guidance-section li{margin-bottom:6px;line-height:1.4}.step-prompts{margin-top:20px}.prompt-item{background:var(--bg-main);border:1px solid var(--border-secondary);border-radius:6px;padding:12px;margin-bottom:12px}.prompt-meta{display:flex;gap:12px;align-items:center;margin-bottom:8px}.prompt-order{background:var(--bg-button-secondary);color:var(--text-tertiary);padding:2px 6px;border-radius:4px;font-size:11px;font-weight:600}.wait-indicator,.dependency{font-size:11px;color:var(--text-tertiary);background:var(--bg-item-hover);padding:2px 6px;border-radius:4px}.prompt-text p{color:var(--text-secondary);font-style:italic;line-height:1.4}.prompt-editor{width:100%;background:var(--bg-input);border:1px solid var(--border-primary);border-radius:4px;padding:8px 12px;color:var(--text-primary);font-family:inherit;font-size:14px;resize:vertical}.step-resources{margin-top:20px}.resources-list{display:flex;flex-wrap:wrap;gap:8px}.resource-item{display:flex;align-items:center;gap:8px;background:var(--bg-main);border:1px solid var(--border-secondary);border-radius:6px;padding:8px 12px}.resource-type{font-size:11px;text-transform:uppercase;color:var(--text-tertiary);font-weight:600}.resource-title{font-size:13px;color:var(--text-secondary)}.workflow-completion{background:var(--bg-item);border:1px solid var(--border-primary);border-radius:8px;padding:20px}.workflow-completion h3{font-size:18px;font-weight:600;margin-bottom:20px}.deliverables-section,.reflection-section{margin-bottom:20px}.deliverables-section h4,.reflection-section h4{font-size:14px;font-weight:600;margin-bottom:12px}.deliverables-list{display:flex;flex-wrap:wrap;gap:8px}.deliverable-tag{background:var(--bg-button-secondary);color:var(--text-secondary);padding:4px 12px;border-radius:16px;font-size:12px;font-weight:500}.topic-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.topic-tag{background:var(--bg-button-primary);color:var(--text-on-primary);padding:6px 14px;border-radius:20px;font-size:12px;font-weight:600;border:1px solid transparent;transition:all .2s ease}.topic-tag:hover{background:var(--border-accent);transform:translateY(-1px);box-shadow:0 2px 8px #1e88e54d}[data-theme=light] .topic-tag{background:var(--bg-button-primary);color:var(--text-on-primary);box-shadow:0 1px 3px #1e88e533}[data-theme=light] .topic-tag:hover{box-shadow:0 2px 8px #1e88e540}.module-info-row{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:24px;flex-wrap:nowrap}.module-info-item{display:flex;align-items:center;gap:6px;flex:1;min-width:0}.module-info-item .icon{font-size:16px;color:var(--text-accent);flex-shrink:0}.module-info-item strong{font-size:12px;font-weight:600;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.reflection-section ul{list-style-type:disc;list-style-position:inside;color:var(--text-secondary)}.reflection-section li{margin-bottom:8px;line-height:1.4}@media (max-width: 1024px){.left-column,.middle-column{display:none}}.semester-group h2{font-size:14px;text-transform:uppercase;color:var(--text-tertiary);letter-spacing:1px;margin-bottom:10px;padding-left:10px;border-bottom:1px solid var(--border-primary);padding-bottom:10px}.module-list{display:flex;flex-direction:column;gap:5px}.module-list button{font-size:14px;transition:all .2s;white-space:nowrap;gap:10px;width:100%;padding:10px 15px;border-radius:5px;opacity:.7;text-align:left}.module-list button:hover{opacity:1;background:var(--bg-item-hover)}.module-list button.active{opacity:1;background:var(--bg-item-active);color:var(--text-inverse)}.module-list button .icon{font-size:20px}.module-info{display:flex;align-items:center;gap:10px;flex-shrink:0;flex-grow:1;overflow:hidden;text-overflow:ellipsis}.module-info p{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.orchestrator-chat-container,.module-agents-chat-container{display:flex;flex-direction:column;height:100%;background-color:var(--bg-main);padding:0}.module-agents-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;gap:16px;padding:40px;text-align:center}.module-agents-empty h3{margin:0;font-size:20px;color:var(--text-primary)}.module-agents-empty p{margin:0;font-size:14px;color:var(--text-secondary)}.module-agents-empty .hint{font-size:12px;color:var(--text-tertiary);max-width:400px}.orchestrator-header,.module-agents-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;background:#1a1a1acc;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--border-primary);position:relative;z-index:300}[data-theme=light] .orchestrator-header,[data-theme=light] .module-agents-header{background:#fffc}.orchestrator-header-info,.module-agents-header-info{display:flex;flex-direction:column;gap:4px}.orchestrator-title,.module-agents-title{display:flex;align-items:center;gap:12px}.orchestrator-icon,.module-agent-icon{font-size:24px;color:var(--text-accent)}.orchestrator-title h2,.module-agents-title h2{font-size:18px;font-weight:600;color:var(--text-primary);margin:0}.orchestrator-subtitle,.module-agents-subtitle{font-size:12px;color:var(--text-secondary);margin:0;padding-left:36px}.orchestrator-header-actions,.module-agents-header-actions{position:relative;display:flex;align-items:center;gap:10px}.ai-list-btn{display:flex;align-items:center;gap:6px;padding:8px 12px;background:#1e88e51a;border:1px solid rgba(30,136,229,.3);border-radius:20px;color:var(--text-accent);font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.ai-list-btn:hover{background:#1e88e533;border-color:#1e88e580;transform:translateY(-1px)}.ai-count{background:var(--text-accent);color:#fff;border-radius:12px;padding:2px 6px;font-size:11px;font-weight:600;min-width:18px;text-align:center}.ai-list-dropdown{position:absolute;top:100%;right:0;margin-top:8px;background:#1a1a1af2;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid var(--border-primary);border-radius:12px;box-shadow:0 12px 32px #0006;min-width:200px;max-height:300px;overflow-y:auto;z-index:1000}[data-theme=light] .ai-list-dropdown{background:#fffffff2}.model-selector-btn{display:flex;align-items:center;gap:8px;padding:8px 12px;background:#ffffff0f;border:1px solid var(--border-primary);border-radius:20px;color:var(--text-primary);font-size:14px;transition:all .2s ease}.model-selector-btn:hover{background:#ffffff1a;transform:translateY(-1px)}.model-selector-btn .model-name{font-size:12px;color:var(--text-secondary)}.model-selector-dropdown{position:absolute;top:100%;right:0;margin-top:8px;background:#1a1a1af2;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid var(--border-primary);border-radius:12px;box-shadow:0 12px 32px #0006;min-width:300px;max-height:360px;overflow-y:auto;z-index:10000}[data-theme=light] .model-selector-dropdown{background:#fffffff2}.model-selector-dropdown .dropdown-header{padding:12px 16px;font-weight:700;color:var(--text-tertiary);border-bottom:1px solid var(--border-secondary)}.model-selector-dropdown .dropdown-item{display:flex;align-items:center;gap:10px;padding:10px 16px;color:var(--text-primary);font-size:14px;border-bottom:1px solid var(--border-secondary)}.model-selector-dropdown .dropdown-item:last-child{border-bottom:none}.model-selector-dropdown .dropdown-item.active{background:#ffffff0f}.model-selector-dropdown .model-info{display:flex;flex-direction:column;text-align:left}.model-selector-dropdown .model-title{font-weight:600}.model-selector-dropdown .model-desc{font-size:12px;color:var(--text-secondary)}.model-selector-dropdown .model-badge{margin-left:auto;font-size:10px;opacity:.8}.ai-list-item{display:flex;align-items:center;gap:10px;padding:10px 16px;color:var(--text-primary);font-size:14px;border-bottom:1px solid var(--border-secondary)}.ai-list-item:last-child{border-bottom:none}.ai-list-item .icon{font-size:18px;color:var(--text-accent)}.dropdown-empty{padding:16px;text-align:center;color:var(--text-muted);font-size:14px;font-style:italic}.assistant-history{flex-grow:1;overflow-y:auto;padding:var(--spacing-12) var(--spacing-11);display:flex;flex-direction:column;gap:var(--spacing-10)}.assistant-message{max-width:85%;padding:var(--spacing-7) var(--spacing-9);font-size:var(--typography-font-size-normal);line-height:var(--typography-line-height-relaxed)}.assistant-message.user{align-self:flex-end!important;background:#3598db33!important;-webkit-backdrop-filter:blur(10px)!important;backdrop-filter:blur(10px)!important;color:var(--text-primary)!important;border:1px solid rgba(53,152,219,.4)!important;border-radius:var(--radius-xl)!important;box-shadow:0 4px 16px #3598db26!important}.assistant-message.model{align-self:flex-start;background:#1a1a1a99;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:var(--text-primary);border:1px solid rgba(255,255,255,.1);border-radius:var(--radius-xl);box-shadow:0 4px 16px #0003}[data-theme=light] .assistant-message.model{background:#0000000a;border:1px solid rgba(0,0,0,.08)}.assistant-message.model.loading{display:flex;gap:8px;align-items:center}.assistant-message.system{align-self:center;text-align:center;font-size:12px;color:var(--text-muted);background-color:transparent;font-style:italic;padding:5px 0}.assistant-message.model.loading .dot{width:8px;height:8px;background-color:#555;border-radius:50%;animation:loading-dots 1.4s infinite ease-in-out both}.assistant-message.model.loading .dot:nth-child(1){animation-delay:-.32s}.assistant-message.model.loading .dot:nth-child(2){animation-delay:-.16s}@keyframes loading-dots{0%,80%,to{transform:scale(0)}40%{transform:scale(1)}}.assistant-message .message-header{display:flex;align-items:center;gap:8px;margin-bottom:8px;padding-bottom:6px;border-bottom:1px solid var(--border-secondary)}.assistant-message .ai-icon{font-size:16px;width:20px;height:20px;display:flex;align-items:center;justify-content:center}.assistant-message .ai-name{font-size:12px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.assistant-message .agent-badge{font-size:10px;font-weight:600;padding:2px 6px;border-radius:4px;background:#9333ea33;color:#9333ea;border:1px solid rgba(147,51,234,.4);text-transform:uppercase;letter-spacing:.5px;margin-left:auto}[data-theme=light] .assistant-message .agent-badge{background:#9333ea1a;color:#9333eae6}.assistant-message .tools-badge{font-size:10px;font-weight:600;padding:2px 6px;border-radius:4px;background:#22c55e33;color:#22c55e;border:1px solid rgba(34,197,94,.4);display:flex;align-items:center;gap:4px}.assistant-message .tools-badge .icon{font-size:12px}[data-theme=light] .assistant-message .tools-badge{background:#22c55e1a;color:#22c55ee6}.assistant-message.invited-agent{border-left:3px solid rgba(147,51,234,.6);background:#9333ea0d}[data-theme=light] .assistant-message.invited-agent{background:#9333ea08;border-left:3px solid rgba(147,51,234,.4)}.agent-task-message{background:#1a1a1a99;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:16px;max-width:85%;align-self:flex-start;box-shadow:0 4px 16px #0003}[data-theme=light] .agent-task-message{background:#ffffffb3;border:1px solid rgba(0,0,0,.1);box-shadow:0 4px 16px #0000001a}.agent-task-header{display:flex;align-items:center;gap:10px;color:var(--text-tertiary);font-size:14px;font-weight:700}.agent-task-body{padding-top:10px;margin-top:10px;border-top:1px solid var(--border-primary);font-size:14px;line-height:1.6;color:var(--text-secondary)}.spinner-line{height:2px;width:100%;background-color:var(--border-primary);margin:15px 0;position:relative;overflow:hidden}.spinner-dot{position:absolute;width:50%;height:100%;background-color:var(--text-accent);animation:move-dot 2s infinite ease-in-out}@keyframes move-dot{0%{left:-50%}to{left:100%}}.agent-task-result{margin-top:10px;background-color:var(--bg-main);padding:10px;border-radius:4px}.assistant-input-form{padding:20px;border-top:1px solid var(--border-primary);display:flex;gap:10px;background-color:var(--bg-main)}.assistant-input-form input{flex:1;padding:var(--spacing-7) var(--spacing-8);background:#ffffff0d;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.12);border-radius:var(--radius-pill);font-family:var(--typography-font-family-primary);font-size:var(--typography-font-size-normal);color:var(--text-primary);outline:none;transition:all var(--motion-duration-fast) var(--motion-easing-ease)}.assistant-input-form input:focus{border-color:var(--text-accent);box-shadow:var(--shadow-focus)}.assistant-input-form input::placeholder{color:var(--text-tertiary)}[data-theme=light] .assistant-input-form input{background:#0000000d;border:1px solid rgba(0,0,0,.12)}.assistant-input-form button{padding:var(--spacing-6);background:var(--interactive-primary-default);border:none;border-radius:var(--radius-full);cursor:pointer;transition:all var(--motion-duration-fast) var(--motion-easing-ease);display:flex;align-items:center;justify-content:center}.assistant-input-form button:hover:not(:disabled){background:var(--interactive-primary-hover);transform:scale(1.05);box-shadow:var(--shadow-md)}.assistant-input-form button:disabled{opacity:var(--button-disabled-opacity);cursor:not-allowed}.assistant-input-form button .icon{font-size:var(--typography-font-size-icon-md);color:var(--text-on-primary)}.input-actions{display:flex;gap:8px;align-items:center}.action-button-container{position:relative}.action-btn{background:var(--bg-button-secondary);border:1px solid var(--border-primary);border-radius:8px;padding:8px;cursor:pointer;transition:all .2s ease}.action-btn:hover{background:var(--bg-item-hover)}.action-btn .icon{font-size:20px;color:var(--text-secondary)}.dropdown-menu{position:absolute;bottom:100%;left:0;margin-bottom:var(--spacing-5);background:var(--color-alpha-black80);-webkit-backdrop-filter:var(--backdrop-filter);backdrop-filter:var(--backdrop-filter);border:1px solid rgba(255,255,255,.1);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);min-width:280px;max-height:320px;overflow-y:auto;z-index:var(--z-index-dropdown)}[data-theme=light] .dropdown-menu{background:var(--color-alpha-white80);border:1px solid rgba(0,0,0,.1);box-shadow:var(--shadow-md)}.dropdown-header{padding:var(--spacing-7) var(--spacing-9) var(--spacing-5) var(--spacing-9);font-size:var(--typography-font-size-sm);font-weight:var(--typography-font-weight-semibold);color:var(--text-tertiary);text-transform:uppercase;letter-spacing:var(--typography-letter-spacing-tight);border-bottom:1px solid rgba(255,255,255,.08);background:transparent;margin-bottom:var(--spacing-2);font-family:var(--typography-font-family-primary)}[data-theme=light] .dropdown-header{border-bottom:1px solid rgba(0,0,0,.08)}.dropdown-item{width:100%;padding:var(--spacing-7) var(--spacing-9);display:flex;align-items:center;gap:var(--spacing-7);background:transparent;border:none;color:var(--text-primary);cursor:pointer;transition:all var(--motion-duration-fast) var(--motion-easing-ease);font-size:var(--typography-font-size-normal);text-align:left;border-radius:var(--radius-md)!important;margin:var(--spacing-1) var(--spacing-5);width:calc(100% - var(--spacing-10));font-family:var(--typography-font-family-primary)}.dropdown-item:hover{background:#ffffff0f;-webkit-backdrop-filter:var(--backdrop-filter);backdrop-filter:var(--backdrop-filter);transform:none}[data-theme=light] .dropdown-item:hover{background:#0000000a}.dropdown-menu>.dropdown-item:first-of-type,.dropdown-header+.dropdown-item{margin-top:4px}.dropdown-menu>.dropdown-item:last-of-type{margin-bottom:4px}.dropdown-menu .dropdown-item{border-radius:var(--radius-md)!important;background:transparent!important;transform:none!important}.dropdown-menu .dropdown-item:not(:hover){background:transparent!important}.dropdown-item .module-info{display:flex;flex-direction:column;gap:var(--spacing-1);overflow:hidden}.dropdown-item .module-code{font-size:var(--typography-font-size-base);color:var(--text-accent);font-weight:var(--typography-font-weight-semibold);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dropdown-item .module-name{font-size:var(--typography-font-size-md);color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dropdown-item:hover{background:var(--bg-item-hover)}.dropdown-item .icon{font-size:18px;color:var(--text-secondary);min-width:18px}.task-selection-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000c;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:2000}.task-selection-modal{background:var(--bg-modal);border:1px solid var(--border-primary);border-radius:16px;box-shadow:0 20px 64px #00000080;width:90%;max-width:600px;max-height:80vh;overflow:hidden;display:flex;flex-direction:column}.task-selection-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid var(--border-primary);background:var(--bg-panel)}.selected-agent-info{display:flex;align-items:center;gap:12px}.selected-agent-info .icon{font-size:24px;color:var(--text-accent)}.selected-agent-info h3{font-size:18px;font-weight:600;color:var(--text-primary);margin:0}.selected-agent-info p{font-size:12px;color:var(--text-secondary);margin:0;font-family:monospace}.close-task-menu{background:none;border:none;color:var(--text-secondary);cursor:pointer;padding:8px;border-radius:8px;transition:all .2s ease}.close-task-menu:hover{background:var(--bg-item-hover);color:var(--text-primary)}.close-task-menu .icon{font-size:20px}.task-selection-content{flex:1;overflow-y:auto;padding:24px}.task-category{margin-bottom:24px}.task-category:last-child{margin-bottom:0}.task-category h4{font-size:14px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;margin:0 0 12px}.task-option{width:100%;display:flex;align-items:flex-start;gap:12px;padding:16px;background:var(--bg-item);border:1px solid var(--border-secondary);border-radius:12px;margin-bottom:8px;cursor:pointer;transition:all .2s ease;text-align:left}.task-option:hover{background:var(--bg-item-hover);border-color:var(--border-accent);transform:translateY(-1px)}.task-option .icon{font-size:20px;color:var(--text-accent);margin-top:2px;flex-shrink:0}.task-option div{flex:1;min-width:0}.task-option strong{display:block;font-size:14px;font-weight:600;color:var(--text-primary);margin-bottom:4px}.task-option p{font-size:13px;color:var(--text-secondary);margin:0 0 6px;line-height:1.4}.task-time{font-size:11px;color:var(--text-tertiary);font-weight:500}.task-option.quick-invite{background:#1e88e51a;border-color:#1e88e54d}.task-option.quick-invite:hover{background:#1e88e533;border-color:#1e88e580}.task-option.specialized{background:#ff98000d;border-color:#ff980033}.task-option.specialized:hover{background:#ff98001a;border-color:#ff980066}.task-option.specialized .icon{color:#ff9800}.assistant-actions-container{display:flex;gap:var(--spacing-5);align-items:center}.assistant-tasks-container,.assistant-tools-container{position:relative}.action-btn{background:#ffffff0d;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.12);border-radius:var(--radius-md);padding:var(--spacing-5);cursor:pointer;transition:all var(--motion-duration-fast) var(--motion-easing-ease)}.action-btn:hover{background:#ffffff1a;border-color:#fff3;transform:translateY(-1px)}[data-theme=light] .action-btn{background:#0000000d;border:1px solid rgba(0,0,0,.12)}[data-theme=light] .action-btn:hover{background:#00000014;border-color:#0003}.action-btn .icon{font-size:var(--typography-font-size-lg);color:var(--text-secondary)}.assistant-tasks-dropdown,.assistant-tools-dropdown{position:absolute;bottom:100%;left:0;margin-bottom:var(--spacing-5);background:#1a1a1af2;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.12);border-radius:var(--radius-xl);box-shadow:0 12px 32px #0006;min-width:320px;max-width:400px;max-height:400px;overflow-y:auto;z-index:var(--z-index-dropdown)}[data-theme=light] .assistant-tasks-dropdown,[data-theme=light] .assistant-tools-dropdown{background:#fffffff2;border:1px solid rgba(0,0,0,.12);box-shadow:0 12px 32px #00000026}.tasks-dropdown-header,.tools-dropdown-header{display:flex;align-items:center;gap:var(--spacing-7);padding:var(--spacing-9) var(--spacing-10);border-bottom:1px solid rgba(255,255,255,.08);background:#ffffff0d;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}[data-theme=light] .tasks-dropdown-header,[data-theme=light] .tools-dropdown-header{border-bottom:1px solid rgba(0,0,0,.08);background:#00000008}.tasks-dropdown-header .icon,.tools-dropdown-header .icon{font-size:var(--typography-font-size-lg);color:var(--interactive-primary-default)}.tasks-dropdown-header strong,.tools-dropdown-header strong{font-size:var(--typography-font-size-normal);color:var(--text-primary);margin:0;font-weight:var(--typography-font-weight-semibold)}.tasks-dropdown-header p,.tools-dropdown-header p{font-size:var(--typography-font-size-sm);color:var(--text-secondary);margin:0}.task-section,.tool-section{padding:var(--spacing-9) var(--spacing-10);border-bottom:1px solid rgba(255,255,255,.05)}[data-theme=light] .task-section,[data-theme=light] .tool-section{border-bottom:1px solid rgba(0,0,0,.05)}.task-section:last-child,.tool-section:last-child{border-bottom:none}.task-section h4,.tool-section h4{font-size:var(--typography-font-size-xs);font-weight:var(--typography-font-weight-semibold);color:var(--text-tertiary);text-transform:uppercase;letter-spacing:var(--typography-letter-spacing-wide);margin:0 0 var(--spacing-7) 0}.task-item,.tool-item{width:100%;display:flex;align-items:flex-start;gap:var(--spacing-7);padding:var(--spacing-7);background:#ffffff05;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.08);border-radius:var(--radius-md);margin-bottom:var(--spacing-5);cursor:pointer;transition:all var(--motion-duration-fast) var(--motion-easing-ease);text-align:left}[data-theme=light] .task-item,[data-theme=light] .tool-item{background:#00000005;border:1px solid rgba(0,0,0,.08)}.task-item:last-child,.tool-item:last-child{margin-bottom:0}.task-item:hover,.tool-item:hover{background:#ffffff0f;border-color:#ffffff26;transform:translateY(-1px);box-shadow:0 4px 16px #0003}[data-theme=light] .task-item:hover,[data-theme=light] .tool-item:hover{background:#0000000a;border-color:#00000026;box-shadow:0 4px 16px #0000001a}.task-item .icon,.tool-item .icon{font-size:var(--typography-font-size-normal);color:var(--interactive-primary-default);margin-top:var(--spacing-1);flex-shrink:0}.task-item div,.tool-item div{flex:1;min-width:0}.task-item strong,.tool-item strong{display:block;font-size:var(--typography-font-size-sm);font-weight:var(--typography-font-weight-semibold);color:var(--text-primary);margin-bottom:var(--spacing-2)}.task-item p,.tool-item p{font-size:var(--typography-font-size-xs);color:var(--text-secondary);margin:0 0 var(--spacing-2) 0;line-height:var(--typography-line-height-tight)}.task-item .task-time{font-size:var(--typography-font-size-2xs);color:var(--text-tertiary);font-weight:var(--typography-font-weight-medium)}.task-item.specialized{background:var(--color-orange-50);border-color:var(--color-orange-200)}.task-item.specialized:hover{background:var(--color-orange-100);border-color:var(--color-orange-300)}.task-item.specialized .icon{color:var(--color-orange-500)}.module-info{display:flex;flex-direction:column;gap:2px}.module-code{font-size:12px;color:var(--text-tertiary);font-weight:600}.module-name{font-size:14px;color:var(--text-primary)}.mode-selector{display:flex;flex-direction:column;gap:15px}.mode-category>h2{display:flex;justify-content:space-between;align-items:center;cursor:pointer;border-bottom:1px solid var(--border-primary);padding-bottom:10px}.mode-subcategory{margin-top:15px}.mode-subcategory h3{font-size:13px;color:var(--text-tertiary);margin-bottom:10px;padding-left:10px}.mode-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:10px}.mode-item{display:flex;flex-direction:column;align-items:stretch;gap:8px;padding:10px;border-radius:8px;background-color:var(--bg-item);border:1px solid var(--border-secondary);transition:all .2s;text-align:center;font-size:12px;position:relative}.mode-item:hover{transform:translateY(-3px);background-color:var(--bg-item-hover);border-color:var(--border-primary)}.mode-item.active{background-color:var(--bg-item-active);color:var(--text-inverse);border-color:var(--bg-item-active)}.mode-item img{width:100%;height:70px;object-fit:cover;border-radius:4px;background:var(--bg-main);flex-shrink:0}.mode-item span{white-space:normal;line-height:1.3;flex-grow:1;display:flex;align-items:center;justify-content:center}.mode-item .status-dot{position:absolute;top:6px;right:6px;width:8px;height:8px;border-radius:50%;box-shadow:0 0 4px #0000004d}.mode-item .status-dot.connected{background:#10b981}.mode-item .status-dot.disconnected{background:#6b7280}.service-mode-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:var(--space-3)}.booth-viewer{display:flex;flex-direction:column;height:100%;overflow:hidden}.image-uploader{flex-grow:1;display:flex;flex-direction:column;align-items:center;justify-content:center;border:2px dashed var(--border-dashed);border-radius:12px;padding:20px;text-align:center;color:var(--text-muted);position:relative;transition:border-color .2s}.image-uploader:hover{border-color:var(--text-accent);color:var(--text-secondary)}.image-uploader .icon{font-size:64px;margin-bottom:20px}.image-uploader input[type=file]{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;opacity:0;cursor:pointer}.booth-header{padding-bottom:20px;border-bottom:1px solid var(--border-primary);display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;align-items:start;gap:20px;width:100%;max-width:1200px;margin:0 auto var(--spacing-8)}.booth-header-info{flex-grow:1}.booth-header-info h2{font-size:24px;font-weight:700;color:var(--text-primary);padding-left:0;margin-bottom:5px}.booth-header-info p{font-size:14px;color:var(--text-secondary);line-height:1.6}.booth-generate-btn{font-size:16px;padding:10px 25px;background:var(--bg-button-primary);color:var(--text-on-primary);border-radius:50px;border:none;font-weight:700;letter-spacing:1px;transition:transform .2s;white-space:nowrap}.booth-title{min-width:0}.booth-description{min-width:0;display:flex;flex-direction:column;align-items:flex-start}.booth-actions{display:flex;align-items:flex-start;gap:12px}.booth-title h1{margin:0;font-size:22px;font-weight:700;color:var(--text-primary);display:flex;align-items:center;gap:8px}.booth-description .description-text{margin:0;font-size:14px;color:var(--text-secondary)}.mode-meta{display:flex;align-items:center;gap:10px;margin-top:6px}.mode-type{font-size:12px;color:var(--text-secondary);text-transform:uppercase}.mode-status{font-size:12px;text-transform:uppercase;letter-spacing:.4px}.mode-status.ready{color:var(--text-accent)}.mode-status.pending{color:var(--text-muted)}.booth-generate-btn:hover{transform:scale(1.05)}.image-previews{flex-grow:1;display:grid;grid-template-columns:1fr 1fr;gap:var(--space-6);position:relative}.image-container{background:var(--bg-item);border:1px solid var(--border-secondary);border-radius:8px;padding:var(--panel-padding-md);display:flex;flex-direction:column;gap:var(--space-3);position:relative}.image-container h4{text-align:center;font-size:12px;text-transform:uppercase;color:var(--text-tertiary)}.image-container img{width:100%;height:100%;object-fit:contain;border-radius:4px}.image-container .placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:var(--bg-spinner-track);font-size:48px}.loading-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#000000b3;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);z-index:10;display:flex;align-items:center;justify-content:center;border-radius:8px}.spinner{width:50px;height:50px;border:5px solid var(--bg-spinner-track);border-top-color:var(--text-accent);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.error-message{position:absolute;bottom:20px;left:20px;right:20px;background:var(--bg-error);color:var(--text-on-primary);padding:10px;border-radius:5px;text-align:center;font-size:14px}.user-bar{padding-top:20px;border-top:1px solid var(--border-primary);display:flex;justify-content:space-between;align-items:center;flex-shrink:0}.user-info{display:flex;align-items:center;gap:10px;font-size:14px}.user-info .icon{font-size:28px}.user-controls-wrapper{display:flex;align-items:center}.user-actions{display:flex;align-items:center;gap:0;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:4px;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}[data-theme=light] .user-actions{background:#00000008;border:1px solid rgba(0,0,0,.08)}.user-actions .action-btn{display:flex;align-items:center;justify-content:center;padding:8px 12px;border-radius:8px;background:transparent;border:none;color:var(--text-secondary);cursor:pointer;transition:all .2s ease;position:relative}.user-actions .action-btn .icon{font-size:20px}.user-actions .action-btn .status-dot{position:absolute;top:4px;right:4px;width:6px;height:6px;border-radius:50%}.user-actions .action-btn .status-dot.connected{background:#10b981}.user-actions .action-btn .status-dot.disconnected{background:#6b7280}.user-actions .action-btn:hover{color:var(--text-primary);background:#ffffff14}[data-theme=light] .user-actions .action-btn:hover{background:#0000000d}.user-actions .action-btn.logout-btn:hover{color:#ef4444;background:#ef44441a}.user-actions .action-divider{width:1px;height:20px;background:#ffffff1a;margin:0 4px}[data-theme=light] .user-actions .action-divider{background:#0000001a}.user-actions.user-actions--lg{padding:6px 8px;border-radius:16px}.user-actions.user-actions--lg .action-btn{padding:12px 14px;border-radius:12px}.user-actions.user-actions--lg .action-btn .icon{font-size:24px}.user-actions.user-actions--lg .action-divider{height:24px;margin:0 6px}.glass-banner-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;z-index:var(--z-index-modal-base);pointer-events:none}.glass-banner{position:relative;max-width:640px;width:min(90%,640px);background:var(--glass-panel-bg);border:1px solid var(--glass-panel-border);box-shadow:var(--glass-panel-shadow);backdrop-filter:var(--glass-backdrop-filter);-webkit-backdrop-filter:var(--glass-backdrop-filter);border-radius:16px;padding:20px 48px 20px 20px;color:var(--text-primary);pointer-events:auto}.glass-banner-title{font-size:16px;font-weight:700;letter-spacing:.5px;margin-bottom:8px}.glass-banner-body{font-size:13px;color:var(--text-secondary);line-height:1.5}.glass-banner-close{position:absolute;top:8px;right:8px;width:32px;height:32px;border-radius:10px;display:grid;place-items:center;background:transparent;border:1px solid rgba(255,255,255,.12);color:var(--text-secondary)}.glass-banner-close:hover{background:#ffffff14;color:var(--text-primary)}.sidebar-tooltip{position:fixed;transform:translate(8px,-50%);background:#0d1018f5;border:1px solid var(--glass-panel-border);border-radius:var(--radius-md);padding:var(--space-2) var(--space-3);color:var(--text-primary);z-index:10000;box-shadow:0 10px 30px #00000059;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);opacity:0;transition:opacity .16s ease-in-out,transform .16s ease-in-out;pointer-events:none}.sidebar-tooltip.is-visible{opacity:1;transform:translateY(-50%)}.sidebar-tooltip:before{content:"";position:absolute;left:-6px;top:50%;width:10px;height:10px;transform:translateY(-50%) rotate(45deg);background:#0d1018f5;border-left:1px solid var(--glass-panel-border);border-bottom:1px solid var(--glass-panel-border)}.sidebar-tooltip--left{transform:translate(-8px,-50%)}.sidebar-tooltip--left.is-visible{transform:translateY(-50%)}.sidebar-tooltip--left:before{left:auto;right:-6px;border-left:none;border-bottom:none;border-right:1px solid var(--glass-panel-border);border-top:1px solid var(--glass-panel-border)}[data-theme=light] .sidebar-tooltip{background:#fffffffa;color:var(--text-primary)}[data-theme=light] .sidebar-tooltip:before{background:#fffffffa}.sidebar-tooltip--top{transform:translate(-50%,-8px)}.sidebar-tooltip--top.is-visible{transform:translate(-50%)}.sidebar-tooltip--top{left:var(--_x, 0);top:var(--_y, 0)}.sidebar-tooltip--top:before{left:50%;top:auto;bottom:-6px;transform:translate(-50%) rotate(45deg);border-left:1px solid var(--glass-panel-border);border-bottom:1px solid var(--glass-panel-border)}.sidebar-tooltip--bottom{transform:translate(-50%,8px)}.sidebar-tooltip--bottom.is-visible{transform:translate(-50%)}.sidebar-tooltip--bottom{left:var(--_x, 0);top:var(--_y, 0)}.sidebar-tooltip--bottom:before{left:50%;top:-6px;transform:translate(-50%) rotate(45deg);border-right:1px solid var(--glass-panel-border);border-top:1px solid var(--glass-panel-border)}.archiva-dashboard{padding:20px;height:100%;display:flex;flex-direction:column}.archiva-home{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:var(--text-muted);flex-grow:1}.archiva-home .icon{font-size:64px;margin-bottom:20px}.archiva-home button{font-size:16px;padding:10px 25px;background:var(--bg-button-primary);color:var(--text-on-primary);border-radius:50px;margin-top:20px}.template-selector{display:flex;flex-direction:column;gap:20px}.template-selector h2{font-size:20px;font-weight:700}.template-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:15px}.template-card{background:var(--bg-item);border:1px solid var(--border-secondary);border-radius:8px;padding:15px;transition:all .2s ease;text-align:left}.template-card:hover{transform:translateY(-3px);border-color:var(--border-accent)}.template-card h3{font-size:16px;font-weight:700;margin-bottom:5px}.template-card p{font-size:13px;color:var(--text-secondary)}.back-btn{align-self:flex-start;margin-bottom:10px;color:var(--text-tertiary)}.back-btn:hover{color:var(--text-primary)}.archiva-entry-form{display:flex;flex-direction:column;height:100%}.archiva-form-header{display:flex;justify-content:space-between;align-items:center;padding-bottom:15px;border-bottom:1px solid var(--border-primary);gap:15px}.archiva-form-header-title h2{font-size:20px;font-weight:700}.archiva-form-header-title p{font-size:14px;color:var(--text-tertiary)}.archiva-form-actions{display:flex;gap:10px}.archiva-form-actions button{padding:8px 15px;border-radius:5px;font-size:14px;white-space:nowrap}.archiva-form-actions button.secondary{background:var(--bg-button-secondary)}.archiva-form-actions button.primary{background:var(--bg-button-primary);color:var(--text-on-primary)}.archiva-form-content{flex-grow:1;overflow-y:auto;padding:20px 10px 20px 0;display:flex;flex-direction:column;gap:20px}.form-field{display:flex;flex-direction:column;gap:8px}.form-field label{font-size:12px;text-transform:uppercase;color:var(--text-tertiary);font-weight:700}.form-field input,.form-field textarea{background:var(--bg-input);color:var(--text-primary);border:1px solid var(--border-secondary);border-radius:4px;padding:10px;font-size:14px;font-family:Space Mono,Google Sans Display,sans-serif;width:100%}.form-field textarea{min-height:120px;resize:vertical}.form-field textarea.code{font-family:Space Mono,monospace;min-height:200px}.empty-list-message{padding:10px 15px;font-size:13px;color:var(--text-muted);font-style:italic}.welcome-screen{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:flex;align-items:center;justify-content:center;background-color:var(--bg-overlay);-webkit-backdrop-filter:var(--backdrop-filter);backdrop-filter:var(--backdrop-filter);animation:fade-in .3s ease-out}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.welcome-content{background-color:var(--bg-panel);padding:40px;border-radius:12px;border:1px solid var(--border-primary);max-width:600px;text-align:center;box-shadow:0 10px 30px #0003;animation:slide-up .4s ease-out}@keyframes slide-up{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.welcome-content h1{font-size:28px;font-weight:700;margin-bottom:15px;color:var(--text-primary)}.welcome-content .intro{font-size:16px;line-height:1.6;color:var(--text-secondary);margin-bottom:30px}.welcome-start-btn{font-size:16px;padding:12px 30px;background:var(--bg-button-primary);color:var(--text-on-primary);border-radius:50px;border:none;font-weight:700;letter-spacing:1px;transition:transform .2s}.welcome-start-btn:hover{transform:scale(1.05)}.module-viewer{background-color:var(--bg-panel);padding:20px;display:flex;flex-direction:column;height:100%}.module-viewer-header{display:flex;justify-content:space-between;align-items:center;padding-bottom:15px;border-bottom:1px solid var(--border-primary);flex-shrink:0}.module-viewer-title{flex-grow:1}.module-viewer-title h2{font-size:20px;font-weight:700}.module-viewer-title p{font-size:14px;color:var(--text-tertiary)}.module-connectors{display:flex;align-items:center;gap:5px}.module-connectors .icon-btn{font-size:24px;padding:8px;border-radius:50%;color:var(--text-tertiary);transition:all .2s ease;position:relative}.module-connectors .icon-btn:hover{color:var(--text-primary);background-color:var(--bg-item-hover)}.module-connectors .icon-btn.connected{color:var(--text-accent);border:2px solid rgba(16,185,129,.3)}.module-connectors .icon-btn[data-service=figma].connected{color:#f24e1e;border-color:#f24e1e4d}.module-connectors .icon-btn[data-service=github].connected{color:#24292e;border-color:#24292e4d}.module-connectors .icon-btn[data-service=notion].connected{color:#000;border-color:#0000004d}.module-connectors .icon-btn[data-service=googledrive].connected{color:#4285f4;border-color:#4285f44d}.module-connectors .connection-indicator{position:absolute;top:2px;right:2px;width:8px;height:8px;border-radius:50%;border:2px solid var(--bg-panel)}.module-connectors .connection-indicator.connected{background-color:#10b981;box-shadow:0 0 4px #10b98180}.module-connectors .connection-indicator.disconnected{background-color:#6b7280;box-shadow:0 0 4px #6b72804d}.module-connectors .icon-btn[data-service=figma] .connection-indicator.connected{background-color:#f24e1e;box-shadow:0 0 4px #f24e1e80}.module-connectors .icon-btn[data-service=github] .connection-indicator.connected{background-color:#24292e;box-shadow:0 0 4px #24292e80}.module-connectors .icon-btn[data-service=notion] .connection-indicator.connected{background-color:#000;box-shadow:0 0 4px #00000080}.module-connectors .icon-btn[data-service=googledrive] .connection-indicator.connected{background-color:#4285f4;box-shadow:0 0 4px #4285f480}.module-connectors .assistant-chat-icon{background-color:var(--text-accent);color:var(--text-on-primary)}.module-connectors .assistant-chat-icon:hover{background-color:var(--text-accent);color:var(--text-on-primary);transform:scale(1.1)}.module-viewer-content{flex-grow:1;overflow-y:auto;padding-top:20px;display:flex;flex-direction:column;gap:20px;font-size:14px;line-height:1.7;color:var(--text-secondary)}.module-viewer-content h3{font-size:14px;text-transform:uppercase;color:var(--text-tertiary);letter-spacing:1px;margin-bottom:10px;border-bottom:1px solid var(--border-secondary);padding-bottom:5px}.module-viewer-content ul{list-style:disc;padding-left:20px;display:flex;flex-direction:column;gap:8px}.assistant-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000c;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:9999;display:flex;align-items:center;justify-content:center;animation:chat-fade-in var(--motion-duration-normal) var(--motion-easing-ease)}.assistant-window{display:flex;flex-direction:column;width:90%;max-width:600px;height:80%;max-height:700px;background:#0a0a0af2;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.12);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);animation:chat-slide-up var(--motion-duration-slow) var(--motion-easing-ease-out);overflow:hidden}[data-theme=light] .assistant-window{background:#fffffff2;border:1px solid rgba(0,0,0,.12)}.assistant-header{display:flex;align-items:center;justify-content:flex-start;gap:var(--spacing-8);padding:var(--spacing-9) var(--spacing-10);background:#1a1a1acc;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid rgba(255,255,255,.08);border-radius:var(--radius-xl) var(--radius-xl) 0 0;flex-shrink:0}[data-theme=light] .assistant-header{background:#fffc;border-bottom:1px solid rgba(0,0,0,.08)}.assistant-icon{font-size:var(--typography-font-size-icon-lg);color:var(--text-accent)}.assistant-header-text{flex-grow:1}.assistant-header-text{flex:1;min-width:0;overflow:hidden;margin-right:auto}.assistant-header-text h3{font-size:var(--typography-font-size-lg);font-weight:var(--typography-font-weight-semibold);color:var(--text-primary);margin:0 0 var(--spacing-1) 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.assistant-header-text h4{font-size:var(--typography-font-size-md);color:var(--text-secondary);margin:0;font-weight:var(--typography-font-weight-normal);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.assistant-window .assistant-history{flex:1;overflow-y:auto;padding:var(--spacing-12) var(--spacing-11);scroll-behavior:smooth}.assistant-history{display:flex;flex-direction:column;gap:var(--spacing-10)}.assistant-window .assistant-input-form{display:flex;gap:var(--spacing-5);padding:var(--spacing-10);background:#1a1a1a99;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-top:1px solid rgba(255,255,255,.08);border-radius:0 0 var(--radius-xl) var(--radius-xl);flex-shrink:0}[data-theme=light] .assistant-window .assistant-input-form{background:#fff9;border-top:1px solid rgba(0,0,0,.08)}.close-btn{padding:var(--spacing-4);border-radius:var(--radius-full);background:transparent;border:none;cursor:pointer;transition:all var(--motion-duration-fast) var(--motion-easing-ease);display:flex;align-items:center;justify-content:center}.close-btn:hover{background:#ffffff1a;transform:scale(1.05)}[data-theme=light] .close-btn:hover{background:#0000001a}.close-btn .icon{font-size:var(--typography-font-size-icon-md);color:var(--text-secondary)}.assistant-window.dragging{box-shadow:var(--shadow-xl),0 0 0 1px #ffffff1a;transform-origin:center}.left-column{position:relative;z-index:1;flex:0 0 auto}.draggable-header{user-select:none;-webkit-user-select:none;cursor:grab}.draggable-header:active{cursor:grabbing}.assistant-window.dragging *{user-select:none;-webkit-user-select:none;pointer-events:none}.assistant-window.dragging .close-btn{pointer-events:auto}@keyframes chat-fade-in{0%{opacity:0;-webkit-backdrop-filter:blur(0px);backdrop-filter:blur(0px)}to{opacity:1;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}}@keyframes chat-slide-up{0%{opacity:0;transform:translateY(30px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.auth-loading{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--bg-main);color:var(--text-primary);gap:20px}.auth-loading .spinner{width:40px;height:40px}.login-form{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:var(--bg-main);color:var(--text-primary)}.login-content{background:var(--bg-panel);border:1px solid var(--border-primary);border-radius:12px;padding:40px;max-width:450px;text-align:center;box-shadow:0 10px 40px #0000001a}.login-content h2{font-size:24px;font-weight:700;margin-bottom:15px;color:var(--text-primary)}.login-content p{font-size:16px;color:var(--text-secondary);line-height:1.6;margin-bottom:30px}.login-error{background:var(--bg-error);color:var(--text-on-primary);padding:12px;border-radius:6px;margin-bottom:20px;font-size:14px}.google-signin-container{display:flex;flex-direction:column;align-items:center;gap:15px;margin-bottom:30px}.login-loading{display:flex;align-items:center;gap:10px;color:var(--text-secondary);font-size:14px}.login-loading .spinner{width:20px;height:20px}.login-help{font-size:13px;color:var(--text-muted);line-height:1.5}.user-avatar{width:32px;height:32px;border-radius:50%;object-fit:cover;border:2px solid var(--border-secondary)}.user-details{display:flex;flex-direction:column;gap:2px;flex-grow:1;min-width:0}.user-name{font-size:14px;font-weight:600;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-email{font-size:12px;color:var(--text-tertiary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-info{display:flex;align-items:center;gap:var(--space-3);font-size:14px;flex-grow:1;min-width:0}.settings-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background-color:var(--bg-overlay);-webkit-backdrop-filter:var(--backdrop-filter);backdrop-filter:var(--backdrop-filter);z-index:1002;display:flex;align-items:center;justify-content:center;animation:fade-in .3s ease}.settings-modal{background-color:var(--bg-modal);border:1px solid var(--border-primary);border-radius:12px;width:90%;max-width:800px;height:85%;max-height:800px;display:flex;flex-direction:column;box-shadow:0 10px 40px #0000004d;animation:slide-up .4s ease;overflow:hidden}.settings-header{display:flex;align-items:center;justify-content:space-between;padding:var(--panel-padding-md);border-bottom:1px solid var(--border-primary);flex-shrink:0}.settings-header h2{font-size:20px;font-weight:700;color:var(--text-primary)}.settings-content{flex-grow:1;overflow-y:auto;padding:var(--panel-padding-md);display:flex;flex-direction:column;gap:var(--space-6)}.settings-section{display:flex;flex-direction:column;gap:var(--space-4)}.settings-section h3{font-size:16px;font-weight:700;color:var(--text-primary);margin:0;padding-bottom:var(--space-3);border-bottom:1px solid var(--border-secondary)}.section-description{font-size:14px;color:var(--text-secondary);line-height:1.6;margin:0}.account-info{padding:var(--panel-padding-md);background:var(--bg-item);border:1px solid var(--border-secondary);border-radius:var(--radius-lg)}.account-details{display:flex;align-items:center;gap:var(--space-4)}.account-avatar{width:48px;height:48px;border-radius:50%;object-fit:cover;border:2px solid var(--border-secondary)}.account-name{font-size:16px;font-weight:600;color:var(--text-primary);margin:0 0 4px}.account-email{font-size:14px;color:var(--text-secondary);margin:0}.service-connectors{display:none}.service-tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:var(--space-4)}.service-tile{position:relative;display:flex;flex-direction:column;align-items:center;gap:var(--space-2);padding:var(--space-3);background:var(--bg-item);border:1px solid var(--border-secondary);border-radius:var(--radius-md);transition:border-color .2s,transform .15s ease}.service-tile:hover{border-color:var(--border-accent);transform:translateY(-1px)}.service-tile-icon{width:40px;height:40px;display:grid;place-items:center;background:var(--bg-main);border-radius:10px}.service-tile-name{font-size:13px;color:var(--text-primary);text-align:center}.tile-status-dot{position:absolute;top:8px;right:8px;width:8px;height:8px;border-radius:50%;box-shadow:0 0 4px #0000004d}.tile-status-dot.connected{background:#10b981}.tile-status-dot.disconnected{background:#6b7280}.service-connector{position:relative;display:flex;flex-direction:column;gap:var(--space-3);padding:var(--panel-padding-md);background:var(--bg-item);border:1px solid var(--border-secondary);border-radius:8px;transition:border-color .2s}.service-connector:hover{border-color:var(--border-primary)}.service-info{display:flex;align-items:center;gap:var(--space-3);flex-grow:1}.service-icon{display:flex;align-items:center;justify-content:center;width:40px;height:40px;background:var(--bg-main);border-radius:8px;flex-shrink:0}.service-details h3{font-size:16px;font-weight:600;color:var(--text-primary);margin:0 0 4px;border:none;padding:0}.service-details p{font-size:14px;color:var(--text-secondary);margin:0;line-height:1.4}.service-badge{display:inline-flex;align-items:center;gap:6px;padding:2px 8px;border-radius:12px;font-size:12px;border:1px solid var(--border-secondary);color:var(--text-secondary)}.service-badge.ok{border-color:#10b98166;color:#10b981}.service-badge.warn{border-color:#f59e0b66;color:#f59e0b}.service-badge.neutral{border-color:var(--border-secondary);color:var(--text-secondary)}.redirect-row{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:8px;padding:6px 8px;border:1px dashed var(--border-secondary);border-radius:8px}.redirect-label{font-size:12px;color:var(--text-tertiary)}.redirect-value{font-size:12px;color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.copy-btn{border:1px solid var(--border-secondary);border-radius:6px;padding:2px 6px;color:var(--text-secondary)}.copy-btn:hover{background:var(--bg-button-icon-hover);color:var(--text-primary)}.dialog-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;z-index:2000;display:flex;align-items:center;justify-content:center;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.dialog-card{width:min(800px,92vw);max-height:85vh;overflow:auto;background:var(--glass-panel-bg);border:1px solid var(--glass-panel-border);border-radius:16px;box-shadow:var(--glass-panel-shadow)}.dialog-card-header{display:flex;align-items:center;justify-content:space-between;padding:var(--panel-padding-sm) var(--panel-padding-md);border-bottom:1px solid var(--glass-panel-border)}.dialog-card-header .left{display:flex;align-items:center;gap:var(--space-2)}.dialog-card-header .title{font-size:14px;font-weight:700}.dialog-card-body{padding:var(--panel-padding-md)}.accent-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:var(--space-4)}.accent-swatch{display:flex;flex-direction:column;align-items:center;gap:var(--space-2);background:var(--bg-item);border:1px solid var(--border-secondary);border-radius:var(--radius-md);padding:var(--space-3);cursor:pointer;transition:border-color .15s ease,transform .12s ease}.accent-swatch:hover{border-color:var(--border-accent);transform:translateY(-1px)}.accent-swatch.selected{outline:2px solid var(--border-accent);outline-offset:2px}.accent-circle{width:40px;height:40px;border-radius:50%;border:1px solid var(--border-secondary)}.accent-name{font-size:var(--fs-caption);color:var(--text-secondary)}.service-actions{flex-shrink:0;display:flex;gap:var(--space-3);align-items:center;justify-content:space-between;flex-wrap:wrap}.help-icon{margin-left:4px;border:1px solid var(--border-secondary);border-radius:6px;padding:2px 6px;display:inline-flex;align-items:center;color:var(--text-secondary)}.help-icon:hover{background:var(--bg-button-icon-hover);color:var(--text-primary)}.card-status-dot{position:absolute;top:10px;right:10px;width:10px;height:10px;border-radius:50%;box-shadow:0 0 4px #0000004d}.card-status-dot.connected{background:#10b981}.card-status-dot.disconnected{background:#6b7280}.service-connected{display:flex;align-items:center;gap:15px}.connection-status{display:flex;align-items:center;gap:8px}.status-indicator{width:8px;height:8px;border-radius:50%;background:var(--text-muted)}.status-indicator.connected{background:#10b981}.status-text{font-size:14px;color:var(--text-secondary);font-weight:500}.connect-btn{background:var(--bg-button-primary);color:var(--text-on-primary);padding:8px 16px;border-radius:6px;font-size:14px;font-weight:600;transition:transform .12s ease,box-shadow .12s ease}.connect-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 2px 8px #1e88e533}.connect-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.disconnect-btn{background:var(--bg-button-secondary);color:var(--text-primary);padding:6px 12px;border-radius:4px;font-size:13px;border:1px solid var(--border-primary);transition:background-color .2s}.disconnect-btn:hover{background:var(--bg-item-hover)}.privacy-info{font-size:14px;color:var(--text-secondary);line-height:1.6}.privacy-info p{margin:0 0 12px}.privacy-info p:last-child{margin-bottom:0}.api-key-input-container,.url-input-container{display:flex;flex-direction:column;gap:10px;min-width:280px}.api-key-input,.url-input{padding:8px 12px;border:1px solid var(--border-primary);border-radius:6px;background:var(--bg-input);color:var(--text-primary);font-size:14px;font-family:inherit}.api-key-input:focus,.url-input:focus{outline:none;border-color:var(--border-accent);box-shadow:0 0 0 2px #1e88e51a}.api-key-actions,.url-actions{display:flex;gap:8px}.cancel-btn{background:var(--bg-button-secondary);color:var(--text-primary);padding:6px 12px;border-radius:4px;font-size:13px;border:1px solid var(--border-primary);transition:background-color .2s}.settings-section+.settings-section{margin-top:40px}.settings-section h3{display:flex;align-items:center;gap:8px}.settings-section h3:before{content:"";width:4px;height:16px;background:var(--text-accent);border-radius:2px}.service-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.setup-link{color:var(--text-accent);text-decoration:none;padding:4px;border-radius:4px;transition:background-color .2s;display:flex;align-items:center;font-size:16px}.setup-link:hover{background:var(--bg-button-icon-hover)}.service-description{margin-bottom:6px!important}.service-help{font-size:12px!important;color:var(--text-tertiary)!important;font-style:italic}.service-instructions{margin-top:12px}.instructions-toggle{background:none;padding:4px 0;font-size:12px;color:var(--text-accent);display:flex;align-items:center;gap:4px;transition:color .2s}.instructions-toggle:hover{color:var(--text-primary)}.instructions-content{margin-top:8px;padding:12px;background:var(--bg-main);border-radius:6px;border:1px solid var(--border-secondary)}.instruction-step{font-size:13px;color:var(--text-secondary);margin-bottom:4px;font-family:Monaco,Menlo,monospace}.instruction-step:last-child{margin-bottom:0}.service-error{display:flex;align-items:center;gap:8px;padding:8px 12px;background:#ff4d4d1a;border:1px solid rgba(255,77,77,.3);border-radius:6px;color:#ff4d4d;font-size:13px;margin-bottom:12px}.connection-details{font-size:12px;color:var(--text-tertiary);margin-left:4px}.input-container{display:flex;flex-direction:column;gap:12px;min-width:300px}.input-header{display:flex;justify-content:space-between;align-items:center;font-size:13px;font-weight:600;color:var(--text-primary)}.get-key-link{color:var(--text-accent);text-decoration:none;font-size:12px;font-weight:500;padding:2px 6px;border-radius:4px;transition:background-color .2s}.get-key-link:hover{background:var(--bg-button-icon-hover);text-decoration:underline}.service-input{padding:10px 12px;border:1px solid var(--border-primary);border-radius:6px;background:var(--bg-input);color:var(--text-primary);font-size:14px;font-family:inherit;transition:border-color .2s,box-shadow .2s}.service-input:focus{outline:none;border-color:var(--border-accent);box-shadow:0 0 0 3px #1e88e51a}.input-actions{display:flex;gap:var(--space-3)}.connect-btn.primary{background:var(--bg-button-primary);color:var(--text-on-primary);padding:10px 20px;border-radius:6px;font-size:14px;font-weight:600;transition:transform .12s ease,box-shadow .12s ease;border:none}.connect-btn.primary:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 3px 10px #1e88e538}.cancel-btn{background:var(--bg-button-secondary);color:var(--text-primary);padding:10px 16px;border-radius:6px;font-size:14px;border:1px solid var(--border-primary);transition:background-color .2s}.cancel-btn:hover{background:var(--bg-item-hover)}.service-toggle{display:flex;align-items:center;gap:15px}.toggle-switch{position:relative;width:48px;height:24px;background:var(--bg-button-secondary);border-radius:12px;border:1px solid var(--border-primary);cursor:pointer;transition:background-color .3s}.toggle-switch.active{background:var(--bg-button-primary);border-color:var(--border-accent)}.toggle-switch:after{content:"";position:absolute;top:2px;left:2px;width:18px;height:18px;background:var(--text-primary);border-radius:50%;transition:transform .3s;box-shadow:0 2px 4px #0003}.toggle-switch.active:after{transform:translate(24px);background:var(--text-on-primary)}.toggle-label{display:flex;flex-direction:column;gap:2px}.toggle-status{font-size:14px;font-weight:500;color:var(--text-primary)}.toggle-description{font-size:12px;color:var(--text-secondary)}.service-settings{display:flex;align-items:center;gap:10px}.settings-btn{background:var(--bg-button-secondary);color:var(--text-secondary);padding:6px;border-radius:4px;font-size:16px;border:1px solid var(--border-secondary);transition:all .2s}.settings-btn:hover{color:var(--text-primary);border-color:var(--border-primary);background:var(--bg-item-hover)}.booth-main{flex:1;padding:var(--spacing-10);overflow-y:auto;position:relative;display:flex;justify-content:center}.current-work{display:grid;grid-template-columns:1fr auto 1fr;gap:var(--spacing-10);align-items:center;margin:0 auto var(--spacing-10);width:100%;max-width:1200px}.input-container,.output-container{background:var(--bg-item);border:1px solid var(--border-secondary);border-radius:8px;overflow:hidden;position:relative}.image-header{padding:var(--panel-padding-sm);background:var(--bg-panel);border-bottom:1px solid var(--border-secondary);display:flex;justify-content:space-between;align-items:center}.image-header h3{font-size:14px;font-weight:600;color:var(--text-primary);margin:0}.image-info{font-size:12px;color:var(--text-secondary);text-transform:uppercase;font-weight:500}.image-content{padding:var(--panel-padding-md);min-height:300px;display:flex;align-items:center;justify-content:center}.image-content img{max-width:100%;max-height:100%;object-fit:contain;border-radius:4px}.image-content .placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--text-tertiary);text-align:center;gap:var(--space-3)}.image-content .placeholder .icon{font-size:48px}.image-content .placeholder p{font-size:14px;margin:0}.input-container .image-content.replaceable{position:relative;cursor:pointer;outline:none}.input-container .image-content.replaceable:focus{outline:none}.input-container .image-content.replaceable:focus-visible{outline:2px solid var(--border-accent);outline-offset:4px}.input-container .image-content.replaceable .replace-overlay{position:absolute;top:var(--space-3);right:var(--space-3);bottom:var(--space-3);left:var(--space-3);background:#000000a6;color:var(--text-on-primary);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-2);border-radius:6px;text-transform:uppercase;font-size:12px;letter-spacing:.08em;opacity:0;transition:opacity .2s ease;pointer-events:none}.input-container .image-content.replaceable .replace-overlay .icon{font-size:32px}.input-container .image-content.replaceable:hover .replace-overlay,.input-container .image-content.replaceable:focus-visible .replace-overlay{opacity:1}.transformation-arrow{display:flex;flex-direction:column;align-items:center;gap:var(--space-1);color:var(--text-accent);font-weight:600}.transformation-arrow .icon{font-size:32px}.transform-label{font-size:12px;text-transform:uppercase;letter-spacing:.5px}.image-actions{padding:var(--panel-padding-sm);background:var(--bg-panel);border-top:1px solid var(--border-secondary);display:flex;gap:var(--space-3)}.image-action-btn{padding:var(--spacing-1) var(--spacing-5);background:var(--bg-button-secondary);color:var(--text-primary);border:1px solid var(--border-primary);border-radius:4px;font-size:12px;cursor:pointer;transition:all .2s;display:flex;align-items:center;gap:var(--spacing-1)}.image-action-btn:hover{background:var(--bg-item-hover)}.error-display{background:var(--bg-error);color:var(--text-on-primary);padding:var(--spacing-5);border-radius:8px;display:flex;align-items:center;gap:var(--spacing-5);margin-top:var(--spacing-5)}.error-display .icon{font-size:20px}.error-display h4{margin:0 0 var(--spacing-1) 0;font-size:14px;font-weight:600}.error-display p{margin:0;font-size:13px}.error-display button{margin-left:auto;background:none;border:none;color:var(--text-on-primary);cursor:pointer;padding:var(--spacing-1);border-radius:4px;transition:background .2s}.error-display button:hover{background:#ffffff1a}.booth-footer{flex-shrink:0;padding:var(--spacing-10);border-top:1px solid var(--glass-panel-border);background:linear-gradient(to bottom,var(--glass-divider-strong) 0%,transparent 35%),var(--glass-panel-bg);backdrop-filter:var(--glass-backdrop-filter);-webkit-backdrop-filter:var(--glass-backdrop-filter);box-shadow:var(--glass-panel-shadow);max-height:200px;overflow:hidden;display:flex;flex-direction:column}.history-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-5)}.history-header h3{font-size:16px;font-weight:600;color:var(--text-primary);margin:0}.history-count{font-size:12px;color:var(--text-secondary)}.history-scroll{flex:1;overflow-y:auto;overflow-x:hidden}.history-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;height:120px;color:var(--text-tertiary);text-align:center;gap:var(--spacing-5)}.history-placeholder .icon{font-size:32px}.history-placeholder p{font-size:14px;margin:0}.history-placeholder small{font-size:12px;color:var(--text-muted)}.booth-footer-handle{position:fixed;left:50%;bottom:12px;transform:translate(-50%);z-index:60;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--glass-panel-border);background:var(--glass-panel-bg);backdrop-filter:var(--glass-backdrop-filter);-webkit-backdrop-filter:var(--glass-backdrop-filter);color:var(--text-primary);border-radius:999px;padding:6px 10px;cursor:pointer;box-shadow:var(--glass-panel-shadow)}.booth-footer-handle .icon{font-size:18px}.booth-footer-drawer{position:fixed;left:16px;right:16px;bottom:0;z-index:55;border:1px solid var(--glass-panel-border);background:linear-gradient(to bottom,var(--glass-divider-strong) 0%,transparent 35%),var(--glass-panel-bg);backdrop-filter:var(--glass-backdrop-filter);-webkit-backdrop-filter:var(--glass-backdrop-filter);box-shadow:var(--glass-panel-shadow);border-radius:12px 12px 0 0;max-height:min(50vh,420px);overflow:hidden;display:flex;flex-direction:column;padding:var(--spacing-8);transform:translateY(100%);opacity:0;pointer-events:none;transition:transform .25s ease,opacity .2s ease}.booth-footer-drawer.open{transform:translateY(0);opacity:1;pointer-events:auto}.booth-footer-drawer .history-scroll{overflow-y:auto}@keyframes pulse{0%,to{opacity:.3}50%{opacity:1}}.preference-item{display:flex;flex-direction:column;gap:var(--spacing-4);padding:var(--spacing-6);background:var(--surface-tertiary);border:1px solid var(--border-secondary);border-radius:var(--radius-md)}.preference-label{font-size:var(--typography-font-size-base);font-weight:var(--typography-font-weight-medium);color:var(--text-primary);margin:0}.preference-description{font-size:var(--typography-font-size-sm);color:var(--text-secondary);margin:0;line-height:var(--typography-line-height-relaxed)}.model-selector{display:flex;flex-direction:column;gap:var(--spacing-3)}.model-select{padding:var(--spacing-4) var(--spacing-5);border:1px solid var(--border-primary);border-radius:var(--radius-md);background:var(--surface-input);color:var(--text-primary);font-size:var(--typography-font-size-base);cursor:pointer;transition:all .2s ease}.model-select:focus{outline:none;border-color:var(--border-accent);box-shadow:0 0 0 3px #3b82f61a}.model-select:hover{border-color:var(--border-accent)}.model-selector-note{font-size:var(--typography-font-size-sm);color:var(--text-tertiary);margin:0;font-style:italic}.loading-state,.error-state,.no-models-state{display:flex;align-items:center;gap:var(--spacing-3);padding:var(--spacing-4) var(--spacing-5);border:1px solid var(--border-secondary);border-radius:var(--radius-md);background:var(--surface-quaternary);color:var(--text-secondary);font-size:var(--typography-font-size-sm)}.loading-state .icon{animation:spin 1s linear infinite;color:var(--interactive-primary-default)}.error-state{border-color:var(--status-error);background:#ef44441a;color:var(--status-error)}.error-state .icon{color:var(--status-error)}.no-models-state{border-color:var(--status-warning);background:#f59e0b1a;color:var(--status-warning)}.no-models-state .icon{color:var(--status-warning)}.retry-btn{display:flex;align-items:center;gap:var(--spacing-2);padding:var(--spacing-2) var(--spacing-3);border:1px solid var(--border-primary);border-radius:var(--radius-sm);background:var(--surface-secondary);color:var(--text-primary);font-size:var(--typography-font-size-xs);cursor:pointer;transition:all .2s ease;margin-left:auto}.retry-btn:hover{background:var(--interactive-secondary-hover);border-color:var(--border-accent)}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.preview-content{height:400px;overflow-y:auto;padding:20px;background:var(--bg-panel);border:1px solid var(--border-primary);border-radius:8px;font-size:14px;line-height:1.6}.markdown-preview{color:var(--text-primary)}.markdown-preview h1,.markdown-preview h2,.markdown-preview h3{color:var(--text-primary);margin:20px 0 15px;border-bottom:1px solid var(--border-secondary);padding-bottom:8px}.markdown-preview h1{font-size:20px}.markdown-preview h2{font-size:18px}.markdown-preview h3{font-size:16px}.markdown-preview p{color:var(--text-secondary);margin-bottom:15px}.markdown-preview table{width:100%;border-collapse:collapse;margin:15px 0}.markdown-preview th,.markdown-preview td{border:1px solid var(--border-secondary);padding:8px 12px;text-align:left}.markdown-preview th{background:var(--bg-item);color:var(--text-primary);font-weight:600}.markdown-preview td{color:var(--text-secondary)}.markdown-preview pre{background:var(--bg-item);border:1px solid var(--border-secondary);border-radius:4px;padding:15px;overflow-x:auto;color:var(--text-primary);font-family:Menlo,Monaco,Courier New,monospace;font-size:13px;margin:15px 0}.markdown-preview code{background:var(--bg-item);padding:2px 6px;border-radius:3px;font-family:Menlo,Monaco,Courier New,monospace;font-size:13px;color:var(--text-accent)}.markdown-preview ul,.markdown-preview ol{margin:15px 0;padding-left:25px}.markdown-preview li{color:var(--text-secondary);margin-bottom:8px}.markdown-preview strong{color:var(--text-primary);font-weight:600}.markdown-preview em{color:var(--text-secondary);font-style:italic}.html-preview{color:var(--text-primary);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.html-preview h1,.html-preview h2,.html-preview h3{color:var(--text-primary);margin:20px 0 15px;border-bottom:1px solid var(--border-secondary);padding-bottom:8px}.html-preview p{color:var(--text-secondary);margin-bottom:15px}.html-preview table{width:100%;border-collapse:collapse;margin:15px 0}.html-preview th,.html-preview td{border:1px solid var(--border-secondary);padding:8px 12px;text-align:left}.html-preview th{background:var(--bg-item);color:var(--text-primary)}.html-preview pre{background:var(--bg-item);border:1px solid var(--border-secondary);border-radius:4px;padding:15px;overflow-x:auto;color:var(--text-primary);font-family:Menlo,Monaco,Courier New,monospace;font-size:13px;margin:15px 0}.html-preview figure{margin:15px 0;text-align:center}.html-preview figure img{max-width:100%;border-radius:4px;border:1px solid var(--border-secondary)}.placeholder-content{display:flex;flex-direction:column;align-items:center;justify-content:center;height:400px;text-align:center;color:var(--text-secondary);gap:15px}.placeholder-content .icon{font-size:48px;color:var(--text-tertiary)}.placeholder-content h3{color:var(--text-primary);margin:0}.placeholder-content p{margin:5px 0;font-size:14px}.saved-templates-grid{display:flex;gap:15px;overflow-x:auto;padding:10px 0}.template-card{min-width:280px;background:var(--bg-item);border:1px solid var(--border-secondary);border-radius:8px;padding:15px;transition:all .2s ease}.template-card:hover{border-color:var(--border-accent);transform:translateY(-2px);box-shadow:0 4px 12px #0000004d}.card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:10px}.card-header h4{margin:0;color:var(--text-primary);font-size:16px;flex:1}.template-badge{background:var(--bg-button-secondary);color:var(--text-secondary);padding:3px 8px;border-radius:12px;font-size:11px;margin-left:10px}.card-date{margin:0 0 8px;color:var(--text-tertiary);font-size:12px}.card-preview{margin:0 0 15px;color:var(--text-secondary);font-size:13px;line-height:1.4;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.card-actions{display:flex;gap:8px}.history-scroll{overflow-x:auto;max-height:150px}.module-list button,.module-list .template-item{position:relative;width:100%;display:flex;align-items:center;gap:var(--spacing-3);padding:var(--spacing-4);background:transparent;border:1px solid var(--border-secondary);border-radius:var(--radius-md);color:var(--text-secondary);cursor:pointer;transition:all .2s ease;margin-bottom:var(--spacing-2)}.module-list button:hover,.module-list .template-item:hover{background:var(--bg-item-hover);border-color:var(--border-accent);color:var(--text-primary)}.module-list button.active,.module-list .template-item.active{background:var(--bg-item-active);border-color:var(--border-accent);color:var(--text-inverse)}.module-list button .module-info,.module-list .template-item .module-info{flex:1;display:flex;flex-direction:row;align-items:center;gap:var(--spacing-3)}.module-list button .module-info .icon,.module-list .template-item .module-info .icon{font-size:var(--typography-font-size-icon-md)}.module-list button .module-info p,.module-list .template-item .module-info p{margin:0;font-size:var(--typography-font-size-sm);font-weight:var(--typography-font-weight-medium)}.sidebar-item-card{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);width:100%;background:transparent;border:1px solid var(--border-secondary);border-radius:var(--radius-md);color:var(--text-secondary);cursor:pointer;transition:background .15s ease,border-color .15s ease,color .15s ease}.sidebar-subheader{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-4);padding:var(--spacing-3) var(--spacing-4)}.sidebar-subheader .left{display:flex;align-items:center;gap:var(--spacing-3)}.sidebar-subheader .icon{font-size:var(--typography-font-size-icon-base);color:var(--text-tertiary)}.sidebar-subheader .title{font-size:var(--typography-font-size-sm);font-weight:var(--typography-font-weight-semibold);letter-spacing:.5px;text-transform:uppercase;color:var(--text-tertiary)}.sidebar-subheader .subtitle{font-size:var(--typography-font-size-xs);color:var(--text-secondary)}.sidebar-item-card:hover{background:var(--bg-item-hover);border-color:var(--border-accent);color:var(--text-primary)}.sidebar-item-card.active{background:var(--bg-item-active);border-color:var(--border-accent);color:var(--text-inverse)}.sidebar-item-card .icon{font-size:var(--typography-font-size-icon-md);color:inherit}.sidebar-item-card .label{flex:1;font-size:var(--typography-font-size-sm);font-weight:var(--typography-font-weight-medium);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-item-card .badge{font-size:12px;color:var(--text-secondary);background:color-mix(in lab,var(--bg-item-active) 8%,transparent);padding:2px 8px;border-radius:12px;min-width:24px;text-align:center;font-weight:600}.sidebar-separator{width:100%;height:1px;background:var(--glass-divider-strong);border:0;margin:var(--space-3) 0}.create-btn{display:flex;align-items:center;justify-content:center;width:24px;height:24px;background:var(--bg-button-primary);border:none;border-radius:50%;color:var(--text-on-primary);cursor:pointer;transition:all .2s ease;margin-left:auto}.create-btn:hover{background:var(--bg-button-primary);transform:scale(1.1)}.create-btn .icon{font-size:14px}.booth-generate-btn .icon{transition:transform .3s ease}.booth-generate-btn:disabled .icon{animation:spin 1s linear infinite}.booth-generate-btn:disabled{opacity:.7;cursor:not-allowed}
