:root{--chr-shell-version:screen-top-v3;--chr-safe-top:env(safe-area-inset-top,0px);--chr-safe-bottom:env(safe-area-inset-bottom,0px);--chr-safe-left:env(safe-area-inset-left,0px);--chr-safe-right:env(safe-area-inset-right,0px)}
.themes img{height:auto;aspect-ratio:auto}
/* La surface basse est opaque : elle ne laisse jamais apparaître le ciel du body. */
body.arrival-proposal #main{background:var(--qg-background)}
body.arrival-proposal #home{background:var(--qg-background)}
body.arrival-proposal #home .hero{aspect-ratio:auto;background:var(--qg-top)}
body.arrival-proposal #home .hero>img{width:100%;height:auto;aspect-ratio:auto;object-fit:contain}
/* Le fond occupe l'écran ; seuls les contrôles évitent les zones système.
   Hors installation, les règles d'écran existantes restent inchangées. */
@media(display-mode:standalone){
  /* Le canvas racine est aussi lu par WebKit pour la zone système.
     Une bande positionnée seule ne remplace pas ce fond. */
  html:root{min-height:100%;background:var(--chr-screen-top,var(--page,#fdeede))!important}
  /* Le fond du body doit également porter la couleur même si l'inset vaut 0.
     Les cadres de contenu conservent leurs propres fonds opaques. */
  html:root body{background-color:var(--chr-screen-top,var(--page,#fdeede))!important}
  body{box-sizing:border-box;padding-top:var(--chr-safe-top)!important;padding-left:var(--chr-safe-left)!important;padding-right:var(--chr-safe-right)!important}
  body.arrival-proposal{height:100dvh;min-height:100dvh}
  body.arrival-proposal:has(#home:not([hidden])){background:var(--qg-top,var(--page));padding-top:var(--chr-safe-top)!important}
  body.arrival-proposal #home .hero{background:var(--qg-top,var(--page))}
  body.arrival-proposal #home .greeting{top:16px}
  body.chr-app-frame>.chr-app-menu-global{top:calc(var(--chr-safe-top) + 12px);left:calc(var(--chr-safe-left) + 12px)}
  body .chr-app-menu-panel{box-sizing:border-box;padding-top:var(--chr-safe-top);padding-left:var(--chr-safe-left);padding-bottom:var(--chr-safe-bottom)}
  body.arrival-proposal .scroll{padding-bottom:calc(28px + var(--chr-safe-bottom))}
  body .status,body .homebar{display:none!important}
  /* Une seule bande non interactive pour toutes les surfaces, sans voile. */
  body:after{content:'';position:fixed;z-index:2147483000;inset:0 0 auto;height:var(--chr-safe-top);background:var(--chr-screen-top,var(--page,#fff));pointer-events:none}
}
