:root{--color-primary-gradient-start: #667eea;--color-primary-gradient-end: #764ba2;--color-primary: #667eea;--color-primary-dark: #5a6fd8;--color-primary-light: #7d91f7;--color-primary-alpha-10: rgba(102, 126, 234, .1);--color-primary-alpha-20: rgba(102, 126, 234, .2);--color-primary-alpha-40: rgba(102, 126, 234, .4);--color-secondary: #4CAF50;--color-secondary-dark: #45a049;--color-secondary-light: #66bb6a;--color-white: #ffffff;--color-gray-50: #fafafa;--color-gray-100: #f5f5f5;--color-gray-200: #eeeeee;--color-gray-300: #e0e0e0;--color-gray-400: #bdbdbd;--color-gray-500: #9e9e9e;--color-gray-600: #757575;--color-gray-700: #616161;--color-gray-800: #424242;--color-gray-900: #212121;--color-dark-bg: #0f0f0f;--color-dark-surface-1: #1a1a1a;--color-dark-surface-2: #252525;--color-dark-surface-3: #303030;--color-dark-border: rgba(255, 255, 255, .06);--color-dark-border-hover: rgba(255, 255, 255, .12);--color-dark-text-primary: #e8e8e8;--color-dark-text-secondary: #a0a0a0;--color-dark-text-tertiary: #707070;--color-success: #4CAF50;--color-success-bg: #e8f5e9;--color-warning: #ff9800;--color-warning-bg: #fff3e0;--color-error: #f44336;--color-error-bg: #ffebee;--color-info: #2196f3;--color-info-bg: #e3f2fd;--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--font-size-2xl: 1.5rem;--font-size-3xl: 1.875rem;--font-size-4xl: 2.25rem;--font-size-5xl: 3rem;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--line-height-tight: 1.25;--line-height-normal: 1.5;--line-height-relaxed: 1.75;--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--spacing-2xl: 3rem;--spacing-3xl: 4rem;--radius-sm: .375rem;--radius-md: .5rem;--radius-lg: .75rem;--radius-xl: 1rem;--radius-2xl: 1.5rem;--radius-full: 9999px;--shadow-xs: 0 1px 2px rgba(0, 0, 0, .08);--shadow-sm: 0 2px 8px rgba(0, 0, 0, .12);--shadow-md: 0 4px 16px rgba(0, 0, 0, .16);--shadow-lg: 0 8px 24px rgba(0, 0, 0, .2);--shadow-xl: 0 12px 32px rgba(0, 0, 0, .24);--shadow-2xl: 0 20px 48px rgba(0, 0, 0, .28);--glass-bg: rgba(255, 255, 255, .05);--glass-border: rgba(255, 255, 255, .1);--glass-blur: blur(10px);--transition-fast: .15s cubic-bezier(.4, 0, .2, 1);--transition-base: .2s cubic-bezier(.4, 0, .2, 1);--transition-slow: .3s cubic-bezier(.4, 0, .2, 1);--transition-slower: .5s cubic-bezier(.4, 0, .2, 1);--z-index-dropdown: 1000;--z-index-sticky: 1020;--z-index-fixed: 1030;--z-index-modal-backdrop: 1040;--z-index-modal: 1050;--z-index-popover: 1060;--z-index-tooltip: 1070}*{box-sizing:border-box}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:var(--font-size-base);line-height:var(--line-height-normal)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--color-gray-400);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--color-gray-500)}.dark ::-webkit-scrollbar-thumb{background:var(--color-dark-surface-3)}.dark ::-webkit-scrollbar-thumb:hover{background:var(--color-gray-600)}*{box-sizing:border-box;margin:0;padding:0}.App{min-height:100vh;background:#000;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:#f1f1f1;border-radius:4px}::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#a1a1a1}.loading-screen{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100vh;width:100%;color:#fff}.loading-spinner{width:40px;height:40px;border:3px solid #2d2d2d;border-top:3px solid #667eea;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:16px}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.loading-screen p{color:#ccc;font-size:16px}@media(max-width:768px){.App{background:#000}}.auth-page{min-height:100vh;background:var(--color-dark-bg);display:flex;align-items:center;justify-content:center;padding:var(--spacing-xl);position:relative}.language-toggle-container{position:absolute;top:var(--spacing-lg);right:var(--spacing-lg);z-index:10}.auth-container{background:var(--color-dark-surface-1);border:1px solid var(--color-dark-border);border-radius:var(--radius-2xl);padding:var(--spacing-3xl);max-width:420px;width:100%;box-shadow:var(--shadow-xl)}.auth-header{text-align:center;margin-bottom:var(--spacing-2xl)}.auth-header .header-icon{display:inline-block;margin-right:var(--spacing-sm);vertical-align:middle}.auth-header h1{font-size:var(--font-size-3xl);color:var(--color-dark-text-primary);margin-bottom:var(--spacing-md);font-weight:var(--font-weight-bold)}.auth-header h2{font-size:var(--font-size-2xl);color:var(--color-dark-text-primary);margin-bottom:var(--spacing-sm);font-weight:var(--font-weight-semibold)}.auth-header p{color:var(--color-dark-text-secondary);font-size:var(--font-size-sm)}.auth-form{margin-bottom:var(--spacing-xl)}.form-group{margin-bottom:var(--spacing-lg)}.form-group label{display:block;color:var(--color-dark-text-primary);margin-bottom:var(--spacing-sm);font-weight:var(--font-weight-medium);font-size:var(--font-size-sm)}.input-wrapper{position:relative;display:flex;align-items:center}.input-icon{position:absolute;left:var(--spacing-md);color:var(--color-dark-text-tertiary);font-size:var(--font-size-lg);pointer-events:none}.input-wrapper input{width:100%;padding:var(--spacing-md) var(--spacing-md) var(--spacing-md) 44px;border:1px solid var(--color-dark-border);border-radius:var(--radius-xl);background:var(--color-dark-surface-2);color:var(--color-dark-text-primary);font-size:var(--font-size-base);transition:all var(--transition-base);outline:none}.input-wrapper input:focus{border-color:var(--color-dark-border-hover);background:var(--color-dark-surface-3)}.input-wrapper input::placeholder{color:var(--color-dark-text-tertiary)}.error-message{background:#f443361a;border:1px solid var(--color-error);color:var(--color-error);padding:var(--spacing-md);border-radius:var(--radius-lg);margin-bottom:var(--spacing-lg);font-size:var(--font-size-sm);text-align:center}.auth-btn{width:100%;padding:var(--spacing-md);border:none;border-radius:var(--radius-xl);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);cursor:pointer;transition:all var(--transition-base);display:flex;align-items:center;justify-content:center;gap:var(--spacing-sm)}.auth-btn:disabled{opacity:.5;cursor:not-allowed}.auth-btn.primary{background:var(--color-white);color:var(--color-dark-bg);margin-bottom:var(--spacing-lg)}.auth-btn.primary:hover:not(:disabled){background:var(--color-gray-200);transform:translateY(-2px)}.auth-btn.primary:active:not(:disabled){transform:translateY(0) scale(.98)}.auth-btn.google{background:transparent;color:var(--color-dark-text-primary);border:1px solid var(--color-dark-border)}.auth-btn.google:hover:not(:disabled){background:var(--color-dark-surface-2)}.auth-btn.google:active:not(:disabled){transform:scale(.98)}.google-icon{font-size:var(--font-size-xl)}.divider{text-align:center;margin:var(--spacing-lg) 0;position:relative}.divider:before{content:"";position:absolute;top:50%;left:0;right:0;height:1px;background:var(--color-dark-border)}.divider span{background:var(--color-dark-surface-1);color:var(--color-dark-text-tertiary);padding:0 var(--spacing-md);font-size:var(--font-size-sm);position:relative}.auth-footer{text-align:center;color:var(--color-dark-text-secondary);font-size:var(--font-size-sm)}.link-btn{background:none;border:none;color:var(--color-white);cursor:pointer;font-weight:var(--font-weight-semibold);text-decoration:underline;font-size:inherit;transition:color var(--transition-base)}.link-btn:hover{color:var(--color-gray-200)}@media(max-width:480px){.auth-page{padding:var(--spacing-lg)}.auth-container{padding:var(--spacing-xl)}.auth-header h1{font-size:var(--font-size-2xl)}.auth-header h2{font-size:var(--font-size-xl)}}.language-toggle{display:flex;background:var(--color-dark-surface-2);border:1px solid var(--color-dark-border);border-radius:var(--radius-full);padding:var(--spacing-xs);gap:var(--spacing-xs)}.lang-btn{background:none;border:none;padding:var(--spacing-xs) var(--spacing-md);border-radius:var(--radius-full);cursor:pointer;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);transition:all var(--transition-base);color:var(--color-dark-text-secondary)}.lang-btn:hover{background:var(--color-dark-surface-3);color:var(--color-dark-text-primary)}.lang-btn.active{background:var(--color-white);color:var(--color-dark-bg)}.lang-btn.active:hover{background:var(--color-gray-200)}@media(max-width:768px){.lang-btn{padding:var(--spacing-xs) var(--spacing-sm);font-size:var(--font-size-xs)}}.chat-layout{display:flex;height:100vh;background:var(--color-dark-bg)}.main-content{flex:1;margin-left:280px;transition:margin-left var(--transition-slow);display:flex;flex-direction:column;min-height:100vh}.chat-layout .sidebar.collapsed+.main-content{margin-left:70px}.home-wrapper{flex:1;overflow-y:auto;padding:20px}.home-wrapper .home-page{max-width:900px;margin:0 auto;background:transparent}.home-wrapper .user-bar{display:flex;justify-content:flex-end;margin-bottom:20px;background:transparent;padding:0;border:none}.home-wrapper .user-info{display:none}.home-wrapper .user-actions{display:flex}.home-wrapper .sign-out-btn{display:none}.home-wrapper .home-header h1{font-size:2rem;margin-bottom:20px}.home-wrapper .home-header p{margin-bottom:30px}.main-content .chat-interface{height:100vh;display:flex;flex-direction:column}.main-content .chat-header{padding:16px 24px;border-bottom:1px solid #2d2d2d;background:#171717}.main-content .chat-messages{flex:1;background:#000}.main-content .chat-input-container{background:#000;border-top:1px solid #2d2d2d}@media(max-width:768px){.main-content{margin-left:0;width:100%}.chat-layout .sidebar.collapsed+.main-content{margin-left:0}.home-wrapper{padding:15px}.home-wrapper .home-page{max-width:none}}.sidebar{width:280px;height:100vh;background:var(--color-dark-surface-1);border-right:1px solid var(--color-dark-border);display:flex;flex-direction:column;transition:all var(--transition-slow);position:fixed;left:0;top:0;z-index:var(--z-index-fixed)}.sidebar.collapsed{width:70px}.sidebar.collapsed .sidebar-header{padding:var(--spacing-md)}.sidebar.collapsed .header-top{justify-content:center}.sidebar-header{padding:var(--spacing-xl) var(--spacing-lg);border-bottom:1px solid var(--color-dark-border);display:flex;flex-direction:column;gap:var(--spacing-lg)}.header-top{display:flex;justify-content:space-between;align-items:center;width:100%;gap:var(--spacing-sm)}.toggle-btn{background:transparent;border:none;color:var(--color-dark-text-secondary);padding:var(--spacing-sm);border-radius:var(--radius-lg);cursor:pointer;font-size:var(--font-size-base);transition:all var(--transition-base);min-width:36px;display:flex;align-items:center;justify-content:center}.toggle-btn:hover{background:var(--color-dark-surface-2);color:var(--color-dark-text-primary)}.toggle-btn:active{transform:scale(.96)}.home-btn{background:transparent;border:none;color:var(--color-dark-text-secondary);padding:var(--spacing-sm);border-radius:var(--radius-lg);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all var(--transition-base);font-size:var(--font-size-xl)}.home-btn:hover{background:var(--color-dark-surface-2);color:var(--color-dark-text-primary)}.home-btn:active{transform:scale(.96)}.new-chat-btn{background:var(--color-white);border:none;color:var(--color-dark-bg);padding:var(--spacing-md) var(--spacing-lg);border-radius:var(--radius-xl);cursor:pointer;display:flex;align-items:center;justify-content:center;gap:var(--spacing-sm);transition:all var(--transition-base);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold)}.new-chat-btn:hover{background:var(--color-gray-200);transform:translateY(-1px)}.new-chat-btn:active{transform:translateY(0) scale(.98)}.new-chat-btn .icon{font-size:var(--font-size-base)}.search-container{padding:var(--spacing-sm) var(--spacing-md) var(--spacing-md);position:relative}.search-icon{position:absolute;left:calc(var(--spacing-md) + var(--spacing-md));top:50%;transform:translateY(-50%);color:var(--color-dark-text-tertiary);font-size:var(--font-size-lg);pointer-events:none}.search-input{width:100%;background:var(--color-dark-surface-2);border:1px solid transparent;color:var(--color-dark-text-primary);padding:var(--spacing-md) 40px var(--spacing-md) 40px;border-radius:var(--radius-xl);font-size:var(--font-size-sm);outline:none;transition:all var(--transition-base)}.search-input::placeholder{color:var(--color-dark-text-tertiary)}.search-input:focus{background:var(--color-dark-surface-3);border-color:var(--color-dark-border-hover)}.clear-search-btn{position:absolute;right:calc(var(--spacing-md) + var(--spacing-sm));top:50%;transform:translateY(-50%);background:transparent;border:none;color:var(--color-dark-text-tertiary);cursor:pointer;padding:var(--spacing-xs) var(--spacing-sm);font-size:var(--font-size-base);border-radius:var(--radius-sm);transition:all var(--transition-fast);display:flex;align-items:center;justify-content:center}.clear-search-btn:hover{color:var(--color-dark-text-primary);background:var(--color-dark-surface-3);transform:translateY(-50%) scale(1.1)}.conversations-list{flex:1;overflow-y:auto;padding:var(--spacing-sm)}.no-conversations{text-align:center;color:var(--color-dark-text-tertiary);padding:var(--spacing-3xl) var(--spacing-lg)}.no-conversations p{margin:var(--spacing-sm) 0;font-size:var(--font-size-sm);line-height:var(--line-height-relaxed)}.conversation-group{margin-bottom:var(--spacing-lg)}.group-header{color:var(--color-dark-text-tertiary);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);padding:var(--spacing-sm) var(--spacing-md) var(--spacing-xs);text-transform:uppercase;letter-spacing:.08em}.conversation-item{padding:var(--spacing-md);margin:var(--spacing-xs) 0;border-radius:var(--radius-xl);cursor:pointer;transition:all var(--transition-base);display:flex;align-items:center;justify-content:space-between;position:relative;background:transparent}.conversation-item:hover,.conversation-item.active{background:var(--color-dark-surface-2)}.conversation-content{flex:1;min-width:0;overflow:hidden}.conversation-title{color:var(--color-dark-text-primary);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);margin-bottom:var(--spacing-xs);word-break:break-word;line-height:var(--line-height-tight)}.conversation-preview{color:var(--color-dark-text-secondary);font-size:var(--font-size-xs);line-height:var(--line-height-tight);opacity:.8}.delete-btn{background:transparent;border:none;color:var(--color-dark-text-tertiary);cursor:pointer;padding:var(--spacing-xs);border-radius:var(--radius-sm);opacity:0;transition:all var(--transition-fast);font-size:var(--font-size-xs);display:flex;align-items:center;justify-content:center}.conversation-item:hover .delete-btn{opacity:1}.delete-btn:hover{background:#f4433626;color:var(--color-error);transform:scale(1.1)}.delete-btn:active{transform:scale(.95)}.sidebar-footer{border-top:1px solid var(--color-dark-border);padding:var(--spacing-lg);background:transparent}.user-profile{display:flex;align-items:center;gap:var(--spacing-md);margin-bottom:var(--spacing-md);padding:var(--spacing-md);border-radius:var(--radius-lg);background:transparent;border:1px solid var(--color-dark-border);transition:all var(--transition-base)}.user-profile:hover{background:var(--color-dark-surface-2)}.user-avatar{width:40px;height:40px;border-radius:var(--radius-full);background:var(--color-dark-surface-3);display:flex;align-items:center;justify-content:center;color:var(--color-dark-text-primary);font-weight:var(--font-weight-bold);font-size:var(--font-size-base);flex-shrink:0}.user-details{flex:1;min-width:0;overflow:hidden}.user-name{color:var(--color-dark-text-primary);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);margin-bottom:var(--spacing-xs);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-email{color:var(--color-dark-text-secondary);font-size:var(--font-size-xs);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sign-out-btn{width:100%;background:transparent;border:1px solid var(--color-dark-border);color:var(--color-dark-text-secondary);padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-md);cursor:pointer;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);transition:all var(--transition-base);display:flex;align-items:center;justify-content:center;gap:var(--spacing-sm)}.sign-out-btn:hover{background:var(--color-dark-surface-2);color:var(--color-dark-text-primary)}.sign-out-btn:active{transform:scale(.98)}.conversations-list::-webkit-scrollbar{width:6px}.conversations-list::-webkit-scrollbar-track{background:transparent}.conversations-list::-webkit-scrollbar-thumb{background:var(--color-dark-surface-3);border-radius:var(--radius-full)}.conversations-list::-webkit-scrollbar-thumb:hover{background:var(--color-gray-600)}@media(max-width:768px){.sidebar{width:100%;transform:translate(-100%)}.sidebar.open{transform:translate(0)}.sidebar.collapsed{width:100%;transform:translate(-100%)}}.chat-interface{display:flex;flex-direction:column;height:100vh;background:var(--color-dark-bg)}.chat-header{background:var(--color-dark-surface-1);padding:var(--spacing-lg) var(--spacing-xl);border-bottom:1px solid var(--color-dark-border);display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:var(--z-index-sticky)}.back-btn{background:transparent;border:1px solid var(--color-dark-border);color:var(--color-dark-text-secondary);cursor:pointer;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-md);transition:all var(--transition-base);display:flex;align-items:center;gap:var(--spacing-xs)}.back-btn:hover{background:var(--color-dark-surface-2);color:var(--color-dark-text-primary)}.chat-title{display:flex;align-items:center;gap:var(--spacing-md)}.chat-title h2{margin:0;color:var(--color-dark-text-primary);font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold)}.week-badge{background:transparent;color:var(--color-dark-text-tertiary);padding:var(--spacing-xs) var(--spacing-md);border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);border:1px solid var(--color-dark-border)}.question-progress{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:4px 12px;border-radius:20px;font-size:.75rem;font-weight:600}.chat-messages{flex:1;overflow-y:auto;padding:var(--spacing-xl);display:flex;flex-direction:column;gap:var(--spacing-lg)}.loading-message{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-lg);background:#667eea26;border:1px solid rgba(102,126,234,.3);border-radius:var(--radius-2xl);margin-left:0;margin-right:auto;max-width:70%;animation:fadeIn var(--transition-slow);color:#e0e0e0;font-weight:500}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.typing-indicator{display:flex;gap:var(--spacing-xs)}.typing-indicator span{width:10px;height:10px;border-radius:var(--radius-full);background:#667eea;animation:typing 1.4s infinite ease-in-out}.typing-indicator span:nth-child(1){animation-delay:-.32s}.typing-indicator span:nth-child(2){animation-delay:-.16s}@keyframes typing{0%,80%,to{transform:scale(.6);opacity:.5}40%{transform:scale(1);opacity:1}}.chat-input-container{background:var(--color-dark-surface-1);padding:var(--spacing-lg) var(--spacing-xl);border-top:1px solid var(--color-dark-border)}.chat-input{display:flex;gap:var(--spacing-md);align-items:flex-end;max-width:1200px;margin:0 auto}.chat-input textarea{flex:1;min-height:52px;max-height:120px;padding:var(--spacing-md) var(--spacing-lg);border:1px solid var(--color-dark-border);border-radius:var(--radius-2xl);resize:none;font-family:inherit;font-size:var(--font-size-base);outline:none;transition:all var(--transition-base);overflow-y:hidden;line-height:var(--line-height-normal);background:var(--color-dark-surface-2);color:var(--color-dark-text-primary)}.chat-input textarea::-webkit-scrollbar{width:6px}.chat-input textarea::-webkit-scrollbar-track{background:transparent}.chat-input textarea::-webkit-scrollbar-thumb{background:var(--color-dark-surface-3);border-radius:var(--radius-full)}.chat-input textarea::-webkit-scrollbar-thumb:hover{background:var(--color-gray-600)}.chat-input textarea::placeholder{color:var(--color-dark-text-tertiary)}.chat-input textarea:focus{border-color:var(--color-dark-border-hover);background:var(--color-dark-surface-3)}.chat-input textarea:disabled{background:var(--color-dark-surface-1);color:var(--color-dark-text-tertiary);opacity:.6}.send-btn{background:var(--color-white);color:var(--color-dark-bg);border:none;padding:var(--spacing-md);border-radius:var(--radius-2xl);cursor:pointer;font-weight:var(--font-weight-semibold);font-size:var(--font-size-xl);transition:all var(--transition-base);min-width:52px;min-height:52px;display:flex;align-items:center;justify-content:center}.send-btn:hover:not(:disabled){background:var(--color-gray-200)}.send-btn:active:not(:disabled){transform:scale(.98)}.send-btn:disabled{background:var(--color-dark-surface-3);color:var(--color-dark-text-tertiary);cursor:not-allowed;opacity:.5}.input-help{margin-top:var(--spacing-sm);text-align:center;color:var(--color-dark-text-tertiary);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium)}.question-navigation{display:flex;gap:12px;width:100%;margin-top:12px}.previous-question-btn{display:flex;align-items:center;justify-content:center;gap:8px;flex:1;padding:14px 24px;background:linear-gradient(135deg,#6b7280,#4b5563);border:none;border-radius:12px;color:#fff;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease}.previous-question-btn:hover{transform:translateY(-2px);box-shadow:0 6px 20px #6b728066}.previous-question-btn:active{transform:translateY(0)}.next-question-btn{display:flex;align-items:center;justify-content:center;gap:8px;flex:1;padding:14px 24px;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:12px;color:#fff;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease}.next-question-btn:hover{transform:translateY(-2px);box-shadow:0 6px 20px #667eea66}.next-question-btn:active{transform:translateY(0)}.complete-chapter-btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;margin-top:12px;padding:14px 24px;background:linear-gradient(135deg,#10b981,#059669);border:none;border-radius:12px;color:#fff;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease}.complete-chapter-btn:hover{transform:translateY(-2px);box-shadow:0 6px 20px #10b98166}.chapter-complete-section{margin-top:16px;padding:24px;background:linear-gradient(135deg,#10b9811a,#0596691a);border:1px solid rgba(16,185,129,.3);border-radius:16px}.chapter-complete-message{text-align:center;margin-bottom:20px}.chapter-complete-message .complete-icon{font-size:3rem;color:#10b981;margin-bottom:12px}.chapter-complete-message h3{color:#10b981;font-size:1.3rem;margin:0 0 8px}.chapter-complete-message p{color:#9ca3af;font-size:.9rem;margin:0}.chapter-complete-actions{display:flex;flex-direction:column;gap:12px}.next-chapter-btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:14px 24px;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:12px;color:#fff;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease}.next-chapter-btn:hover{transform:translateY(-2px);box-shadow:0 6px 20px #667eea66}.go-home-btn{display:flex;align-items:center;justify-content:center;width:100%;padding:12px 24px;background:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:12px;color:#9ca3af;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s ease}.go-home-btn:hover{background:#ffffff26;color:#fff}.quiz-review-btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:12px 24px;background:#667eea26;border:1px solid rgba(102,126,234,.35);border-radius:12px;color:#a5b4fc;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s ease}.quiz-review-btn:hover{background:#667eea47;color:#fff;transform:translateY(-2px)}.all-complete-message{text-align:center;color:#10b981;font-size:1rem;font-weight:600;padding:12px;background:#10b9811a;border-radius:8px;margin:0}.attachment-menu-container{position:relative;flex-shrink:0}.plus-btn{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border:1px solid var(--color-dark-border);background:var(--color-dark-surface-2);color:var(--color-dark-text-secondary);border-radius:var(--radius-full);cursor:pointer;transition:all var(--transition-base);font-size:var(--font-size-xl)}.plus-btn:hover{background:var(--color-dark-surface-3);color:var(--color-dark-text-primary)}.plus-btn.active{background:var(--color-dark-surface-3);color:var(--color-primary);transform:rotate(45deg)}.plus-btn:active{transform:scale(.95)}.plus-btn.active:active{transform:rotate(45deg) scale(.95)}.attachment-dropdown{position:absolute;bottom:calc(100% + 8px);left:0;background:var(--color-dark-surface-2);border:1px solid var(--color-dark-border);border-radius:var(--radius-lg);padding:var(--spacing-xs);min-width:160px;box-shadow:0 4px 20px #0000004d;animation:dropdownFadeIn .15s ease;z-index:100}@keyframes dropdownFadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.dropdown-item{display:flex;align-items:center;gap:var(--spacing-sm);width:100%;padding:var(--spacing-sm) var(--spacing-md);border:none;background:transparent;color:var(--color-dark-text-secondary);font-size:var(--font-size-sm);cursor:pointer;border-radius:var(--radius-md);transition:all var(--transition-base);text-align:left}.dropdown-item:hover{background:var(--color-dark-surface-3);color:var(--color-dark-text-primary)}.dropdown-item svg{font-size:var(--font-size-lg);color:var(--color-primary)}.attached-items{display:flex;flex-wrap:wrap;gap:var(--spacing-xs);margin-bottom:var(--spacing-sm);max-width:1200px;margin-left:auto;margin-right:auto}.attached-item{display:inline-flex;align-items:center;gap:var(--spacing-xs);padding:6px 12px;background:var(--color-dark-surface-2);border:1px solid var(--color-dark-border);border-radius:var(--radius-full);font-size:var(--font-size-sm);color:var(--color-dark-text-secondary)}.attached-item svg{flex-shrink:0;font-size:var(--font-size-lg);color:var(--color-primary)}.attached-item-text{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.remove-attachment{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border:none;background:transparent;color:var(--color-dark-text-tertiary);cursor:pointer;border-radius:var(--radius-sm);transition:all var(--transition-base)}.remove-attachment:hover{background:var(--color-dark-surface-3);color:var(--color-error)}@media(max-width:768px){.chat-header{padding:12px 16px}.chat-title h2{font-size:1.1rem}.chat-messages{padding:16px}.chat-input-container{padding:12px 16px}.chat-input{gap:8px}.send-btn{padding:12px 16px;min-width:60px;font-size:.9rem}}.conversation-full-banner{margin:8px 0 4px;padding:10px 14px;background-color:#fff3cd;color:#856404;border:1px solid #ffc107;border-radius:8px;font-size:.85rem;text-align:center}.message-bubble{display:flex;gap:var(--spacing-md);max-width:75%;margin-bottom:var(--spacing-lg);animation:slideIn var(--transition-slow)}@keyframes slideIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.user-message{flex-direction:row-reverse;margin-left:auto;margin-right:0}.bot-message{margin-left:0;margin-right:auto}.message-avatar{width:44px;height:44px;border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;font-size:var(--font-size-xl);flex-shrink:0}.user-avatar,.bot-avatar{background:var(--color-dark-surface-3);color:var(--color-dark-text-primary)}.message-content{flex:1;min-width:0}.message-text{padding:var(--spacing-lg) var(--spacing-xl);border-radius:var(--radius-2xl);line-height:1.6;word-wrap:break-word;white-space:normal;transition:all var(--transition-base);overflow:visible}.user-message .message-text{background:var(--color-white);color:var(--color-dark-bg)}.bot-message .message-text{background:var(--color-dark-surface-2);border:1px solid var(--color-dark-border);color:var(--color-dark-text-primary)}.error-message{background:#f443361a!important;border:2px solid var(--color-error)!important;color:var(--color-error)!important}.message-text strong{font-weight:var(--font-weight-bold)}.message-text em{font-style:italic}.message-text code{background:var(--color-dark-surface-3);color:var(--color-primary-light);padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-sm);font-family:Monaco,Menlo,Ubuntu Mono,Consolas,monospace;font-size:var(--font-size-sm);border:1px solid var(--color-dark-border)}.user-message .message-text code{background:var(--color-gray-200);border-color:var(--color-gray-300);color:var(--color-dark-bg)}.message-text pre{margin:1em 0;border-radius:var(--radius-lg);overflow-x:auto;max-width:100%}.message-text pre:first-child{margin-top:0}.message-text pre:last-child{margin-bottom:0}.message-text pre>div{margin:0!important;border-radius:var(--radius-lg)!important;max-width:100%}.message-text pre code{white-space:pre-wrap!important;word-break:break-word!important;overflow-wrap:break-word!important}.copy-code-btn{position:absolute;top:8px;right:8px;background:#ffffff1a;border:1px solid rgba(255,255,255,.2);color:#fff;padding:4px 8px;border-radius:4px;cursor:pointer;font-size:.8rem;transition:all .2s;z-index:1}.copy-code-btn:hover{background:#fff3;border-color:#ffffff4d}.copy-code-btn:active{transform:scale(.95)}.message-text p{margin:.8em 0;line-height:1.7}.message-text p:first-child{margin-top:0}.message-text p:last-child{margin-bottom:0}.message-text h1,.message-text h2,.message-text h3{margin:1.5em 0 .8em;font-weight:600;line-height:1.4}.message-text h1:first-child,.message-text h2:first-child,.message-text h3:first-child{margin-top:0}.message-text h1{font-size:1.5em}.message-text h2{font-size:1.3em}.message-text h3{font-size:1.1em}.message-text ul,.message-text ol{margin:.8em 0;padding-left:24px;line-height:1.7}.message-text li{margin:.4em 0}.message-text li:first-child{margin-top:0}.message-text li:last-child{margin-bottom:0}.message-text blockquote{border-left:3px solid var(--color-dark-border);padding-left:12px;margin:1em 0;color:var(--color-dark-text-secondary);font-style:italic}.message-text blockquote:first-child{margin-top:0}.message-text blockquote:last-child{margin-bottom:0}.user-message .message-text blockquote{border-left-color:var(--color-gray-300);color:var(--color-gray-600)}.message-text table{border-collapse:collapse;width:100%;margin:1em 0}.message-text table:first-child{margin-top:0}.message-text table:last-child{margin-bottom:0}.message-text th,.message-text td{border:1px solid var(--color-dark-border);padding:8px 12px;text-align:left}.message-text th{background:var(--color-dark-surface-3);font-weight:600}.user-message .message-text th,.user-message .message-text td{border-color:var(--color-gray-300)}.user-message .message-text th{background:var(--color-gray-100)}.message-text a{color:var(--color-primary);text-decoration:underline;transition:color var(--transition-base)}.message-text a:hover{color:var(--color-primary-light)}.user-message .message-text a{color:var(--color-primary-dark)}.user-message .message-text a:hover{color:var(--color-primary)}.message-footer{display:flex;align-items:center;gap:var(--spacing-sm);margin-top:var(--spacing-md);flex-wrap:wrap}.sources-toggle{background:transparent;border:none;padding:0;cursor:pointer;display:inline-flex;align-items:center;gap:4px;color:var(--color-dark-text-tertiary);font-size:.8rem;transition:all var(--transition-base)}.sources-toggle:hover{color:var(--color-dark-text-primary)}.sources-toggle-text{font-weight:var(--font-weight-medium)}.arrow{transition:transform .2s;font-size:.75rem}.arrow.up{transform:rotate(90deg)}.arrow.down{transform:rotate(0)}.confidence-badge{padding:2px 8px;border-radius:var(--radius-full);font-size:.75rem;font-weight:var(--font-weight-semibold)}.confidence-badge.high{background:#4caf5026;color:#4caf50}.confidence-badge.medium{background:#ff980026;color:#ff9800}.confidence-badge.low{background:#9e9e9e26;color:#9e9e9e}.action-btn{background:transparent;border:none;color:var(--color-dark-text-tertiary);cursor:pointer;padding:4px;display:inline-flex;align-items:center;justify-content:center;font-size:1rem;transition:all var(--transition-base);border-radius:var(--radius-sm)}.action-btn:hover{color:var(--color-dark-text-primary);background:var(--color-dark-surface-2)}.action-btn:active{transform:scale(.95)}.action-btn-saved{color:#667eea!important}.message-time{color:var(--color-dark-text-tertiary);font-size:.75rem;margin-left:auto}.user-message .message-time{margin-left:0;margin-right:auto}.sources-list{margin-top:var(--spacing-sm);display:flex;flex-wrap:wrap;gap:6px}.source-item{display:inline-flex;align-items:center;padding:4px 10px;background:var(--color-dark-surface-2);border:1px solid var(--color-dark-border);border-radius:var(--radius-full);text-decoration:none;transition:all var(--transition-base)}.source-item:hover{background:var(--color-dark-surface-3);border-color:var(--color-primary)}.source-title{color:var(--color-dark-text-secondary);font-size:.75rem;font-weight:var(--font-weight-medium);max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.source-item:hover .source-title{color:var(--color-primary-light)}@media(max-width:768px){.message-bubble{max-width:90%;gap:8px}.message-avatar{width:32px;height:32px;font-size:1rem}.message-text{padding:10px 12px;font-size:.9rem}.confidence-indicator{padding:6px 8px;font-size:.8rem}.source-meta{flex-direction:column;gap:4px}}.home-page{max-width:1200px;margin:0 auto;padding:var(--spacing-xl);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background-color:var(--color-dark-bg);min-height:100vh}.home-header{text-align:center;margin-bottom:16px}.header-icon{display:inline-block;margin-right:var(--spacing-md);vertical-align:middle}.section-icon{display:inline-block;margin-right:var(--spacing-sm);vertical-align:middle}.user-bar{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px;padding:15px 20px;background:#ffffff0d;border-radius:15px;border:1px solid rgba(255,255,255,.1)}.user-info{display:flex;flex-direction:column;align-items:flex-start}.user-greeting{color:#fff;font-weight:600;font-size:1.1rem;margin-bottom:4px}.user-email{color:#ccc;font-size:.9rem}.user-actions{display:flex;align-items:center;gap:12px}.home-page .language-toggle{background:#ffffff1a;border:1px solid rgba(255,255,255,.2)}.home-page .lang-btn{color:#fff}.home-page .lang-btn:hover{background:#ffffff26;color:#fff}.home-page .lang-btn.active{background:var(--color-white);color:var(--color-dark-bg)}.home-page .lang-btn.active:hover{background:var(--color-gray-200)}.sign-out-btn{background:#ffffff1a;color:#fff;border:1px solid rgba(255,255,255,.2);padding:8px 16px;border-radius:8px;font-size:.9rem;cursor:pointer;transition:all .2s ease}.sign-out-btn:hover{background:#ffffff26;border-color:#ffffff4d}.home-header h1{font-size:2.5rem;color:#fff;margin-bottom:10px}.home-header p{font-size:1.2rem;color:#ccc;margin-bottom:30px}.header-buttons{display:flex;justify-content:center;gap:12px;flex-wrap:wrap}.continue-learning-btn{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;padding:14px 28px;border-radius:30px;font-size:1.1rem;font-weight:600;cursor:pointer;transition:all .2s ease;display:inline-flex;align-items:center;gap:10px}.continue-learning-btn:hover{transform:translateY(-2px);box-shadow:0 8px 20px #667eea66}.continue-btn-text{display:flex;flex-direction:column;align-items:flex-start;gap:2px}.continue-btn-main{font-size:1.1rem;font-weight:600}.continue-btn-position{font-size:.75rem;font-weight:400;opacity:.85}.start-beginning-btn{background:#ffffff1a;color:#fff;border:1px solid rgba(255,255,255,.2);padding:14px 28px;border-radius:30px;font-size:1.1rem;font-weight:600;cursor:pointer;transition:all .2s ease;display:inline-flex;align-items:center;gap:8px}.start-beginning-btn:hover{background:#ffffff26;transform:translateY(-2px)}.new-chat-btn{background:var(--color-white);color:var(--color-dark-bg);border:none;padding:var(--spacing-md) var(--spacing-xl);border-radius:var(--radius-full);font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);cursor:pointer;transition:all var(--transition-base);display:inline-flex;align-items:center;gap:var(--spacing-sm)}.new-chat-btn:hover{background:var(--color-gray-200);transform:translateY(-2px)}.quiz-mode-btn{background:#667eea26;color:#a5b4fc;border:1px solid rgba(102,126,234,.35);padding:var(--spacing-md) var(--spacing-xl);border-radius:var(--radius-full);font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);cursor:pointer;transition:all var(--transition-base);display:inline-flex;align-items:center;gap:var(--spacing-sm)}.quiz-mode-btn:hover{background:#667eea47;color:#fff;transform:translateY(-2px)}.curriculum-section{margin-bottom:40px}.curriculum-section h2{color:#fff;margin-bottom:8px;font-size:1.8rem}.curriculum-subtitle{color:#aaa;font-size:1rem;margin-bottom:24px}.curriculum-parts{display:flex;flex-direction:column;gap:12px}.part-container{background:#ffffff08;border-radius:12px;overflow:hidden}.part-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;background:#ffffff0d;border-left:4px solid #ccc;cursor:pointer;transition:all .2s ease}.part-header:hover{background:#ffffff14}.part-header.expanded{background:#ffffff1a}.part-header-content{display:flex;align-items:center;gap:16px}.part-badge{padding:6px 12px;border-radius:20px;font-size:.85rem;font-weight:600;color:#fff}.part-info h3{color:#fff;margin:0 0 4px;font-size:1.1rem}.part-meta{color:#999;font-size:.85rem}.expand-icon{color:#888;font-size:1.2rem;display:flex;align-items:center}.chapters-list{padding:8px 16px 16px;display:flex;flex-direction:column;gap:8px}.chapter-container{background:#ffffff0d;border-radius:8px;overflow:hidden}.chapter-header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;cursor:pointer;transition:all .2s ease}.chapter-header:hover{background:#ffffff0d}.chapter-header.expanded{background:#ffffff14;border-bottom:1px solid rgba(255,255,255,.1)}.chapter-info{display:flex;align-items:center;gap:12px}.chapter-number{color:#888;font-size:.8rem;font-weight:600;min-width:40px;display:flex;align-items:center;gap:4px}.chapter-complete-icon{color:#10b981;font-size:1rem}.chapter-header.completed{border-left:3px solid #10b981}.chapter-header.completed .chapter-title{color:#10b981}.chapter-title{color:#ddd;font-size:.95rem}.chapter-meta{display:flex;align-items:center;gap:12px}.question-count{color:#777;font-size:.8rem}.start-chapter-btn{display:flex;align-items:center;gap:4px;padding:6px 12px;border:none;border-radius:16px;font-size:.75rem;font-weight:600;color:#fff;cursor:pointer;transition:all .2s ease}.start-chapter-btn:hover{opacity:.9;transform:scale(1.05)}.questions-list{padding:12px 16px;display:flex;flex-direction:column;gap:8px}.question-btn{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;background:#ffffff08;border:1px solid rgba(255,255,255,.1);border-radius:8px;cursor:pointer;transition:all .2s ease;text-align:left;width:100%}.question-content{display:flex;align-items:center;gap:12px;flex-grow:1}.question-btn:hover{background:#ffffff14;border-color:#fff3;transform:translate(4px)}.question-btn.completed{background:#10b9811a;border-color:#10b9814d}.question-btn.completed .question-text{color:#10b981}.question-complete-icon{color:#10b981;font-size:1rem}.question-id{color:#667eea;font-size:.75rem;font-weight:600;min-width:32px;padding:2px 6px;background:#667eea26;border-radius:4px}.question-text{color:#ccc;font-size:.9rem;line-height:1.4}.dashboard-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:32px}.progress-card{background:#ffffff0d;border-radius:16px;padding:24px;border:1px solid rgba(255,255,255,.1)}.progress-header{display:flex;align-items:center;gap:8px;margin-bottom:20px}.progress-header h3{color:#fff;font-size:1.1rem;margin:0}.progress-ring-container{position:relative;width:120px;height:120px;margin:0 auto 20px}.progress-ring{transform:rotate(-90deg);width:100%;height:100%}.progress-ring-bg{fill:none;stroke:#ffffff1a;stroke-width:8}.progress-ring-fill{fill:none;stroke:#667eea;stroke-width:8;stroke-linecap:round;transition:stroke-dasharray .5s ease}.progress-text{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);text-align:center}.progress-percent{display:block;color:#fff;font-size:1.5rem;font-weight:700}.progress-label{display:block;color:#888;font-size:.8rem}.part-progress-list{display:flex;flex-direction:column;gap:12px}.part-progress-item{display:flex;align-items:center;gap:12px}.part-progress-name{font-size:.8rem;font-weight:600;min-width:50px}.part-progress-bar{flex:1;height:6px;background:#ffffff1a;border-radius:3px;overflow:hidden}.part-progress-fill{height:100%;border-radius:3px;transition:width .3s ease}.part-progress-text{color:#888;font-size:.75rem;min-width:35px;text-align:right}.stats-card{background:#ffffff0d;border-radius:16px;padding:24px;border:1px solid rgba(255,255,255,.1)}.stats-header{display:flex;align-items:center;gap:8px;margin-bottom:24px}.stats-header h3{color:#fff;font-size:1.1rem;margin:0}.stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;text-align:center}.stat-item{display:flex;flex-direction:column;gap:4px}.stat-value{color:#667eea;font-size:2rem;font-weight:700}.stat-label{color:#888;font-size:.8rem}.stats-grid-bottom{margin-top:16px;padding-top:14px;border-top:1px solid rgba(255,255,255,.08)}.stat-value-sm{font-size:1.5rem!important}.recommended-section{margin-bottom:32px}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.section-header h2{color:#fff;font-size:1.4rem;margin:0;display:flex;align-items:center}.refresh-btn{display:flex;align-items:center;gap:6px;background:#ffffff1a;border:none;color:#aaa;padding:8px 16px;border-radius:20px;font-size:.85rem;cursor:pointer;transition:all .2s ease}.refresh-btn:hover{background:#ffffff26;color:#fff}.recommended-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.recommended-card{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-top:3px solid #667eea;border-radius:12px;padding:16px;cursor:pointer;transition:all .2s ease;text-align:left}.recommended-card:hover{background:#ffffff14;transform:translateY(-2px)}.recommended-meta{display:flex;align-items:center;gap:8px;margin-bottom:12px}.recommended-part{padding:3px 8px;border-radius:12px;font-size:.7rem;font-weight:600;color:#fff}.recommended-chapter{color:#777;font-size:.75rem}.recommended-text{color:#ddd;font-size:.9rem;line-height:1.4;margin:0}.tip-section{margin-bottom:32px}.tip-card{display:flex;align-items:flex-start;gap:16px;background:linear-gradient(135deg,#667eea26,#764ba226);border:1px solid rgba(102,126,234,.3);border-radius:16px;padding:20px 24px}.tip-icon{font-size:2rem}.tip-content h3{color:#fff;font-size:1rem;margin:0 0 8px}.tip-content p{color:#ccc;font-size:.9rem;line-height:1.5;margin:0}.tip-content{flex:1}.tip-refresh-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;background:#ffffff1a;border:none;border-radius:50%;color:#aaa;cursor:pointer;transition:all .2s ease;flex-shrink:0}.tip-refresh-btn:hover{background:#fff3;color:#fff;transform:rotate(180deg)}.tip-refresh-btn:active{transform:rotate(180deg) scale(.95)}.recent-section{margin-bottom:32px}.recent-section h2{color:#fff;font-size:1.4rem;margin-bottom:16px;display:flex;align-items:center}.recent-list{display:flex;flex-direction:column;gap:12px}.recent-item{display:flex;justify-content:space-between;align-items:center;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:16px}.recent-info{display:flex;flex-direction:column;gap:4px;flex:1}.recent-question{color:#ddd;font-size:.9rem}.recent-time{color:#777;font-size:.75rem}.recent-continue-btn{background:#667eea33;border:1px solid rgba(102,126,234,.4);color:#667eea;padding:8px 16px;border-radius:20px;font-size:.8rem;font-weight:600;cursor:pointer;transition:all .2s ease}.recent-continue-btn:hover{background:#667eea4d}@media(max-width:768px){.home-page{padding:15px}.dashboard-grid,.recommended-grid{grid-template-columns:1fr}.stats-grid{flex-direction:column;gap:20px}.stat-value{font-size:1.5rem}.tip-card{flex-direction:column;text-align:center}.recent-item{flex-direction:column;gap:12px;align-items:flex-start}.recent-continue-btn{width:100%}.section-header{flex-direction:column;align-items:flex-start;gap:12px}.part-header{padding:12px 16px}.part-header-content{flex-direction:column;align-items:flex-start;gap:8px}.part-badge{font-size:.75rem;padding:4px 10px}.part-info h3{font-size:1rem}.chapter-header{padding:10px 12px}.chapter-info{flex-direction:column;align-items:flex-start;gap:4px}.question-btn{padding:10px 12px;flex-direction:column;gap:6px}.question-id{font-size:.7rem}.question-text{font-size:.85rem}}.settings-btn{display:flex;align-items:center;justify-content:center;width:40px;height:40px;background:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:50%;color:#aaa;cursor:pointer;transition:all .2s ease;font-size:1.2rem}.settings-btn:hover{background:#ffffff26;color:#fff;transform:rotate(90deg)}.settings-modal-overlay{position:fixed;inset:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .2s ease}.settings-modal{background:#1a1a2e;border:1px solid rgba(255,255,255,.1);border-radius:16px;width:90%;max-width:480px;max-height:90vh;overflow-y:auto;animation:slideUp .3s ease}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.settings-modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid rgba(255,255,255,.1)}.settings-modal-header h2{color:#fff;font-size:1.3rem;margin:0;display:flex;align-items:center;gap:10px}.settings-close-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;background:#ffffff1a;border:none;border-radius:50%;color:#aaa;cursor:pointer;transition:all .2s ease;font-size:1.2rem}.settings-close-btn:hover{background:#fff3;color:#fff}.settings-modal-content{padding:24px;display:flex;flex-direction:column;gap:16px}.settings-item{display:flex;justify-content:space-between;align-items:center;padding:16px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:12px;gap:16px}.settings-item-info{flex:1}.settings-item-info h3{color:#fff;font-size:1rem;margin:0 0 6px;display:flex;align-items:center;gap:8px}.settings-item-info p{color:#888;font-size:.85rem;margin:0;line-height:1.4}.settings-danger-btn{display:flex;align-items:center;gap:6px;padding:10px 16px;background:#ef444433;border:1px solid rgba(239,68,68,.4);border-radius:8px;color:#ef4444;font-size:.85rem;font-weight:600;cursor:pointer;transition:all .2s ease;white-space:nowrap}.settings-danger-btn:hover{background:#ef44444d;border-color:#ef444499}@media(max-width:768px){.settings-item{flex-direction:column;align-items:flex-start}.settings-danger-btn{width:100%;justify-content:center}}.search-bar-container{position:relative;margin-top:28px;display:flex;align-items:center}.search-bar-icon{position:absolute;left:14px;color:#fff6;font-size:1.1rem;pointer-events:none}.search-bar-input{width:100%;padding:12px 40px;background:#ffffff14;border:1px solid rgba(255,255,255,.15);border-radius:12px;color:#fff;font-size:.95rem;outline:none;transition:border-color .2s,background .2s;box-sizing:border-box}.search-bar-input::placeholder{color:#ffffff59}.search-bar-input:focus{border-color:#fff6;background:#ffffff1f}.search-bar-clear{position:absolute;right:12px;background:none;border:none;color:#fff6;cursor:pointer;font-size:1rem;display:flex;align-items:center;padding:4px;border-radius:4px;transition:color .2s}.search-bar-clear:hover{color:#fffc}.search-results-section{padding:24px;border-bottom:1px solid rgba(255,255,255,.08)}.search-results-title{display:flex;align-items:center;gap:8px;font-size:1.1rem;color:#fff;margin-bottom:16px}.search-no-results{color:#ffffff80;font-size:.9rem;padding:12px 0}.search-results-list{display:flex;flex-direction:column;gap:8px}.search-result-item{display:flex;flex-direction:column;gap:6px;padding:14px 16px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:10px;text-align:left;cursor:pointer;transition:background .2s,border-color .2s;width:100%}.search-result-item:hover{background:#ffffff1a;border-color:#fff3}.search-result-meta{display:flex;align-items:center;gap:8px}.search-result-part{font-size:.72rem;font-weight:700;color:#fff;padding:2px 8px;border-radius:10px}.search-result-chapter{font-size:.8rem;color:#ffffff80}.search-result-text{font-size:.92rem;color:#ffffffd9;margin:0;line-height:1.4}.saved-notes-fab{position:fixed;bottom:28px;right:28px;width:48px;height:48px;border-radius:50%;background:linear-gradient(135deg,#667eea,#764ba2);border:none;color:#fff;font-size:1.3rem;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 16px #667eea73;transition:transform .2s,box-shadow .2s;z-index:100}.saved-notes-fab:hover{transform:scale(1.08);box-shadow:0 6px 20px #667eea99}.saved-notes-fab:active{transform:scale(.96)}.saved-notes-fab-badge{position:absolute;top:-4px;right:-4px;background:#ffffff40;color:#fff;font-size:.65rem;font-weight:700;min-width:18px;height:18px;border-radius:9px;display:flex;align-items:center;justify-content:center;padding:0 4px;line-height:1;border:1px solid rgba(255,255,255,.4)}.saved-notes-modal{max-height:72vh;max-width:560px;overflow-y:hidden;display:flex;flex-direction:column}.saved-notes-modal-content{overflow-y:auto;padding:8px 20px 20px;flex:1}.saved-notes-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:40px 20px;color:#ffffff59;font-size:.9rem;text-align:center}.saved-notes-list{display:flex;flex-direction:column;gap:6px}.saved-note-item{background:#ffffff0a;border:1px solid rgba(255,255,255,.08);border-radius:10px;overflow:hidden;transition:border-color .2s,background .2s}.saved-note-item:hover{background:#ffffff12;border-color:#ffffff26}.saved-note-item.expanded{border-color:#667eea66;background:#667eea0f}.saved-note-header{display:flex;align-items:center;justify-content:space-between;padding:11px 14px;cursor:pointer;gap:10px}.saved-note-meta{display:flex;flex-direction:column;gap:3px;flex:1;min-width:0}.saved-note-source{font-size:.82rem;font-weight:500;color:#ffffffb3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.saved-note-date{font-size:.72rem;color:#ffffff4d}.saved-note-actions{display:flex;align-items:center;gap:4px;flex-shrink:0}.saved-note-delete-btn{background:transparent;border:none;color:#fff3;cursor:pointer;padding:5px;display:inline-flex;align-items:center;font-size:.9rem;border-radius:5px;transition:color .2s,background .2s}.saved-note-delete-btn:hover{color:#f87171;background:#f871711a}.saved-note-arrow{color:#ffffff4d;font-size:1rem;display:inline-flex;align-items:center;transition:color .2s}.saved-note-item.expanded .saved-note-arrow{color:#667eeacc}.saved-note-preview{padding:0 14px 11px;font-size:.83rem;color:#ffffff73;line-height:1.5;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.saved-note-preview *{display:inline}.saved-note-item.expanded .saved-note-preview{display:none}.saved-note-full{padding:12px 14px 14px;font-size:.87rem;color:#fffc;line-height:1.65;border-top:1px solid rgba(102,126,234,.15);background:#00000026}.saved-note-full p{margin:.6em 0}.saved-note-full p:first-child{margin-top:0}.saved-note-full p:last-child{margin-bottom:0}.saved-note-full h1,.saved-note-full h2,.saved-note-full h3{font-weight:600;margin:1em 0 .4em;color:#fffffff2}.saved-note-full h1{font-size:1.2em}.saved-note-full h2{font-size:1.08em}.saved-note-full h3{font-size:.98em}.saved-note-full ul,.saved-note-full ol{padding-left:20px;margin:.5em 0}.saved-note-full li{margin:.25em 0}.saved-note-full code{background:#ffffff1a;color:#a78bfa;padding:1px 5px;border-radius:4px;font-size:.85em;font-family:Monaco,Menlo,monospace}.saved-note-full pre{background:#0000004d;border-radius:6px;padding:10px 12px;overflow-x:auto;margin:.6em 0}.saved-note-full pre code{background:none;padding:0;color:#ffffffd9}.saved-note-full strong{font-weight:700;color:#fffffff2}.saved-note-full blockquote{border-left:3px solid rgba(255,255,255,.2);padding-left:10px;margin:.5em 0;color:#ffffff8c;font-style:italic}.quiz-overlay{position:fixed;inset:0;background:#000000a6;display:flex;align-items:center;justify-content:center;z-index:200;padding:16px}.quiz-modal{background:#1a1a2e;border:1px solid rgba(255,255,255,.1);border-radius:18px;width:100%;max-width:560px;max-height:88vh;display:flex;flex-direction:column;overflow:hidden;animation:slideUp .25s ease}@keyframes slideUp{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}.quiz-header{display:flex;align-items:center;justify-content:space-between;padding:18px 22px;border-bottom:1px solid rgba(255,255,255,.08);flex-shrink:0}.quiz-header-left{display:flex;align-items:center;gap:10px}.quiz-header-icon{font-size:1.3rem;color:#667eea}.quiz-header h2{font-size:1.1rem;font-weight:600;color:#fff;margin:0}.quiz-close-btn{background:transparent;border:none;color:#fff6;font-size:1.2rem;cursor:pointer;padding:4px;display:flex;align-items:center;border-radius:6px;transition:color .2s}.quiz-close-btn:hover{color:#fff}.quiz-select-phase,.quiz-loading,.quiz-question-phase,.quiz-result-phase{overflow-y:auto;flex:1;padding:20px 22px 24px;min-height:0}.quiz-phase-label{font-size:.85rem;color:#ffffff73;margin-bottom:14px;margin-top:0}.quiz-part-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.quiz-part-card{background:#ffffff0a;border:1px solid rgba(255,255,255,.08);border-top-width:3px;border-radius:10px;padding:14px;cursor:pointer;display:flex;flex-direction:column;gap:6px;text-align:left;transition:background .2s,border-color .2s}.quiz-part-card:hover{background:#ffffff14}.quiz-part-badge{font-size:.72rem;font-weight:700;color:#fff;padding:2px 8px;border-radius:8px;align-self:flex-start}.quiz-part-title{font-size:.88rem;font-weight:600;color:#ffffffd9}.quiz-part-meta{font-size:.75rem;color:#ffffff59}.quiz-back-row{margin-bottom:16px}.quiz-back-btn{background:transparent;border:none;color:#ffffff80;font-size:.85rem;cursor:pointer;padding:0;transition:color .2s}.quiz-back-btn:hover{color:#fff}.quiz-chapter-list{display:flex;flex-direction:column;gap:6px;margin-bottom:18px}.quiz-chapter-item{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;background:#ffffff0a;border:1px solid rgba(255,255,255,.08);border-radius:8px;cursor:pointer;color:#ffffffa6;font-size:.85rem;text-align:left;transition:all .2s}.quiz-chapter-item:hover{background:#ffffff14;color:#ffffffe6}.quiz-chapter-item.selected{background:#667eea26;border-color:#667eea66;color:#fff}.quiz-chapter-count{font-size:.75rem;color:#ffffff59;flex-shrink:0}.quiz-error{color:#f87171;font-size:.85rem;margin-bottom:12px}.quiz-start-btn{width:100%;padding:13px;border:none;border-radius:10px;color:#fff;font-size:.95rem;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;transition:opacity .2s,transform .15s}.quiz-start-btn:hover{opacity:.9}.quiz-start-btn:active{transform:scale(.98)}.quiz-start-btn:disabled{opacity:.4;cursor:not-allowed}.quiz-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;padding:60px 22px}.quiz-loading-spinner{width:44px;height:44px;border:3px solid rgba(102,126,234,.2);border-top-color:#667eea;border-radius:50%;animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.quiz-loading p{color:#ffffff8c;font-size:.9rem}.quiz-progress-row{display:flex;align-items:center;gap:12px;margin-bottom:18px}.quiz-progress-text{font-size:.8rem;color:#fff6;white-space:nowrap}.quiz-progress-bar{flex:1;height:4px;background:#ffffff1a;border-radius:2px;overflow:hidden}.quiz-progress-fill{height:100%;background:linear-gradient(90deg,#667eea,#764ba2);border-radius:2px;transition:width .3s ease}.quiz-question-card{background:#ffffff0a;border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:18px;margin-bottom:16px}.quiz-question-text{font-size:.97rem;color:#ffffffe6;line-height:1.6;margin:0}.quiz-options{display:flex;flex-direction:column;gap:8px;margin-bottom:16px}.quiz-option{display:flex;align-items:center;gap:12px;padding:12px 14px;background:#ffffff0a;border:1px solid rgba(255,255,255,.1);border-radius:10px;cursor:pointer;text-align:left;transition:all .15s;color:#fffc}.quiz-option:hover:not(.correct):not(.wrong):not(.dimmed){background:#ffffff17;border-color:#fff3}.quiz-option.correct{background:#4caf5026;border-color:#4caf5080;color:#81c784}.quiz-option.wrong{background:#f443361f;border-color:#f4433666;color:#e57373}.quiz-option.dimmed{opacity:.4;cursor:default}.quiz-option-label{width:26px;height:26px;border-radius:50%;background:#ffffff14;display:flex;align-items:center;justify-content:center;font-size:.78rem;font-weight:700;flex-shrink:0}.quiz-option.correct .quiz-option-label{background:#4caf5040}.quiz-option.wrong .quiz-option-label{background:#f4433633}.quiz-option-text{flex:1;font-size:.88rem;line-height:1.4}.quiz-option-icon{font-size:1.1rem;flex-shrink:0}.correct-icon{color:#81c784}.wrong-icon{color:#e57373}.quiz-feedback{border-radius:10px;padding:14px 16px;margin-top:4px}.quiz-feedback.correct{background:#4caf501a;border:1px solid rgba(76,175,80,.25)}.quiz-feedback.wrong{background:#f4433614;border:1px solid rgba(244,67,54,.2)}.quiz-feedback-title{font-size:.9rem;font-weight:600;margin:0 0 6px;color:#fff}.quiz-feedback-explanation{font-size:.84rem;color:#ffffffa6;margin:0 0 12px;line-height:1.5}.quiz-next-btn{display:flex;align-items:center;gap:6px;background:linear-gradient(135deg,#667eea,#764ba2);border:none;color:#fff;padding:9px 18px;border-radius:8px;cursor:pointer;font-size:.88rem;font-weight:600;transition:opacity .2s}.quiz-next-btn:hover{opacity:.9}.quiz-result-phase{display:flex;flex-direction:column;align-items:center;gap:16px}.quiz-result-circle{position:relative;width:140px;height:140px;flex-shrink:0}.quiz-result-circle svg{width:100%;height:100%;transform:rotate(-90deg)}.quiz-result-ring-bg{fill:none;stroke:#ffffff14;stroke-width:8}.quiz-result-ring-fill{fill:none;stroke:url(#quizGradient);stroke:#667eea;stroke-width:8;stroke-linecap:round;stroke-dasharray:0 251;transition:stroke-dasharray .8s ease}.quiz-result-score-text{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center}.quiz-result-percent{font-size:1.8rem;font-weight:700;color:#fff;line-height:1}.quiz-result-fraction{font-size:.8rem;color:#fff6;margin-top:4px}.quiz-result-label{font-size:1rem;color:#fffc;margin:0}.quiz-result-list{width:100%;display:flex;flex-direction:column;gap:6px;max-height:220px;overflow-y:auto}.quiz-result-item{display:flex;align-items:flex-start;gap:8px;padding:8px 12px;border-radius:8px;font-size:.83rem}.quiz-result-item.correct{background:#4caf5014;color:#81c784}.quiz-result-item.wrong{background:#f4433612;color:#e57373}.quiz-result-item svg{flex-shrink:0;margin-top:2px;font-size:1rem}.quiz-result-item-text{line-height:1.4;color:#ffffffb3}.quiz-result-actions{display:flex;gap:10px;width:100%}.quiz-retry-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:6px;background:linear-gradient(135deg,#667eea,#764ba2);border:none;color:#fff;padding:11px;border-radius:10px;cursor:pointer;font-size:.9rem;font-weight:600;transition:opacity .2s}.quiz-retry-btn:hover{opacity:.9}.quiz-back-select-btn{flex:1;background:#ffffff0f;border:1px solid rgba(255,255,255,.12);color:#ffffffb3;padding:11px;border-radius:10px;cursor:pointer;font-size:.9rem;transition:all .2s}.quiz-back-select-btn:hover{background:#ffffff1a;color:#fff}.quiz-home-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:6px;background:#ffffff0f;border:1px solid rgba(255,255,255,.12);color:#ffffffb3;padding:11px;border-radius:10px;cursor:pointer;font-size:.9rem;transition:all .2s}.quiz-home-btn:hover{background:#ffffff1a;color:#fff}
