/* A voice conversation keeps the handover visible; captions and history are optional. */
.tutor-dialog:has(.conversation-panel){width:min(680px,96vw)!important;border-radius:26px;max-height:94dvh;background:#fafbf6}
.conversation-panel{padding:28px 30px 20px}
.conversation-panel [hidden]{display:none!important}
.conversation-panel .modal-top{align-items:flex-start;margin-bottom:12px}
.conversation-panel h2{font-size:27px;display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:7px 0 0}
.ai-label{font:600 10px Studio,'Segoe UI',sans-serif;letter-spacing:.3px;color:#667865;padding:4px 7px;border:1px solid #d6decc;border-radius:5px}
.conversation-context{display:flex;align-items:center;gap:12px;font-size:12px;color:#607067;margin:12px 0 22px;line-height:1.5}
.conversation-context>span{font-size:9px;letter-spacing:1px;white-space:nowrap;background:#e9eedf;border-radius:5px;padding:5px 7px;color:#4c6445}
.conversation-stage{position:relative;isolation:isolate;background:radial-gradient(ellipse at 50% 35%,#eef1e3 0%,#f3f5ea 52%,#ecf0e4 100%);border:1px solid #dbe3d0;border-radius:22px;padding:20px 25px;text-align:center;overflow:hidden}
.turn-people{display:flex;align-items:center;justify-content:center;gap:16px;font-size:10px;letter-spacing:1.8px;color:#82907e}
.turn-people>span:not(.turn-line){border-radius:20px;padding:6px 11px;transition:background .2s,color .2s}
.turn-line{height:1px;width:36px;background:#c6d1bd}
[data-phase=listening] #turn-you{background:#24483e;color:#fff}
[data-phase=waiting] #turn-jessica,[data-phase=speaking] #turn-jessica{background:#ddd3ed;color:#4f3766}
.conversation-stage .voice-orb{position:relative;width:108px;height:108px;margin:23px auto 22px;background:radial-gradient(circle at 28% 25%,#f0e5fa,#c8d9b5 58%,#75a087);box-shadow:0 0 0 9px #dfe8d377,0 14px 28px #1e4c3b16}
.conversation-stage .voice-orb>span{font-size:43px;font-style:italic;transition:opacity .2s}
.conversation-stage .voice-orb.listening>span{opacity:0}
.conversation-stage .voice-orb.listening{box-shadow:0 0 0 calc(8px + var(--mic-level,0)*15px) #cee0c580;transition:box-shadow .08s}
.voice-bars{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;gap:4px;opacity:0}
.listening .voice-bars{opacity:1}
.voice-bars i{display:block;width:4px;border-radius:4px;background:#244a3e;height:calc(5px + var(--mic-level,0)*45px);transition:height .08s}
.voice-bars i:nth-child(2n){height:calc(8px + var(--mic-level,0)*24px)}
.voice-bars i:nth-child(3n){height:calc(10px + var(--mic-level,0)*36px)}
.conversation-stage #tutor-status{display:block;font-size:20px;line-height:1.35;letter-spacing:-.35px;min-height:27px}
.conversation-stage .voice-help{max-width:380px;margin:10px auto 20px!important;min-height:40px;font-size:13px!important;line-height:1.6;color:#647661}
.voice-primary{display:flex;flex-direction:column;gap:8px;max-width:390px;margin:auto}
.turn-button{width:100%;min-height:56px;border-radius:13px;font-size:15px;justify-content:space-between;padding:14px 22px;box-shadow:0 4px 12px #173d3610}
.turn-button>span{font-size:23px;font-weight:400}
[data-phase=listening] .turn-button.primary{background:#e3d7ef;border-color:#c9b8d7;color:#443052}
.conversation-stage .voice-controls{justify-content:center;gap:14px;min-height:16px}
.conversation-stage .voice-controls .button{font-size:11px;min-height:38px;padding:7px 4px;color:#5f715c;box-shadow:none;font-weight:500}
.turn-guide{display:flex;justify-content:center;gap:17px;border-top:1px solid #d8e0ce;margin-top:15px;padding-top:14px;font-size:9px;color:#74826e;letter-spacing:.1px}
.conversation-panel summary{cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:12px;font-weight:600;padding:14px 0;color:#385245}
.conversation-panel summary::-webkit-details-marker{display:none}
.conversation-panel summary>span{font-size:10px;font-weight:400;color:#85917c}
.conversation-panel summary::before{content:'+';font-size:17px;font-weight:400;margin-right:0}
.conversation-panel details[open]>summary::before{content:'−'}
.conversation-panel summary>span:last-child{margin-left:auto}
.conversation-captions{margin-top:5px}
#live-caption{max-height:140px;overflow:auto;border-left:3px solid #cdbfda;background:#f0edf4;padding:12px 15px;font-size:14px;line-height:1.7;border-radius:0 10px 10px 0;margin-bottom:10px}
.conversation-panel .tutor-prompts{margin:2px 0 16px;gap:7px}
.conversation-panel .tutor-prompts .chip{flex:1;font-size:11px;padding:9px 8px;background:#fff;white-space:nowrap;min-height:38px}
.conversation-details{border-top:1px solid #dde4d6}
.conversation-panel .question-row{margin:1px 0 14px;flex-direction:row}
.conversation-panel .question-row textarea{font:13px/1.5 Studio,'Segoe UI',sans-serif;resize:vertical}
.conversation-panel .question-row button{font-size:12px;white-space:nowrap}
.conversation-panel .chat-history{max-height:330px}
.conversation-panel .chat-message p{font-size:13px;line-height:1.7}
.conversation-panel .hear-reply{margin-top:10px;background:#fff;font-size:11px}
.conversation-footer{display:flex;justify-content:space-between;align-items:center;padding-top:12px;border-top:1px solid #dde4d6}
.conversation-footer button{padding-left:0;font-size:12px}
.conversation-footer>span{font-size:10px;color:#7c8875}
.conversation-privacy summary{font-size:10px;color:#7b8873;font-weight:400;padding:9px 0 0;justify-content:flex-start;gap:8px}
.conversation-panel .notice{margin:12px 0 0;font-size:10px}
.conversation-panel .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:600px){
 .tutor-dialog:has(.conversation-panel){width:100vw!important;max-width:100vw!important;height:100dvh;max-height:100dvh;margin:0;border:0;border-radius:0}
 .conversation-panel{padding:20px 18px max(18px,env(safe-area-inset-bottom))}
 .conversation-panel .eyebrow{font-size:8px;letter-spacing:1.5px}
 .conversation-panel h2{font-size:24px;gap:9px}
 .conversation-panel .modal-top .icon{width:34px;height:34px}
 .conversation-context{font-size:11px;margin:10px 0 16px;gap:9px}
 .conversation-stage{padding:16px 18px;border-radius:19px}
 .conversation-stage .voice-orb{width:92px;height:92px;margin:20px auto}
 .conversation-stage .voice-orb>span{font-size:38px}
 .conversation-stage #tutor-status{font-size:18px}
 .conversation-stage .voice-help{font-size:12px!important;margin:8px auto 16px!important;min-height:38px}
 .turn-button{min-height:55px;font-size:15px}
 .turn-guide{gap:10px;font-size:8px;margin-top:10px;padding-top:12px}
 .conversation-panel .tutor-prompts{gap:5px;margin-bottom:10px}
 .conversation-panel .tutor-prompts .chip{font-size:10px;padding:8px 5px}
 .conversation-panel .question-row{flex-direction:column}
 .conversation-footer{padding-top:6px}
}
@media(prefers-reduced-motion:reduce){.conversation-panel *{animation:none!important;transition:none!important}}
