.ai-tutor-hero{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:28px;margin:12px 0 18px;border-radius:28px;background:linear-gradient(135deg,#4f46e5,#7c3aed 58%,#a855f7);color:#fff;box-shadow:0 18px 45px rgba(79,70,229,.2)}
.ai-tutor-hero h1{margin:8px 0;font-size:clamp(30px,5vw,48px)}
.ai-tutor-hero p{max-width:650px;margin:0;font-size:18px;line-height:1.55;color:#f2efff}
.ai-live-pill{display:inline-flex;align-items:center;gap:6px;padding:7px 12px;border:1px solid rgba(255,255,255,.35);border-radius:999px;background:rgba(255,255,255,.14);font-size:12px;font-weight:900;letter-spacing:.08em}
.ai-tutor-avatar{display:grid;place-items:center;flex:0 0 112px;width:112px;height:112px;border-radius:32px;background:rgba(255,255,255,.2);font-size:62px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.28)}
.ai-tutor-settings{display:flex;align-items:center;justify-content:space-between;gap:18px}
.ai-tutor-settings h3,.ai-tutor-settings p{margin:0}
.ai-tutor-settings p{margin-top:5px;color:#747b98}
.ai-accent-switch{display:flex;gap:8px;padding:5px;border-radius:16px;background:#eef0ff}
.ai-accent-switch button{border:0;border-radius:12px;background:transparent;padding:11px 14px;font:inherit;font-weight:800;cursor:pointer}
.ai-accent-switch button.active{background:#fff;color:#4f46e5;box-shadow:0 4px 14px rgba(65,70,130,.13)}
.ai-tutor-alert,.ai-tutor-error{margin:16px 0;padding:14px 16px;border-radius:16px;background:#fff4df;color:#7a4d00;font-weight:750}
.ai-tutor-mission{width:100%;text-align:left}
.ai-tutor-mission small{display:block;margin-top:4px;color:#767d98;font-size:13px}
.ai-tutor-mission:disabled{cursor:not-allowed;opacity:.58}
.ai-voice-disclosure{margin:15px 4px;color:#777e99;font-size:12px;text-align:center}
.ai-tutor-head{align-items:center}
.ai-tutor-head>div{flex:1}
.ai-tutor-head h2,.ai-tutor-head small{margin:0}
.ai-tutor-head small{color:#737b98;font-weight:750}
.ai-live-dot{white-space:nowrap;color:#12a36d;font-size:13px;font-weight:900}
.ai-tutor-session{padding:0;overflow:hidden}
.ai-session-meta{display:flex;flex-wrap:wrap;gap:8px;padding:13px 16px;border-bottom:1px solid #e7e9f5;background:#fafaff}
.ai-session-meta span{padding:7px 10px;border-radius:999px;background:#eef0ff;color:#515978;font-size:12px;font-weight:800}
.ai-chat-log{min-height:350px;max-height:55vh;overflow-y:auto;padding:22px;background:linear-gradient(180deg,#fbfbff,#f5f6ff)}
.ai-chat-row{display:flex;align-items:flex-end;gap:9px;margin:0 0 16px}
.ai-chat-row.amy{padding-right:10%}
.ai-chat-row.learner{justify-content:flex-end;padding-left:15%}
.ai-chat-avatar{display:grid;place-items:center;flex:0 0 38px;width:38px;height:38px;border-radius:13px;background:#e5e7ff;font-size:22px}
.ai-chat-row .teacher-bubble,.ai-chat-row .student-bubble{width:auto;max-width:720px;margin:0;padding:15px 17px;font-size:16px;font-weight:500;box-shadow:0 6px 20px rgba(44,49,92,.08)}
.ai-chat-row .teacher-bubble{border:1px solid #dfe1ff;background:#fff;border-radius:20px 20px 20px 5px}
.ai-chat-row .student-bubble{border:1px solid #d8cbff;background:#5b50e8;color:#fff;border-radius:20px 20px 5px 20px}
.ai-chat-row p{margin:5px 0 0;line-height:1.5}
.ai-chat-row .mini-audio{margin-top:9px;padding:6px 10px;border-radius:10px;background:#eef0ff;color:#4f46e5;font-size:12px;font-weight:800;cursor:pointer}
.ai-chat-empty{display:grid;place-items:center;min-height:260px;color:#69718e;text-align:center}
.ai-chat-empty>div{font-size:52px}
.ai-thinking{display:flex;align-items:center;gap:5px;color:#6b7290}
.ai-thinking i{width:7px;height:7px;border-radius:50%;background:#746ced;animation:aiTutorPulse 1s infinite alternate}
.ai-thinking i:nth-child(2){animation-delay:.2s}.ai-thinking i:nth-child(3){animation-delay:.4s}
.ai-thinking span{margin-left:6px;font-size:13px;font-weight:700}
@keyframes aiTutorPulse{to{transform:translateY(-4px);opacity:.45}}
.ai-tutor-error{margin:12px 16px 0;background:#fff0f1;color:#9f2937}
.ai-tutor-error button{margin-left:8px;border:0;border-radius:9px;padding:6px 9px;background:#9f2937;color:#fff;font-weight:800;cursor:pointer}
.ai-tutor-compose{padding:16px 18px 18px;border-top:1px solid #e7e9f5;background:#fff}
.ai-tutor-compose label{display:block;margin-bottom:7px;color:#515978;font-size:13px;font-weight:850}
.ai-tutor-compose textarea{box-sizing:border-box;width:100%;resize:vertical;min-height:68px;padding:13px 14px;border:2px solid #dfe2f2;border-radius:15px;font:inherit;line-height:1.4;outline:none}
.ai-tutor-compose textarea:focus{border-color:#7068ee;box-shadow:0 0 0 3px rgba(112,104,238,.12)}
.ai-tutor-compose textarea[readonly]{border-color:#9d97f5;background:#f8f7ff;box-shadow:0 0 0 3px rgba(112,104,238,.09)}
.ai-speech-status{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:28px;padding:6px 2px 0;color:#656d8a;font-size:12px}
.ai-speech-status span{line-height:1.35}.ai-speech-status b{flex:none;color:#4f46e5;font-variant-numeric:tabular-nums}
.ai-compose-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:10px}
.ai-mic-button.listening{border-color:#eb4763;background:#fff0f3;color:#c42645;animation:aiTutorMic 1s infinite alternate}
@keyframes aiTutorMic{to{box-shadow:0 0 0 5px rgba(235,71,99,.12)}}
.ai-voice-status{margin-top:9px;color:#737b98;font-size:12px;text-align:right}
.ai-transcript-note{margin-top:8px;padding:8px 10px;border-radius:10px;background:#f5f6ff;color:#69718e;font-size:11px;line-height:1.4;text-align:left}
@media(max-width:700px){.ai-tutor-hero{align-items:flex-start;padding:22px}.ai-tutor-avatar{flex-basis:72px;width:72px;height:72px;border-radius:22px;font-size:40px}.ai-tutor-settings{align-items:flex-start;flex-direction:column}.ai-accent-switch{width:100%}.ai-accent-switch button{flex:1}.ai-tutor-head{flex-wrap:wrap}.ai-live-dot{margin-left:auto}.ai-chat-log{min-height:320px;padding:15px}.ai-chat-row.amy{padding-right:2%}.ai-chat-row.learner{padding-left:8%}.ai-chat-avatar{display:none}.ai-compose-actions{display:grid;grid-template-columns:1fr 1fr}.ai-compose-actions button{width:100%}}

.ai-realtime-notice{margin:14px 0;padding:13px 16px;border:1px solid #bcebd8;border-radius:15px;background:#ecfff7;color:#087552;font-weight:800}
.ai-realtime-launch{position:relative;display:grid;grid-template-columns:minmax(0,1.35fr) minmax(270px,.65fr);gap:26px;align-items:center;margin:18px 0 24px;padding:25px;overflow:hidden;border:1px solid #d9d7ff;background:linear-gradient(135deg,#fff 0%,#f4f2ff 62%,#ece9ff 100%);box-shadow:0 16px 40px rgba(77,67,196,.12)}
.ai-realtime-launch:after{position:absolute;right:-85px;bottom:-110px;width:240px;height:240px;border-radius:50%;background:rgba(112,104,238,.1);content:"";pointer-events:none}
.ai-realtime-launch-copy,.ai-realtime-launch-action{position:relative;z-index:1}
.ai-realtime-launch h2{margin:9px 0 7px;color:#171b3c;font-size:clamp(25px,3vw,34px)}
.ai-realtime-launch p{max-width:720px;margin:0;color:#626a87;font-size:16px;line-height:1.55}
.ai-realtime-badge{display:inline-flex;align-items:center;width:max-content;padding:6px 10px;border-radius:999px;background:#e8e6ff;color:#554bdd;font-size:11px;font-weight:900;letter-spacing:.07em}
.ai-realtime-facts{display:flex;flex-wrap:wrap;gap:7px;margin-top:14px}
.ai-realtime-facts span{padding:7px 9px;border-radius:10px;background:rgba(255,255,255,.82);color:#525a78;font-size:11px;font-weight:800;box-shadow:inset 0 0 0 1px rgba(111,103,225,.1)}
.ai-realtime-launch-action{display:grid;gap:9px;padding:17px;border:1px solid rgba(105,96,222,.16);border-radius:19px;background:rgba(255,255,255,.86);box-shadow:0 8px 25px rgba(57,52,123,.1)}
.ai-realtime-launch-action label{color:#4f5673;font-size:12px;font-weight:850}
.ai-realtime-select{box-sizing:border-box;width:100%;min-height:45px;padding:10px 12px;border:1.5px solid #d7d9ea;border-radius:12px;background:#fff;color:#242946;font:inherit;font-weight:700;outline:none}
.ai-realtime-select:focus{border-color:#6f67e7;box-shadow:0 0 0 3px rgba(111,103,231,.12)}
.ai-realtime-start{width:100%;min-height:47px}
.ai-realtime-launch-action small{color:#777e99;text-align:center}
.ai-realtime-stage{padding:0;overflow:hidden;border:1px solid #dddff1}
.ai-realtime-stage audio{display:none}
.ai-realtime-stage-head{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:20px;align-items:center;padding:25px;background:linear-gradient(135deg,#4f46e5,#7167ee 58%,#8b5de7);color:#fff}
.ai-realtime-stage-copy h1{margin:7px 0 2px;font-size:clamp(27px,4vw,40px)}
.ai-realtime-stage-copy p{margin:0;color:#f1efff;font-size:16px;font-weight:700}
.ai-realtime-stage .ai-realtime-badge{border:1px solid rgba(255,255,255,.24);background:rgba(255,255,255,.14);color:#fff}
.ai-realtime-orb{position:relative;display:grid;place-items:center;flex:none;width:92px;height:92px;border-radius:50%;background:rgba(255,255,255,.19);box-shadow:inset 0 0 0 1px rgba(255,255,255,.26),0 10px 30px rgba(39,31,127,.24)}
.ai-realtime-orb span{position:relative;z-index:2;font-size:48px}
.ai-realtime-orb i{position:absolute;inset:-7px;border:2px solid rgba(255,255,255,.5);border-radius:50%;opacity:0}
.ai-realtime-orb[data-mode="connecting"] i,.ai-realtime-orb[data-mode="thinking"] i,.ai-realtime-orb[data-mode="speaking"] i,.ai-realtime-orb[data-mode="listening"] i{animation:aiRealtimeWave 1.8s infinite}
.ai-realtime-orb i:nth-child(2){animation-delay:.35s}.ai-realtime-orb i:nth-child(3){animation-delay:.7s}
.ai-realtime-orb[data-mode="listening"]{background:rgba(34,197,139,.32)}
.ai-realtime-orb[data-mode="speaking"]{background:rgba(255,196,74,.28)}
.ai-realtime-orb[data-mode="error"]{background:rgba(244,91,112,.35)}
.ai-realtime-orb[data-mode="muted"]{filter:grayscale(.7)}
@keyframes aiRealtimeWave{0%{transform:scale(.82);opacity:.7}100%{transform:scale(1.28);opacity:0}}
.ai-realtime-time{min-width:95px;padding:11px 13px;border:1px solid rgba(255,255,255,.24);border-radius:16px;background:rgba(255,255,255,.14);text-align:center}
.ai-realtime-time small{display:block;color:#e9e7ff;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.07em}
.ai-realtime-time strong{display:block;margin-top:2px;font-size:23px;font-variant-numeric:tabular-nums}
.ai-realtime-topic{display:flex;flex-wrap:wrap;gap:8px;padding:13px 18px;border-bottom:1px solid #e5e6f2;background:#fafaff}
.ai-realtime-topic span{padding:7px 10px;border-radius:999px;background:#edefff;color:#515978;font-size:11px;font-weight:800}
.ai-realtime-voice-only{display:grid;place-items:center;align-content:center;gap:10px;min-height:280px;padding:24px;background:radial-gradient(circle at 50% 42%,#fff 0%,#f8f7ff 42%,#f1f2ff 100%);color:#242946;text-align:center}
.ai-realtime-voice-only b{font-size:20px}.ai-realtime-voice-only p{max-width:540px;margin:0;color:#707895;font-size:13px;line-height:1.5}
.ai-realtime-voice-flow{display:flex;align-items:center;justify-content:center;gap:13px;margin-bottom:7px}
.ai-realtime-voice-flow span{display:grid;place-items:center;width:64px;height:64px;border:1px solid #dddfff;border-radius:22px;background:#fff;font-size:31px;box-shadow:0 10px 28px rgba(71,65,156,.12)}
.ai-realtime-voice-flow i{width:46px;height:3px;border-radius:999px;background:linear-gradient(90deg,#8e87f4,#5b50e8)}
.ai-realtime-error{margin:14px 18px 0;padding:14px 16px;border:1px solid #ffd3d9;border-radius:15px;background:#fff0f2;color:#92263a}
.ai-realtime-error p{margin:0 0 10px;font-weight:750}
.ai-realtime-error button{margin:0 8px 0 0}
.ai-realtime-controls{display:flex;justify-content:center;gap:10px;padding:17px 18px 8px;border-top:1px solid #e5e6f2;background:#fff}
.ai-realtime-controls button{min-width:150px;min-height:45px}
.ai-realtime-controls button[hidden]{display:none}
.ai-realtime-end{border:1px solid #f1c5cc;border-radius:13px;background:#fff3f5;color:#a92942;font:inherit;font-weight:850;cursor:pointer}
.ai-realtime-help{margin:0;padding:6px 18px 17px;background:#fff;color:#757d99;font-size:11px;line-height:1.45;text-align:center}
@media(max-width:900px){.ai-realtime-launch{grid-template-columns:1fr}.ai-realtime-stage-head{gap:14px;padding:20px}.ai-realtime-orb{width:76px;height:76px}.ai-realtime-orb span{font-size:40px}.ai-realtime-topic span:last-child{display:none}}
@media(max-width:620px){.ai-realtime-stage-head{grid-template-columns:auto 1fr}.ai-realtime-time{grid-column:1/-1;width:auto}.ai-realtime-voice-only{min-height:245px;padding:18px}.ai-realtime-voice-flow{gap:7px}.ai-realtime-voice-flow span{width:52px;height:52px;border-radius:18px;font-size:26px}.ai-realtime-voice-flow i{width:24px}.ai-realtime-controls{display:grid;grid-template-columns:1fr}.ai-realtime-controls button{width:100%}.ai-realtime-error button{display:block;width:100%;margin:8px 0 0}}
