/* Viewport surfaces share the launcher's content area. Fullscreen sets chrome to 0. */
html.desktop-app{--game-content-height:calc(100dvh - var(--game-chrome-height,0px))}
html.desktop-app :is(
  #hud-frame,#tut-spot,.news-overlay,.premium-zoom-overlay,#pp-overlay,
  #drop-modal,#npctut-modal,#split-modal,.fullmap-overlay,#fish-tutorial-wait,
  .rpg-confirm-overlay,.scroll-picker-overlay,.duel-countdown-overlay,
  #mobile-host,.rotate-overlay,.pwa-tut-ov,#win-backdrop,#mob-sheet,
  #reconnect-modal,#tut-overlay,#reg-modal,.login-reward-overlay,.abyss-pick-ov,
  #map-loading,#mg-overlay,#fd-overlay,#dv-tut-ov,#fish-info-ov,#dv-overlay,.fz,
  .tut-demo.expanded,#angel-scene,#angel-sanctuary-hud,#angel-sanctuary-preview,
  #angel-judgment,#gm-item-browser,#party-loot-modal,#spec-modal,.login-atmosphere
){top:var(--game-chrome-height,0px)!important;box-sizing:border-box}
html.desktop-app body.mobile #windows{top:var(--game-chrome-height,0px)}

/* Full-height drawers and sheets retain their internal scrolling. */
html.desktop-app body:not(.mobile) .cosm-slide{
  top:var(--game-chrome-height,0px);
  height:calc(var(--game-content-height) / var(--game-window-scale,1));
  transform-origin:right top;
}
html.desktop-app #windows>.win{
  max-height:calc((var(--game-content-height) - 16px) / var(--game-window-scale,1));
  transform-origin:top left;
}
html.desktop-app body.mobile #windows>.win{height:var(--game-content-height);max-height:var(--game-content-height)}
html.desktop-app body #screen-chars>#char-create,
html.desktop-app #friend-request-popup,
html.desktop-app .pet-picker-overlay .pet-picker-win:not(.pet-dragged){
  top:calc(50dvh + var(--game-chrome-height,0px) / 2)!important;
  max-height:calc((var(--game-content-height) - 24px) / max(1,var(--game-window-scale,1)))!important;
}
html.desktop-app :is(
  .rpg-modal-win,.tut-card,.news-box,.fullmap-box,.scroll-picker-box,
  .duel-countdown-box,.pwa-tut-box,.reg-box,.tut-box
),html.desktop-app #spec-modal>div{
  max-height:calc((var(--game-content-height) - 24px) / max(1,var(--game-window-scale,1)))!important;
  box-sizing:border-box;overflow-y:auto!important;scrollbar-width:none;
}
html.desktop-app :is(.ctx-menu,.ctx-submenu,.chat-name-menu,.rewards-shortcuts){
  max-height:calc(var(--game-content-height) - 16px);overflow-y:auto;scrollbar-width:none;
}
html.desktop-app :is(.rpg-modal-win,.tut-card,.news-box,.fullmap-box,.scroll-picker-box,.duel-countdown-box,.ctx-menu,.ctx-submenu,.chat-name-menu,.rewards-shortcuts)::-webkit-scrollbar{display:none}

html.desktop-app #win-closeall{top:calc(var(--game-chrome-height,0px) + 8px)}
html.desktop-app #tut-spot .ts-skip{top:calc(var(--game-chrome-height,0px) + 12px)}
html.desktop-app #screen-auth #login-panel-toggle{top:calc(var(--game-chrome-height,0px) + max(8px,env(safe-area-inset-top)))}
