.learning-assistant{width:300px;padding:18px 14px 24px;align-self:start;display:flex;flex-direction:column;align-items:center;background:linear-gradient(165deg,#ecf5ef 5%,#f6f2e5 100%);border:1px solid #e3ebe1;border-radius:32px;color:#294746;box-sizing:border-box;isolation:isolate}
.assistant-bubble{position:relative;width:100%;min-height:154px;padding:20px 22px;background:#fffef9;border:1px solid #fff;border-radius:25px 25px 25px 9px;box-shadow:0 8px 24px #405b4610,0 2px 3px #405b4604;box-sizing:border-box}
.assistant-bubble:after{content:'';position:absolute;bottom:-7px;left:35px;width:16px;height:16px;background:#fffef9;border-radius:0 0 5px 0;transform:rotate(45deg);z-index:-1}
.assistant-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:28px;margin-bottom:10px}
.assistant-label{display:inline-flex;align-items:center;gap:5px;color:#2a7469;background:#eaf5ee;padding:3px 9px 3px 6px;border-radius:99px;font-size:12px;line-height:18px;font-weight:600;margin:0;white-space:nowrap}
.assistant-label svg{width:17px;height:17px;flex:none;color:#398a78}
.assistant-reveal{flex:none;min-height:28px;padding:3px 5px;border:0;border-radius:7px;background:transparent;color:#657772;font:inherit;font-size:11px;line-height:18px;cursor:pointer;touch-action:manipulation}
.assistant-reveal[hidden]{display:none}
.assistant-reveal:hover{color:#246e62;background:#edf5ee}
.assistant-reveal:focus-visible{outline:2px solid #6aa7cd;outline-offset:3px;border-radius:3px}
.assistant-message{margin:0;overflow-wrap:anywhere;white-space:pre-wrap;font-size:20px;line-height:1.7;font-weight:500;letter-spacing:.015em;color:#294746}
.assistant-character{position:relative;top:0;opacity:1}
.is-typing .assistant-character{opacity:0}
.is-typing .assistant-character.is-revealed{opacity:1;animation:assistant-letter-in 130ms ease-out both}
.is-typing .assistant-character.is-settled{animation:none}
.is-typing .assistant-character.is-current:after{content:'';position:absolute;right:-.16em;top:.2em;width:2px;height:.92em;border-radius:2px;background:#418b77;animation:assistant-caret 1s ease-in-out infinite;pointer-events:none}
@keyframes assistant-letter-in{from{opacity:0;top:.06em}to{opacity:1;top:0}}
@keyframes assistant-caret{0%,65%,100%{opacity:1}80%{opacity:.25}}
.assistant-bubble-footer{display:flex;align-items:center;gap:8px;min-height:18px;margin-top:10px}
.assistant-speaking-dots{display:inline-flex;align-items:center;gap:3px;flex:none;width:22px;opacity:0}
.assistant-speaking-dots i{display:block;width:4px;height:4px;border-radius:50%;background:#6b9f85}
.learning-assistant:is(.is-typing,.is-speaking) .assistant-speaking-dots{opacity:1}
.learning-assistant:is(.is-typing,.is-speaking) .assistant-speaking-dots i{animation:assistant-dot 1.4s ease-in-out infinite}
.assistant-speaking-dots i:nth-child(2){animation-delay:.17s!important}.assistant-speaking-dots i:nth-child(3){animation-delay:.34s!important}
@keyframes assistant-dot{0%,65%,100%{transform:translateY(0);opacity:.5}32%{transform:translateY(-2px);opacity:1}}
.assistant-tail{display:none}
.assistant-robot{width:276px;max-width:100%;height:358.8px;position:relative;margin-top:20px;isolation:isolate;flex:none}
.assistant-robot:before{content:'';position:absolute;z-index:-1;left:18%;right:18%;height:6%;bottom:7%;background:radial-gradient(ellipse,#6c9b8438,transparent 72%);border-radius:50%}
.assistant-robot:after{content:'';position:absolute;z-index:-2;left:0;right:0;top:12%;bottom:9%;border-radius:48% 48% 42% 42%;background:radial-gradient(ellipse,#ffffffad 0%,#e2f0dd7d 56%,transparent 73%)}
.assistant-poster,.assistant-robot canvas{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}
.assistant-robot canvas{opacity:0}
.assistant-robot[data-nao-ready=true]:not([data-nao-fallback=active]) canvas:not(.assistant-motion){opacity:1}
.assistant-robot[data-nao-fallback=active] .assistant-motion{opacity:1}
.assistant-robot:is([data-nao-ready=true],[data-nao-fallback=active]) .assistant-poster{visibility:hidden}
.assistant-controls{min-height:60px;display:flex;align-items:center;flex-direction:column;gap:8px;width:100%;margin-top:8px}
.assistant-replay{min-height:44px;min-width:140px;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 18px;border:1px solid #d5e4d7;border-radius:99px;background:#fffef9;color:#2b7368;font:inherit;font-size:14px;font-weight:600;cursor:pointer;transition:background var(--duration-fast,160ms),box-shadow var(--duration-fast,160ms);box-shadow:0 3px 0 #dce8dc}
.assistant-replay svg{width:20px;height:20px;flex:none;overflow:visible}
.assistant-replay:hover{background:#f3f8ed;border-color:#b8d2bf;box-shadow:0 3px 0 #ccdcca}
.assistant-replay:focus-visible{outline:3px solid #93c6df;outline-offset:3px}
.assistant-replay:disabled{cursor:default;color:#8393a5;background:#f4f7fa;border-color:#e1e9f2}
.assistant-status{display:block;min-height:18px;color:#62736b;font-size:11px;line-height:18px;margin:0;overflow-wrap:anywhere}
.assistant-status:empty{visibility:hidden}
.assistant-presence{font-size:12px;line-height:22px;color:#637e6f;text-align:center;margin:16px 0 0}
.assistant-presence>span{color:#be8f38;margin-right:4px}
.learning-assistant.is-speaking .assistant-label{color:#246c5e}
.learning-assistant[data-voice-state=loading] .assistant-replay svg{opacity:.55}
@media(max-width:760px){
 .learning-assistant{width:100%;padding:0;display:grid;grid-template-columns:88px minmax(0,1fr);gap:0 12px;align-items:center;background:transparent;border:0;border-radius:0;position:relative}
 .assistant-robot{grid-column:1;grid-row:1;width:88px;height:114px;margin:0;max-width:none}
 .assistant-bubble{grid-column:2;grid-row:1;min-height:114px;border-radius:18px 18px 18px 7px;padding:13px 16px;align-self:center}
 .assistant-bubble:after{display:none}
 .assistant-heading{margin-bottom:5px;min-height:24px;gap:4px}
 .assistant-label{font-size:11px;line-height:16px}
 .assistant-label svg{width:14px;height:14px}
 .assistant-reveal{font-size:10px;min-height:24px}
 .assistant-message{font-size:16px;line-height:25px}
 .assistant-controls{grid-column:1/-1;grid-row:2;flex-direction:row;justify-content:flex-end;min-height:44px;margin-top:4px;gap:8px}
 .assistant-replay{min-width:120px;font-size:13px;padding:8px 12px}
 .assistant-status{font-size:11px;text-align:left;max-width:150px}
 .assistant-bubble-footer{margin-top:5px;min-height:16px}
 .assistant-presence{display:none}
}
@media(prefers-reduced-motion:reduce){.learning-assistant *{animation:none!important;transition:none!important}.learning-assistant .assistant-character{top:0!important}}
.learning-assistant.motion-disabled *{animation:none!important;transition:none!important}
.learning-assistant.motion-disabled .assistant-character{top:0!important}
