.sa-chat-sticker{display:block;width:112px;height:112px;object-fit:contain;vertical-align:middle}.speech-bubble:has(.sa-chat-sticker){padding:2px;background:#ffffffd9}.speech-bubble .sa-chat-sticker{width:72px;height:72px}.sa-sticker-picker{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding-top:12px;border-top:1px solid #d9c8b744}.sa-sticker-picker h3{grid-column:1/-1;font-size:13px;margin:0}.sa-sticker-picker button{position:static!important;transform:none!important;width:auto!important;height:auto!important;display:flex;flex-direction:column;align-items:center;padding:6px!important;border-radius:12px!important}.sa-sticker-picker button .sa-chat-sticker{width:80px;height:80px}.sa-sticker-picker small{font-size:10px}.sa-sticker-picker button:disabled{opacity:.45;filter:grayscale(.7)}#emojiWheel:has(.sa-sticker-picker){width:min(340px,90vw);max-height:65dvh;overflow:auto;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;padding:14px;position:absolute;bottom:58px;right:0;left:auto;border-radius:16px;background:#21382ff5}#emojiWheel[hidden]{display:none!important}#emojiWheel>button{position:static!important;transform:none!important;width:auto!important;height:36px!important;border-radius:8px!important}.sa-friend-card{padding:16px 0;border-top:1px solid #ccbda744}.sa-friend-card h3{margin:0 0 5px}.sa-friend-card p{margin:7px 0}.sa-friend-card select{max-width:100%;padding:9px;margin:10px 0}.sa-friend-card small{display:block;color:#a9b9aa}.sa-friend-card .actions{margin-top:10px;flex-wrap:wrap}#social{width:min(620px,94vw);max-height:88dvh;overflow:auto}#socialList>p{font-size:12px;line-height:1.7;color:#bfd0c3}#chat p:has(.sa-chat-sticker){margin-bottom:12px}@media(max-width:600px){.sa-chat-sticker{width:96px;height:96px}.sa-sticker-picker button .sa-chat-sticker{width:68px;height:68px}}
#emojiWheel:has(.sa-sticker-picker){height:auto}
@media(max-height:520px){#emojiWheel:has(.sa-sticker-picker){max-height:40dvh}}
/* Shared picker uses the browser top layer, including while the Mahjong table is open. */
#saStickerDialog{box-sizing:border-box;width:min(420px,calc(100vw - 24px));max-height:75dvh;padding:16px;border:1px solid #a9bfac55;border-radius:22px;background:#172e27;color:#edf5ec;overflow:auto;overscroll-behavior:contain;box-shadow:0 16px 60px #0008}
#saStickerDialog::backdrop{background:#07171066}
#saStickerDialog .sa-sticker-head{display:flex;align-items:center;justify-content:space-between;gap:12px;position:sticky;top:-16px;background:#172e27;z-index:1;padding:8px 0}
#saStickerDialog h2{font-size:17px;margin:0}#saStickerDialog button{touch-action:manipulation;min-height:44px;color:inherit;background:#ffffff0a;border:1px solid #ffffff18;cursor:pointer}
#saStickerDialog button:focus-visible{outline:2px solid #f5d28b;outline-offset:2px}
#saStickerDialog .sa-sticker-feedback{font-size:12px;color:#bfcec3;min-height:18px;margin:6px 0 12px}
#saStickerDialog .sa-sticker-quick{display:grid;grid-template-columns:repeat(8,1fr);gap:3px}#saStickerDialog .sa-sticker-quick button{padding:7px 0;font-size:13px;line-height:1.2;border-radius:9px;white-space:nowrap}
#saStickerDialog .sa-sticker-picker{grid-template-columns:repeat(4,minmax(0,1fr));margin-top:12px;gap:6px}
#saStickerDialog .sa-chat-sticker{width:100%;height:auto;aspect-ratio:1;max-width:80px}#saStickerDialog small{line-height:1.4;min-height:15px;white-space:normal}
#saStickerDialog[aria-busy=true] .sa-sticker-picker,#saStickerDialog[aria-busy=true] .sa-sticker-quick{pointer-events:none;opacity:.6}
body.mahjong #saStickerDialog{margin:auto;max-height:calc(100dvh - 100px);width:min(420px,calc(100vw - 24px))}
.mj-reaction-rail{position:fixed;z-index:30;top:calc(var(--mj-top,54px) + 52px);right:max(12px,env(safe-area-inset-right));display:flex;gap:6px;pointer-events:none;max-width:180px}
.mj-reaction-card{display:flex;flex-direction:column;align-items:center;gap:2px;width:74px;padding:5px;border-radius:14px;background:#172620ed;border:1px solid #f1d29444;color:#fff;box-shadow:0 4px 14px #0004;animation:sa-reaction-in .18s ease-out}
.mj-reaction-card small{max-width:72px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-size:10px}.mj-reaction-card .sa-chat-sticker{width:64px;height:64px}.mj-reaction-card .mj-reaction-emoji{font-size:17px;font-weight:600;line-height:64px;letter-spacing:.06em}
.mj-reaction-rail[hidden],#mjStickerOpen[hidden]{display:none!important}
@keyframes sa-reaction-in{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.mj-reaction-card{animation:none}}
@media(max-height:520px){#saStickerDialog{padding:10px}#saStickerDialog .sa-sticker-head{top:-10px}#saStickerDialog .sa-sticker-picker{grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}body.mahjong #saStickerDialog{width:min(620px,calc(100vw - 24px))}#saStickerDialog .sa-sticker-picker .sa-chat-sticker{max-width:58px}#saStickerDialog .sa-sticker-feedback{margin:2px 0 6px}#saStickerDialog .sa-sticker-picker{margin-top:6px;padding-top:6px}}

body.mahjong #saStickerDialog:modal{max-height:calc(100dvh - var(--sa-safe-t,0px) - var(--sa-safe-b,0px) - 80px)!important}
