/* Games widget (includes/games_widgets.php, assets/js/games.js). House tokens only; the board is always dark. */
.gm { display: grid; grid-template-columns: minmax(0, 1fr) auto; grid-template-rows: minmax(0, 1fr) auto; gap: 8px; height: 100%; min-height: 0; }
.gm-board { position: relative; min-height: 0; display: flex; justify-content: center; align-items: stretch; background: var(--ink); border-radius: var(--r-md); overflow: hidden; }
.gm-cv { height: 100%; max-width: 100%; aspect-ratio: 1 / 2; display: block; cursor: crosshair; touch-action: none; outline: none; }
.gm-cv:focus-visible { box-shadow: 0 0 0 2px var(--blue); }
.gm-msg { position: absolute; inset: auto 0 40% 0; margin: 0; text-align: center; color: var(--white); font-weight: 700; pointer-events: none; }
.gm-msg:empty { display: none; }
.gm-side { display: flex; flex-direction: column; gap: 6px; min-width: 88px; }
.gm-name { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.gm-next { width: 64px; height: 64px; background: var(--ink); border-radius: var(--r-sm); }
.gm-stat { display: flex; justify-content: space-between; gap: 6px; font-size: var(--fs-small); }
.gm-stat span { color: var(--text-muted); }
.gm-acts { display: grid; gap: 6px; margin-top: auto; }
.gm-pad { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(5, 1fr); gap: 6px; }
.gm-pad .btn { min-height: var(--btn-h); touch-action: manipulation; }
@media (hover: hover) and (pointer: fine) { .gm-pad { display: none; } }
