.dashboard{min-height:100vh;padding:var(--space-6);background:var(--gradient-bg-radial)}.dashboard-container{max-width:900px;margin:0 auto;display:flex;flex-direction:column;gap:var(--space-6)}.welcome-header{display:flex;align-items:flex-start;justify-content:space-between;flex-wrap:wrap;gap:var(--space-4);padding:var(--space-4) 0}.welcome-content{flex:1;min-width:200px}.welcome-title{font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold);color:var(--color-text-primary);margin:0 0 var(--space-2) 0}.welcome-name{background:var(--gradient-logo);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.welcome-subtitle{color:var(--color-text-secondary);font-size:var(--font-size-lg);margin:0}.welcome-badges{display:flex;gap:var(--space-3);flex-wrap:wrap}.welcome-badge{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);background:var(--color-glass-bg);-webkit-backdrop-filter:blur(var(--blur-md));backdrop-filter:blur(var(--blur-md));border:1px solid var(--color-glass-border);border-radius:var(--radius-full)}.badge-streak .badge-icon{color:var(--color-warning)}.badge-xp .badge-icon{color:var(--color-accent-light)}.badge-value{font-weight:var(--font-weight-bold);color:var(--color-text-primary)}.badge-label{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.voice-hero{padding:var(--space-8)}.voice-hero-header{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-6);margin-bottom:var(--space-6)}.voice-hero-title-section{flex:1}.voice-hero-title{font-size:var(--font-size-2xl);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin:0 0 var(--space-2) 0}.voice-hero-subtitle{color:var(--color-text-secondary);margin:0;font-size:var(--font-size-base)}.voice-hero-language{min-width:160px}.voice-hero-language .select{margin-top:var(--space-1)}.voice-hero-main{display:flex;flex-direction:column;align-items:center;padding:var(--space-6) 0}.voice-hero-cta{min-width:280px;padding:var(--space-5) var(--space-8);font-size:var(--font-size-xl)}.voice-hero-cta svg{flex-shrink:0}.voice-hero-controls{display:flex;flex-direction:column;align-items:center;gap:var(--space-6);width:100%}.voice-hero-indicator{display:flex;align-items:center;gap:var(--space-3)}.recording-text{font-size:var(--font-size-lg);font-weight:var(--font-weight-medium);color:var(--color-error)}.voice-hero-buttons{display:flex;gap:var(--space-4)}.voice-hero-status{display:flex;align-items:center;justify-content:center;gap:var(--space-2);padding-top:var(--space-4);border-top:1px solid var(--color-glass-border);margin-top:var(--space-4)}.status-dot{width:8px;height:8px;border-radius:var(--radius-full)}.status-disconnected{background:var(--color-text-muted)}.status-connecting{background:var(--color-warning);animation:pulse 1s infinite}.status-connected{background:var(--color-success)}.status-paused{background:var(--color-warning)}.status-error{background:var(--color-error)}.status-text{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.voice-chat{padding:var(--space-6)}.voice-chat-header{display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-4);color:var(--color-text-secondary)}.voice-chat-header h3{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);margin:0;color:var(--color-text-primary)}.voice-chat-messages{display:flex;flex-direction:column;gap:var(--space-3);max-height:400px;overflow-y:auto;padding-right:var(--space-2)}.chat-message{display:flex;gap:var(--space-2)}.chat-message-user{flex-direction:row-reverse}.chat-message-avatar{width:28px;height:28px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-full);background:var(--color-bg-tertiary);color:var(--color-text-secondary);flex-shrink:0}.chat-message-assistant .chat-message-avatar{background:var(--color-accent-subtle);color:var(--color-accent-light)}.chat-bubble-text{line-height:var(--line-height-relaxed)}.progress-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-4)}.stat-card{text-align:center;padding:var(--space-5)}.stat-card-icon{width:44px;height:44px;margin:0 auto var(--space-3)}.stat-icon-accent{background:var(--color-accent-subtle);color:var(--color-accent-light)}.stat-icon-success{background:var(--color-success-subtle);color:var(--color-success)}.stat-icon-warning{background:var(--color-warning-subtle);color:var(--color-warning)}.stat-icon-primary{background:var(--color-accent-subtle);color:var(--color-accent-light)}.recent-lessons{padding:var(--space-6)}.recent-lessons-header{display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-4);color:var(--color-text-secondary)}.recent-lessons-header h3{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);margin:0;color:var(--color-text-primary)}.recent-lessons-empty{text-align:center;padding:var(--space-8);color:var(--color-text-muted)}.recent-lessons-list{display:flex;flex-direction:column;gap:var(--space-4)}.lesson-item{padding:var(--space-4);background:#0003;border-radius:var(--radius-md);border:1px solid rgba(255,255,255,.05)}.lesson-item-date{display:flex;align-items:center;gap:var(--space-2);font-size:var(--font-size-sm);color:var(--color-text-muted);margin-bottom:var(--space-2)}.lesson-item-summary{color:var(--color-text-primary);margin:0 0 var(--space-3) 0;line-height:var(--line-height-relaxed)}.lesson-item-words{display:flex;align-items:center;gap:var(--space-2);font-size:var(--font-size-sm);color:var(--color-text-secondary);margin-bottom:var(--space-2)}.words-more{color:var(--color-text-muted)}.lesson-item-weak{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap}.weak-label{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.profile-settings{padding:0;overflow:hidden}.profile-settings .collapsible-header{padding:var(--space-5) var(--space-6);margin:0}.profile-header-content{display:flex;align-items:center;gap:var(--space-3)}.profile-header-content h3{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);margin:0;color:var(--color-text-primary)}.profile-form{padding:0 var(--space-6) var(--space-6)}.debug-console{padding:var(--space-5)}.debug-console-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-4)}.debug-title{display:flex;align-items:center;gap:var(--space-2);color:var(--color-text-secondary)}.debug-title h3{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);margin:0;color:var(--color-text-primary)}.debug-console-output{max-height:250px;overflow-y:auto;white-space:pre-wrap;word-break:break-word;font-size:var(--font-size-xs);font-family:Monaco,Consolas,monospace;background:#0000004d;padding:var(--space-4);border-radius:var(--radius-md);color:var(--color-text-secondary);margin:0}@media (max-width: 768px){.dashboard{padding:var(--space-4)}.dashboard-container{gap:var(--space-4)}.welcome-header{flex-direction:column}.welcome-title{font-size:var(--font-size-2xl)}.welcome-subtitle{font-size:var(--font-size-base)}.voice-hero{padding:var(--space-5)}.voice-hero-header{flex-direction:column;gap:var(--space-4)}.voice-hero-language{width:100%}.voice-hero-cta{width:100%;min-width:auto}.voice-hero-buttons{width:100%;flex-direction:column}.voice-hero-buttons .btn{width:100%}.progress-cards{grid-template-columns:repeat(2,1fr)}.recent-lessons,.profile-settings .collapsible-header,.profile-form{padding-left:var(--space-4);padding-right:var(--space-4)}}@media (max-width: 480px){.dashboard{padding:var(--space-3)}.welcome-badges{width:100%}.welcome-badge{flex:1;justify-content:center}.voice-hero{padding:var(--space-4)}.voice-hero-title{font-size:var(--font-size-xl)}.progress-cards{grid-template-columns:1fr 1fr;gap:var(--space-3)}.stat-card{padding:var(--space-4)}.stat-card-value{font-size:var(--font-size-xl)}}.auth-page{display:flex;min-height:100vh;width:100%}.auth-panel-left{flex:1;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;background:linear-gradient(135deg,var(--color-bg-primary) 0%,#1e1b4b 100%)}.auth-branding{position:relative;z-index:1;padding:var(--space-8);max-width:500px;width:100%}.auth-branding-content{position:relative;z-index:2}.auth-orb{position:absolute;border-radius:var(--radius-full);pointer-events:none}.auth-orb-1{width:300px;height:300px;top:10%;left:-10%;background:radial-gradient(circle,rgba(139,92,246,.4) 0%,transparent 70%);filter:blur(60px)}.auth-orb-2{width:250px;height:250px;bottom:20%;right:10%;background:radial-gradient(circle,rgba(34,197,94,.3) 0%,transparent 70%);filter:blur(50px)}.auth-orb-3{width:200px;height:200px;top:50%;left:60%;background:radial-gradient(circle,rgba(99,102,241,.3) 0%,transparent 70%);filter:blur(40px)}.auth-brand-header{text-align:center;margin-bottom:var(--space-12)}.auth-brand-logo{font-size:3.5rem;font-weight:var(--font-weight-bold);background:var(--gradient-logo);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:var(--space-3);letter-spacing:-.02em}.auth-brand-tagline{font-size:var(--font-size-xl);color:var(--color-text-secondary);margin:0}.auth-value-props{display:flex;flex-direction:column;gap:var(--space-6)}.auth-value-prop{display:flex;align-items:flex-start;gap:var(--space-4)}.auth-value-icon{width:48px;height:48px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-lg);background:var(--color-accent-subtle);color:var(--color-accent-light);flex-shrink:0}.auth-value-text h3{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin:0 0 var(--space-1) 0}.auth-value-text p{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin:0;line-height:var(--line-height-relaxed)}.auth-brand-footer{text-align:center;margin-top:var(--space-12)}.auth-brand-footer p{font-size:var(--font-size-sm);color:var(--color-text-muted);margin:0}.auth-panel-right{flex:1;display:flex;align-items:center;justify-content:center;padding:var(--space-6);background:var(--color-bg-primary)}.auth-form-container{width:100%;max-width:440px}.auth-form-card{padding:var(--space-8)}.auth-mobile-header{text-align:center;margin-bottom:var(--space-8)}.auth-mobile-logo{font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold);background:var(--gradient-logo);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin:0 0 var(--space-2) 0}.auth-mobile-tagline{font-size:var(--font-size-base);color:var(--color-text-secondary);margin:0}.auth-form-footer{text-align:center;margin-top:var(--space-6);font-size:var(--font-size-sm);color:var(--color-text-secondary)}.auth-link{background:none;border:none;color:var(--color-accent-light);font-weight:var(--font-weight-semibold);cursor:pointer;padding:0;font-size:inherit;transition:color var(--transition-fast)}.auth-link:hover{color:var(--color-accent);text-decoration:underline}@media (max-width: 1024px){.auth-panel-left{flex:.8}.auth-panel-right{flex:1.2}}@media (max-width: 768px){.auth-page{flex-direction:column}.auth-panel-left{display:none}.auth-panel-right{min-height:100vh;padding:var(--space-4);background:var(--gradient-bg-radial)}.auth-form-card{padding:var(--space-6);max-width:100%}.auth-mobile-header{display:block}}@media (max-width: 480px){.auth-panel-right{padding:var(--space-3)}.auth-form-card{padding:var(--space-5);border-radius:var(--radius-lg)}.auth-mobile-logo{font-size:var(--font-size-2xl)}}.landing-page{min-height:calc(100vh - 64px);position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;padding:var(--spacing-xl)}.landing-orb{position:absolute;border-radius:50%;filter:blur(80px);opacity:.4;pointer-events:none}.landing-orb-1{width:400px;height:400px;background:var(--color-primary);top:-100px;right:-100px}.landing-orb-2{width:300px;height:300px;background:var(--color-accent);bottom:-50px;left:-50px}.landing-orb-3{width:200px;height:200px;background:var(--color-success);top:50%;left:50%;transform:translate(-50%,-50%)}.landing-content{position:relative;z-index:1;max-width:1000px;width:100%;text-align:center}.landing-hero{margin-bottom:var(--spacing-2xl)}.landing-title{font-size:clamp(2rem,5vw,3.5rem);font-weight:700;line-height:1.2;margin-bottom:var(--spacing-lg);color:var(--color-text-primary)}.text-gradient{background:linear-gradient(135deg,var(--color-primary),var(--color-accent));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.landing-subtitle{font-size:clamp(1rem,2vw,1.25rem);color:var(--color-text-secondary);max-width:600px;margin:0 auto var(--spacing-xl);line-height:1.6}.landing-cta{display:flex;gap:var(--spacing-md);justify-content:center;flex-wrap:wrap}.landing-cta .btn{display:inline-flex;align-items:center;gap:var(--spacing-sm)}.btn-lg{padding:var(--spacing-md) var(--spacing-xl);font-size:1.1rem}.btn-outline{background:transparent;border:2px solid var(--color-border);color:var(--color-text-primary)}.btn-outline:hover{background:var(--color-surface-hover);border-color:var(--color-primary)}.landing-features{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:var(--spacing-xl);margin-bottom:var(--spacing-2xl)}.landing-feature{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--spacing-xl);text-align:center;transition:transform .3s ease,box-shadow .3s ease}.landing-feature:hover{transform:translateY(-4px);box-shadow:0 12px 40px #0000004d}.landing-feature-icon{width:64px;height:64px;margin:0 auto var(--spacing-md);background:linear-gradient(135deg,var(--color-primary),var(--color-accent));border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center;color:#fff}.landing-feature h3{font-size:1.25rem;font-weight:600;margin-bottom:var(--spacing-sm);color:var(--color-text-primary)}.landing-feature p{color:var(--color-text-secondary);font-size:.95rem;line-height:1.5}.landing-social-proof{color:var(--color-text-muted);font-size:.9rem}@media (max-width: 768px){.landing-page{padding:var(--spacing-lg)}.landing-features{grid-template-columns:1fr}}.admin-tutor-pipelines{height:100vh;display:flex;flex-direction:column;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.pipelines-header{padding:2rem;text-align:center;background:#0003;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.pipelines-header h1{margin:0;font-size:2.5rem;font-weight:700}.pipelines-header p{margin:.5rem 0 0;opacity:.9;font-size:1.1rem}.pipelines-controls{padding:1rem 2rem;display:flex;justify-content:space-between;align-items:center;background:#00000026}.view-tabs{display:flex;gap:.5rem}.view-tabs button{padding:.75rem 1.5rem;border:none;border-radius:8px;background:#ffffff1a;color:#fff;font-size:1rem;cursor:pointer;transition:all .3s ease}.view-tabs button:hover{background:#fff3;transform:translateY(-2px)}.view-tabs button.active{background:#ffffff4d;box-shadow:0 4px 12px #0003}.terminal-controls{display:flex;gap:1rem;align-items:center}.terminal-controls label{display:flex;align-items:center;gap:.5rem;font-size:.95rem}.terminal-controls button{padding:.5rem 1rem;border:none;border-radius:6px;background:#fff3;color:#fff;cursor:pointer;transition:all .2s ease}.terminal-controls button:hover{background:#ffffff4d}.pipelines-content{flex:1;display:flex;gap:1rem;padding:1rem 2rem 2rem;overflow:hidden}.lessons-sidebar{width:300px;background:#fffffff2;border-radius:12px;padding:1.5rem;overflow-y:auto;box-shadow:0 8px 32px #0000001a;color:#333}.lessons-sidebar h3{margin:0 0 1rem;color:#667eea;font-size:1.3rem}.lessons-list{display:flex;flex-direction:column;gap:.75rem}.lesson-item{padding:1rem;border-radius:8px;background:#f8f9fa;cursor:pointer;transition:all .2s ease;border:2px solid transparent}.lesson-item:hover{background:#e9ecef;transform:translate(4px)}.lesson-item.selected{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border-color:#667eea}.lesson-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.lesson-number{font-weight:600;font-size:1.1rem}.badge{padding:.25rem .5rem;border-radius:4px;background:#ffc107e6;color:#000;font-size:.75rem;font-weight:600}.lesson-item.selected .badge{background:#ffffff4d;color:#fff}.lesson-meta{display:flex;gap:.5rem;font-size:.85rem;opacity:.8;margin-bottom:.25rem}.lesson-stats{display:flex;justify-content:space-between;font-size:.8rem;opacity:.7}.pipelines-main{flex:1;background:#fffffff2;border-radius:12px;padding:2rem;overflow-y:auto;box-shadow:0 8px 32px #0000001a;color:#333}.empty-state{display:flex;align-items:center;justify-content:center;height:100%;color:#999;font-size:1.2rem}.timeline-view h2{margin:0 0 1.5rem;color:#667eea}.turns-table{overflow-x:auto}.turns-table table{width:100%;border-collapse:collapse}.turns-table th{background:#f8f9fa;padding:1rem;text-align:left;font-weight:600;color:#667eea;border-bottom:2px solid #dee2e6}.turn-row{transition:background-color .2s ease}.turn-row:hover{background-color:#f8f9fa}.turn-row td{padding:1rem;border-bottom:1px solid #dee2e6}.user-turn{background:#667eea0d}.tutor-turn{background:#764ba20d}.brain-events-view h2{margin:0 0 1.5rem;color:#667eea}.brain-events-list{display:flex;flex-direction:column;gap:1rem}.brain-event{padding:1.5rem;border-radius:8px;background:#f8f9fa;border-left:4px solid #667eea}.brain-event.weak_word_added{border-left-color:#ffc107}.brain-event.grammar_pattern_update{border-left-color:#28a745}.brain-event.rule_created{border-left-color:#dc3545}.event-header{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem}.event-icon{font-size:1.5rem}.event-time{margin-left:auto;font-size:.85rem;color:#999}.event-payload{background:#fff;padding:1rem;border-radius:6px;overflow-x:auto}.event-payload pre{margin:0;font-family:Courier New,monospace;font-size:.9rem;color:#333}.terminal-view h2{margin:0 0 1.5rem;color:#667eea}.terminal-window{background:#1e1e1e;border-radius:8px;padding:1.5rem;font-family:Courier New,monospace;font-size:.95rem;color:#0f0;min-height:400px;max-height:600px;overflow-y:auto}.terminal-empty{display:flex;align-items:center;justify-content:center;height:400px;color:#666}.terminal-output{display:flex;flex-direction:column;gap:.25rem}.terminal-line{display:flex;gap:.5rem;align-items:baseline}.terminal-timestamp{color:#888}.terminal-event-type{color:#0ff;font-weight:600}.terminal-summary{color:#0f0}.knowledge-view h2{margin:0 0 1.5rem;color:#667eea}.knowledge-overview{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1rem;margin-bottom:2rem}.knowledge-stat{background:linear-gradient(135deg,#667eea,#764ba2);padding:1.5rem;border-radius:8px;text-align:center;color:#fff}.knowledge-stat h4{margin:0 0 .5rem;font-size:.9rem;opacity:.8;text-transform:uppercase;letter-spacing:1px}.stat-value{margin:0;font-size:2rem;font-weight:700}.knowledge-sections{display:flex;flex-direction:column;gap:2rem}.knowledge-section h3{margin:0 0 1rem;color:#667eea;font-size:1.5rem}.vocab-lists{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}.vocab-category h4{margin:0 0 1rem;font-size:1.1rem}.vocab-items{display:flex;flex-wrap:wrap;gap:.5rem}.vocab-item{padding:.5rem 1rem;border-radius:6px;background:#f8f9fa;font-size:.9rem}.vocab-category.weak .vocab-item{background:#ffc1071a;border:1px solid #ffc107}.vocab-category.strong .vocab-item{background:#28a7451a;border:1px solid #28a745}.grammar-patterns{display:flex;flex-direction:column;gap:1rem}.grammar-pattern{background:#f8f9fa;padding:1.5rem;border-radius:8px}.grammar-pattern h4{margin:0 0 .75rem;font-size:1.1rem;color:#667eea;text-transform:capitalize}.pattern-stats{display:flex;gap:1.5rem;margin-bottom:.75rem;font-size:.9rem;color:#666}.mastery-bar{height:8px;background:#e0e0e0;border-radius:4px;overflow:hidden}.mastery-fill{height:100%;background:linear-gradient(90deg,#28a745,#20c997);transition:width .3s ease}.lessons-sidebar::-webkit-scrollbar,.pipelines-main::-webkit-scrollbar,.terminal-window::-webkit-scrollbar{width:8px}.lessons-sidebar::-webkit-scrollbar-track,.pipelines-main::-webkit-scrollbar-track,.terminal-window::-webkit-scrollbar-track{background:#0000001a;border-radius:4px}.lessons-sidebar::-webkit-scrollbar-thumb,.pipelines-main::-webkit-scrollbar-thumb,.terminal-window::-webkit-scrollbar-thumb{background:#0000004d;border-radius:4px}.lessons-sidebar::-webkit-scrollbar-thumb:hover,.pipelines-main::-webkit-scrollbar-thumb:hover,.terminal-window::-webkit-scrollbar-thumb:hover{background:#00000080}.app{min-height:100vh;display:flex;flex-direction:column}.app-main{flex:1}.navbar{display:flex;align-items:center;justify-content:space-between;padding:var(--space-3) var(--space-6);background:#0f172acc;-webkit-backdrop-filter:blur(var(--blur-md));backdrop-filter:blur(var(--blur-md));border-bottom:1px solid var(--color-glass-border);position:sticky;top:0;z-index:var(--z-sticky)}.navbar-brand{flex-shrink:0}.navbar-logo{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);background:var(--gradient-logo);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;text-decoration:none}.navbar-links{display:flex;align-items:center;gap:var(--space-1)}.navbar-link{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);color:var(--color-text-secondary);text-decoration:none;font-weight:var(--font-weight-medium);transition:all var(--transition-fast)}.navbar-link:hover{color:var(--color-text-primary);background:var(--color-glass-hover)}.navbar-user{display:flex;align-items:center;gap:var(--space-3)}.navbar-user-info{display:flex;align-items:center;gap:var(--space-2);color:var(--color-text-secondary);font-size:var(--font-size-sm)}@media (max-width: 768px){.navbar{padding:var(--space-3) var(--space-4)}.navbar-links,.navbar-user-info span,.navbar-user-info{display:none}}@media (max-width: 480px){.navbar{padding:var(--space-2) var(--space-3)}.navbar-logo{font-size:var(--font-size-lg)}}:root{--color-bg-primary: #0f172a;--color-bg-secondary: #1e293b;--color-bg-tertiary: #334155;--color-glass-bg: rgba(30, 41, 59, .7);--color-glass-border: rgba(255, 255, 255, .1);--color-glass-hover: rgba(255, 255, 255, .05);--color-text-primary: #f8fafc;--color-text-secondary: #94a3b8;--color-text-muted: #64748b;--color-text-inverse: #0f172a;--color-accent: #6366f1;--color-accent-hover: #4f46e5;--color-accent-light: #818cf8;--color-accent-subtle: rgba(99, 102, 241, .15);--color-success: #22c55e;--color-success-hover: #16a34a;--color-success-subtle: rgba(34, 197, 94, .15);--color-warning: #f59e0b;--color-warning-hover: #d97706;--color-warning-subtle: rgba(245, 158, 11, .15);--color-error: #ef4444;--color-error-hover: #dc2626;--color-error-subtle: rgba(239, 68, 68, .15);--color-input-bg: rgba(15, 23, 42, .5);--color-input-border: #334155;--color-input-focus: #6366f1;--gradient-primary: linear-gradient(135deg, #6366f1 0%, #8b5cf6 50%, #a855f7 100%);--gradient-logo: linear-gradient(to right, #818cf8, #c084fc);--gradient-success: linear-gradient(135deg, #22c55e 0%, #10b981 100%);--gradient-bg-radial: radial-gradient(circle at top right, #1e1b4b, #0f172a);--gradient-orb-purple: radial-gradient(circle, rgba(139, 92, 246, .4) 0%, transparent 70%);--gradient-orb-green: radial-gradient(circle, rgba(34, 197, 94, .3) 0%, transparent 70%);--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--font-size-2xl: 1.5rem;--font-size-3xl: 1.875rem;--font-size-4xl: 2.25rem;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--line-height-tight: 1.25;--line-height-normal: 1.5;--line-height-relaxed: 1.625;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--space-16: 4rem;--space-20: 5rem;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-2xl: 24px;--radius-full: 9999px;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .3);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .3), 0 2px 4px -2px rgba(0, 0, 0, .3);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .4), 0 4px 6px -4px rgba(0, 0, 0, .3);--shadow-xl: 0 25px 50px -12px rgba(0, 0, 0, .5);--shadow-glow-accent: 0 0 20px rgba(99, 102, 241, .3);--shadow-glow-success: 0 0 20px rgba(34, 197, 94, .3);--transition-fast: .15s ease;--transition-base: .2s ease;--transition-slow: .3s ease;--transition-spring: .5s cubic-bezier(.34, 1.56, .64, 1);--z-base: 0;--z-dropdown: 100;--z-sticky: 200;--z-overlay: 300;--z-modal: 400;--z-tooltip: 500;--blur-sm: 4px;--blur-md: 8px;--blur-lg: 12px;--blur-xl: 24px}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInLeft{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}@keyframes fadeInRight{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes scaleInBounce{0%{opacity:0;transform:scale(.3)}50%{transform:scale(1.05)}70%{transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes float{0%,to{transform:translateY(0) translate(0)}25%{transform:translateY(-20px) translate(10px)}50%{transform:translateY(-10px) translate(-10px)}75%{transform:translateY(-30px) translate(5px)}}@keyframes floatReverse{0%,to{transform:translateY(0) translate(0)}25%{transform:translateY(15px) translate(-8px)}50%{transform:translateY(8px) translate(12px)}75%{transform:translateY(20px) translate(-5px)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes pulseGlow{0%,to{box-shadow:0 0 5px #6366f14d}50%{box-shadow:0 0 20px #6366f180,0 0 30px #6366f14d}}@keyframes pulseGlowSuccess{0%,to{box-shadow:0 0 5px #22c55e4d}50%{box-shadow:0 0 20px #22c55e80,0 0 30px #22c55e4d}}@keyframes recording{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.2);opacity:.7}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes slideInFromRight{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}@keyframes slideInFromLeft{0%{transform:translate(-100%);opacity:0}to{transform:translate(0);opacity:1}}.animate-fade-in{animation:fadeIn var(--transition-slow) ease-out forwards}.animate-fade-in-up{animation:fadeInUp var(--transition-slow) ease-out forwards}.animate-fade-in-down{animation:fadeInDown var(--transition-slow) ease-out forwards}.animate-fade-in-left{animation:fadeInLeft var(--transition-slow) ease-out forwards}.animate-fade-in-right{animation:fadeInRight var(--transition-slow) ease-out forwards}.animate-scale-in{animation:scaleIn var(--transition-slow) ease-out forwards}.animate-scale-in-bounce{animation:scaleInBounce var(--transition-spring) forwards}.animate-float{animation:float 6s ease-in-out infinite}.animate-float-reverse{animation:floatReverse 7s ease-in-out infinite}.animate-float-slow{animation:float 8s ease-in-out infinite}.animate-pulse{animation:pulse 2s ease-in-out infinite}.animate-pulse-glow{animation:pulseGlow 2s ease-in-out infinite}.animate-pulse-glow-success{animation:pulseGlowSuccess 2s ease-in-out infinite}.animate-recording{animation:recording 1.5s ease-in-out infinite}.animate-spin{animation:spin 1s linear infinite}.animate-shimmer{background:linear-gradient(90deg,var(--color-bg-secondary) 25%,var(--color-bg-tertiary) 50%,var(--color-bg-secondary) 75%);background-size:200% 100%;animation:shimmer 1.5s infinite}.animate-slide-in-right{animation:slideInFromRight var(--transition-slow) ease-out forwards}.animate-slide-in-left{animation:slideInFromLeft var(--transition-slow) ease-out forwards}.delay-100{animation-delay:.1s}.delay-200{animation-delay:.2s}.delay-300{animation-delay:.3s}.delay-400{animation-delay:.4s}.delay-500{animation-delay:.5s}.delay-600{animation-delay:.6s}.delay-700{animation-delay:.7s}.delay-800{animation-delay:.8s}.duration-150{animation-duration:.15s}.duration-200{animation-duration:.2s}.duration-300{animation-duration:.3s}.duration-500{animation-duration:.5s}.duration-700{animation-duration:.7s}.duration-1000{animation-duration:1s}.stagger-item,.stagger-item.animate-fade-in-up{opacity:0}.glass-card{background:var(--color-glass-bg);backdrop-filter:blur(var(--blur-lg));-webkit-backdrop-filter:blur(var(--blur-lg));border:1px solid var(--color-glass-border);border-radius:var(--radius-xl);padding:var(--space-6);box-shadow:var(--shadow-lg)}.glass-card-hover:hover{background:#1e293bcc;border-color:#ffffff26;transform:translateY(-2px);transition:all var(--transition-base)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-3) var(--space-5);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);border-radius:var(--radius-md);border:none;cursor:pointer;transition:all var(--transition-base);text-decoration:none;white-space:nowrap}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-primary{background:var(--gradient-primary);color:#fff}.btn-primary:hover:not(:disabled){transform:translateY(-1px);box-shadow:var(--shadow-glow-accent)}.btn-primary:active:not(:disabled){transform:translateY(0)}.btn-success{background:var(--gradient-success);color:#fff}.btn-success:hover:not(:disabled){transform:translateY(-1px);box-shadow:var(--shadow-glow-success)}.btn-warning{background:var(--color-warning);color:var(--color-text-inverse)}.btn-warning:hover:not(:disabled){background:var(--color-warning-hover)}.btn-danger{background:var(--color-error);color:#fff}.btn-danger:hover:not(:disabled){background:var(--color-error-hover)}.btn-ghost{background:transparent;color:var(--color-text-secondary);border:1px solid var(--color-glass-border)}.btn-ghost:hover:not(:disabled){background:var(--color-glass-hover);color:var(--color-text-primary);border-color:#fff3}.btn-sm{padding:var(--space-2) var(--space-3);font-size:var(--font-size-sm)}.btn-lg{padding:var(--space-4) var(--space-8);font-size:var(--font-size-lg)}.btn-xl{padding:var(--space-5) var(--space-10);font-size:var(--font-size-xl)}.btn-full{width:100%}.input{width:100%;padding:var(--space-3) var(--space-4);background:var(--color-input-bg);border:1px solid var(--color-input-border);border-radius:var(--radius-md);color:var(--color-text-primary);font-size:var(--font-size-base);transition:all var(--transition-base);box-sizing:border-box}.input:focus{outline:none;border-color:var(--color-input-focus);box-shadow:0 0 0 3px var(--color-accent-subtle)}.input::placeholder{color:var(--color-text-muted)}.input-label{display:block;margin-bottom:var(--space-2);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-secondary)}.input-group{margin-bottom:var(--space-5)}.select{width:100%;padding:var(--space-3) var(--space-4);background:var(--color-input-bg);border:1px solid var(--color-input-border);border-radius:var(--radius-md);color:var(--color-text-primary);font-size:var(--font-size-base);cursor:pointer;transition:all var(--transition-base);-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%2394a3b8' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right var(--space-3) center;background-size:16px;padding-right:var(--space-10)}.select:focus{outline:none;border-color:var(--color-input-focus);box-shadow:0 0 0 3px var(--color-accent-subtle)}.textarea{width:100%;padding:var(--space-3) var(--space-4);background:var(--color-input-bg);border:1px solid var(--color-input-border);border-radius:var(--radius-md);color:var(--color-text-primary);font-size:var(--font-size-base);font-family:inherit;resize:vertical;min-height:100px;transition:all var(--transition-base);box-sizing:border-box}.textarea:focus{outline:none;border-color:var(--color-input-focus);box-shadow:0 0 0 3px var(--color-accent-subtle)}.badge{display:inline-flex;align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-3);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);border-radius:var(--radius-full);text-transform:uppercase;letter-spacing:.05em}.badge-primary{background:var(--color-accent-subtle);color:var(--color-accent-light)}.badge-success{background:var(--color-success-subtle);color:var(--color-success)}.badge-warning{background:var(--color-warning-subtle);color:var(--color-warning)}.badge-error{background:var(--color-error-subtle);color:var(--color-error)}.alert{display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-4);border-radius:var(--radius-md);font-size:var(--font-size-sm)}.alert-error{background:var(--color-error-subtle);border:1px solid rgba(239,68,68,.2);color:#fca5a5}.alert-success{background:var(--color-success-subtle);border:1px solid rgba(34,197,94,.2);color:#86efac}.alert-warning{background:var(--color-warning-subtle);border:1px solid rgba(245,158,11,.2);color:#fcd34d}.alert-info{background:var(--color-accent-subtle);border:1px solid rgba(99,102,241,.2);color:#a5b4fc}.progress-bar{width:100%;height:8px;background:var(--color-bg-tertiary);border-radius:var(--radius-full);overflow:hidden}.progress-bar-fill{height:100%;background:var(--gradient-primary);border-radius:var(--radius-full);transition:width var(--transition-slow)}.avatar{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:var(--radius-full);background:var(--gradient-primary);color:#fff;font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm)}.avatar-lg{width:64px;height:64px;font-size:var(--font-size-xl)}.avatar-sm{width:32px;height:32px;font-size:var(--font-size-xs)}.stat-card{background:var(--color-glass-bg);-webkit-backdrop-filter:blur(var(--blur-md));backdrop-filter:blur(var(--blur-md));border:1px solid var(--color-glass-border);border-radius:var(--radius-lg);padding:var(--space-5);display:flex;flex-direction:column;gap:var(--space-2)}.stat-card-icon{width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-md);background:var(--color-accent-subtle);color:var(--color-accent-light)}.stat-card-value{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);color:var(--color-text-primary)}.stat-card-label{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.tabs{display:flex;background:var(--color-input-bg);padding:var(--space-1);border-radius:var(--radius-md);gap:var(--space-1)}.tab{flex:1;padding:var(--space-3) var(--space-4);border:none;background:transparent;color:var(--color-text-secondary);font-weight:var(--font-weight-semibold);cursor:pointer;border-radius:var(--radius-sm);transition:all var(--transition-base)}.tab:hover:not(.tab-active){color:var(--color-text-primary);background:var(--color-glass-hover)}.tab-active{background:var(--color-glass-bg);color:var(--color-text-primary);box-shadow:var(--shadow-sm)}.divider{height:1px;background:var(--color-glass-border);margin:var(--space-4) 0}.divider-vertical{width:1px;height:auto;background:var(--color-glass-border);margin:0 var(--space-4)}.chat-bubble{padding:var(--space-3) var(--space-4);border-radius:var(--radius-lg);max-width:80%;line-height:var(--line-height-relaxed)}.chat-bubble-user{background:var(--color-bg-tertiary);align-self:flex-end;border-bottom-right-radius:var(--radius-sm)}.chat-bubble-assistant{background:#6366f126;align-self:flex-start;border-bottom-left-radius:var(--radius-sm)}.chat-bubble-label{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--color-text-secondary);margin-bottom:var(--space-1)}.recording-indicator{display:flex;align-items:center;gap:var(--space-2);color:var(--color-error);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium)}.recording-dot{width:10px;height:10px;background:var(--color-error);border-radius:var(--radius-full)}.recording-dot.active{animation:recording 1.5s ease-in-out infinite}.collapsible-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-4);cursor:pointer;-webkit-user-select:none;user-select:none}.collapsible-header:hover{background:var(--color-glass-hover);border-radius:var(--radius-md)}.collapsible-icon{transition:transform var(--transition-base)}.collapsible-icon.open{transform:rotate(180deg)}.collapsible-content{overflow:hidden;transition:max-height var(--transition-slow)}.orb{position:absolute;border-radius:var(--radius-full);pointer-events:none;filter:blur(60px)}.orb-purple{background:var(--gradient-orb-purple)}.orb-green{background:var(--gradient-orb-green)}.skeleton{background:var(--color-bg-secondary);border-radius:var(--radius-md);animation:pulse 2s ease-in-out infinite}.skeleton-text{height:1em;margin-bottom:var(--space-2)}.skeleton-title{height:1.5em;width:60%;margin-bottom:var(--space-3)}.skeleton-avatar{width:40px;height:40px;border-radius:var(--radius-full)}@media (max-width: 768px){.hide-mobile{display:none!important}.glass-card{padding:var(--space-4);border-radius:var(--radius-lg)}.btn-lg{padding:var(--space-3) var(--space-6)}}@media (min-width: 769px){.hide-desktop{display:none!important}}:root{font-family:Inter,system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:var(--line-height-normal);font-weight:var(--font-weight-normal);color-scheme:dark;color:var(--color-text-primary);background-color:var(--color-bg-primary);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:var(--gradient-bg-radial)}#root{min-height:100vh}h1,h2,h3,h4,h5,h6{color:var(--color-text-primary);margin:0 0 var(--space-4) 0;line-height:var(--line-height-tight)}h1{font-size:var(--font-size-4xl);font-weight:var(--font-weight-bold)}h2{font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold)}h3{font-size:var(--font-size-2xl);font-weight:var(--font-weight-semibold)}h4{font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold)}h5{font-size:var(--font-size-lg);font-weight:var(--font-weight-medium)}h6{font-size:var(--font-size-base);font-weight:var(--font-weight-medium)}p{margin:0 0 var(--space-4) 0;color:var(--color-text-secondary)}a{color:var(--color-accent-light);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--color-accent)}button,input,select,textarea{font-family:inherit}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--color-bg-secondary);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb{background:var(--color-bg-tertiary);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--color-text-muted)}::selection{background:var(--color-accent-subtle);color:var(--color-text-primary)}:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.text-primary{color:var(--color-text-primary)}.text-secondary{color:var(--color-text-secondary)}.text-muted{color:var(--color-text-muted)}.text-accent{color:var(--color-accent-light)}.text-success{color:var(--color-success)}.text-warning{color:var(--color-warning)}.text-error{color:var(--color-error)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.font-medium{font-weight:var(--font-weight-medium)}.font-semibold{font-weight:var(--font-weight-semibold)}.font-bold{font-weight:var(--font-weight-bold)}.mt-1{margin-top:var(--space-1)}.mt-2{margin-top:var(--space-2)}.mt-3{margin-top:var(--space-3)}.mt-4{margin-top:var(--space-4)}.mt-6{margin-top:var(--space-6)}.mt-8{margin-top:var(--space-8)}.mb-1{margin-bottom:var(--space-1)}.mb-2{margin-bottom:var(--space-2)}.mb-3{margin-bottom:var(--space-3)}.mb-4{margin-bottom:var(--space-4)}.mb-6{margin-bottom:var(--space-6)}.mb-8{margin-bottom:var(--space-8)}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:var(--space-1)}.gap-2{gap:var(--space-2)}.gap-3{gap:var(--space-3)}.gap-4{gap:var(--space-4)}.gap-6{gap:var(--space-6)}.grid{display:grid}.grid-cols-2{grid-template-columns:repeat(2,1fr)}.grid-cols-3{grid-template-columns:repeat(3,1fr)}.grid-cols-4{grid-template-columns:repeat(4,1fr)}@media (max-width: 768px){.grid-cols-2,.grid-cols-3,.grid-cols-4{grid-template-columns:repeat(2,1fr)}}@media (max-width: 480px){.grid-cols-2,.grid-cols-3,.grid-cols-4{grid-template-columns:1fr}}
