.chat-reactions{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}body .chat-reaction{font:inherit;font-size:13px;line-height:1.3;border:1px solid #71816a;border-radius:999px;padding:6px 10px;background:#213b2e;color:#ded8bd;min-height:32px;cursor:pointer}body .chat-reaction[aria-pressed=true]{background:#345640;border-color:#b6d782;color:#e2efc6}body .chat-reaction:disabled{opacity:.5;cursor:default}body .chat-reaction:focus-visible{outline:2px solid #b6d782;outline-offset:2px}

body .chat-reaction{display:inline-flex;align-items:center;justify-content:center;padding:3px 7px;min-width:54px;min-height:50px;overflow:hidden}
.reaction-art{display:block;width:44px;height:44px;background-size:contain;background-position:center;background-repeat:no-repeat;transform-origin:center 75%}
.reaction-play .reaction-laugh{animation:cat-laugh 1.4s ease-in-out}
.reaction-play .reaction-happy{animation:capy-hop 1.2s ease-in-out}
.reaction-play .reaction-peek{animation:cat-peek 1.5s ease-in-out}
@keyframes cat-laugh{0%,100%{transform:rotate(0)}20%{transform:rotate(-12deg)}40%{transform:rotate(12deg)}65%,85%{transform:rotate(65deg) scale(.95)}}
@keyframes capy-hop{0%,100%{transform:translateY(0)}25%,65%{transform:translateY(-7px) scale(1.06)}45%,85%{transform:translateY(0) scale(1,.94)}}
@keyframes cat-peek{0%{transform:translateY(32px);opacity:0}45%,75%{transform:translateY(0);opacity:1}60%{transform:rotate(-9deg)}100%{transform:none}}
@media(prefers-reduced-motion:reduce){.reaction-play .reaction-art{animation:none}}
body .sticker-message{background:transparent!important;border:0!important;box-shadow:none!important;padding:4px!important}
body .sticker-replay{display:block;background:none;border:0;padding:0;cursor:pointer}
.sticker-sprite{display:block;width:144px;height:144px;background-size:400% 300%;background-repeat:no-repeat;background-position:0 0}
.sticker-happy{background-position:0 50%}.sticker-peek{background-position:0 100%}
.sticker-playing{animation:sticker-frames 2s steps(1,end) 1 forwards}
@keyframes sticker-frames{0%{background-position-x:0}25%{background-position-x:33.333333%}50%{background-position-x:66.666667%}75%,100%{background-position-x:100%}}
.sticker-tray:not([hidden]){display:flex;flex-wrap:wrap;gap:8px;padding:12px;background:#20372b;border-radius:18px}
body .sticker-choice,body .sticker-toggle{background:#294334;color:#ded8bd;border:1px solid #708269;border-radius:18px;padding:8px;cursor:pointer;font:inherit}
.sticker-choice{flex:1;min-width:80px}.sticker-choice .sticker-sprite{width:72px;height:72px;margin:auto}.sticker-choice small{display:block;font-size:12px}.sticker-choice:disabled{opacity:.45}
#chatForm{flex-wrap:wrap}#chatInput{min-width:0}
@media(prefers-reduced-motion:reduce){.sticker-playing{animation:none;background-position-x:100%}}

.reward-level .sticker-sprite{width:64px;height:64px}
.sticker-peek{background-size:400% 100%;background-position-y:0}

.sticker-choice .sticker-sprite,.reward-level .sticker-sprite{background-position-x:100%}

body img.sticker-sprite{object-fit:contain;background:none!important;animation:none!important;width:144px;height:144px;max-width:100%;display:block}body .sticker-choice img.sticker-sprite{width:80px;height:80px}body .reward-level img.sticker-sprite{width:72px;height:72px}

body img.sticker-sprite{width:96px;height:96px}body .sticker-choice img.sticker-sprite{width:48px;height:48px}body .sticker-choice{flex:0 0 auto;min-width:60px;padding:5px}body .sticker-tray:not([hidden]){gap:6px;padding:8px}

body #chatForm{display:flex;align-items:center;flex-wrap:nowrap;gap:8px}body #chatInput{flex:1 1 0;min-width:0;width:0}body #chatForm .sticker-toggle{display:inline-flex;align-items:center;justify-content:center;flex:0 0 40px;width:40px;height:40px;padding:0;border-radius:50%;background:transparent;color:#c1d394;border:1px solid #708269}body #chatForm>button{flex-shrink:0}
