*{margin:0;padding:0;box-sizing:border-box}body{font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;background:linear-gradient(135deg,#667eea,#764ba2);min-height:100vh;color:#333}.app{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px}.container{background:#fffffff2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:20px;padding:30px;box-shadow:0 20px 40px #0000001a;max-width:1200px;width:100%;max-height:90vh;overflow-y:auto}.header{text-align:center;margin-bottom:30px}.header h1{font-size:2.5rem;background:linear-gradient(135deg,#667eea,#764ba2);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;margin-bottom:10px}.tab-navigation{display:flex;justify-content:center;margin:20px 0;border-bottom:1px solid #e0e0e0;padding-bottom:10px}.tab-button{background:none;border:none;padding:10px 20px;margin:0 10px;font-size:1rem;font-weight:600;color:#666;cursor:pointer;border-radius:20px;transition:all .3s ease}.tab-button:hover{color:#764ba2;background-color:#764ba21a}.tab-button.active{color:#fff;background:linear-gradient(135deg,#667eea,#764ba2);box-shadow:0 4px 10px #764ba24d}.header p{font-size:1.1rem;color:#666;margin-bottom:20px}.status-indicators{display:flex;justify-content:center;gap:20px;flex-wrap:wrap}.status-indicator{padding:8px 16px;border-radius:20px;background:#f0f2f5;font-size:.9rem;transition:all .3s ease}.status-indicator.active{background:linear-gradient(135deg,#4caf50,#45a049);color:#fff;animation:pulse 2s infinite}.tts-provider{padding:8px 16px;border-radius:20px;background:#e3f2fd;color:#1976d2;font-size:.9rem;cursor:pointer;transition:all .3s ease;-webkit-user-select:none;user-select:none}.tts-provider:hover{background:#bbdefb;transform:translateY(-2px);box-shadow:0 3px 6px #0000001a}.tts-provider:active{transform:translateY(0);box-shadow:none}.controls{display:flex;gap:15px;justify-content:center;flex-wrap:wrap;margin-bottom:30px}.btn{padding:12px 24px;border:none;border-radius:25px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;text-decoration:none;display:inline-flex;align-items:center;gap:8px}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-primary{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 10px 20px #667eea4d}.btn-danger{background:linear-gradient(135deg,#ff6b6b,#ee5a52);color:#fff}.btn-danger:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 10px 20px #ff6b6b4d}.btn-secondary{background:linear-gradient(135deg,#74b9ff,#0984e3);color:#fff}.btn-secondary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 10px 20px #74b9ff4d}.btn-accent{background:linear-gradient(135deg,#a29bfe,#6c5ce7);color:#fff}.btn-accent:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 10px 20px #a29bfe4d}.btn-outline{background:transparent;border:2px solid #667eea;color:#667eea}.btn-outline:hover:not(:disabled){background:#667eea;color:#fff}.error-message{background:linear-gradient(135deg,#ff7675,#e17055);color:#fff;padding:15px;border-radius:10px;margin-bottom:20px;text-align:center;font-weight:500}.processing{text-align:center;padding:30px;background:linear-gradient(135deg,#74b9ff,#0984e3);color:#fff;border-radius:15px;margin-bottom:20px}.spinner{width:40px;height:40px;border:4px solid rgba(255,255,255,.3);border-top:4px solid white;border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 15px}.transcript{background:linear-gradient(135deg,#fd79a8,#e84393);color:#fff;padding:20px;border-radius:15px;margin-bottom:20px}.transcript h3{margin-bottom:10px;font-size:1.2rem}.transcript p{font-style:italic;font-size:1.1rem}.results{display:grid;gap:20px}.chat-controls{margin:20px 0}.question-form{display:flex;gap:10px;flex-wrap:wrap}.question-input{flex:1;min-width:300px;padding:12px 15px;border:2px solid #ddd;border-radius:10px;font-size:1rem;transition:border-color .3s ease}.question-input:focus{border-color:#764ba2;outline:none;box-shadow:0 0 0 2px #764ba233}.chat-section{display:flex;flex-direction:column;gap:20px}.question-display{background-color:#f5f5f5;border-radius:10px;padding:15px;border-left:4px solid #764ba2}.question-text{font-size:1.1rem;color:#333;font-weight:500}.chat-response{background-color:#f9f4ff;border-radius:10px;padding:20px;box-shadow:0 4px 15px #0000000d}.chat-content{display:flex;flex-direction:column;gap:15px}.chat-answer{font-size:1.1rem;line-height:1.6}.chat-sources h4,.follow-up-questions h4{color:#2d3436;margin-bottom:10px;font-size:1.1rem}.follow-up-question{cursor:pointer;color:#764ba2;transition:color .2s ease;padding:5px 0}.follow-up-question:hover{color:#667eea;text-decoration:underline}.screenshot-section,.analysis-section{background:#f8f9fa;border-radius:15px;padding:20px;border:1px solid #e9ecef}.screenshot-section h3,.analysis-section h3{color:#495057;margin-bottom:15px;font-size:1.3rem}.screenshot{max-width:100%;height:auto;border-radius:10px;box-shadow:0 5px 15px #0000001a}.analysis-content{margin-bottom:20px}.analysis-header{display:flex;gap:10px;margin-bottom:20px;flex-wrap:wrap}.subject-badge,.difficulty-badge{padding:6px 12px;border-radius:15px;font-size:.85rem;font-weight:600}.subject-badge{background:linear-gradient(135deg,#00b894,#00a085);color:#fff}.difficulty-badge{background:linear-gradient(135deg,#fdcb6e,#e17055);color:#fff}.explanation,.key-points,.next-steps{margin-bottom:20px}.explanation h4,.key-points h4,.next-steps h4{color:#2d3436;margin-bottom:10px;font-size:1.1rem}.explanation p{line-height:1.6;color:#636e72;font-size:1rem}.key-points ul,.next-steps ul{list-style:none;padding-left:0}.key-points li,.next-steps li{background:#e3f2fd;margin-bottom:8px;padding:10px 15px;border-radius:8px;border-left:4px solid #2196f3;color:#1565c0}.footer{text-align:center;margin-top:30px;padding-top:20px;border-top:1px solid #e9ecef;color:#6c757d;font-size:.9rem}.footer p{margin-bottom:5px}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes pulse{0%{transform:scale(1)}50%{transform:scale(1.05)}to{transform:scale(1)}}@media (max-width: 768px){.container{padding:20px;margin:10px}.header h1{font-size:2rem}.controls{flex-direction:column;align-items:center}.btn{width:100%;max-width:300px}.status-indicators{flex-direction:column;align-items:center}.analysis-header{flex-direction:column}}@media (max-width: 480px){.header h1{font-size:1.8rem}.container{padding:15px}}
