/* Mascota BRIDGE: el puente low-poly */
.bmascot{display:inline-block;line-height:0}
.bmascot svg{width:100%;height:100%;overflow:visible}
.bm-body{transform-origin:130px 204px;animation:bm-breathe 4s ease-in-out infinite}
@keyframes bm-breathe{0%,100%{transform:scaleY(1)}50%{transform:scaleY(1.025)}}
.bm-wave{transform-origin:210px 146px;animation:bm-wave 1.1s ease-in-out infinite}
@keyframes bm-wave{0%,100%{transform:rotate(0)}50%{transform:rotate(-14deg)}}
.bm-point{transform-origin:210px 148px;animation:bm-point 1.6s ease-in-out infinite}
@keyframes bm-point{0%,100%{transform:translateX(0)}50%{transform:translateX(5px)}}
.bm-build{animation:bm-lift 1.4s ease-in-out infinite}
@keyframes bm-lift{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}
.bm-extra{animation:bm-pop .5s cubic-bezier(.2,.9,.3,1.3) both}
@keyframes bm-pop{from{opacity:0;transform:scale(.6)}}
.bm-bump{animation:bm-bump .5s cubic-bezier(.2,.9,.3,1.4)}
@keyframes bm-bump{30%{transform:translateY(-8px) scale(1.04)}}
@media (prefers-reduced-motion:reduce){.bm-body,.bm-wave,.bm-point,.bm-build{animation:none}}

.bm-dock{position:fixed;left:14px;bottom:12px;z-index:60;display:flex;align-items:flex-end;pointer-events:none;transition:opacity .4s,transform .45s var(--ease)}
.bm-dock>*{pointer-events:auto}
.bm-avatar{width:84px;height:72px;padding:0;border:0;background:none;cursor:pointer;filter:drop-shadow(0 8px 18px rgba(0,0,0,.6))}
.bm-avatar:focus-visible{outline:2px solid var(--g3);outline-offset:4px;border-radius:12px}
.bm-bubble{position:absolute;left:10px;bottom:84px;width:min(300px,calc(100vw - 40px));padding:16px 36px 16px 18px;border-radius:14px;background:rgba(16,16,19,.97);
  border:1px solid transparent;background-clip:padding-box;color:var(--ink);box-shadow:0 18px 40px -16px rgba(0,0,0,.8);opacity:0;transform:translateY(8px) scale(.98);transform-origin:bottom left;transition:opacity .3s,transform .35s var(--ease)}
.bm-bubble::before{content:"";position:absolute;inset:-1px;border-radius:15px;padding:1px;background:var(--spectrum);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none}
.bm-bubble.is-on{opacity:1;transform:none}
.bm-msg{font:400 .92rem/1.5 var(--body);margin:0}
.bm-actions:empty{display:none}
.bm-actions{margin-top:10px}
.bm-link{font:600 .7rem/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ink);text-decoration:none;border-bottom:1px solid var(--g3);padding-bottom:5px}
.bm-close{position:absolute;right:6px;top:6px;width:30px;height:30px;border:0;background:none;color:var(--ink-soft);font-size:1.2rem;cursor:pointer}
.bm-hosting .bm-dock{opacity:0;transform:translateY(20px);pointer-events:none}
.bm-hosting .bm-dock *{pointer-events:none}
@media (max-width:720px){ .bm-avatar{width:62px;height:54px} .bm-bubble{bottom:62px;left:4px} .bm-dock{left:8px;bottom:10px} }
.bm-name{margin:0 0 6px;font:900 .82rem/1 var(--sans);letter-spacing:.04em;background:var(--spectrum);-webkit-background-clip:text;background-clip:text;color:transparent;width:max-content}
