.endless-panel { width: min(760px, 100%); }
.endless-panel .primary-action { display: none; }
.endless-hud { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; margin: 0 0 12px; }
.endless-hud > div { min-width: 0; min-height: 68px; padding: 9px 10px; border: 1px solid var(--line); border-radius: 8px; background: var(--surface-strong); }
.endless-hud .label { display: block; overflow: hidden; font-size: .7rem; font-weight: 800; line-height: 1.1; text-overflow: ellipsis; white-space: nowrap; }
.endless-hud strong { display: block; margin-top: 4px; overflow: hidden; font-size: 1rem; line-height: 1.15; font-variant-numeric: tabular-nums; text-overflow: ellipsis; white-space: nowrap; }
.endless-stage { position: relative; width: min(520px, 100%); margin: 0 auto; }
.endless-stage--wide { width: min(680px, 100%); }
.endless-stage .game-canvas { width: 100%; max-width: none; margin: 0; }
.endless-start-hint { position: absolute; inset: 0; display: grid; place-items: center; pointer-events: none; }
.endless-start-hint span { max-width: 80%; padding: 10px 16px; border: 1px solid rgba(255,255,255,.3); border-radius: 999px; background: rgba(4,18,16,.78); color: #fff; font-size: clamp(.85rem,3.5vw,1.05rem); font-weight: 900; text-align: center; }
.endless-controls { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; width: min(520px,100%); margin: 12px auto 0; }
.endless-controls[hidden] { display: none !important; }
.endless-control { min-width: 0; min-height: 58px; padding-inline: 8px; touch-action: none; user-select: none; -webkit-user-select: none; -webkit-touch-callout: none; }
.endless-note { min-height: 1.6em; margin: 10px 0 0; color: var(--muted); font-size: .9rem; font-weight: 800; text-align: center; }
@media (max-width: 620px) {
  .endless-panel { padding-inline: 10px; }
  .endless-hud { gap: 4px; margin-bottom: 8px; }
  .endless-hud > div { min-height: 54px; padding: 6px 5px; }
  .endless-hud .label { font-size: .53rem; }
  .endless-hud strong { margin-top: 2px; font-size: clamp(.68rem,3.2vw,.85rem); }
  .endless-stage--wide { width: 100%; }
  .endless-control { min-height: 54px; font-size: .9rem; }
}
@media (max-width: 360px) {
  .endless-hud { gap: 3px; }
  .endless-hud > div { padding-inline: 3px; }
  .endless-hud .label { font-size: .48rem; }
  .endless-hud strong { font-size: .65rem; }
}
