/* Shared sports controls and phone chrome. Sport-specific roster grids stay in their own stylesheets. */
body.fsg-shell button,body.fsg-shell a,body.fsg-shell input,body.fsg-shell select{font-family:system-ui,sans-serif}
body.fsg-shell .primary,body.fsg-shell .secondary,body.fsg-shell .start-button,body.fsg-shell .ghost-button{min-height:44px}
body.fsg-shell .mode-card,body.fsg-shell .path-card{border-color:var(--fsg-ink)}
body.fsg-shell .nfl-result-nav #result-back,body.fsg-shell .nfl-result-nav #again-top{min-height:44px}

/* The three draft introductions share the same bright, accessible treatment. */
body.fsg-shell .draft-intro,body.fsg-shell .mlb-intro{background:rgba(23,18,59,.24)}
body.fsg-shell .draft-intro-card,body.fsg-shell .mlb-intro-card{border:3px solid var(--fsg-ink);border-radius:var(--fsg-radius);background:var(--fsg-card);color:var(--fsg-ink);box-shadow:var(--fsg-shadow)}
body.fsg-shell .draft-intro-card button,body.fsg-shell .mlb-intro-card button{background:var(--fsg-orange);color:var(--fsg-ink);min-height:48px}
#draft-intro{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;padding:calc(12px + env(safe-area-inset-top)) 16px calc(12px + env(safe-area-inset-bottom))}
#draft-intro[hidden]{display:none}
#draft-intro .draft-intro-card{width:min(100%,420px);max-height:100%;overflow:auto;padding:20px}
#draft-intro .draft-intro-card h2{margin:0 0 10px;font-size:1.5rem}
#draft-intro .draft-intro-card p{margin:0 0 12px;line-height:1.45}
#draft-intro .draft-intro-card button{width:100%;margin-top:6px}

@media(max-width:767px){
  /* The shared tabs replace duplicate mode and result menu controls on phones. */
  body.fsg-shell #daily-screen>.path-top,body.fsg-shell #campaign-screen>.path-top,
  body.fsg-shell #rivalries-screen>.rivalry-top,
  body.fsg-shell #daily-path>.path-top,body.fsg-shell #h2h-path>.path-top,body.fsg-shell #campaign-path>.path-top,
  body.fsg-shell #result-exit,body.fsg-shell #result .nfl-result-nav #result-back,body.fsg-shell #result #result-exit-nfl{display:none!important}
  body.fsg-shell .nfl-path .path-card{margin-top:8px}
  body.fsg-shell #result .result-buttons button{min-height:44px}
}

/* Identical compact draft frame used by football, baseball and hockey. */
@media(max-width:740px){
  body.fsg-shell #draft .draft-head{min-height:28px;margin-bottom:2px}
  body.fsg-shell #draft .draw{min-height:48px;padding:3px}
  body.fsg-shell #draft .draw-reel{min-height:38px;padding:3px;display:flex;align-items:center;justify-content:center;box-shadow:none}
  body.fsg-shell #draft .lineup{padding:3px}
}

/* Shared bright showdown reveal and verdict, first used by Football Draft. */
body.fsg-shell #reveal .reveal-card{max-width:760px;width:100%;min-height:0;margin:0 auto;padding:0;background:transparent;box-shadow:none}
.fsg-showdown{display:grid;gap:8px;max-width:760px;margin:auto;padding:8px;color:var(--fsg-ink);text-align:left}
.fsg-showdown-top{display:flex;align-items:center;justify-content:space-between;gap:8px;font-weight:900;font-size:.75rem}
.fsg-showdown-top>span{min-width:0;overflow-wrap:anywhere}
.fsg-showdown-skip,.fsg-showdown-next,.fsg-showdown-verdict-actions button{border:2px solid var(--fsg-ink);border-radius:10px;color:var(--fsg-ink);font-weight:900;cursor:pointer}
.fsg-showdown-skip{flex:none;min-width:64px;min-height:44px;background:var(--fsg-card)}
.fsg-showdown-tally{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px}
.fsg-showdown-tally span{padding:5px 3px;border:2px solid var(--fsg-ink);border-radius:8px;background:var(--fsg-card);font-size:.64rem;font-weight:900;text-align:center;overflow-wrap:anywhere}
.fsg-showdown-tally span:first-child{background:var(--fsg-yellow)}
.fsg-showdown-tally span:last-child{background:var(--fsg-lavender)}
.fsg-showdown-list{display:grid;gap:8px;max-height:calc(100dvh - 186px);overflow-y:auto;overscroll-behavior:contain}
.fsg-showdown-pair{display:grid;grid-template-columns:minmax(0,1fr) 25px minmax(0,1fr);gap:5px;align-items:stretch}
.fsg-showdown-card{display:flex;flex-direction:column;gap:4px;min-width:0;padding:9px;border:2px solid var(--fsg-ink);border-radius:10px}
.fsg-showdown-card.you{background:var(--fsg-yellow)}
.fsg-showdown-card.them{background:var(--fsg-lavender)}
.fsg-showdown-card>b{font-size:clamp(.84rem,3vw,1.15rem);line-height:1.13;overflow-wrap:anywhere}
.fsg-showdown-card>small,.fsg-showdown-card>span{font-size:.58rem;font-weight:800;line-height:1.2;overflow-wrap:anywhere}
.fsg-showdown-vs{align-self:center;text-align:center;font-size:.68rem}
.fsg-showdown-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:3px;margin-top:auto}
.fsg-showdown-stats>span{display:grid;gap:2px;min-width:0;padding:3px 1px;border:1px solid var(--fsg-ink);border-radius:5px;background:var(--fsg-card);text-align:center}
.fsg-showdown-stats strong{font-size:.68rem;line-height:1;overflow-wrap:anywhere}
.fsg-showdown-stats small{font-size:.43rem;line-height:1.1;overflow-wrap:anywhere}
.fsg-showdown-edge{grid-column:1/-1;position:relative;overflow:hidden;min-height:34px;padding:7px 10px;border:2px solid var(--fsg-ink);border-radius:8px;background:var(--fsg-card);font-size:.7rem;font-weight:900;text-align:center}
.fsg-showdown-edge.even,.fsg-showdown-edge.unavailable{border-style:dashed}
.fsg-showdown-edge.you{background:var(--fsg-mint)}
.fsg-showdown-edge.them{background:var(--fsg-lavender)}
.fsg-showdown-edge.major{border-width:3px;font-weight:1000}
.fsg-showdown-gap{display:block;width:var(--gap);max-width:100%;height:3px;margin:3px auto 0;border-radius:3px;background:var(--fsg-ink)}
.fsg-showdown-next{width:100%;min-height:48px;background:var(--fsg-orange)}
.fsg-showdown-live{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.fsg-showdown-skip:focus-visible,.fsg-showdown-next:focus-visible,.fsg-showdown-verdict-actions button:focus-visible{outline:3px solid var(--fsg-orange);outline-offset:2px}

.fsg-showdown-verdict{display:grid;gap:10px;max-width:760px;margin:auto;padding:15px;border:2px solid var(--fsg-ink);border-radius:var(--fsg-radius);background:var(--fsg-card);box-shadow:var(--fsg-shadow);color:var(--fsg-ink);text-align:left}
.fsg-showdown-verdict h2{margin:0;font-size:clamp(1.65rem,6vw,2.5rem);line-height:1;letter-spacing:-.04em}
.fsg-showdown-count,.fsg-showdown-why{margin:0;font-size:.8rem;line-height:1.35;font-weight:750}
.fsg-showdown-records{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.fsg-showdown-records>div{display:grid;gap:3px;min-width:0;padding:10px;border:2px solid var(--fsg-ink);border-radius:10px}
.fsg-showdown-records .you{background:var(--fsg-mint)}
.fsg-showdown-records .them{background:var(--fsg-lavender)}
.fsg-showdown-records small{font-size:.56rem;font-weight:900;overflow-wrap:anywhere}
.fsg-showdown-records strong{font-size:clamp(1.3rem,5vw,2rem);line-height:1;overflow-wrap:anywhere}
.fsg-showdown-verdict-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
.fsg-showdown-verdict-actions button{min-height:44px;padding:8px;background:var(--fsg-card);font-size:.7rem}
.fsg-showdown-verdict-actions .fsg-showdown-primary{grid-column:1/-1;min-height:48px;background:var(--fsg-orange)}
.fsg-showdown-verdict-actions .fsg-showdown-share{background:var(--fsg-yellow)}
.fsg-showdown-verdict-actions .fsg-showdown-details{background:var(--fsg-mint)}
.fsg-showdown-verdict-actions .fsg-showdown-menu{background:var(--fsg-lavender)}
[id$="-showdown-details"]{margin-top:12px;text-align:left}
[id$="-showdown-details"]>summary{min-height:44px;padding:10px;border:2px solid var(--fsg-ink);border-radius:9px;background:var(--fsg-lavender);font-weight:900;cursor:pointer}
@media(max-width:740px){.fsg-showdown-list{max-height:calc(100dvh - 230px)}}
@media(max-width:370px){.fsg-showdown{gap:5px;padding:4px}.fsg-showdown-card{padding:6px}.fsg-showdown-verdict{padding:10px}}
@media(prefers-reduced-motion:reduce){.fsg-showdown,.fsg-showdown-verdict,.fsg-showdown-card{animation:none!important;transition:none!important}}
