/* Calculation keeps a fixed table: four foundations, a stock row, and four waste piles. */

.game-root[data-game="calculation-solitaire"] {
  min-height: 40rem;
}

.calc-status {
  min-height: 2.8em;
  margin: 0 auto;
  max-width: 36rem;
  text-align: center;
  color: #f4f0e8;
  line-height: 1.4;
}

.calc-board {
  --cols: 4;
  scrollbar-gutter: stable;
}

.calc-found {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.35rem;
}

.calc-cap {
  width: var(--card-w);
  min-height: 2.7em;
  margin: 0;
  text-align: center;
  color: #f4f0e8;
  font-size: clamp(0.68rem, 2.4cqw, 0.95rem);
  line-height: 1.3;
}

.calc-cap span {
  display: block;
}

.calc-stock-row {
  display: flex;
  justify-content: center;
  gap: calc(var(--card-w) * 0.7);
  min-height: var(--card-h);
}

.calc-stock:not([aria-disabled="true"]),
.calc-board .pile-column.is-armed {
  cursor: pointer;
}

.calc-board .pile--slot.is-armed {
  box-shadow: inset 0 0 0 3px rgba(240, 207, 106, 0.95);
}

.calc-board .row--tableau > .pile-column.pile--empty.is-armed::before,
.calc-board .pile-column.is-armed:not(.pile--empty)::before {
  content: "";
  box-shadow: inset 0 0 0 3px rgba(240, 207, 106, 0.95);
}

.calc-board .pile-column.is-armed:not(.pile--empty)::before {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: var(--card-h);
  border-radius: var(--radius);
  pointer-events: none;
  z-index: 6;
}

.game-root[data-game="calculation-solitaire"] .playing-card.is-buried {
  cursor: default;
}

.game-root[data-game="calculation-solitaire"] .playing-card.is-buried:hover {
  transform: none;
}

.game-root[data-game="calculation-solitaire"] .calc-end-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.6rem;
  margin-top: 1rem;
}

.game-root[data-game="calculation-solitaire"] .calc-end-actions .btn {
  margin-top: 0;
}
