/* 9:16 viewport – site is built for portrait 9:16 screens */
html, body { height: 100%; margin: 0; background: #000; overflow: hidden; }
body {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 100vh;
}
/* Main screen: 9:16 aspect, fills viewport when aspect matches, letterboxed on wider screens */
.frame {
  position: relative;
  width: 100%;
  height: 100%;
  max-width: min(100vw, 100vh * 9 / 16);
  max-height: min(100vh, 100vw * 16 / 9);
  aspect-ratio: 9 / 16;
  margin: auto;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}
svg { width: 100%; height: 100%; }
.hotspot { fill: rgba(255,255,255,0); cursor: pointer; }
.menu-hotspot rect { fill: transparent; cursor: pointer; }
.menu-hotspot:hover rect { fill: rgba(255,255,255,0.08); }

.back-btn-svg { cursor: pointer; }
.back-btn-svg:hover { opacity: 0.85; }
