@import url(https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Plus+Jakarta+Sans:wght@500;600;700&display=swap);body{background-color:#f5f5f5;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}*{box-sizing:border-box}.auth-container{align-items:center;background:#f8fafc;display:flex;justify-content:center;min-height:100vh;overflow:hidden;padding:24px;position:relative}.auth-background{inset:0;overflow:hidden;position:absolute;z-index:0}.bg-shape{border-radius:50%;filter:blur(80px);opacity:.5;position:absolute}.shape-1{background:linear-gradient(135deg,#3b82f6,#60a5fa);height:600px;right:-100px;top:-200px;width:600px}.shape-2{background:linear-gradient(135deg,#22c55e,#4ade80);bottom:-150px;height:500px;left:-100px;width:500px}.shape-3{background:linear-gradient(135deg,#f59e0b,#fbbf24);height:300px;left:50%;opacity:.3;top:50%;transform:translate(-50%,-50%);width:300px}.auth-card{background:#fff;border:1px solid #e2e8f0;border-radius:20px;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f,0 20px 25px -5px #0000001a;max-width:440px;padding:44px;position:relative;width:100%;z-index:1}.auth-header{margin-bottom:32px;text-align:center}.auth-logo{align-items:center;background:linear-gradient(135deg,#dbeafe,#dcfce7);border:1px solid #e2e8f0;border-radius:18px;display:inline-flex;height:72px;justify-content:center;margin-bottom:20px;width:72px}.auth-logo .logo-icon{font-size:36px}.auth-header h1{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#3b82f6,#22c55e);-webkit-background-clip:text;background-clip:text;font-family:Plus Jakarta Sans,sans-serif;font-size:28px;font-weight:700;margin:0 0 8px}.auth-header p{color:#64748b;font-size:14px;margin:0}.auth-form{gap:20px}.auth-form,.form-group{display:flex;flex-direction:column}.form-group{gap:8px}.form-group label{color:#374151;font-size:14px;font-weight:500}.form-group input[type=email],.form-group input[type=password],.form-group input[type=text]{background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;color:#1e293b;font-size:14px;padding:14px 16px;transition:all .2s ease;width:100%}.form-group input:focus{background:#fff;border-color:#3b82f6;box-shadow:0 0 0 4px #3b82f61a;outline:none}.form-group input::placeholder{color:#94a3b8}.form-group input:disabled{cursor:not-allowed;opacity:.6}.form-hint{color:#64748b;font-size:12px}.password-requirements{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;margin-top:4px;padding:12px 14px}.requirements-title{color:#64748b;font-size:12px;font-weight:600;margin:0 0 8px}.requirements-list{grid-gap:6px;display:grid;gap:6px;grid-template-columns:1fr 1fr;list-style:none;margin:0;padding:0}.requirements-list li{align-items:center;color:#94a3b8;display:flex;font-size:11px;gap:6px;transition:color .2s ease}.requirements-list li.met{color:#22c55e}.req-icon{font-size:10px;text-align:center;width:14px}.requirements-list li.met .req-icon{color:#22c55e}.password-strength{align-items:center;display:flex;gap:12px;margin-top:8px}.strength-bar{background:#e2e8f0;border-radius:3px;flex:1 1;height:6px;overflow:hidden}.strength-fill{border-radius:3px;height:100%;transition:all .3s ease}.strength-fill.weak{background:linear-gradient(90deg,#ef4444,#f87171)}.strength-fill.medium{background:linear-gradient(90deg,#f59e0b,#fbbf24)}.strength-fill.strong{background:linear-gradient(90deg,#22c55e,#4ade80)}.strength-label{font-size:11px;font-weight:600;min-width:50px;text-align:right}.strength-label.weak{color:#ef4444}.strength-label.medium{color:#f59e0b}.strength-label.strong{color:#22c55e}.checkbox-group{align-items:center;flex-direction:row}.checkbox-label{align-items:center;color:#374151;cursor:pointer;display:flex;font-size:14px;gap:10px}.checkbox-label input[type=checkbox]{cursor:pointer;height:0;opacity:0;position:absolute;width:0}.checkbox-custom{background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;height:20px;position:relative;transition:all .2s ease;width:20px}.checkbox-label input:checked+.checkbox-custom{background:#3b82f6;border-color:#3b82f6}.checkbox-label input:checked+.checkbox-custom:after{border:solid #fff;border-width:0 2px 2px 0;content:"";height:10px;left:6px;position:absolute;top:2px;transform:rotate(45deg);width:6px}.checkbox-label input:focus-visible+.checkbox-custom{box-shadow:0 0 0 4px #3b82f61a}.auth-error{align-items:center;background:#fef2f2;border:1px solid #fecaca;border-radius:10px;color:#dc2626;display:flex;font-size:14px;gap:10px;padding:14px 16px}.error-icon{font-size:16px}.auth-submit-btn{align-items:center;background:linear-gradient(135deg,#3b82f6,#2563eb);border:none;border-radius:10px;box-shadow:0 4px 6px -1px #3b82f64d;color:#fff;cursor:pointer;display:flex;font-family:Inter,sans-serif;font-size:15px;font-weight:600;gap:10px;justify-content:center;padding:14px 24px;transition:all .2s ease;width:100%}.auth-submit-btn:hover:not(:disabled){background:linear-gradient(135deg,#2563eb,#1d4ed8);box-shadow:0 6px 10px -1px #3b82f666;transform:translateY(-1px)}.auth-submit-btn:active:not(:disabled){transform:translateY(0)}.auth-submit-btn:disabled{cursor:not-allowed;opacity:.7}.btn-spinner{animation:spin .8s linear infinite;border:2px solid #ffffff4d;border-radius:50%;border-top-color:#fff;height:18px;width:18px}.auth-footer{border-top:1px solid #e2e8f0;margin-top:24px;padding-top:24px;text-align:center}.auth-footer p{align-items:center;color:#64748b;display:flex;font-size:14px;gap:8px;justify-content:center;margin:0}.toggle-btn{background:#0000;border:none;border-radius:6px;color:#3b82f6;cursor:pointer;font-size:14px;font-weight:600;padding:4px 8px;transition:all .2s ease}.toggle-btn:hover:not(:disabled){background:#dbeafe}.toggle-btn:disabled{cursor:not-allowed;opacity:.6}@media (max-width:480px){.auth-container{padding:16px}.auth-card{border-radius:16px;padding:32px 24px}.auth-logo{border-radius:16px;height:64px;width:64px}.auth-logo .logo-icon{font-size:32px}.auth-header h1{font-size:24px}.requirements-list{grid-template-columns:1fr}}:root{--bg-primary:#f8fafc;--bg-secondary:#fff;--bg-tertiary:#f1f5f9;--bg-hover:#e2e8f0;--bg-selected:#dcfce7;--text-primary:#1e293b;--text-secondary:#64748b;--text-muted:#94a3b8;--accent-primary:#3b82f6;--accent-primary-light:#dbeafe;--accent-secondary:#22c55e;--accent-secondary-light:#dcfce7;--accent-tertiary:#ef4444;--accent-warning:#f59e0b;--border-color:#e2e8f0;--border-light:#cbd5e1;--panel-radius:12px;--card-radius:10px;--btn-radius:8px;--shadow-sm:0 1px 2px #0000000d;--shadow-md:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;--shadow-lg:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;--transition-fast:0.15s ease;--transition-normal:0.25s ease;--transition-slow:0.4s ease}.study-assistant-container{grid-gap:0;background:#f8fafc;background:var(--bg-primary);display:grid;gap:0;grid-template-columns:280px 1fr 380px;height:calc(100vh - 60px);overflow:hidden}.study-assistant-container.expanded-sources{grid-template-columns:1fr 0 0}.study-assistant-container.expanded-studio{grid-template-columns:0 1fr 0}.study-assistant-container.expanded-chat{grid-template-columns:0 0 1fr}.panel{background:#fff;background:var(--bg-secondary);border-right:1px solid #e2e8f0;border-right:1px solid var(--border-color);display:flex;flex-direction:column;overflow:hidden;transition:all .25s ease;transition:all var(--transition-normal)}.panel:last-child{border-right:none}.panel.hidden{border:none;min-width:0;opacity:0;overflow:hidden;padding:0;width:0}.panel.expanded{flex:1 1}.panel-header{align-items:center;background:#fff;background:var(--bg-secondary);border-bottom:1px solid #e2e8f0;border-bottom:1px solid var(--border-color);display:flex;flex-shrink:0;justify-content:space-between;padding:16px 20px}.panel-header h2{color:#1e293b;color:var(--text-primary);font-family:Plus Jakarta Sans,sans-serif;font-size:15px;font-weight:600;letter-spacing:.5px;margin:0;text-transform:uppercase}.expand-btn{background:#f1f5f9;background:var(--bg-tertiary);border:1px solid #e2e8f0;border:1px solid var(--border-color);border-radius:8px;border-radius:var(--btn-radius);color:#64748b;color:var(--text-secondary);cursor:pointer;font-size:16px;padding:6px 10px;transition:all .15s ease;transition:all var(--transition-fast)}.expand-btn:hover{background:#3b82f6;background:var(--accent-primary);border-color:#3b82f6;border-color:var(--accent-primary);color:#fff}.panel-content{flex:1 1;overflow-y:auto;padding:16px}.panel-content::-webkit-scrollbar{width:6px}.panel-content::-webkit-scrollbar-track{background:#0000}.panel-content::-webkit-scrollbar-thumb{background:#e2e8f0;background:var(--border-color);border-radius:3px}.panel-content::-webkit-scrollbar-thumb:hover{background:#cbd5e1;background:var(--border-light)}.sources-panel{min-width:280px}.add-sources-btn{align-items:center;background:#3b82f6;background:var(--accent-primary);border:none;border-radius:8px;border-radius:var(--btn-radius);box-shadow:0 1px 2px #0000000d;box-shadow:var(--shadow-sm);color:#fff;cursor:pointer;display:flex;font-family:Inter,sans-serif;font-size:14px;font-weight:600;gap:8px;justify-content:center;padding:14px 16px;transition:all .15s ease;transition:all var(--transition-fast);width:100%}.add-sources-btn:hover:not(:disabled){background:#2563eb;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;box-shadow:var(--shadow-md);transform:translateY(-1px)}.add-sources-btn:disabled{cursor:not-allowed;opacity:.7}.btn-icon{font-size:18px;font-weight:400}.source-hint{color:#94a3b8;color:var(--text-muted);font-size:12px;margin:12px 0;text-align:center}.select-all-row{align-items:center;background:#f1f5f9;background:var(--bg-tertiary);border:1px solid #0000;border-radius:10px;border-radius:var(--card-radius);cursor:pointer;display:flex;gap:10px;margin:8px 0;padding:12px 14px;transition:all .15s ease;transition:all var(--transition-fast)}.select-all-row:hover{background:#e2e8f0;background:var(--bg-hover);border-color:#e2e8f0;border-color:var(--border-color)}.select-all-row input[type=checkbox]{accent-color:#22c55e;accent-color:var(--accent-secondary);cursor:pointer;height:18px;width:18px}.select-all-row span{color:#64748b;color:var(--text-secondary);font-size:14px;font-weight:500}.sources-list{margin-top:12px}.source-item{align-items:center;background:#f1f5f9;background:var(--bg-tertiary);border:2px solid #0000;border-radius:10px;border-radius:var(--card-radius);cursor:pointer;display:flex;gap:10px;margin-bottom:6px;padding:12px 14px;transition:all .15s ease;transition:all var(--transition-fast)}.source-item:hover{background:#e2e8f0;background:var(--bg-hover)}.source-item.selected{background:#dcfce7;background:var(--accent-secondary-light);border-color:#22c55e;border-color:var(--accent-secondary)}.source-checkbox input[type=checkbox]{accent-color:#22c55e;accent-color:var(--accent-secondary);cursor:pointer;height:18px;width:18px}.source-icon{flex-shrink:0;font-size:22px}.source-info{flex:1 1;min-width:0}.source-name{color:#1e293b;color:var(--text-primary);display:block;font-size:13px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.delete-source-btn{background:#0000;border:none;border-radius:8px;border-radius:var(--btn-radius);color:#94a3b8;color:var(--text-muted);cursor:pointer;font-size:20px;opacity:0;padding:4px 8px;transition:all .15s ease;transition:all var(--transition-fast)}.source-item:hover .delete-source-btn{opacity:1}.delete-source-btn:hover{background:#ef44441a;color:#ef4444;color:var(--accent-tertiary)}.no-sources{color:#94a3b8;color:var(--text-muted);padding:40px 20px;text-align:center}.no-sources p{font-size:14px;margin:0}.no-sources .hint{font-size:12px;margin-top:8px}.studio-panel{background:#f8fafc;background:var(--bg-primary)}.studio-tabs{border-bottom:1px solid #e2e8f0;border-bottom:1px solid var(--border-color);display:flex;gap:6px;margin-bottom:16px;padding:0 4px 16px}.studio-tabs button{background:#fff;background:var(--bg-secondary);border:1px solid #e2e8f0;border:1px solid var(--border-color);border-radius:8px;border-radius:var(--btn-radius);color:#64748b;color:var(--text-secondary);cursor:pointer;flex:1 1;font-family:Inter,sans-serif;font-size:13px;font-weight:500;padding:10px 14px;transition:all .15s ease;transition:all var(--transition-fast)}.studio-tabs button:hover{background:#e2e8f0;background:var(--bg-hover);color:#1e293b;color:var(--text-primary)}.studio-tabs button.active{background:#3b82f6;background:var(--accent-primary);border-color:#3b82f6;border-color:var(--accent-primary);color:#fff}.error-banner{align-items:center;background:#fef2f2;border:1px solid #fecaca;border-radius:10px;border-radius:var(--card-radius);display:flex;font-size:13px;justify-content:space-between;margin-bottom:16px;padding:12px 16px}.error-banner,.error-close{color:#ef4444;color:var(--accent-tertiary)}.error-close{background:#0000;border:none;cursor:pointer;font-size:18px;padding:0 4px}.generate-tab{padding:8px 0}.generate-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(2,1fr)}.generate-card{background:#fff;background:var(--bg-secondary);border:1px solid #e2e8f0;border:1px solid var(--border-color);border-radius:12px;border-radius:var(--panel-radius);box-shadow:0 1px 2px #0000000d;box-shadow:var(--shadow-sm);padding:20px;transition:all .15s ease;transition:all var(--transition-fast)}.generate-card:hover{border-color:#3b82f6;border-color:var(--accent-primary);box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;box-shadow:var(--shadow-md)}.card-icon{font-size:36px;margin-bottom:12px}.generate-card h3{color:#1e293b;color:var(--text-primary);font-family:Plus Jakarta Sans,sans-serif;font-size:18px;font-weight:600;margin:0 0 8px}.generate-card p{color:#64748b;color:var(--text-secondary);font-size:13px;line-height:1.5;margin:0 0 16px}.card-settings{align-items:center;display:flex;gap:10px;margin-bottom:12px}.card-settings label{color:#64748b;color:var(--text-secondary);font-size:13px;font-weight:500}.card-settings input,.card-settings select{background:#f1f5f9;background:var(--bg-tertiary);border:1px solid #e2e8f0;border:1px solid var(--border-color);border-radius:6px;color:#1e293b;color:var(--text-primary);font-size:13px;padding:8px 12px;width:80px}.card-settings select{width:auto}.card-settings input:focus,.card-settings select:focus{border-color:#3b82f6;border-color:var(--accent-primary);box-shadow:0 0 0 3px #dbeafe;box-shadow:0 0 0 3px var(--accent-primary-light);outline:none}.generate-btn{background:#22c55e;background:var(--accent-secondary);border:none;border-radius:8px;border-radius:var(--btn-radius);color:#fff;cursor:pointer;font-family:Inter,sans-serif;font-size:14px;font-weight:600;padding:12px 16px;transition:all .15s ease;transition:all var(--transition-fast);width:100%}.generate-btn:hover:not(:disabled){background:#16a34a;transform:translateY(-1px)}.generate-btn:disabled{cursor:not-allowed;opacity:.7}.selected-sources-info{align-items:center;background:#dbeafe;background:var(--accent-primary-light);border-radius:10px;border-radius:var(--card-radius);color:#3b82f6;color:var(--accent-primary);display:flex;font-size:13px;font-weight:500;gap:8px;margin-top:20px;padding:14px 16px}.warning-text{color:#ef4444;color:var(--accent-tertiary)}.info-icon{font-size:16px}.loading-state{align-items:center;display:flex;flex-direction:column;justify-content:center;padding:60px 20px}.loading-spinner{border:4px solid var(--border-color);border-top-color:var(--accent-primary);height:48px;margin-bottom:16px;width:48px}.loading-state p{color:#64748b;color:var(--text-secondary);font-size:14px}.empty-state{padding:60px 20px;text-align:center}.empty-icon{font-size:56px;margin-bottom:16px}.empty-state p{color:#94a3b8;color:var(--text-muted);font-size:15px;margin-bottom:20px}.empty-state button{background:#3b82f6;background:var(--accent-primary);border:none;border-radius:8px;border-radius:var(--btn-radius);color:#fff;cursor:pointer;font-family:Inter,sans-serif;font-size:14px;font-weight:600;padding:12px 24px;transition:all .15s ease;transition:all var(--transition-fast)}.empty-state button:hover{background:#2563eb;transform:translateY(-1px)}.flashcards-tab{padding:8px 0}.flashcards-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:16px}.flashcards-header span{color:#1e293b;color:var(--text-primary);font-size:14px;font-weight:600}.new-set-btn{background:#3b82f6;background:var(--accent-primary);border:none;border-radius:8px;border-radius:var(--btn-radius);color:#fff;cursor:pointer;font-size:13px;font-weight:600;padding:8px 16px;transition:all .15s ease;transition:all var(--transition-fast)}.new-set-btn:hover{background:#2563eb}.flashcards-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.flashcard-flip{cursor:pointer;height:200px;perspective:1000px}.flashcard-inner{height:100%;position:relative;transform-style:preserve-3d;transition:transform .6s;width:100%}.flashcard-flip.flipped .flashcard-inner{transform:rotateY(180deg)}.flashcard-back,.flashcard-front{-webkit-backface-visibility:hidden;backface-visibility:hidden;border-radius:12px;border-radius:var(--panel-radius);box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;box-shadow:var(--shadow-md);display:flex;flex-direction:column;height:100%;padding:20px;position:absolute;width:100%}.flashcard-front{background:linear-gradient(135deg,#3b82f6,#2563eb);background:linear-gradient(135deg,var(--accent-primary) 0,#2563eb 100%);color:#fff}.flashcard-back{background:linear-gradient(135deg,#22c55e,#16a34a);background:linear-gradient(135deg,var(--accent-secondary) 0,#16a34a 100%);color:#fff;transform:rotateY(180deg)}.card-label{font-size:11px;letter-spacing:1px;margin-bottom:12px;opacity:.8;text-transform:uppercase}.flashcard-back p,.flashcard-front p{flex:1 1;font-size:15px;line-height:1.5;margin:0;overflow-y:auto}.flip-hint{font-size:11px;margin-top:12px;opacity:.7;text-align:center}.quiz-tab{padding:8px 0}.quiz-results{background:linear-gradient(135deg,#3b82f6,#2563eb);background:linear-gradient(135deg,var(--accent-primary) 0,#2563eb 100%);border-radius:12px;border-radius:var(--panel-radius);color:#fff;margin-bottom:20px;padding:24px;text-align:center}.results-header h3{font-family:Plus Jakarta Sans,sans-serif;font-size:16px;font-weight:600;margin:0 0 16px;opacity:.9}.quiz-results .score-display{align-items:baseline;display:flex;gap:4px;justify-content:center;margin-bottom:8px}.quiz-results .score-num{font-family:Plus Jakarta Sans,sans-serif;font-size:48px;font-weight:700}.quiz-results .score-denom{font-size:24px;opacity:.8}.quiz-results .score-percentage{font-size:20px;font-weight:600;margin-bottom:16px}.quiz-results .score-bar{background:#ffffff4d;border-radius:4px;height:8px;margin-bottom:20px;overflow:hidden}.quiz-results .score-fill{border-radius:4px;height:100%;transition:all .4s ease;transition:all var(--transition-slow)}.results-actions{display:flex;gap:12px;justify-content:center}.new-quiz-btn,.retake-btn{border-radius:8px;border-radius:var(--btn-radius);cursor:pointer;font-size:14px;font-weight:600;padding:10px 20px;transition:all .15s ease;transition:all var(--transition-fast)}.retake-btn{background:#fff3;border:1px solid #ffffff4d;color:#fff}.retake-btn:hover{background:#ffffff4d}.new-quiz-btn{background:#fff;border:none;color:#3b82f6;color:var(--accent-primary)}.new-quiz-btn:hover{transform:translateY(-1px)}.quiz-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:16px}.quiz-header span{color:#1e293b;color:var(--text-primary);font-size:14px;font-weight:600}.quiz-questions{display:flex;flex-direction:column;gap:16px}.quiz-question-item{background:#fff;background:var(--bg-secondary);border:1px solid #e2e8f0;border:1px solid var(--border-color);border-radius:10px;border-radius:var(--card-radius);box-shadow:0 1px 2px #0000000d;box-shadow:var(--shadow-sm);padding:20px}.quiz-question-item h4{color:#3b82f6;color:var(--accent-primary);font-family:Plus Jakarta Sans,sans-serif;font-size:12px;font-weight:600;letter-spacing:.5px;margin:0 0 10px;text-transform:uppercase}.question-text{color:#1e293b;color:var(--text-primary);font-size:15px;line-height:1.6;margin:0 0 16px}.options-list{display:flex;flex-direction:column;gap:10px}.option-item{align-items:center;background:#f1f5f9;background:var(--bg-tertiary);border:2px solid #e2e8f0;border:2px solid var(--border-color);border-radius:10px;border-radius:var(--card-radius);cursor:pointer;display:flex;gap:12px;padding:14px 16px;transition:all .15s ease;transition:all var(--transition-fast)}.option-item:hover:not(.submitted .option-item){background:#e2e8f0;background:var(--bg-hover);border-color:#3b82f6;border-color:var(--accent-primary)}.option-item.selected{background:#dbeafe;background:var(--accent-primary-light);border-color:#3b82f6;border-color:var(--accent-primary)}.option-item.correct{background:#dcfce7;background:var(--accent-secondary-light);border-color:#22c55e;border-color:var(--accent-secondary)}.option-item.incorrect{background:#fef2f2;border-color:#ef4444;border-color:var(--accent-tertiary)}.submitted .option-item{cursor:default}.option-letter{align-items:center;background:#fff;background:var(--bg-secondary);border:1px solid #e2e8f0;border:1px solid var(--border-color);border-radius:50%;color:#64748b;color:var(--text-secondary);display:flex;flex-shrink:0;font-size:13px;font-weight:600;height:28px;justify-content:center;width:28px}.option-item.selected .option-letter{background:#3b82f6;background:var(--accent-primary);border-color:#3b82f6;border-color:var(--accent-primary);color:#fff}.option-item.correct .option-letter{background:#22c55e;background:var(--accent-secondary);border-color:#22c55e;border-color:var(--accent-secondary);color:#fff}.option-item.incorrect .option-letter{background:#ef4444;background:var(--accent-tertiary);border-color:#ef4444;border-color:var(--accent-tertiary);color:#fff}.option-text{color:#1e293b;color:var(--text-primary);flex:1 1;font-size:14px}.result-icon{font-size:18px;font-weight:700}.option-item.correct .result-icon{color:#22c55e;color:var(--accent-secondary)}.option-item.incorrect .result-icon{color:#ef4444;color:var(--accent-tertiary)}.correct-answer{color:#22c55e;color:var(--accent-secondary)}.quiz-submit-section{border-top:1px solid #e2e8f0;border-top:1px solid var(--border-color);margin-top:24px;padding-top:20px;text-align:center}.answered-count{color:#64748b;color:var(--text-secondary);font-size:13px;margin-bottom:16px}.submit-quiz-btn{background:#22c55e;background:var(--accent-secondary);border:none;border-radius:8px;border-radius:var(--btn-radius);color:#fff;cursor:pointer;font-size:15px;font-weight:600;padding:14px 32px;transition:all .15s ease;transition:all var(--transition-fast)}.submit-quiz-btn:hover:not(:disabled){background:#16a34a;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;box-shadow:var(--shadow-md);transform:translateY(-1px)}.submit-quiz-btn:disabled{cursor:not-allowed;opacity:.5}.history-tab{padding:8px 0}.history-section{margin-bottom:24px}.history-section h3{color:#64748b;color:var(--text-secondary);font-family:Plus Jakarta Sans,sans-serif;font-size:13px;font-weight:600;letter-spacing:.5px;margin:0 0 12px;text-transform:uppercase}.no-history{background:#f1f5f9;background:var(--bg-tertiary);border-radius:10px;border-radius:var(--card-radius);color:#94a3b8;color:var(--text-muted);font-size:13px;padding:20px;text-align:center}.history-list{display:flex;flex-direction:column;gap:8px}.history-item{align-items:center;background:#fff;background:var(--bg-secondary);border:1px solid #e2e8f0;border:1px solid var(--border-color);border-radius:10px;border-radius:var(--card-radius);display:flex;overflow:hidden;transition:all .15s ease;transition:all var(--transition-fast)}.history-item:hover{border-color:#3b82f6;border-color:var(--accent-primary);box-shadow:0 1px 2px #0000000d;box-shadow:var(--shadow-sm)}.history-info{align-items:center;cursor:pointer;display:flex;flex:1 1;gap:12px;padding:14px 16px}.history-icon{font-size:22px}.history-info>div{display:flex;flex-direction:column;gap:4px}.history-title{color:#1e293b;color:var(--text-primary);font-size:14px;font-weight:500}.history-meta{font-size:12px}.history-delete,.history-meta{color:#94a3b8;color:var(--text-muted)}.history-delete{background:#0000;border:none;cursor:pointer;font-size:20px;padding:14px 16px;transition:all .15s ease;transition:all var(--transition-fast)}.history-delete:hover{background:#fef2f2;color:#ef4444;color:var(--accent-tertiary)}.chat-panel{background:#fff;background:var(--bg-secondary);min-width:380px}.chat-header-actions{display:flex;gap:8px}.clear-chat-btn{background:#f1f5f9;background:var(--bg-tertiary);border:1px solid #e2e8f0;border:1px solid var(--border-color);border-radius:8px;border-radius:var(--btn-radius);cursor:pointer;font-size:14px;padding:6px 10px;transition:all .15s ease;transition:all var(--transition-fast)}.clear-chat-btn:hover{background:#fef2f2;border-color:#ef4444;border-color:var(--accent-tertiary)}.chat-content{display:flex;flex-direction:column;padding:0}.messages-container{flex:1 1;overflow-y:auto;padding:16px}.chat-welcome{padding:40px 20px;text-align:center}.welcome-icon{font-size:56px;margin-bottom:16px}.chat-welcome h3{color:#1e293b;color:var(--text-primary);font-family:Plus Jakarta Sans,sans-serif;font-size:20px;font-weight:600;margin:0 0 8px}.chat-welcome p{color:#94a3b8;color:var(--text-muted);font-size:14px;margin:0 0 24px}.suggested-prompts{display:flex;flex-direction:column;gap:10px}.suggested-prompts button{background:#f1f5f9;background:var(--bg-tertiary);border:1px solid #e2e8f0;border:1px solid var(--border-color);border-radius:8px;border-radius:var(--btn-radius);color:#64748b;color:var(--text-secondary);cursor:pointer;font-size:13px;padding:12px 16px;transition:all .15s ease;transition:all var(--transition-fast)}.suggested-prompts button:hover{background:#dbeafe;background:var(--accent-primary-light);border-color:#3b82f6;border-color:var(--accent-primary);color:#3b82f6;color:var(--accent-primary)}.message{animation:fadeIn .3s ease;display:flex;gap:12px;margin-bottom:16px}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.message-avatar{align-items:center;background:#f1f5f9;background:var(--bg-tertiary);border:1px solid #e2e8f0;border:1px solid var(--border-color);border-radius:50%;display:flex;flex-shrink:0;font-size:18px;height:36px;justify-content:center;width:36px}.message.assistant .message-avatar{background:#3b82f6;background:var(--accent-primary);border-color:#3b82f6;border-color:var(--accent-primary)}.message-content{background:#f1f5f9;background:var(--bg-tertiary);border-radius:12px;border-top-left-radius:4px;color:#1e293b;color:var(--text-primary);flex:1 1;font-size:14px;line-height:1.6;padding:12px 16px}.message.user .message-content{background:#3b82f6;background:var(--accent-primary);border-radius:12px;border-top-right-radius:4px;color:#fff}.message-content.typing{display:flex;gap:6px;padding:16px}.message-content.typing span{animation:bounce 1.4s ease-in-out infinite both;background:#3b82f6;background:var(--accent-primary);border-radius:50%;height:8px;width:8px}.message-content.typing span:first-child{animation-delay:-.32s}.message-content.typing span:nth-child(2){animation-delay:-.16s}@keyframes bounce{0%,80%,to{transform:scale(0)}40%{transform:scale(1)}}.chat-input-container{background:#fff;background:var(--bg-secondary);border-top:1px solid #e2e8f0;border-top:1px solid var(--border-color);padding:16px}.sources-context-badge{color:#94a3b8;color:var(--text-muted);font-size:12px;margin-bottom:10px;padding-left:4px}.chat-input-wrapper{background:#f1f5f9;background:var(--bg-tertiary);border:1px solid #e2e8f0;border:1px solid var(--border-color);border-radius:24px;display:flex;gap:10px;padding:6px 6px 6px 18px;transition:all .15s ease;transition:all var(--transition-fast)}.chat-input-wrapper:focus-within{border-color:#3b82f6;border-color:var(--accent-primary);box-shadow:0 0 0 3px #dbeafe;box-shadow:0 0 0 3px var(--accent-primary-light)}.chat-input-wrapper input{background:#0000;border:none;color:#1e293b;color:var(--text-primary);flex:1 1;font-size:14px;outline:none}.chat-input-wrapper input::placeholder{color:#94a3b8;color:var(--text-muted)}.send-btn{align-items:center;background:#3b82f6;background:var(--accent-primary);border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:18px;height:40px;justify-content:center;transition:all .15s ease;transition:all var(--transition-fast);width:40px}.send-btn:hover:not(:disabled){background:#2563eb;transform:scale(1.05)}.send-btn:disabled{cursor:not-allowed;opacity:.5}@media (max-width:1200px){.study-assistant-container{grid-template-columns:240px 1fr 320px}.sources-panel{min-width:240px}.chat-panel{min-width:320px}}@media (max-width:900px){.study-assistant-container{grid-template-columns:1fr;grid-template-rows:auto 1fr auto}.study-assistant-container.expanded-chat,.study-assistant-container.expanded-sources,.study-assistant-container.expanded-studio{grid-template-columns:1fr}.panel{border-bottom:1px solid #e2e8f0;border-bottom:1px solid var(--border-color);border-right:none}.chat-panel,.sources-panel{max-height:35vh;min-width:100%}.studio-panel{max-height:none}.panel.hidden{height:0;max-height:0;min-height:0}.flashcards-grid,.generate-grid{grid-template-columns:1fr}}.drag-upload-zone{background:#f1f5f9;background:var(--bg-tertiary);border:2px dashed #e2e8f0;border:2px dashed var(--border-color);border-radius:12px;border-radius:var(--panel-radius);cursor:pointer;margin:12px 0;padding:20px;text-align:center;transition:all .2s ease}.drag-upload-zone.active{background:#dbeafe;background:var(--accent-primary-light);border-color:#3b82f6;border-color:var(--accent-primary)}.text-source-box{display:flex;flex-direction:column;gap:10px;margin:16px 0}.text-source-input{border:1px solid #e2e8f0;border:1px solid var(--border-color);border-radius:10px;border-radius:var(--card-radius);font-size:14px;min-height:100px;padding:12px;resize:vertical}.add-text-source-btn{background:#22c55e;background:var(--accent-secondary);border:none;border-radius:8px;border-radius:var(--btn-radius);color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:10px}.add-text-source-btn:hover{background:#16a34a}*,:after,:before{box-sizing:border-box;margin:0;padding:0}#root,body,html{height:100%;width:100%}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:#1e293b;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.5}.app,body{background:#f8fafc}.app{display:flex;flex-direction:column;height:100vh}.app-header{background:#fff;border-bottom:1px solid #e2e8f0;box-shadow:0 1px 3px #0000000d;flex-shrink:0;height:60px;justify-content:space-between;padding:0 24px}.app-header,.header-left{align-items:center;display:flex}.header-left{gap:24px}.app-logo{align-items:center;display:flex;gap:12px}.logo-icon{font-size:26px}.logo-text{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#3b82f6,#22c55e);-webkit-background-clip:text;background-clip:text;font-family:Plus Jakarta Sans,sans-serif;font-size:20px;font-weight:700}.header-right{gap:16px}.header-right,.user-info{align-items:center;display:flex}.user-info{gap:10px}.user-avatar{align-items:center;background:linear-gradient(135deg,#3b82f6,#22c55e);border-radius:50%;color:#fff;display:flex;font-family:Plus Jakarta Sans,sans-serif;font-size:15px;font-weight:600;height:36px;justify-content:center;width:36px}.user-name{color:#64748b;font-size:14px;font-weight:500}.logout-btn{align-items:center;background:#f1f5f9;border:1px solid #e2e8f0;border-radius:10px;color:#64748b;cursor:pointer;display:flex;height:40px;justify-content:center;transition:all .15s ease;width:40px}.logout-btn:hover{background:#fef2f2;border-color:#fecaca;color:#ef4444}.app-main{flex:1 1;overflow:hidden}.loading-screen{align-items:center;background:#f8fafc;display:flex;flex-direction:column;gap:16px;height:100vh;justify-content:center}.loading-spinner{animation:spin .8s linear infinite;border:4px solid #e2e8f0;border-radius:50%;border-top-color:#3b82f6;height:44px;width:44px}@keyframes spin{to{transform:rotate(1turn)}}.loading-screen p{color:#64748b;font-size:14px}::-webkit-scrollbar{height:8px;width:8px}::-webkit-scrollbar-track{background:#0000}::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#94a3b8}::selection{background:#3b82f633;color:#1e293b}:focus-visible{outline:2px solid #3b82f6;outline-offset:2px}@media (max-width:768px){.app-header{padding:0 16px}.logo-text,.user-name{display:none}}
/*# sourceMappingURL=main.b81c99ea.css.map*/