/* ── 疊疊樂專用樣式 ── */

.stack-wrap {
  max-width: 400px;
  padding: 0 !important;
  position: relative;
  overflow: hidden;
}

#game-canvas {
  display: block;
  width: 100%;
  height: auto;
  border-radius: var(--border-radius-lg);
}

/* 開始/提示覆蓋層 */
.stack-overlay {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(0, 0, 0, 0.35);
  border-radius: var(--border-radius-lg);
  pointer-events: none;
  transition: opacity 0.3s;
}

.stack-overlay.hidden {
  opacity: 0;
  pointer-events: none;
}

.stack-overlay p {
  color: #fff;
  font-size: 22px;
  font-weight: 700;
  text-align: center;
  line-height: 1.6;
  text-shadow: 0 2px 8px rgba(0,0,0,0.5);
}

/* Perfect 提示動畫 */
.perfect-text {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  color: #FFD54F;
  font-size: 28px;
  font-weight: 800;
  text-shadow: 0 2px 8px rgba(0,0,0,0.5);
  pointer-events: none;
  animation: perfectFloat 1s ease-out forwards;
}

@keyframes perfectFloat {
  0%   { opacity: 1; transform: translateX(-50%) translateY(0) scale(1); }
  100% { opacity: 0; transform: translateX(-50%) translateY(-60px) scale(1.3); }
}

/* 新紀錄 */
.new-record-text {
  color: var(--color-primary);
  font-size: var(--font-size-title);
  font-weight: 700;
  animation: recordPulse 0.8s ease-in-out infinite alternate;
}

@keyframes recordPulse {
  from { transform: scale(1); }
  to   { transform: scale(1.08); }
}
