/* Nightflyers Gameday responsive shell · 1.13.0
   Loaded after styles.css to isolate TV/tablet/mobile behavior from legacy site rules. */

html:has(body.gameday-page),
body.gameday-page {
  width:100%;
  height:100%;
  min-height:100%;
  overflow:hidden;
}

body.gameday-page {
  height:100dvh;
  min-height:100dvh;
  display:flex;
  flex-direction:column;
}

body.gameday-page * {
  box-sizing:border-box;
}

body.gameday-page .gameday-scorebar {
  display:none !important;
}

body.gameday-page .gameday-site-header {
  flex:0 0 auto;
}

body.gameday-page .gameday-site-header .nav {
  min-height:56px;
  max-width:none;
  width:100%;
  padding:0 .75rem;
}

body.gameday-page .gameday-site-header .brand img {
  width:40px;
  height:40px;
}

body.gameday-page .gameday-site-header .brand small {
  display:none;
}

body.gameday-page .gameday-nfl-strip {
  flex:0 0 44px;
  min-height:44px;
  max-height:44px;
}

body.gameday-page .gameday-nfl-strip__label,
body.gameday-page .gameday-ticker-game,
body.gameday-page .gameday-ticker-placeholder {
  min-height:42px;
}

body.gameday-page .gameday-main.gameday-dashboard {
  width:100%;
  max-width:none;
  flex:1 1 0;
  min-height:0;
  margin:0;
  padding:.5rem;
  display:flex;
  flex-direction:column;
  overflow:hidden;
}

body.gameday-page .gameday-commandbar {
  flex:0 0 58px;
  min-height:58px;
  margin:0 0 .45rem;
  padding:.4rem .65rem;
  display:grid;
  grid-template-columns:minmax(160px,.8fr) minmax(260px,1.25fr) auto;
  align-items:center;
  gap:.65rem;
}

body.gameday-page .gameday-commandbar__title h1 {
  margin:0;
  font-size:clamp(1.5rem,2vw,2.35rem);
  line-height:.94;
}

body.gameday-page .gameday-commandbar__eyebrow {
  font-size:.62rem;
}

body.gameday-page .gameday-matchups-section {
  flex:1 1 0;
  min-height:0;
  height:auto;
  display:flex;
  overflow:hidden;
}

body.gameday-page .gameday-matchup-grid {
  flex:1 1 0;
  width:100%;
  height:auto !important;
  min-height:0;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  grid-template-rows:repeat(2,minmax(0,1fr)) !important;
  gap:.5rem !important;
  align-items:stretch;
}

body.gameday-page .gameday-matchup-grid > * {
  min-width:0;
  min-height:0;
}

body.gameday-page .gameday-matchup-card {
  width:100%;
  height:100%;
  min-width:0;
  min-height:0;
  overflow:hidden;
  display:flex;
  flex-direction:column;
  border-radius:15px;
  container-type:normal !important;
}

body.gameday-page .gameday-matchup-card > header {
  flex:0 0 auto;
  min-height:38px;
  padding:.42rem .55rem;
}

body.gameday-page .gameday-matchup-card > header > div {
  min-width:0;
}

body.gameday-page .gameday-matchup-card > header > div span {
  font-size:.68rem;
}

body.gameday-page .gameday-matchup-card > header > div strong {
  font-size:.68rem;
}

body.gameday-page .gameday-matchup-card__body {
  flex:1 1 0;
  min-height:0;
  padding:.42rem;
  display:grid;
  grid-template-rows:minmax(0,1fr) auto minmax(0,1fr) !important;
  gap:.26rem;
  overflow:hidden;
}

body.gameday-page .gameday-team-block {
  min-width:0;
  min-height:0;
  overflow:hidden;
  padding:.42rem .48rem;
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:.25rem;
  border-radius:11px;
}

body.gameday-page .gameday-team-row {
  width:100%;
  min-width:0;
  min-height:0;
  height:auto !important;
  padding:0 !important;
  display:grid !important;
  grid-template-columns:minmax(0,1fr) auto !important;
  align-items:center;
  align-content:normal !important;
  gap:.5rem !important;
  border:0 !important;
  border-radius:0 !important;
  background:none !important;
}

body.gameday-page .gameday-team-identity {
  min-width:0;
  display:flex;
  align-items:center;
  gap:.5rem;
}

body.gameday-page .gameday-team-identity > div {
  min-width:0;
}

body.gameday-page .gameday-team-logo {
  width:38px !important;
  height:38px !important;
  flex:0 0 38px !important;
  border-radius:8px;
}

body.gameday-page .gameday-team-identity strong {
  display:block;
  max-width:100%;
  font-size:clamp(.78rem,.95vw,1rem);
  line-height:1.1;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

body.gameday-page .gameday-team-identity span {
  display:block;
  margin-top:.12rem;
  font-size:.54rem;
  white-space:nowrap;
}

body.gameday-page .gameday-live-score {
  flex:0 0 auto;
  min-width:68px;
  text-align:right;
}

body.gameday-page .gameday-live-score span {
  font-size:.48rem;
}

body.gameday-page .gameday-live-score strong {
  font-size:clamp(1.35rem,1.7vw,1.95rem);
  line-height:1;
  white-space:nowrap;
}

body.gameday-page .gameday-team-projection {
  width:100%;
  min-width:0;
  min-height:18px;
  flex:0 0 auto;
  padding-top:.2rem;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto auto;
  align-items:baseline;
  gap:.35rem;
}

body.gameday-page .gameday-team-projection > span {
  min-width:0;
  font-size:.52rem;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

body.gameday-page .gameday-team-projection > strong {
  margin:0;
  font-size:.86rem;
  line-height:1;
  white-space:nowrap;
}

body.gameday-page .gameday-team-projection > small {
  font-size:.44rem;
  white-space:nowrap;
}

body.gameday-page .gameday-versus {
  min-height:14px;
  padding:0;
  margin:0;
}

body.gameday-page .gameday-versus span {
  font-size:.55rem;
}

body.gameday-page .gameday-live-badge {
  font-size:.55rem;
}

body.gameday-page .gameday-scoring-card__body {
  flex:1 1 0;
  min-height:0;
  padding:.42rem;
  overflow:hidden;
}

body.gameday-page .gameday-scoring-subtitle {
  margin:0 0 .3rem;
  font-size:.56rem;
}

body.gameday-page .gameday-scoring-list {
  min-height:0;
  height:100%;
  overflow:hidden;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  align-content:start;
  gap:.28rem;
}

body.gameday-page .gameday-score-event {
  min-width:0;
  padding:.34rem .4rem;
}

body.gameday-page .gameday-score-event__player strong {
  font-size:.65rem;
}

body.gameday-page .gameday-score-event__player span {
  font-size:.48rem;
}

body.gameday-page .gameday-score-event__points strong {
  font-size:.72rem;
}

body.gameday-page .gameday-score-event__points span {
  font-size:.46rem;
}

/* Fullscreen / TV: remove website chrome, keep the 3×2 board. */
body.gameday-page.is-gameday-fullscreen .gameday-site-header {
  display:none !important;
}

body.gameday-page.is-gameday-fullscreen .gameday-main.gameday-dashboard {
  padding:.45rem;
}

/* 1080p-class displays and shorter laptop screens. */
@media (max-height:900px) {
  body.gameday-page .gameday-site-header .nav {
    min-height:48px;
  }

  body.gameday-page .gameday-site-header .brand img {
    width:34px;
    height:34px;
  }

  body.gameday-page .gameday-nfl-strip {
    flex-basis:38px;
    min-height:38px;
    max-height:38px;
  }

  body.gameday-page .gameday-nfl-strip__label,
  body.gameday-page .gameday-ticker-game,
  body.gameday-page .gameday-ticker-placeholder {
    min-height:36px;
  }

  body.gameday-page .gameday-commandbar {
    flex-basis:46px;
    min-height:46px;
    margin-bottom:.32rem;
    padding:.28rem .45rem;
  }

  body.gameday-page .gameday-commandbar__title h1 {
    font-size:1.4rem;
  }

  body.gameday-page .gameday-commandbar__status small {
    font-size:.54rem;
  }

  body.gameday-page .gameday-matchup-grid {
    gap:.36rem !important;
  }

  body.gameday-page .gameday-matchup-card > header {
    min-height:30px;
    padding:.28rem .4rem;
  }

  body.gameday-page .gameday-matchup-card > header > div strong {
    display:none;
  }

  body.gameday-page .gameday-matchup-card__body {
    padding:.3rem;
    gap:.16rem;
  }

  body.gameday-page .gameday-team-block {
    padding:.28rem .36rem;
    gap:.14rem;
  }

  body.gameday-page .gameday-team-logo {
    width:30px !important;
    height:30px !important;
    flex-basis:30px !important;
  }

  body.gameday-page .gameday-team-identity strong {
    font-size:.72rem;
  }

  body.gameday-page .gameday-live-score strong {
    font-size:1.2rem;
  }

  body.gameday-page .gameday-team-projection {
    min-height:15px;
    padding-top:.1rem;
  }

  body.gameday-page .gameday-team-projection > span {
    font-size:.46rem;
  }

  body.gameday-page .gameday-team-projection > strong {
    font-size:.72rem;
  }

  body.gameday-page .gameday-team-projection > small {
    font-size:.4rem;
  }

  body.gameday-page .gameday-versus {
    min-height:10px;
  }
}

/* Tablet portrait and phones: 2×3 dashboard, still one-screen. */
@media (max-width:760px) and (orientation:portrait) {
  body.gameday-page .gameday-site-header .nav {
    min-height:46px;
    padding:0 .45rem;
  }

  body.gameday-page .gameday-site-header .brand img {
    width:32px;
    height:32px;
  }

  body.gameday-page .gameday-site-header .brand span {
    display:none;
  }

  body.gameday-page .gameday-nfl-strip {
    flex-basis:36px;
    min-height:36px;
    max-height:36px;
  }

  body.gameday-page .gameday-nfl-strip__label {
    padding:0 .48rem;
    font-size:.52rem;
  }

  body.gameday-page .gameday-ticker-game,
  body.gameday-page .gameday-ticker-placeholder {
    min-height:34px;
    font-size:.68rem;
  }

  body.gameday-page .gameday-main.gameday-dashboard {
    padding:.28rem;
  }

  body.gameday-page .gameday-commandbar {
    flex:0 0 42px;
    min-height:42px;
    grid-template-columns:minmax(78px,.7fr) minmax(0,1fr) auto;
    gap:.3rem;
    margin-bottom:.25rem;
    padding:.22rem .32rem;
    border-radius:10px;
  }

  body.gameday-page .gameday-commandbar__title h1 {
    font-size:1.05rem;
  }

  body.gameday-page .gameday-commandbar__eyebrow {
    font-size:.42rem;
  }

  body.gameday-page .gameday-commandbar__status {
    gap:.28rem;
    justify-content:flex-start;
  }

  body.gameday-page .gameday-commandbar__status .gameday-live-dot,
  body.gameday-page .gameday-commandbar__status small {
    display:none;
  }

  body.gameday-page .gameday-commandbar__status strong {
    font-size:.54rem;
  }

  body.gameday-page .gameday-commandbar__actions {
    gap:.2rem;
  }

  body.gameday-page .gameday-control-button {
    padding:.3rem .42rem;
    font-size:.5rem;
  }

  body.gameday-page #gamedayInfoButton {
    display:none;
  }

  body.gameday-page .gameday-matchup-grid {
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    grid-template-rows:repeat(3,minmax(0,1fr)) !important;
    gap:.26rem !important;
  }

  body.gameday-page .gameday-matchup-card {
    border-radius:9px;
  }

  body.gameday-page .gameday-matchup-card > header {
    min-height:25px;
    padding:.2rem .28rem;
  }

  body.gameday-page .gameday-matchup-card > header > div span {
    font-size:.48rem;
  }

  body.gameday-page .gameday-live-badge {
    display:none;
  }

  body.gameday-page .gameday-matchup-card__body {
    padding:.22rem;
    gap:.1rem;
  }

  body.gameday-page .gameday-team-block {
    padding:.2rem .24rem;
    gap:.08rem;
    border-radius:7px;
  }

  body.gameday-page .gameday-team-row {
    gap:.25rem !important;
  }

  body.gameday-page .gameday-team-logo {
    width:24px !important;
    height:24px !important;
    flex-basis:24px !important;
    border-radius:5px;
  }

  body.gameday-page .gameday-team-identity {
    gap:.28rem;
  }

  body.gameday-page .gameday-team-identity strong {
    font-size:.57rem;
    line-height:1;
  }

  body.gameday-page .gameday-team-identity span {
    display:none;
  }

  body.gameday-page .gameday-live-score {
    min-width:43px;
  }

  body.gameday-page .gameday-live-score span {
    font-size:.34rem;
  }

  body.gameday-page .gameday-live-score strong {
    font-size:.9rem;
  }

  body.gameday-page .gameday-team-projection {
    min-height:12px;
    padding-top:.05rem;
    grid-template-columns:minmax(0,1fr) auto;
    gap:.18rem;
  }

  body.gameday-page .gameday-team-projection > span {
    font-size:.36rem;
  }

  body.gameday-page .gameday-team-projection > strong {
    font-size:.57rem;
  }

  body.gameday-page .gameday-team-projection > small {
    display:none;
  }

  body.gameday-page .gameday-versus {
    min-height:7px;
  }

  body.gameday-page .gameday-versus span {
    font-size:.4rem;
  }

  body.gameday-page .gameday-scoring-card__body {
    padding:.22rem;
  }

  body.gameday-page .gameday-scoring-subtitle {
    display:none;
  }

  body.gameday-page .gameday-scoring-list {
    grid-template-columns:1fr;
    gap:.14rem;
  }

  body.gameday-page .gameday-score-event {
    padding:.18rem .22rem;
    border-radius:5px;
  }

  body.gameday-page .gameday-score-event__player strong {
    font-size:.5rem;
  }

  body.gameday-page .gameday-score-event__player span {
    display:none;
  }

  body.gameday-page .gameday-score-event__points strong {
    font-size:.54rem;
  }

  body.gameday-page .gameday-score-event__points span {
    display:none;
  }

  body.gameday-page .gameday-score-event:nth-child(n+5) {
    display:none;
  }

  body.gameday-page .gameday-no-events {
    padding:.4rem .25rem;
  }

  body.gameday-page .gameday-no-events strong {
    font-size:.55rem;
  }

  body.gameday-page .gameday-no-events span {
    font-size:.42rem;
  }
}

/* Phones/tablets in landscape: use the TV-style 3×2 board. */
@media (orientation:landscape) and (max-height:700px) {
  body.gameday-page .gameday-site-header {
    display:none !important;
  }

  body.gameday-page .gameday-nfl-strip {
    flex-basis:34px;
    min-height:34px;
    max-height:34px;
  }

  body.gameday-page .gameday-nfl-strip__label,
  body.gameday-page .gameday-ticker-game,
  body.gameday-page .gameday-ticker-placeholder {
    min-height:32px;
  }

  body.gameday-page .gameday-main.gameday-dashboard {
    padding:.24rem;
  }

  body.gameday-page .gameday-commandbar {
    flex:0 0 36px;
    min-height:36px;
    margin-bottom:.2rem;
    padding:.16rem .3rem;
    grid-template-columns:minmax(100px,.7fr) minmax(0,1fr) auto;
  }

  body.gameday-page .gameday-commandbar__title h1 {
    font-size:1rem;
  }

  body.gameday-page .gameday-commandbar__eyebrow {
    font-size:.4rem;
  }

  body.gameday-page .gameday-commandbar__status small,
  body.gameday-page #gamedayInfoButton {
    display:none;
  }

  body.gameday-page .gameday-control-button {
    padding:.26rem .4rem;
    font-size:.46rem;
  }

  body.gameday-page .gameday-matchup-grid {
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    grid-template-rows:repeat(2,minmax(0,1fr)) !important;
    gap:.2rem !important;
  }

  body.gameday-page .gameday-matchup-card {
    border-radius:8px;
  }

  body.gameday-page .gameday-matchup-card > header {
    min-height:23px;
    padding:.16rem .24rem;
  }

  body.gameday-page .gameday-matchup-card > header > div span {
    font-size:.44rem;
  }

  body.gameday-page .gameday-live-badge {
    display:none;
  }

  body.gameday-page .gameday-matchup-card__body {
    padding:.18rem;
    gap:.08rem;
  }

  body.gameday-page .gameday-team-block {
    padding:.16rem .22rem;
    gap:.06rem;
  }

  body.gameday-page .gameday-team-logo {
    width:22px !important;
    height:22px !important;
    flex-basis:22px !important;
  }

  body.gameday-page .gameday-team-identity strong {
    font-size:.54rem;
  }

  body.gameday-page .gameday-team-identity span,
  body.gameday-page .gameday-team-projection > small {
    display:none;
  }

  body.gameday-page .gameday-live-score {
    min-width:42px;
  }

  body.gameday-page .gameday-live-score strong {
    font-size:.82rem;
  }

  body.gameday-page .gameday-team-projection {
    min-height:10px;
    grid-template-columns:minmax(0,1fr) auto;
    padding-top:.03rem;
  }

  body.gameday-page .gameday-team-projection > span {
    font-size:.34rem;
  }

  body.gameday-page .gameday-team-projection > strong {
    font-size:.52rem;
  }

  body.gameday-page .gameday-versus {
    min-height:6px;
  }

  body.gameday-page .gameday-versus span {
    font-size:.34rem;
  }

  body.gameday-page .gameday-scoring-subtitle {
    display:none;
  }

  body.gameday-page .gameday-scoring-list {
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:.1rem;
  }

  body.gameday-page .gameday-score-event {
    padding:.14rem .18rem;
  }

  body.gameday-page .gameday-score-event__player strong {
    font-size:.46rem;
  }

  body.gameday-page .gameday-score-event__player span,
  body.gameday-page .gameday-score-event__points span {
    display:none;
  }

  body.gameday-page .gameday-score-event__points strong {
    font-size:.5rem;
  }

  body.gameday-page .gameday-score-event:nth-child(n+7) {
    display:none;
  }
}

/* Very narrow phones: keep two columns but remove all nonessential chrome. */
@media (max-width:390px) and (orientation:portrait) {
  body.gameday-page .gameday-commandbar__status {
    display:none;
  }

  body.gameday-page .gameday-commandbar {
    grid-template-columns:minmax(0,1fr) auto;
  }

  body.gameday-page .gameday-team-logo {
    width:21px !important;
    height:21px !important;
    flex-basis:21px !important;
  }

  body.gameday-page .gameday-team-identity strong {
    font-size:.52rem;
  }

  body.gameday-page .gameday-live-score {
    min-width:39px;
  }

  body.gameday-page .gameday-live-score strong {
    font-size:.82rem;
  }
}

/* Large UHD TVs: use the extra space without changing the layout. */
@media (min-width:2800px) and (min-height:1400px) {
  body.gameday-page .gameday-nfl-strip {
    flex-basis:58px;
    min-height:58px;
    max-height:58px;
  }

  body.gameday-page .gameday-commandbar {
    flex-basis:76px;
    min-height:76px;
  }

  body.gameday-page .gameday-commandbar__title h1 {
    font-size:3rem;
  }

  body.gameday-page .gameday-matchup-grid {
    gap:.75rem !important;
  }

  body.gameday-page .gameday-matchup-card > header {
    min-height:48px;
    padding:.58rem .75rem;
  }

  body.gameday-page .gameday-team-logo {
    width:52px !important;
    height:52px !important;
    flex-basis:52px !important;
  }

  body.gameday-page .gameday-team-identity strong {
    font-size:1.2rem;
  }

  body.gameday-page .gameday-live-score strong {
    font-size:2.3rem;
  }

  body.gameday-page .gameday-team-projection > span {
    font-size:.68rem;
  }

  body.gameday-page .gameday-team-projection > strong {
    font-size:1.15rem;
  }
}


/* Dynamic Sleeper prediction states + Gameday links · 1.13.1 */
body.gameday-page .gameday-team-projection {
  border-radius:7px;
  padding:.2rem .32rem .16rem;
  border-top:0;
  transition:background-color .25s ease,border-color .25s ease,color .25s ease;
}

body.gameday-page .gameday-team-projection.is-projected-winner {
  border:1px solid rgba(93,220,132,.34);
  background:rgba(93,220,132,.10);
}

body.gameday-page .gameday-team-projection.is-projected-winner > span,
body.gameday-page .gameday-team-projection.is-projected-winner > strong {
  color:#82f0a7;
}

body.gameday-page .gameday-team-projection.is-projected-loser {
  border:1px solid rgba(255,95,95,.30);
  background:rgba(213,10,10,.10);
}

body.gameday-page .gameday-team-projection.is-projected-loser > span,
body.gameday-page .gameday-team-projection.is-projected-loser > strong {
  color:#ff8585;
}

body.gameday-page .gameday-team-projection.is-projected-tied {
  border:1px solid rgba(255,234,0,.28);
  background:rgba(255,234,0,.07);
}

body.gameday-page .gameday-team-projection.is-projected-tied > span,
body.gameday-page .gameday-team-projection.is-projected-tied > strong {
  color:#ffea00;
}

body.gameday-page .gameday-team-projection.is-projected-neutral {
  border:1px solid rgba(177,186,191,.12);
  background:rgba(177,186,191,.04);
}

body.gameday-page .gameday-team-link,
body.gameday-page .gameday-player-link {
  color:inherit;
  text-decoration:none;
  text-underline-offset:.14em;
}

body.gameday-page .gameday-team-link:hover,
body.gameday-page .gameday-team-link:focus-visible,
body.gameday-page .gameday-player-link:hover,
body.gameday-page .gameday-player-link:focus-visible {
  color:var(--orange);
  text-decoration:underline;
}

body.gameday-page .gameday-player-link {
  display:inline-block;
  max-width:100%;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

@media (max-height:900px) {
  body.gameday-page .gameday-team-projection {
    padding:.12rem .24rem .1rem;
  }
}

@media (max-width:760px) and (orientation:portrait) {
  body.gameday-page .gameday-team-projection {
    padding:.05rem .14rem;
    border-radius:4px;
  }
}

@media (orientation:landscape) and (max-height:700px) {
  body.gameday-page .gameday-team-projection {
    padding:.03rem .12rem;
    border-radius:4px;
  }
}


/* Adaptive polling status · 1.13.2 */
body.gameday-page.is-gameday-live .gameday-commandbar__status strong {
  color:#82f0a7;
}
body.gameday-page.is-gameday-live .gameday-commandbar__status .gameday-live-dot {
  background:#82f0a7;
  box-shadow:0 0 0 5px rgba(130,240,167,.12);
}
body.gameday-page.is-gameday-standby .gameday-commandbar__status strong {
  color:var(--orange);
}
body.gameday-page.is-gameday-standby .gameday-commandbar__status .gameday-live-dot {
  background:var(--orange);
  box-shadow:0 0 0 5px rgba(226, 184, 108,.12);
  animation:none;
}
