/* First Inning Edge — mobile shell hotfix 2026-09-30.
   Mobile presentation only. No research, data, auth, entitlement or publishing logic. */
@media(max-width:760px){
  html.fie-unified-preview{
    --fie-mobile-float:14px;
  }

  /* Keep the phone header focused on active sports only. Future sports remain
     reserved on the Hub and desktop switcher without crowding the phone shell. */
  html.fie-unified-preview .sport-switcher .sport-coming-soon{
    display:none!important;
  }

  /* NFL uses a more specific future-sport reservation selector; explicitly
     beat it on phone so the active switcher is identical across sports. */
  html.fie-unified-preview body[data-sport="nfl"] .sport-switcher .sport-coming-soon{
    display:none!important;
  }

  /* Redundant sport label wastes phone width in the NFL market row. */
  html.fie-unified-preview body[data-sport="nfl"] .fie-nfl-market-label{
    display:none!important;
  }
  html.fie-unified-preview .fie-shared-search{
    display:none!important;
  }
  html.fie-unified-preview body .topbar,
  html.fie-unified-preview body[data-sport="nfl"] .topbar{
    padding-left:9px!important;
    padding-right:9px!important;
    column-gap:7px!important;
  }
  html.fie-unified-preview body .topbar .brand,
  html.fie-unified-preview body[data-sport="nfl"] .topbar .brand{
    flex-basis:154px!important;
    width:154px!important;
    min-width:154px!important;
    max-width:154px!important;
  }
  html.fie-unified-preview body .sport-switcher,
  html.fie-unified-preview body[data-sport="nfl"] .sport-switcher{
    margin-left:auto!important;
  }
  html.fie-unified-preview body .sport-switcher button[data-sport-select],
  html.fie-unified-preview body[data-sport="nfl"] .sport-switcher button[data-sport-select]{
    min-width:46px!important;
    padding:0 7px!important;
  }
  html.fie-unified-preview .fie-shared-profile{
    width:32px!important;
    height:32px!important;
    flex-basis:32px!important;
  }

  /* The common BOARD / SCHEDULE / RESULTS row is the mobile primary nav.
     Remove the legacy fixed MLB bottom nav so content and floating controls
     no longer stack on top of one another. */
  html.fie-unified-preview body .mobile-nav{
    display:none!important;
  }
  html.fie-unified-preview body main{
    padding-bottom:74px!important;
  }

  /* Let sport-market tabs swipe naturally instead of compressing every label. */
  html.fie-unified-preview body[data-sport="mlb"] .mlb-market-nav{
    overflow-x:auto!important;
    overflow-y:hidden!important;
    scrollbar-width:none!important;
    -webkit-overflow-scrolling:touch!important;
    overscroll-behavior-x:contain!important;
    justify-content:flex-start!important;
  }
  html.fie-unified-preview body[data-sport="mlb"] .mlb-market-nav::-webkit-scrollbar{
    display:none!important;
  }
  html.fie-unified-preview body[data-sport="mlb"] .mlb-market-label{
    display:none!important;
  }
  html.fie-unified-preview body[data-sport="mlb"] .mlb-market-nav button{
    flex:0 0 auto!important;
    min-width:max-content!important;
    padding-left:12px!important;
    padding-right:12px!important;
    white-space:nowrap!important;
  }

  /* Mobile Live Slate is a true bottom sheet. With the legacy bottom nav gone,
     use the bottom edge instead of reserving 68px and obscuring the board. */
  html.fie-unified-preview body[data-sport="mlb"] .live-slate-toggle{
    left:var(--fie-mobile-float)!important;
    right:auto!important;
    bottom:var(--fie-mobile-float)!important;
    z-index:930!important;
    width:auto!important;
    min-width:88px!important;
    height:40px!important;
    padding:0 11px!important;
  }
  html.fie-unified-preview body[data-sport="mlb"] .live-slate-rail{
    left:8px!important;
    right:8px!important;
    bottom:0!important;
    width:auto!important;
    max-height:68dvh!important;
    padding:12px 10px 16px!important;
    border-radius:18px 18px 0 0!important;
    transform:translateY(calc(100% + 24px))!important;
    box-shadow:0 -20px 55px rgba(0,0,0,.82)!important;
  }
  html.fie-unified-preview body[data-sport="mlb"].live-rail-open .live-slate-rail{
    transform:translateY(0)!important;
  }
  html.fie-unified-preview body[data-sport="mlb"].live-rail-open .live-slate-toggle{
    left:var(--fie-mobile-float)!important;
    bottom:calc(68dvh + 8px)!important;
  }
  html.fie-unified-preview body[data-sport="mlb"] .live-slate-list{
    max-height:calc(68dvh - 112px)!important;
  }
  html.fie-unified-preview body[data-page="dashboard"].live-rail-open::after{
    top:var(--fie-shell-top)!important;
    bottom:0!important;
  }

  /* Put feedback opposite Slate instead of on top of the old bottom nav. */
  .fie-bug-button{
    right:var(--fie-mobile-float)!important;
    bottom:var(--fie-mobile-float)!important;
    z-index:931!important;
    width:40px!important;
    height:40px!important;
    min-height:40px!important;
    padding:0!important;
    justify-content:center!important;
  }
  .fie-bug-button span{
    width:26px!important;
    height:26px!important;
  }
  .fie-bug-button b{
    display:none!important;
  }

  /* Feedback and Account become clean phone sheets and stay clear of iOS
     browser chrome. */
  .fie-bug-panel{
    left:8px!important;
    right:8px!important;
    top:auto!important;
    bottom:max(8px,env(safe-area-inset-bottom))!important;
    width:auto!important;
    max-height:calc(100dvh - 16px - env(safe-area-inset-bottom))!important;
    border-radius:16px!important;
  }
  .fie-account-panel{
    left:8px!important;
    right:8px!important;
    top:auto!important;
    bottom:max(8px,env(safe-area-inset-bottom))!important;
    width:auto!important;
    height:auto!important;
    max-height:calc(88dvh - env(safe-area-inset-bottom))!important;
    border-radius:16px!important;
  }

  /* Do not let floating actions sit above one another while a modal/sheet is open. */
  html.fie-bug-open .live-slate-toggle,
  html.fie-account-open .live-slate-toggle,
  html.fie-account-open .fie-bug-button,
  body.live-rail-open .fie-bug-button{
    opacity:0!important;
    pointer-events:none!important;
  }
}

@media(max-width:390px){
  html.fie-unified-preview body .topbar .brand,
  html.fie-unified-preview body[data-sport="nfl"] .topbar .brand{
    flex-basis:146px!important;
    width:146px!important;
    min-width:146px!important;
    max-width:146px!important;
  }
  html.fie-unified-preview body .topbar .brand-mark,
  html.fie-unified-preview body[data-sport="nfl"] .topbar .brand-mark{
    width:51px!important;
    height:51px!important;
    flex-basis:51px!important;
  }
  html.fie-unified-preview body .topbar .brand-copy,
  html.fie-unified-preview body[data-sport="nfl"] .topbar .brand-copy{
    width:90px!important;
  }
  html.fie-unified-preview body .topbar .brand-copy strong,
  html.fie-unified-preview body[data-sport="nfl"] .topbar .brand-copy strong{
    font-size:10px!important;
  }
}


/* iOS Safari mobile stability — keep focus from auto-zooming the viewport and
   keep the sport shell centered after taps/focus changes. */
@media(max-width:760px){
  html.fie-unified-preview{
    -webkit-text-size-adjust:100%;
    text-size-adjust:100%;
    width:100%;
    max-width:100%;
  }

  html.fie-unified-preview body{
    width:100%!important;
    max-width:100%!important;
    margin-left:auto!important;
    margin-right:auto!important;
    overflow-x:clip!important;
  }

  /* iOS Safari auto-zooms focused form controls rendered below 16px. */
  html.fie-unified-preview input,
  html.fie-unified-preview select,
  html.fie-unified-preview textarea{
    font-size:16px!important;
  }

  /* Avoid double-tap zoom on app controls while preserving normal pinch zoom. */
  html.fie-unified-preview button,
  html.fie-unified-preview [role="button"],
  html.fie-unified-preview a,
  html.fie-unified-preview input,
  html.fie-unified-preview select,
  html.fie-unified-preview textarea{
    touch-action:manipulation;
  }

  html.fie-unified-preview body[data-sport="mlb"] main,
  html.fie-unified-preview body[data-sport="nfl"] main{
    width:100%!important;
    max-width:100%!important;
    margin-left:auto!important;
    margin-right:auto!important;
    box-sizing:border-box!important;
  }

  html.fie-unified-preview body[data-sport="nfl"] .nfl-module{
    width:100%!important;
    max-width:100%!important;
    margin-left:auto!important;
    margin-right:auto!important;
    padding-left:10px!important;
    padding-right:10px!important;
    box-sizing:border-box!important;
  }

  html.fie-unified-preview body[data-sport="nfl"] .nfl-v4-shell{
    width:100%!important;
    max-width:100%!important;
    margin-left:auto!important;
    margin-right:auto!important;
    box-sizing:border-box!important;
  }
}
