/* ---------- Lami (rummy mahjong) ---------- */
/* game card */
.game.rm.live .g-art { background: radial-gradient(circle at 50% 45%, #a8344b, #5a1220 70%, #2a0710); display: flex; align-items: center; justify-content: center; }
.t-tiles { display: flex; gap: 6px; transform: rotate(-6deg); }
.t-tiles i { width: 30px; height: 42px; border-radius: 6px; background: linear-gradient(170deg, #fffdf6, #efe6d4); box-shadow: 0 3px 0 #c9b98f, 0 6px 12px rgba(0,0,0,.35); display: flex; align-items: center; justify-content: center; font-style: normal; font-weight: 900; font-size: 19px; color: var(--tc); animation: tbob 2.6s ease-in-out infinite; }
.t-tiles i:nth-child(2) { animation-delay: .2s; } .t-tiles i:nth-child(3) { animation-delay: .4s; } .t-tiles i:nth-child(4) { animation-delay: .6s; }
.t-tiles i.jk { background: linear-gradient(135deg, #ffe082, #f48fb1 45%, #81d4fa); color: #7b1e2e; }
@keyframes tbob { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-5px); } }
/* lobby */
.rmr-felt { margin: 10px 0 8px; height: 64px; border-radius: 14px; background: radial-gradient(ellipse at 50% 30%, #9c2a3f, #4a0f1a); box-shadow: inset 0 0 0 2px rgba(243,196,107,.3); position: relative; }
.rmr-tiles { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); display: flex; gap: 3px; }
.rmr-tiles i { width: 10px; height: 14px; border-radius: 2px; background: #fbf5e8; border-bottom: 3px solid var(--tc); }
.rmr-seat { position: absolute; width: 12px; height: 12px; border-radius: 50%; border: 2px solid rgba(255,255,255,.5); background: transparent; }
.rmr-seat.on { background: var(--gold); border-color: var(--gold); box-shadow: 0 0 6px var(--gold); }
.rmr-seat.s4-0 { left: 50%; bottom: -6px; transform: translateX(-50%); } .rmr-seat.s4-1 { left: -6px; top: 50%; transform: translateY(-50%); }
.rmr-seat.s4-2 { left: 50%; top: -6px; transform: translateX(-50%); } .rmr-seat.s4-3 { right: -6px; top: 50%; transform: translateY(-50%); }
.rmr-seat.s3-0 { left: 50%; bottom: -6px; transform: translateX(-50%); } .rmr-seat.s3-1 { left: 14%; top: -6px; } .rmr-seat.s3-2 { right: 14%; top: -6px; }
/* enter animation */
.rm-enter-tiles { position: relative; display: flex; gap: 8px; }
.rm-enter-tiles .mt { width: 52px; height: 72px; font-size: 26px; animation: rmIn .7s var(--ease) both; }
.rm-enter-tiles .e1 { animation-delay: .08s; } .rm-enter-tiles .e2 { animation-delay: .16s; } .rm-enter-tiles .e3 { animation-delay: .24s; }
@keyframes rmIn { from { transform: translateY(40px) rotate(-20deg) scale(.5); opacity: 0; } to { transform: none; opacity: 1; } }

/* the tile */
.mt { position: relative; flex: none; width: 34px; height: 47px; border-radius: 6px; background: linear-gradient(170deg, #fffdf6 0%, #f4ecdb 70%, #e9dcc1 100%);
  box-shadow: 0 3px 0 #c4b083, 0 4px 8px rgba(0,0,0,.35); display: flex; flex-direction: column; align-items: center; justify-content: center; user-select: none; -webkit-user-select: none; touch-action: none; transition: transform .14s var(--ease), box-shadow .14s; }
.mt b { font-size: 19px; font-weight: 900; line-height: 1; color: var(--tc); font-family: Georgia, 'Times New Roman', serif; }
.mt i { width: 10px; height: 10px; border-radius: 50%; background: var(--tc); margin-top: 4px; box-shadow: inset 0 -2px 0 rgba(0,0,0,.25); }
.mt.joker { background: linear-gradient(150deg, #fff7d6, #ffd6e7 50%, #d4f1ff); }
.mt.joker b { color: #c4122f; font-size: 17px; } .mt.joker i { width: auto; height: auto; background: none; box-shadow: none; font-style: normal; font-size: 6.5px; font-weight: 900; color: #7b1e2e; letter-spacing: .3px; margin-top: 2px; border-radius: 0; }
.mt.back { background: linear-gradient(160deg, #9c2a3f, #5a1220); box-shadow: 0 3px 0 #3a0a14, 0 4px 8px rgba(0,0,0,.35); }
.mt.sel { transform: translateY(-10px); box-shadow: 0 3px 0 #c4b083, 0 0 0 2px var(--gold), 0 10px 16px rgba(0,0,0,.4); }
.mt.sm { width: 22px; height: 31px; border-radius: 4px; box-shadow: 0 2px 0 #c4b083, 0 2px 4px rgba(0,0,0,.3); }
.mt.sm b { font-size: 12.5px; } .mt.sm i { width: 6px; height: 6px; margin-top: 2px; } .mt.sm.joker b { font-size: 11px; } .mt.sm.joker i { font-size: 4px; }
.mt.xs { width: 14px; height: 20px; border-radius: 3px; box-shadow: 0 1px 0 #c4b083; } .mt.xs b { font-size: 8.5px; } .mt.xs i { display: none; }
.mt.ghost { position: fixed; z-index: 300; pointer-events: none; transform: scale(1.15) rotate(-4deg); box-shadow: 0 3px 0 #c4b083, 0 14px 24px rgba(0,0,0,.45); }
.mt.dragging { opacity: .25; }

/* table */
.rm-table { background: radial-gradient(ellipse at 50% 45%, #a3304a 0%, #7b1e2e 45%, #4a0f1a 85%, #2a0710 100%); }
.rm-felt { position: absolute; left: 9%; right: 9%; top: 15%; bottom: 17%; border-radius: 36px; border: 2px solid rgba(243,196,107,.35); box-shadow: inset 0 0 40px rgba(0,0,0,.35); pointer-events: none; }
.rm-center { position: absolute; left: 15%; right: 15%; top: 21%; bottom: 23%; display: flex; flex-direction: column; align-items: center; }
.rm-melds { flex: 1; width: 100%; overflow-y: auto; display: flex; flex-wrap: wrap; align-content: flex-start; justify-content: center; gap: 8px 10px; padding: 4px; scrollbar-width: thin; }
.meld { display: flex; gap: 1px; padding: 3px; border-radius: 7px; background: rgba(0,0,0,.18); transition: box-shadow .2s, background .2s; animation: pop .3s var(--ease); }
.meld.chop { background: rgba(243,196,107,.16); }
.meld.target { cursor: pointer; box-shadow: 0 0 0 2px var(--gold); background: rgba(243,196,107,.22); animation: glowT 1.2s ease-in-out infinite; }
@keyframes glowT { 50% { box-shadow: 0 0 0 2px var(--gold), 0 0 14px rgba(243,196,107,.8); } }
.rm-empty { color: rgba(255,255,255,.55); font-size: 13px; margin: auto; }
.rm-pile { position: absolute; right: -2%; bottom: -14%; font-size: 11px; color: rgba(255,255,255,.6); }
.rm-timer { position: absolute; left: 50%; top: -14%; transform: translateX(-50%); }
.rm-seat { position: absolute; z-index: 3; display: flex; flex-direction: column; align-items: center; text-align: center; width: 92px; transform: translate(-50%, -50%); }
.rm-seat.bottom { left: 50%; top: 91%; } .rm-seat.top { left: 50%; top: 9%; } .rm-seat.left { left: 8%; top: 46%; } .rm-seat.right { left: 92%; top: 46%; }
.rm-table .rm-seat.left, .rm-table .rm-seat.right { width: 70px; }
.rm-seat .sav { position: relative; }
.rm-seat .av.sm { width: 40px; height: 40px; border: 2px solid rgba(255,255,255,.7); }
.rm-seat.turn .av.sm { border-color: var(--gold); box-shadow: 0 0 0 3px rgba(243,196,107,.45), 0 0 18px rgba(243,196,107,.8); animation: glow 1.2s ease-in-out infinite; }
.rm-seat.out { opacity: .6; }
.rm-seat .sn { font-size: 11px; color: #fff; max-width: 100%; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; text-shadow: 0 1px 2px rgba(0,0,0,.6); margin-top: 2px; }
.rtags { display: flex; gap: 3px; flex-wrap: wrap; justify-content: center; margin-top: 2px; }
.rtag { font-size: 9px; font-weight: 800; padding: 0 5px; border-radius: 999px; background: rgba(0,0,0,.45); color: #fff; }
.rtag.dlr { background: var(--gold); color: #3b2200; } .rtag.bad { background: #b42333; } .rtag.gold { background: rgba(243,196,107,.85); color: #3b2200; }
.rm-backs { position: relative; height: 18px; width: 64px; margin-top: 3px; }
.rm-backs i { position: absolute; top: 0; left: calc(var(--k) * 4px); width: 12px; height: 17px; border-radius: 2px; background: linear-gradient(160deg, #9c2a3f, #5a1220); border: 1px solid rgba(255,255,255,.55); }
.rm-backs b { position: absolute; right: 0; top: 0; font-size: 10px; color: #3b2200; background: var(--gold); border-radius: 999px; padding: 0 5px; }
.rm-seat .snet { position: static; transform: none; margin-top: 3px; }
.rm-sb { position: absolute; transform: translate(-50%, -100%); z-index: 6; font-weight: 900; font-size: 14px; padding: 3px 10px; border-radius: 999px; background: rgba(16,5,8,.85); color: #fff; border: 1.5px solid rgba(255,255,255,.4); animation: sbIn 2.2s var(--ease) forwards; pointer-events: none; white-space: nowrap; }
.rm-sb.gold { background: var(--gold); color: #3b2200; border-color: #fff; } .rm-sb.bad { background: #b42333; }
@keyframes sbIn { 0% { transform: translate(-50%, -60%) scale(.4); opacity: 0; } 12% { transform: translate(-50%, -120%) scale(1.15); opacity: 1; } 80% { transform: translate(-50%, -125%) scale(1); opacity: 1; } 100% { transform: translate(-50%, -150%); opacity: 0; } }

/* my rack */
.rm-me { flex: none; background: var(--surface); border-top: 1px solid var(--line); padding: 6px 10px calc(6px + var(--safe-b)); }
.rm-rackbar { display: flex; align-items: center; gap: 6px; margin-bottom: 4px; }
.rm-rackbar .btn.on { background: var(--brand); color: #fff; box-shadow: none; }
.rm-rack { display: flex; flex-wrap: wrap; gap: 5px 4px; justify-content: center; padding: 12px 2px 6px; min-height: 64px; border-radius: 12px; background: linear-gradient(#3a1a12, #2a120c); box-shadow: inset 0 2px 6px rgba(0,0,0,.5); touch-action: none; }
.rm-rack.myturn { box-shadow: inset 0 2px 6px rgba(0,0,0,.5), 0 0 0 2px var(--gold); }
.rm-rack .mt { cursor: pointer; }
.rm-hint { line-height: 1.3; }
@media (max-width: 400px) { .rm-rack .mt { width: 31px; height: 43px; } .rm-rack .mt b { font-size: 17px; } }

/* center pops: confirm / dice / result */
.rm-pop { position: absolute; left: 50%; top: 42%; transform: translate(-50%, -50%); z-index: 44; width: min(92%, 380px); background: rgba(20,6,10,.94); border: 1.5px solid rgba(243,196,107,.55); border-radius: 18px; padding: 16px; color: #fff; text-align: center; box-shadow: 0 20px 60px rgba(0,0,0,.6); animation: zin .3s var(--ease); max-height: 80%; overflow-y: auto; }
.rm-pop.out { opacity: 0; transition: opacity .25s; }
.rm-pop .ov-t { font-size: 18px; font-weight: 900; margin-bottom: 8px; }
.rm-ppl { display: flex; justify-content: center; gap: 10px; flex-wrap: wrap; margin: 6px 0 8px; }
.rm-ppl > div { display: flex; flex-direction: column; align-items: center; gap: 2px; width: 64px; font-size: 11px; opacity: .65; }
.rm-ppl > div.ok { opacity: 1; } .rm-ppl b { color: var(--gold); font-size: 15px; } .rm-ppl span { max-width: 64px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.rm-dicegrid { display: flex; justify-content: center; gap: 14px; flex-wrap: wrap; margin: 8px 0 12px; }
.dslot { display: flex; flex-direction: column; align-items: center; gap: 5px; font-size: 12px; }
.dslot.wait .dpair { opacity: .45; } .dslot b { color: var(--gold); }
.dpair { display: flex; gap: 6px; }
.die { width: 36px; height: 36px; border-radius: 8px; background: linear-gradient(145deg, #fff, #e9e1d2); box-shadow: 0 3px 0 #b9ab8e, 0 6px 10px rgba(0,0,0,.4); padding: 5px; }
.die.blank .dface i.on { background: #ccc; }
.dface { display: grid; grid-template-columns: repeat(3, 1fr); grid-template-rows: repeat(3, 1fr); width: 100%; height: 100%; }
.dface i { display: block; width: 6px; height: 6px; margin: auto; border-radius: 50%; }
.dface i.on { background: #7b1e2e; }
.rm-res { display: flex; flex-direction: column; gap: 6px; margin-top: 10px; text-align: left; }
.rr { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; padding: 6px 8px; border-radius: 10px; background: rgba(255,255,255,.06); }
.rr.me { box-shadow: inset 0 0 0 1.5px var(--gold); }
.rr > .pos { width: 34px; text-align: center; font-weight: 900; color: var(--gold); }
.rr .nm { flex: 1; min-width: 0; font-weight: 700; font-size: 13px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.rr .nm small { display: block; font-weight: 500; font-size: 11px; color: rgba(255,255,255,.65); }
.rr .mini { order: 5; flex-basis: 100%; display: flex; gap: 2px; flex-wrap: wrap; padding-left: 42px; } .rr .mini:empty { display: none; }
.rr > b { font-size: 14px; min-width: 56px; text-align: right; } .rr > b.pos { color: var(--gold); } .rr > b.neg { color: #ffb3bf; }
.rm-hist { margin-bottom: 10px; } .rm-hist table { margin-top: 6px; } .rm-hist tr.me td { font-weight: 800; }

/* 3D labels for Lami */
.l3.ntag .cnt { font-size: 10px; background: rgba(16,5,8,.75); border-radius: 999px; padding: 0 6px; color: #fff; }
.l3.ntag .st { font-size: 10px; border-radius: 999px; padding: 0 6px; } .l3.ntag .st.bad { background: #b42333; color: #fff; }
.rm-pop.wait { width: min(66%, 250px); padding: 12px; background: rgba(20,6,10,.72); top: 45%; }
.bj.rm .roombar .grow > * { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; display: block; max-width: 100%; }
.l3.meldt .meld3 { width: 26px; height: 26px; border-radius: 50%; border: 1.5px solid var(--gold); background: rgba(243,196,107,.9); color: #3b2200; font-weight: 900; font-size: 15px; line-height: 1; padding: 0; cursor: pointer; box-shadow: 0 0 12px rgba(243,196,107,.7); animation: rmPulse 1.2s ease-in-out infinite; touch-action: manipulation; }
@keyframes rmPulse { 0%,100% { box-shadow: 0 0 6px rgba(243,196,107,.5); } 50% { box-shadow: 0 0 16px 3px rgba(243,196,107,.95); } }
.rm-walk { display: flex; flex-direction: column; gap: 6px; margin-top: 6px; }
.rm-walk .radio { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; padding: 8px 10px; border-radius: 10px; background: var(--soft, rgba(0,0,0,.04)); cursor: pointer; }
.rm-walk .radio .small { flex-basis: 100%; padding-left: 24px; }
.rm-card { font-weight: 800; }
.rtag.bad { background: rgba(196,18,47,.85); color: #fff; }
.rm-me .ctl-row.turnrow { flex-wrap: wrap; row-gap: 4px; }
.rm-me .ctl-row.turnrow .rm-hint { flex-basis: 100%; order: -1; font-size: 11.5px; }
.rm-me .ctl-row.turnrow .rm-hint + * { margin-left: auto; }
/* the chat feed sits over the table: let taps through to the melds, only the 💬 opens the chat */
.bj.rm .bj-chat, .bj.rm .bjc-pill { pointer-events: none; }
.bj.rm .bjc-pill .pi, .bj.rm .bjc-pill #rmcUnread, .bj.rm .bjc-panel { pointer-events: auto; }
.bj.rm .bjc-pill .pi { font-style: normal; padding: 4px; margin: -4px; }
/* round-end reveal: 4th → 1st */
.rm-reveal { position: absolute; left: 50%; top: 44%; transform: translate(-50%, -50%); z-index: 44; width: min(92%, 380px); text-align: center; pointer-events: none; }
.rv-title { font-size: 15px; font-weight: 900; color: var(--gold); letter-spacing: 2px; text-shadow: 0 2px 8px rgba(0,0,0,.7); margin-bottom: 8px; animation: zin .4s var(--ease); }
.rv-list { display: flex; flex-direction: column; gap: 7px; }
.rv-card { display: flex; align-items: center; gap: 9px; padding: 8px 12px; border-radius: 14px; background: rgba(20,6,10,.9); border: 1.5px solid rgba(255,255,255,.14); color: #fff; text-align: left;
  box-shadow: 0 10px 30px rgba(0,0,0,.5); animation: rvIn .55s cubic-bezier(.2,1.4,.4,1) both; }
.rv-card.me { border-color: rgba(243,196,107,.7); }
.rv-card.bad .rv-pos { color: #ffb3bf; }
.rv-pos { width: 64px; flex: none; font-weight: 900; font-size: 13px; color: rgba(255,255,255,.75); }
.rv-nm { flex: 1; min-width: 0; } .rv-nm b { display: block; font-size: 14px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } .rv-nm small { font-size: 11px; color: rgba(255,255,255,.65); }
.rv-pnl { font-size: 17px; font-weight: 900; font-variant-numeric: tabular-nums; } .rv-pnl.w { color: var(--gold); } .rv-pnl.l { color: #ffb3bf; }
.rv-card.first { padding: 14px 14px; background: linear-gradient(135deg, #5a1220, #8f2a3d 55%, #5a1220); border: 2px solid var(--gold);
  box-shadow: 0 0 0 4px rgba(243,196,107,.18), 0 0 40px rgba(243,196,107,.55), 0 16px 40px rgba(0,0,0,.6); animation: rvWin .8s cubic-bezier(.2,1.5,.4,1) both, rvGlow 1.6s ease-in-out .8s infinite; }
.rv-card.first .rv-pos { color: var(--gold); font-size: 15px; } .rv-card.first .rv-nm b { font-size: 17px; } .rv-card.first .rv-pnl { font-size: 22px; }
@keyframes rvIn { 0% { opacity: 0; transform: translateY(-26px) scale(.7); } 100% { opacity: 1; transform: none; } }
@keyframes rvWin { 0% { opacity: 0; transform: scale(.3) rotate(-6deg); } 60% { opacity: 1; transform: scale(1.12) rotate(1deg); } 100% { transform: none; } }
@keyframes rvGlow { 0%,100% { box-shadow: 0 0 0 4px rgba(243,196,107,.18), 0 0 30px rgba(243,196,107,.45), 0 16px 40px rgba(0,0,0,.6); } 50% { box-shadow: 0 0 0 6px rgba(243,196,107,.3), 0 0 60px rgba(243,196,107,.8), 0 16px 40px rgba(0,0,0,.6); } }
.rv-conf { position: absolute; top: 0; width: 8px; height: 12px; z-index: 46; pointer-events: none; }
.rv-party { position: absolute; left: 50%; top: 30%; z-index: 47; font-size: 72px; transform: translate(-50%, -50%); pointer-events: none; animation: rvParty 1.8s ease-out forwards; }
@keyframes rvParty { 0% { opacity: 0; transform: translate(-50%, -50%) scale(.2) rotate(-30deg); } 25% { opacity: 1; transform: translate(-50%, -50%) scale(1.3) rotate(10deg); } 70% { opacity: 1; transform: translate(-50%, -60%) scale(1) rotate(0); } 100% { opacity: 0; transform: translate(-50%, -90%) scale(.9); } }
.rv-pos { white-space: nowrap; } .rv-card.first .rv-pos { width: auto; }
.rv-dim { position: absolute; inset: 0; z-index: 43; background: radial-gradient(circle at 50% 45%, rgba(10,2,5,.55), rgba(10,2,5,.82)); animation: fadeIn .4s ease both; pointer-events: none; }
@keyframes fadeIn { from { opacity: 0; } to { opacity: 1; } }
/* 全餐 */
.rm-seat.noopen .sav, .rm-seat.noopen .rm-backs { filter: grayscale(1) brightness(.75); opacity: .55; }
.rm-rack.dead .mt { filter: grayscale(1); opacity: .45; }
.rm-noopen { position: absolute; left: 50%; top: 40%; transform: translate(-50%, -50%); z-index: 46; min-width: 200px; padding: 16px 22px; border-radius: 18px; text-align: center; color: #fff;
  background: linear-gradient(160deg, rgba(70,70,74,.96), rgba(30,30,34,.96)); border: 1.5px solid rgba(255,255,255,.25); box-shadow: 0 18px 50px rgba(0,0,0,.6); pointer-events: none; animation: noIn .6s cubic-bezier(.2,1.5,.4,1) both; transition: opacity .4s; }
@keyframes noIn { 0% { opacity: 0; transform: translate(-50%, -50%) scale(.3) rotate(-6deg); } 60% { opacity: 1; transform: translate(-50%, -50%) scale(1.1); } 100% { transform: translate(-50%, -50%); } }
.rm-noopen.out { opacity: 0; }
.rm-noopen .no-ic { font-size: 40px; line-height: 1; } .rm-noopen .no-av { margin: 6px auto 2px; width: max-content; filter: grayscale(1); }
.rm-noopen .no-t { font-size: 28px; font-weight: 900; color: #ffb3bf; letter-spacing: 3px; margin: 2px 0; }
.rm-pov { position: absolute; right: 10px; top: 8px; height: 32px; padding: 0 10px; border-radius: 999px; border: 1px solid rgba(243,196,107,.4); background: rgba(16,5,8,.72); color: var(--gold); font-size: 12px; font-weight: 800; cursor: pointer; z-index: 5; }
/* last play glow, hint glow */
.mt.fresh { box-shadow: 0 2px 0 #c4b083, 0 0 0 2px var(--gold), 0 0 12px rgba(243,196,107,.9); animation: freshGlow 1.6s ease-in-out infinite; }
@keyframes freshGlow { 50% { box-shadow: 0 2px 0 #c4b083, 0 0 0 2px var(--gold), 0 0 4px rgba(243,196,107,.4); } }
.meld.hintm { outline: 2px dashed #7ed957; outline-offset: 3px; border-radius: 6px; }
/* A / Joker record next to each seat */
.rm-ajrec { display: flex; flex-wrap: wrap; gap: 1px; max-width: 66px; justify-content: center; margin-top: 2px; opacity: .5; }
/* whose turn */
.rm-turn { position: absolute; left: 50%; bottom: 25%; transform: translateX(-50%); z-index: 6; display: none; align-items: center; gap: 6px; padding: 4px 12px 4px 5px; border-radius: 999px; background: rgba(16,5,8,.78); border: 1px solid rgba(243,196,107,.35); color: #fff; font-size: 12px; white-space: nowrap; pointer-events: none; }
.rm-turn.on { display: flex; } .rm-turn.mine { background: linear-gradient(135deg, #f3c46b, #c99227); color: #3b2200; border-color: #fff3; padding: 5px 14px; font-size: 14px; animation: turnPulse 1.2s ease-in-out infinite; }
.rm-turn.is3d { bottom: auto; top: 46px; }
@keyframes turnPulse { 50% { box-shadow: 0 0 18px rgba(243,196,107,.85); } }
/* choose how to play */
.op-list { display: flex; flex-direction: column; gap: 8px; margin-top: 8px; }
.op { display: flex; flex-direction: column; align-items: flex-start; gap: 6px; padding: 10px 12px; border-radius: 12px; border: 1px solid var(--line); background: var(--surface-2, rgba(0,0,0,.04)); color: var(--text); text-align: left; cursor: pointer; }
.op:active { transform: scale(.98); } .op-l { font-weight: 800; font-size: 14px; }
.op-tiles { display: flex; gap: 2px; flex-wrap: wrap; }
.op-tiles .mt.xs { width: 22px; height: 31px; } .op-tiles .mt.xs b { font-size: 12px; } .op-tiles .mt.xs i { display: block; width: 5px; height: 5px; margin-top: 2px; }
.op-tiles .mt.new { box-shadow: 0 2px 0 #c4b083, 0 0 0 2px #7ed957; }
.mt.wild { position: relative; } .mt.wild em { position: absolute; left: 0; right: 0; bottom: 1px; font-style: normal; font-size: 9px; font-weight: 900; color: var(--tc, #333); text-align: center; }
.mt.wild i { display: none !important; }
.rm-noopen.fold .no-t { color: #ffd9a0; }
.rm-turn { transition: opacity .5s; } .rm-turn.fade { opacity: 0; animation: none; }
/* bots, master view */
.bot-btn { margin-top: 3px; width: 30px; height: 26px; border-radius: 8px; border: 1px dashed rgba(243,196,107,.6); background: rgba(16,5,8,.6); font-size: 14px; cursor: pointer; }
.bot-x { margin-left: 2px; border: 0; background: rgba(0,0,0,.45); color: #fff; border-radius: 999px; width: 16px; height: 16px; font-size: 9px; line-height: 16px; padding: 0; cursor: pointer; }
.rm-spyhand { display: flex; flex-wrap: wrap; gap: 1px; max-width: 116px; justify-content: center; margin-top: 3px; }
.rm-spyhand .mt.xs { width: 13px; height: 18px; }
