#board.mj{width:min(520px,94vw);background:#fffaf1;border-radius:18px;border:1px solid #e4dccd;box-shadow:0 10px 22px rgba(70,40,10,.18);padding:14px 14px 16px;display:flex;flex-direction:column;align-items:center;gap:6px}
.mj-side{display:flex;flex-direction:column;align-items:center;gap:4px;width:100%}
.mj-who{font-weight:800;font-size:15px;color:#5c554b}
.mj-slot{width:132px;height:160px;display:flex;align-items:center;justify-content:center}
.mj-slot svg{width:100%;height:100%}
.mj-hand.flip{transform:rotate(180deg)}
.mj-slot.shake svg{animation:mjshake .4s ease-in-out infinite}
.mj-ai .mj-slot.shake svg{animation-name:mjshake2}
@keyframes mjshake{0%,100%{transform:translateY(0)}50%{transform:translateY(-16px)}}
@keyframes mjshake2{0%,100%{transform:rotate(180deg) translateY(0)}50%{transform:rotate(180deg) translateY(-16px)}}
.mj-role{min-height:24px;font-size:13px;font-weight:800;padding:3px 12px;border-radius:99px;color:#fff}
.mj-role:empty{background:none}
.mj-role.atk{background:#d0543a}.mj-role.def{background:#2f4f7f}
.mj-mid{display:flex;flex-direction:column;align-items:center;gap:6px;padding:4px 0;width:100%}
.mj-call{font-size:18px;font-weight:800;text-align:center;min-height:30px;color:#262320}
.mj-call.pop{font-size:34px;color:#7a4fc0}
.mj-call.go{animation:mjpop .35s ease-out}
.mj-call.big{font-size:20px}.mj-call.good{color:#2f7a55}.mj-call.bad{color:#c8463b}
@keyframes mjpop{from{transform:scale(1.6);opacity:.2}to{transform:scale(1);opacity:1}}
.mj-score{display:flex;gap:12px;align-items:center;font-size:15px;color:#5c554b;background:#f1ebe0;border-radius:99px;padding:5px 16px}
.mj-score b{font-size:22px;color:#262320}.mj-score .sep{font-weight:800}
.mj-btns{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;width:100%;margin-top:8px}
.mj-btn{display:flex;flex-direction:column;align-items:center;gap:2px;padding:10px 4px;border-radius:14px;border:2px solid #e4dccd;background:#fff;cursor:pointer;font:inherit}
.mj-btn:hover:not(:disabled){border-color:#7a4fc0;background:#f6f1fd}
.mj-btn:disabled{opacity:.45;cursor:default}
.mj-btn b{font-size:20px}.mj-btn small{font-size:11px;color:#77706a}
.mj-mini{width:52px;height:62px;display:block}.mj-mini svg{width:100%;height:100%}
@media(max-width:480px){.mj-slot{width:104px;height:126px}.mj-call.pop{font-size:28px}.mj-mini{width:42px;height:50px}}
