.shell {
  width: min(1280px, calc(100% - 34px));
}

.board {
  --cell: 40px;
}

.stage-card {
  min-width: 0;
}

.play-options {
  display: grid;
  justify-items: end;
  gap: 7px;
}

.board-options {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 6px;
}

.board-mode {
  min-height: 36px;
  padding: 6px 11px;
  border: 1px solid var(--line);
  background: var(--paper);
  color: var(--ink);
  font: 800 .78rem inherit;
  cursor: pointer;
}

.board-mode.active {
  border-color: var(--accent);
  color: var(--accent);
}

.board-note {
  align-self: center;
  color: var(--muted);
  font-size: .72rem;
}

.board-options[hidden] {
  display: none;
}

.board-wrap.endless {
  max-height: min(74vh, 780px);
}

.board.endless {
  box-shadow: none;
}

@media (max-width: 620px) {
  :root {
    --cell: calc((100vw - 66px) / 15);
  }

  .board {
    --cell: calc((100vw - 66px) / 15);
  }

  .play-options {
    width: 100%;
    justify-items: start;
  }

  .board-options {
    justify-content: flex-start;
  }
}
