/* MyAiSchool AI Tutor - Scoped styles (.mas-tutor-*) */

/* ── Container ── */
.mas-tutor-container{position:fixed;bottom:28px;right:28px;z-index:9990;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}

/* ── FAB ── */
.mas-tutor-fab{position:relative;width:58px;height:58px;border-radius:50%;background:linear-gradient(135deg,#004D40,#00897B);border:none;cursor:pointer;box-shadow:0 6px 24px rgba(0,77,64,.45);display:flex;align-items:center;justify-content:center;transition:transform .2s,box-shadow .2s}
.mas-tutor-fab:hover{transform:scale(1.1);box-shadow:0 10px 32px rgba(0,77,64,.55)}
.mas-tutor-fab svg{width:26px;height:26px;fill:#fff;pointer-events:none}
.mas-tutor-pulse{position:absolute;top:0;right:0;width:14px;height:14px;background:#F9A825;border-radius:50%;border:2px solid #fff;animation:masTutorPulse 1.8s ease infinite}
@keyframes masTutorPulse{0%{transform:scale(1);opacity:1}70%{transform:scale(1.4);opacity:.4}100%{transform:scale(1.6);opacity:0}}

/* ── Panel ── */
.mas-tutor-panel{position:fixed;bottom:100px;right:28px;z-index:9991;width:min(420px,calc(100vw - 32px));height:min(580px,calc(100vh - 130px));background:#fff;border-radius:20px;box-shadow:0 20px 60px rgba(0,0,0,.22);display:none;flex-direction:column;overflow:hidden;border:1px solid #B2DFDB}
.mas-tutor-panel.mas-tutor-open{display:flex;animation:masTutorSlide .25s ease}
@keyframes masTutorSlide{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}

/* ── Header ── */
.mas-tutor-header{background:linear-gradient(135deg,#004D40,#00695C);padding:14px 18px;display:flex;align-items:center;gap:10px;flex-shrink:0}
.mas-tutor-avatar{width:36px;height:36px;border-radius:50%;background:rgba(255,255,255,.18);display:flex;align-items:center;justify-content:center;font-size:18px;flex-shrink:0}
.mas-tutor-header-info{flex:1;min-width:0}
.mas-tutor-name{color:#fff;font-weight:700;font-size:14px;line-height:1.2}
.mas-tutor-topic{color:rgba(255,255,255,.7);font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mas-tutor-status{display:flex;align-items:center;gap:4px;margin-top:2px}
.mas-tutor-status-dot{width:7px;height:7px;border-radius:50%;background:#69F0AE;flex-shrink:0}
.mas-tutor-status-text{color:rgba(255,255,255,.6);font-size:10.5px}
.mas-tutor-credits-display{color:rgba(255,255,255,.8);font-size:11px;white-space:nowrap;text-align:right;line-height:1.4}
.mas-tutor-close{background:rgba(255,255,255,.15);border:none;color:#fff;width:30px;height:30px;border-radius:50%;cursor:pointer;font-size:18px;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background .15s}
.mas-tutor-close:hover{background:rgba(255,255,255,.28)}

/* ── TTS (Voice Output) Toggle Button ── */
.mas-tutor-tts{width:28px;height:28px;border-radius:50%;border:none;background:rgba(255,255,255,.15);cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background .15s;padding:0}
.mas-tutor-tts svg{width:15px;height:15px;fill:rgba(255,255,255,.55);pointer-events:none;transition:fill .15s}
.mas-tutor-tts:hover{background:rgba(255,255,255,.28)}
.mas-tutor-tts--on{background:rgba(105,240,174,.18)}
.mas-tutor-tts--on svg{fill:#69F0AE}
.mas-tutor-tts--unsupported{opacity:.35;cursor:not-allowed}

/* ── Messages ── */
.mas-tutor-messages{flex:1;overflow-y:auto;padding:14px;display:flex;flex-direction:column;gap:10px;scroll-behavior:smooth}
.mas-tutor-messages::-webkit-scrollbar{width:4px}
.mas-tutor-messages::-webkit-scrollbar-thumb{background:#B2DFDB;border-radius:2px}
.mas-tutor-msg{display:flex;gap:8px;align-items:flex-start;animation:masTutorMsgIn .2s ease}
@keyframes masTutorMsgIn{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}
.mas-tutor-msg--user{flex-direction:row-reverse}
.mas-tutor-msg-avatar{width:28px;height:28px;border-radius:50%;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;margin-top:2px}
.mas-tutor-msg--ai .mas-tutor-msg-avatar{background:#E0F2F1;color:#004D40;font-size:15px}
.mas-tutor-msg--user .mas-tutor-msg-avatar{background:#E65100;color:#fff}
.mas-tutor-msg-bubble{max-width:82%;padding:10px 13px;border-radius:14px;font-size:13.5px;line-height:1.65;word-break:break-word}
.mas-tutor-msg--ai .mas-tutor-msg-bubble{background:#F4F7F6;color:#1A2327;border-radius:4px 14px 14px 14px;border:1px solid #E0F2F1}
.mas-tutor-msg--user .mas-tutor-msg-bubble{background:linear-gradient(135deg,#004D40,#00695C);color:#fff;border-radius:14px 4px 14px 14px}
.mas-tutor-msg-bubble code{background:rgba(0,0,0,.08);padding:1px 5px;border-radius:4px;font-family:monospace;font-size:12px}
.mas-tutor-msg-bubble strong{font-weight:700}

/* ── Typing indicator ── */
.mas-tutor-typing{display:flex;align-items:center;gap:4px;padding:10px 13px;background:#F4F7F6;border-radius:4px 14px 14px 14px;border:1px solid #E0F2F1;width:fit-content}
.mas-tutor-typing span{width:7px;height:7px;border-radius:50%;background:#00897B;display:inline-block;animation:masTutorBounce 1.2s ease infinite}
.mas-tutor-typing span:nth-child(2){animation-delay:.2s}
.mas-tutor-typing span:nth-child(3){animation-delay:.4s}
@keyframes masTutorBounce{0%,60%,100%{transform:translateY(0)}30%{transform:translateY(-6px)}}

/* ── Suggestions ── */
.mas-tutor-suggestions{padding:0 12px 8px;display:flex;flex-wrap:wrap;gap:6px;flex-shrink:0}
.mas-tutor-chip{background:#E0F2F1;color:#004D40;border:1px solid #B2DFDB;font-size:12px;padding:5px 10px;border-radius:20px;cursor:pointer;transition:all .15s;font-weight:500}
.mas-tutor-chip:hover{background:#004D40;color:#fff;border-color:#004D40}

/* ── Input area ── */
.mas-tutor-input-area{border-top:1px solid #E0F2F1;padding:10px 12px;display:flex;gap:8px;flex-shrink:0;background:#FAFFFE;align-items:flex-end}
.mas-tutor-input{flex:1;border:1.5px solid #B2DFDB;border-radius:20px;padding:8px 14px;font-size:13.5px;font-family:inherit;outline:none;resize:none;background:#fff;color:#1A2327;transition:border-color .15s;max-height:100px;min-height:38px;line-height:1.5}
.mas-tutor-input:focus{border-color:#00897B}
.mas-tutor-input::placeholder{color:#90A4AE}

/* ── Mic (Voice Input) Button ── */
.mas-tutor-mic{width:36px;height:36px;border-radius:50%;border:1.5px solid #B2DFDB;background:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background .15s,border-color .15s;padding:0}
.mas-tutor-mic--unsupported{opacity:.4;cursor:not-allowed;border-color:#CFD8DC}
.mas-tutor-mic--unsupported svg{fill:#90A4AE !important}
.mas-tutor-mic svg{width:18px;height:18px;fill:#00897B;pointer-events:none;transition:fill .15s}
.mas-tutor-mic:hover{background:#E0F2F1;border-color:#00897B}
.mas-tutor-mic--listening{background:#E53935 !important;border-color:#E53935 !important;animation:masTutorMicPulse 1s ease infinite}
.mas-tutor-mic--listening svg{fill:#fff !important}
@keyframes masTutorMicPulse{0%,100%{box-shadow:0 0 0 0 rgba(229,57,53,.4)}50%{box-shadow:0 0 0 6px rgba(229,57,53,0)}}

/* ── Send Button ── */
.mas-tutor-send{width:40px;height:40px;border-radius:50%;border:none;background:linear-gradient(135deg,#004D40,#00897B);color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:transform .15s,opacity .15s;flex-shrink:0}
.mas-tutor-send:hover{transform:scale(1.08)}
.mas-tutor-send:disabled{opacity:.4;cursor:not-allowed;transform:none}
.mas-tutor-send svg{width:17px;height:17px;fill:#fff;pointer-events:none}

/* ── Toast notice (voice API feedback) ── */
.mas-tutor-toast{background:#37474F;color:#fff;font-size:12.5px;padding:8px 12px;border-radius:8px;text-align:center;animation:masTutorMsgIn .2s ease;margin-top:4px}

/* ── Not-logged-in notice ── */
.mas-tutor-login-notice{padding:16px;text-align:center;font-size:13.5px;color:#546E7A}
.mas-tutor-login-notice a{color:#004D40;font-weight:600}

@media(max-width:480px){
	.mas-tutor-container{bottom:16px;right:16px}
	.mas-tutor-panel{bottom:84px;right:16px;height:min(520px,calc(100vh - 110px))}
}

/* KaTeX equation rendering in chat */
.mas-tutor-msg-bubble .katex{font-size:1.05em;}
.mas-tutor-msg-bubble .katex-display{margin:8px 0;overflow-x:auto;overflow-y:hidden;padding:4px 0;}
.mas-tutor-msg-bubble .katex-display>.katex{text-align:left;}
.mas-tutor-msg-bubble .katex .base{white-space:normal;}

/* ═══ Alive Tutor FAB ═══ */
.mas-tutor-fab--alive{animation:masTutorBreathing 3s ease-in-out infinite;}
@keyframes masTutorBreathing{0%,100%{transform:scale(1)}50%{transform:scale(1.04)}}
.mas-tutor-fab__online-dot{position:absolute;top:6px;right:6px;width:10px;height:10px;background:#4caf50;border-radius:50%;border:2px solid #fff;animation:masTutorOnlinePulse 2s ease-in-out infinite;}
@keyframes masTutorOnlinePulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(1.2)}}

/* ═══ "Talk to Gaura" Prominent Voice CTA ═══ */
.mas-tutor-voice-cta{padding:6px 10px;border-top:1px solid rgba(0,0,0,.06);}
.mas-tutor-voice-cta__btn{display:flex;align-items:center;gap:10px;width:100%;padding:10px 14px;border:none;border-radius:12px;background:linear-gradient(135deg,#004D40 0%,#00897B 100%);color:#fff;cursor:pointer;transition:all .25s;position:relative;overflow:hidden;}
.mas-tutor-voice-cta__btn:hover{transform:translateY(-1px);box-shadow:0 4px 16px rgba(0,77,64,.35);}
.mas-tutor-voice-cta__btn:active{transform:translateY(0);}
.mas-tutor-voice-cta__btn::before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.08) 50%,transparent 100%);animation:masTutorCTAShimmer 3s ease-in-out infinite;}
@keyframes masTutorCTAShimmer{0%{transform:translateX(-100%)}100%{transform:translateX(100%)}}
.mas-tutor-voice-cta__avatar{position:relative;flex-shrink:0;width:36px;height:36px;display:flex;align-items:center;justify-content:center;}
.mas-tutor-voice-cta__avatar-face{font-size:24px;z-index:1;position:relative;}
.mas-tutor-voice-cta__avatar-ring{position:absolute;inset:0;border-radius:50%;border:2px solid rgba(255,255,255,.3);animation:masTutorRingPulse 2s ease-in-out infinite;}
.mas-tutor-voice-cta__text{flex:1;text-align:left;line-height:1.3;}
.mas-tutor-voice-cta__text strong{display:block;font-size:14px;font-weight:700;letter-spacing:.01em;}
.mas-tutor-voice-cta__text small{display:block;font-size:11px;opacity:.75;font-weight:400;}
.mas-tutor-voice-cta__icon{flex-shrink:0;width:32px;height:32px;background:rgba(255,255,255,.15);border-radius:50%;display:flex;align-items:center;justify-content:center;transition:background .2s;}
.mas-tutor-voice-cta__btn:hover .mas-tutor-voice-cta__icon{background:rgba(255,255,255,.25);}
.mas-tutor-voice-cta__icon svg{color:#fff;}

/* ═══ Voice Mode Overlay ═══ */
.mas-tutor-voice-overlay{position:absolute;inset:0;background:#1a2327;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:20px;z-index:10;border-radius:inherit;}
.mas-tutor-voice-indicator{position:relative;width:100px;height:100px;margin-bottom:16px;display:flex;align-items:center;justify-content:center;}
.mas-tutor-voice-indicator__ring{position:absolute;inset:0;border-radius:50%;border:3px solid rgba(0,137,123,.3);transition:all .3s;}
.mas-tutor-voice-indicator__icon{font-size:32px;z-index:1;}
.mas-tutor-voice-indicator--connecting .mas-tutor-voice-indicator__ring{border-color:rgba(255,193,7,.5);animation:masTutorRingPulse 1.5s ease-in-out infinite;}
.mas-tutor-voice-indicator--listening .mas-tutor-voice-indicator__ring{border-color:#00897B;animation:masTutorRingPulse 1.2s ease-in-out infinite;box-shadow:0 0 20px rgba(0,137,123,.3);}
.mas-tutor-voice-indicator--speaking .mas-tutor-voice-indicator__ring{border-color:#4dd0b0;animation:masTutorRingWave .8s ease-in-out infinite;box-shadow:0 0 30px rgba(77,208,176,.4);}
@keyframes masTutorRingPulse{0%,100%{transform:scale(1);opacity:.8}50%{transform:scale(1.15);opacity:1}}
@keyframes masTutorRingWave{0%,100%{transform:scale(1);opacity:.7}50%{transform:scale(1.25);opacity:1}}

.mas-tutor-voice-status{color:#80CBC4;font-size:14px;font-weight:600;margin-bottom:12px;text-align:center;}
.mas-tutor-voice-transcript{flex:1;width:100%;overflow-y:auto;margin-bottom:12px;padding:8px;background:rgba(255,255,255,.05);border-radius:8px;min-height:60px;max-height:200px;}
.mas-tutor-voice-transcript-line{padding:4px 0;font-size:12px;color:#b0bec5;line-height:1.4;}
.mas-tutor-voice-transcript-line--ai{color:#80CBC4;}
.mas-tutor-voice-transcript-line--user{color:#fff;}
.mas-tutor-voice-controls{display:flex;align-items:center;gap:12px;width:100%;}
.mas-tutor-voice-timer{color:#80CBC4;font-size:13px;font-weight:600;font-variant-numeric:tabular-nums;}
.mas-tutor-voice-stop{flex:1;padding:10px;background:#c62828;color:#fff;border:none;border-radius:8px;font-size:13px;font-weight:600;cursor:pointer;transition:background .15s;}
.mas-tutor-voice-stop:hover{background:#b71c1c;}