/* All rules require confirmed mobile fullscreen; desktop gets no layout rules. */
html.vpn1337-mobile-fullscreen-v1 {
  --vpn1337-fs-top: calc(max(env(safe-area-inset-top, 0px), var(--vpn1337-fs-system-top, 0px)) + var(--vpn1337-fs-content-top, 0px));
  --vpn1337-fs-bottom: calc(max(env(safe-area-inset-bottom, 0px), var(--vpn1337-fs-system-bottom, 0px)) + var(--vpn1337-fs-content-bottom, 0px));
  --vpn1337-fs-left: calc(max(env(safe-area-inset-left, 0px), var(--vpn1337-fs-system-left, 0px)) + var(--vpn1337-fs-content-left, 0px));
  --vpn1337-fs-right: calc(max(env(safe-area-inset-right, 0px), var(--vpn1337-fs-system-right, 0px)) + var(--vpn1337-fs-content-right, 0px));
}
html.vpn1337-mobile-fullscreen-v1 .phone {
  --safe-top: max(env(safe-area-inset-top, 0px), var(--vpn1337-fs-system-top, 0px));
  --safe-bottom: max(env(safe-area-inset-bottom, 0px), var(--vpn1337-fs-system-bottom, 0px));
  --app-header-pad-top: calc(14px + var(--vpn1337-fs-top));
}
html.vpn1337-mobile-fullscreen-v1 .viewport.is-telegram .phone {
  width: calc(100% - var(--vpn1337-fs-left) - var(--vpn1337-fs-right));
  margin-left: var(--vpn1337-fs-left);
}
html.vpn1337-mobile-fullscreen-v1 .onboarding-stories { top: calc(22px + var(--vpn1337-fs-top)); }
html.vpn1337-mobile-fullscreen-v1 .onboarding-logo { top: calc(52px + var(--vpn1337-fs-top)); }
html.vpn1337-mobile-fullscreen-v1 .onboarding-logo.is-raised { top: calc(18px + var(--vpn1337-fs-top)); }
html.vpn1337-mobile-fullscreen-v1 .onboarding-caption { bottom: calc(212px + var(--vpn1337-fs-bottom)); }
html.vpn1337-mobile-fullscreen-v1 .onboarding-next-button { bottom: calc(136px + var(--vpn1337-fs-bottom)); }
html.vpn1337-mobile-fullscreen-v1 .onboarding-back-slot { bottom: calc(80px + var(--vpn1337-fs-bottom)); }
html.vpn1337-mobile-fullscreen-v1 .setup-device-stage { top: calc(50px + var(--vpn1337-fs-top)); bottom: calc(184px + var(--vpn1337-fs-bottom)); }
html.vpn1337-mobile-fullscreen-v1 .setup-dock { bottom: calc(12px + var(--vpn1337-fs-bottom)); }
html.vpn1337-mobile-fullscreen-v1 .subscribe-sheet-panel {
  display: block; max-height: calc(100% - var(--vpn1337-fs-top) - 12px);
  padding-bottom: 0; overflow-x: hidden; overflow-y: auto; overscroll-behavior-y: contain;
}
html.vpn1337-mobile-fullscreen-v1 .subscribe-sheet-cta {
  position: sticky; bottom: 0; background: #000;
  padding-bottom: calc(1rem + var(--vpn1337-fs-bottom));
}
html.vpn1337-mobile-fullscreen-v1 .profile-hero { top: calc(3.85rem + var(--vpn1337-fs-top)); }
html.vpn1337-mobile-fullscreen-v1 .support-page { padding-top: calc(2.1rem + var(--vpn1337-fs-top)); padding-bottom: calc(6.5rem + var(--vpn1337-fs-bottom)); }
html.vpn1337-mobile-fullscreen-v1 .crm-overlay {
  box-sizing: border-box;
  padding-top: calc(12px + var(--vpn1337-fs-top));
  padding-bottom: calc(12px + var(--vpn1337-fs-bottom));
  padding-left: calc(12px + var(--vpn1337-fs-left));
  padding-right: calc(12px + var(--vpn1337-fs-right));
}
html.vpn1337-mobile-fullscreen-v1 .crm-overlay-account-v2 {
  padding-top: calc(8px + var(--vpn1337-fs-top)); padding-bottom: calc(8px + var(--vpn1337-fs-bottom));
  padding-left: calc(8px + var(--vpn1337-fs-left)); padding-right: calc(8px + var(--vpn1337-fs-right));
}
html.vpn1337-mobile-fullscreen-v1 .crm-panel { max-height: 100%; }
html.vpn1337-mobile-fullscreen-v1 .crm-panel-checkout,
html.vpn1337-mobile-fullscreen-v1 .crm-panel-trial { padding-bottom: 24px; }
