.game-board.playing-board {
  --halfcut-board-top: #fbfcf5;
  --halfcut-board-bottom: #f2f6ed;
  --halfcut-shape-top: #398c88;
  --halfcut-shape-bottom: #287571;
  --halfcut-shape-outline: #69aaa4;
  --halfcut-accent: #dfaa32;
  --halfcut-accent-deep: #745414;
  --halfcut-ink: #24423d;
  --halfcut-label: rgba(255, 253, 246, 0.86);
  align-items: stretch;
  min-height: 0;
}

.game-area.game-length-match {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  gap: 0.2rem;
  width: 100%;
  min-height: 0;
  padding: 0;
}

.lm-prompt {
  margin: 0;
  font-size: 1rem;
  font-weight: 800;
  text-align: center;
  color: var(--green);
}

.lm-flash {
  min-height: 1.3em;
  margin: 0;
  font-size: 0.95rem;
  font-weight: 800;
  text-align: center;
  color: var(--green);
}

.lm-canvas-wrap {
  flex: 1 1 auto;
  width: min(96vw, 480px);
  height: min(62vh, 500px);
  min-height: 260px;
  max-width: 100%;
  max-height: min(62vh, 500px);
  margin: 0 auto;
  border-radius: 12px;
  overflow: hidden;
  touch-action: none;
  user-select: none;
  -webkit-user-select: none;
  -webkit-touch-callout: none;
  background: linear-gradient(180deg, var(--halfcut-board-top), var(--halfcut-board-bottom));
  border: 1px solid #dce6d8;
  box-shadow: 0 2px 8px rgba(38, 76, 62, 0.045);
}

.lm-canvas-wrap canvas {
  display: block;
  width: 100%;
  height: 100%;
  touch-action: none;
  user-select: none;
  -webkit-user-select: none;
  -webkit-touch-callout: none;
}

@media (max-width: 430px) {
  .lm-prompt {
    font-size: 0.95rem;
  }
  .lm-flash {
    font-size: 0.85rem;
  }
  .lm-canvas-wrap {
    width: 100%;
    height: min(58vh, 420px);
    min-height: 240px;
    max-height: min(58vh, 420px);
  }
}

@media (max-height: 760px) {
  .lm-prompt {
    font-size: 0.9rem;
  }
  .lm-flash {
    font-size: 0.82rem;
  }
  .lm-canvas-wrap {
    height: min(46vh, 340px);
    min-height: 200px;
    max-height: min(46vh, 340px);
  }
}
