.keeper-mark{display:inline-block;object-fit:contain;vertical-align:middle;flex-shrink:0}
.keeper-character{display:inline-grid;width:var(--keeper-size,48px);height:var(--keeper-size,48px);flex-shrink:0;vertical-align:middle;pointer-events:none}
.keeper-body{display:block;position:relative;width:100%;height:100%;transform-origin:50% 90%}
.keeper-body img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}
.keeper-blink,.keeper-think{opacity:0}
.keeper-character[data-keeper-state="idle"] .keeper-blink{animation:keeper-blink 13s step-end 4s infinite}
.keeper-character[data-keeper-state="thinking"] .keeper-think{opacity:1}
.keeper-character[data-keeper-state="thinking"] .keeper-body{animation:keeper-think 5s ease-in-out infinite}
.keeper-character[data-keeper-state="greeting"] .keeper-body{animation:keeper-greet 1.6s ease-in-out}
.keeper-character[data-keeper-state="reply"] .keeper-body{animation:keeper-nod .95s ease-in-out}
@keyframes keeper-blink{0%,96%,100%{opacity:0}97%,99%{opacity:1}}
@keyframes keeper-greet{0%,100%{transform:none}28%{transform:translateY(-3px) rotate(-6deg)}58%{transform:translateY(-2px) rotate(4deg)}78%{transform:rotate(-2deg)}}
@keyframes keeper-think{0%,100%{transform:rotate(-3deg)}50%{transform:rotate(2deg) translateY(-1px)}}
@keyframes keeper-nod{0%,100%{transform:none}35%{transform:translateY(3px) rotate(4deg)}65%{transform:translateY(-1px) rotate(-2deg)}}
.assistant-brand-icon:has(.keeper-character){background:none;border:0;box-shadow:none}
.assistant-in-chat .assistant-brand-icon:has(.keeper-character){width:40px;height:40px}
.assistant-welcome .assistant-welcome-keeper{display:block;margin:0 auto 8px;width:80px;height:80px}
.assistant-in-chat .assistant-empty-scene .keeper-character{margin-bottom:4px}
.assistant-message-avatar:has(.keeper-mark){background:none;border:0}
.brand-mark:has(.keeper-character){background:none!important;border:0!important;box-shadow:none!important}
.brand-mark .keeper-character{max-width:100%;max-height:100%}
html[data-keeper-motion="off"] .keeper-character .keeper-body,html[data-keeper-motion="off"] .keeper-character .keeper-blink{animation:none!important;transform:none!important}
html[data-keeper-motion="off"] .keeper-think,html[data-keeper-motion="off"] .keeper-blink{opacity:0!important}
@media(prefers-reduced-motion:reduce){.keeper-character .keeper-body,.keeper-character .keeper-blink{animation:none!important;transform:none!important}.keeper-think,.keeper-blink{opacity:0!important}}
@media(max-width:690px){.assistant-welcome .assistant-welcome-keeper{width:64px;height:64px;margin-bottom:4px}.assistant-welcome-keeper .keeper-character{--keeper-size:64px!important}}

.keeper-size-40{--keeper-size:40px}
.keeper-size-48{--keeper-size:48px}
.keeper-size-66{--keeper-size:66px}
.keeper-size-80{--keeper-size:80px}
.keeper-size-270{--keeper-size:270px}
