.vd-game-mex { --game-color:#ee7a5b; }
.mex-game,.mex-board { --mex-ink:#3a2418; color:var(--mex-ink); width:100%; min-width:0; }
.mex-game { max-width:900px; margin:0 auto; }
.mex-heading { margin:1rem 0 1.1rem; color:var(--vd-ink); }
.mex-heading h1 { font-size:clamp(1.65rem,2.8vw,2.6rem); line-height:1.12; font-weight:750; letter-spacing:-.035em; margin:.35rem 0 0; overflow-wrap:anywhere; }
.mex-heading .vd-eyebrow { font-size:.67rem; letter-spacing:.13em; font-weight:800; }
.mex-table { display:flex; align-items:center; justify-content:center; gap:1.4rem; min-height:11rem; padding:1.2rem; margin-bottom:1rem; border-radius:1.6rem; background:radial-gradient(ellipse at 50% 30%,#7a4a2c,#4e2e1a); color:#fff3dc; }
.mex-cup svg { width:6.5rem; height:6.5rem; display:block; }
.mex-claim { display:grid; gap:.1rem; text-align:center; }
.mex-claim small { font-size:.75rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; opacity:.85; }
.mex-claim strong { font-size:clamp(3rem,9vw,5rem); line-height:1; font-weight:850; letter-spacing:-.04em; }
.mex-claim.is-empty { opacity:.7; }
.mex-reveal { display:grid; gap:.7rem; justify-items:center; text-align:center; max-width:26rem; }
.mex-reveal p { margin:0; font-size:.95rem; line-height:1.4; font-weight:650; }
.mex-dice { display:inline-flex; gap:.6rem; }
.mex-die { width:3.4rem; height:3.4rem; }
.mex-dice-big .mex-die { width:4.6rem; height:4.6rem; }
.mex-yours { display:grid; gap:1rem; justify-items:center; margin-bottom:1rem; padding:1.1rem; border-radius:1.4rem; background:#fbf1d6; box-shadow:var(--lc-shadow,0 4px 14px #3a241810); }
.mex-claims { display:flex; flex-wrap:wrap; justify-content:center; gap:.45rem; }
.mex-claim-form { margin:0; }
.mex-chip { min-width:3.3rem; min-height:2.9rem; padding:0 .8rem; border:0; border-radius:.9rem; background:#fff; color:var(--mex-ink); font:inherit; font-size:1.1rem; font-weight:800; cursor:pointer; box-shadow:0 3px 0 #d8cfb4; -webkit-tap-highlight-color:transparent; }
.mex-chip.is-pair { background:#ffe4a8; box-shadow:0 3px 0 #e0b95c; }
.mex-chip.is-true { outline:3px solid #2f8f5b; outline-offset:1px; }
.mex-chip:active { transform:translateY(3px); box-shadow:none; }
.mex-actions { display:grid; grid-template-columns:repeat(auto-fit,minmax(10rem,1fr)); gap:.6rem; margin-bottom:1rem; }
.mex-action-form { margin:0; }
.mex-actions .vd-button,.mex-action-form .vd-button { width:100%; min-height:54px; border-radius:999px; justify-content:center; font-size:1.02rem; }
.mex-doubt { background:#cf4a38; color:#fff; border:0; }
.mex-players { display:grid; grid-template-columns:repeat(auto-fit,minmax(10.5rem,1fr)); gap:.6rem; }
.mex-player { display:grid; grid-template-columns:auto 1fr; gap:.2rem .55rem; align-items:center; padding:.65rem .8rem; border-radius:1rem; background:var(--vd-panel,#fffefa); box-shadow:var(--lc-shadow,0 4px 14px #3a241810); min-width:0; }
.mex-player.is-current { box-shadow:inset 0 0 0 2px var(--game-color), var(--lc-shadow,0 4px 14px #3a241810); }
.mex-player.is-out { opacity:.45; }
.mex-avatar { grid-row:span 2; width:2.3rem; height:2.3rem; }
.mex-avatar .pr-character { width:100%; height:100%; display:block; }
.mex-player strong { font-size:.85rem; overflow-wrap:anywhere; min-width:0; }
.mex-lives { display:flex; gap:.2rem; }
.mex-mug { width:.7rem; height:.85rem; border-radius:.15rem .15rem .3rem .3rem; background:#e0a22b; box-shadow:inset 0 -.25rem 0 #fff3c0; }
.mex-mug.is-lost { background:#e3dfcf; box-shadow:none; }
@media(max-width:560px){ .mex-table { gap:.8rem; min-height:9rem; padding:1rem; } .mex-cup svg { width:4.6rem; height:4.6rem; } .mex-die { width:3rem; height:3rem; } .mex-dice-big .mex-die { width:4rem; height:4rem; } }
@media(min-width:900px){ .mex-board-tv .mex-claim strong { font-size:7rem; } .mex-board-tv .mex-cup svg { width:9rem; height:9rem; } }

.mex-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:1rem; }
.mex-throws { display:flex; align-items:center; gap:.35rem; padding-top:.6rem; }
.mex-throws i { width:.9rem; height:.9rem; border-radius:50%; background:#e0a22b; box-shadow:inset 0 -2px 0 #b9811c; }
.mex-throws i.is-used { background:#e3dfcf; box-shadow:none; }
.mex-throws small { margin-left:.4rem; font-size:.6rem; font-weight:900; letter-spacing:.1em; color:#9a6b3a; }
.mex-table { flex-direction:column; }
.mex-score { grid-column:2; font-size:1rem; font-weight:850; min-height:1.2rem; }
.mex-player.is-lost-round { box-shadow:inset 0 0 0 2px #cf4a38, var(--lc-shadow,0 4px 14px #3a241810); }
