.hero-message-row{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 88px;align-items:center;gap:14px;max-width:460px}
.hero-message-row #lema{max-width:none;min-width:0}
.artist-message-button{position:relative;isolation:isolate;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;width:88px;min-height:108px;padding:5px 1px;border:0;background:transparent;color:#fff0cc;cursor:pointer;touch-action:manipulation}
.artist-message-emoji{position:relative;z-index:1;display:block;width:58px;height:58px;filter:drop-shadow(0 2px 2px #160a10) drop-shadow(0 0 7px #e8ba6888);animation:message-smile-glow 3.8s ease-in-out infinite}
.artist-message-emoji svg{display:block;width:100%;height:100%;overflow:visible}
.message-mouth-voice{opacity:0;transform-box:fill-box;transform-origin:50% 50%;transform:scale(var(--mouth-wide,1),var(--mouth-open,.15))}
.artist-message-button[data-state="playing"][data-talking="true"] .message-mouth-voice{opacity:1}
.artist-message-button[data-state="playing"][data-talking="true"] .message-mouth-smile{opacity:0}
.artist-message-button[data-state="playing"] .artist-message-emoji{animation:message-happy-dance 1.15s ease-in-out infinite}
.artist-message-hearts{position:absolute;inset:0;z-index:2;pointer-events:none}
.artist-message-hearts i{position:absolute;left:calc(50% - 6px);top:28px;font:15px/1 Georgia,serif;color:#ff9cb2;opacity:0;filter:drop-shadow(0 0 4px #e84a7c66)}
.artist-message-hearts i:nth-child(2n){color:#ffe7a2;font-size:12px}
.artist-message-button[data-state="playing"] .artist-message-hearts i{animation:message-love 2.7s ease-out var(--hd) infinite}
@keyframes message-happy-dance{0%,100%{transform:translateY(0) rotate(-6deg) scale(1)}24%{transform:translateY(-4px) rotate(7deg) scale(1.035,.99)}50%{transform:translateY(0) rotate(4deg) scale(.99,1.02)}76%{transform:translateY(-3px) rotate(-8deg) scale(1.025)}}
@keyframes message-love{0%{opacity:0;transform:translate(0,0) scale(.25) rotate(-12deg)}18%{opacity:.85}80%{opacity:.65;transform:translate(var(--hx),var(--hy)) scale(1) rotate(12deg)}100%{opacity:0;transform:translate(var(--hx),calc(var(--hy) - 12px)) scale(.8) rotate(20deg)}}
.message-eyes-idle{display:none}.artist-message-button:is([data-state="ready"],[data-state="paused"],[data-state="error"]) .message-eyes-idle{display:block}.artist-message-button:is([data-state="ready"],[data-state="paused"],[data-state="error"]) .message-eyes-happy{display:none}
.message-eye{transform-box:fill-box;transform-origin:center;animation:message-blink 7s infinite}.message-eye-right{animation-name:message-wink}.message-pupil{animation:message-look 7s ease-in-out infinite}
@keyframes message-blink{0%,24%,28%,84%,88%,100%{transform:scaleY(1)}26%,86%{transform:scaleY(.08)}}
@keyframes message-wink{0%,24%,28%,64%,72%,84%,88%,100%{transform:scaleY(1)}26%,68%,86%{transform:scaleY(.08)}}
@keyframes message-look{0%,12%,44%,62%,100%{transform:translateX(0)}18%,32%{transform:translateX(-2px)}54%{transform:translateX(2px)}}
.artist-message-button:is([data-state="playing"],[data-state="loading"]) .message-eye,.artist-message-button:is([data-state="playing"],[data-state="loading"]) .message-pupil{animation:none}
.message-kiss,.message-kiss-heart{opacity:0;transform-box:fill-box;transform-origin:center}
.artist-message-button:is([data-state="ready"],[data-state="paused"]) .message-mouth-smile{animation:message-kiss-smile 7s infinite}
.artist-message-button:is([data-state="ready"],[data-state="paused"]) .message-kiss{animation:message-kiss 7s infinite}
.artist-message-button:is([data-state="ready"],[data-state="paused"]) .message-kiss-heart{animation:message-kiss-heart 7s ease-out infinite}
.artist-message-button:is([data-state="ready"],[data-state="paused"]) [data-message-label]{display:block;animation:message-touch 2.8s ease-in-out infinite}
@keyframes message-kiss-smile{0%,60%,79%,100%{opacity:1}64%,75%{opacity:0}}
@keyframes message-kiss{0%,60%,79%,100%{opacity:0}64%,75%{opacity:1}}
@keyframes message-kiss-heart{0%,65%,87%,100%{opacity:0;transform:translate(0,0) scale(.15)}69%{opacity:1;transform:translate(3px,-3px) scale(.7)}83%{opacity:0;transform:translate(26px,-34px) scale(1.4)}}
@keyframes message-touch{0%,40%,100%{transform:translateY(0) scale(1);color:#fff0cc;text-shadow:0 0 4px #e8ba68}55%,75%{transform:translateY(-2px) scale(1.09);color:#fff8e8;text-shadow:0 0 5px #ffd56b,0 0 10px #ff6596}65%{transform:translateY(0) scale(1.03)}}
.artist-message-caption{display:grid;gap:1px;font:600 11px/1.3 var(--sans);text-align:center;text-shadow:0 1px 3px #000}
.artist-message-caption small{font:500 10px/1.3 var(--sans);color:#d8c49f}
.artist-message-button::before{content:"";position:absolute;z-index:0;left:50%;top:4px;width:58px;height:58px;transform:translateX(-50%);border-radius:50%;background:radial-gradient(circle,#ffd37b33,#a31f4b22 55%,transparent 75%);box-shadow:0 0 14px #c58b3b33;pointer-events:none}
.artist-message-button:hover .artist-message-emoji{filter:drop-shadow(0 0 11px #ffcf7c)}
.artist-message-button:focus-visible{outline:2px solid #fff0bb;outline-offset:4px;border-radius:12px}
.artist-message-waves{position:absolute;left:50%;top:58px;display:flex;align-items:center;justify-content:center;gap:3px;height:12px;transform:translateX(-50%);pointer-events:none;opacity:0}
.artist-message-waves i{width:2px;height:11px;border-radius:2px;background:#ffe19b;box-shadow:0 0 4px #d95172;transform:scaleY(.25)}
.artist-message-button[data-state="playing"] .artist-message-waves{opacity:1}
.artist-message-button[data-state="playing"] .artist-message-waves i{animation:message-voice-wave .65s ease-in-out infinite alternate}
.artist-message-waves i:nth-child(2n){animation-delay:-.23s!important}.artist-message-waves i:nth-child(3n){animation-delay:-.45s!important}
.artist-message-button[data-state="playing"]::before{animation:message-aura 1.3s ease-in-out infinite}
.artist-message-fx{position:absolute;inset:0;z-index:3;pointer-events:none}
.artist-message-fx i{position:absolute;left:calc(50% - 12px);top:24px;width:24px;height:24px;opacity:0;font:25px/1 Georgia,serif;color:#f5b08b;background:center/contain no-repeat;filter:drop-shadow(0 0 5px #ffd786)}
.artist-message-angel{--x:-33px;--y:-46px;background-image:url('assets/identity-angel-jewel.png')!important}
.artist-message-devil{--x:31px;--y:-40px;background-image:url('assets/identity-devil-jewel.png')!important}
.artist-message-heart{--x:0px;--y:-69px}
.is-finale .artist-message-fx i{animation:message-thanks 1.7s ease-out both}
.artist-message-status{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.artist-message-status.is-error{position:static;grid-column:1/-1;width:auto;height:auto;clip-path:none;white-space:normal;font:12px/1.5 var(--sans);color:#ffd6b1}
@keyframes message-smile-glow{0%,100%{transform:translateY(0) rotate(-3deg)}50%{transform:translateY(-2px) rotate(3deg);filter:drop-shadow(0 0 10px #e8ba68aa)}}
@keyframes message-voice-wave{from{transform:scaleY(.25)}to{transform:scaleY(1)}}
@keyframes message-aura{0%,100%{box-shadow:0 0 14px #e8b35855}50%{box-shadow:0 0 22px #e8b35899,0 0 32px #9d1f4b66}}
@keyframes message-thanks{0%{opacity:0;transform:scale(.2)}20%{opacity:1}75%{opacity:.9;transform:translate(var(--x),var(--y)) scale(1.1)}100%{opacity:0;transform:translate(var(--x),calc(var(--y) - 12px)) scale(.8)}}
@media(max-width:650px){.hero-message-row{gap:10px;grid-template-columns:minmax(0,1fr) 84px}.hero-message-row #lema{font-size:clamp(22px,6.4vw,26px)}.artist-message-button{width:84px}}
@media(prefers-reduced-motion:reduce){.message-kiss,.message-kiss-heart{display:none}.message-mouth-smile,[data-message-label]{animation:none!important}.message-eye,.message-pupil{animation:none!important}.artist-message-emoji,.artist-message-button::before,.artist-message-waves i,.is-finale .artist-message-fx i{animation:none!important}.artist-message-fx,.artist-message-hearts{display:none}.message-mouth-voice{opacity:0!important}.message-mouth-smile{opacity:1!important}}
