/* Scoped to absent/unknown puzzles. Available boards retain their own geometry. */
#playMain[data-board-availability] .board-wrap {
  position: relative;
  width: min(100%, 32rem);
  min-width: 0;
  justify-self: center;
  aspect-ratio: 1;
  border: 1px solid var(--line);
  border-radius: var(--radius-lg, 12px);
  overflow: hidden;
  background-color: var(--paper-bright);
  background-image: linear-gradient(var(--hairline) 1px, transparent 1px), linear-gradient(90deg, var(--hairline) 1px, transparent 1px);
  background-size: 16.6667% 16.6667%;
}
#playMain[data-board-availability] #board,
#playMain[data-board-availability] .toolbar,
#playMain[data-board-availability] .clock,
#playMain[data-board-availability] .side,
#playMain[data-board-availability] .play-premium-slot,
#playMain[data-board-availability] .start-gate { display: none !important; }
.board-availability { position: absolute; inset: 0; display: grid; place-items: center; padding: 1rem; }
.board-availability-card { width: min(100%, 25rem); box-sizing: border-box; padding: clamp(1rem, 4vw, 2rem); text-align: center; color: var(--ink); background: var(--paper-bright); border: 1px solid var(--line); border-radius: var(--radius-lg, 12px); box-shadow: 0 8px 28px color-mix(in srgb, var(--ink) 12%, transparent); }
.board-availability-mark { display: inline-grid; place-items: center; width: 2.5rem; height: 2.5rem; border-radius: var(--radius-lg, 12px); color: var(--accent); background: var(--accent-soft); font-size: 1.75rem; }
.board-availability-card p { margin: .75rem 0; font-size: clamp(1rem, 3vw, 1.2rem); font-weight: 650; line-height: 1.4; }
.board-availability-actions { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: .5rem 1rem; }
.board-availability-actions button, .board-availability-actions a { min-height: 44px; display: inline-flex; align-items: center; justify-content: center; }
.board-availability-actions a { color: var(--accent); }
.board-availability-card h2 { margin: .5rem 0; font-size: 1rem; color: var(--muted); }
#playMain[data-board-availability] .play { display: flex; flex-direction: column; align-items: center; }
#playMain[data-board-availability] #meta { display: none; }
#playMain[data-board-availability] .board-legend { text-align: center; }
