:root{--ink:#173238;--muted:#687d7e;--cream:#f6f1e7;--paper:#fffdf7;--sage:#6b8e83;--rust:#c76d46;--line:#d9ded7}*{box-sizing:border-box}body{margin:0;background:var(--cream);color:var(--ink);font:16px/1.5 ui-rounded,"Avenir Next",system-ui,sans-serif}main{max-width:850px;margin:auto;min-height:100vh;background:var(--paper);box-shadow:0 0 80px #334b4020;padding:25px 42px 35px}header{display:flex;align-items:center;gap:14px;border-bottom:1px solid var(--line);padding-bottom:18px}.mark,.face{display:grid;place-items:center;background:var(--sage);color:white;border-radius:50%;font:700 24px Georgia;width:48px;height:48px}h1{font:700 27px Georgia;margin:0}.tag{color:var(--muted);margin:0}.quiet{margin-left:auto;border:1px solid var(--line);background:white;border-radius:20px;padding:8px 14px;color:var(--ink)}#disclosure{font-size:13px;background:#fff3d8;border-left:4px solid #d6a63d;padding:10px 13px;margin:18px 0;border-radius:4px}#disclosure span{float:right;color:#75571e}#stage{display:flex;gap:22px;align-items:center;background:#e9f0eb;padding:22px;border-radius:18px;margin-bottom:14px;min-height:132px}.portrait{text-align:center;min-width:92px}.face{width:82px;height:82px;font-size:38px}.portrait span{display:block;font-size:10px;margin-top:5px;color:var(--muted)}.levels{height:14px;display:flex;justify-content:center;align-items:end;gap:2px;margin-top:-18px;position:relative}.levels i{width:3px;height:3px;background:white;border-radius:2px}.portrait[data-state=speaking] .levels i{animation:levels .55s ease-in-out infinite alternate}.portrait[data-state=speaking] .levels i:nth-child(2){animation-delay:.15s}.portrait[data-state=speaking] .levels i:nth-child(3){animation-delay:.3s}.portrait[data-state=thinking] .face{animation:breathe 1.3s ease-in-out infinite}.portrait[data-state=listening] .face{box-shadow:0 0 0 7px #6b8e8333}#avatarVideo{width:min(100%,520px);max-height:420px;border-radius:16px;background:#171716}h2{font:700 24px Georgia;margin:0 0 5px}#stage p{margin:0;color:var(--muted)}.stageCopy{flex:1}.toolbar{display:flex;gap:12px;align-items:center;flex-wrap:wrap;padding:8px 4px 12px;font-size:13px;color:var(--muted)}select{border:1px solid var(--line);border-radius:9px;background:white;padding:6px;color:var(--ink)}.toggle{margin-left:auto}#messages{min-height:180px;max-height:48vh;overflow:auto;padding:5px}.message{max-width:82%;padding:12px 15px;border-radius:15px;margin:10px 0;white-space:pre-wrap}.user{background:#e2ebe7;margin-left:auto;border-bottom-right-radius:3px}.assistant{background:#f4e7da;border-bottom-left-radius:3px}.message small{display:block;color:var(--muted);margin-bottom:3px}.avatarAction{display:block;margin-top:10px;border:1px solid #d7baa1;background:#fff8f0;border-radius:9px;padding:6px 9px;font-size:12px;color:var(--ink)}#quickActions{display:flex;gap:7px;overflow-x:auto;padding:5px 3px 10px}#quickActions button,#lessonHistory button{white-space:nowrap;border:1px solid var(--line);background:white;border-radius:18px;padding:7px 11px;color:var(--ink);font-size:13px}#transcriptReview{border:1px solid #9bb5ac;background:#eef5f1;border-radius:14px;padding:12px;margin-bottom:10px}#transcriptReview label{font-size:12px;color:var(--muted)}#transcriptReview textarea{display:block;width:100%;background:white;border:1px solid var(--line);border-radius:8px;margin:5px 0}#transcriptReview div{text-align:right}#sendTranscript{border:0;background:var(--rust);color:white;border-radius:9px;padding:7px 12px}#composer{display:flex;gap:9px;align-items:end;border:1px solid var(--line);border-radius:18px;padding:9px;background:white;box-shadow:0 6px 25px #30453a12}textarea{resize:none;flex:1;border:0;outline:0;padding:8px;font:inherit;max-height:130px}button{cursor:pointer;font:inherit}button:disabled{cursor:not-allowed;opacity:.55}#send,#mic{border:0;color:white;background:var(--rust);border-radius:12px;padding:10px 18px}#mic{background:var(--sage);width:43px;padding:10px}.recording{animation:pulse 1s infinite;background:#bc493f!important}#recordingHelp{font-size:11px;color:var(--muted);text-align:center;margin-top:8px}details{border-top:1px solid var(--line);margin-top:15px;padding-top:10px;color:var(--muted);font-size:13px}summary{cursor:pointer;color:var(--ink)}details div{padding:9px 2px}.error{background:#ffe4df!important}@keyframes pulse{50%{opacity:.55}}@keyframes breathe{50%{transform:scale(.96);opacity:.75}}@keyframes levels{to{height:12px}}@media(max-width:650px){main{padding:16px}#stage{padding:17px;align-items:flex-start;flex-wrap:wrap}.portrait{display:block;min-width:70px}.face{width:62px;height:62px}.stageCopy h2{font-size:20px}#disclosure span{float:none;display:block}.message{max-width:92%}.toggle{margin-left:0}.toolbar{gap:8px}#quickActions{margin-right:-16px}}
