/* REV Energy Companion — tiny vector mascot, keeps map/navigation performance isolated */
.rev-mascot{display:inline-flex;flex:none;align-items:center;justify-content:center;width:46px;height:46px;vertical-align:middle;animation:revMascotFloat 3.2s ease-in-out infinite;transform-origin:center}
.rev-mascot svg{display:block;width:100%;height:100%;filter:drop-shadow(0 3px 5px rgba(26,95,185,.14))}
/* Subtle depth without large 3D assets or repaint-heavy animation. */
.rev-mascot svg{filter:drop-shadow(0 5px 4px rgba(36,91,169,.18)) drop-shadow(0 1px 1px rgba(255,255,255,.72))}
.rev-mascot-hero svg{filter:drop-shadow(0 10px 9px rgba(29,103,196,.2))}
.rev-mascot-header{width:48px;height:48px}
.rev-mascot-hero{width:94px;height:94px;float:left;margin:0 8px 4px 0}
.rev-mascot-menu{width:43px;height:43px;float:right;margin-inline-end:8px}
.rev-mascot[data-state="thinking"]{animation:revMascotThink 1s ease-in-out infinite}
.rev-mascot[data-state="warning"] svg{filter:drop-shadow(0 0 7px rgba(255,128,56,.55))}
.rev-mascot[data-state="warning"] .rev-mascot-eye{stroke:#ffb25b;transform:translateY(2px)}
.rev-mascot[data-state="thinking"] .rev-mascot-eye{stroke:#8dbeff;stroke-dasharray:9 4;animation:revMascotEyeThink .8s linear infinite}
.rev-mascot[data-state="success"] .rev-mascot-eye{stroke:#67f9df;stroke-width:6}
@keyframes revMascotEyeThink{to{stroke-dashoffset:-26}}

.rev-mascot[data-state="success"]{animation:revMascotCelebrate .9s ease-in-out 2}
@keyframes revMascotFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-3px)}}
@keyframes revMascotThink{0%,100%{transform:rotate(-4deg)}50%{transform:rotate(4deg)}}
@keyframes revMascotCelebrate{0%,100%{transform:translateY(0)}40%{transform:translateY(-8px)}}
@media(prefers-reduced-motion:reduce){.rev-mascot,.rev-mascot[data-state],.rev-mascot .rev-mascot-eye{animation:none!important}}
