/* Lumi 2: animações de transformação/opacity; sem vídeo, canvas ou bibliotecas. */
.lumi-face{isolation:isolate;--lumi-status:#b0c7ef;position:relative}
.lumi-face::before{content:"";position:absolute;inset:24% 15% 17%;z-index:-1;border-radius:45%;background:var(--lumi-status);opacity:.12;box-shadow:0 0 28px 12px var(--lumi-status)}
.lumi-character-body{transform-box:view-box;transform-origin:60px 61px;animation:lumi-soft-float 5.5s ease-in-out infinite!important}
.lumi-soft-shadow{transform-origin:60px 103px;animation:lumi-soft-shadow 5.5s ease-in-out infinite}
.lumi-eye{animation:lumi-soft-blink 7s infinite!important;transform-origin:center}
.lumi-happy-eyes,.lumi-love-eyes,.lumi-sleepy-eyes,.lumi-soft-hands,.lumi-love-sparkles,.lumi-emotion-badge{opacity:0;transition:opacity .22s ease}
.lumi-neutral-eyes{transition:opacity .16s ease}.lumi-alert-mark,.lumi-thinking-dots{display:none}
.lumi-face[data-expression="happy"] .lumi-neutral-eyes,.lumi-face[data-expression="love"] .lumi-neutral-eyes,.lumi-face[data-expression="sleepy"] .lumi-neutral-eyes{opacity:0}
.lumi-face[data-expression="happy"] .lumi-happy-eyes,.lumi-face[data-expression="love"] .lumi-love-eyes,.lumi-face[data-expression="sleepy"] .lumi-sleepy-eyes{opacity:1}
.lumi-face[data-expression="happy"] .lumi-soft-hands,.lumi-face[data-expression="love"] .lumi-soft-hands{opacity:1}
.lumi-face[data-expression="happy"] .lumi-hand-right{transform-origin:100px 66px;animation:lumi-soft-wave .65s ease-in-out 3}
.lumi-face[data-expression="love"]{--lumi-status:#eab0ca}.lumi-face[data-expression="love"] .lumi-love-sparkles{opacity:1;animation:lumi-soft-hearts 2.5s ease-out infinite}
.lumi-face[data-expression="alert"]{--lumi-status:#e9c57f}.lumi-face[data-expression="thinking"]{--lumi-status:#96b9f0}
.lumi-face[data-expression="alert"] .lumi-emotion-badge,.lumi-face[data-expression="thinking"] .lumi-emotion-badge{opacity:1}
.lumi-face[data-expression="alert"] .lumi-alert-mark{display:block}.lumi-face[data-expression="thinking"] .lumi-thinking-dots{display:block}
.lumi-thinking-dots circle{animation:lumi-soft-dot 1.2s ease-in-out infinite}.lumi-thinking-dots circle:nth-child(2){animation-delay:.15s}.lumi-thinking-dots circle:nth-child(3){animation-delay:.3s}
.lumi-face[data-expression="thinking"] .lumi-gaze{transform:translateY(-2px)}
.lumi-face.motion-quiet .lumi-character-body,.lumi-face.motion-quiet .lumi-eye,.lumi-face.motion-quiet .lumi-soft-shadow{animation:none!important}
.lumi-face.motion-gentle .lumi-character-body{animation-duration:7s!important}
.shell .topbar>.lumi-widget.lumi-companion{position:absolute;left:50%!important;right:auto!important;top:0px!important;bottom:auto!important;transform:translateX(-50%)!important;width:116px!important;max-width:none!important;display:flex;align-items:center;padding:0!important;background:none!important;border:0!important;box-shadow:none!important;z-index:45}
.shell .topbar>.lumi-widget.lumi-companion .lumi-launch{width:116px;min-height:108px;display:grid;place-items:center;background:none;transition:transform .25s ease}
.shell .topbar>.lumi-widget.lumi-companion .lumi-face,.shell .topbar>.lumi-widget.lumi-companion .lumi-launch[aria-expanded="true"] .lumi-face{width:116px!important;height:108px!important;transform:none!important}
.lumi-companion .lumi-launch:hover{transform:scale(1.06)}.lumi-companion .lumi-launch:active{transform:scale(.95)}
.lumi-companion .lumi-panel{position:absolute!important;top:22px!important;left:calc(100% + 12px)!important;right:auto!important;bottom:auto!important;width:340px!important;max-width:calc(50vw - 84px);max-height:72dvh;overflow:auto}
.lumi-companion .lumi-speech-slot{position:absolute;left:calc(100% - 3px);top:19px;width:290px;max-width:calc(50vw - 82px)}
.lumi-speech{position:relative;background:var(--surface,#fff);color:var(--ink,#292b46);border:1px solid var(--line,#e4e6ef);border-radius:19px;padding:13px 15px;box-shadow:0 10px 28px #35385714;animation:lumi-soft-appear .24s ease-out}
.lumi-speech::before{content:"";position:absolute;left:-7px;top:27px;width:12px;height:12px;rotate:45deg;background:var(--surface,#fff);border-left:1px solid var(--line,#e4e6ef);border-bottom:1px solid var(--line,#e4e6ef)}
.lumi-speech-label{display:flex;align-items:center;gap:6px;font-size:11px;font-weight:650;color:var(--muted,#747b9b)}
.lumi-status-dot{width:6px;height:6px;flex:0 0 6px;background:#b69ada;border-radius:50%}
.lumi-speech-close{display:grid;place-items:center;width:28px;height:28px;margin:-6px -7px -6px auto;border:0;background:transparent;color:var(--muted);border-radius:8px}.lumi-speech-close .icon{width:14px;height:14px}
.lumi-speech p{font-size:12px;line-height:1.6;margin:8px 0 11px;overflow-wrap:anywhere}
.lumi-speech-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.lumi-speech-actions button{display:flex;align-items:center;gap:4px;font:inherit;font-size:11px;border:0;border-radius:9px;padding:7px 9px;background:var(--soft,#f1edfb);color:var(--ink)}.lumi-speech-actions button+button{background:transparent;color:var(--muted)}.lumi-speech-actions .icon{width:13px;height:13px}
.lumi-studio-banner{display:flex;align-items:center;gap:20px;padding:24px 32px;margin-bottom:20px;min-height:218px;border:1px solid var(--line);border-radius:26px;background:radial-gradient(ellipse at 12% 55%,#bdb0ec1c,transparent 55%),var(--surface)}
.lumi-studio-character{border:0;background:transparent;border-radius:50%;padding:0;flex:0 0 210px;cursor:pointer}.lumi-studio-character .lumi-face{width:210px!important;height:196px!important}
.lumi-studio-copy h2{margin:5px 0 9px;font-size:25px;letter-spacing:-.7px}.lumi-studio-copy p{font-size:13px;color:var(--muted);line-height:1.7;max-width:440px}.lumi-studio-eyebrow{color:var(--muted);font-size:10px;letter-spacing:1.5px;text-transform:uppercase}.lumi-studio-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}.lumi-studio-actions button{font:inherit;font-size:12px;border:1px solid var(--line);border-radius:12px;background:var(--surface);color:var(--ink);padding:10px 13px;cursor:pointer}.lumi-studio-actions button:hover{background:var(--soft)}
.lumi-local-result>p{line-height:1.6}.lumi-local-result>small{display:block;margin-top:14px;font-size:10px;line-height:1.5;color:var(--muted)}
.lumi-found-patients{display:grid;gap:6px;max-height:280px;overflow:auto}.lumi-found-patients button{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:11px;border:1px solid var(--line);border-radius:11px;background:var(--surface);color:var(--ink);font:inherit;text-align:left;font-size:12px}.lumi-found-patients .icon{width:15px;flex-shrink:0}
@keyframes lumi-soft-float{0%,100%{transform:translateY(1px) rotate(-1deg)}50%{transform:translateY(-4px) rotate(1deg)}}
@keyframes lumi-soft-shadow{0%,100%{transform:scaleX(1);opacity:.17}50%{transform:scaleX(.86);opacity:.1}}
@keyframes lumi-soft-blink{0%,44%,48%,100%{transform:scaleY(1)}46%{transform:scaleY(.08)}}
@keyframes lumi-soft-wave{0%,100%{transform:rotate(-12deg)}50%{transform:rotate(24deg)}}
@keyframes lumi-soft-hearts{0%{transform:translateY(6px);opacity:0}35%{opacity:.8}100%{transform:translateY(-9px);opacity:0}}
@keyframes lumi-soft-dot{0%,70%,100%{opacity:.4}35%{opacity:1}}
@keyframes lumi-soft-appear{from{opacity:0;transform:translateX(-5px) scale(.98)}to{opacity:1;transform:none}}
@media(max-width:700px){
 .shell .topbar>.lumi-widget.lumi-companion{width:94px!important;top:-5px!important}
 .shell .topbar>.lumi-widget.lumi-companion .lumi-launch{width:94px;min-height:90px}
 .shell .topbar>.lumi-widget.lumi-companion .lumi-face,.shell .topbar>.lumi-widget.lumi-companion .lumi-launch[aria-expanded="true"] .lumi-face{width:94px!important;height:88px!important}
 .shell .topbar>.lumi-widget.lumi-companion:has(.lumi-speech){position:fixed!important;top:auto!important;bottom:calc(18px + env(safe-area-inset-bottom))!important;left:50%!important;width:min(370px,calc(100vw - 24px))!important;gap:2px;align-items:center}
 .lumi-companion .lumi-speech-slot{position:static;flex:1;min-width:0;width:auto;max-width:none}.lumi-speech{padding:11px 12px;border-radius:16px}.lumi-speech p{font-size:12px}.lumi-speech::before{top:35px}
 .lumi-companion .lumi-panel{top:92px!important;left:50%!important;transform:translateX(-50%);width:calc(100vw - 24px)!important;max-width:370px;max-height:calc(100dvh - 160px)}
 .lumi-companion .lumi-bar input{font-size:16px}.lumi-companion .lumi-answer{max-height:55dvh;overflow:auto}
 .lumi-studio-banner{padding:20px 15px;flex-direction:column;gap:0;text-align:center}.lumi-studio-character{flex-basis:auto}.lumi-studio-character .lumi-face{width:182px!important;height:169px!important}.lumi-studio-copy h2{font-size:23px}.lumi-studio-actions{justify-content:center}
 body:has(.modal) .shell .topbar>.lumi-widget.lumi-companion{position:absolute!important;top:-5px!important;bottom:auto!important;width:94px!important}body:has(.modal) .lumi-companion .lumi-speech-slot{display:none}
}
body.reduce .lumi-character-body,body.reduce .lumi-eye,body.reduce .lumi-soft-shadow,body.reduce .lumi-hand-right,body.reduce .lumi-love-sparkles,body.reduce .lumi-thinking-dots circle,body.lumi-paused .lumi-character *{animation:none!important}
body.reduce .lumi-gaze{translate:0 0!important}.lumi-face.motion-quiet .lumi-hand-right,.lumi-face.motion-quiet .lumi-love-sparkles,.lumi-face.motion-quiet .lumi-thinking-dots circle{animation:none!important}
@media(prefers-reduced-motion:reduce){.lumi-character-body,.lumi-eye,.lumi-soft-shadow,.lumi-hand-right,.lumi-love-sparkles,.lumi-thinking-dots circle,.lumi-speech{animation:none!important}.lumi-gaze{translate:0 0!important}.lumi-companion .lumi-launch{transition:none}}

.lumi-soft-tint{opacity:0}.lumi-face[data-expression="alert"] .lumi-soft-tint,.lumi-face[data-expression="thinking"] .lumi-soft-tint,.lumi-face[data-expression="love"] .lumi-soft-tint{opacity:.1}

.lumi-companion .lumi-launch[aria-expanded="true"]{transform:scale(1.08)}

.lumi-face[data-expression="sleepy"] .lumi-character-body{animation-duration:8s!important}

.lumi-face.motion-quiet .lumi-gaze{translate:0 0!important}.lumi-face.motion-quiet *{transition:none!important}
