/* ==========================================================================
   skinFullscreen.css — panggung skin 3D saat layar penuh (skinFullscreen.js).
   `is-fullscreen`        : fullscreen sungguhan ATAU semu (rupa bersama)
   `is-pseudo-fullscreen` : iPhone / fullscreen ditolak → menutupi viewport
   Ukuran kanvas mengikuti panggung; penggambar menyesuaikan buffer sendiri.
   ========================================================================== */

.skin-stage.is-fullscreen {
  width: 100%;
  height: 100%;
  margin: 0;
  border: 0;
  border-radius: 0;
}

/* Layar penuh semu: tetap di atas seluruh aplikasi, termasuk bilah alat. */
.skin-stage.is-pseudo-fullscreen {
  position: fixed;
  inset: 0;
  z-index: 2147483000;
  width: 100vw;
  height: 100vh;
  /* Bilah alamat ponsel yang muncul-hilang: dvh mengikuti ruang nyata. */
  height: 100dvh;
}

.skin-stage.is-fullscreen .skin-stage__canvas {
  width: 100%;
  height: 100%;
}

/* Tombol jangan tertutup poni / sudut membulat layar ponsel. */
.skin-stage.is-fullscreen .studio__mode {
  top: max(10px, env(safe-area-inset-top));
  left: max(10px, env(safe-area-inset-left));
}

.skin-stage.is-fullscreen .studio__zoom {
  bottom: max(10px, env(safe-area-inset-bottom));
  right: max(10px, env(safe-area-inset-right));
}

.skin-stage.is-fullscreen .skin-stage__badge {
  bottom: max(12px, env(safe-area-inset-bottom));
}

/* Tombol yang disembunyikan (⇄ di luar layar penuh) benar-benar hilang —
   gaya tombol bulat bawaan memberi `display` yang mengalahkan [hidden]. */
.skin-stage .studio__zoom-btn[hidden] { display: none; }

.skin-stage.is-fullscreen .skin-stage__fullscreen {
  border-color: rgba(var(--canvas-grid), 0.7);
}

/* Halaman di belakang layar penuh semu tidak ikut tergulung. */
body.skin-fullscreen-lock {
  overflow: hidden;
  overscroll-behavior: none;
}
