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}*{margin:0;padding:0;box-sizing:border-box}body{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;background:linear-gradient(135deg,#667eea,#764ba2);min-height:100vh}.app{min-height:100vh;padding:2rem}.container{max-width:900px;margin:0 auto}.header{text-align:center;color:#fff;margin-bottom:3rem;animation:fadeInDown .8s ease}.header h1{font-size:2.5rem;margin-bottom:.5rem;text-shadow:2px 2px 4px rgba(0,0,0,.2)}.header p{font-size:1.1rem;opacity:.95}.card{background:#fff;border-radius:16px;padding:2rem;margin-bottom:1.5rem;box-shadow:0 10px 30px #0003;animation:fadeIn .5s ease}.card h2,.card h3{color:#333;margin-bottom:1.5rem}.card h2{font-size:1.8rem}.card h3{font-size:1.3rem;margin-top:1.5rem}.setup-section{background:#fff;border-radius:16px;padding:2.5rem;box-shadow:0 10px 30px #0003;animation:fadeIn .5s ease}.form-group{margin-bottom:1.5rem}.form-group label{display:block;font-weight:600;color:#333;margin-bottom:.5rem;font-size:1rem}.select{width:100%;padding:.75rem;font-size:1rem;border:2px solid #e0e0e0;border-radius:8px;background:#fff;cursor:pointer;transition:all .3s ease}.select:hover{border-color:#667eea}.select:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.btn{padding:.875rem 1.75rem;font-size:1rem;font-weight:600;border:none;border-radius:8px;cursor:pointer;transition:all .3s ease;text-align:center;display:inline-block}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-primary{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;width:100%;box-shadow:0 4px 15px #667eea66}.btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #667eea80}.btn-secondary{background:#6c757d;color:#fff;box-shadow:0 4px 15px #6c757d4d}.btn-secondary:hover:not(:disabled){transform:translateY(-2px);background:#5a6268}.btn-record{background:#28a745;color:#fff;margin-bottom:1rem;box-shadow:0 4px 15px #28a7454d}.btn-record:hover{background:#218838;transform:translateY(-2px)}.btn-stop{background:#dc3545;color:#fff;margin-bottom:1rem;box-shadow:0 4px 15px #dc35454d}.btn-stop:hover{background:#c82333;transform:translateY(-2px)}.button-group{display:flex;gap:1rem;margin-top:1rem}.button-group .btn{flex:1}.question-text{font-size:1.2rem;line-height:1.8;color:#333;padding:1.5rem;background:#f8f9fa;border-radius:8px;border-left:4px solid #667eea;margin-bottom:1.5rem}.question-text-small{font-size:1rem;line-height:1.6;color:#555;padding:1rem;background:#f8f9fa;border-radius:8px;border-left:3px solid #667eea}.recording-controls{margin-bottom:1rem}.recording-indicator{display:inline-block;margin-left:1rem;color:#dc3545;font-weight:600;animation:pulse 1.5s ease-in-out infinite}.textarea{width:100%;padding:1rem;font-size:1rem;border:2px solid #e0e0e0;border-radius:8px;font-family:inherit;resize:vertical;transition:all .3s ease}.textarea:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.score-display{margin:2rem 0}.total-score{text-align:center;padding:2rem;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:12px;color:#fff;margin-bottom:1.5rem}.score-label{display:block;font-size:1.1rem;margin-bottom:.5rem;opacity:.95}.score-value{display:block;font-size:3.5rem;font-weight:700;text-shadow:2px 2px 4px rgba(0,0,0,.2)}.score-breakdown{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.score-item{display:flex;justify-content:space-between;padding:1rem;background:#f8f9fa;border-radius:8px;font-weight:500}.score-item span:first-child{color:#666}.score-item span:last-child{color:#667eea;font-weight:700}.feedback-section{margin:2rem 0}.feedback-text{font-size:1.1rem;line-height:1.8;color:#555;padding:1.5rem;background:#fff9e6;border-radius:8px;border-left:4px solid #ffc107}.strengths-section,.improvements-section{margin:1.5rem 0}.strengths-section ul,.improvements-section ul{list-style:none;padding:0}.strengths-section li,.improvements-section li{padding:.75rem 1rem;margin-bottom:.5rem;border-radius:8px;line-height:1.6}.strengths-section li{background:#d4edda;border-left:4px solid #28a745;color:#155724}.improvements-section li{background:#fff3cd;border-left:4px solid #ffc107;color:#856404}.loading-overlay{position:fixed;inset:0;background:#000000b3;display:flex;flex-direction:column;justify-content:center;align-items:center;z-index:1000}.loading-overlay p{color:#fff;font-size:1.2rem;margin-top:1rem}.spinner{width:50px;height:50px;border:4px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin 1s linear infinite}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@media(max-width:768px){.app{padding:1rem}.header h1{font-size:2rem}.header p{font-size:1rem}.card,.setup-section{padding:1.5rem}.score-breakdown{grid-template-columns:1fr}.button-group{flex-direction:column}.score-value{font-size:2.5rem}}
