:root{--primary-blue: #1E3A8A;--primary-light: #3B82F6;--accent-green: #10B981;--accent-orange: #F59E0B;--accent-purple: #8B5CF6;--bg-primary: #0F172A;--bg-secondary: #1E293B;--bg-card: #334155;--bg-glass: rgba(51, 65, 85, .8);--bg-gradient: linear-gradient(135deg, #1E3A8A 0%, #3B82F6 100%);--text-primary: #F8FAFC;--text-secondary: #CBD5E1;--text-muted: #94A3B8;--text-accent: #60A5FA;--hover-bg: #475569;--active-bg: #64748B;--border-color: #475569;--success: #22C55E;--warning: #EAB308;--error: #EF4444;--shadow-soft: 0 4px 6px -1px rgba(0, 0, 0, .1);--shadow-medium: 0 10px 15px -3px rgba(0, 0, 0, .1);--shadow-large: 0 25px 50px -12px rgba(0, 0, 0, .25);--glow-primary: 0 0 20px rgba(59, 130, 246, .3);--glow-success: 0 0 20px rgba(16, 185, 129, .3);--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 24px;--radius-full: 50%;--font-primary: "Inter", -apple-system, BlinkMacSystemFont, sans-serif;--font-heading: "Poppins", sans-serif;--font-mono: "JetBrains Mono", "Fira Code", monospace;--space-xs: .5rem;--space-sm: .75rem;--space-md: 1rem;--space-lg: 1.5rem;--space-xl: 2rem;--space-2xl: 3rem;--space-3xl: 4rem;--transition-fast: .15s ease-in-out;--transition-normal: .25s ease-in-out;--transition-slow: .4s ease-in-out}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:var(--font-primary);background:var(--bg-primary);color:var(--text-primary);line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.App{display:flex;position:relative;overflow-x:hidden}.content-wrapper{flex:1;transition:margin-left var(--transition-slow);width:100%}.App.left-sidebar-open .content-wrapper{margin-left:420px}body:before{content:"";position:fixed;top:0;left:0;width:100%;height:100%;background:radial-gradient(circle at 20% 20%,rgba(59,130,246,.1) 0%,transparent 50%),radial-gradient(circle at 80% 80%,rgba(16,185,129,.1) 0%,transparent 50%),radial-gradient(circle at 40% 60%,rgba(139,92,246,.05) 0%,transparent 50%);z-index:-1;animation:backgroundShift 20s ease-in-out infinite}@keyframes backgroundShift{0%,to{background:radial-gradient(circle at 20% 20%,rgba(59,130,246,.1) 0%,transparent 50%),radial-gradient(circle at 80% 80%,rgba(16,185,129,.1) 0%,transparent 50%)}50%{background:radial-gradient(circle at 80% 30%,rgba(59,130,246,.1) 0%,transparent 50%),radial-gradient(circle at 20% 70%,rgba(16,185,129,.1) 0%,transparent 50%)}}header{position:fixed;top:0;left:0;right:0;z-index:1000;padding:var(--space-md) var(--space-xl);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#0f172ae6;border-bottom:1px solid var(--border-color);display:flex;align-items:center;justify-content:space-between;transition:left var(--transition-slow)}.App.left-sidebar-open header{left:420px}header .header-left{display:flex;align-items:center;gap:var(--space-lg)}header h1{font-family:var(--font-heading);font-size:1.75rem;font-weight:700;background:linear-gradient(135deg,var(--primary-light),var(--accent-green));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}header h1:after{content:"🇬🇧";margin-left:var(--space-sm);filter:drop-shadow(0 2px 4px rgba(0,0,0,.3))}header .header-right{display:flex;align-items:center;gap:8px}.menu-button,.settings-button{background:var(--bg-glass);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:var(--space-sm);color:var(--text-secondary);cursor:pointer;transition:all var(--transition-normal);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.menu-button:hover,.settings-button:hover{background:var(--hover-bg);color:var(--text-primary);transform:translateY(-2px);box-shadow:var(--shadow-medium)}.session-timer{display:flex;align-items:center;gap:var(--space-sm);background:var(--bg-card);padding:var(--space-xs) var(--space-md);border-radius:var(--radius-md);border:1px solid var(--border-color);color:var(--text-secondary);font-family:var(--font-mono);font-size:.9rem;animation:fadeIn .5s ease-out}.session-timer .icon{font-size:1.25rem;color:var(--accent-green)}.session-timer .time-display{font-weight:500;letter-spacing:.5px}.streaming-console{min-height:100vh;display:flex;flex-direction:column;background:transparent}.streaming-console main{flex:1;display:flex;flex-direction:column;align-items:center;padding-top:80px}.main-app-area{width:100%;height:100%;flex-grow:1;display:flex;flex-direction:column;position:relative}.transcription-container{position:absolute;top:40px;bottom:0;left:0;right:0;display:flex;justify-content:center;align-items:flex-end;pointer-events:none}.transcription-container.is-welcome{align-items:center;pointer-events:auto}.transcription-view{width:100%;max-width:800px;max-height:100%;overflow-y:auto;padding:var(--space-xl);display:flex;flex-direction:column;gap:var(--space-lg);pointer-events:auto}.transcription-entry{display:flex;flex-direction:column;gap:var(--space-sm);animation:messageSlideIn .3s ease-out}@keyframes messageSlideIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.transcription-entry.user{align-items:flex-end}.transcription-entry.agent{align-items:flex-start}.transcription-entry.system{align-items:center}.message-bubble{max-width:70%;padding:var(--space-md) var(--space-lg);border-radius:var(--radius-lg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:var(--shadow-soft);position:relative;word-wrap:break-word}.transcription-text-content{white-space:pre-wrap}.transcription-text-content strong{font-weight:700;color:var(--text-primary)}.transcription-text-content pre{background-color:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:var(--space-md);margin-top:var(--space-sm);margin-bottom:var(--space-xs);overflow-x:auto}.transcription-text-content code{font-family:var(--font-mono);font-size:.9rem;color:var(--text-secondary);white-space:pre}.transcription-entry.user .message-bubble{background:linear-gradient(135deg,var(--primary-light),var(--accent-purple));color:#fff;border-bottom-right-radius:var(--radius-sm)}.transcription-entry.agent .message-bubble{background:var(--bg-card);border:1px solid var(--border-color);color:var(--text-primary);border-bottom-left-radius:var(--radius-sm)}.transcription-entry.agent.interim .message-bubble{background:var(--bg-secondary);border:1px dashed var(--border-color);box-shadow:none}.transcription-entry.agent.interim .transcription-text-content{font-style:italic;color:var(--accent-green)}.transcription-entry.system .message-bubble{background:var(--bg-glass);border:1px solid var(--accent-orange);color:var(--accent-orange);border-radius:var(--radius-md);max-width:90%;align-self:center;text-align:center;font-size:.9rem}.transcription-source{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted)}.transcription-entry.user .transcription-source:before{content:"🇲🇿 "}.transcription-entry.agent .transcription-source:before{content:"🇺🇸 "}.transcription-timestamp{font-size:.7rem;color:var(--text-muted);font-family:var(--font-mono);margin-top:var(--space-xs)}.control-tray{position:fixed;bottom:var(--space-xl);left:50%;transform:translate(-50%);display:flex;align-items:center;gap:var(--space-md);z-index:100;transition:left var(--transition-slow)}.App.left-sidebar-open .control-tray{left:calc(50% + 210px)}.actions-nav{display:flex;align-items:center;gap:var(--space-md);background:var(--bg-glass);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid var(--border-color);border-radius:var(--radius-xl);padding:var(--space-md);box-shadow:var(--shadow-large)}.connection-container{display:flex;flex-direction:column;align-items:center;gap:var(--space-sm)}.connection-button-container{background:var(--bg-glass);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid var(--border-color);border-radius:var(--radius-full);padding:var(--space-md);box-shadow:var(--shadow-large)}.action-button{width:56px;height:56px;border-radius:var(--radius-full);border:none;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all var(--transition-normal);background:var(--bg-card);color:var(--text-secondary);font-size:1.5rem;position:relative;overflow:hidden}button{font-family:inherit;background:none;border:none;cursor:pointer;color:inherit;padding:0;display:inline-flex;align-items:center;justify-content:center}button:focus-visible{outline:2px solid var(--primary-light);outline-offset:2px}.action-button:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(45deg,transparent,rgba(255,255,255,.1),transparent);transform:translate(-100%);transition:transform .6s}.action-button:hover:before{transform:translate(100%)}.action-button:hover{transform:translateY(-4px);box-shadow:var(--shadow-medium);background:var(--hover-bg);color:var(--text-primary)}.action-button:active{transform:translateY(-2px)}.mic-button{background:linear-gradient(135deg,var(--error),#DC2626);color:#fff;box-shadow:var(--glow-primary);position:relative}.mic-button:hover{background:linear-gradient(135deg,#dc2626,#b91c1c);box-shadow:0 0 30px #ef444466}.mic-button.recording{background:linear-gradient(135deg,var(--primary-light),var(--accent-purple))}.mic-button.recording:hover{background:linear-gradient(135deg,var(--primary-blue),#7C3AED)}.mic-button.recording:after{content:"";position:absolute;top:-2px;right:-2px;bottom:-2px;left:-2px;background:conic-gradient(from 0deg,transparent,var(--primary-light),transparent);border-radius:inherit;z-index:-1;animation:micRotate 2s linear infinite;opacity:1}@keyframes micRotate{to{transform:rotate(360deg)}}@property --volume{syntax: "<length>"; inherit: false; initial-value: 0px;}.mic-button.recording:before{content:"";position:absolute;inset:calc(var(--volume) * -1);background:radial-gradient(circle,rgba(96,165,250,.3) 0%,transparent 70%);border-radius:inherit;z-index:-1;transition:all .1s ease-out}.connect-toggle{background:var(--accent-green);color:#fff;font-size:2rem!important;width:72px;height:72px;box-shadow:var(--glow-success)}.connect-toggle:hover{background:#059669;box-shadow:0 0 30px #10b98166}.connect-toggle.connected{background:var(--warning);animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{box-shadow:0 0 20px #f59e0b4d}50%{box-shadow:0 0 40px #f59e0b99}}.text-indicator{font-size:.75rem;font-weight:600;color:var(--accent-green);text-transform:uppercase;letter-spacing:.5px;opacity:0;transition:opacity var(--transition-normal)}.connection-container.connected .text-indicator{opacity:1}.guided-nav{position:fixed;bottom:120px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:var(--space-lg);background:var(--bg-glass);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:var(--space-sm) var(--space-lg);box-shadow:var(--shadow-medium);z-index:100;transition:all var(--transition-slow);animation:fadeIn .5s ease-out}.App.left-sidebar-open .guided-nav{left:calc(50% + 210px)}.guided-nav .nav-button{background:var(--bg-card);border:1px solid var(--border-color);color:var(--text-secondary);padding:var(--space-sm) var(--space-md);border-radius:var(--radius-md);display:flex;align-items:center;gap:var(--space-sm);font-weight:500;transition:all var(--transition-normal)}.guided-nav .nav-button:not(:disabled):hover{background:var(--hover-bg);color:var(--text-primary);border-color:var(--primary-light);transform:translateY(-2px)}.guided-nav .nav-button:disabled{opacity:.5;cursor:not-allowed}.guided-nav .step-indicator{font-family:var(--font-mono);font-weight:700;color:var(--text-primary);background:var(--bg-secondary);padding:var(--space-sm) var(--space-md);border-radius:var(--radius-sm)}.sidebar{position:fixed;top:0;right:0;width:420px;max-width:100vw;height:100vh;background:var(--bg-secondary);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-left:1px solid var(--border-color);transform:translate(100%);transition:transform var(--transition-slow);z-index:1001;display:flex;flex-direction:column;box-shadow:var(--shadow-large)}.sidebar.open{transform:translate(0)}.left-sidebar{position:fixed;top:0;left:0;width:420px;max-width:100vw;height:100vh;background:var(--bg-secondary);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-right:1px solid var(--border-color);transform:translate(-100%);transition:transform var(--transition-slow);z-index:1001;display:flex;flex-direction:column;box-shadow:var(--shadow-large)}.left-sidebar.open{transform:translate(0)}.sidebar-header,.left-sidebar .sidebar-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-xl);border-bottom:1px solid var(--border-color);background:var(--bg-glass)}.sidebar-header h3{font-family:var(--font-heading);font-size:1.25rem;font-weight:600;color:var(--text-primary)}.sidebar-content,.left-sidebar .sidebar-content{flex:1;overflow-y:auto;padding:var(--space-xl)}.sidebar-section{margin-bottom:var(--space-2xl)}.sidebar-section fieldset{border:none;padding:0;margin:0;display:flex;flex-direction:column;gap:16px}.sidebar-section-title{font-size:.875rem;font-weight:700;color:var(--accent-green);text-transform:uppercase;letter-spacing:.5px;margin-bottom:var(--space-md);display:flex;align-items:center;gap:var(--space-sm)}.sidebar-section-title:before{content:"";width:3px;height:16px;background:var(--accent-green);border-radius:2px}.main-nav{display:flex;flex-direction:column;gap:var(--space-sm)}.main-nav button{width:100%;padding:var(--space-md) var(--space-lg);background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-secondary);cursor:pointer;transition:all var(--transition-normal);display:flex;align-items:center;gap:var(--space-md);font-weight:500;font-size:1rem;text-align:left}.main-nav button:hover{background:var(--hover-bg);color:var(--text-primary);border-color:var(--primary-light)}.main-nav button.active{background:var(--primary-light);color:#fff;border-color:var(--primary-light);box-shadow:var(--shadow-soft)}.main-nav button .icon{font-size:1.5rem}.user-panel{background:var(--bg-card);border-radius:var(--radius-lg);padding:var(--space-lg);border:1px solid var(--border-color);margin-bottom:var(--space-2xl)}.user-header{display:flex;align-items:center;gap:var(--space-md);margin-bottom:var(--space-lg)}.avatar-button{position:relative;width:64px;height:64px;border-radius:var(--radius-full);background:var(--bg-card);border:2px solid var(--border-color);cursor:pointer;transition:all var(--transition-normal);flex-shrink:0}.avatar-button:hover{border-color:var(--primary-light);transform:scale(1.05)}.avatar-button .user-avatar{font-size:2.5rem;color:var(--text-primary)}.avatar-button .edit-icon{position:absolute;bottom:0;right:0;font-size:1rem;background:var(--primary-light);color:#fff;border-radius:var(--radius-full);padding:4px;border:2px solid var(--bg-secondary);opacity:0;transform:scale(.5);transition:all var(--transition-normal)}.avatar-button:hover .edit-icon{opacity:1;transform:scale(1)}.user-info{display:flex;flex-direction:column;gap:var(--space-lg)}.user-name{font-size:1.125rem;font-weight:600;color:var(--text-primary);word-break:break-word}.credits-display{display:flex;align-items:center;gap:var(--space-sm);background:var(--bg-secondary);padding:var(--space-sm) var(--space-md);border-radius:var(--radius-md)}.credits-display .icon{color:var(--accent-orange);font-size:1.25rem}.credits-value{font-family:var(--font-mono);font-size:1rem;font-weight:700;color:var(--text-primary)}.credits-label{font-size:.8rem;color:var(--text-muted)}.user-stats{display:flex;gap:var(--space-lg);background:var(--bg-secondary);padding:var(--space-md);border-radius:var(--radius-md)}.stat-item{flex:1;display:flex;flex-direction:column;align-items:center;gap:var(--space-xs);text-align:center}.stat-item .icon{font-size:1.5rem;color:var(--text-accent)}.stat-value{font-family:var(--font-mono);font-size:1.125rem;font-weight:700;color:var(--text-primary)}.stat-label{font-size:.75rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px}.online-users-list{display:flex;flex-direction:column;gap:var(--space-md);max-height:200px;overflow-y:auto}.online-user-item{display:flex;align-items:center;gap:var(--space-md);padding:var(--space-sm);background-color:var(--bg-card);border-radius:var(--radius-md)}.online-user-avatar-container{position:relative;width:40px;height:40px;flex-shrink:0}.online-user-avatar{width:100%;height:100%;background-color:var(--bg-secondary);border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;font-size:1.5rem;color:var(--text-primary)}.online-indicator{position:absolute;bottom:0;right:0;width:12px;height:12px;background-color:var(--success);border-radius:var(--radius-full);border:2px solid var(--bg-card)}.online-user-name{font-size:.9rem;font-weight:500;color:var(--text-secondary)}.no-users-text,.no-progress-text{font-size:.875rem;color:var(--text-muted);text-align:center;padding:var(--space-md);background:var(--bg-card);border-radius:var(--radius-md)}.lessons-progress-list{display:flex;flex-direction:column;gap:var(--space-sm)}.lesson-progress-item{display:flex;justify-content:space-between;align-items:center;padding:var(--space-md);background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-md)}.lesson-progress-title{font-weight:500;color:var(--text-secondary)}.lesson-progress-step{font-family:var(--font-mono);font-size:.8rem;font-weight:700;color:var(--accent-green);background:var(--bg-secondary);padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-sm)}label{display:flex;flex-direction:column;gap:var(--space-sm);font-size:.875rem;font-weight:500;color:var(--text-secondary);margin-bottom:var(--space-md)}.label-line{display:flex;justify-content:space-between;align-items:center}.api-key-badge{font-size:.7rem;font-weight:600;padding:2px 8px;border-radius:var(--radius-full);background-color:var(--bg-card);color:var(--text-muted);border:1px solid var(--border-color);text-transform:uppercase;letter-spacing:.5px}.api-key-badge.active{background-color:var(--accent-green);color:#fff;border-color:var(--accent-green)}input,textarea,select{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:var(--space-md);color:var(--text-primary);font-size:.875rem;transition:all var(--transition-normal);font-family:inherit;resize:none}.setting-description{font-size:.75rem;color:var(--text-muted);margin-top:var(--space-xs);line-height:1.4}input:focus,textarea:focus,select:focus{outline:none;border-color:var(--primary-light);box-shadow:0 0 0 3px #3b82f61a;background:var(--bg-secondary)}textarea{resize:vertical;min-height:120px;font-family:var(--font-mono);line-height:1.5}select{cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236B7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e");background-position:right 12px center;background-repeat:no-repeat;background-size:16px;padding-right:40px}.tools-list{display:flex;flex-direction:column;gap:var(--space-sm)}.tool-item{display:flex;align-items:center;gap:var(--space-md);padding:var(--space-md);background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-md);transition:all var(--transition-normal)}.tool-item:hover{background:var(--hover-bg);border-color:var(--primary-light);transform:translateY(-1px);box-shadow:var(--shadow-soft)}.tool-checkbox-wrapper{position:relative;cursor:pointer}.tool-checkbox-wrapper input[type=checkbox]{opacity:0;position:absolute;width:0;height:0}.checkbox-visual{width:20px;height:20px;border:2px solid var(--border-color);border-radius:var(--radius-sm);background:var(--bg-secondary);transition:all var(--transition-normal);display:flex;align-items:center;justify-content:center;position:relative}.checkbox-visual:after{content:"✓";color:#fff;font-weight:700;opacity:0;transition:opacity var(--transition-fast);font-size:.75rem}.tool-checkbox-wrapper input[type=checkbox]:checked+.checkbox-visual{background:var(--accent-green);border-color:var(--accent-green);box-shadow:var(--glow-success)}.tool-checkbox-wrapper input[type=checkbox]:checked+.checkbox-visual:after{opacity:1}.tool-name-text{font-family:var(--font-mono);font-size:.875rem;color:var(--text-primary);flex:1;font-weight:500;cursor:pointer}.tool-actions{display:flex;gap:var(--space-xs);opacity:0;transition:opacity var(--transition-normal)}.tool-item:hover .tool-actions{opacity:1}.tool-actions button{padding:var(--space-xs);background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-muted);cursor:pointer;transition:all var(--transition-fast);font-size:.875rem}.tool-actions button:hover{background:var(--hover-bg);color:var(--text-primary);border-color:var(--primary-light)}.add-tool-button{width:100%;padding:var(--space-md);background:var(--bg-glass);border:2px dashed var(--border-color);border-radius:var(--radius-md);color:var(--text-secondary);cursor:pointer;transition:all var(--transition-normal);display:flex;align-items:center;justify-content:center;gap:var(--space-sm);font-weight:500}.add-tool-button:hover{border-color:var(--primary-light);background:var(--bg-card);color:var(--text-primary);transform:translateY(-2px)}.modalShroud{position:fixed;top:0;right:0;bottom:0;left:0;background:#000c;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:10000;animation:modalFadeIn .2s ease-out}@keyframes modalFadeIn{0%{opacity:0}to{opacity:1}}.modal{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:var(--space-2xl);max-width:600px;width:90vw;max-height:80vh;overflow-y:auto;box-shadow:var(--shadow-large);animation:modalSlideIn .3s ease-out;position:relative}@keyframes modalSlideIn{0%{transform:translateY(20px) scale(.95);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}.modal h2{font-family:var(--font-heading);font-size:1.5rem;font-weight:600;color:var(--text-primary);margin-bottom:var(--space-lg)}.modalClose{position:absolute;top:var(--space-md);right:var(--space-md);background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-full);width:32px;height:32px;cursor:pointer;transition:all var(--transition-fast);color:var(--text-muted)}.modalClose:hover{background:var(--hover-bg);color:var(--text-primary);transform:rotate(90deg)}.modal-actions{display:flex;gap:var(--space-md);margin-top:var(--space-lg)}.modal-actions button{padding:var(--space-sm) var(--space-lg);border-radius:var(--radius-md);font-weight:600;transition:all var(--transition-normal);border:none;cursor:pointer;font-size:.9rem}.modal-actions .save-button{background-color:var(--primary-light);color:#fff}.modal-actions .save-button:hover{background-color:var(--primary-blue);box-shadow:var(--shadow-soft)}.modal-actions .cancel-button{background-color:var(--bg-card);color:var(--text-primary);border:1px solid var(--border-color)}.modal-actions .cancel-button:hover{background-color:var(--hover-bg)}.tool-editor-modal .form-field{display:flex;flex-direction:column;gap:8px}.tool-editor-modal .scheduling-description{font-size:12px;color:var(--text-muted);margin-top:-4px}.tool-editor-modal .json-error{color:var(--error);font-size:12px;margin-top:4px}.tool-editor-modal .modal-actions{justify-content:flex-end;margin-top:8px}.welcome-screen{display:flex;flex-direction:column;justify-content:center;align-items:center;height:100%;text-align:center;color:var(--text-secondary);animation:fadeIn .5s ease-in-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.welcome-content{max-width:700px;padding:var(--space-xl)}.welcome-icon{font-size:4rem;color:var(--primary-light);margin-bottom:var(--space-md);text-shadow:var(--glow-primary)}.title-container{margin-bottom:var(--space-lg)}.title-selector select{font-family:var(--font-heading);font-size:2.5rem;font-weight:700;color:var(--text-primary);background:transparent;border:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;text-align:center;padding-right:2.5rem;position:relative;text-transform:capitalize}.title-selector .icon{position:absolute;top:50%;right:0;transform:translateY(-50%);font-size:2.5rem;color:var(--text-muted);pointer-events:none}.welcome-content>p{font-size:1.125rem;margin-bottom:var(--space-xl);max-width:500px;margin-left:auto;margin-right:auto}.example-prompts{display:flex;justify-content:center;gap:var(--space-md);flex-wrap:wrap}.prompt{background:var(--bg-card);border:1px solid var(--border-color);padding:var(--space-sm) var(--space-md);border-radius:var(--radius-md);font-family:var(--font-mono);font-size:.875rem;color:var(--text-secondary);transition:all var(--transition-normal);cursor:default}.prompt:hover{transform:translateY(-2px);box-shadow:var(--shadow-soft);background:var(--hover-bg);color:var(--text-primary)}.error-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172acc;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:10001;animation:modalFadeIn .2s ease-out}.error-modal-content{background:var(--bg-secondary);border:2px solid var(--error);border-radius:var(--radius-lg);padding:var(--space-2xl);max-width:500px;width:90vw;box-shadow:var(--shadow-large),0 0 30px #ef44444d;animation:modalSlideIn .3s ease-out;display:flex;flex-direction:column;gap:var(--space-lg);text-align:center}.error-modal-header{display:flex;flex-direction:column;align-items:center;gap:var(--space-md);color:var(--error)}.error-modal-header .icon{font-size:3rem}.error-modal-header h2{font-family:var(--font-heading);font-size:1.5rem;font-weight:600;color:var(--text-primary);margin-bottom:0}.error-modal-content p{color:var(--text-secondary);line-height:1.6;margin:0}.error-modal-content .error-raw-message-container{font-family:var(--font-mono);font-size:.8rem;color:var(--text-muted);background:var(--bg-primary);padding:var(--space-sm);border-radius:var(--radius-sm);text-align:left;max-height:100px;overflow-y:auto;word-break:break-all;border:1px solid var(--border-color)}.error-modal-content .modal-actions{margin-top:var(--space-md)}.error-modal-content .close-button{padding:var(--space-md) var(--space-xl);border-radius:var(--radius-md);font-weight:600;transition:all var(--transition-normal);background-color:var(--bg-card);color:var(--text-primary);border:1px solid var(--border-color);width:100%;font-size:1rem}.error-modal-content .close-button:not(:disabled):hover{background-color:var(--hover-bg);border-color:var(--primary-light)}.error-modal-content .close-button:disabled{background-color:var(--bg-card);color:var(--text-muted);cursor:not-allowed;opacity:.6}.grounding-chunks{margin-top:12px;font-size:.9rem;opacity:.8}.grounding-chunks strong{font-weight:700;color:var(--text-muted)}.grounding-chunks ul{list-style:decimal;padding-left:20px;margin-top:4px;display:flex;flex-direction:column;gap:4px}.grounding-chunks li{list-style-type:decimal}.grounding-chunks a{color:var(--text-accent);text-decoration:none}.grounding-chunks a:hover{text-decoration:underline}.auth-modal{padding:var(--space-md)}.auth-tabs{display:flex;border-bottom:1px solid var(--border-color);margin-bottom:var(--space-lg)}.auth-tabs button{padding:var(--space-md) var(--space-lg);border:none;background:none;color:var(--text-muted);font-size:1rem;font-weight:500;cursor:pointer;position:relative;transition:color var(--transition-normal)}.auth-tabs button:hover{color:var(--text-primary)}.auth-tabs button.active{color:var(--primary-light)}.auth-tabs button.active:after{content:"";position:absolute;bottom:-1px;left:0;right:0;height:2px;background:var(--primary-light)}.auth-modal h2{text-align:center;margin-bottom:var(--space-lg)}.auth-modal form{display:flex;flex-direction:column;gap:var(--space-lg)}.name-fields{display:flex;gap:var(--space-lg)}.name-fields .form-field{flex:1;margin-bottom:0}.auth-error{color:var(--error);background:#ef44441a;border:1px solid var(--error);padding:var(--space-md);border-radius:var(--radius-md);text-align:center;font-size:.875rem}.auth-modal .modal-actions{display:flex;justify-content:center;margin-top:var(--space-md)}.auth-modal .submit-button{width:100%;padding:var(--space-md);background:var(--primary-light);border:none;border-radius:var(--radius-md);color:#fff;font-size:1rem;font-weight:600;cursor:pointer;transition:background-color var(--transition-normal)}.auth-modal .submit-button:hover{background:var(--primary-blue)}.auth-modal .submit-button:disabled{background:var(--hover-bg);cursor:not-allowed;opacity:.6}.header-user-info{display:flex;align-items:center;gap:var(--space-md);color:var(--text-secondary)}.header-user-info .user-welcome{font-size:.95rem;font-weight:500;white-space:nowrap}.logout-button{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:var(--space-sm) var(--space-md);color:var(--text-secondary);cursor:pointer;transition:all var(--transition-normal);font-weight:500;display:flex;align-items:center;gap:var(--space-xs)}.logout-button:hover{background:var(--hover-bg);color:var(--text-primary)}.logout-icon{display:none;font-size:1.25rem}.login-button{background:var(--primary-light);border:none;border-radius:var(--radius-md);padding:var(--space-sm) var(--space-lg);color:#fff;font-weight:600;cursor:pointer;transition:all var(--transition-normal)}.login-button:hover{opacity:.9;box-shadow:var(--shadow-medium)}.login-text-short{display:none}.auth-prompt{display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;height:100%;gap:var(--space-lg)}.auth-prompt h2{font-size:2rem;font-family:var(--font-heading);color:var(--text-primary)}.auth-prompt p{font-size:1.125rem;color:var(--text-secondary);max-width:500px}.auth-modal .auth-prompt-text{text-align:center;color:var(--text-secondary);margin-bottom:var(--space-lg);margin-top:calc(var(--space-lg) * -1);line-height:1.6}.terms-field{display:flex!important;flex-direction:row!important;align-items:center!important;gap:var(--space-sm)!important;margin-top:var(--space-xs);margin-bottom:0!important}.terms-field input[type=checkbox]{width:18px;height:18px;flex-shrink:0}.terms-field label{font-size:.8rem;font-weight:400;color:var(--text-secondary);margin-bottom:0}.terms-field label a{color:var(--primary-light);text-decoration:underline;cursor:pointer}@media (max-width: 768px){.App.left-sidebar-open .content-wrapper{margin-left:100vw}header{padding:var(--space-md)}header h1{font-size:1.25rem}header h1:after{display:none}.header-right{gap:var(--space-sm)}.session-timer,.user-welcome{display:none}.logout-button{padding:var(--space-sm);gap:0}.logout-text{display:none}.logout-icon{display:block}.login-text-full{display:none}.login-text-short{display:inline}.login-button{font-size:.8rem;padding:var(--space-sm) var(--space-md)}.transcription-container{top:100px;bottom:140px}.transcription-view{padding:var(--space-md)}.message-bubble{max-width:85%;padding:var(--space-md)}.control-tray{bottom:var(--space-md)}.actions-nav{gap:var(--space-sm);padding:var(--space-sm)}.action-button{width:48px;height:48px;font-size:1.25rem}.connect-toggle{width:64px!important;height:64px!important;font-size:1.75rem!important}.guided-nav{bottom:90px;gap:var(--space-md)}.guided-nav .nav-button-text{display:none}.guided-nav .nav-button{gap:0}.sidebar,.left-sidebar{width:100vw}.modal{margin:var(--space-md);width:calc(100vw - 2rem);padding:var(--space-xl)}.title-selector select,.title-selector .icon{font-size:1.75rem}.welcome-content>p{font-size:1rem}.name-fields{flex-direction:column;gap:0}}.icon{font-family:Material Symbols Outlined;font-weight:300;line-height:1;-webkit-user-select:none;user-select:none}@media (prefers-reduced-motion: reduce){*{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}body:before{animation:none}}::-webkit-scrollbar{width:12px;height:12px}::-webkit-scrollbar-track{background:var(--bg-primary)}::-webkit-scrollbar-thumb{background-color:var(--bg-card);border-radius:20px;border:3px solid var(--bg-primary)}::-webkit-scrollbar-thumb:hover{background-color:var(--hover-bg)}html,.modal,.sidebar-content,.transcription-view,.lessons-page{scrollbar-width:thin;scrollbar-color:var(--bg-card) var(--bg-primary)}.legal-modal-content{text-align:left;color:var(--text-secondary)}.legal-modal-content h2{font-family:var(--font-heading);font-size:1.75rem;color:var(--text-primary);margin-bottom:var(--space-lg);text-align:center}.legal-modal-content h3{font-family:var(--font-heading);font-size:1.25rem;color:var(--text-accent);margin-top:var(--space-lg);margin-bottom:var(--space-sm);border-bottom:1px solid var(--border-color);padding-bottom:var(--space-xs)}.legal-modal-content p{line-height:1.7;margin-bottom:var(--space-md)}.legal-modal-content ul{list-style-position:inside;padding-left:var(--space-sm);margin-bottom:var(--space-md)}.legal-modal-content li{margin-bottom:var(--space-sm)}.legal-modal-content a{color:var(--primary-light);text-decoration:none}.legal-modal-content a:hover{text-decoration:underline}.conversation-evaluator{display:flex;flex-direction:column;gap:var(--space-md)}.evaluate-button{width:100%;padding:var(--space-md);background:var(--primary-light);border-radius:var(--radius-md);color:#fff;cursor:pointer;transition:all var(--transition-normal);display:flex;align-items:center;justify-content:center;gap:var(--space-sm);font-weight:600;border:none}.evaluate-button:hover:not(:disabled){background:var(--primary-blue);transform:translateY(-2px);box-shadow:var(--shadow-soft)}.evaluate-button:disabled{background:var(--hover-bg);cursor:not-allowed;opacity:.6}.evaluate-button .loader{width:18px;height:18px;border:2px solid #FFF;border-bottom-color:transparent;border-radius:50%;display:inline-block;box-sizing:border-box;animation:rotation 1s linear infinite}@keyframes rotation{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.evaluation-result{background:var(--bg-card);border-radius:var(--radius-md);padding:var(--space-md);border:1px solid var(--border-color);display:flex;flex-direction:column;gap:var(--space-sm)}.evaluation-header{display:flex;justify-content:space-between;align-items:center}.evaluation-title{font-size:.8rem;font-weight:600;color:var(--text-muted);text-transform:uppercase}.evaluation-rating{font-weight:700;padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-sm)}.rating-poor{background-color:var(--error);color:#fff}.rating-medium{background-color:var(--warning);color:var(--bg-primary)}.rating-high{background-color:var(--success);color:#fff}.evaluation-feedback{font-size:.9rem;color:var(--text-secondary);line-height:1.6}.retry-view .retry-content{max-width:800px;width:100%;display:flex;flex-direction:column;gap:var(--space-lg)}.retry-view p{max-width:60ch;margin:0 auto}.feedback-section,.history-section{background:var(--bg-card);border-radius:var(--radius-lg);padding:var(--space-lg);border:1px solid var(--border-color);text-align:left}.feedback-section h4,.history-section h4{font-family:var(--font-heading);font-size:1.1rem;color:var(--primary-light);margin-bottom:var(--space-md)}.feedback-text{color:var(--text-secondary);line-height:1.7}.conversation-history-display{max-height:200px;overflow-y:auto;padding-right:var(--space-sm)}.history-entry{display:flex;gap:var(--space-sm);padding:var(--space-xs) 0;font-size:.9rem;border-bottom:1px solid var(--border-color)}.history-entry:last-child{border-bottom:none}.history-role{font-weight:600;color:var(--text-primary);flex-shrink:0}.history-text{color:var(--text-secondary);flex-grow:1}.history-timestamp{font-family:var(--font-mono);font-size:.8rem;color:var(--text-muted)}.retry-actions{margin-top:var(--space-md)}.start-new-button{padding:var(--space-md) var(--space-xl);font-size:1rem;font-weight:600;color:#fff;background:var(--accent-green);border:none;border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-normal)}.start-new-button:hover{opacity:.9;transform:translateY(-2px)}.load-history-container{margin-bottom:var(--space-lg)}.load-history-button{background:var(--bg-card);border:1px solid var(--border-color);padding:var(--space-sm) var(--space-lg);border-radius:var(--radius-md);color:var(--text-secondary);font-weight:500;display:flex;gap:var(--space-sm);align-items:center;transition:all var(--transition-normal)}.load-history-button:hover{background:var(--hover-bg);color:var(--text-primary);border-color:var(--primary-light)}.continuation-loader,.continuation-view{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:var(--space-lg);max-width:600px;animation:fadeIn .5s ease-out}.continuation-summary{font-size:1.1rem;color:var(--text-secondary);background:var(--bg-card);padding:var(--space-md) var(--space-lg);border-radius:var(--radius-md);border-left:4px solid var(--accent-orange)}.continuation-actions{display:flex;gap:var(--space-lg);margin-top:var(--space-md)}.continue-button,.start-new-alt-button{padding:var(--space-md) var(--space-xl);font-size:1rem;font-weight:600;border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-normal);display:flex;align-items:center;gap:var(--space-sm);border:none}.continue-button{background:var(--accent-green);color:#fff;box-shadow:var(--shadow-soft)}.continue-button:hover{background:#059669;transform:translateY(-2px)}.start-new-alt-button{background:var(--bg-card);color:var(--text-primary);border:1px solid var(--border-color)}.start-new-alt-button:hover{background:var(--hover-bg);border-color:var(--primary-light)}.welcome-screen{display:flex;justify-content:center;align-items:center;height:100%;text-align:center;color:var(--gray-500)}.welcome-content{max-width:600px}.welcome-icon{font-size:60px;color:var(--gray-700);margin-bottom:20px;font-family:Material Symbols Outlined}.mode-selector{display:flex;justify-content:center;gap:var(--space-md);margin-bottom:var(--space-xl);background-color:var(--bg-card);padding:var(--space-xs);border-radius:var(--radius-md);border:1px solid var(--border-color)}.mode-selector button{padding:var(--space-sm) var(--space-lg);border-radius:var(--radius-sm);border:none;background-color:transparent;color:var(--text-secondary);font-size:1rem;font-weight:500;cursor:pointer;transition:all var(--transition-normal)}.mode-selector button.active{background-color:var(--primary-light);color:#fff;box-shadow:var(--shadow-soft)}.title-container{display:flex;flex-direction:column;align-items:center;margin-bottom:10px}.title-selector{position:relative;display:inline-block}.title-selector select{font-size:28px;font-weight:700;color:var(--gray-300);background-color:transparent;border:none;appearance:none;-webkit-appearance:none;-moz-appearance:none;padding-right:30px;cursor:pointer;text-transform:capitalize}.title-selector .icon{position:absolute;top:50%;right:0;transform:translateY(-50%);font-size:30px;color:var(--gray-300);pointer-events:none}.welcome-content p{font-size:18px;margin-bottom:30px}.example-prompts{display:flex;justify-content:center;gap:15px}.prompt{background-color:var(--Neutral-15);padding:10px 15px;border-radius:8px;font-family:Roboto Mono,monospace;font-size:14px;color:var(--gray-200)}@media (max-width: 768px){.welcome-content{padding:var(--space-lg)}.mode-selector{flex-direction:column;width:100%;gap:var(--space-sm)}.mode-selector button{width:100%}.title-selector select,.title-selector .icon{font-size:2rem}.welcome-content>p{font-size:1rem}.example-prompts{flex-direction:column;align-items:center}.prompt{width:100%;max-width:300px;text-align:center}}.todo-list-container{display:flex;flex-direction:column;gap:var(--space-md)}.todo-form{display:flex;gap:var(--space-sm)}.todo-input{flex:1;background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:var(--space-sm) var(--space-md);color:var(--text-primary);font-size:.875rem;transition:all var(--transition-normal)}.todo-input::placeholder{color:var(--text-muted)}.todo-input:focus{outline:none;border-color:var(--primary-light);box-shadow:0 0 0 3px #3b82f61a;background:var(--bg-secondary)}.todo-add-button{background:var(--accent-green);color:#fff;border:none;border-radius:var(--radius-md);padding:0 var(--space-md);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background-color var(--transition-normal)}.todo-add-button:hover{background:#059669}.todo-items-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:var(--space-sm);max-height:400px;overflow-y:auto}.todo-header{display:flex;justify-content:space-between;align-items:center;font-size:.75rem;font-weight:700;color:var(--accent-green);text-transform:uppercase;letter-spacing:.5px;margin-top:var(--space-md);margin-bottom:var(--space-xs);padding:0 var(--space-xs)}.todo-header .todo-delete-button{opacity:0}.todo-header:hover .todo-delete-button{opacity:1}.todo-item{display:flex;align-items:center;gap:var(--space-md);padding:var(--space-sm) var(--space-md);background:var(--bg-card);border:1px solid var(--border-color);border-left:3px solid transparent;border-radius:var(--radius-md);transition:all var(--transition-normal)}.todo-item.inProgress{border-left-color:var(--accent-orange)}.todo-item.completed{background:var(--bg-secondary);border-left-color:var(--accent-green);opacity:.7}.todo-item.completed .todo-text{text-decoration:line-through;color:var(--text-muted)}.todo-text{flex:1;font-size:.875rem;color:var(--text-secondary);transition:color var(--transition-normal);word-break:break-word}.todo-delete-button{background:none;border:none;color:var(--text-muted);cursor:pointer;opacity:0;transition:all var(--transition-fast)}.todo-item:hover .todo-delete-button{opacity:1}.todo-delete-button:hover{color:var(--error)}.todo-status-button{background:none;border:none;cursor:pointer;padding:0;color:var(--text-muted);transition:color var(--transition-fast);display:flex;align-items:center}.todo-status-button:hover{color:var(--text-primary)}.todo-status-button .icon{font-size:22px}.todo-item.inProgress .todo-status-button{color:var(--accent-orange)}.todo-item.completed .todo-status-button{color:var(--accent-green)}.achievements-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(70px,1fr));gap:var(--space-md);max-height:250px;overflow-y:auto;padding-right:var(--space-xs)}.achievement-item{display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--space-xs);padding:var(--space-sm);border-radius:var(--radius-md);background:var(--bg-card);border:1px solid var(--border-color);opacity:.4;filter:grayscale(1);transition:all var(--transition-normal);cursor:help;position:relative}.achievement-item.unlocked{opacity:1;filter:grayscale(0);border-color:var(--accent-orange);box-shadow:0 0 10px #f59e0b33}.achievement-icon{font-size:2.5rem;color:var(--text-muted)}.achievement-item.unlocked .achievement-icon{color:var(--accent-orange);text-shadow:0 0 15px rgba(245,158,11,.5)}.achievement-tooltip{visibility:hidden;width:200px;background-color:var(--bg-secondary);color:var(--text-primary);text-align:center;border-radius:var(--radius-sm);padding:var(--space-md);position:absolute;z-index:1;bottom:110%;left:50%;margin-left:-100px;opacity:0;transition:opacity .3s;border:1px solid var(--border-color);box-shadow:var(--shadow-medium);pointer-events:none}.achievement-item:hover .achievement-tooltip{visibility:visible;opacity:1}.tooltip-name{font-weight:700;font-size:.9rem;margin-bottom:var(--space-xs)}.tooltip-description{font-size:.8rem;color:var(--text-secondary)}.landing-page{width:100%;max-width:1000px;margin:0 auto;padding:var(--space-2xl) var(--space-lg);display:flex;flex-direction:column;gap:var(--space-3xl);animation:landingFadeIn .8s ease-out;color:var(--text-primary)}@keyframes landingFadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.hero-section{text-align:center;display:flex;flex-direction:column;align-items:center;gap:var(--space-lg)}.hero-section h1{font-family:var(--font-heading);font-size:clamp(2.5rem,5vw,3.5rem);font-weight:700;line-height:1.2;background:linear-gradient(135deg,var(--primary-light),var(--accent-green));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;max-width:15ch}.hero-section p{font-size:1.125rem;color:var(--text-secondary);max-width:60ch;line-height:1.7}.hero-cta-button{margin-top:var(--space-md);padding:var(--space-md) var(--space-2xl);font-size:1.1rem;font-weight:600;color:#fff;background:var(--bg-gradient);border:none;border-radius:var(--radius-lg);cursor:pointer;transition:all var(--transition-normal);box-shadow:var(--shadow-medium),var(--glow-primary)}.hero-cta-button:hover{transform:translateY(-4px);box-shadow:var(--shadow-large),var(--glow-primary)}.features-section,.how-it-works-section{text-align:center}.features-section h2,.how-it-works-section h2{font-family:var(--font-heading);font-size:2.25rem;margin-bottom:var(--space-2xl);color:var(--text-primary)}.features-grid,.how-it-works-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:var(--space-xl)}.feature-card,.step-card{background:var(--bg-card);padding:var(--space-xl);border-radius:var(--radius-lg);border:1px solid var(--border-color);transition:all var(--transition-normal);display:flex;flex-direction:column;align-items:center;gap:var(--space-md)}.feature-card:hover,.step-card:hover{transform:translateY(-8px);border-color:var(--primary-light);box-shadow:var(--shadow-medium)}.feature-card .icon,.step-card .icon{font-size:3rem;padding:var(--space-md);background:var(--bg-secondary);border-radius:var(--radius-full);color:var(--accent-green);display:inline-flex}.feature-card h3,.step-card h3{font-family:var(--font-heading);font-size:1.25rem;font-weight:600;color:var(--text-primary)}.feature-card p,.step-card p{color:var(--text-secondary);font-size:.95rem;line-height:1.6}.how-it-works-section .step-number{position:absolute;top:-15px;left:-15px;width:40px;height:40px;background:var(--primary-light);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1.2rem;border:4px solid var(--bg-secondary)}.step-card{position:relative}.pricing-section{text-align:center}.pricing-section h2{font-family:var(--font-heading);font-size:2.25rem;margin-bottom:var(--space-md);color:var(--text-primary)}.pricing-subtitle{color:var(--text-secondary);margin-bottom:var(--space-2xl);font-size:1.1rem}.pricing-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:var(--space-xl);align-items:center}.pricing-card{background:var(--bg-card);padding:var(--space-xl);border-radius:var(--radius-lg);border:1px solid var(--border-color);transition:all var(--transition-normal);display:flex;flex-direction:column;gap:var(--space-lg);height:100%}.pricing-card:hover{transform:translateY(-8px);box-shadow:var(--shadow-medium)}.pricing-card.popular{border:2px solid var(--primary-light);transform:scale(1.05);box-shadow:var(--shadow-large),var(--glow-primary);position:relative;overflow:hidden}.popular-badge{position:absolute;top:15px;right:-45px;background:var(--primary-light);color:#fff;padding:8px 40px;font-size:.75rem;font-weight:700;text-transform:uppercase;transform:rotate(45deg);letter-spacing:.5px}.pricing-card h3{font-family:var(--font-heading);font-size:1.5rem;font-weight:600;color:var(--text-primary)}.price{font-size:2.5rem;font-weight:700;color:var(--text-primary)}.price span{font-size:1rem;font-weight:400;color:var(--text-muted)}.plan-features{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:var(--space-md);text-align:left;flex-grow:1}.plan-features li{display:flex;align-items:center;gap:var(--space-sm);color:var(--text-secondary)}.plan-features .icon{color:var(--accent-green);font-size:1.25rem}.plan-button{margin-top:var(--space-md);padding:var(--space-md) var(--space-xl);font-size:1rem;font-weight:600;border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-normal);width:100%;border:1px solid var(--border-color);background:var(--bg-secondary);color:var(--text-primary)}.plan-button:hover{background:var(--hover-bg);border-color:var(--primary-light)}.pricing-card.popular .plan-button{background:var(--bg-gradient);color:#fff;border:none;box-shadow:var(--glow-primary)}.landing-footer{text-align:center;padding:var(--space-xl) 0;margin-top:var(--space-xl);border-top:1px solid var(--border-color);color:var(--text-muted);display:flex;flex-direction:column;gap:var(--space-md)}.footer-links{display:flex;justify-content:center;align-items:center;gap:var(--space-md);font-size:.9rem}.footer-links a{color:var(--text-secondary);text-decoration:none;cursor:pointer;transition:color var(--transition-normal)}.footer-links a:hover{color:var(--text-primary);text-decoration:underline}.footer-links span{color:var(--text-muted)}@media (max-width: 768px){.landing-page{gap:var(--space-2xl);padding:var(--space-xl) var(--space-md)}.hero-section h1{font-size:clamp(2rem,8vw,2.5rem)}.features-section h2,.how-it-works-section h2,.pricing-section h2{font-size:1.75rem;margin-bottom:var(--space-xl)}.feature-card,.step-card,.pricing-card{padding:var(--space-lg)}.pricing-card.popular{transform:scale(1)}.pricing-grid{gap:var(--space-lg)}.footer-links{flex-direction:column;gap:var(--space-sm)}.footer-links span{display:none}}.notification-container{position:fixed;bottom:20px;left:50%;transform:translate(-50%);display:flex;flex-direction:column-reverse;gap:var(--space-sm);z-index:10002;align-items:center;transition:left var(--transition-slow)}.App.left-sidebar-open .notification-container{left:calc(50% + 210px)}.notification-toast{color:#fff;padding:var(--space-md) var(--space-lg);border-radius:var(--radius-lg);display:flex;align-items:center;gap:var(--space-md);box-shadow:var(--shadow-large);border:1px solid rgba(255,255,255,.2);opacity:0;transform:translateY(100%);transition:all .5s cubic-bezier(.25,1,.5,1);pointer-events:none;min-width:300px;max-width:400px}.notification-toast.visible{opacity:1;transform:translateY(0);pointer-events:all}.notification-toast.notification-type-achievement{background:linear-gradient(135deg,var(--accent-green),var(--primary-light))}.notification-toast.notification-type-goal{background:linear-gradient(135deg,var(--accent-orange),#F97316)}.notification-toast.notification-type-info{background:linear-gradient(135deg,var(--accent-purple),var(--primary-light))}.notification-toast-icon{font-size:2rem;text-shadow:0 2px 4px rgba(0,0,0,.3)}.notification-toast-content{display:flex;flex-direction:column}.notification-toast-title{font-weight:700;font-size:.8rem;text-transform:uppercase;letter-spacing:.5px}.notification-toast-message{font-weight:500;font-size:1rem}.profile-customizer{display:flex;flex-direction:column;gap:var(--space-lg);padding:var(--space-md) 0;border-top:1px solid var(--border-color);margin-top:var(--space-md);animation:fadeIn .3s ease-out}.customizer-section h4{font-size:.8rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:var(--space-md)}.avatar-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(48px,1fr));gap:var(--space-sm)}.avatar-option{width:48px;height:48px;border-radius:var(--radius-full);background:var(--bg-card);border:2px solid transparent;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all var(--transition-fast)}.avatar-option:hover{border-color:var(--primary-light);transform:scale(1.1)}.avatar-option.active{border-color:var(--accent-green);box-shadow:0 0 10px var(--accent-green)}.avatar-option .icon{font-size:1.75rem;color:var(--text-primary)}.theme-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-sm)}.theme-option{background:var(--bg-card);border:2px solid transparent;border-radius:var(--radius-md);padding:var(--space-sm);cursor:pointer;transition:all var(--transition-fast);text-align:center}.theme-option:hover{border-color:var(--primary-light);transform:translateY(-2px)}.theme-option.active{border-color:var(--accent-green)}.theme-swatch{display:flex;height:30px;border-radius:var(--radius-sm);overflow:hidden;margin-bottom:var(--space-xs);border:1px solid var(--border-color)}.swatch{flex:1}.theme-name{font-size:.8rem;font-weight:500;color:var(--text-secondary)}._unitList_1jq5m_2{padding:3rem 2rem;max-width:1200px;margin:0 auto}._title_1jq5m_8{text-align:center;margin-bottom:3rem;font-size:3rem;font-family:var(--font-heading);color:var(--text-primary);background:linear-gradient(135deg,var(--primary-light),var(--accent-green));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;letter-spacing:1px}._unitsGrid_1jq5m_21{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:2.5rem}._unitCard_1jq5m_27{background:var(--bg-card);padding:2.5rem;border-radius:var(--radius-xl);border:1px solid var(--border-color);cursor:pointer;transition:all var(--transition-normal);display:flex;flex-direction:column;gap:var(--space-lg);box-shadow:0 4px 6px #0000000d}._unitCard_1jq5m_27:hover{transform:translateY(-8px);border-color:var(--primary-light);box-shadow:0 10px 20px #0000001a}._unitIcon_1jq5m_46{font-size:3rem;line-height:1}._unitCard_1jq5m_27 h3{font-family:var(--font-heading);font-size:1.5rem;color:var(--text-primary);margin-bottom:var(--space-sm)}._unitCard_1jq5m_27 p{color:var(--text-secondary);font-size:1.1rem;line-height:1.7;flex-grow:1}._unitMeta_1jq5m_65{font-size:.9rem;color:var(--text-muted);font-weight:600;border-top:1px solid var(--border-color);padding-top:var(--space-lg);margin-top:var(--space-lg);text-transform:uppercase;letter-spacing:.5px}._loading_1jq5m_76,._error_1jq5m_76{text-align:center;padding:5rem;font-size:1.4rem;color:var(--text-secondary)}._error_1jq5m_76{color:var(--error)}@media (max-width: 768px){._unitList_1jq5m_2{padding:2rem 1rem}._title_1jq5m_8{font-size:2.5rem;margin-bottom:2rem}._unitsGrid_1jq5m_21{gap:1.5rem}._unitCard_1jq5m_27{padding:1.5rem}._unitCard_1jq5m_27 h3{font-size:1.3rem}._unitCard_1jq5m_27 p{font-size:1rem}}._unitDetail_1u3sy_2{padding:3rem 2rem;max-width:1200px;margin:0 auto}._loading_1u3sy_8,._error_1u3sy_8{text-align:center;padding:5rem;font-size:1.4rem;color:var(--text-secondary)}._error_1u3sy_8{color:var(--error)}._backButton_1u3sy_19{background:var(--bg-card);border:1px solid var(--border-color);color:var(--text-primary);font-size:1rem;font-weight:600;cursor:pointer;margin-bottom:2rem;padding:.8rem 1.5rem;border-radius:var(--radius-lg);transition:all var(--transition-normal)}._backButton_1u3sy_19:hover{background:var(--primary-light);color:#fff;border-color:var(--primary-light)}._title_1u3sy_38{font-size:3rem;margin-bottom:1rem;font-family:var(--font-heading)}._description_1u3sy_44{font-size:1.3rem;color:var(--text-secondary);margin-bottom:3rem;max-width:800px}._themesGrid_1u3sy_51{display:grid;grid-template-columns:1fr;gap:2.5rem}._themeCard_1u3sy_57{background-color:var(--bg-card);border-radius:var(--radius-xl);padding:2.5rem;box-shadow:0 4px 6px #0000000d;border:1px solid var(--border-color)}._themeCard_1u3sy_57 h3{font-size:1.8rem;margin-bottom:1.5rem;font-family:var(--font-heading)}._topicsList_1u3sy_71{display:flex;flex-direction:column;gap:1.5rem}._topicItem_1u3sy_77{display:flex;flex-direction:column;gap:1rem;border-left:3px solid var(--primary-light);padding-left:1.5rem}._topicItem_1u3sy_77 p{display:block}._topicDescription_1u3sy_89{font-size:1rem;color:var(--text-secondary);line-height:1.7;word-break:break-word}._topicIcon_1u3sy_96{font-size:1.5rem}._topicTitle_1u3sy_100{font-size:1.2rem;font-weight:600}._exercisesList_1u3sy_105{display:flex;flex-direction:column;gap:1rem;margin-top:.5rem}._exerciseButton_1u3sy_112{background-color:var(--primary-color);color:#fff;border:none;border-radius:var(--radius-md);padding:1rem 1.5rem;cursor:pointer;text-align:left;font-size:1rem;font-weight:600;transition:background-color var(--transition-normal);display:flex;align-items:center;gap:.75rem}._exerciseButton_1u3sy_112:before{content:"▶";font-size:.8rem}._exerciseButton_1u3sy_112:hover{background-color:var(--primary-dark)}@media (max-width: 768px){._unitDetail_1u3sy_2{padding:1.5rem 1rem}._title_1u3sy_38{font-size:2.2rem}._description_1u3sy_44{font-size:1.1rem}._themeCard_1u3sy_57{padding:1.5rem 1rem}._themeCard_1u3sy_57 h3{font-size:1.5rem}._topicTitle_1u3sy_100{font-size:1.1rem}._topicItem_1u3sy_77{padding-left:1rem;gap:.75rem}}._dialogueSection_102ni_2 h4{font-size:1.1rem;font-weight:600;color:var(--accent-green);text-transform:uppercase;letter-spacing:.5px;margin-bottom:1rem}._dialogueContent_102ni_11{background-color:var(--bg-secondary);border-radius:var(--radius-md);padding:1.5rem;border:1px solid var(--border-color);margin-bottom:1.5rem}._dialogueContent_102ni_11 h5{font-size:1.3rem;font-weight:600;color:var(--text-primary);margin-bottom:.5rem}._context_102ni_26{font-size:1rem;color:var(--text-secondary);font-style:italic;margin-bottom:1.5rem}._dialogueLine_102ni_33{margin-bottom:1rem;padding-left:1rem;border-left:3px solid var(--primary-light)}._speaker_102ni_39{font-weight:700;color:var(--text-primary)}._lineText_102ni_44{font-size:1rem;color:var(--text-secondary);margin:.25rem 0}._translation_102ni_50{font-size:.9rem;color:var(--text-muted)}._grammarSection_1bd8z_2 h4{font-size:1.1rem;font-weight:600;color:var(--accent-green);text-transform:uppercase;letter-spacing:.5px;margin-bottom:1rem}._grammarContent_1bd8z_11{background-color:var(--bg-secondary);border-radius:var(--radius-md);padding:1.5rem;border:1px solid var(--border-color);margin-bottom:1.5rem}._grammarContent_1bd8z_11 h5{font-size:1.3rem;font-weight:600;color:var(--text-primary);margin-bottom:1rem}._explanation_1bd8z_26{white-space:pre-wrap;font-size:1rem;line-height:1.7;color:var(--text-secondary);background-color:var(--bg-primary);padding:1rem;border-radius:var(--radius-sm);margin-bottom:1.5rem}._examplesTable_1bd8z_37{width:100%;border-collapse:collapse;display:block;overflow-x:auto}._examplesTable_1bd8z_37 th,._examplesTable_1bd8z_37 td{text-align:left;padding:.75rem;border-bottom:1px solid var(--border-color)}._examplesTable_1bd8z_37 th{font-size:.9rem;color:var(--text-muted);text-transform:uppercase}._examplesTable_1bd8z_37 td{font-size:1rem;color:var(--text-secondary)}._examplesTable_1bd8z_37 tr:last-child td{border-bottom:none}._vocabularySection_1gch0_2 h4{font-size:1.1rem;font-weight:600;color:var(--accent-green);text-transform:uppercase;letter-spacing:.5px;margin-bottom:1rem}._vocabularyList_1gch0_11{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:1rem}@media (max-width: 768px){._vocabularyList_1gch0_11{grid-template-columns:1fr}}._vocabularyItem_1gch0_23{background-color:var(--bg-secondary);border-radius:var(--radius-md);padding:1rem;border:1px solid var(--border-color)}._word_1gch0_30{font-size:1.2rem;font-weight:600;color:var(--text-primary)}._word_1gch0_30 span{font-size:1rem;color:var(--text-secondary);font-weight:400}._translation_1gch0_42{font-size:1rem;color:var(--primary-light);margin:.25rem 0}._example_1gch0_48{font-size:.9rem;color:var(--text-secondary);font-style:italic;margin-top:.5rem}.lessons-page{padding:var(--space-xl);max-width:900px;margin:0 auto;animation:fadeIn .5s ease-out;height:calc(100vh - 120px);overflow-y:auto}.lessons-page h1{font-family:var(--font-heading);font-size:2.5rem;margin-bottom:var(--space-sm);color:var(--text-primary);background:linear-gradient(135deg,var(--primary-light),var(--accent-green));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.lessons-page>p{font-size:1.1rem;color:var(--text-secondary);margin-bottom:var(--space-2xl);max-width:70ch}.lessons-grid{display:grid;grid-template-columns:1fr;gap:var(--space-2xl)}.lesson-card{background:var(--bg-secondary);border-radius:var(--radius-lg);padding:var(--space-xl);border:1px solid var(--border-color);display:flex;flex-direction:column;gap:var(--space-lg)}.lesson-card h2{font-family:var(--font-heading);font-size:1.75rem;color:var(--text-primary);border-bottom:1px solid var(--border-color);padding-bottom:var(--space-md)}.lesson-section{display:flex;flex-direction:column;gap:var(--space-sm)}.lesson-section h3{font-size:.875rem;font-weight:700;color:var(--accent-green);text-transform:uppercase;letter-spacing:.5px}.lesson-section p,.lesson-section .extra-notes{color:var(--text-secondary);line-height:1.7}.mistake-correction-box{display:flex;gap:var(--space-lg)}.mistake-box,.correction-box{flex:1;padding:var(--space-md);border-radius:var(--radius-md);background:var(--bg-card)}.mistake-box{border-left:4px solid var(--error)}.correction-box{border-left:4px solid var(--success)}.mistake-box p,.correction-box p{font-family:var(--font-mono);font-weight:500;font-size:1rem}.example-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-md)}.example-wrong,.example-right{font-size:.9rem;padding:var(--space-sm);border-radius:var(--radius-sm);background-color:var(--bg-primary)}.example-wrong{text-decoration:line-through;color:var(--text-muted)}.example-right{color:var(--text-secondary)}.exercise-section{margin-top:var(--space-lg);padding:var(--space-lg);background:var(--bg-card);border-radius:var(--radius-md);border-top:2px solid var(--primary-light)}.exercise-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-lg)}.exercise-header h3{margin-bottom:0}.generate-exercise-button{background:var(--bg-secondary);border:1px solid var(--border-color);color:var(--text-secondary);padding:var(--space-sm) var(--space-md);border-radius:var(--radius-md);display:flex;align-items:center;gap:var(--space-sm);font-weight:500;transition:all var(--transition-normal)}.generate-exercise-button:not(:disabled):hover{background:var(--hover-bg);color:var(--text-primary);border-color:var(--primary-light);transform:translateY(-2px)}.generate-exercise-button .icon{transition:transform .5s}.generate-exercise-button.loading .icon{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.exercise-content{display:flex;flex-direction:column;gap:var(--space-lg)}.exercise-question{font-size:1.1rem;font-weight:500;color:var(--text-primary)}.exercise-options{display:grid;grid-template-columns:1fr;gap:var(--space-md)}.option-button{width:100%;padding:var(--space-md);background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-secondary);font-size:1rem;text-align:left;transition:all var(--transition-normal)}.option-button:not(:disabled):hover{background:var(--hover-bg);border-color:var(--primary-light)}.option-button.correct{background:var(--success);border-color:var(--success);color:#fff;font-weight:700}.option-button.incorrect{background:var(--error);border-color:var(--error);color:#fff}.exercise-feedback{padding:var(--space-md);border-radius:var(--radius-md);font-weight:500}.exercise-feedback.correct{background-color:#22c55e1a;border:1px solid var(--success);color:var(--success)}.exercise-feedback.incorrect{background-color:#ef44441a;border:1px solid var(--error);color:var(--error)}@media (max-width: 768px){.lessons-page{padding:var(--space-lg) var(--space-md);height:calc(100vh - 80px)}.lessons-page h1{font-size:2rem}.lessons-page>p{font-size:1rem;margin-bottom:var(--space-xl)}.lesson-card{padding:var(--space-lg)}.lesson-card h2{font-size:1.5rem}.mistake-correction-box{flex-direction:column}.example-grid{grid-template-columns:1fr}.exercise-header{flex-direction:column;align-items:flex-start;gap:var(--space-md)}.generate-exercise-button{width:100%;justify-content:center}}.lessons-attribution{margin-top:var(--space-2xl);padding-top:var(--space-xl);border-top:1px solid var(--border-color);text-align:center}.lessons-attribution p{font-size:.875rem;color:var(--text-muted);line-height:1.6}.lessons-attribution a{color:var(--text-accent);text-decoration:none}.lessons-attribution a:hover{text-decoration:underline}._exerciseView_kxvi9_2{padding:3rem 2rem;max-width:800px;margin:0 auto}._loading_kxvi9_8,._error_kxvi9_8{text-align:center;padding:5rem;font-size:1.4rem;color:var(--text-secondary)}._error_kxvi9_8{color:var(--error)}._backButton_kxvi9_19{background:var(--bg-card);border:1px solid var(--border-color);color:var(--text-primary);font-size:1rem;font-weight:600;cursor:pointer;margin-bottom:2rem;padding:.8rem 1.5rem;border-radius:var(--radius-lg);transition:all var(--transition-normal)}._backButton_kxvi9_19:hover{background:var(--primary-light);color:#fff;border-color:var(--primary-light)}._title_kxvi9_38{font-size:3rem;margin-bottom:1rem;font-family:var(--font-heading);text-align:center}._instructions_kxvi9_45{font-size:1.3rem;color:var(--text-secondary);margin-bottom:3rem;text-align:center}._questionsList_kxvi9_52{display:flex;flex-direction:column;gap:2rem;margin-bottom:3rem}._questionItem_kxvi9_59{background-color:var(--bg-card);border-radius:var(--radius-xl);padding:2rem;box-shadow:0 4px 6px #0000000d;border:1px solid var(--border-color)}._questionText_kxvi9_67{font-size:1.4rem;margin-bottom:1.5rem;line-height:1.6}._answerInput_kxvi9_73{width:100%;padding:1rem;font-size:1.1rem;border:1px solid var(--border-color);border-radius:var(--radius-md);transition:border-color var(--transition-normal)}._answerInput_kxvi9_73:focus{outline:none;border-color:var(--primary-color)}._submitButton_kxvi9_87{background-color:var(--primary-color);color:#fff;border:none;border-radius:var(--radius-lg);padding:1.2rem 3rem;font-size:1.3rem;font-weight:600;cursor:pointer;display:block;margin:0 auto;transition:background-color var(--transition-normal)}._submitButton_kxvi9_87:hover{background-color:var(--primary-dark)}._resultSummary_kxvi9_105{background-color:var(--bg-card);border-radius:var(--radius-xl);padding:2rem;margin-bottom:3rem;text-align:center;border:1px solid var(--border-color)}._resultSummary_kxvi9_105 h2{font-size:2rem;margin-bottom:1rem;color:var(--primary-color)}._resultSummary_kxvi9_105 p{font-size:1.3rem;margin:.5rem 0}._resultQuestion_kxvi9_125{margin-bottom:1.5rem;padding-bottom:1.5rem;border-bottom:1px solid var(--border-color)}._resultQuestion_kxvi9_125:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}._resultAnswer_kxvi9_137{font-weight:600}._correct_kxvi9_141{color:var(--accent-green)}._incorrect_kxvi9_145{color:var(--error)}
