/* 第 3 轮牌桌特效：地主帽、表情抛物线、快捷语气泡 / 面板、性格标签 */
.fx-hat{position:absolute;left:50%;top:-13px;width:26px;height:18px;transform:translate(-50%,0) rotate(-8deg);pointer-events:none;filter:drop-shadow(0 2px 2px rgba(0,0,0,.35));z-index:2}
.fx-hat svg{width:100%;height:100%;display:block}
.me .fx-hat{width:20px;height:14px;top:-10px}
.seat .ava,.me .ava{position:relative;overflow:visible}
.seat .ava img,.me .ava img{border-radius:50%}
.seat .ava{cursor:pointer}
.fx-emote{position:fixed;width:36px;height:36px;z-index:90;pointer-events:none;will-change:transform}
.fx-emote svg{width:100%;height:100%}
.fx-burst{position:fixed;z-index:90;pointer-events:none;width:0;height:0}
.fx-burst i{position:absolute;left:-4px;top:-4px;width:8px;height:8px;border-radius:50%;animation:fxb .7s ease-out forwards;transform:rotate(var(--a)) translateX(0)}
.fx-burst.egg i{background:#fbf3df}.fx-burst.egg b{position:absolute;left:-9px;top:-7px;width:18px;height:14px;border-radius:50%;background:#f3b52a;animation:fxy .9s ease-out forwards}
.fx-burst.flower i{background:#e8577a;border-radius:50% 0}
.fx-burst.bomb i{background:#ffb02e;width:10px;height:10px;box-shadow:0 0 8px #ff7a1a}
.fx-burst.like i{background:#f6d27e;clip-path:polygon(50% 0,61% 38%,100% 38%,68% 60%,80% 100%,50% 75%,20% 100%,32% 60%,0 38%,39% 38%)}
@keyframes fxb{to{transform:rotate(var(--a)) translateX(var(--d));opacity:0}}
@keyframes fxy{0%{transform:scale(.3)}30%{transform:scale(1.3,1)}100%{transform:scale(1.4,1);opacity:0}}
.fx-bub{position:absolute;z-index:6;width:max-content;max-width:70%;background:var(--porcelain,#f6efe0);color:var(--ink,#1a1a1a);font-size:13px;line-height:1.35;padding:5px 10px;border-radius:12px;pointer-events:none;box-shadow:0 3px 10px rgba(0,0,0,.3)}
.fx-bub.go{animation:fxbub .25s ease-out}
.fx-bub.b0{bottom:8px;left:50%;transform:translateX(-50%)}
.fx-bub.b1{top:22%;right:4px;border-top-right-radius:2px}
.fx-bub.b2{top:22%;left:4px;border-top-left-radius:2px}
@keyframes fxbub{from{opacity:0;scale:.8}}
.fx-pop{position:fixed;z-index:95;background:var(--felt-3,#1d2a44);border:1px solid var(--line,#344);border-radius:12px;padding:6px;box-shadow:0 8px 24px rgba(0,0,0,.45)}
.fx-emenu{display:flex;gap:4px}
.fx-emenu button{display:flex;flex-direction:column;align-items:center;gap:2px;min-width:0;padding:4px 6px;background:transparent;border:0;color:var(--text,#eee);font-size:11px}
.fx-emenu svg{width:30px;height:30px}
.fx-pmenu{width:min(340px,calc(100vw - 16px))}
.fx-phrases{display:grid;grid-template-columns:1fr 1fr;gap:6px}
.fx-phrases button{min-width:0;padding:7px 8px;font-size:13px;text-align:left;line-height:1.3;border-radius:8px;background:rgba(255,255,255,.06);border:1px solid var(--line,#344);color:var(--text,#eee)}
.ol-chat .fx-phrases{margin-bottom:8px}
.ptag{display:inline-block;margin-left:4px;font:600 10px/1 var(--f-ui,sans-serif);padding:2px 5px;border-radius:999px;border:1px solid rgba(226,171,75,.55);color:var(--brass,#e2ab4b);vertical-align:middle}
@media (prefers-reduced-motion: reduce){.fx-bub.go,.fx-burst i,.fx-burst b{animation:none}}
