/* Full-viewport, centered access book. Layout only; authentication untouched. */
#gate.gate:not(.unlocked) {
  position: fixed !important;
  inset: 0 !important;
  width: 100vw !important;
  height: 100vh !important;
  height: 100dvh !important;
  max-width: none !important;
  margin: 0 !important;
  padding: clamp(10px, 2vw, 28px) !important;
  box-sizing: border-box !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: center !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
}
#gate.gate:not(.unlocked) > .book-stage {
  display: block !important;
  position: relative !important;
  flex: 0 0 auto !important;
  width: 100% !important;
  max-width: 1560px !important;
  height: min(860px, calc(100dvh - 40px)) !important;
  min-height: 580px !important;
  margin: auto !important;
  transform: none !important;
  left: auto !important;
  right: auto !important;
}
#gate .book-shell { width: 100% !important; height: 100% !important; }
#gate.gate.unlocked, #gate.gate.unlocked.is-ready,
#gate.gate[style*="display: none"] { display: none !important; }
@media (max-width: 760px) {
  #gate.gate:not(.unlocked) { padding: 8px !important; justify-content: flex-start !important; }
  #gate.gate:not(.unlocked) > .book-stage {
    width: 100% !important;
    max-width: 100% !important;
    height: max(680px, calc(100dvh - 16px)) !important;
    min-height: 680px !important;
  }
  #gate .inside-page { overflow-y: auto !important; overflow-x: hidden !important; }
  #gate .gate-panel { box-sizing: border-box !important; max-width: 100% !important; min-width: 0 !important; }
  #gate .access-row { flex-wrap: wrap !important; }
  #gate .access-row input, #gate .access-row button { max-width: 100% !important; }
}
@media (max-width: 430px) {
  #gate .gate-panel { padding: 82px 22px 30px !important; }
  #gate .studio-desk-top-entry { top: 20px !important; right: 16px !important; }
  #gate .gate-panel h1 { font-size: clamp(2.7rem, 11vw, 4.4rem) !important; }
}
