/* ==========================================================
   BIRTHDAY SURPRISE — RESPONSIVE RULES
   ========================================================== */

/* Tablet */
@media (max-width: 900px) {
  .memory-grid { column-count: 2; }
  .cd-card { width: 92px; padding: 18px 0; }
  .envelope { height: min(220px, 58vw); }
}

/* Mobile */
@media (max-width: 640px) {
  .scene { padding: 84px 14px 50px; }
  .countdown-grid { gap: 10px; }
  .cd-card { width: 74px; padding: 14px 0; border-radius: 12px; }
  .cd-number { font-size: 1.5rem; }
  .cd-label { font-size: 0.58rem; }

  .memory-grid { column-count: 1; }
  .gallery-grid { margin-top: 24px; }

  .btn { padding: 13px 26px; font-size: 0.92rem; }

  #music-toggle { width: 44px; height: 44px; top: 12px; right: 12px; }

  .envelope-letter-paper { font-size: 0.82rem; padding: 16px 14px; }
  .lightbox-prev, .lightbox-next { width: 38px; height: 38px; font-size: 1rem; }
  .lightbox-close { width: 38px; height: 38px; top: 12px; right: 12px; }

  .handwritten-headline { font-size: clamp(2.6rem, 14vw, 4rem); }
}

/* Short / landscape phones */
@media (max-height: 480px) and (orientation: landscape) {
  .scene { padding: 56px 16px 30px; min-height: auto; }
  .cake-mount { width: 220px; height: 220px; }
  .envelope { height: 180px; }
}

/* No horizontal scroll safety net */
html, body, #scene-root, .scene { max-width: 100vw; }
