.top-bar{position:fixed;top:0;left:0;right:0;width:100%;height:60px;background:var(--bg);border-bottom:1px solid var(--border);display:none;align-items:center;justify-content:space-between;padding:0 20px;z-index:100;box-shadow:var(--shadow-light);touch-action:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.left-section{display:flex;align-items:center;gap:16px}.hamburger-btn{display:none;background:none;border:none;color:var(--text);font-size:20px;cursor:pointer;padding:8px;border-radius:var(--border-radius-small);transition:var(--transition)}.hamburger-btn:hover{background:var(--surface-bg)}.brand{font-size:20px;font-weight:700;color:var(--text);letter-spacing:-.5px}.actions{display:flex;align-items:center;gap:12px}.button{background:var(--surface-bg);border:1px solid var(--border-color);color:var(--text-secondary);cursor:pointer;font-size:13px;font-weight:500;display:flex;align-items:center;gap:6px;padding:8px 16px;border-radius:var(--border-radius-small);transition:var(--transition);text-decoration:none}.button:hover{color:var(--text-primary);background:var(--accent-color);border-color:var(--accent-color);transform:translateY(-1px);box-shadow:var(--shadow-medium)}.account-dropdown{position:relative}.account-dropdown-toggle{background:var(--surface-bg);border:1px solid var(--border-color);color:var(--text-secondary);padding:8px 16px;border-radius:var(--border-radius-small);font-size:13px;font-weight:500;cursor:pointer;transition:var(--transition);display:flex;align-items:center;gap:6px;white-space:nowrap}.account-dropdown-toggle:hover{color:var(--text-primary);background:var(--accent-color);border-color:var(--accent-color);transform:translateY(-1px);box-shadow:var(--shadow-medium)}.account-dropdown-toggle i:last-child{font-size:10px;transition:transform .2s}.account-dropdown-menu{position:absolute;top:100%;right:0;background:var(--surface-bg-elevated);border:1px solid var(--border-color);border-radius:var(--border-radius-small);box-shadow:var(--shadow-heavy);min-width:200px;opacity:0;visibility:hidden;transform:translateY(-10px);transition:var(--transition);z-index:1000}.account-dropdown-menu.show{opacity:1;visibility:visible;transform:translateY(0)}.account-dropdown-item{display:flex;align-items:center;gap:12px;width:100%;padding:12px 16px;background:none;border:none;color:var(--text-secondary);font-size:14px;text-align:left;cursor:pointer;transition:var(--transition)}.account-dropdown-item:hover{background:var(--surface-bg);color:var(--text-primary)}.account-dropdown-item i{width:16px;text-align:center}@media (max-width: 768px){.top-bar{display:flex!important}.hamburger-btn{display:block!important}.actions{display:none!important}}.sessions-sidebar{width:300px;min-width:200px;max-width:600px;background:var(--surface);border-right:1px solid var(--border);display:flex;flex-direction:column;position:relative;height:var(--app-height, 100vh)}.sidebar-resize-handle{position:absolute;right:-2px;top:0;bottom:0;width:4px;cursor:col-resize;background:transparent;transition:background .2s}.sidebar-resize-handle:hover{background:var(--accent)}.sidebar-brand{padding:20px 16px 16px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between}.brand-info{display:flex;flex-direction:column;gap:2px}.brand-name{font-size:22px;font-weight:700;color:var(--text);letter-spacing:-.5px}.brand-subtitle{font-size:11px;font-weight:500;color:var(--text-muted);letter-spacing:.5px;text-transform:uppercase}.mobile-close-btn{display:none;background:none;border:none;color:var(--text);font-size:20px;cursor:pointer;padding:8px;border-radius:var(--border-radius-small);transition:var(--transition)}.mobile-close-btn:hover{background:var(--surface-bg)}.sessions-header{padding:16px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between}.sessions-header h3{margin:0;font-size:16px;font-weight:600;color:var(--text);display:flex;align-items:center;gap:8px}.new-session-btn{padding:8px 16px;background:#000;color:#fff;border:none;border-radius:8px;cursor:pointer;display:flex;align-items:center;gap:6px;font-size:14px;font-weight:500;transition:all .2s;box-shadow:0 2px 4px #0000001a}.new-session-btn:hover{background:#333;transform:translateY(-1px);box-shadow:0 4px 8px #00000026}.sessions-list{flex:1;overflow-y:auto;padding:8px}.sessions-loading{padding:24px;text-align:center;color:var(--text-muted);font-size:14px}.session-item{margin-bottom:8px;padding:12px;background:var(--bg);border:1px solid var(--border);border-radius:8px;transition:all .2s}.session-item.has-syllabus .session-header{cursor:pointer}.session-item:hover,.session-item.active{background:var(--surface);border-color:var(--accent)}.session-header{display:flex;align-items:flex-start;justify-content:space-between;cursor:pointer}.session-actions{display:flex;align-items:center;gap:4px}.session-content{flex:1;min-width:0}.session-title{font-size:14px;font-weight:500;color:var(--text);margin-bottom:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.session-meta{font-size:12px;color:var(--text-muted);display:flex;flex-direction:column;gap:2px}.session-preview{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;opacity:.8}.session-expand,.session-delete{width:24px;height:24px;border:none;background:transparent;color:var(--text-muted);cursor:pointer;border-radius:4px;display:flex;align-items:center;justify-content:center;opacity:0;transition:all .2s}.session-item:hover .session-expand,.session-item:hover .session-delete{opacity:1}.session-expand:hover{background:var(--surface-bg);color:var(--text)}.session-delete:hover{background:#ef4444;color:#fff}.session-syllabus-expanded{margin-top:8px;border-top:1px solid var(--border);background:#f3f4f6;padding:8px;border-radius:6px}.syllabus-progress-section{padding:0 0 8px;display:flex;flex-direction:column;gap:6px}.syllabus-progress-info{display:flex;align-items:center;justify-content:space-between;font-size:11px;color:var(--text-muted)}.progress-text{font-weight:500}.progress-percentage{font-weight:600;color:#3b82f6}.syllabus-progress-bar{width:100%;height:4px;background:var(--border);border-radius:2px;overflow:hidden}.syllabus-progress-fill{height:100%;background:linear-gradient(90deg,#3b82f6,#8b5cf6);border-radius:2px;transition:width .3s ease}.session-syllabus-topics,.session-syllabus-topic-group{display:flex;flex-direction:column;gap:2px}.session-syllabus-topic{font-size:12px;padding:6px 8px;background:#fff;border:1px solid var(--border);border-radius:4px;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:space-between;position:relative}.session-syllabus-topic:hover{background:var(--surface);border-color:var(--accent)}.session-syllabus-topic.main-topic{background:#fff;color:var(--text);font-weight:500;border-left:3px solid transparent}.session-syllabus-topic.main-topic:hover{background:var(--surface);border-color:var(--text-muted)}.session-syllabus-topic.main-topic i{font-size:10px;color:var(--accent)}.session-syllabus-topic.subtopic{background:#fff;color:var(--text);margin-left:12px;border-left:3px solid transparent}.session-syllabus-topic.subtopic:hover{background:var(--surface);border-color:var(--border)}.session-syllabus-topic.subtopic i{font-size:8px;color:var(--text-muted)}.session-syllabus-topic.sub-subtopic{background:#fff;color:var(--text-muted);margin-left:24px;font-size:10px;border-left:3px solid transparent}.session-syllabus-topic.sub-subtopic:hover{background:var(--surface);border-color:var(--border)}.session-syllabus-topic.sub-subtopic i{font-size:6px;color:var(--text-muted)}.session-syllabus-topic.not-started{border-left:3px solid transparent}.session-syllabus-topic.in-progress{border-left:3px solid #ff9500;background:#ff95000d}.session-syllabus-topic.completed{border-left:3px solid #34c759;background:#34c7590d}.session-syllabus-topic.in-progress i{color:#ff9500}.session-syllabus-topic.completed i{color:#34c759}.session-syllabus-topic.active-topic{background:#e5e7eb;border-left-color:#6b7280!important;font-weight:600;box-shadow:0 2px 4px #6b728026;border:1px solid #d1d5db}.session-syllabus-topic.active-topic i{color:#4b5563}.topic-left-content{display:flex;align-items:flex-start;gap:6px;flex:1;min-width:0}.topic-left-content span{overflow-wrap:break-word;word-wrap:break-word;word-break:break-word;line-height:1.4}.topic-completion-btn,.topic-expand-btn{width:20px;height:20px;border:none;background:transparent;color:var(--text-muted);cursor:pointer;border-radius:4px;display:flex;align-items:center;justify-content:center;transition:all .2s;font-size:10px}.topic-completion-btn:hover{background:var(--surface)}.topic-completion-btn.not-started{opacity:0;color:#6b7280}.session-syllabus-topic:hover .topic-completion-btn.not-started{opacity:1}.topic-completion-btn.not-started:hover{background:#34c759;color:#fff}.topic-completion-btn.completed{color:#34c759;opacity:0}.session-syllabus-topic:hover .topic-completion-btn.completed{opacity:1}.topic-completion-btn.completed:hover{background:#6b7280;color:#fff}.topic-completion-btn.in-progress{color:#ff9500}.topic-expand-btn{margin-left:4px}.session-syllabus-subtopics,.session-syllabus-sub-subtopics{display:flex;flex-direction:column;gap:2px;margin-top:4px}@media (max-width: 768px){.sessions-sidebar{position:fixed;left:-100%;top:0;bottom:0;height:var(--app-height, 100vh);max-height:var(--app-height, 100vh);z-index:200;transition:left .3s ease;width:85%!important;max-width:320px!important}.sessions-sidebar.drawer-open{left:0}.sidebar-resize-handle{display:none}.mobile-close-btn{display:block!important}}.drawer-overlay{display:none;position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;z-index:150}@media (max-width: 768px){.drawer-overlay.active{display:block}}.syllabus-title{font-size:13px;font-weight:500;color:var(--text);margin-bottom:8px}.syllabus-topics{display:flex;flex-direction:column;gap:4px}.topic-item{display:flex;flex-direction:column;gap:2px}.topic-header{display:flex;align-items:center;gap:4px;padding:4px;cursor:pointer;transition:all .2s}.topic-chevron{font-size:10px;color:var(--text-muted);transition:transform .2s}.topic-name{font-size:12px;color:var(--text);display:flex;align-items:center;gap:4px}.topic-check{color:#22c55e;font-size:10px}.subtopics{margin-left:16px;display:flex;flex-direction:column;gap:2px}.subtopic-item{font-size:11px;color:var(--text-muted);padding:2px 4px}.sidebar-bottom-actions{margin-top:auto;border-top:1px solid var(--border);background:var(--surface);display:flex;flex-direction:column;position:relative;z-index:10;flex-shrink:0}.bottom-actions-divider{height:1px;background:var(--border);margin:0}.settings-section{position:relative;padding:8px;z-index:1001}.settings-toggle-btn{width:100%;display:flex;align-items:center;gap:10px;padding:10px 12px;background:var(--bg);border:1px solid var(--border);border-radius:8px;color:var(--text);font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.settings-toggle-btn:hover{background:var(--surface-bg);border-color:var(--accent)}.settings-toggle-btn span{flex:1;text-align:left}.settings-chevron{font-size:12px;transition:transform .2s}.settings-chevron.open{transform:rotate(180deg)}.settings-dropdown{position:absolute;bottom:100%;left:8px;right:8px;background:var(--surface-bg-elevated);border:1px solid var(--border);border-radius:8px;box-shadow:0 -4px 16px #0003;margin-bottom:8px;overflow-y:auto;z-index:250;max-height:60vh}.settings-item{display:flex;align-items:center;gap:12px;width:100%;padding:12px 16px;background:none;border:none;color:var(--text-secondary);font-size:14px;text-align:left;cursor:pointer;transition:var(--transition);text-decoration:none}.settings-item:hover{background:var(--surface);color:var(--text-primary)}.settings-item i{width:16px;text-align:center}.settings-divider{height:1px;background:var(--border);margin:4px 0}.user-plan-display{cursor:default;font-weight:600;color:var(--text-primary)}.user-plan-display:hover{background:none;color:var(--text-primary)}.user-info{display:flex;align-items:center;gap:10px;padding:10px 20px;color:var(--text-secondary);font-size:13px;font-weight:500;background:var(--bg);border-top:1px solid var(--border)}.user-info i{font-size:14px}.user-info.desktop-only{display:flex}@media (max-width: 768px){.user-info.desktop-only{display:none}}.sidebar-action-btn{width:calc(100% - 16px);margin:0 8px 8px;padding:10px 16px;display:flex;align-items:center;justify-content:center;gap:8px;border:1px solid var(--border);border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.login-btn{background:#000;color:#fff;border-color:#000}.login-btn:hover{background:#333;transform:translateY(-1px);box-shadow:0 4px 8px #00000026}.logout-btn{background:var(--bg);color:var(--text-secondary)}.logout-btn:hover{background:var(--surface-bg);color:var(--text-primary);border-color:var(--accent);transform:translateY(-1px)}.settings-footer-links{display:flex;align-items:center;justify-content:center;gap:8px;padding:10px 16px;font-size:10px;color:var(--text-muted)}.settings-footer-links a{color:var(--text-muted);text-decoration:none;transition:color .2s}.settings-footer-links a:hover{color:var(--text);text-decoration:underline}.footer-link-separator{opacity:.5}.message{display:flex;flex-direction:column;margin-bottom:32px;max-width:100%;animation:fadeInUp .5s ease-out}@keyframes fadeInUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.message.assistant{animation:smoothFadeIn .6s ease-out}@keyframes smoothFadeIn{0%{opacity:0;transform:translateY(8px) scale(.98)}60%{opacity:.8;transform:translateY(2px) scale(.995)}to{opacity:1;transform:translateY(0) scale(1)}}.message.user{align-items:flex-end;margin-bottom:24px;animation:fadeInUp .4s ease-out}.message.assistant{align-items:flex-start;margin-bottom:40px;animation:smoothFadeIn .6s ease-out}.system-bubble{background-color:var(--surface);border-color:var(--accent);color:var(--text)}.bubble{max-width:75%;padding:16px 20px;border-radius:12px;line-height:1.6;font-size:14px;font-weight:400;word-break:break-word;position:relative;transition:var(--transition);animation:bubbleFadeIn .4s ease-out}@keyframes bubbleFadeIn{0%{opacity:0}to{opacity:1}}.message.user .bubble{background:var(--text-muted);border:1px solid var(--text-muted);color:#fff;box-shadow:var(--shadow-light);border-radius:16px 16px 4px}.message.user .bubble:hover{background:var(--text-dim);border-color:var(--text-dim);box-shadow:var(--shadow-medium)}.message.assistant .bubble{background:#fff;border:1px solid var(--border);padding:16px 20px;box-shadow:var(--shadow-light);max-width:85%;color:var(--text);border-radius:16px 16px 16px 4px}.message.assistant .bubble:hover{background:var(--surface-bg);box-shadow:var(--shadow-medium)}.message-actions{margin-top:10px;display:flex;gap:10px}.action-button{background:var(--accent-color);color:var(--text-primary);border:none;padding:8px 12px;border-radius:var(--border-radius-small);cursor:pointer;transition:var(--transition)}.action-button:hover{background:var(--accent-hover);box-shadow:var(--shadow-light)}.avatar{width:32px;height:32px;margin-bottom:8px;display:flex;justify-content:center;align-items:center;background:var(--surface-bg);border:1px solid var(--border-color);border-radius:50%;color:var(--accent-color);font-size:14px;box-shadow:var(--shadow-light);flex-shrink:0}.reactions{display:flex;gap:8px;margin-top:8px;opacity:1;transition:var(--transition)}.message:hover .reactions{opacity:1}.reaction{background:var(--surface-bg);border:1px solid var(--border-color);color:var(--text-muted);cursor:pointer;font-size:12px;padding:6px 10px;border-radius:var(--border-radius-small);transition:var(--transition);display:flex;align-items:center;gap:4px}.reaction:hover{color:var(--text-primary);background:var(--accent-color);border-color:var(--accent-color);transform:translateY(-1px)}.reaction.delete:hover{background:var(--error-color);border-color:var(--error-color)}.reaction.next-topic{background:var(--accent-color);border-color:var(--accent-color);color:var(--text-primary);font-weight:500}.reaction.next-topic:hover{background:var(--accent-hover);border-color:var(--accent-hover);transform:translateY(-1px)}.streaming-cursor{display:inline-block;color:var(--text-primary);animation:blink 1s infinite;margin-left:2px;font-weight:700;font-size:16px}@keyframes blink{0%,50%{opacity:1}51%,to{opacity:0}}.message-attachment-indicator{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;margin-bottom:10px;background:#3b82f61a;border:1px solid rgba(59,130,246,.2);border-radius:6px;font-size:12px;color:var(--text-primary);font-weight:500}.message-attachment-indicator i{color:var(--accent-color);font-size:13px}.bubble>*:not(:last-child){margin-bottom:16px}.bubble p{margin-top:0;margin-bottom:16px;line-height:1.6}.bubble h1,.bubble h2,.bubble h3,.bubble h4,.bubble h5,.bubble h6{margin-top:24px;margin-bottom:12px;font-weight:600;line-height:1.3}.bubble h1{font-size:24px}.bubble h2{font-size:20px}.bubble h3{font-size:18px}.bubble h4{font-size:16px}.bubble h5{font-size:14px}.bubble h6{font-size:13px}.bubble ol,.bubble ul{margin-top:12px;margin-bottom:16px;padding-left:24px}.bubble li{margin-bottom:6px;line-height:1.6}.bubble li:last-child{margin-bottom:0}.bubble>*:first-child{margin-top:0}.bubble blockquote{margin:16px 0;padding:12px 16px;background:#007acc1a;border-left:4px solid var(--accent-color);border-radius:0 var(--border-radius-small) var(--border-radius-small) 0}.bubble a{color:var(--link-color);text-decoration:none;font-weight:500;transition:var(--transition);border-bottom:1px solid transparent}.bubble a:hover{color:var(--link-hover);border-bottom-color:var(--link-hover)}.bubble code:not(pre code){background:#00000014;color:var(--text-primary);font-family:SF Mono,Monaco,Cascadia Code,Roboto Mono,Consolas,Courier New,monospace;font-size:13px;padding:2px 6px;border-radius:4px;white-space:pre-wrap;word-break:break-word}.bubble strong{font-weight:600}.bubble em{font-style:italic}.bubble pre{position:relative;padding:20px;background:#1e1e1e!important;border:1px solid #3e3e3e;border-radius:var(--border-radius);margin:16px 0;overflow-x:auto;box-shadow:0 4px 6px #0000004d;font-family:SF Mono,Monaco,Cascadia Code,Roboto Mono,Consolas,Courier New,monospace}.bubble pre code{background:transparent!important;padding:0!important;font-family:SF Mono,Monaco,Cascadia Code,Roboto Mono,Consolas,Courier New,monospace;font-size:13px;line-height:1.6;color:#d4d4d4}pre{position:relative;padding:20px;background:#1e1e1e!important;border:1px solid #3e3e3e;border-radius:var(--border-radius);margin:16px 0;overflow-x:auto;box-shadow:0 4px 6px #0000004d}pre code{background:transparent!important;padding:0!important;font-family:SF Mono,Monaco,Cascadia Code,Roboto Mono,Consolas,Courier New,monospace;font-size:13px;line-height:1.6;color:#d4d4d4}.bubble pre code.hljs,.bubble pre code[class*=language-],pre code.hljs,pre code[class*=language-],.hljs{background:transparent!important;padding:0!important;color:#d4d4d4!important;font-family:SF Mono,Monaco,Cascadia Code,Roboto Mono,Consolas,Courier New,monospace!important;font-size:13px!important;line-height:1.6!important}.bubble .hljs-comment,.bubble .hljs-quote{color:#6a9955!important;font-style:italic}.bubble .hljs-keyword,.bubble .hljs-selector-tag,.bubble .hljs-literal{color:#569cd6!important;font-weight:600}.bubble .hljs-string,.bubble .hljs-regexp{color:#ce9178!important}.bubble .hljs-number,.bubble .hljs-built_in{color:#b5cea8!important}.bubble .hljs-function,.bubble .hljs-title,.bubble .hljs-name{color:#dcdcaa!important}.bubble .hljs-class,.bubble .hljs-type{color:#4ec9b0!important}.bubble .hljs-variable,.bubble .hljs-attribute,.bubble .hljs-property{color:#9cdcfe!important}.bubble .hljs-params{color:#d4d4d4!important}.bubble .hljs-meta,.bubble .hljs-meta-keyword{color:gray!important}.hljs-comment,.hljs-quote{color:var(--text-muted)!important;font-style:italic}.hljs-keyword,.hljs-selector-tag,.hljs-addition{color:#d73a49!important}.hljs-number,.hljs-string,.hljs-meta .hljs-meta-string,.hljs-literal,.hljs-doctag,.hljs-regexp{color:#032f62!important}.hljs-title,.hljs-section,.hljs-name,.hljs-selector-id,.hljs-selector-class{color:#6f42c1!important}.hljs-attribute,.hljs-attr,.hljs-variable,.hljs-template-variable,.hljs-class .hljs-title,.hljs-type{color:#e36209!important}.hljs-symbol,.hljs-bullet,.hljs-subst,.hljs-meta,.hljs-meta .hljs-keyword,.hljs-selector-attr,.hljs-selector-pseudo,.hljs-link{color:#005cc5!important}.hljs-built_in,.hljs-deletion{color:#22863a!important}.code-label{position:absolute;top:12px;right:60px;background:#ffffff1a;color:#9cdcfe;font-size:11px;font-weight:500;padding:4px 8px;border-radius:4px;text-transform:uppercase;letter-spacing:.5px;z-index:1;border:1px solid rgba(255,255,255,.1)}.code-copy-button{position:absolute;top:12px;right:12px;background:#ffffff1a;color:#d4d4d4;font-size:12px;padding:6px 10px;border:1px solid rgba(255,255,255,.2);border-radius:6px;cursor:pointer;display:flex;align-items:center;gap:6px;transition:var(--transition);z-index:2}.code-copy-button:hover{background:#fff3;color:#fff;border-color:#ffffff4d}.code-copy-btn{position:absolute;top:12px;right:12px;background:#ffffff1a;border:1px solid rgba(255,255,255,.2);color:#d4d4d4;padding:6px 10px;border-radius:6px;font-size:12px;cursor:pointer;opacity:0;transition:var(--transition);display:flex;align-items:center;gap:6px;z-index:2}pre:hover .code-copy-btn{opacity:1}.code-copy-btn:hover{background:#fff3;color:#fff;border-color:#ffffff4d}.bubble table{width:100%;border-collapse:collapse;margin:16px 0;background:var(--surface-bg);border:1px solid var(--border-color);border-radius:var(--border-radius);overflow:hidden;box-shadow:var(--shadow-light)}.bubble table th{background:var(--surface-bg-elevated);color:var(--text-primary);font-weight:700;padding:14px 16px;text-align:left;border-bottom:2px solid var(--border-color-light);border-right:1px solid var(--border-color);font-size:14px;text-transform:uppercase;letter-spacing:.5px}.bubble table th:last-child{border-right:none}.bubble table td{padding:12px 16px;border-bottom:1px solid var(--border-color);border-right:1px solid var(--border-color);color:var(--text-primary);line-height:1.5;vertical-align:top;font-weight:500}.bubble table td:last-child{border-right:none}.bubble table tr:last-child td{border-bottom:none}.bubble table tr:nth-child(2n){background:#ffffff0a}.bubble table tr:hover{background:#3b82f61f;transition:var(--transition)}.bubble table{color:var(--text-primary)}.bubble table *{color:inherit!important}.bubble table td:first-child{font-weight:600;color:var(--accent-color);min-width:40px;background:#3b82f614}.bubble table a{color:var(--link-color);font-weight:500}.bubble table a:hover{color:var(--link-hover);text-decoration:underline}.syllabus-display{margin:.75rem 0;padding:.75rem;background:var(--surface-bg);border:1px solid var(--border-color);border-radius:6px}.syllabus-title{display:flex;align-items:center;gap:6px;font-size:.95rem;font-weight:600;color:var(--text-primary);margin:0 0 .5rem;padding-bottom:.35rem;border-bottom:1px solid var(--border-color)}.syllabus-title i{color:var(--text-muted);font-size:.9rem}.syllabus-topics{display:flex;flex-direction:column;gap:.4rem}.syllabus-topic{background:transparent;border:none;border-radius:3px;padding:.25rem 0;transition:all .2s ease}.syllabus-topic:hover{background:#00000005}.topic-header{display:flex;align-items:center;gap:8px;margin-bottom:.25rem;padding:.25rem;border-radius:4px;transition:all .2s ease}.topic-header.clickable:hover{background:#0000000d;transform:translate(2px)}.topic-header.clickable:active{transform:translate(0)}.topic-number{display:flex;align-items:center;justify-content:center;min-width:20px;height:20px;background:var(--text-muted);color:#fff;border-radius:50%;font-weight:600;font-size:.7rem;flex-shrink:0;transition:all .2s ease}.topic-header.clickable:hover .topic-number{background:#1a1a1a}.topic-name{margin:0;font-size:.875rem;font-weight:600;color:var(--text-primary);line-height:1.2}.subtopics-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.15rem}.subtopic-item{display:flex;align-items:flex-start;gap:6px;padding:.15rem .35rem;padding-left:28px;font-size:.8rem;color:var(--text-secondary);line-height:1.3;background:transparent;border-radius:3px;transition:all .2s ease}.subtopic-item.clickable:hover{background:#0000000d;color:var(--text-primary);padding-left:30px}.subtopic-item.clickable:active{padding-left:28px}.subtopic-bullet{color:var(--text-muted);font-weight:600;font-size:.9rem;line-height:1;flex-shrink:0}.syllabus-action{margin-top:16px;padding-top:16px;border-top:1px solid var(--border-color)}.start-syllabus-btn{background:#1a1a1a;color:#fff;border:1px solid #333;padding:12px 24px;border-radius:8px;font-size:15px;font-weight:600;cursor:pointer;display:inline-flex;align-items:center;gap:8px;transition:all .3s ease;box-shadow:0 2px 8px #0003}.start-syllabus-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000004d;background:#2a2a2a;border-color:#444}.start-syllabus-btn:active{transform:translateY(0);box-shadow:0 2px 8px #0003}.start-syllabus-btn i{font-size:14px}.copy-tooltip{position:fixed;bottom:20px;right:20px;background:var(--text);color:#fff;padding:8px 16px;border-radius:var(--border-radius-small);font-size:14px;z-index:10000;animation:slideInUp .3s ease}@media (max-width: 768px){.bubble table{font-size:13px}.bubble table th,.bubble table td{padding:8px 12px}.bubble{max-width:85%;padding:12px 16px;font-size:14px}.message.user .bubble{background:var(--text-muted);border:1px solid var(--text-muted);color:#fff;border-radius:16px 16px 4px}.message.assistant .bubble{background:#fff;border:1px solid var(--border);padding:12px 16px;box-shadow:var(--shadow-light);max-width:90%;border-radius:16px 16px 16px 4px}.reactions{opacity:1}}@media (max-width: 480px){.bubble{max-width:90%;padding:10px 14px}.bubble table{display:block;overflow-x:auto;white-space:nowrap}.bubble table th,.bubble table td{padding:6px 8px;font-size:12px}.message.user .bubble{background:var(--text-muted);border:1px solid var(--text-muted);color:#fff;border-radius:16px 16px 4px}.message.assistant .bubble{background:#fff;border:1px solid var(--border);padding:10px 14px;box-shadow:var(--shadow-light);max-width:95%;border-radius:16px 16px 16px 4px}}.reaction:focus,.action-button:focus{outline:2px solid var(--accent-color);outline-offset:2px}.questions-table{margin-top:1rem;overflow-x:auto;-webkit-overflow-scrolling:touch;max-width:100%}.questions-table table{width:100%;border-collapse:collapse;margin:16px 0;background:var(--surface-bg);border:1px solid var(--border-color);border-radius:var(--border-radius);overflow:hidden;box-shadow:var(--shadow-light)}.questions-table thead{background:var(--surface-bg-elevated);color:var(--text-primary)}.questions-table th{background:var(--surface-bg-elevated);color:var(--text-primary);font-weight:700;padding:14px 16px;text-align:left;border-bottom:2px solid var(--border-color-light);border-right:1px solid var(--border-color);font-size:14px;text-transform:uppercase;letter-spacing:.5px}.questions-table th:first-child{width:60px;min-width:60px;text-align:center;white-space:nowrap}.questions-table th:last-child{border-right:none}.questions-table tbody tr{border-bottom:1px solid var(--border-color);transition:all .2s ease}.questions-table tbody tr:last-child td{border-bottom:none}.questions-table tbody tr:nth-child(2n){background:#ffffff0a}.question-row{cursor:pointer}.question-row:hover{background:#3b82f61f;transition:var(--transition)}.questions-table td{padding:12px 16px;border-bottom:1px solid var(--border-color);border-right:1px solid var(--border-color);color:var(--text-primary);line-height:1.5;vertical-align:top;font-weight:500;word-wrap:break-word;overflow-wrap:break-word}.questions-table td:first-child{width:60px;min-width:60px;text-align:center;font-weight:600;color:var(--accent-color);background:#3b82f614;white-space:nowrap}.questions-table td:last-child{border-right:none}@media (max-width: 768px){.questions-table{margin:.5rem -16px;padding:0 16px;overflow-x:auto;-webkit-overflow-scrolling:touch}.questions-table table{font-size:.8rem;min-width:500px}.questions-table th,.questions-table td{padding:.5rem .75rem}.questions-table td{white-space:normal;word-wrap:break-word;overflow-wrap:break-word}.questions-table th:first-child,.questions-table td:first-child{width:40px;min-width:40px;padding:.5rem}.syllabus-display{padding:.75rem;margin:.75rem 0}.syllabus-title{font-size:1rem}.topic-name{font-size:.9rem}.subtopic-item{font-size:.8rem;padding-left:30px}}pre code.hljs{display:block;overflow-x:auto;padding:1em}code.hljs{padding:3px 5px}.hljs{background:#1e1e1e;color:#dcdcdc}.hljs-keyword,.hljs-literal,.hljs-symbol,.hljs-name{color:#569cd6}.hljs-link{color:#569cd6;text-decoration:underline}.hljs-built_in,.hljs-type{color:#4ec9b0}.hljs-number,.hljs-class{color:#b8d7a3}.hljs-string,.hljs-meta .hljs-string{color:#d69d85}.hljs-regexp,.hljs-template-tag{color:#9a5334}.hljs-subst,.hljs-function,.hljs-title,.hljs-params,.hljs-formula{color:#dcdcdc}.hljs-comment,.hljs-quote{color:#57a64a;font-style:italic}.hljs-doctag{color:#608b4e}.hljs-meta,.hljs-meta .hljs-keyword,.hljs-tag{color:#9b9b9b}.hljs-variable,.hljs-template-variable{color:#bd63c5}.hljs-attr,.hljs-attribute{color:#9cdcfe}.hljs-section{color:gold}.hljs-emphasis{font-style:italic}.hljs-strong{font-weight:700}.hljs-bullet,.hljs-selector-tag,.hljs-selector-id,.hljs-selector-class,.hljs-selector-attr,.hljs-selector-pseudo{color:#d7ba7d}.hljs-addition{background-color:#144212;display:inline-block;width:100%}.hljs-deletion{background-color:#600;display:inline-block;width:100%}.input-bar{position:fixed;bottom:0;left:0;right:0;width:100%;max-width:100%;background:#fffffff2;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-top:1px solid var(--border);padding:20px 24px;padding-bottom:calc(20px + env(safe-area-inset-bottom));display:flex;align-items:flex-end;gap:12px;z-index:100;box-shadow:0 -2px 10px #0000001a;flex-direction:column;box-sizing:border-box}.file-upload-indicator{background:#ffffff0d;border:1px solid var(--border);border-radius:8px;padding:12px 16px;display:flex;align-items:center;gap:12px;width:100%;margin-bottom:8px;transition:all .2s ease}.file-upload-indicator.blocking{background:#ffc1071a;border-color:#ffc1074d;box-shadow:0 0 10px #ffc10733}.file-upload-icon{color:var(--accent-color);font-size:16px;transition:all .2s ease}.file-upload-icon.spinning{animation:spin 1s linear infinite;color:var(--warning-color)}.file-upload-info{flex:1;min-width:0}.file-upload-name{font-weight:500;color:var(--text-primary);margin-bottom:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.file-upload-status{font-size:12px;color:var(--text-secondary)}.file-upload-status.uploading{color:var(--warning-color);font-weight:500}.file-upload-status.success{color:#4caf50}.file-upload-status.error{color:#f44336}.file-upload-remove{background:none;border:none;color:var(--text-secondary);cursor:pointer;padding:4px;border-radius:4px;font-size:14px}.file-upload-remove:hover{background:var(--surface-bg-hover);color:var(--text-primary)}.input-main{display:flex;align-items:flex-end;gap:12px;width:100%;max-width:100%;box-sizing:border-box;overflow:hidden}@media (min-width: 769px){.input-bar{left:var(--sidebar-width, 300px);right:0;width:auto;max-width:none}.input-main{max-width:100%}}.input-container{flex:1;min-width:0;position:relative;background:#fff;border:2px solid var(--border);border-radius:12px;transition:all .2s ease;overflow:hidden;box-sizing:border-box;width:100%}.input-container:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px #6b72801a}.prompt-textarea{flex:1;background:transparent;border:none;outline:none;color:var(--text);font-size:14px;line-height:1.5;padding:16px 20px;resize:none;overflow-y:auto;max-height:200px;min-height:52px;font-family:inherit;width:100%}.prompt-textarea::-moz-placeholder{color:var(--text-muted)}.prompt-textarea::placeholder{color:var(--text-muted)}.input-actions{display:flex;gap:8px;flex-shrink:0}.icon{background:var(--surface-bg);border:2px solid var(--border-color);color:var(--text-secondary);cursor:pointer;font-size:16px;display:flex;align-items:center;justify-content:center;width:52px;height:52px;border-radius:12px;transition:all .2s ease;position:relative}.icon:hover{color:var(--text-primary);background:var(--accent-color);border-color:var(--accent-color);transform:translateY(-2px);box-shadow:0 4px 6px #0000001a,0 2px 4px #0000000f}.icon:active{transform:translateY(0)}.icon.send{background:var(--text);border:2px solid var(--text);color:#fff;box-shadow:0 4px 6px #0000001a,0 2px 4px #0000000f;font-weight:600}.icon.send:hover{background:var(--text-muted);border-color:var(--text-muted);transform:translateY(-2px);box-shadow:0 10px 25px #0000001a,0 6px 6px #0000000f}.icon.topic-actions-trigger{background:var(--accent-color);border-color:var(--accent-color);color:#fff}.icon.topic-actions-trigger:hover{background:var(--accent-color);border-color:var(--accent-color);color:#fff;opacity:.9}.icon:disabled,.icon.disabled{background:var(--surface-bg)!important;border-color:var(--border-color)!important;color:var(--text-muted)!important;cursor:not-allowed!important;opacity:.6!important;transform:none!important;box-shadow:none!important}.icon.send:disabled,.icon.send.disabled{background:var(--text-muted)!important;border-color:var(--text-muted)!important;color:#fff!important}@media (max-width: 768px){.input-bar{padding:12px;padding-bottom:calc(12px + env(safe-area-inset-bottom));gap:8px;left:0!important;right:0;width:100%;max-width:100%;box-sizing:border-box;bottom:0;overflow:hidden}.input-main{width:100%;max-width:100%;overflow:hidden;gap:8px}.input-container{max-width:100%;overflow:hidden;flex:1;min-width:0}.icon{width:48px;height:48px;font-size:16px;flex-shrink:0;min-width:48px}.icon.send{width:48px;height:48px;min-width:48px;font-size:16px;box-shadow:0 4px 6px #0000001a,0 2px 4px #0000000f}.prompt-textarea{padding:12px 16px;font-size:14px;width:100%}.input-actions{flex-shrink:0;display:flex;gap:8px}}@media (max-width: 480px){.input-bar{flex-wrap:wrap;width:100%;max-width:100%;padding:12px;box-sizing:border-box}.input-container{min-width:200px;width:100%;box-sizing:border-box}}.icon:focus,.prompt-textarea:focus{outline:2px solid var(--accent-color);outline-offset:2px}*{scroll-behavior:smooth}@media (prefers-reduced-motion: reduce){*{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.chat-container{flex:1;display:flex;flex-direction:column;background:var(--bg);position:relative;overflow:hidden;width:100%;touch-action:pan-y}.messages-container{flex:1;overflow-y:auto;overflow-x:hidden;padding:20px 20px 100px;display:flex;flex-direction:column;gap:16px;width:100%;-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain}.chat-container:has(.topic-actions) .messages-container{padding-bottom:160px}.messages-container::-webkit-scrollbar{width:8px}.messages-container::-webkit-scrollbar-track{background:transparent}.messages-container::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:4px}.messages-container::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:40px 20px;margin:auto;max-width:600px}.loading-spinner{font-size:32px;color:var(--accent-color);margin-bottom:16px}.loading-state p{font-size:16px;color:var(--text-muted);margin:0}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:40px 20px;margin:auto;max-width:600px}.empty-state-icon{font-size:64px;color:var(--text-muted);margin-bottom:24px;opacity:.3}.empty-state h2{font-size:28px;font-weight:600;color:var(--text-primary);margin:0 0 12px}.empty-state p{font-size:16px;color:var(--text-muted);margin:0 0 32px}.welcome-subtitle{font-size:14px;color:var(--text-muted);margin:0 0 24px;line-height:1.5;font-weight:400}.onboarding-steps{display:flex;flex-direction:column;gap:14px;max-width:480px;margin:0 auto;text-align:left}.onboarding-step{display:flex;align-items:flex-start;gap:12px}.step-number{min-width:24px;height:24px;display:flex;align-items:center;justify-content:center;background:var(--accent-color);color:#fff;border-radius:50%;font-weight:600;font-size:12px;flex-shrink:0;margin-top:2px}.step-content{flex:1;min-width:0}.step-title{font-size:14px;font-weight:600;color:var(--text-primary);margin:0 0 4px;line-height:1.3}.step-description{font-size:13px;color:var(--text-muted);margin:0;line-height:1.5}.tip-box{display:flex;align-items:flex-start;background:#f8fbff;border:1px solid #e8f0fe;border-radius:12px;padding:20px 24px;margin-top:24px;max-width:480px}.tip-icon{font-size:20px;margin-right:6px;vertical-align:middle}.tip-text{font-size:15px;color:#5f6368;line-height:1.6}.tip-text strong{color:#3c4043;font-weight:600}.suggested-prompts{display:flex;flex-wrap:wrap;gap:12px;justify-content:center}.suggested-prompt{background:var(--surface-bg);border:1px solid var(--border-color);color:var(--text-secondary);padding:12px 20px;border-radius:20px;font-size:14px;cursor:pointer;transition:var(--transition)}.suggested-prompt:hover{background:var(--surface-bg-hover);border-color:var(--accent-color);color:var(--text-primary);transform:translateY(-2px);box-shadow:var(--shadow-medium)}.typing-indicator{display:flex;align-items:center;gap:4px;padding:12px 16px;margin-left:48px}.typing-indicator span{width:8px;height:8px;border-radius:50%;background:var(--text-muted);animation:typing 1.4s infinite}.typing-indicator span:nth-child(2){animation-delay:.2s}.typing-indicator span:nth-child(3){animation-delay:.4s}@keyframes typing{0%,60%,to{transform:translateY(0);opacity:.5}30%{transform:translateY(-10px);opacity:1}}.progress-container{background:var(--surface-bg);border:1px solid var(--border-color);border-radius:12px;padding:16px;box-shadow:var(--shadow-medium);margin:16px 0;animation:slideUp .3s ease-out}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.progress-header{display:flex;align-items:center;gap:8px;margin-bottom:12px}.progress-spinner{color:var(--accent-color);font-size:16px;flex-shrink:0}.progress-bar{width:100%;height:12px;background:#e0e0e0;border-radius:6px;overflow:hidden;position:relative}.progress-fill{height:100%;background:linear-gradient(90deg,#2c2c2c,#5a5a5a);border-radius:6px;transition:width .5s cubic-bezier(.4,0,.2,1);position:relative;min-width:2%;will-change:width}.progress-fill:after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);animation:shimmer 2s infinite}@keyframes shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}.progress-message{font-size:14px;color:var(--text-secondary);font-weight:500;flex:1}.topic-actions{position:fixed;bottom:calc(96px + env(safe-area-inset-bottom));left:0;right:0;display:flex;gap:16px;justify-content:center;padding:16px 24px;background:#fffffff2;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-top:1px solid var(--border-color);z-index:99;box-shadow:0 -2px 10px #0000000d;transition:all .3s ease}@media (min-width: 769px){.topic-actions{left:var(--sidebar-width, 300px)}}.topic-action-button{display:flex;align-items:center;gap:10px;background:var(--surface-bg);border:2px solid var(--border-color);color:var(--text-secondary);padding:12px 24px;border-radius:10px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease;white-space:nowrap}.topic-action-button i{font-size:16px}.topic-action-button:hover:not(:disabled){background:var(--accent-color);border-color:var(--accent-color);color:#fff;transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.topic-action-button:active:not(:disabled){transform:translateY(0)}.topic-action-button:disabled{opacity:.5;cursor:not-allowed}.topic-action-toggle{display:flex;align-items:center;gap:8px;background:var(--surface-bg);border:2px solid var(--border-color);color:var(--text-secondary);padding:12px 20px;border-radius:10px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease;white-space:nowrap}.topic-action-toggle i{font-size:14px}.topic-action-toggle:hover{background:var(--accent-color);border-color:var(--accent-color);color:#fff;transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.topic-action-toggle:active{transform:translateY(0)}@media (max-width: 768px){.messages-container{padding:16px 16px 80px}.empty-state h2{font-size:22px}.welcome-subtitle{font-size:13px;margin-bottom:20px}.onboarding-steps{gap:12px;max-width:100%}.onboarding-step{gap:10px}.step-number{min-width:22px;height:22px;font-size:11px}.step-title{font-size:13px}.step-description{font-size:12px}.tip-box{gap:10px;padding:12px 14px;margin-top:16px}.tip-icon{font-size:16px}.tip-text{font-size:12px}.suggested-prompts{flex-direction:column;width:100%}.suggested-prompt{width:100%}.progress-container{margin:12px 0;padding:14px}.progress-header{margin-bottom:10px}.progress-message{font-size:13px}.progress-spinner{font-size:14px}.topic-actions{left:0;padding:12px 16px;bottom:calc(84px + env(safe-area-inset-bottom));gap:12px}.topic-action-button{padding:10px 18px;font-size:13px;flex:1;justify-content:center}.topic-action-button i{font-size:15px}.topic-action-toggle{padding:10px 18px;font-size:13px}.topic-action-toggle i{font-size:13px}}.popup-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000c;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);z-index:2000;display:flex;align-items:center;justify-content:center;opacity:0;visibility:hidden;transition:all .3s cubic-bezier(.4,0,.2,1)}.popup-overlay.active{opacity:1;visibility:visible}.popup-content{background:#fff;border:1px solid var(--border-color);border-radius:16px;box-shadow:0 25px 50px #00000026,0 8px 16px #0000001a;max-width:600px;width:98%;max-height:90vh;overflow-y:auto;position:relative;animation:slideInUp .4s cubic-bezier(.34,1.56,.64,1);transform:scale(.9);display:flex;flex-direction:column}.popup-content.active{transform:scale(1)}.popup-content::-webkit-scrollbar{width:6px}.popup-content::-webkit-scrollbar-track{background:var(--surface-bg)}.popup-content::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:3px}.popup-content::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}@keyframes slideInUp{0%{opacity:0;transform:translate(-50%,-50%) translateY(30px) scale(.95)}to{opacity:1;transform:translate(-50%,-50%) translateY(0) scale(1)}}.popup-header{padding:32px 32px 20px;text-align:center;position:relative;flex-shrink:0}.popup-header h2{margin:0;font-size:28px;font-weight:700;color:var(--text-primary);letter-spacing:-.025em}.popup-close{position:absolute;top:24px;right:24px;background:var(--surface-bg);border:1px solid var(--border-color);color:var(--text-muted);cursor:pointer;font-size:16px;padding:8px;border-radius:50%;transition:all .2s cubic-bezier(.4,0,.2,1);display:flex;align-items:center;justify-content:center;width:36px;height:36px}.popup-close:hover{background:var(--surface-bg-hover);border-color:var(--accent-color);color:var(--text-primary);transform:scale(1.05)}.popup-body{padding:0 32px 32px;min-height:0;flex:1}.popup-small{max-width:400px}.popup-large{max-width:1100px}@media (max-width: 768px){.popup-overlay{align-items:stretch;justify-content:stretch}.popup-content{max-width:100%;width:100%;max-height:100vh;height:100vh;margin:0;border-radius:0;animation:slideInFromBottom .3s cubic-bezier(.4,0,.2,1)}.popup-header{padding:20px 20px 16px;border-bottom:1px solid var(--border-color)}.popup-header h2{font-size:22px;padding-right:40px}.popup-close{top:20px;right:20px}.popup-body{padding:20px;overflow-y:auto;-webkit-overflow-scrolling:touch}}@keyframes slideInFromBottom{0%{transform:translateY(100%)}to{transform:translateY(0)}}.login-popup{display:flex;flex-direction:column;align-items:center;text-align:center}.login-icon{width:80px;height:80px;background:var(--surface-bg);border-radius:50%;display:flex;align-items:center;justify-content:center;margin-bottom:24px}.login-icon i{font-size:36px;color:var(--accent-color)}.login-message{font-size:16px;color:var(--text-secondary);margin-bottom:24px;line-height:1.5}.login-benefits{width:100%;text-align:left;margin-bottom:32px}.login-benefits h3{font-size:14px;font-weight:600;color:var(--text-primary);margin-bottom:12px}.login-benefits ul{list-style:none;padding:0;margin:0}.login-benefits li{display:flex;align-items:center;gap:12px;padding:8px 0;color:var(--text-secondary);font-size:14px}.login-benefits li i{color:var(--success-color);font-size:12px}.login-actions{display:flex;flex-direction:column;gap:12px;width:100%}.login-btn{padding:12px 24px;border-radius:var(--border-radius-small);font-size:16px;font-weight:600;cursor:pointer;transition:var(--transition);display:flex;align-items:center;justify-content:center;gap:8px;border:none}.login-btn.primary{background:var(--text);color:#fff}.login-btn.primary:hover{background:var(--text-muted);transform:translateY(-2px);box-shadow:var(--shadow-medium)}.login-btn.secondary{background:transparent;color:var(--text-secondary);border:1px solid var(--border-color)}.login-btn.secondary:hover{background:var(--surface-bg);border-color:var(--accent-color)}.help-popup{display:flex;flex-direction:column;gap:24px}.help-section{padding-bottom:20px;border-bottom:1px solid var(--border-color)}.help-section:last-child{border-bottom:none;padding-bottom:0}.help-section h3{display:flex;align-items:center;gap:8px;font-size:16px;font-weight:600;color:var(--text-primary);margin:0 0 12px}.section-main-title{font-size:24px;font-weight:700;color:var(--text-primary);margin:0 0 16px;letter-spacing:-.5px}.help-section h3 i{color:var(--text-primary);font-size:14px}.help-section p{color:var(--text-secondary);line-height:1.6;margin:0}.help-section p+p{margin-top:12px}.help-example{background:var(--surface-bg);border-left:3px solid var(--text-primary);padding:12px 16px;margin-top:12px!important;border-radius:var(--border-radius-small);font-size:14px}.help-example em{color:var(--text-primary);font-weight:600;font-style:normal}.help-example-list{list-style:none;padding:0;margin:8px 0 0}.help-example-list li{position:relative;padding:10px 12px 10px 28px;margin-bottom:8px;color:var(--text-secondary);font-size:14px;line-height:1.6;background:var(--surface-bg);border-radius:var(--border-radius-small);border-left:2px solid var(--accent-color)}.help-example-list li:before{content:"→";position:absolute;left:10px;color:var(--text-primary);font-weight:700;font-size:16px}.help-example-list li strong{color:var(--text-primary);font-weight:600}.help-benefit{display:block;margin-top:6px;font-size:13px;color:var(--text-muted);font-style:italic;border-left:2px solid var(--border-color);padding-left:12px}.help-tip-box{display:flex;gap:12px;background:var(--surface-bg);border:1px solid var(--border-color);border-radius:var(--border-radius);padding:16px;margin-top:16px;align-items:flex-start}.help-tip-box i{color:var(--text-primary);font-size:18px;flex-shrink:0;margin-top:2px}.help-tip-box strong{display:block;color:var(--text-primary);margin-bottom:6px;font-size:14px}.shortcuts-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px}.shortcuts-list li{display:flex;align-items:center;gap:16px;padding:8px 12px;background:var(--surface-bg);border-radius:var(--border-radius-small)}.shortcuts-list kbd{background:#fff;border:1px solid var(--border-color);border-radius:4px;padding:4px 8px;font-family:Monaco,Courier New,monospace;font-size:12px;font-weight:600;color:var(--text-primary);min-width:80px;text-align:center}.shortcuts-list span{color:var(--text-secondary);font-size:14px}.features-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:16px}.feature-item{display:flex;gap:12px;padding:12px;background:var(--surface-bg);border-radius:var(--border-radius-small)}.feature-item i{color:var(--accent-color);font-size:20px;flex-shrink:0}.feature-item strong{display:block;font-size:14px;color:var(--text-primary);margin-bottom:4px}.feature-item p{font-size:12px;color:var(--text-muted);margin:0}.tips-list{list-style:none;padding:0;margin:0}.tips-list li{position:relative;padding-left:24px;margin-bottom:8px;color:var(--text-secondary);font-size:14px;line-height:1.5}.tips-list li:before{content:"•";position:absolute;left:8px;color:var(--accent-color);font-weight:700}.help-section a{color:var(--text-primary);text-decoration:underline;transition:var(--transition)}.help-section a:hover{color:var(--text-secondary)}.complete-examples-section{background:var(--surface-bg);padding:20px!important;border-radius:var(--border-radius);border:1px solid var(--border-color)}.how-it-works-section{margin-top:32px;padding-top:32px!important;border-top:2px solid var(--border-color)}.complete-example-card{background:#fff;border:2px solid var(--border-color);border-radius:var(--border-radius);padding:18px;margin-top:14px;transition:all .25s ease;position:relative}.complete-example-card:hover{border-color:var(--text-primary);box-shadow:0 4px 16px #00000014}.example-badge{display:inline-block;background:transparent;color:var(--text-secondary);padding:0 0 8px;border-radius:0;font-size:12px;font-weight:600;text-transform:none;letter-spacing:0;margin-bottom:14px;border-bottom:1px solid var(--border-color);width:100%}.example-badge-highlight{background:linear-gradient(135deg,#6b7280,#4b5563);color:#fff;padding:8px 16px;border-radius:6px;border-bottom:none;font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;box-shadow:0 2px 8px #00000026}.example-section{display:flex;flex-direction:column;gap:8px;padding:12px 0;border-bottom:1px solid var(--border-color)}.example-section:last-child{border-bottom:none;padding-bottom:0}.example-label{font-weight:700;font-size:13px;color:var(--text-primary);display:flex;align-items:center;gap:6px}.example-text{font-size:14px;color:var(--text-secondary);line-height:1.6;padding-left:24px}.copy-hint{display:flex;align-items:center;justify-content:center;gap:10px;margin-top:18px;padding:14px;background:var(--surface-bg);border:1px dashed var(--border-color);border-radius:var(--border-radius-small);color:var(--text-secondary);font-size:13px;font-weight:500}.copy-hint i{font-size:16px;color:var(--text-primary)}.try-example-button{width:100%;margin-top:16px;padding:12px 20px;background:var(--text-primary);color:#fff;border:none;border-radius:var(--border-radius-small);font-size:14px;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;transition:all .2s ease;letter-spacing:.2px}.try-example-button:hover{background:var(--text-secondary);transform:translateY(-1px);box-shadow:0 2px 8px #00000026}.try-example-button:active{transform:translateY(0);box-shadow:0 1px 3px #0000001f}.try-example-button i{font-size:14px}.copy-notification{position:fixed;bottom:30px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:12px;background:var(--text-primary);color:#fff;padding:14px 20px;border-radius:var(--border-radius);font-size:14px;font-weight:500;box-shadow:0 4px 16px #0003;z-index:10001;animation:slideUp .3s ease,fadeOut .3s ease 2.7s forwards}.copy-notification i{font-size:16px}@keyframes slideUp{0%{transform:translate(-50%) translateY(20px);opacity:0}to{transform:translate(-50%) translateY(0);opacity:1}}@keyframes fadeOut{to{opacity:0;transform:translate(-50%) translateY(-10px)}}.how-it-works-bubbles{display:flex;flex-direction:column;gap:16px}.work-bubble{display:flex;gap:16px;background:#fff;border:2px solid var(--border-color);border-radius:16px;padding:20px;transition:all .25s ease;box-shadow:0 2px 8px #0000000d}.work-bubble:hover{border-color:var(--text-primary);box-shadow:0 4px 16px #0000001a;transform:translateY(-2px)}.bubble-number{flex-shrink:0;width:48px;height:48px;border-radius:50%;background:linear-gradient(135deg,var(--text-primary) 0%,var(--text-secondary) 100%);color:#fff;display:flex;align-items:center;justify-content:center;font-size:20px;font-weight:700;box-shadow:0 3px 12px #0003}.bubble-content{flex:1}.bubble-content h4{margin:0 0 10px;font-size:16px;font-weight:700;color:var(--text-primary)}.bubble-content p{margin:0;font-size:14px;line-height:1.6;color:var(--text-secondary)}.bubble-tip{margin-top:14px;padding:14px;background:var(--surface-bg);border-left:4px solid var(--text-primary);border-radius:8px;font-size:13px;line-height:1.6;color:var(--text-secondary)}.bubble-tip strong{display:block;color:var(--text-primary);margin-bottom:6px;font-size:14px}.tools-popup{display:flex;flex-direction:column;gap:20px}.tools-loading,.tools-error,.tools-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px;text-align:center}.tools-loading i,.tools-error i,.tools-empty i{font-size:48px;color:var(--text-muted);margin-bottom:16px;opacity:.5}.tools-loading i{color:var(--accent-color);opacity:1}.tools-error i{color:var(--error-color);opacity:1}.tools-loading p,.tools-error p,.tools-empty p{color:var(--text-muted);font-size:16px;margin:0}.retry-btn{margin-top:16px;padding:8px 20px;background:var(--text);color:#fff;border:none;border-radius:var(--border-radius-small);font-size:14px;font-weight:600;cursor:pointer;transition:var(--transition)}.retry-btn:hover{background:var(--text-muted);transform:translateY(-2px)}.tools-description{color:var(--text-secondary);font-size:14px;line-height:1.5;margin:0}.tools-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}.tool-card{display:flex;gap:16px;padding:16px;background:var(--surface-bg);border:1px solid var(--border-color);border-radius:var(--border-radius-small);transition:var(--transition)}.tool-card:hover{background:var(--surface-bg-hover);border-color:var(--accent-color);transform:translateY(-2px);box-shadow:var(--shadow-medium)}.tool-icon{width:40px;height:40px;background:#fff;border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.tool-icon i{font-size:18px;color:var(--accent-color)}.tool-info{flex:1;min-width:0}.tool-info h4{margin:0 0 4px;font-size:14px;font-weight:600;color:var(--text-primary)}.tool-info p{margin:0;font-size:12px;color:var(--text-muted);line-height:1.4}.tools-note{display:flex;gap:12px;padding:12px 16px;background:var(--surface-bg);border-radius:var(--border-radius-small);border-left:3px solid var(--info-color)}.tools-note i{color:var(--info-color);font-size:16px;flex-shrink:0;margin-top:2px}.tools-note p{margin:0;font-size:13px;color:var(--text-secondary);line-height:1.5}.topup-popup-backdrop{position:fixed;top:0;left:0;right:0;bottom:0;background:#000c;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);z-index:2000;display:flex;align-items:center;justify-content:center;opacity:0;visibility:hidden;transition:all .3s cubic-bezier(.4,0,.2,1)}.topup-popup-backdrop.active{opacity:1;visibility:visible}.topup-popup{background:#fff;border:1px solid var(--border-color);border-radius:16px;box-shadow:0 25px 50px #00000026,0 8px 16px #0000001a;max-width:1100px;width:98%;max-height:90vh;overflow-y:auto;position:relative;transform:scale(.9);transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;flex-direction:column}.topup-popup.active{transform:scale(1)}.topup-popup::-webkit-scrollbar{width:6px}.topup-popup::-webkit-scrollbar-track{background:var(--surface-bg)}.topup-popup::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:3px}.topup-popup::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.topup-popup-header{padding:32px 32px 20px;text-align:center;position:relative;flex-shrink:0}.topup-popup-header h2{margin:0;font-size:28px;font-weight:700;color:var(--text-primary);letter-spacing:-.025em}.close-button{position:absolute;top:24px;right:24px;background:var(--surface-bg);border:1px solid var(--border-color);color:var(--text-muted);cursor:pointer;font-size:16px;padding:8px;border-radius:50%;transition:all .2s cubic-bezier(.4,0,.2,1);display:flex;align-items:center;justify-content:center;width:36px;height:36px}.close-button:hover{background:var(--surface-bg-hover);border-color:var(--accent-color);color:var(--text-primary);transform:scale(1.05)}.topup-popup-content{padding:0 32px 32px;min-height:0;flex:1}.plan-popup{display:flex;flex-direction:column;gap:24px}.topup-error,.plan-error{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff;padding:16px 20px;border-radius:12px;margin-bottom:20px;font-size:14px;font-weight:500;border:1px solid #dc2626;box-shadow:0 4px 12px #ef44444d;display:flex;align-items:center;gap:12px}.topup-error i,.plan-error i{font-size:16px}.current-plan-info{display:flex;flex-direction:column;gap:8px}.current-plan-name{font-size:24px;font-weight:600;color:var(--text-primary)}.current-plan-details{display:flex;align-items:center;gap:12px}.plan-status{display:flex;align-items:center;gap:4px;font-size:12px;font-weight:500;padding:4px 8px;border-radius:12px}.plan-status.active{background:#22c55e1a;color:#22c55e}.plan-status.free{background:#6b72801a;color:var(--text-muted)}.subscription-details{margin-bottom:24px}.subscription-details h3{margin:0 0 16px;color:var(--text-primary);font-size:18px;font-weight:600}.subscription-info{background:var(--surface-bg);border:1px solid var(--border-color);border-radius:8px;padding:16px;margin-bottom:16px}.info-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.info-row:last-child{margin-bottom:0}.info-label{font-weight:500;color:var(--text-secondary)}.info-value{color:var(--text-primary);font-weight:500}.plan-actions{display:flex;gap:12px}.plan-action-button{background:var(--accent-color);border:2px solid var(--accent-color);color:#fff;padding:10px 16px;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:var(--transition);display:flex;align-items:center;gap:8px}.plan-action-button:hover:not(:disabled){background:var(--accent-hover);border-color:var(--accent-hover);transform:translateY(-1px);box-shadow:var(--shadow-medium)}.plan-action-button:disabled{opacity:.6;cursor:not-allowed;transform:none}.plan-action-button.billing-portal{background:var(--text);border-color:var(--text)}.plan-action-button.billing-portal:hover:not(:disabled){color:#fff;background:var(--text-muted);border-color:var(--text-muted)}.upgrade-section h3,.plan-management-section h3{margin:0 0 12px;color:#000;font-size:18px;font-weight:600}.upgrade-section p{margin:0 0 20px;color:var(--text-secondary);line-height:1.5}.billing-toggle-container{display:flex;justify-content:center;margin-bottom:24px}.billing-toggle{background:var(--surface-bg);border:1px solid var(--border-color);border-radius:8px;padding:4px;display:flex;gap:4px}.billing-tab{background:transparent;border:none;color:var(--text-muted);cursor:pointer;font-size:14px;font-weight:500;padding:8px 16px;border-radius:6px;transition:var(--transition);display:flex;align-items:center;gap:6px}.billing-tab.active{background:#fff;color:var(--text-primary);box-shadow:0 1px 3px #0000001a}.savings-badge{background:var(--accent-color);color:#fff;font-size:10px;font-weight:600;padding:2px 6px;border-radius:12px;text-transform:uppercase;letter-spacing:.5px}.plan-options-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:16px;margin-bottom:20px;max-width:600px;margin-left:auto;margin-right:auto;justify-items:center}.plan-options-grid.three-plans{grid-template-columns:repeat(3,1fr);max-width:900px}@media (max-width: 1200px){.plan-options-grid.three-plans{grid-template-columns:repeat(3,1fr);gap:12px}}@media (max-width: 900px){.plan-options-grid{grid-template-columns:repeat(2,1fr);gap:16px}}@media (max-width: 600px){.plan-options-grid{grid-template-columns:1fr;gap:16px}}.plan-option{background:var(--surface-bg);border:2px solid var(--border-color);border-radius:12px;padding:12px;position:relative;transition:var(--transition);width:100%;max-width:280px;display:flex;flex-direction:column}.plan-option:hover{border-color:var(--accent-color);box-shadow:var(--shadow-medium)}.plan-option.featured{border-color:#000;background:linear-gradient(135deg,#0000000d,#00000005);box-shadow:0 4px 12px #00000026}.plan-badge{position:absolute;top:-8px;left:20px;background:#000;color:#fff;font-size:11px;font-weight:600;padding:4px 8px;border-radius:8px;text-transform:uppercase;letter-spacing:.5px;box-shadow:0 2px 8px #0000004d}.plan-option-header{margin-bottom:12px}.plan-option-header h4{margin:0 0 4px;color:#000;font-size:16px;font-weight:600}.plan-price{color:var(--accent-color);font-size:14px;font-weight:600}.plan-features{list-style:none;padding:0;margin:0 0 12px;flex:1}.plan-features li{display:flex;align-items:flex-start;gap:6px;margin-bottom:4px;color:var(--text-secondary);font-size:12px;line-height:1.3}.plan-features li:last-child{margin-bottom:0}.plan-features li i{color:#22c55e;font-size:10px;margin-top:2px;flex-shrink:0}.plan-features li.feature-disabled{opacity:1}.plan-features li.feature-disabled i{color:#ef4444}.plan-select-button{width:100%;background:var(--accent-color);border:2px solid var(--accent-color);color:#fff;padding:10px 16px;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:var(--transition);display:flex;align-items:center;justify-content:center;gap:8px}.plan-select-button:hover:not(:disabled){background:var(--accent-hover);border-color:var(--accent-hover);transform:translateY(-1px);box-shadow:var(--shadow-medium)}.plan-select-button:disabled{opacity:.6;cursor:not-allowed;transform:none}.plan-option.featured .plan-select-button{background:#000;border-color:#000;box-shadow:0 2px 8px #0000004d}.plan-option.featured .plan-select-button:hover:not(:disabled){background:#333;border-color:#333;box-shadow:0 4px 12px #0006}.plan-option.current{border-color:#000;background:linear-gradient(135deg,#0000000d,#00000005)}.current-plan-indicator{width:100%;background:#000;color:#fff;padding:10px 16px;border-radius:8px;font-size:14px;font-weight:600;display:flex;align-items:center;justify-content:center;gap:8px;box-shadow:0 2px 8px #0000004d}.billing-note{font-size:12px;color:var(--text-muted);margin-top:4px}.period{font-size:14px;color:var(--text-muted);font-weight:400}.upgrade-info{background:#3b82f61a;border:1px solid rgba(59,130,246,.2);border-radius:8px;padding:16px;margin-bottom:20px}.upgrade-info p{margin:0;color:var(--text-primary);font-weight:500}.trial-info{display:flex;align-items:center;justify-content:center;gap:8px;color:var(--text-muted);font-size:13px;padding:12px;background:var(--surface-bg);border-radius:8px;border:1px solid var(--border-color)}.trial-info i{color:var(--info-color)}@media (max-width: 640px){.topup-popup{max-width:95%;margin:5px;max-height:95vh;border-radius:12px}.topup-popup-header{padding:16px 16px 12px}.topup-popup-header h2{font-size:20px}.topup-popup-content{padding:0 16px 16px}.plan-options{grid-template-columns:1fr}.plan-option{padding:12px}.plan-option-header h4{font-size:14px}.plan-features li{font-size:11px}}.social-proof-section{margin-top:32px;padding-top:32px;border-top:1px solid var(--border-color)}.social-proof-section:last-child{padding-bottom:32px}.social-proof-title{font-size:20px;font-weight:700;color:var(--text-primary);text-align:center;margin:0 0 24px}.reviews-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:16px}@media (max-width: 900px){.reviews-grid{grid-template-columns:1fr}}.review-card{background:var(--surface-bg);border:1px solid var(--border-color);border-radius:12px;padding:20px;display:flex;flex-direction:column;gap:12px;transition:var(--transition)}.review-card:hover{border-color:var(--accent-color);box-shadow:var(--shadow-medium)}.review-stars{display:flex;gap:4px;color:#fbbf24;font-size:14px}.review-text{color:var(--text-secondary);font-size:13px;line-height:1.6;font-style:italic;margin:0;flex:1}.review-author{display:flex;align-items:center;gap:12px;margin-top:8px}.author-avatar{width:36px;height:36px;background:#0000001a;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:13px;color:var(--text-primary)}.author-name{font-weight:600;font-size:13px;color:var(--text-primary)}.organizations-subsection{margin-bottom:32px}.organizations-subsection:last-child{margin-bottom:0}.organizations-subtitle{font-size:16px;font-weight:600;color:var(--text-muted);text-align:center;margin:0 0 16px}.organizations-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:16px;align-items:center;justify-items:center}.organizations-grid.companies{grid-template-columns:repeat(6,1fr)}@media (max-width: 900px){.organizations-grid{grid-template-columns:repeat(3,1fr);gap:12px}.organizations-grid.companies{grid-template-columns:repeat(3,1fr)}}@media (max-width: 600px){.organizations-grid,.organizations-grid.companies{grid-template-columns:repeat(2,1fr)}}.organization-logo-container{background:var(--surface-bg);border:1px solid var(--border-color);border-radius:8px;padding:16px;width:100%;height:80px;display:flex;align-items:center;justify-content:center;transition:var(--transition)}.organization-logo-container:hover{border-color:var(--accent-color);box-shadow:var(--shadow-light)}.organization-logo-container img{max-width:100%;max-height:100%;-o-object-fit:contain;object-fit:contain;transition:all .3s ease}.organization-logo-container:hover img{opacity:.8!important}.plan-description{font-size:12px;color:var(--text-muted);margin-top:4px;font-style:italic}.new-session-popup{max-width:500px;width:90vw;max-height:none;height:auto}.new-session-form{display:flex;flex-direction:column;gap:1.5rem}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-group label{font-weight:600;color:var(--text-primary);font-size:.95rem}.required{color:#e74c3c}.optional{color:var(--text-muted);font-weight:400;font-size:.85rem}.form-group input,.form-group textarea{padding:.75rem;border:2px solid var(--border-color);border-radius:8px;font-size:1rem;font-family:inherit;background-color:var(--bg-secondary);color:var(--text-primary);transition:border-color .2s ease;resize:vertical}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:var(--primary-color)}.form-group input:disabled,.form-group textarea:disabled{opacity:.6;cursor:not-allowed}.form-group input::-moz-placeholder,.form-group textarea::-moz-placeholder{color:var(--text-muted);opacity:.7}.form-group input::placeholder,.form-group textarea::placeholder{color:var(--text-muted);opacity:.7}.error-message{display:flex;align-items:center;gap:.5rem;padding:.75rem;background-color:#e74c3c1a;border:1px solid rgba(231,76,60,.3);border-radius:6px;color:#e74c3c;font-size:.9rem}.error-message i{color:#e74c3c}.form-actions{display:flex;gap:1rem;justify-content:flex-end;margin-top:1.5rem;padding:1rem 0 0;border-top:1px solid var(--border-color);flex-shrink:0}.btn-secondary,.btn-primary,.btn-chat{padding:.5rem 1.25rem;border:none;border-radius:6px;font-size:.95rem;font-weight:600;cursor:pointer;display:flex;align-items:center;gap:.5rem;transition:all .2s ease;min-width:110px;justify-content:center}.btn-secondary{background-color:var(--bg-secondary);color:var(--text-secondary);border:1px solid var(--border-color)}.btn-secondary:hover:not(:disabled){background-color:var(--bg-tertiary);border-color:var(--text-muted)}.btn-chat{background-color:#4a90e2;color:#fff;border:1px solid #4a90e2}.btn-chat:hover:not(:disabled){background-color:#357abd;transform:translateY(-1px)}.btn-primary{background-color:#000;color:#fff}.btn-primary:hover:not(:disabled){background-color:#333;transform:translateY(-1px)}.btn-secondary:disabled,.btn-primary:disabled,.btn-chat:disabled{opacity:.6;cursor:not-allowed;transform:none}.btn-primary i.fa-spinner{animation:spin 1s linear infinite}@media (max-width: 768px){.new-session-popup{width:100%;max-width:100%;height:100%;border-radius:0}.new-session-form{display:flex;flex-direction:column;height:100%;gap:1.25rem}.form-group{flex-shrink:0}.form-group input,.form-group textarea{font-size:16px}.form-actions{flex-direction:column;margin-top:auto;padding-top:1.25rem;position:sticky;bottom:0;background:#fff}.btn-secondary,.btn-primary,.btn-chat{width:100%;padding:.875rem 1.25rem;font-size:1rem}}.welcome-popup{max-width:1000px;width:90%}.welcome-popup-content{display:flex;flex-direction:column;align-items:center;padding:0}.start-learning-button{width:100%;max-width:400px;padding:16px 32px;font-size:18px;font-weight:600;color:#fff;background:#000;border:none;border-radius:8px;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 12px #0003}.start-learning-button:hover{transform:translateY(-2px);box-shadow:0 6px 20px #0000004d;background:#1a1a1a}.start-learning-button:active{transform:translateY(0);box-shadow:0 2px 8px #0003}@media (max-width: 768px){.welcome-popup{max-width:95%}.video-container iframe{height:250px}.start-learning-button{font-size:16px;padding:14px 28px}}.chat-layout{display:flex;flex-direction:column;height:var(--app-height, 100%);width:100%;background:var(--bg);overflow:hidden;position:relative;touch-action:pan-y}.main-container{flex:1;display:flex;height:100%;min-height:0;width:100%;overflow:hidden;background:inherit;margin-top:0;position:relative;touch-action:pan-y}.auth-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100vh;background:var(--bg);color:var(--text-muted)}.loading-spinner{font-size:32px;color:var(--accent-color);margin-bottom:16px;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.button{background:transparent;border:1px solid var(--border-color);color:var(--text-secondary);padding:8px 16px;border-radius:var(--border-radius-small);font-size:14px;cursor:pointer;transition:var(--transition);display:inline-flex;align-items:center;gap:8px;white-space:nowrap}.button:hover{background:var(--surface-bg);border-color:var(--accent-color);color:var(--text-primary)}.button.primary{background:var(--text);border:2px solid var(--text);color:#fff}.button.primary:hover{background:var(--text-muted);border-color:var(--text-muted)}.drawer-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;z-index:99;opacity:0;visibility:hidden;transition:opacity .3s ease,visibility .3s ease}.drawer-overlay.active{opacity:1;visibility:visible}@media (max-width: 768px){.main-container{margin-top:60px;height:calc(var(--app-height, 100vh) - 60px);max-height:calc(var(--app-height, 100vh) - 60px)}.hamburger-btn{display:flex!important}}*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.collapse{visibility:collapse}.fixed{position:fixed}.block{display:block}.inline{display:inline}.table{display:table}.hidden{display:none}.resize{resize:both}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}:root{--app-height: 100%;--bg: #ffffff;--surface: #f8f9fa;--text: hsl(222.2 47.4% 11.2%);--accent: #6b7280;--border: hsl(214.3 31.8% 91.4%);--border-light: hsl(214.3 31.8% 85%);--shadow: rgba(0, 0, 0, .1);--primary-bg: #ffffff;--secondary-bg: #f8f9fa;--surface-bg: hsl(210 40% 96%);--surface-bg-rgb: 245, 248, 250;--surface-bg-elevated: hsl(210 40% 94%);--surface-bg-hover: hsl(210 40% 92%);--accent-color: #6b7280;--accent-color-hover: #4b5563;--accent-hover: #4b5563;--accent-muted: #9ca3af;--link-color: #6b7280;--link-hover: #4b5563;--text-primary: hsl(222.2 47.4% 11.2%);--text-secondary: hsl(222.2 47.4% 11.2%);--text-muted: hsl(215.4 16.3% 46.9%);--text-dim: hsl(215.4 16.3% 56.9%);--border-color: hsl(214.3 31.8% 91.4%);--border-color-light: hsl(214.3 31.8% 85%);--success-color: #22c55e;--warning-color: #f59e0b;--error-color: #ef4444;--info-color: #6b7280;--shadow-light: 0 1px 3px rgba(0, 0, 0, .1), 0 1px 2px rgba(0, 0, 0, .06);--shadow-medium: 0 4px 6px rgba(0, 0, 0, .1), 0 2px 4px rgba(0, 0, 0, .06);--shadow-heavy: 0 10px 25px rgba(0, 0, 0, .1), 0 6px 6px rgba(0, 0, 0, .06);--border-radius: 12px;--border-radius-small: 6px;--transition: all .2s cubic-bezier(.4, 0, .2, 1)}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:#f1f5f9}::-webkit-scrollbar-thumb{background:#64748b;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#0f172a}*{box-sizing:border-box}html{margin:0;padding:0;width:100%;height:100%;overflow-x:hidden;background:var(--bg);-webkit-text-size-adjust:100%}body{margin:0;padding:0;background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;font-size:15px;line-height:1.5;height:var(--app-height, 100vh);min-height:var(--app-height, 100vh);max-height:var(--app-height, 100vh);width:100%;overflow:hidden;display:flex;flex-direction:column;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;touch-action:pan-y;overscroll-behavior:none;-webkit-overflow-scrolling:touch}#root{flex:1;display:flex;flex-direction:column;position:relative;width:100%;height:100%;min-height:0;background:inherit;overflow:hidden}
