/* 玩家端统一内容宽度。只限制布局,不缩放字体/点击区域;后台保留宽屏。 */
:root { --app-max-width: 520px; }

body:not(.admin-open) {
  width: 100%; max-width: var(--app-max-width); margin-inline: auto;
  box-shadow: none;
}

/* fixed 元素以视口为参照,不会自动继承 body 的最大宽度。 */
body:not(.admin-open) :is(.road, .duel, .ngau, .plinko, .goal, .mines, .hoohey, .puffer, .xocdia, .limbo, .cups, .race, .eagle, .coin, .hilo, .nav, .welcome-splash) {
  left: 0; right: 0; width: 100%; max-width: var(--app-max-width);
  margin-inline: auto;
}

/* 弹层遮罩仍铺满窗口,仅把实际内容对齐玩家界面。 */
body:not(.admin-open) .sheet-card { max-width: var(--app-max-width); }
body:not(.admin-open) .toast { max-width: min(88%, calc(var(--app-max-width) - 32px)); }
