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

/* ===== source: v15.1.css ===== */
/* Bandwagon Boys v15.1 — GameDay War asset overhaul */
#gameDayWarApp, #gameday-war-app{--v151-gold:#d7aa48}
.war-hero-v150{position:relative;overflow:hidden}.war-hero-v150:after{content:'v15.1';position:absolute;right:18px;bottom:14px;font-size:.62rem;font-weight:1000;letter-spacing:.16em;color:#d7aa48;border:1px solid rgba(215,170,72,.45);background:rgba(5,9,12,.78);padding:5px 8px}
.mascot-option-v150{overflow:hidden}.mascot-option-v150 img,.loadout-avatar img,.war-card-v150 .mascot-sprite{background:transparent!important;mix-blend-mode:normal!important}
.mascot-option-v150 img{width:205px;height:205px;object-fit:contain;padding:0!important;filter:drop-shadow(0 14px 9px rgba(0,0,0,.62))!important}.mascot-option-v150:hover img{transform:translateY(-5px) scale(1.035)}
.loadout-avatar img{object-fit:contain;filter:drop-shadow(0 13px 8px rgba(0,0,0,.62))}
.field-preview-photo{height:128px;background-position:center center}.home-field-photo{background-position:center center}
.war-card-v150 .mascot-sprite{object-fit:contain;-webkit-mask-image:none!important;mask-image:none!important;filter:drop-shadow(0 16px 10px rgba(0,0,0,.72))}
.war-card-v150.expanded .war-fighter{width:350px;bottom:67px}.war-card-v150.expanded .mascot-sprite{width:345px;height:345px}
.war-card-v150.compressed .mascot-sprite{width:150px;height:150px}
/* One canonical direction in the art library; the right-side combatant is mirrored toward midfield. */
.war-fighter.right .mascot-sprite{transform:scaleX(-1)!important}.war-fighter.left .mascot-sprite{transform:none!important}
.war-fighter.pose-attack.right .mascot-sprite,.war-fighter.pose-strong.right .mascot-sprite,.war-fighter.pose-covering.right .mascot-sprite,.war-fighter.pose-weak.right .mascot-sprite,.war-fighter.pose-victory.right .mascot-sprite,.war-fighter.pose-defeat.right .mascot-sprite{transform:scaleX(-1)!important}
.war-fighter.pose-attack.left .mascot-sprite,.war-fighter.pose-strong.left .mascot-sprite,.war-fighter.pose-covering.left .mascot-sprite,.war-fighter.pose-weak.left .mascot-sprite,.war-fighter.pose-victory.left .mascot-sprite,.war-fighter.pose-defeat.left .mascot-sprite{transform:none!important}
.stadium-art{background-position:center center;transform:scale(1.01)}
.field-cornfield .stadium-shade,.field-friday .stadium-shade,.field-bayou .stadium-shade{background:linear-gradient(to bottom,rgba(3,7,10,.01),rgba(3,7,10,.05) 56%,rgba(3,7,10,.48) 100%),linear-gradient(90deg,rgba(3,7,10,.12),transparent 25%,transparent 75%,rgba(3,7,10,.12))}
.field-blackout .stadium-shade,.field-chaos .stadium-shade,.field-gothic .stadium-shade{background:linear-gradient(to bottom,rgba(3,7,10,.06),rgba(3,7,10,.08) 48%,rgba(3,7,10,.62) 100%),linear-gradient(90deg,rgba(3,7,10,.22),transparent 26%,transparent 74%,rgba(3,7,10,.22))}
@media(max-width:1180px){.war-card-v150.expanded .war-fighter{width:285px}.war-card-v150.expanded .mascot-sprite{width:280px;height:280px}.mascot-option-v150 img{width:180px;height:180px}}
@media(max-width:760px){.field-preview-photo{height:96px}.war-card-v150.expanded .war-fighter{width:205px;bottom:60px}.war-card-v150.expanded .mascot-sprite{width:200px;height:200px}.mascot-option-v150 img{width:150px;height:150px}}

/* V15.2 clean art integration */
.war-card-v150 .mascot-sprite{object-fit:contain!important;background:transparent!important;border:0!important;max-width:100%;}
.war-fighter.right .mascot-sprite{transform:scaleX(-1)!important;}
.war-fighter.left .mascot-sprite{transform:none!important;}
.war-card-v150.expanded .battlefield-v150{min-height:620px;}
.war-card-v150.expanded .mascot-sprite{width:390px!important;height:390px!important;}
.war-card-v150.expanded .war-fighter{width:400px!important;bottom:70px!important;}
.war-card-v150 .stance-label{font-size:.52rem!important;letter-spacing:.08em!important;max-width:140px;overflow:hidden;white-space:nowrap;}
.stadium-art{image-rendering:auto;background-size:cover!important;background-position:center 52%!important;}
@media(max-width:1180px){.war-card-v150.expanded .war-fighter{width:310px!important}.war-card-v150.expanded .mascot-sprite{width:300px!important;height:300px!important}}
@media(max-width:760px){.war-card-v150.expanded .war-fighter{width:205px!important}.war-card-v150.expanded .mascot-sprite{width:195px!important;height:195px!important}}


/* ===== source: v15.3.css ===== */

/* V15.3 modular GameDay War + QA */
.war-registry-error{margin:22px 0;padding:28px;border:1px solid #b44b49;background:linear-gradient(145deg,rgba(93,20,18,.35),rgba(10,13,16,.96));box-shadow:0 18px 44px rgba(0,0,0,.3)}.war-registry-error h2{margin:5px 0 10px}.war-registry-error p{max-width:780px;color:#cbd3d8}.war-fighter.asset-load-failed .fighter-core:after{content:'MISSING ASSET';position:absolute;left:50%;top:48%;transform:translate(-50%,-50%);z-index:20;background:#7e1818;color:#fff;border:2px solid #ff6b61;padding:8px 10px;font-size:.62rem;font-weight:1000;letter-spacing:.08em;white-space:nowrap}.mascot-sprite.asset-load-failed{opacity:.08}.qa-hero code{font-size:.85em}.qa-summary{display:flex;justify-content:space-between;align-items:center;gap:18px;margin:16px 0 20px;padding:14px 16px;background:#0b1116;border:1px solid rgba(255,255,255,.13)}.qa-summary b,.qa-summary span{display:block}.qa-summary b{font-size:.72rem;letter-spacing:.08em;color:#e9c96e}.qa-summary span{font-size:.62rem;color:#88949c;margin-top:2px}.qa-summary a{font-size:.62rem;font-weight:900;letter-spacing:.08em}.mascot-qa-grid{display:grid;gap:20px}.mascot-qa-card{background:#0a0f13;border:1px solid rgba(255,255,255,.14);box-shadow:0 14px 36px rgba(0,0,0,.24)}.mascot-qa-card.qa-failed{border-color:#b44b49}.mascot-qa-card>header{display:flex;justify-content:space-between;gap:16px;padding:14px 16px;border-bottom:1px solid rgba(255,255,255,.1);background:linear-gradient(90deg,#101820,#0a0f13)}.mascot-qa-card>header span{font-size:.55rem;color:#74818a;text-transform:uppercase;letter-spacing:.11em}.mascot-qa-card>header h2{margin:2px 0 0;font-size:1.05rem}.mascot-qa-card>header>div:last-child{text-align:right}.mascot-qa-card>header b,.mascot-qa-card>header small{display:block}.mascot-qa-card>header b{font-size:.67rem;color:#d7aa48}.mascot-qa-card>header small{font-size:.52rem;color:#74818a;margin-top:3px}.mascot-state-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:1px;background:rgba(255,255,255,.08)}.mascot-state-grid figure{margin:0;background:#0e1419}.mascot-state-grid figure>div{height:220px;display:flex;align-items:flex-end;justify-content:center;position:relative;overflow:hidden;background:radial-gradient(circle at 50% 72%,rgba(255,255,255,.055),transparent 55%)}.mascot-state-grid img{display:block;width:100%;height:100%;object-fit:contain;padding:7px;filter:drop-shadow(0 12px 8px rgba(0,0,0,.55))}.mascot-state-grid i{display:none;position:absolute;inset:auto 8px 8px;background:#7e1818;color:#fff;border:1px solid #ff6b61;padding:5px;text-align:center;font-size:.55rem;font-weight:1000}.mascot-state-grid [data-qa-state].asset-load-failed i{display:block}.mascot-state-grid img.asset-load-failed{opacity:.08}.mascot-state-grid figcaption{padding:7px 4px;text-align:center;font-size:.57rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:#aeb8bf;background:#0a0f13}@media(max-width:1180px){.mascot-state-grid{grid-template-columns:repeat(4,1fr)}}@media(max-width:700px){.qa-summary,.mascot-qa-card>header{display:block}.qa-summary a{display:inline-block;margin-top:10px}.mascot-state-grid{grid-template-columns:repeat(2,1fr)}.mascot-state-grid figure>div{height:190px}.mascot-qa-card>header>div:last-child{text-align:left;margin-top:8px}}

