/* ELIE v5.3.2 — mobile home hierarchy and stable navigation controls.
   Phone landscape only unless a rule explicitly removes Share from non-home screens. */

.mobile-page-close,
.mobile-home-share-slot{display:none}
.screen:not(.home-screen) .home-share-launch{display:none!important}

@media (orientation:landscape) and (pointer:coarse) and (max-height:640px){
  /* One permanent top-right coordinate system on every mobile screen. */
  .mobile-menu-trigger{
    position:fixed!important;
    display:flex!important;
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
    top:max(5px,var(--safe-top,0px))!important;
    right:max(6px,var(--safe-right,0px))!important;
    left:auto!important;
    bottom:auto!important;
    width:45px!important;
    height:40px!important;
    min-width:45px!important;
    min-height:40px!important;
    margin:0!important;
    transform:none!important;
    z-index:24000!important;
  }
  .mobile-page-close{
    position:fixed!important;
    display:block!important;
    top:max(5px,var(--safe-top,0px))!important;
    right:max(57px,calc(var(--safe-right,0px) + 51px))!important;
    left:auto!important;
    bottom:auto!important;
    width:45px!important;
    height:40px!important;
    min-width:45px!important;
    min-height:40px!important;
    margin:0!important;
    padding:0!important;
    border:1px solid rgba(46,241,58,.86)!important;
    border-radius:13px 5px 13px 5px!important;
    background:linear-gradient(215deg,rgba(0,28,7,.98),rgba(0,4,1,.98))!important;
    box-shadow:inset 0 0 0 1px rgba(46,241,58,.1),inset 0 0 16px rgba(46,241,58,.07),0 0 12px rgba(0,0,0,.7)!important;
    overflow:hidden!important;
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
    transform:none!important;
    z-index:24000!important;
    touch-action:manipulation!important;
    -webkit-tap-highlight-color:transparent!important;
  }
  .mobile-page-close::before{
    content:""!important;
    position:absolute!important;
    inset:4px!important;
    border-right:1px solid rgba(46,241,58,.32)!important;
    border-bottom:1px solid rgba(46,241,58,.22)!important;
    border-radius:9px 2px 9px 2px!important;
    pointer-events:none!important;
  }
  .mobile-page-close span{
    position:absolute!important;
    left:10px!important;
    right:10px!important;
    top:50%!important;
    height:2px!important;
    margin-top:-1px!important;
    background:#2ef13a!important;
    box-shadow:0 0 6px rgba(46,241,58,.48)!important;
    pointer-events:none!important;
  }
  .mobile-page-close span:first-child{transform:rotate(45deg)!important}
  .mobile-page-close span:last-child{transform:rotate(-45deg)!important}
  .mobile-page-close:is(:hover,:focus-visible,:active){
    border-color:#fff!important;
    background:linear-gradient(215deg,rgba(14,70,24,.98),rgba(0,7,2,.99))!important;
  }

  /* Share replaces the X only on Home, immediately left of the hamburger. */
  .home-screen .mobile-home-share-slot{
    position:fixed!important;
    display:block!important;
    top:max(5px,var(--safe-top,0px))!important;
    right:max(57px,calc(var(--safe-right,0px) + 51px))!important;
    left:auto!important;
    bottom:auto!important;
    width:45px!important;
    height:40px!important;
    min-width:45px!important;
    min-height:40px!important;
    margin:0!important;
    z-index:24000!important;
    pointer-events:auto!important;
  }
  .home-screen .mobile-home-share-slot .home-share-launch{
    position:absolute!important;
    inset:0!important;
    display:grid!important;
    place-items:center!important;
    width:45px!important;
    height:40px!important;
    min-width:45px!important;
    min-height:40px!important;
    max-width:45px!important;
    max-height:40px!important;
    margin:0!important;
    padding:0!important;
    gap:0!important;
    border:1px solid rgba(46,241,58,.86)!important;
    border-radius:13px 5px 13px 5px!important;
    background:linear-gradient(215deg,rgba(0,28,7,.98),rgba(0,4,1,.98))!important;
    box-shadow:inset 0 0 0 1px rgba(46,241,58,.1),inset 0 0 16px rgba(46,241,58,.07),0 0 12px rgba(0,0,0,.7)!important;
    transform:none!important;
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
    overflow:hidden!important;
  }
  .home-screen .mobile-home-share-slot .home-share-launch::before{
    content:""!important;
    position:absolute!important;
    inset:4px!important;
    border-right:1px solid rgba(46,241,58,.32)!important;
    border-bottom:1px solid rgba(46,241,58,.22)!important;
    border-radius:9px 2px 9px 2px!important;
    pointer-events:none!important;
  }
  .home-screen .mobile-home-share-slot .home-share-launch img{
    position:relative!important;
    width:27px!important;
    height:27px!important;
    object-fit:contain!important;
    margin:0!important;
    padding:0!important;
    z-index:2!important;
  }
  .home-screen .mobile-home-share-slot .home-share-launch span{display:none!important}

  /* The home HUD may never reappear after viewport sleep/wake recalculation. */
  .home-screen :is(.personal-stats-cluster,.personal-stats,.career-reference-hud,.top-actions-dock){
    display:none!important;
    opacity:0!important;
    visibility:hidden!important;
    pointer-events:none!important;
  }

  /* Home composition: logo +40%, then a clean vertical sequence. */
  .home-screen{
    --elie-mobile-top:clamp(92px,25.8dvh,112px)!important;
    --elie-mobile-endless-w:min(77vw,710px)!important;
    --elie-mobile-start-w:clamp(280px,38vw,360px)!important;
    --elie-mobile-rail-h:clamp(68px,19.2dvh,80px)!important;
    --elie-mobile-orb:clamp(64px,18.6dvh,76px)!important;
    --elie-mobile-footer-h:12px!important;
  }
  .home-screen .mobile-fixed-logo{
    top:max(3px,var(--safe-top,0px))!important;
    width:clamp(118px,18.2vw,157px)!important;
    height:clamp(62px,22.3dvh,87px)!important;
    min-width:0!important;
    min-height:0!important;
    transform:translateX(-50%)!important;
    transform-origin:50% 0!important;
  }
  .home-screen .home-endless,
  .home-screen .home-endless-signal{
    left:50%!important;
    right:auto!important;
    top:var(--elie-mobile-top)!important;
    width:var(--elie-mobile-endless-w)!important;
    max-width:calc(100vw - max(118px,calc(var(--safe-left,0px) + var(--safe-right,0px) + 104px)))!important;
    max-height:clamp(72px,22.5dvh,96px)!important;
    object-fit:contain!important;
    object-position:center!important;
    transform:translateX(-50%)!important;
    margin:0!important;
  }
  .home-cinematic.is-visible .home-endless,
  .home-cinematic.is-visible .home-endless-signal{transform:translateX(-50%)!important}
  .home-screen .home-start.home-start-signal{
    left:50%!important;
    right:auto!important;
    top:clamp(194px,55.2dvh,238px)!important;
    bottom:auto!important;
    width:var(--elie-mobile-start-w)!important;
    min-width:var(--elie-mobile-start-w)!important;
    max-width:calc(100vw - 210px)!important;
    height:clamp(48px,13.5dvh,58px)!important;
    min-height:0!important;
    margin:0!important;
    transform:translateX(-50%)!important;
  }
  .home-screen .home-start-signal .home-start-signal-label{
    max-width:100%!important;
    font-size:clamp(19px,5.4dvh,30px)!important;
    letter-spacing:-.03em!important;
  }
  .home-screen .home-start-signal:is(.lang-es,.lang-de,.lang-pt,.lang-ru,.lang-ks) .home-start-signal-label{
    font-size:clamp(17px,4.9dvh,27px)!important;
  }
  .home-screen .home-lower-instruments{
    --home-instrument-band:var(--elie-mobile-rail-h)!important;
    --home-round-size:var(--elie-mobile-orb)!important;
    --home-passport-height:var(--elie-mobile-orb)!important;
    --home-kadim-size:var(--elie-mobile-orb)!important;
    --home-info-height:clamp(34px,9.6dvh,42px)!important;
    left:max(9px,calc(var(--safe-left,0px) + 5px))!important;
    right:max(9px,calc(var(--safe-right,0px) + 5px))!important;
    bottom:max(16px,calc(var(--safe-bottom,0px) + 14px))!important;
    height:var(--elie-mobile-rail-h)!important;
    grid-template-columns:var(--elie-mobile-orb) var(--elie-mobile-orb) minmax(190px,1fr) var(--elie-mobile-orb) var(--elie-mobile-orb)!important;
    column-gap:clamp(6px,1.15vw,11px)!important;
  }
  .home-screen .home-lower-instruments :is(.home-badge-launch,.home-myra-launch,.home-passport-launch,.kadim-stone-launch){
    width:var(--elie-mobile-orb)!important;
    height:var(--elie-mobile-orb)!important;
    min-width:var(--elie-mobile-orb)!important;
    min-height:var(--elie-mobile-orb)!important;
    max-width:var(--elie-mobile-orb)!important;
    max-height:var(--elie-mobile-orb)!important;
    aspect-ratio:1/1!important;
  }
  .home-screen .home-lower-instruments .home-info{
    width:min(100%,340px)!important;
    max-width:340px!important;
    height:var(--home-info-height)!important;
    max-height:var(--home-info-height)!important;
    object-fit:contain!important;
  }
  .home-screen .site-branding{
    bottom:max(1px,var(--safe-bottom,0px))!important;
    height:12px!important;
    gap:3px!important;
  }
  .home-screen .site-branding .site-mark-link{width:20px!important}
  .home-screen .site-branding .site-copyright-new{width:76px!important}

  /* Menu text is sized for a phone, not a desktop canvas shrunk down. */
  html.mobile-menu-open :is(.mobile-menu-trigger,.mobile-page-close,.mobile-home-share-slot){
    opacity:0!important;
    visibility:hidden!important;
    pointer-events:none!important;
  }
  .map-screen .map-corner-title{
    right:max(112px,calc(var(--safe-right,0px) + 112px))!important;
    max-width:calc(100vw - 230px)!important;
  }
  .map-screen .map-selection-heading{
    box-sizing:border-box!important;
    padding-inline:112px!important;
  }

  .mobile-menu-panel.mobile-menu-panel-v518{
    padding-top:54px!important;
  }
  .mobile-menu-grid-v518 .mobile-menu-item{
    padding:18px 9px 13px!important;
  }
  .mobile-menu-grid-v518 .mobile-menu-item span{
    font-size:clamp(12px,3.05vh,18px)!important;
    line-height:1.08!important;
    letter-spacing:.015em!important;
  }
  .mobile-menu-grid-v518 .mobile-menu-item small{
    font-size:8px!important;
  }
}

@media (orientation:landscape) and (pointer:coarse) and (max-height:390px){
  .home-screen{
    --elie-mobile-top:clamp(86px,24.6dvh,96px)!important;
    --elie-mobile-endless-w:min(74vw,650px)!important;
    --elie-mobile-start-w:clamp(250px,34vw,310px)!important;
    --elie-mobile-rail-h:clamp(62px,18.2dvh,70px)!important;
    --elie-mobile-orb:clamp(60px,17.8dvh,68px)!important;
  }
  .home-screen .mobile-fixed-logo{
    width:clamp(118px,18.2vw,157px)!important;
    height:clamp(62px,22.3dvh,87px)!important;
  }
  .home-screen .home-endless,
  .home-screen .home-endless-signal{max-height:clamp(64px,20.5dvh,78px)!important}
  .home-screen .home-start.home-start-signal{
    top:clamp(180px,53.7dvh,204px)!important;
    height:46px!important;
  }
  .home-screen .home-lower-instruments{
    bottom:max(14px,calc(var(--safe-bottom,0px) + 12px))!important;
    grid-template-columns:var(--elie-mobile-orb) var(--elie-mobile-orb) minmax(170px,1fr) var(--elie-mobile-orb) var(--elie-mobile-orb)!important;
    column-gap:5px!important;
  }
  .home-screen .home-lower-instruments .home-info{max-width:286px!important}
  .mobile-menu-panel.mobile-menu-panel-v518{padding-top:48px!important}
  .mobile-menu-grid.mobile-menu-grid-v518{gap:6px!important}
  .mobile-menu-grid-v518 .mobile-menu-item{padding:14px 6px 10px!important}
  .mobile-menu-grid-v518 .mobile-menu-item span{font-size:clamp(12px,3.2vh,15px)!important}
  .mobile-menu-grid-v518 .mobile-menu-item small{font-size:8px!important}
}
