[data-reaction]{cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent}
[data-reaction]:focus-visible{outline:3px solid #245fee;outline-offset:6px;border-radius:10px}
.pet-follow[data-reaction]{min-width:44px;min-height:44px;display:flex;align-items:center;justify-content:center;z-index:4}
.pet-follow[hidden]{display:none!important}
.mq-runner[data-reaction]::after{content:'';position:absolute;width:44px;height:64px;bottom:0;left:50%;transform:translateX(-50%)}
.rbx.tap-happy .mouth,.rbx.tap-tickle .mouth{height:8px;background:var(--face,#1b2333);border-radius:2px 2px 8px 8px}
.rbx.tap-wave .eye.r{height:2px;top:10px}
.rbx.tap-wave .arm.r{animation:none!important;transform:rotate(-145deg)}
.rbx.tap-tickle .eye{height:3px;top:9px;border-radius:4px}
.tap-bubble{position:fixed;z-index:2200;transform:translateX(-50%);max-width:180px;padding:10px 14px;border:2px solid #1b2333;border-radius:16px;background:#fff8d9;color:#1b2333;box-shadow:0 3px 0 #1b2333;font:700 14px/1.3 'Rubik','Segoe UI',sans-serif;text-align:center;pointer-events:none}
.tap-bubble[hidden]{display:none}
.tap-bubble::after{content:'';position:absolute;bottom:-7px;left:calc(50% - 5px);width:10px;height:10px;background:#fff8d9;border-right:2px solid #1b2333;border-bottom:2px solid #1b2333;transform:rotate(45deg)}
@media(prefers-reduced-motion:reduce){[data-reaction], [data-reaction] .rbx,[data-reaction] .rbx *{animation:none!important}}
