diff --git a/pyramid.js b/pyramid.js index 193ec28..58fd697 100644 --- a/pyramid.js +++ b/pyramid.js @@ -212,7 +212,8 @@ const isTop = (i === waste.length - 1); el.style.top = `${wRect.top - boardTop + PILE_BORDER_WIDTH}px`; el.style.left = `${wRect.left - boardLeft + PILE_BORDER_WIDTH}px`; - el.style.zIndex = 50 + i; + // Base z-index for waste is 500, +i to stack correctly + el.style.zIndex = 500 + i; el.classList.add('is-flipped'); el.classList.toggle('is-exposed', isTop); }); @@ -305,6 +306,12 @@ } function handleStockClick() { + // Clear current selection when drawing/recycling + if (selectedCard) { + cardElements[selectedCard.id].classList.remove('is-selected'); + selectedCard = null; + } + if (stock.length > 0) { const card = stock.pop(); card.faceUp = true; @@ -391,6 +398,12 @@ handleCardClick(cardEl.dataset.id); return; } + + // If we click the board background but NOT a card or a pile, clear selection + if (selectedCard && !cardEl && !pileEl) { + cardElements[selectedCard.id].classList.remove('is-selected'); + selectedCard = null; + } }); document.addEventListener('gameModeChanged', (e) => {