.character-touch{cursor:pointer;touch-action:manipulation;outline:none;transform-box:fill-box;transform-origin:50% 95%}
.character-hit{fill:transparent;stroke:transparent;stroke-width:3;pointer-events:all}
.character-touch:focus-visible .character-hit{stroke:#ffdf00;stroke-dasharray:8 6;fill:#ffdf000a}
.character-touch:hover image{filter:drop-shadow(0 0 5px #ffdf0055)}
.character-touch.reacting image{filter:drop-shadow(0 0 9px #ffdf0099) brightness(1.12)}
.reaction-feedback{position:absolute;left:50%;top:30px;transform:translateX(-50%);padding:5px 10px;border-radius:20px;background:#062b43ed;border:1px solid #ffdf0080;color:#fff3a3;font-size:11px;font-weight:650;white-space:nowrap;pointer-events:none;z-index:5;opacity:0}
.scene.has-reaction .reaction-feedback{opacity:1}.scene.has-reaction .update-label,.scene.has-reaction .balance{visibility:hidden}
.reaction-live{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
@media(max-width:650px){.reaction-feedback{top:3px;font-size:9px;padding:4px 8px}}

.scene #flag{transform-box:fill-box;transform-origin:50% 0}

/* Incentivo: tocar dá força à puxada, com mensagem positiva. */
.character-touch.reacting image{filter:drop-shadow(0 0 5px #ffdf0070) brightness(1.08)}
.reaction-feedback{border-radius:11px;background:#fff2ae;color:#122b43;border-color:#ffdf00;font-weight:750;box-shadow:0 4px 12px #0004}
.reaction-feedback::after{content:"";position:absolute;top:100%;left:18%;border:6px solid transparent;border-top-color:#fff2ae}
.reaction-feedback[data-side="right"]::after{left:auto;right:18%}
.support-mark{opacity:0;pointer-events:none;transform-box:fill-box;transform-origin:center}
.support-mark circle{fill:#ffdf00;stroke:#082b43;stroke-width:2}.support-mark text{fill:#082b43;font:900 20px system-ui;text-anchor:middle;dominant-baseline:central}
.reacting .support-mark{opacity:1;animation:support-pop 1.65s ease-out}
.arena.checking .scene.encouraged-left .left,.arena.checking .scene.encouraged-right .right{animation:none}
@keyframes support-pop{0%{opacity:0;transform:translateY(7px) scale(.5)}15%{opacity:1;transform:translateY(-3px) scale(1.15)}35%,80%{opacity:1;transform:translateY(0) scale(1)}100%{opacity:0;transform:translateY(-8px) scale(.9)}}
@media(prefers-reduced-motion:reduce){.reacting .support-mark{animation:none;opacity:1}}

/* Tocar na cena aciona a reação sem selecionar texto ou arrastar a imagem. */
.scene,.scene *{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}
.scene image,.scene img{-webkit-user-drag:none}
