:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media (prefers-color-scheme: light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}#root{max-width:800px;margin:0 auto;padding:2rem;text-align:center;font-family:sans-serif}.form-container,.question-container{background-color:#f9f9f9;padding:2rem;border-radius:8px;box-shadow:0 4px 6px #0000001a;margin-top:2rem}input,button{width:100%;padding:12px;margin-bottom:1rem;border-radius:4px;border:1px solid #ccc;box-sizing:border-box}button{background-color:#007bff;color:#fff;border:none;cursor:pointer;font-size:1rem}button:hover{background-color:#0056b3}.error{color:#dc3545;margin-top:1rem}.question-container p{font-size:1.2rem;line-height:1.6}.chat-container{border:1px solid #ccc;border-radius:8px;padding:1rem;margin-top:2rem;background-color:#fff}.chat-log{height:400px;overflow-y:auto;padding:10px;display:flex;flex-direction:column;gap:10px}.chat-message{padding:10px 15px;border-radius:18px;max-width:70%;line-height:1.5}.chat-message.bot{background-color:#e9e9eb;color:#000;align-self:flex-start;text-align:left}.chat-message.user{background-color:#007bff;color:#fff;align-self:flex-end;text-align:left}.chat-form{display:flex;margin-top:1rem}.chat-form input{flex-grow:1;margin-bottom:0;margin-right:10px}.chat-message.feedback{background-color:#fffbe6;color:#000;border:1px solid #ffe58f;align-self:flex-start;text-align:left;white-space:pre-wrap}.finish-button{width:100%;margin-top:1rem;background-color:#dc3545}.finish-button:hover{background-color:#c82333}.score-report{text-align:left}.score-report h2{text-align:center;margin-bottom:2rem}.overall-score-card{background-color:#007bff;color:#fff;padding:2rem;border-radius:8px;text-align:center;margin-bottom:2rem}.score-number{font-size:3rem;font-weight:700;margin:0}.score-number span{font-size:1.5rem;opacity:.8}.final-verdict{margin-top:.5rem;font-style:italic;font-size:1.1rem}.score-details{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:2rem}.score-card{background:#f9f9f9;padding:1.5rem;border-radius:8px;text-align:center}.score-card h4{text-transform:capitalize;margin-top:0}.score-card .justification{font-size:.9rem;color:#555;margin-top:1rem}.summary-section{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.summary-card{background:#f9f9f9;padding:1.5rem;border-radius:8px}.summary-card ul{padding-left:20px}.mic-button{width:50px;flex-shrink:0;margin-right:10px;background-color:#6c757d}.mic-button.listening{background-color:#dc3545;animation:pulse 1.5s infinite}@keyframes pulse{0%{box-shadow:0 0 #dc3545b3}70%{box-shadow:0 0 0 10px #dc354500}to{box-shadow:0 0 #dc354500}}
