*{box-sizing:border-box}body{margin:0;font-family:Inter,Segoe UI,Arial,sans-serif;background:#f4f7fb;color:#172033}.app{min-height:100vh}header{height:72px;background:#fff;border-bottom:1px solid #e5e9f0;display:flex;align-items:center;justify-content:space-between;padding:0 42px}.brand{font-weight:800;letter-spacing:2px;font-size:14px}.user{padding:10px 16px;background:#f1f4f8;border-radius:20px;font-size:13px}h1{font-size:16px;margin:3px 0 0}.hero{background:#fff;margin:30px auto 20px;max-width:1180px;border-radius:18px;padding:30px;display:flex;justify-content:space-between;align-items:center;border:1px solid #e7ebf2}.badge{font-size:11px;font-weight:800;letter-spacing:1.4px}.hero h2{font-size:30px;margin:8px 0}.hero p{color:#687386;margin:0}.status{padding:10px 15px;border-radius:22px;background:#f2f4f7;font-size:13px}.status.live{background:#eaf8ef}.dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:#8993a3;margin-right:8px}.live .dot{background:#2ca45c}.grid{max-width:1180px;margin:auto;display:grid;grid-template-columns:330px 1fr;gap:20px}.labs,.voice-card{background:#fff;border:1px solid #e7ebf2;border-radius:18px;padding:22px}.labs h3{margin-top:0}.lab{display:flex;gap:12px;padding:14px;border-radius:12px;margin:7px 0;font-size:14px}.lab.selected{background:#eef4ff;border:1px solid #cbdcff}.lab small{display:block;color:#8a94a5;margin-top:4px}.voice-card{text-align:center;min-height:560px}.orb{width:110px;height:110px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:42px;background:#edf3ff;margin:25px auto}.voice-card h3{font-size:22px}.voice-card p{color:#707b8d}.actions button{border:0;border-radius:10px;padding:13px 25px;font-size:15px;font-weight:700;cursor:pointer;background:#1769e0;color:#fff}.actions .secondary{background:#202938}.error{margin:18px auto;padding:12px;background:#fff0f0;color:#b42318;border-radius:10px;max-width:650px}.transcript{text-align:left;max-width:720px;margin:28px auto 0;border-top:1px solid #edf0f4;padding-top:18px}.transcript h4{margin:0 0 12px}.empty{color:#929aaa;font-size:14px}.msg{padding:12px 14px;border-radius:10px;margin:8px 0;display:flex;gap:10px}.msg.student{background:#f3f7ff}.msg.assistant{background:#f4f8f5}.msg strong{min-width:45px}.msg span{line-height:1.5}@media(max-width:800px){header{padding:0 18px}.hero{margin:15px;display:block}.status{display:inline-block;margin-top:15px}.grid{display:block;margin:15px}.labs{margin-bottom:15px}}
