/*
 * The final authority for surfaces that are mounted by different features.
 * Keep this file last in the core cascade: a child dialog must never inherit
 * an accidental z-index from the feature that opened it.
 */
#onboarding,
.onboarding { z-index:var(--layer-system); }

/* OverlayController adds this class to every static and dynamic modal owner.
 * Feature styles define appearance; this final cascade authority only keeps
 * interactive content outside iOS/Telegram cut-outs on all four sides. */
.game-overlay-layer {
  --game-overlay-pad-top:0px;
  --game-overlay-pad-right:0px;
  --game-overlay-pad-bottom:0px;
  --game-overlay-pad-left:0px;
  --game-safe-top:max(env(safe-area-inset-top,0px),var(--tg-safe-top,0px),var(--tg-safe-area-inset-top,0px));
  --game-safe-right:max(env(safe-area-inset-right,0px),var(--tg-safe-right,0px),var(--tg-safe-area-inset-right,0px));
  --game-safe-bottom:max(env(safe-area-inset-bottom,0px),var(--tg-safe-bottom,0px),var(--tg-safe-area-inset-bottom,0px));
  --game-safe-left:max(env(safe-area-inset-left,0px),var(--tg-safe-left,0px),var(--tg-safe-area-inset-left,0px));
  box-sizing:border-box;
  padding-top:calc(var(--game-overlay-pad-top) + var(--game-safe-top)) !important;
  padding-right:calc(var(--game-overlay-pad-right) + var(--game-safe-right)) !important;
  padding-bottom:calc(var(--game-overlay-pad-bottom) + var(--game-safe-bottom)) !important;
  padding-left:calc(var(--game-overlay-pad-left) + var(--game-safe-left)) !important;
}
.game-overlay-layer.modal {
  --game-overlay-pad-top:30px;
  --game-overlay-pad-right:30px;
  --game-overlay-pad-bottom:30px;
  --game-overlay-pad-left:30px;
}
#settings.game-overlay-layer {
  --game-overlay-pad-top:30px;
  --game-overlay-pad-right:16px;
  --game-overlay-pad-bottom:18px;
  --game-overlay-pad-left:16px;
}
#admin-panel.game-overlay-layer {
  --game-overlay-pad-top:30px;
  --game-overlay-pad-right:22px;
  --game-overlay-pad-bottom:18px;
  --game-overlay-pad-left:22px;
}
.game-dialog-layer.game-overlay-layer,
.search-layer.game-overlay-layer {
  --game-overlay-pad-top:32px;
  --game-overlay-pad-right:32px;
  --game-overlay-pad-bottom:32px;
  --game-overlay-pad-left:32px;
}
.raid-layer.game-overlay-layer {
  --game-overlay-pad-top:24px;
  --game-overlay-pad-right:24px;
  --game-overlay-pad-bottom:16px;
  --game-overlay-pad-left:24px;
}
.ammunition-press-layer.game-overlay-layer {
  --game-overlay-pad-top:38px;
  --game-overlay-pad-right:24px;
  --game-overlay-pad-bottom:22px;
  --game-overlay-pad-left:24px;
}
.combat-layer.game-overlay-layer {
  --game-overlay-pad-top:24px;
  --game-overlay-pad-right:24px;
  --game-overlay-pad-bottom:24px;
  --game-overlay-pad-left:24px;
}
.simple-page-layer.game-overlay-layer,
.character-page-layer.game-overlay-layer {
  --game-overlay-pad-top:48px;
  --game-overlay-pad-right:12px;
  --game-overlay-pad-bottom:12px;
  --game-overlay-pad-left:12px;
}
.character-workshop-layer.game-overlay-layer {
  --game-overlay-pad-top:48px;
  --game-overlay-pad-right:22px;
  --game-overlay-pad-bottom:10px;
  --game-overlay-pad-left:22px;
}
.item-image-manager-layer.game-overlay-layer {
  --game-overlay-pad-top:32px;
  --game-overlay-pad-right:18px;
  --game-overlay-pad-bottom:20px;
  --game-overlay-pad-left:18px;
}
.item-public-card-layer.game-overlay-layer {
  --game-overlay-pad-top:30px;
  --game-overlay-pad-right:30px;
  --game-overlay-pad-bottom:18px;
  --game-overlay-pad-left:30px;
}
.equipment-picker-layer.game-overlay-layer {
  --game-overlay-pad-top:32px;
  --game-overlay-pad-right:32px;
  --game-overlay-pad-bottom:20px;
  --game-overlay-pad-left:32px;
}
.item-container-layer.game-overlay-layer {
  --game-overlay-pad-top:22px;
  --game-overlay-pad-right:18px;
  --game-overlay-pad-bottom:22px;
  --game-overlay-pad-left:18px;
}
.admin-mail-layer.game-overlay-layer,
.avatar-preview-layer.game-overlay-layer {
  --game-overlay-pad-top:16px;
  --game-overlay-pad-right:16px;
  --game-overlay-pad-bottom:16px;
  --game-overlay-pad-left:16px;
}
.support-compose-layer.game-overlay-layer {
  --game-overlay-pad-top:22px;
  --game-overlay-pad-right:22px;
  --game-overlay-pad-bottom:22px;
  --game-overlay-pad-left:22px;
}
.system-media-preview-layer.game-overlay-layer {
  --game-overlay-pad-top:24px;
  --game-overlay-pad-right:24px;
  --game-overlay-pad-bottom:24px;
  --game-overlay-pad-left:24px;
}
.intro-quest-layer.game-overlay-layer {
  --game-overlay-pad-top:34px;
  --game-overlay-pad-right:22px;
  --game-overlay-pad-bottom:18px;
  --game-overlay-pad-left:22px;
}
.interactive-form-layer.game-overlay-layer {
  --game-overlay-pad-top:22px;
  --game-overlay-pad-right:0px;
  --game-overlay-pad-bottom:0px;
  --game-overlay-pad-left:0px;
}
.event-link-fullscreen.game-overlay-layer,
.scene-media-preview-layer.game-overlay-layer {
  --game-overlay-pad-top:0px;
  --game-overlay-pad-right:0px;
  --game-overlay-pad-bottom:0px;
  --game-overlay-pad-left:0px;
}

.game-dialog-layer {
  position:fixed;
  inset:0;
  z-index:var(--layer-dialog);
}

.item-image-manager-layer,
.support-compose-layer {
  position:fixed;
  inset:0;
}

#portrait-orientation-guard { z-index:var(--layer-guard); }

.shop-admin-layer.game-overlay-layer {
  --game-overlay-pad-top:28px;
  --game-overlay-pad-right:28px;
  --game-overlay-pad-bottom:28px;
  --game-overlay-pad-left:28px;
}
