/* Space Mahjong — game-specific overrides for the shared Tileborne shell.
   The whole point here: let the canvas fill the stage edge-to-edge (it draws its
   own in-game frame + corner ticks, so the shell's table-border would only
   double up). Scope everything to .mss so other games are untouched. */

.mj-stage.mss{
  position:relative;
  margin:14px;
  padding:0;                       /* drop the shell padding — canvas bleeds */
  border:none;                     /* drop the table frame — our own frame draws inside */
  background:#04070b;              /* deep-space base behind any letterbox margin */
  overflow:hidden;
}
/* The shell's generic ".mj-stage > * { max-width:760px }" would cap the canvas;
   override it so the canvas can be the full stage. */
.mj-stage.mss > *{ max-width:none; width:100%; height:100%; }

#cv{
  display:block;
  position:absolute; inset:0;
  width:100%; height:100%;
  touch-action:none;
  -webkit-user-select:none; user-select:none;
  background:#04070b;              /* matches render() base fill; shows only in letterbox margin */
}
/* Fullscreen: the shell pins the topbar as position:fixed at the top and zeroes the
   stage margin, so an absolutely-positioned canvas would slide under the topbar and
   clip the HUD. Push the canvas below the topbar so all HUD content stays visible. */
.mj-game.is-fullscreen .mj-stage.mss #cv{
  top: calc(var(--g-topbar-h, 52px) + 4px);
  bottom:0;
  height:auto;
}
