/* Bandwagon Boys consolidated stylesheet. Source boundaries retained below. */

/* ===== source: v15.46.css ===== */
/* Bandwagon Boys V15.46 — usability + render stability */
.trade-finder-personal-v1544{grid-template-columns:minmax(0,.95fr) minmax(390px,1.05fr);align-items:start;gap:14px}
.trade-profile-card-v1546{align-self:start;padding-bottom:16px}.trade-profile-head-v1546{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.trade-profile-head-v1546 h2{margin:5px 0 0}.trade-profile-head-v1546 .trade-direction-v1544{margin:0}.trade-profile-identity-v1546{max-width:720px;margin:14px 0;color:#d7e0de;line-height:1.42}.trade-profile-columns-v1546{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:14px;padding-top:12px;border-top:1px solid rgba(255,255,255,.1)}.trade-profile-columns-v1546>div{min-width:0}.trade-profile-columns-v1546 h3{margin:0 0 7px;color:#e4c975;font-size:9px;letter-spacing:.11em;text-transform:uppercase}.trade-profile-columns-v1546 .trade-needs-chips-v1544{display:grid;margin:0}.trade-profile-columns-v1546 .trade-needs-chips-v1544 span{line-height:1.35}.trade-profile-columns-v1546 ul{margin:0;padding-left:16px;color:#b7c5c2;font-size:11px;line-height:1.45}.trade-profile-columns-v1546 li+li{margin-top:4px}
/* Trade History: softer contrast, readable headers, no white glare. */
.trade-history-panel-v1545{background:rgba(5,12,13,.78);border:1px solid rgba(255,255,255,.12)}.trade-history-panel-v1545 .trade-card-v11{background:rgba(8,17,18,.94)!important;color:#dce6e3!important;border:1px solid rgba(255,255,255,.12)!important;box-shadow:0 14px 32px rgba(0,0,0,.25)}.trade-history-panel-v1545 .trade-meta{background:#162522;color:#edf3f0}.trade-history-panel-v1545 .trade-side{background:rgba(9,18,19,.96)}.trade-history-panel-v1545 .trade-side header{border-bottom-color:rgba(255,255,255,.13)}.trade-history-panel-v1545 .trade-side header h2{color:#eef4f2!important}.trade-history-panel-v1545 .trade-side header span{color:#91a29e}.trade-history-panel-v1545 .trade-arrow{background:#b9ad90;color:#25312f}.trade-history-panel-v1545 .trade-asset{background:#d9d1bf;color:#17211f}.trade-history-panel-v1545 .trade-asset b{color:#17211f}.trade-history-panel-v1545 .trade-asset small{color:#5f6b67}.trade-history-panel-v1545 .trade-verdict{background:#c9c1ae;color:#17211f;border-color:#9d927b}.trade-history-panel-v1545 .trade-verdict:hover{background:#ddd5c2}.trade-history-panel-v1545 .trade-verdict.selected{background:#0e766e;color:#fff}.trade-history-panel-v1545 .trade-consensus{background:#bcb39f;color:#25302d}.trade-history-panel-v1545 .v1543-trade-reaction{background:#101d1c;color:#dce6e3;border-top-color:rgba(255,255,255,.12)}
/* Roster dossier grouping */
.roster-position-sections-v1546{display:grid;gap:18px}.roster-position-group-v1546>header{display:flex;align-items:center;justify-content:space-between;margin:0 0 8px;padding:8px 10px;background:rgba(15,30,29,.9);border-left:3px solid #14b8b1}.roster-position-group-v1546>header h3{margin:0;color:#fff;font-size:15px}.roster-position-group-v1546>header span{font:900 8px Arial;letter-spacing:.11em;color:#8fa19e}.roster-position-group-v1546 .roster-grid-v11{margin:0}
/* The Book: one-click join feedback */
.book-join-status-v1546{display:block;grid-column:1/-1;min-height:14px;color:#e7c96f;font-size:9px;letter-spacing:.08em;text-transform:uppercase}.book-join-v1513 button:disabled{opacity:.55;cursor:wait}
.v1546-data-loading{min-height:160px;display:grid;place-items:center}
/* Home: one fixed toast at a time. Since You Were Here stays in document flow. */
body[data-section="home"] #movement-popup-host{display:none!important}body[data-section="home"] #trade-popup-host .trade-slide{right:24px;bottom:74px;max-width:340px}
@media(max-width:1050px){.trade-finder-personal-v1544{grid-template-columns:1fr}.trade-profile-columns-v1546{grid-template-columns:1fr 1fr}}
@media(max-width:700px){.trade-profile-columns-v1546{grid-template-columns:1fr}.trade-history-panel-v1545{padding:10px}.trade-history-panel-v1545 .trade-side{padding:13px}}


/* ===== source: v15.47.css ===== */
/* V15.47 — mobile authentication sheet fix */
@media (max-width:900px){
  /* v11.css reintroduced overflow:hidden on the mobile sticky header, which clipped
     the fixed auth panel to the height of the header. Keep the nav itself scrollable,
     but allow the account sheet to escape the header. */
  body.v11 .topbar{overflow:visible!important}
  body.v11 .global-auth{position:relative;z-index:1000}
  body.v11 .global-auth-menu[open] .global-auth-pop{
    position:fixed!important;
    left:10px!important;
    right:10px!important;
    top:calc(66px + env(safe-area-inset-top,0px))!important;
    width:auto!important;
    max-height:calc(100dvh - 82px - env(safe-area-inset-top,0px))!important;
    overflow-y:auto!important;
    overscroll-behavior:contain;
    -webkit-overflow-scrolling:touch;
    z-index:1001!important;
  }
  body.v11 .global-auth-menu[open] .global-auth-pop .login-form{grid-template-columns:1fr!important}
  body.v11 .global-auth-menu[open] .global-auth-pop input{font-size:16px}
}
@media (max-width:460px){
  body.v11 .global-auth-menu>summary{padding:0 9px;font-size:9px;letter-spacing:.08em}
  body.v11 .global-auth-menu[open] .global-auth-pop{left:8px!important;right:8px!important;padding:14px!important}
  body.v11 .global-auth-menu[open] .global-auth-pop .btn{width:100%}
}


/* ===== source: v15.48.css ===== */
/* Bandwagon Boys V15.48 — mobile usability layer
   Desktop intentionally unchanged. Everything below is mobile/tablet only. */
.bbw-mobile-nav-toggle-v1548,.bbw-mobile-nav-shell-v1548{display:none}

@media (max-width:900px){
  html,body{max-width:100%;overflow-x:clip}
  body{background-attachment:scroll!important}
  body[class*="surface-"]{background-attachment:scroll!important}
  img,video,iframe{max-width:100%}
  .page,.destination-surface,.archive-surface,.stat-room{min-width:0}
  .page>*{min-width:0}

  /* Header: replace the cramped horizontal desktop nav with a thumb-friendly drawer. */
  body.v11 .topbar{
    min-height:calc(60px + env(safe-area-inset-top,0px));height:calc(60px + env(safe-area-inset-top,0px));padding:calc(7px + env(safe-area-inset-top,0px)) 10px 7px;
    gap:7px;overflow:visible!important;z-index:5000
  }
  body.v11 .brand{flex:0 0 auto;margin-right:auto}
  body.v11 .brand img{width:36px;height:36px}
  body.v11 .brand span{display:none!important}
  body.v11 .topnav{display:none!important}
  body.v11:not(.is-commissioner) #office-utility{display:none!important}
  body.v11 #office-utility{margin-left:0}
  body.v11 #office-utility .office-utility-link{min-height:40px;display:grid;place-items:center;padding:0 8px;font-size:8px}
  body.v11 .global-auth{margin-left:0!important}
  body.v11 .global-auth-menu>summary{min-height:40px!important;padding:0 9px!important;font-size:9px!important;letter-spacing:.06em!important}

  .bbw-mobile-nav-toggle-v1548{
    display:grid;place-items:center;flex:0 0 42px;width:42px;height:42px;padding:0;
    border:1px solid rgba(255,255,255,.2);background:#0b1719;color:#f4f0e5;
    font:900 19px/1 Arial,sans-serif;cursor:pointer;touch-action:manipulation
  }
  .bbw-mobile-nav-shell-v1548{
    position:fixed;inset:0;z-index:11000;background:rgba(0,0,0,.68);backdrop-filter:blur(5px);
    padding:calc(10px + env(safe-area-inset-top,0px)) 10px calc(10px + env(safe-area-inset-bottom,0px));
  }
  .bbw-mobile-nav-shell-v1548.open{display:block}
  .bbw-mobile-nav-panel-v1548{
    margin-left:auto;width:min(340px,92vw);height:100%;max-height:100%;overflow:auto;
    background:#081315;border:1px solid rgba(255,255,255,.2);box-shadow:0 22px 70px rgba(0,0,0,.6);
    padding:14px;-webkit-overflow-scrolling:touch
  }
  .bbw-mobile-nav-head-v1548{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:4px 2px 12px;border-bottom:1px solid rgba(255,255,255,.12)}
  .bbw-mobile-nav-head-v1548 b{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:#75ddd4}
  .bbw-mobile-nav-close-v1548{width:42px;height:42px;border:1px solid rgba(255,255,255,.15);background:transparent;color:#fff;font-size:24px}
  .bbw-mobile-nav-links-v1548{display:grid;gap:5px;padding-top:12px}
  .bbw-mobile-nav-links-v1548 a{
    display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:48px;padding:11px 13px;
    border:1px solid rgba(255,255,255,.11);background:rgba(255,255,255,.035);color:#dce5e3;
    text-decoration:none;text-transform:uppercase;font-size:10px;font-weight:900;letter-spacing:.09em
  }
  .bbw-mobile-nav-links-v1548 a.active{background:rgba(20,184,177,.14);border-color:rgba(20,184,177,.5);color:#fff}
  .bbw-mobile-nav-links-v1548 a::after{content:'›';font-size:20px;color:#647a76}
  body.bbw-mobile-nav-open-v1548{overflow:hidden!important}

  /* Shared page rhythm / typography. */
  body.v11 .page{width:100%;max-width:100%;padding:28px 14px 64px}
  .room-hero,.gameday-family-hero,.trade-center-hero-v1544{margin-bottom:12px!important;padding:16px!important}
  .room-hero h1,.gameday-family-hero h1,.trade-center-hero-v1544 h1,.page-title h1{font-size:clamp(34px,11vw,48px)!important;line-height:.94!important}
  .room-hero p,.gameday-family-hero p,.trade-center-hero-v1544 p,.page-title p{font-size:13px;line-height:1.5}
  .section-head{align-items:flex-start;flex-direction:column;gap:6px}
  .section-head h2,.gameday-section-title h2{font-size:24px!important}
  .section-head>span{font-size:9px}
  .panel,.trade-panel-v1544{min-width:0}

  /* Tab bars: wrap instead of requiring precision horizontal swipes. */
  .room-tabs,.gameday-tabs,.gameday-subtabs,.trade-tabs-v1544,.v1522-stat-tabs,.v1522-prediction-tabs,
  .profile-tabs-v11,.teams-room-nav,.year-tabs,.story-folder-tabs,.compact-tabs{
    display:flex!important;flex-wrap:wrap!important;overflow:visible!important;gap:5px!important;max-width:100%;padding:6px!important
  }
  .room-tabs a,.gameday-tabs a,.gameday-subtabs a,.trade-tabs-v1544 a,.v1522-stat-tabs a,.v1522-prediction-tabs a,
  .profile-tabs-v11 button,.teams-room-nav a,.year-tabs button,.story-folder-tabs a,.compact-tabs a,.compact-tabs button{
    flex:1 1 78px;min-width:0;min-height:40px;display:grid;place-items:center;padding:8px 7px!important;
    text-align:center;white-space:normal!important;line-height:1.12;font-size:8.5px!important;letter-spacing:.055em!important
  }

  /* Forms: easier tapping and no iOS input zoom. */
  input:not([type="checkbox"]):not([type="radio"]),select,textarea{max-width:100%;font-size:16px!important}
  form .btn,form button:not(.auth-forgot),.publisher-actions .btn,.trade-form-grid-v1544 button,.negotiation-builder-v1545 button{min-height:44px}
  .publisher-actions{flex-wrap:wrap}
  .publisher-actions .btn{flex:1 1 140px;text-align:center}

  /* Overlays become mobile sheets instead of tiny desktop windows. */
  .modal-shell,.matchup-intel-modal,.v1522-pulse-modal,.press-overlay,.breaking-overlay,.password-recovery-shell{
    align-items:end!important;place-items:end center!important;padding:0!important
  }
  .modal-card,.intel-dialog,.v1522-pulse-modal>div,.password-recovery-card{
    width:100%!important;max-width:none!important;max-height:88dvh!important;border-radius:14px 14px 0 0!important;
    padding:18px 14px calc(18px + env(safe-area-inset-bottom,0px))!important;overflow:auto!important;
    -webkit-overflow-scrolling:touch
  }
  .press-takeover,.breaking-modal{
    width:100%!important;max-width:none!important;min-height:0!important;height:auto!important;max-height:90dvh!important;
    border-radius:14px 14px 0 0!important;transform:none!important;overflow:auto!important
  }
  .press-preview{position:relative!important;width:100%!important;height:180px!important;opacity:.6!important;margin:-20px -20px 14px;width:calc(100% + 40px)!important}
  .press-takeover>*:not(.press-preview){max-width:100%!important}
  .press-takeover h2{font-size:44px!important;line-height:.86!important;margin:15px 0!important}
  .press-takeover h3{font-size:23px!important}
  .breaking-content{padding:78px 18px 24px!important}
  .breaking-content h2{font-size:42px!important}
  .modal-x,.press-close,.breaking-close{min-width:44px!important;min-height:44px!important}

  /* Wide data remains usable: keep the important first column and make swiping deliberate. */
  .table-wrap,.h2h-v11-wrap,.h2h-matrix-wrap,.bet-stats-table-wrap{max-width:100%;overflow-x:auto!important;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;scrollbar-width:thin}
  .h2h-v11,.h2h-matrix-v11{min-width:930px!important}
  .h2h-v11 th,.h2h-v11 td,.h2h-matrix-v11 th,.h2h-matrix-v11 td{padding:7px 6px!important}
  .history-table,.table-wrap .standings{min-width:760px!important}
  .standings th,.standings td{padding:10px 9px}

  /* Home: keep the cinematic feel, but make the content the priority. */
  body[data-section="home"] .hero{min-height:calc(100dvh - 60px)}
  body[data-section="home"] .hero-grid{min-height:auto;grid-template-columns:1fr;gap:18px;padding:36px 16px 92px;align-items:start}
  body[data-section="home"] .hero h1{font-size:clamp(48px,16vw,68px);line-height:.82;margin-top:14px}
  body[data-section="home"] .hero-copy{font-size:14px;line-height:1.5}
  body[data-section="home"] .menu{margin-top:20px}
  body[data-section="home"] .menu a{grid-template-columns:30px minmax(0,1fr);gap:8px;padding:13px 8px;font-size:11px}
  body[data-section="home"] .menu a em{grid-column:2;font-size:9px;margin-top:-5px}
  body[data-section="home"] .scorebug{width:100%;justify-self:stretch;align-self:auto}
  body[data-section="home"] .scorebug .main{padding:16px}
  body[data-section="home"] .scorebug h3{font-size:20px}
  body[data-section="home"] .ticker{height:46px}
  body[data-section="home"] #trade-popup-host .trade-slide{left:8px!important;right:8px!important;bottom:58px!important;width:auto!important;max-width:none!important}

  /* GameDay / prediction rooms. */
  .gameday-family-page{width:calc(100% - 18px)!important}
  .gameday-masthead,.gameday-section-title{align-items:flex-start;flex-direction:column;gap:8px}
  .gameday-clock{min-width:0;width:100%;margin-top:8px}
  .gameday-matchup-card{grid-template-columns:1fr!important;gap:9px!important;padding:13px!important}
  .gd-team,.gd-team.right{justify-content:flex-start!important;text-align:left!important}
  .gd-versus{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:7px 0;border-top:1px solid rgba(0,0,0,.1);border-bottom:1px solid rgba(0,0,0,.1)}
  .gd-versus i,.gd-versus b,.gd-versus small{display:inline!important;margin:0!important}
  .motw{padding:15px}
  .motw-main{padding:12px 0}
  .motw-intel,.motw-notes,.brief-grid,.daily-brief-grid{grid-template-columns:1fr!important}
  .pickem-main{grid-template-columns:1fr!important}
  .pickem-side,.pickem-side.right{grid-template-columns:28px 54px minmax(0,1fr)!important;text-align:left!important}
  .pickem-side.right .pick-circle{grid-column:1}.pickem-side.right img{grid-column:2;grid-row:1}.pickem-side.right>div{grid-column:3;grid-row:1}
  .v12-season-race article{grid-template-columns:28px minmax(0,1fr) auto!important}
  .v12-season-race article>*:nth-child(n+4){display:none}
  .book-records article{grid-template-columns:32px minmax(0,1fr) auto!important}

  /* Trade Center. */
  body.surface-trade-center-v1544 .page{padding-top:20px!important}
  .trade-block-top-v1544,.trade-finder-personal-v1544,.trade-market-grid-v1544,.trade-needs-grid-v1544,.trade-form-grid-v1544,
  .negotiation-builder-grid-v1545,.trade-scout-grid-v1544{grid-template-columns:1fr!important}
  .trade-center-hero-v1544{max-width:none}
  .trade-filter-v1544,.trade-filter-bar,.trade-filters,.trade-filters>div{flex-wrap:wrap!important;overflow:visible!important;align-items:stretch!important}
  .trade-filter-v1544 select,.trade-filter-bar select,.trade-filter-bar input,.trade-filters select,.trade-filters button{flex:1 1 120px;width:auto;min-width:0;min-height:42px}
  .trade-listing-head-v1544{grid-template-columns:48px minmax(0,1fr)!important}
  .trade-intent-v1544{grid-column:1/-1;justify-self:start}
  .trade-target-v1545,.trade-target-v1544{grid-template-columns:42px minmax(0,1fr) auto!important;align-items:start}
  .trade-target-v1545 img,.trade-target-v1544 img{width:42px;height:42px}
  .trade-target-v1545 .trade-mini-action-v1545{grid-column:2/-1;justify-self:stretch;min-height:38px;display:grid;place-items:center}
  .trade-profile-head-v1546{flex-direction:column;gap:8px}
  .trade-profile-columns-v1546{grid-template-columns:1fr!important}
  .trade-need-bars-v1544{grid-template-columns:repeat(5,minmax(0,1fr))!important}
  .trade-thread-compose-v1544{grid-template-columns:1fr!important}
  .trade-thread-compose-v1544 textarea,.trade-thread-compose-v1544 input{grid-column:auto!important;min-height:52px}
  .trade-message-v1544{max-width:94%}
  .trade-meta{grid-template-columns:1fr!important;gap:5px!important}
  .trade-sides-v11,.trade-card-sides{grid-template-columns:1fr!important}
  .trade-arrow,.trade-arrow-v11{height:38px!important;min-height:38px}
  .trade-side,.trade-side-v11{padding:13px!important}
  .trade-side header h2,.trade-side-v11 h2{font-size:20px!important}
  .trade-vote-bar{grid-template-columns:1fr!important}
  .trade-vote-bar>span{padding:8px}
  .negotiation-offer-board-v1545{grid-template-columns:1fr!important}
  .negotiation-offer-board-v1545>b{height:22px}
  .negotiation-asset-list-v1545{max-height:42vh}

  /* Franchise dossier / teams / stats. */
  .team-profile-header-v11{grid-template-columns:74px minmax(0,1fr)!important;gap:12px!important;padding:14px!important}
  .team-profile-header-v11>img{width:74px!important;height:74px!important}
  .team-profile-header-v11 h1{font-size:34px!important}
  .team-profile-header-v11 .big-record{grid-column:1/-1!important;text-align:left!important;font-size:29px!important}
  .profile-view-v11{padding:13px}
  .profile-kpis-v11,.roster-grid-v11{grid-template-columns:1fr!important}
  .roster-position-sections-v1546{gap:13px}
  .roster-player-v11{grid-template-columns:48px minmax(0,1fr);min-height:64px}
  .roster-player-v11 img{width:48px;height:48px}
  .stat-summary{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px}
  .stat-box{min-height:100px;padding:13px}.stat-box .value{font-size:24px}
  .power-summary{grid-template-columns:44px 38px minmax(0,1fr)!important}
  .power-summary .power-score{display:none!important}
  .rivalry-kpis,.dossier-kpis{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .rivalry-file-grid{grid-template-columns:1fr}
  .rivalry-facts{grid-template-columns:1fr}

  /* Trophy / stories / press / forum. */
  .museum-door-grid,.champion-wall-v11,.hall-grid-v11,.hall-room-grid-v11,.record-book-grid-v11{grid-template-columns:1fr!important}
  .museum-door{min-height:220px;padding:20px}
  .champion-plaque-v11{grid-template-columns:72px 1fr;padding:14px}.champion-year{font-size:29px}
  .cards,.teamgrid,.press-grid,.story-list{grid-template-columns:1fr!important}
  .live-story-hero{min-height:330px;padding:20px}
  .live-story-body{font-size:17px;line-height:1.72}
  .forum-shell{grid-template-columns:1fr!important;padding:12px}
  .forum-boards{grid-template-columns:repeat(2,minmax(0,1fr));gap:5px}
  .forum-boards button{min-height:48px}
  .forum-toolbar{align-items:flex-start;flex-direction:column;gap:8px}
  .thread-card{grid-template-columns:1fr;gap:5px}

  /* GameDay Live. */
  .gdl-access-gate{padding:34px 18px}
  .gdl-livebar,.gdl-stage-footer,.gdl-chat-card header{align-items:flex-start!important;flex-direction:column!important}
  .gdl-livebar-actions{width:100%;display:grid;grid-template-columns:1fr 1fr;gap:7px}
  .gdl-livebar-actions button{min-height:42px}
  .gdl-video-stage{aspect-ratio:16/10}
  .gdl-stage-empty{padding:18px}.gdl-stage-empty h2{font-size:23px}
  .gdl-quick-reactions{width:100%;justify-content:space-between}.gdl-quick-reactions button{flex:1;max-width:56px;height:42px}
  .gdl-chat-feed{height:42vh;padding:10px}
  .gdl-chat-compose{padding:10px}.gdl-chat-compose-row{flex-wrap:wrap}.gdl-chat-compose-row>span{width:100%;order:3}
  .gdl-score-card{flex-basis:176px!important;min-width:176px!important}
  .gdl-mini{left:8px!important;right:8px!important;bottom:8px!important;width:auto!important}

  /* Mobile performance: avoid expensive fixed/parallax backgrounds and hover-only motion. */
  .hero-bg{transform:none!important;transition:none!important}
  .hero:hover .hero-bg{transform:none!important}
  .museum-door:hover:before,.gameday-card-v11:hover{transform:none!important}
}

@media (max-width:520px){
  body.v11 .topbar{padding-left:8px;padding-right:8px}
  body.v11 #office-utility .office-utility-link{font-size:7px;padding:0 6px}
  .room-tabs a,.gameday-tabs a,.gameday-subtabs a,.trade-tabs-v1544 a,.v1522-stat-tabs a,.v1522-prediction-tabs a,
  .profile-tabs-v11 button,.teams-room-nav a,.year-tabs button,.story-folder-tabs a,.compact-tabs a,.compact-tabs button{flex-basis:72px;font-size:8px!important}
  .stat-summary{grid-template-columns:1fr 1fr!important}
  .rivalry-kpis,.dossier-kpis{grid-template-columns:1fr!important}
  .forum-boards{grid-template-columns:1fr}
  .gdl-livebar-actions{grid-template-columns:1fr}
  .trade-target-v1545,.trade-target-v1544{grid-template-columns:38px minmax(0,1fr)!important}
  .trade-target-v1545 em,.trade-target-v1544 em{grid-column:2;justify-self:start}
  .trade-target-v1545 .trade-mini-action-v1545{grid-column:2}
}

