/* DASM R6.41 — Admin modal spacing/alignment, ticker vertical centring, Baller crown alignment. */

/* ---------- Admin modal: clean alignment on every device ---------- */
#adminModal{
  box-sizing:border-box!important;
  align-items:flex-start!important;
  justify-content:center!important;
  padding:14px 14px 18px!important;
}
#adminModal .admin-modal-card{
  position:relative!important;
  width:min(1180px,calc(100vw - 28px))!important;
  max-width:min(1180px,calc(100vw - 28px))!important;
  max-height:calc(100dvh - 32px)!important;
  margin:0 auto!important;
  box-sizing:border-box!important;
}
#adminModal .modal-head{
  position:sticky!important;
  top:0!important;
  z-index:75!important;
  display:flex!important;
  align-items:center!important;
  min-height:72px!important;
  padding:16px 82px 16px 24px!important;
  box-sizing:border-box!important;
  background:#fff!important;
}
/* Keep the release badge in a protected lane immediately left of the close button. */
#adminModal .modal-head::after{
  position:absolute!important;
  top:50%!important;
  right:78px!important;
  transform:translateY(-50%)!important;
  margin:0!important;
  max-width:min(330px,calc(100% - 300px))!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
  box-sizing:border-box!important;
}
#adminModal #closeAdmin{
  position:absolute!important;
  top:50%!important;
  right:16px!important;
  transform:translateY(-50%)!important;
  margin:0!important;
  z-index:90!important;
}

/* ---------- Baller crown: same visual relationship at all breakpoints ---------- */
html body #view-grades .ai-feature.baller .ai-baller-art{
  position:absolute!important;
}
html body #view-grades .ai-feature.baller .ai-baller-art .ai-crown{
  z-index:3!important;
  transform:rotate(-7deg)!important;
  transform-origin:70% 70%!important;
}
html body #view-grades .ai-feature.baller .ai-baller-art .ai-ball-wrap{
  z-index:2!important;
}

/* Phone */
@media(max-width:760px){
  #adminModal{
    padding-top:max(54px,calc(env(safe-area-inset-top) + 18px))!important;
    padding-right:8px!important;
    padding-left:8px!important;
    padding-bottom:max(12px,env(safe-area-inset-bottom))!important;
  }
  #adminModal .admin-modal-card{
    width:calc(100vw - 16px)!important;
    max-width:calc(100vw - 16px)!important;
    max-height:calc(100dvh - max(72px,calc(env(safe-area-inset-top) + 36px)))!important;
    border-radius:18px!important;
  }
  #adminModal .modal-head{
    min-height:64px!important;
    padding:12px 58px 12px 16px!important;
  }
  #adminModal .modal-head::after{
    display:none!important;
  }
  #adminModal #closeAdmin{
    right:10px!important;
  }

  html body #view-grades .ai-feature.baller .ai-baller-art{
    right:5px!important;
    width:138px!important;
    height:96px!important;
  }
  html body #view-grades .ai-feature.baller .ai-baller-art .ai-ball-wrap{
    right:0!important;
    top:50%!important;
    width:82px!important;
    height:88px!important;
    transform:translateY(-42%)!important;
  }
  html body #view-grades .ai-feature.baller .ai-baller-art .ai-ball{
    width:80px!important;
    height:86px!important;
  }
  html body #view-grades .ai-feature.baller .ai-baller-art .ai-crown{
    right:78px!important;
    top:9px!important;
    width:50px!important;
    height:32px!important;
  }

  /* Ticker text sits optically centred on phones. */
  html body .live-pulse-strip.ticker-only .live-ticker-window,
  html body .live-pulse-strip.ticker-only .live-ticker-track,
  html body .live-pulse-strip.ticker-only .live-ticker-cycle,
  html body .live-pulse-strip.ticker-only .live-ticker-run{
    align-items:center!important;
  }
  html body .live-pulse-strip.ticker-only .live-ticker-fixture{
    position:relative!important;
    top:-2px!important;
    line-height:1.05!important;
  }
}

/* Tablet / iPad */
@media(min-width:761px) and (max-width:1366px){
  #adminModal{
    padding:22px 18px!important;
  }
  #adminModal .admin-modal-card{
    width:min(1120px,calc(100vw - 36px))!important;
    max-width:min(1120px,calc(100vw - 36px))!important;
    max-height:calc(100dvh - 44px)!important;
  }
  #adminModal .modal-head::after{
    right:80px!important;
    max-width:min(290px,calc(100% - 330px))!important;
  }

  html body #view-grades .ai-feature.baller .ai-baller-art{
    right:10px!important;
    width:150px!important;
    height:104px!important;
  }
  html body #view-grades .ai-feature.baller .ai-baller-art .ai-ball-wrap{
    right:0!important;
    top:50%!important;
    width:94px!important;
    height:100px!important;
    transform:translateY(-43%)!important;
  }
  html body #view-grades .ai-feature.baller .ai-baller-art .ai-ball{
    width:92px!important;
    height:98px!important;
  }
  html body #view-grades .ai-feature.baller .ai-baller-art .ai-crown{
    right:82px!important;
    top:9px!important;
    width:55px!important;
    height:35px!important;
  }
}

/* Website / desktop */
@media(min-width:1367px){
  #adminModal .modal-head::after{
    right:82px!important;
    max-width:min(340px,calc(100% - 340px))!important;
  }
  html body #view-grades .ai-feature.baller .ai-baller-art{
    right:12px!important;
    width:150px!important;
    height:108px!important;
  }
  html body #view-grades .ai-feature.baller .ai-baller-art .ai-ball-wrap{
    right:0!important;
    top:50%!important;
    width:92px!important;
    height:98px!important;
    transform:translateY(-43%)!important;
  }
  html body #view-grades .ai-feature.baller .ai-baller-art .ai-ball{
    width:90px!important;
    height:96px!important;
  }
  html body #view-grades .ai-feature.baller .ai-baller-art .ai-crown{
    right:76px!important;
    top:9px!important;
    width:62px!important;
    height:40px!important;
  }
}

/* ---------- Fixture ticker: optical vertical centring on every device ---------- */
html body .live-pulse-strip.ticker-only .live-fixture-ticker,
html body .live-pulse-strip.ticker-only .live-ticker-window,
html body .live-pulse-strip.ticker-only .live-ticker-track,
html body .live-pulse-strip.ticker-only .live-ticker-cycle,
html body .live-pulse-strip.ticker-only .live-ticker-run{
  align-items:center!important;
}
html body .live-pulse-strip.ticker-only .live-ticker-fixture{
  display:inline-flex!important;
  align-items:center!important;
  line-height:1.08!important;
  position:relative!important;
  top:-1px!important;
}
html body .live-pulse-strip.ticker-only .live-ticker-ball,
html body .live-pulse-strip.ticker-only .live-ticker-state,
html body .live-pulse-strip.ticker-only .live-ticker-kickoff,
html body .live-pulse-strip.ticker-only .live-ticker-team,
html body .live-pulse-strip.ticker-only .live-ticker-score,
html body .live-pulse-strip.ticker-only .live-ticker-v,
html body .live-pulse-strip.ticker-only .live-ticker-comp{
  align-self:center!important;
}


/* DASM R6.51 — tested STAGING ticker stability rules promoted to LIVE. */

/* R6.48c: never flash chronological/source order before today-first runtime ordering. */
html body .live-pulse-strip.ticker-only .live-ticker-track:not(.r648-ready){
  visibility:hidden!important;
}

/* R6.48g: exact two-cycle geometry. */
html body .live-pulse-strip.ticker-only .live-ticker-track{
  padding-left:0!important;
  gap:0!important;
}
html body .live-pulse-strip.ticker-only .live-ticker-cycle{
  flex:0 0 auto!important;
}

/* R6.50d: loop by the measured first-to-second-cycle pixel offset. */
@keyframes dasmFixtureTickerLoopR650d{
  from{transform:translate3d(0,0,0)}
  to{transform:translate3d(var(--dasm-ticker-cycle-shift,-50%),0,0)}
}
html body .live-pulse-strip.ticker-only .live-ticker-track.dasm-r650d-pixel-loop{
  animation-name:dasmFixtureTickerLoopR650d!important;
  -webkit-backface-visibility:hidden!important;
  backface-visibility:hidden!important;
  transform-style:preserve-3d!important;
}
@media(max-width:640px){
  html body .live-pulse-strip.ticker-only .live-ticker-track.dasm-r650d-pixel-loop .live-ticker-cycle,
  html body .live-pulse-strip.ticker-only .live-ticker-track.dasm-r650d-pixel-loop .live-ticker-run,
  html body .live-pulse-strip.ticker-only .live-ticker-track.dasm-r650d-pixel-loop .live-ticker-fixture{
    -webkit-backface-visibility:hidden!important;
    backface-visibility:hidden!important;
  }
}

/* R6.50g: warm iPhone compositor layers before the first fixture crosses the clip edge. */
@media (max-width:640px){
  html body .live-pulse-strip.ticker-only .live-ticker-track[data-dasm-ticker-entry='1'],
  html body .live-pulse-strip.ticker-only .live-ticker-track[data-dasm-ticker-entry='1'] .live-ticker-cycle,
  html body .live-pulse-strip.ticker-only .live-ticker-track[data-dasm-ticker-entry='1'] .live-ticker-run{
    -webkit-backface-visibility:hidden!important;
    backface-visibility:hidden!important;
    transform-style:preserve-3d!important;
  }
  html body .live-pulse-strip.ticker-only .live-ticker-track[data-dasm-ticker-entry='1'] .live-ticker-cycle .live-ticker-fixture:first-child{
    -webkit-transform:translateZ(0)!important;
    transform:translateZ(0)!important;
    -webkit-backface-visibility:hidden!important;
    backface-visibility:hidden!important;
    will-change:transform!important;
  }
}

