/* Live AI speaking examiner */
.live-exam{display:grid;gap:20px;margin-top:20px}
.live-intro,.live-stage,.live-report{background:var(--paper);border:1px solid var(--line);border-radius:14px;padding:32px 28px;text-align:center}
.live-intro h3,.live-report h4{font:700 30px/1.2 var(--serif);color:var(--espresso);margin:18px 0 8px}
.live-intro>p{max-width:600px;margin:0 auto;color:var(--muted);font-size:16px;line-height:1.65}
.live-parts{max-width:600px;margin:24px auto;padding:0;list-style:none;text-align:left;display:grid;gap:10px}
.live-parts li{padding:14px 18px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--brown);font-size:15px;line-height:1.5}

/* Voice picker and captions toggle sit on one centred row */
.live-options{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:14px 32px;margin:4px 0 28px;font:700 15px var(--sans);color:var(--brown)}
.live-options label{display:flex!important;flex-direction:row!important;align-items:center;gap:10px;margin:0;padding:0;font:inherit;color:inherit}
.live-options select{min-height:44px;padding:0 12px;border:1px solid var(--line);border-radius:8px;background:#fff;font:600 15px var(--sans);color:var(--espresso)}
.live-check input{width:20px;height:20px;margin:0;flex:0 0 auto;accent-color:var(--terracotta)}

/* Buttons: one height, no overlap with the text below */
.live-start{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:12px}
.live-primary,.live-secondary{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:0 24px;border-radius:10px;font:800 15px var(--sans);cursor:pointer;transition:background .15s,border-color .15s}
.live-primary{border:1px solid var(--terracotta-dark);background:var(--terracotta);color:#fff}
.live-primary:hover{background:var(--terracotta-dark)}
.live-secondary{border:1px solid var(--line);background:#fff;color:var(--espresso)}
.live-secondary:hover{border-color:var(--terracotta)}
.live-secondary.danger{color:var(--terracotta-dark)}
.live-primary[hidden],.live-secondary[hidden]{display:none}
.live-link{margin-top:18px;border:0;background:none;color:var(--terracotta-dark);font:700 15px var(--sans);text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.live-exam .live-note{margin:24px auto 0;max-width:600px;font-size:14px;line-height:1.6;color:var(--muted)}
.live-exam .live-error{margin:18px auto 0;max-width:600px;padding:12px 16px;border-radius:8px;background:#f8e3d8;color:#7d3a1e;font-size:15px}

/* Orb: idle / speaking / listening / prep / thinking */
.live-orb{width:110px;height:110px;margin:6px auto 0;border-radius:50%;background:radial-gradient(circle at 35% 30%,#f2c7a8,var(--terracotta));display:grid;place-items:center;box-shadow:0 0 0 10px rgba(186,112,72,.12);transition:box-shadow .3s}
.live-orb span{width:34px;height:34px;border-radius:50%;background:rgba(255,250,242,.85)}
.live-orb.speaking{animation:live-pulse 1.1s ease-in-out infinite}
.live-orb.listening{background:radial-gradient(circle at 35% 30%,#f6e2cc,var(--brown));box-shadow:0 0 0 10px rgba(81,53,42,.12)}
.live-orb.prep{background:radial-gradient(circle at 35% 30%,#f6e8d4,#b9926f)}
.live-orb.thinking span{animation:live-spin 1.2s linear infinite;border:4px solid rgba(255,250,242,.9);border-top-color:transparent;background:none}
@keyframes live-pulse{50%{box-shadow:0 0 0 22px rgba(186,112,72,.18)}}
@keyframes live-spin{to{transform:rotate(360deg)}}

.live-stage-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}
.live-stage-head small{font:800 13px var(--sans);letter-spacing:.12em;color:var(--terracotta-dark)}
.live-timer{font:800 22px var(--sans);font-variant-numeric:tabular-nums;color:var(--espresso)}
.live-timer.low{color:#a3352a}
.live-status{margin:18px 0 10px;font:700 18px var(--sans);color:var(--espresso)}
.live-meter{width:180px;height:6px;margin:0 auto;border-radius:3px;background:var(--sand);overflow:hidden}
.live-meter i{display:block;height:100%;width:0;background:var(--terracotta);transition:width .1s}
.live-cue{max-width:560px;margin:20px auto 0;padding:18px 20px;text-align:left;border:1.5px solid var(--espresso);border-radius:10px;background:#fff}
.live-cue small{font:800 12px var(--sans);letter-spacing:.12em;color:var(--terracotta-dark)}
.live-cue p{margin:8px 0 12px;font-size:17px;line-height:1.6;color:var(--espresso)}
.live-cue textarea{width:100%;min-height:90px;box-sizing:border-box;padding:10px;border:1px solid var(--line);border-radius:8px;font:500 14px var(--sans);resize:vertical;font-size:15px}
.live-captions{max-width:620px;max-height:200px;overflow:auto;margin:20px auto 0;padding:12px 16px;text-align:left;border-radius:10px;background:var(--cream);font-size:15px;line-height:1.6}
.live-captions p,.live-transcript p{margin:6px 0}
.live-captions b,.live-transcript b{display:block;font:800 12px var(--sans);letter-spacing:.1em;text-transform:uppercase;color:var(--terracotta-dark)}
.live-captions p.candidate b,.live-transcript p.candidate b{color:var(--brown)}
.live-controls{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:22px}

/* Report */
.live-report{text-align:left}
.live-band{text-align:center;padding-bottom:18px;border-bottom:1px solid var(--line)}
.live-band small{font:800 13px var(--sans);letter-spacing:.12em;color:var(--terracotta-dark)}
.live-band strong{display:block;font:700 64px/1.1 var(--serif);color:var(--espresso)}
.live-crits{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:18px 0}
.live-crit{padding:14px;border:1px solid var(--line);border-radius:10px;background:#fff}
.live-crit span{font:800 12px var(--sans);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.live-crit b{float:right;font:700 24px var(--serif);color:var(--terracotta-dark)}
.live-crit p{clear:both;margin:8px 0 0;font-size:15px;line-height:1.5;color:var(--brown)}
.live-report ul{margin:6px 0 0;padding-left:20px;font-size:15px;line-height:1.65;color:var(--brown)}
.live-better{margin:10px 0;padding:14px 16px;border-radius:10px;background:var(--cream);font-size:15px}
.live-better small{font-weight:800;color:var(--espresso)}
.live-better .was{margin:6px 0;color:var(--muted);text-decoration:line-through;text-decoration-color:rgba(113,95,83,.4)}
.live-better .now{margin:0;color:var(--espresso)}
.live-report .live-start{margin-top:20px}
.live-transcript{background:var(--paper);border:1px solid var(--line);border-radius:14px;padding:18px 24px;font-size:15px;line-height:1.6}
.live-transcript summary{cursor:pointer;font:800 15px var(--sans);color:var(--espresso)}

@media (max-width:640px){
  .live-intro,.live-stage,.live-report{padding:20px 16px}
  .live-crits{grid-template-columns:1fr}
  .live-start .live-primary,.live-start .live-secondary,.live-controls .live-primary,.live-controls .live-secondary{width:100%}
  .live-options{flex-direction:column;gap:14px}
}
/* Part track, recovery and practice insights */
.live-track{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0 0 18px;padding:0;list-style:none}
.live-track li{padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:#fffdf8;text-align:left}
.live-track b{display:block;font:800 13px var(--sans);color:var(--muted)}
.live-track span{font-size:12px;color:var(--muted)}
.live-track li.now{border-color:var(--terracotta);background:#fbf0e6}
.live-track li.now b{color:var(--terracotta-dark)}
.live-track li.done{background:var(--espresso);border-color:var(--espresso)}
.live-track li.done b,.live-track li.done span{color:#f6e6d8}
.live-track li.done b::after{content:" ✓"}
.live-recover{margin-top:18px;padding:16px 18px;border:1px solid #e9cdb5;border-radius:14px;background:#fbf0e6;text-align:left}
.live-recover p{margin:0 0 12px;color:var(--brown)}
.live-partial{margin:12px 0;padding:12px 16px;border-radius:12px;background:#fbf0e6;border:1px solid #e9cdb5;color:var(--brown);font-size:14px}
.live-trend,.live-drills{margin:18px 0;padding:18px 20px;border:1px solid var(--line);border-radius:14px;background:#fffdf8}
.live-trend h4,.live-drills h4{margin:0 0 10px}
.live-trend-row{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:10px}
.live-trend-row span{padding:6px 12px;border-radius:999px;background:#f7ede0;font:800 13px var(--sans);color:var(--brown)}
.live-trend-row span b{margin-right:6px;font-weight:600}
.live-trend-row span.up{background:var(--espresso);color:#fff8ef}
.live-trend-row span.down{background:#fbe9e5;color:#a3352a}
.live-drills ol{margin:0;padding-left:20px;display:grid;gap:8px;color:var(--brown);line-height:1.55}
.live-drills p,.live-trend p{margin:0 0 10px;color:var(--brown);line-height:1.6}
@media (max-width:640px){.live-track{grid-template-columns:1fr}}
