.learnos-tutor-avatar,.learnos-tutor-avatar *{box-sizing:border-box}.learnos-tutor-avatar{isolation:isolate;width:var(--avatar-size);height:var(--avatar-size);min-width:var(--avatar-size);flex:0 0 var(--avatar-size);place-items:center;display:grid;position:relative}.learnos-tutor-avatar__halo{z-index:0;background:var(--avatar-gradient);opacity:.22;filter:blur(clamp(12px, calc(var(--avatar-size) * .09), 22px));pointer-events:none;border-radius:50%;position:absolute;inset:-8%;transform:scale(.96)}.learnos-tutor-avatar__frame{z-index:2;border:clamp(3px, calc(var(--avatar-size) * .025), 6px) solid #fffffff0;background:var(--avatar-gradient);border-radius:50%;width:100%;height:100%;position:relative;overflow:hidden;box-shadow:0 22px 48px #0f172a29,0 10px 28px #4f46e51f,inset 0 1px #ffffffb3}.learnos-tutor-avatar__frame:before{content:"";z-index:4;border-radius:inherit;pointer-events:none;border:1px solid #ffffff5c;position:absolute;inset:0}.learnos-tutor-avatar__image{z-index:1;transform:translate(var(--portrait-offset-x), var(--portrait-offset-y)) scale(var(--portrait-scale));transform-origin:50%;will-change:transform;transition:filter .22s}.learnos-tutor-avatar__overlay{z-index:2;border-radius:inherit;pointer-events:none;background:radial-gradient(circle at 32% 18%,#ffffff3d,#0000 30%),linear-gradient(#0000 58%,#0f172a14);position:absolute;inset:0}.learnos-tutor-avatar__fallback{z-index:1;border-radius:inherit;background:radial-gradient(circle at 72% 18%, #ffffff57, transparent 30%), var(--avatar-gradient);color:#fff;text-align:center;place-content:center;justify-items:center;gap:5px;display:grid;position:absolute;inset:0}.learnos-tutor-avatar__fallback span{font-size:clamp(18px, calc(var(--avatar-size) * .25), 56px);font-weight:900;line-height:1}.learnos-tutor-avatar__fallback small{min-width:28px;min-height:28px;font-size:clamp(10px, calc(var(--avatar-size) * .08), 17px);background:#ffffff29;border:1px solid #ffffff47;border-radius:999px;place-items:center;padding:5px 7px;font-weight:900;display:grid}.learnos-tutor-avatar__reaction{z-index:6;width:clamp(27px, calc(var(--avatar-size) * .25), 56px);height:clamp(27px, calc(var(--avatar-size) * .25), 56px);border:clamp(2px, calc(var(--avatar-size) * .018), 4px) solid #fff;font-size:clamp(14px, calc(var(--avatar-size) * .13), 28px);background:#fffffff7;border-radius:50%;place-items:center;line-height:1;display:grid;position:absolute;bottom:4%;right:3%;box-shadow:0 11px 26px #0f172a2e}.learnos-tutor-avatar__status{z-index:8;color:#15803d;min-height:26px;font-size:clamp(9px, calc(var(--avatar-size) * .072), 11px);white-space:nowrap;background:#ecfdf5;border:2px solid #fff;border-radius:999px;align-items:center;gap:6px;padding:0 10px;font-weight:900;display:inline-flex;position:absolute;bottom:-9px;left:50%;transform:translate(-50%);box-shadow:0 8px 20px #0f172a21}.learnos-tutor-avatar__status i{background:#22c55e;border-radius:50%;width:7px;height:7px;box-shadow:0 0 0 3px #22c55e24}.learnos-tutor-avatar--animated{animation:5.8s ease-in-out infinite learnos-avatar-float}.learnos-tutor-avatar--animated .learnos-tutor-avatar__halo{animation:4.8s ease-in-out infinite learnos-avatar-halo}.learnos-tutor-avatar--animated .learnos-tutor-avatar__reaction{animation:4.9s ease-in-out infinite learnos-avatar-reaction}@media (hover:hover) and (pointer:fine){.learnos-tutor-avatar:hover .learnos-tutor-avatar__image{filter:saturate(1.06)contrast(1.015)}.learnos-tutor-avatar:hover .learnos-tutor-avatar__halo{opacity:.34}}@keyframes learnos-avatar-float{0%,to{translate:0}50%{translate:0 -5px}}@keyframes learnos-avatar-halo{0%,to{opacity:.2;transform:scale(.95)}50%{opacity:.33;transform:scale(1.04)}}@keyframes learnos-avatar-reaction{0%,70%,to{rotate:none;scale:1}78%{rotate:8deg;scale:1.08}86%{rotate:-5deg;scale:1.04}93%{rotate:3deg;scale:1.06}}@media (max-width:390px){.learnos-tutor-avatar__halo{filter:blur(12px);inset:-5%}}@media (prefers-reduced-motion:reduce){.learnos-tutor-avatar,.learnos-tutor-avatar__halo,.learnos-tutor-avatar__reaction,.learnos-tutor-avatar__image{transition:none!important;animation:none!important}}
