/* Real phone-artboard frame.
   The screens are designed at 393 × 852. Keep that artboard size fixed, then
   scale the whole canvas as one piece so element sizes, spacing, and absolute
   positions stay proportional on mobile browsers with visible Safari chrome. */
:root {
  --phone-frame-w: 393px;
  --phone-frame-h: 852px;
  --phone-frame-scale: 1;
}

html,
body {
  width: 100%;
  height: 100%;
  min-height: 100dvh !important;
  margin: 0 !important;
  overflow: hidden !important;
  overscroll-behavior: none;
}

body {
  display: grid !important;
  justify-items: center !important;
  align-items: start !important;
  background:
    radial-gradient(circle at 50% 0%, rgba(229, 35, 41, 0.12), transparent 34%),
    #05071d !important;
  touch-action: manipulation;
}

.canvas {
  position: relative !important;
  inset: auto !important;
  width: var(--phone-frame-w) !important;
  height: var(--phone-frame-h) !important;
  min-width: var(--phone-frame-w) !important;
  min-height: var(--phone-frame-h) !important;
  max-width: none !important;
  max-height: none !important;
  margin: 0 auto !important;
  isolation: isolate;
  transform: translateZ(0) scale(var(--phone-frame-scale));
  transform-origin: top center;
  will-change: transform;
  box-shadow:
    0 0 0 1px rgba(255, 255, 255, 0.07),
    0 24px 80px rgba(0, 0, 0, 0.45);
}

html:not([data-phone-frame="ready"]) .canvas {
  opacity: 0;
}

html[data-phone-frame="ready"] .canvas {
  opacity: 1;
}

@media (min-width: 600px) {
  body {
    padding: 18px !important;
    box-sizing: border-box;
    align-items: center !important;
  }

  .canvas {
    border-radius: 30px;
  }
}
