html, body {
  margin: 0;
  padding: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
  background-color: hsl(25, 20%, 6%);
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  color: #fff;
}

.iframe-container {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  /* dvh/vh fallback — overridden immediately by JS below */
  height: 100dvh;
  height: var(--app-height, 100dvh);
  overflow: hidden;
}

iframe {
  width: 100%;
  height: 100%;
  border: 0;
  display: block;
}

/* Loader Screen */
.iframe-loader {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: hsl(25, 20%, 8%);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 16px;
  z-index: 10;
  transition: opacity 0.5s ease;
}

.iframe-loader p {
  color: hsl(38, 50%, 55%);
  font-size: 1.1rem;
  letter-spacing: 2px;
  margin: 0;
}

.spinner {
  width: 40px;
  height: 40px;
  border: 3px solid hsla(38, 50%, 55%, 0.1);
  border-top-color: hsl(38, 50%, 55%);
  border-radius: 50%;
  animation: spin 1s infinite linear;
}

@keyframes spin {
  0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}
