@import url("https://fonts.googleapis.com/css2?family=Press+Start+2P&family=VT323&display=swap");

:root{
  --purple:#123a8c;
  --deep-purple:#081f55;
  --orange:#d72638;
  --teal:#1d4ed8;
  --cyan:#e8f1ff;
  --yellow:#f4f1e8fff;
  --court:#d17a32;
  --paint:#1746a2;
  --ink:#050505;
  --paper:#f7f8fb;
  --red:#d72638;
  --blue:#1746a2;
}
*{box-sizing:border-box}
html,body{margin:0;min-height:100%;background:#120018;color:#111;font-family:"Courier New",monospace}
body{overflow-x:hidden}
.cabinet{display:grid;grid-template-columns:78px minmax(0,1fr) 78px;min-height:100vh;background:#16001f}
.side-rail{
  background:linear-gradient(#bb00ef,#6b008d);
  color:#f4f1e8;display:flex;align-items:center;justify-content:center;
  writing-mode:vertical-rl;text-orientation:mixed;letter-spacing:4px;
  border-left:6px solid #2b003b;border-right:6px solid #2b003b;
  text-shadow:3px 3px 0 #000;font-weight:900
}
.side-rail span{font-size:17px}.side-rail b{margin-top:36px;color:var(--yellow)}
#app{background:var(--paper);min-width:0;background-image:linear-gradient(rgba(255,255,255,.09),rgba(0,0,0,.02)),radial-gradient(#cabf9e 1px,transparent 1px);background-size:auto,7px 7px}
header{
  height:76px;background:#0a0a0a;color:#f4f1e8;border-bottom:6px solid var(--orange);
  display:flex;align-items:center;gap:20px;justify-content:space-between;padding:0 22px;
  text-shadow:3px 3px 0 #4c006c
}
.logo{font-family:Impact,Haettenschweiler,"Arial Narrow Bold",sans-serif;font-size:31px;font-style:italic;letter-spacing:1px}
.logo span{color:var(--orange)}
.credit,#seasonLabel{font-weight:900;color:var(--yellow);font-size:13px}
main{max-width:1200px;margin:auto;padding:28px 22px 70px}
.screen{display:none}.screen.active{display:block}
.arcade-banner{
  display:inline-block;background:#111;color:var(--yellow);padding:9px 14px;
  border:4px solid var(--purple);box-shadow:5px 5px 0 var(--orange);font-weight:900
}
h1{
  font-family:Impact,Haettenschweiler,"Arial Narrow Bold",sans-serif;
  font-size:58px;line-height:.92;margin:16px 0 10px;text-transform:uppercase;
  letter-spacing:-1px;text-shadow:3px 3px 0 #f4f1e8,6px 6px 0 #ff6a00
}
.lead{font-weight:900;color:#4d4d4d;font-size:16px}
.team-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:28px}
.team-card,.panel,.player-card{
  background:#f4f1e8;border:4px solid #111;box-shadow:7px 7px 0 #111
}
.team-card{padding:20px;cursor:pointer;transition:.1s}
.team-card:hover{transform:translate(-3px,-3px);box-shadow:10px 10px 0 var(--purple)}
.team-icon{font-size:48px;filter:saturate(1.3)}
.team-card h2{font-family:Impact,sans-serif;font-size:25px;margin:8px 0 5px;text-transform:uppercase}
.meta,.tiny-label{font-size:11px;font-weight:900;color:#6f6f6f;letter-spacing:1px}
.rating{font-family:Impact,sans-serif;font-size:34px;color:var(--orange);margin-top:14px}
.franchise-head{display:flex;justify-content:space-between;align-items:flex-start}
.franchise-head p{font-weight:900;color:#555}
.black-btn{background:#111;color:#f4f1e8;border:4px solid var(--purple);padding:11px 15px;font-weight:900}
.tabs{display:flex;gap:6px;border-bottom:5px solid #111;margin:22px 0}
.tab{background:#ddd;border:3px solid #111;border-bottom:0;padding:10px 17px;font-weight:900}
.tab.active{background:var(--purple);color:#f4f1e8}
.tabpage{display:none}.tabpage.active{display:block}
.pregame-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:18px}
.panel{padding:20px}
.next-game-card h2{font-family:Impact,sans-serif;font-size:35px;margin:10px 0}
label{display:block;font-weight:900;margin:11px 0 5px}
select{width:100%;border:3px solid #111;background:#f4f1e8;padding:10px;font-weight:900}
.mega{
  width:100%;margin:22px 0;background:var(--orange);color:#f4f1e8;border:5px solid #111;
  padding:17px;font-family:Impact,sans-serif;font-size:30px;letter-spacing:1px;box-shadow:7px 7px 0 var(--purple)
}
.mega:hover{background:#ff7a32}
.hidden{display:none!important}

/* ARCADE SIM */
.arcade-stage{
  background:#191919;border:6px solid #050505;box-shadow:10px 10px 0 var(--purple);
  overflow:hidden;position:relative
}
.crowd{
  height:145px;position:relative;overflow:hidden;
  background:
    linear-gradient(rgba(0,0,0,.2),rgba(0,0,0,.3)),
    repeating-linear-gradient(90deg,#ffca28 0 7px,#ea3f52 7px 14px,#00b6c8 14px 21px,#6f42c1 21px 28px,#f5f5f5 28px 35px);
  border-bottom:5px solid #111;
}
.crowd:before,.crowd:after{
  content:"";position:absolute;left:0;right:0;height:28px;
  background:repeating-linear-gradient(90deg,transparent 0 16px,#111 16px 20px,transparent 20px 31px)
}
.crowd:before{top:24px}.crowd:after{top:78px}
.crowd-sign{
  position:absolute;right:12%;bottom:18px;background:#f7f1dd;color:#d11828;
  border:4px solid #111;padding:6px 12px;font-weight:900;transform:rotate(-2deg)
}
.scoreboard-top{
  background:#111;color:#f4f1e8;display:grid;grid-template-columns:1fr 170px 1fr;align-items:center;
  border-bottom:5px solid var(--cyan)
}
.score-team{display:flex;gap:16px;align-items:center;padding:8px 16px}
.score-team.right{justify-content:flex-end}
.team-short{font-family:Impact,sans-serif;font-size:22px;color:var(--yellow)}
.big-score{
  min-width:70px;text-align:center;background:#e82c1f;border:4px solid #f4f1e8;
  font-family:Impact,sans-serif;font-size:38px;line-height:1;padding:4px
}
.quarter-box{text-align:center;font-weight:900;color:var(--yellow)}
.quarter-box span{display:block;font-size:11px}
.quarter-box strong{font-size:27px;color:var(--cyan)}
.court-wrap{background:#572098;padding:0 0 12px}
.court{
  height:390px;position:relative;overflow:hidden;
  background:
    repeating-linear-gradient(0deg,rgba(255,255,255,.025) 0 2px,transparent 2px 7px),
    linear-gradient(90deg,#bf6420,#df8430 48%,#d17328 52%,#bb5d1d);
  border-top:6px solid #5820a0;border-bottom:8px solid #5820a0;
}
.court:after{
  content:"";position:absolute;inset:0;
  background:repeating-linear-gradient(90deg,rgba(70,27,0,.08) 0 2px,transparent 2px 22px);
  pointer-events:none
}
.center-line{position:absolute;left:50%;top:0;bottom:0;width:4px;background:#f4f1e8}
.center-circle{position:absolute;left:50%;top:50%;width:95px;height:95px;border:4px solid #f4f1e8;border-radius:50%;transform:translate(-50%,-50%)}
.paint{position:absolute;top:104px;width:140px;height:180px;background:#6427b6;border:4px solid #f4f1e8}
.left-paint{left:0;border-left:0}.right-paint{right:0;border-right:0}
.three{position:absolute;top:55px;width:205px;height:285px;border:4px solid #f4f1e8;border-radius:50%}
.left-three{left:-118px}.right-three{right:-118px}
.hoop{position:absolute;top:183px;color:#ff3a20;font-size:30px;z-index:3;text-shadow:2px 2px #000}
.hoop-left{left:38px}.hoop-right{right:38px}
.sprite{
  width:42px;height:56px;position:absolute;z-index:4;border:3px solid #111;
  border-radius:10px 10px 4px 4px;box-shadow:4px 4px 0 rgba(0,0,0,.55);
  display:flex;justify-content:center;align-items:flex-end;transition:all .36s ease
}
.sprite:before{
  content:"";position:absolute;width:28px;height:28px;border-radius:50%;background:#9c5f3f;
  border:3px solid #111;top:-20px
}
.sprite span{font-family:Impact,sans-serif;color:#f4f1e8;font-size:22px;text-shadow:2px 2px #000;margin-bottom:5px}
.teal{background:linear-gradient(#00d7dc,#009aab)}
.orange{background:linear-gradient(#ff6724,#d83b0f)}
.s1{left:26%;top:38%}.s2{left:18%;top:61%}.s3{left:39%;top:70%}
.s4{right:26%;top:38%}.s5{right:18%;top:61%}.s6{right:39%;top:70%}
.ball-sprite{
  position:absolute;left:48%;top:48%;z-index:6;color:#ff6928;font-size:26px;
  text-shadow:2px 2px 0 #111;transition:all .28s ease
}
.arcade-callout{
  position:absolute;left:50%;top:35%;transform:translate(-50%,-50%) scale(.2);
  z-index:10;font-family:Impact,sans-serif;color:var(--yellow);font-size:45px;
  text-shadow:4px 4px 0 #e30000,8px 8px 0 #000;opacity:0;#f4f1e8-space:nowrap
}
.arcade-callout.pop{animation:popCall .8s ease}
@keyframes popCall{
  0%{opacity:0;transform:translate(-50%,-50%) scale(.2)}
  25%{opacity:1;transform:translate(-50%,-50%) scale(1.2)}
  70%{opacity:1;transform:translate(-50%,-50%) scale(1)}
  100%{opacity:0;transform:translate(-50%,-50%) scale(.8)}
}
.ticker{
  background:var(--cyan);border-top:4px solid #111;border-bottom:4px solid #111;
  padding:8px 12px;display:flex;justify-content:space-between;color:#111;font-weight:900
}
#heatText{color:#ad1300}
.sim-controls{display:flex;gap:8px;padding:10px;background:#2c0f3e}
.sim-controls button{
  background:#f2f2f2;border:3px solid #111;padding:8px 12px;font-weight:900;box-shadow:3px 3px #000
}
.live-feed{
  height:155px;overflow:auto;background:#070707;color:#e5e5e5;padding:12px;font-size:13px;
  border-top:4px solid var(--orange)
}
.feed-line{padding:4px 0;border-bottom:1px dashed #333}
.feed-line strong{color:var(--cyan)}
.feed-line.hot{color:var(--yellow)}
.feed-line.bad{color:#ff7373}

/* cards/tables */
.roster-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:15px}
.player-card{padding:16px;display:grid;grid-template-columns:64px 1fr auto;gap:13px;align-items:center}
.number{width:58px;height:58px;border-radius:6px;background:var(--purple);border:4px solid #111;color:var(--yellow);display:grid;place-items:center;font-family:Impact,sans-serif;font-size:27px}
.player-card h3{font-family:Impact,sans-serif;font-size:23px;margin:0 0 4px;text-transform:uppercase}
.ovr{font-family:Impact,sans-serif;font-size:34px;color:var(--orange)}
.skillrow{font-size:11px;font-weight:900;color:#666;margin-top:6px}
.trait{font-size:11px;font-weight:900;color:#9b2c00;margin-top:6px}
table{width:100%;border-collapse:collapse;font-weight:900}
th,td{text-align:left;padding:13px;border-bottom:2px solid #ddd}
th{background:#111;color:#f4f1e8}
.result-card{background:#111;color:#f4f1e8;border:5px solid var(--orange);padding:24px;margin-top:20px;box-shadow:8px 8px 0 var(--purple)}
.scoreline{display:flex;justify-content:space-between;align-items:center;font-family:Impact,sans-serif;font-size:36px}
.scoreline .winner{color:var(--yellow)}
.box{margin-top:18px;background:#f4f1e8;color:#111}
.champ{background:#111;color:#f4f1e8;border:7px solid var(--yellow);text-align:center;padding:40px;box-shadow:9px 9px 0 var(--purple)}
.champ h2{font-family:Impact,sans-serif;color:var(--yellow);font-size:45px}
.playoff-round{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin:15px 0}
.matchup{background:#f4f1e8;border:4px solid #111;padding:15px;font-weight:900}
@media(max-width:950px){
  .cabinet{grid-template-columns:32px minmax(0,1fr) 32px}
  .side-rail span{font-size:10px}.side-rail b{font-size:10px}
  .team-grid{grid-template-columns:repeat(2,1fr)}
  .pregame-grid,.roster-grid{grid-template-columns:1fr}
}
@media(max-width:620px){
  .cabinet{display:block}.side-rail{display:none}
  main{padding:18px 12px 50px}
  h1{font-size:42px}
  .team-grid{grid-template-columns:1fr}
  .court{height:300px}
  .sprite{transform:scale(.75)}
  .scoreboard-top{grid-template-columns:1fr 100px 1fr}
  .team-short{font-size:14px}.big-score{font-size:28px;min-width:50px}
}


/* V3 — 30-team selector and chunky 90s player sprites */
.team-grid{grid-template-columns:repeat(5,minmax(0,1fr))}
.team-card{min-height:180px}
.pixel-player{
  position:absolute;width:34px;height:53px;z-index:8;transition:transform .18s steps(2);
  image-rendering:pixelated;filter:drop-shadow(4px 4px 0 rgba(0,0,0,.55))
}
.px-head{position:absolute;left:8px;top:0;width:20px;height:18px;background:#a96a48;border:3px solid #111}
.px-head:before{content:"";position:absolute;left:2px;top:-7px;width:12px;height:7px;background:#171717}
.px-head i{position:absolute;width:3px;height:3px;background:#111;left:3px;top:6px;box-shadow:8px 0 #111}
.px-body{position:absolute;left:4px;top:18px;width:28px;height:23px;border:3px solid #111;background:#08cdd4;text-align:center;color:#f4f1e8;font-weight:900}
.pixel-player.orange .px-body{background:#ff5b18}
.px-legs{position:absolute;left:7px;top:40px;width:8px;height:13px;background:#1e1e1e;box-shadow:14px 0 #1e1e1e}
.pixel-player.power .px-body{width:32px;left:2px}
.pixel-player.big{width:39px;height:60px}
.pixel-player.big .px-head{transform:scale(1.15)}
.pixel-player.big .px-body{width:34px;height:27px;left:1px}
.skin1 .px-head,.pixel-head-card.skin1:before{background:#6f402e}
.skin2 .px-head,.pixel-head-card.skin2:before{background:#a96a48}
.skin3 .px-head,.pixel-head-card.skin3:before{background:#d59a71}
.skin4 .px-head,.pixel-head-card.skin4:before{background:#8a5438}
.pixel-head-card{
  width:64px;height:64px;background:#7c27bc;border:4px solid #111;position:relative;display:flex;align-items:flex-end;justify-content:center;color:#f4f1e8;font-weight:900;padding-bottom:3px
}
.pixel-head-card:before{content:"";position:absolute;top:7px;width:30px;height:27px;border:4px solid #111}
.pixel-head-card:after{content:"";position:absolute;top:3px;width:24px;height:8px;background:#111}
.pixel-head-card i{position:absolute;z-index:2;top:20px;width:4px;height:4px;background:#111;box-shadow:12px 0 #111}
.pixel-head-card b{font-size:12px}
@media(max-width:1100px){.team-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:700px){.team-grid{grid-template-columns:1fr}}

/* V5 movement upgrade */
.pixel-player{
  transition:left .32s steps(4), top .32s steps(4), transform .18s steps(2)!important;
}
.ball-sprite{
  transition:left .22s steps(3), top .22s steps(3)!important;
  z-index:12;
}

/* V6 realistic simulation fixes */
.pixel-player{
  transition:left .38s steps(5),top .38s steps(5),transform .18s steps(2)!important;
}
.pixel-player.teal{z-index:8}
.pixel-player.orange{z-index:9}

/* V7: remove legacy numbered placeholder sprites */
.sprite.s1,.sprite.s2,.sprite.s3,.sprite.s4,.sprite.s5,.sprite.s6{
  display:none!important;
}

/* V8 JD-style rating presentation */
.skillrow{line-height:1.65}

.conference-switch{display:flex;gap:10px;margin-bottom:18px}
.conference-btn{
  flex:1;padding:12px;border:4px solid #111;background:#ddd;font-weight:900;box-shadow:4px 4px 0 #111
}
.conference-btn.active{background:var(--purple);color:#f4f1e8}
.division-card{background:#f4f1e8;border:4px solid #111;box-shadow:6px 6px 0 #111;margin-bottom:20px}
.division-title{
  background:var(--orange);color:#f4f1e8;font-family:Impact,sans-serif;font-size:23px;
  letter-spacing:1px;padding:10px 14px;border-bottom:4px solid #111
}
.division-card table{margin:0}

/* V15 playoff bracket */
.playoff-bracket-shell{
  display:grid;
  grid-template-columns:1fr 220px 1fr;
  gap:16px;
  align-items:center;
  margin-bottom:26px;
  overflow-x:auto;
}
.conference-bracket{
  border:4px solid #111;
  background:#f7efda;
  box-shadow:7px 7px 0 #111;
  min-width:470px;
}
.bracket-conf-title{
  background:var(--purple);
  color:#f4f1e8;
  border-bottom:4px solid #111;
  font-family:Impact,sans-serif;
  font-size:24px;
  padding:10px 14px;
  letter-spacing:1px;
  text-align:center;
}
.bracket-rounds{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:10px;
  padding:12px;
  align-items:center;
}
.bracket-round-title{
  font-size:10px;
  font-weight:900;
  text-align:center;
  color:#555;
  margin-bottom:8px;
}
.bracket-round-series{
  display:flex;
  flex-direction:column;
  justify-content:space-around;
  gap:12px;
  min-height:330px;
}
.bracket-series{
  background:#f4f1e8;
  border:3px solid #111;
  box-shadow:3px 3px 0 #6c6c6c;
  min-width:120px;
}
.bracket-series.user-series{
  border-color:var(--orange);
  box-shadow:4px 4px 0 var(--purple);
}
.bracket-team{
  padding:7px 8px;
  display:flex;
  justify-content:space-between;
  gap:8px;
  font-weight:900;
  border-bottom:2px solid #ddd;
}
.bracket-team:last-child{border-bottom:0}
.bracket-team.series-winner{
  color:#111;
  background:var(--yellow);
}
.bracket-series.tbd{
  min-height:58px;
  display:grid;
  place-items:center;
  color:#888;
}
.finals-bracket{
  border:5px solid var(--yellow);
  background:#111;
  color:#f4f1e8;
  padding:14px;
  box-shadow:6px 6px 0 var(--purple);
}
.finals-title{
  font-family:Impact,sans-serif;
  text-align:center;
  color:var(--yellow);
  font-size:25px;
  margin-bottom:12px;
}
.finals-bracket .bracket-series{
  color:#111;
}
.playoff-next-game{margin-top:22px}
@media(max-width:1050px){
  .playoff-bracket-shell{
    grid-template-columns:1fr;
  }
  .conference-bracket{
    min-width:700px;
  }
  .finals-bracket{
    width:300px;
    justify-self:center;
  }
}

/* V19 dynasty mode */
.leader-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.leader-card{border:4px solid #111;background:#f4f1e8;box-shadow:5px 5px 0 #111}
.leader-row{display:grid;grid-template-columns:28px 1fr auto;align-items:center;gap:8px;padding:10px;border-bottom:2px solid #ddd}
.leader-row:last-child{border-bottom:0}
.leader-row span{font-weight:900}.leader-row small{display:block;font-size:10px;color:#777}
.leader-row strong{font-family:Impact,sans-serif;font-size:17px}
.leader-empty{padding:20px;color:#777;font-weight:700}
.history-current,.history-season{border:4px solid #111;background:#f4f1e8;padding:14px;margin-bottom:14px;box-shadow:5px 5px 0 #111}
.history-current{display:flex;justify-content:space-between;background:var(--yellow)}
.history-season>div:first-child{display:flex;justify-content:space-between;gap:15px}
.history-number{font-weight:900;color:#666}.history-meta,.history-awards{margin-top:7px;font-size:13px;font-weight:700}
.awards-panel{border:5px solid #111;background:#f4f1e8;padding:16px;margin:20px 0;box-shadow:7px 7px 0 var(--purple)}
.award-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin-top:10px}
.award-grid>div{border:3px solid #111;padding:10px;background:#f7efda}
.award-grid small{display:block;font-weight:900;color:#777;margin-bottom:6px}.award-grid b{font-size:13px}
@media(max-width:900px){.leader-grid,.award-grid{grid-template-columns:1fr}.history-season>div:first-child{display:block}}

/* V20 Trade Center */
.trade-team-picker{display:flex;align-items:center;gap:12px;margin:14px 0 18px;font-weight:900}
.trade-team-picker select{padding:10px;border:3px solid #111;background:#f4f1e8;font-weight:900}
.trade-builder{display:grid;grid-template-columns:1fr 60px 1fr;gap:12px;align-items:center;margin-bottom:18px}
.trade-column{border:4px solid #111;background:#f4f1e8;box-shadow:5px 5px 0 #111}
.trade-arrow{font-family:Impact,sans-serif;font-size:38px;text-align:center}
.trade-player{width:100%;display:flex;justify-content:space-between;align-items:center;text-align:left;padding:9px 11px;border:0;border-bottom:2px solid #ddd;background:#f4f1e8;font-weight:900}
.trade-player:last-child{border-bottom:0}.trade-player:hover,.trade-player.selected{background:var(--yellow)}
.trade-player small{display:block;font-size:10px;color:#777}.trade-player b{font-family:Impact,sans-serif}
.trade-message{border:4px solid #111;background:var(--yellow);padding:13px;font-weight:900;margin:14px 0}
.transaction-log{margin-top:24px;border-top:4px solid #111;padding-top:14px}
.transaction-row{padding:9px;border-bottom:2px solid #ccc;font-weight:700;font-size:13px}
@media(max-width:800px){.trade-builder{grid-template-columns:1fr}.trade-arrow{transform:rotate(90deg)}}

/* V21 trade selection + preview */
.trade-player{
  cursor:pointer;
  position:relative;
  transition:transform .08s ease,background .08s ease;
}
.trade-player:hover{
  transform:translateX(3px);
  background:#f4f1e84a8;
}
.trade-player.selected{
  background:var(--yellow)!important;
  outline:4px solid var(--orange);
  outline-offset:-4px;
}
.trade-player.selected:after{
  content:"SELECTED";
  position:absolute;
  right:78px;
  top:50%;
  transform:translateY(-50%);
  font-size:9px;
  background:#111;
  color:#f4f1e8;
  padding:3px 5px;
}
.trade-preview{
  border:5px solid #111;
  background:#f7efda;
  box-shadow:7px 7px 0 var(--purple);
  padding:16px;
  margin:24px 0;
}
.trade-preview.ready{background:#f4f1e8}
.trade-preview-matchup{
  display:grid;
  grid-template-columns:1fr 80px 1fr;
  align-items:center;
  gap:12px;
  margin-top:12px;
}
.preview-player{
  border:4px solid #111;
  padding:14px;
  min-height:106px;
  background:#f4f1e8;
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.preview-player.send{border-left:8px solid var(--orange)}
.preview-player.receive{border-left:8px solid var(--purple)}
.preview-player small{
  font-weight:900;
  color:#777;
  margin-bottom:5px;
}
.preview-player strong{
  font-family:Impact,sans-serif;
  font-size:24px;
}
.preview-player span{font-weight:900;margin-top:4px}
.preview-player em{font-style:normal;color:#666;font-size:12px;font-weight:900;margin-top:7px}
.preview-swap{
  font-family:Impact,sans-serif;
  font-size:44px;
  text-align:center;
}
.preview-hint{
  margin-top:12px;
  text-align:center;
  color:#777;
  font-weight:900;
}
.trade-balance{
  display:flex;
  justify-content:space-between;
  gap:12px;
  margin-top:12px;
  padding:10px 12px;
  border:3px solid #111;
  font-weight:900;
}
.trade-balance.even{background:var(--yellow)}
.trade-balance.positive{background:#bff3c6}
.trade-balance.negative{background:#ffc4bd}
.trade-disabled{
  opacity:.45;
  cursor:not-allowed;
  filter:grayscale(.5);
}
.trade-disabled:hover{transform:none}
@media(max-width:800px){
  .trade-preview-matchup{grid-template-columns:1fr}
  .preview-swap{transform:rotate(90deg)}
  .trade-player.selected:after{display:none}
}

/* V22 multi-player trades + roster rule */
.roster-count{margin-left:auto;font-weight:900;color:#555;font-size:12px}
.preview-line{display:flex;justify-content:space-between;gap:10px;padding:7px 0;border-bottom:2px solid #ddd}
.preview-line:last-of-type{border-bottom:0}
.preview-line span{font-size:11px}
.preview-empty{padding:14px 0;color:#888;font-weight:900}
.roster-rule-preview{
  margin-top:10px;
  padding:10px 12px;
  background:#111;
  color:var(--yellow);
  border:3px solid var(--orange);
  font-weight:900;
  font-size:12px;
}
.trade-player.selected:after{content:"✓";right:10px;font-size:14px;background:#111;color:#f4f1e8}

/* V23 trade click fix */
.trade-player{
  pointer-events:auto!important;
  user-select:none;
  -webkit-user-select:none;
}
.trade-player.selected{
  background:var(--yellow)!important;
  box-shadow:inset 0 0 0 4px var(--orange);
}
.selection-status{
  display:flex;
  justify-content:space-between;
  gap:12px;
  margin:14px 0;
  padding:10px 12px;
  background:#111;
  color:#f4f1e8;
  border:3px solid var(--purple);
  font-weight:900;
  font-size:12px;
}

.trade-player{pointer-events:auto!important;cursor:pointer!important}.trade-player *{pointer-events:none!important}.trade-player.selected{background:var(--yellow)!important;box-shadow:inset 0 0 0 4px var(--orange)!important}

/* V26 patriotic arcade reskin */
body{background:#071a3d}
.cabinet{background:#071a3d}
.side-rail{
  background:linear-gradient(#d72638,#1746a2);
  border-left-color:#f4f1e8;
  border-right-color:#071a3d;
}
header{
  background:#071a3d;
  border-bottom-color:#d72638;
}
.logo span{color:#f4f1e8}
.arcade-banner{
  background:#1746a2;
  color:#f4f1e8;
  border-color:#d72638;
  box-shadow:5px 5px 0 #071a3d;
}
h1{text-shadow:3px 3px 0 #f4f1e8,6px 6px 0 #d72638}
.tab.active{background:#1746a2}
.mega{background:#d72638;box-shadow:7px 7px 0 #1746a2}
.mega:hover{background:#ef3a4d}
.number{background:#1746a2;color:#f4f1e8}
.division-title{background:#1746a2}
.conference-btn.active{background:#1746a2}
.bracket-conf-title{background:#1746a2}
.trade-preview,.leader-card,.history-current,.history-season,.off-card{box-shadow:6px 6px 0 #1746a2}
.trade-player.selected{background:#e8f1ff!important;box-shadow:inset 0 0 0 4px #d72638!important}
.trade-balance.even{background:#e8f1ff}
.selection-status{background:#1746a2;border-color:#d72638}
.roster-rule-preview{border-color:#f4f1e8;color:#f4f1e8;background:#1746a2}
.awards-panel{box-shadow:7px 7px 0 #1746a2}
.champ{border-color:#f4f1e8;box-shadow:9px 9px 0 #d72638}
.champ h2{color:#f4f1e8}
.scoreboard-top{border-bottom-color:#f4f1e8}
.team-short{color:#f4f1e8}
.quarter-box{color:#f4f1e8}
.quarter-box strong{color:#e8f1ff}
.ticker{background:#e8f1ff}

/* V26 offseason */
.offseason-hero{
  border:5px solid #071a3d;
  background:#f4f1e8;
  padding:24px;
  box-shadow:8px 8px 0 #d72638;
  margin-bottom:22px;
}
.offseason-hero h3{font-family:Impact,sans-serif;font-size:32px;margin:0 0 8px}
.offseason-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:20px}
.off-card{border:4px solid #071a3d;background:#f4f1e8;margin-bottom:18px}
.off-row{display:flex;justify-content:space-between;padding:9px 11px;border-bottom:2px solid #ddd;font-weight:900}
.draft-list{display:grid;grid-template-columns:repeat(2,1fr)}
.prospect{
  border:0;border-bottom:2px solid #ddd;border-right:2px solid #ddd;
  background:#f4f1e8;padding:12px;display:flex;justify-content:space-between;text-align:left;font-weight:900;cursor:pointer
}
.prospect:hover{background:#e8f1ff}
.prospect small{display:block;color:#777;margin-top:3px}
.prospect b{text-align:right;font-family:Impact,sans-serif}
.prospect em{font-style:normal;color:#d72638}
.offseason-lock{border:4px solid #071a3d;background:#eee;padding:20px}
@media(max-width:800px){.offseason-grid,.draft-list{grid-template-columns:1fr}}

/* V29 Coach Mode + Player Cards */
.coach-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:18px}
.coach-summary>div{border:4px solid #071a3d;background:#f4f1e8;padding:12px;text-align:center;box-shadow:4px 4px 0 #d72638}
.coach-summary small{display:block;font-weight:900;color:#666}.coach-summary b{font-family:Impact,sans-serif;font-size:25px}
.coach-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:18px}.coach-card{border:4px solid #071a3d;background:#f4f1e8;margin-bottom:18px;box-shadow:6px 6px 0 #1746a2}
.style-grid{display:grid;grid-template-columns:repeat(2,1fr)}.style-btn{background:#f4f1e8;border:0;border-right:2px solid #ddd;border-bottom:2px solid #ddd;padding:12px;text-align:left;cursor:pointer}
.style-btn strong,.style-btn small{display:block}.style-btn small{margin-top:3px;color:#666}.style-btn.active{background:#e8f1ff;box-shadow:inset 0 0 0 4px #d72638}
.coach-card>label{display:flex;justify-content:space-between;align-items:center;padding:10px;border-bottom:2px solid #ddd;font-weight:900}.coach-card select{font-weight:900;padding:6px}
.rotation-row{display:grid;grid-template-columns:1fr 100px 130px;align-items:center;border-bottom:2px solid #ddd;padding:8px}.rotation-row.starter{background:#e8f1ff}
.player-link{border:0;background:transparent;text-align:left;cursor:pointer}.player-link strong,.player-link small{display:block}.player-link strong{font-size:15px}.player-link small{color:#666;margin-top:3px}
.starter-toggle{font-weight:900;border:3px solid #071a3d;background:#f4f1e8;padding:7px;cursor:pointer}.starter .starter-toggle{background:#d72638;color:#f4f1e8}
.minute-control{display:flex;align-items:center;justify-content:flex-end;gap:8px}.minute-control button{width:30px;height:30px;border:3px solid #071a3d;background:#f4f1e8;font-size:18px;font-weight:900;cursor:pointer}.minute-control b{font-family:Impact,sans-serif;font-size:22px;width:28px;text-align:center}
.coach-note{padding:10px;text-align:center;font-weight:900}.good-note{background:#d8f5dd}.bad-note{background:#ffd4d4}.good{color:#14732b}.bad{color:#d72638}
.player-modal{position:fixed;inset:0;background:rgba(0,0,0,.75);z-index:9999;display:flex;align-items:center;justify-content:center;padding:20px}.player-modal.hidden{display:none}
.player-card-shell{position:relative;width:min(620px,95vw);background:#f4f1e8;border:7px solid #071a3d;box-shadow:12px 12px 0 #d72638;padding:22px}
.player-card-close{position:absolute;right:10px;top:8px;border:3px solid #071a3d;background:#d72638;color:#f4f1e8;font-size:22px;font-weight:900;cursor:pointer}
.pc-top{display:flex;justify-content:space-between;align-items:center;border-bottom:5px solid #1746a2;padding-bottom:12px}.pc-top h2{margin:2px 0;font-size:34px}.pc-meta{font-weight:900}
.pc-ovr{width:82px;height:82px;background:#1746a2;color:#f4f1e8;border:5px solid #071a3d;display:flex;align-items:center;justify-content:center;font:42px Impact,sans-serif;box-shadow:5px 5px 0 #d72638}
.pc-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:16px 0}.pc-stats>div{text-align:center;border:3px solid #071a3d;padding:8px}.pc-stats small{display:block;font-weight:900}.pc-stats b{font:26px Impact,sans-serif}
.pc-ratings{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.pc-ratings span{display:flex;justify-content:space-between;background:#e8f1ff;padding:8px;font-weight:900}.pc-footer{margin-top:15px;background:#071a3d;color:#f4f1e8;padding:10px;font-weight:900;text-align:center}
@media(max-width:800px){.coach-grid{grid-template-columns:1fr}.rotation-row{grid-template-columns:1fr 80px 110px}.pc-stats{grid-template-columns:repeat(2,1fr)}}

/* V30 Front Office */
.gm-hero{display:grid;grid-template-columns:repeat(5,1fr);gap:9px;margin-bottom:18px}
.gm-hero>div{background:#f4f1e8;border:4px solid #071a3d;box-shadow:4px 4px 0 #d72638;text-align:center;padding:11px 6px}
.gm-hero small{display:block;font-weight:900;color:#666}.gm-hero b{font:25px Impact,sans-serif}
.gm-story{background:#1746a2;color:#f4f1e8;border:5px solid #071a3d;padding:17px;box-shadow:7px 7px 0 #d72638;margin-bottom:15px}.gm-story h3{font:26px Impact,sans-serif;margin:5px 0}
.gm-alert{display:flex;justify-content:space-between;gap:15px;background:#e8f1ff;border:4px solid #071a3d;padding:12px;margin-bottom:18px}.gm-alert b{color:#d72638}
.contract-table{border:4px solid #071a3d;background:#f4f1e8}.contract-row{display:grid;grid-template-columns:1.5fr .7fr .55fr 1fr .8fr;gap:8px;align-items:center;padding:9px;border-bottom:2px solid #ddd;font-weight:900}
.extend-btn{background:#d72638;color:#f4f1e8;border:3px solid #071a3d;padding:6px;font-weight:900;cursor:pointer}
.pc-contract{margin-top:12px;border:3px solid #071a3d;background:#e8f1ff;padding:10px;display:flex;justify-content:space-between;gap:8px;font-weight:900}.pc-contract span{font-size:11px}.pc-extend{margin-top:10px;width:100%}
.identity-hero{background:#1746a2;color:#f4f1e8;border:5px solid #071a3d;box-shadow:7px 7px 0 #d72638;padding:20px;margin-bottom:18px}.identity-hero h3{font:34px Impact,sans-serif;margin:4px 0}.identity-hero p{font-weight:900;margin:0}
.strategy-note{border:4px solid #071a3d;background:#e8f1ff;padding:13px;text-align:center;font-weight:900}
@media(max-width:900px){.gm-hero{grid-template-columns:repeat(2,1fr)}.contract-row{grid-template-columns:1fr 1fr}.contract-row .player-link{grid-column:1/-1}}

/* V31 Season Storylines */
.news-head{display:grid;grid-template-columns:2fr 1fr 1fr;gap:10px;margin-bottom:18px}.news-head>div{border:4px solid #071a3d;background:#f4f1e8;padding:11px;box-shadow:4px 4px 0 #d72638}.news-head small,.news-head b{display:block}.news-head small{font-weight:900;color:#666}.news-head b{font:20px Impact,sans-serif}
.news-feed{border:4px solid #071a3d;background:#f4f1e8}.news-item{display:grid;grid-template-columns:90px 1fr;gap:12px;padding:13px;border-bottom:3px solid #ddd}.news-item>span{background:#1746a2;color:#f4f1e8;font-weight:900;text-align:center;padding:8px;height:max-content}.news-item.injury>span{background:#d72638}.news-item.health>span{background:#14732b}.news-item.deadline>span{background:#071a3d}
.news-item h3{font:22px Impact,sans-serif;margin:0}.news-item p{margin:3px 0 5px;font-weight:700}.news-item small{color:#777;font-weight:900}
.deadline-banner{border:4px solid #071a3d;background:#e8f1ff;padding:9px;text-align:center;font-weight:900;margin:10px 0}
.pc-health{margin-top:12px;border:3px solid #071a3d;background:#f4f1e80f1;padding:10px;display:flex;justify-content:space-between;gap:8px;font-weight:900}.pc-health span{font-size:11px}
@media(max-width:700px){.news-head{grid-template-columns:1fr}.news-item{grid-template-columns:70px 1fr}}

/* V32 compact navigation + stronger arcade presentation */
.tabs{
  display:flex!important;
  flex-wrap:nowrap!important;
  gap:2px!important;
  width:100%!important;
}
.tab{
  flex:1 1 0!important;
  min-width:0!important;
  padding:7px 2px!important;
  font-size:9px!important;
  letter-spacing:0!important;
  #f4f1e8-space:nowrap!important;
  border-width:2px!important;
  box-shadow:2px 2px 0 #071a3d!important;
}
body{
  background:
    repeating-linear-gradient(0deg,rgba(255,255,255,.025) 0 2px,transparent 2px 4px),
    #02091b!important;
}
.cabinet{
  border:8px solid #071a3d!important;
  box-shadow:0 0 0 4px #f4f1e8,0 0 0 9px #d72638,14px 14px 0 #000!important;
}
header{
  background:linear-gradient(90deg,#d72638 0 17%,#f4f1e8 17% 19%,#1746a2 19% 81%,#f4f1e8 81% 83%,#d72638 83% 100%)!important;
}
.logo,.logo span{color:#f4f1e8!important;text-shadow:3px 3px 0 #071a3d!important}
.panel{box-shadow:7px 7px 0 #071a3d!important}
.division-title,.mega{
  font-family:Impact,sans-serif!important;
  letter-spacing:1.4px!important;
  text-shadow:2px 2px 0 #071a3d!important;
}
.arcade-pulse{
  position:relative;
  overflow:hidden;
}
.arcade-pulse:after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:repeating-linear-gradient(0deg,rgba(255,255,255,.04) 0 2px,transparent 2px 4px);
}
.starting-five{
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:8px;
  padding:12px;
}
.lineup-slot{
  position:relative;
  min-height:92px;
  border:4px solid #071a3d;
  background:#e8f1ff;
  box-shadow:4px 4px 0 #d72638;
}
.slot-number{
  position:absolute;top:4px;right:6px;
  font:22px Impact,sans-serif;color:#d72638;
}
.lineup-player{
  width:100%;height:100%;border:0;background:transparent;
  padding:18px 8px 8px;text-align:left;cursor:pointer;
}
.lineup-player strong,.lineup-player small{display:block}
.lineup-player small{font-size:10px;color:#555;margin-top:5px}
.lineup-pool{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  border-top:4px solid #071a3d;
}
.lineup-option{
  display:flex;justify-content:space-between;
  border:0;border-right:2px solid #ddd;border-bottom:2px solid #ddd;
  background:#f4f1e8;padding:10px;font-weight:900;cursor:pointer;
}
.lineup-option.selected{background:#1746a2;color:#f4f1e8}
.progress-up{color:#14732b}
.progress-down{color:#d72638}
@media(max-width:1100px){
  .tab{font-size:7.5px!important;padding:6px 1px!important}
  .starting-five{grid-template-columns:repeat(5,minmax(85px,1fr));overflow-x:auto}
}

nav,.nav-tabs{display:flex!important;flex-wrap:nowrap!important;gap:2px!important}
nav .tab,.nav-tabs .tab{min-width:0!important;flex:1 1 0!important}

/* V33 League Legacy */
.legacy-banner{display:flex;justify-content:space-between;align-items:center;background:#071a3d;color:#f4f1e8;border:5px solid #d72638;box-shadow:6px 6px 0 #1746a2;padding:12px;margin-bottom:16px;font-weight:900}
.legacy-banner b{font:24px Impact,sans-serif;letter-spacing:1px}
.legacy-races{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:18px}
.legacy-box{background:#f4f1e8;border:4px solid #071a3d;box-shadow:4px 4px 0 #d72638}
.legacy-row{display:flex;justify-content:space-between;align-items:center;padding:8px;border-bottom:2px solid #ddd;font-weight:900}
.legacy-row span small{display:block;color:#777;margin-left:25px;font-size:9px}.legacy-row>strong{font-family:Impact,sans-serif;font-size:17px}
.legacy-section-title{font:28px Impact,sans-serif;color:#f4f1e8;background:#d72638;border:4px solid #071a3d;padding:8px 12px;margin:18px 0 10px;text-shadow:2px 2px 0 #071a3d}
.rivalry-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.rivalry-card{position:relative;background:#f4f1e8;border:5px solid #071a3d;box-shadow:5px 5px 0 #1746a2;padding:16px}.rivalry-card h3{font:28px Impact,sans-serif;margin:8px 0}.rivalry-card p{font-weight:900;color:#666}.rivalry-tag{display:inline-block;background:#d72638;color:#f4f1e8;border:2px solid #071a3d;padding:3px 8px;font-weight:900}
.news-item.award>span{background:#e0a800;color:#071a3d}.news-item.milestone>span{background:#6f42c1}
@media(max-width:1000px){.legacy-races{grid-template-columns:repeat(2,1fr)}.rivalry-grid{grid-template-columns:1fr 1fr}}
/* one more tab: keep everything on one row */
.tab{font-size:8px!important;padding-left:1px!important;padding-right:1px!important}

/* V33.2 simplified Legacy page */
.legacy-row.simple-race{
  display:block;
  padding:10px 12px;
}
.legacy-row.simple-race span{
  display:block;
}
.legacy-row.simple-race small{
  display:inline-block;
  margin-left:8px;
}

/* V33.5 League Leaders */
.leaders-banner{
  display:flex;
  justify-content:space-between;
  align-items:center;
  background:#071a3d;
  color:#f4f1e8;
  border:5px solid #d72638;
  box-shadow:6px 6px 0 #1746a2;
  padding:12px;
  margin-bottom:16px;
  font-weight:900;
}
.leaders-banner b{
  font:25px Impact,sans-serif;
  letter-spacing:1.5px;
}
#leaders .leader-grid{
  grid-template-columns:repeat(3,1fr);
}
#leaders .leader-card{
  min-width:0;
}
#leaders .leader-row{
  grid-template-columns:28px minmax(0,1fr) auto;
}
#leaders .leader-row span{
  overflow:hidden;
  text-overflow:ellipsis;
}
#leaders .leader-row strong{
  #f4f1e8-space:nowrap;
}
@media(max-width:900px){
  #leaders .leader-grid{grid-template-columns:1fr}
}

/* V34 GM AI */
.gm-ai-box{margin-top:18px;border:5px solid #071a3d;background:#f4f1e8;box-shadow:6px 6px 0 #d72638}
.arcade-kicker{font:15px Impact,sans-serif;letter-spacing:1px;background:#071a3d;color:#f4f1e8;padding:7px 10px}
.incoming-offer{margin:12px;border:5px solid #d72638;background:#e8f1ff;padding:14px;box-shadow:5px 5px 0 #1746a2}.incoming-offer h3{font:28px Impact,sans-serif;margin:7px 0}.incoming-offer p{font-weight:900}
.offer-actions{display:flex;gap:8px}.offer-actions button{flex:1;background:#d72638;color:#f4f1e8;border:4px solid #071a3d;padding:10px;font:18px Impact,sans-serif;cursor:pointer}.offer-actions button:last-child{background:#1746a2}
.block-row{display:grid;grid-template-columns:1.4fr .5fr 1fr;gap:8px;align-items:center;padding:9px 12px;border-bottom:2px solid #ddd}.block-row span small{display:block;color:#777}.block-row strong{font:18px Impact,sans-serif}.block-row em{font-size:11px;font-weight:900}
.championship-overlay{position:fixed;inset:0;z-index:9999;background:rgba(2,8,23,.94);display:flex;align-items:center;justify-content:center;padding:20px}.championship-overlay.hidden{display:none}.champ-card{width:min(650px,95vw);text-align:center;background:#1746a2;color:#f4f1e8;border:10px solid #f4f1e8;outline:10px solid #d72638;box-shadow:18px 18px 0 #000;padding:35px}.champ-card h1{font:72px Impact,sans-serif;margin:0;text-shadow:5px 5px 0 #071a3d}.champ-card h2{font:42px Impact,sans-serif;margin:5px}.champ-trophy{font-size:80px}.champ-stars{font-size:30px}.champ-kicker,.finals-mvp{font-weight:900;letter-spacing:2px}.champ-card button{margin-top:18px;background:#d72638;color:#f4f1e8;border:5px solid #071a3d;padding:12px 25px;font:20px Impact,sans-serif;cursor:pointer}
.news-item.trade>span,.news-item.signing>span{background:#1746a2}

/* V35 Basketball Engine 2.0 */
.engine-banner{display:flex;justify-content:space-between;align-items:center;background:#071a3d;color:#f4f1e8;border:4px solid #d72638;padding:7px 12px;font-weight:900;letter-spacing:1px;box-shadow:4px 4px 0 #1746a2;margin-bottom:8px}
.engine-banner b{font:20px Impact,sans-serif;color:#f4f1e8}.engine-banner span{font-size:11px}
.pc-engine{margin-top:12px;border:3px solid #071a3d;background:#f4f1e86cf;padding:10px;display:flex;justify-content:space-between;gap:8px;font-weight:900}.pc-engine span{font-size:11px}.pc-engine b{font-family:Impact,sans-serif;letter-spacing:1px}
#liveSim{position:relative}

/* V36 Ultimate Offseason */
:root{--paper:#f4f1e8}
body,.panel,.leader-card,.off-card,.coach-card,.contract-table,.trade-column,.division-card,.player-card-shell{background-color:#f4f1e8!important}
.award-reveal-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:18px 0}
.award-reveal-card{border:4px solid #071a3d;background:#f4f1e8;box-shadow:4px 4px 0 #d72638;padding:14px;text-align:center}
.award-reveal-title{font:16px Impact,sans-serif;color:#d72638}.award-reveal-card h3{font:24px Impact,sans-serif;margin:8px 0 2px}
.lottery-preview{display:grid;grid-template-columns:repeat(2,1fr);gap:6px;margin:16px 0}.lottery-preview>div{display:flex;gap:10px;border:3px solid #071a3d;background:#f4f1e8;padding:8px;font-weight:900}.lottery-preview span{font-family:Impact,sans-serif;color:#d72638}
.prospect-v36 em{display:block;color:#d72638;margin:4px 0;font-weight:900}.prospect-v36>b{font:18px Impact,sans-serif}
.draft-reveal{border:6px solid #071a3d;background:#1746a2;color:#f4f1e8;box-shadow:8px 8px 0 #d72638;text-align:center;padding:20px;margin:14px}.draft-reveal h2{font:38px Impact,sans-serif;margin:6px}.draft-true-ovr{width:90px;height:90px;margin:10px auto;border:5px solid #f4f1e8;background:#d72638;display:grid;place-items:center;font:46px Impact,sans-serif}
.fa-daybar{display:flex;justify-content:space-between;align-items:center;border:4px solid #071a3d;background:#1746a2;color:#f4f1e8;padding:10px;margin:12px 0}.fa-daybar button{background:#d72638;color:#f4f1e8;border:3px solid #071a3d;padding:8px 14px;font:16px Impact,sans-serif;cursor:pointer}
.title-banner-row{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}.title-banner{display:inline-block;background:#d72638;color:#f4f1e8;border:3px solid #071a3d;padding:7px 10px;font:16px Impact,sans-serif;box-shadow:3px 3px 0 #1746a2}.banner-empty{font-weight:900;color:#777}
@media(max-width:900px){.award-reveal-grid{grid-template-columns:repeat(2,1fr)}}

/* JAM DYNASTY — ULTIMATE EDITION */
.save-overlay{position:fixed;inset:0;z-index:12000;background:rgba(2,7,18,.96);display:grid;place-items:center;padding:20px}
.save-overlay.hidden{display:none}
.save-shell{width:min(760px,95vw);background:#f4f1e8;border:8px solid #071a3d;outline:8px solid #d72638;box-shadow:18px 18px 0 #000;padding:28px}
.save-shell h1{font:64px Impact,sans-serif;margin:0;color:#1746a2;text-shadow:4px 4px 0 #d72638}.save-shell h2{font:30px Impact,sans-serif;margin:0 0 20px}
.save-slot{display:flex;justify-content:space-between;align-items:center;border:4px solid #071a3d;background:#f4f1e8;padding:12px;margin:9px 0;box-shadow:4px 4px 0 #1746a2}.save-slot small,.save-slot strong{display:block}.save-slot strong{font:22px Impact,sans-serif}
.save-actions button{background:#d72638;color:#f4f1e8;border:4px solid #071a3d;padding:9px 16px;font:16px Impact,sans-serif;cursor:pointer}
.pc-history{margin-top:12px;border:3px solid #071a3d;background:#f4f1e8}.history-line{display:flex;justify-content:space-between;padding:8px 10px;border-bottom:2px solid #ddd;font-weight:900;font-size:12px}
.ultimate-badge{display:inline-block;background:#d72638;color:#f4f1e8;border:3px solid #071a3d;padding:4px 8px;font:13px Impact,sans-serif}

/* JAM DYNASTY 1.0 — Release Candidate polish */
button{transition:transform .08s ease,box-shadow .08s ease}
button:hover{transform:translate(-1px,-1px)}
button:active{transform:translate(2px,2px);box-shadow:none!important}
button:focus-visible{outline:4px solid #d72638;outline-offset:2px}
.postgame-card{border:6px solid #071a3d;background:#f4f1e8;box-shadow:7px 7px 0 #1746a2;padding:14px;margin-top:12px}
.postgame-card.win{box-shadow:7px 7px 0 #1746a2}.postgame-card.loss{box-shadow:7px 7px 0 #d72638}
.postgame-label{font:20px Impact,sans-serif;color:#d72638}.postgame-score{display:flex;gap:14px;align-items:center;font:42px Impact,sans-serif;margin:5px 0}.postgame-star{background:#071a3d;color:#f4f1e8;padding:7px;font-weight:900}
.postgame-leaders{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-top:8px}.postgame-leaders span{border:3px solid #071a3d;padding:7px;font-weight:900}.postgame-leaders b{display:block}
.arcade-event-flash{position:absolute;z-index:100;left:50%;top:45%;transform:translate(-50%,-50%) scale(.4);opacity:0;background:#f4f1e8;border:6px solid #071a3d;box-shadow:8px 8px 0 #d72638;padding:12px 24px;font:42px Impact,sans-serif;pointer-events:none}
.arcade-event-flash.show{opacity:1;transform:translate(-50%,-50%) scale(1);transition:.12s}
.arcade-event-flash.three{background:#1746a2;color:#f4f1e8}.arcade-event-flash.dunk{background:#d72638;color:#f4f1e8}.arcade-event-flash.clutch{background:#071a3d;color:#f4f1e8}
.tabpage>.panel,.coach-card,.leader-card,.gm-ai-box,.off-card{border-radius:0}
@media(max-width:700px){.postgame-leaders{grid-template-columns:1fr}.postgame-score{font-size:32px}.arcade-event-flash{font-size:28px}}

/* JAM DYNASTY 1.1 — real franchise colors */
:root{
  --team-primary:#1746a2;
  --team-secondary:#d72638;
  --team-primary-text:#f4f1e8;
  --team-secondary-text:#f4f1e8;
}
header{
  background:linear-gradient(90deg,
    var(--team-primary) 0 30%,
    #f4f1e8 30% 32%,
    var(--team-secondary) 32% 68%,
    #f4f1e8 68% 70%,
    var(--team-primary) 70% 100%)!important;
}
.tab.active{
  background:var(--team-primary)!important;
  color:var(--team-primary-text)!important;
}
.mega{
  background:var(--team-primary)!important;
  color:var(--team-primary-text)!important;
  box-shadow:7px 7px 0 var(--team-secondary)!important;
}
.mega:hover{filter:brightness(1.08)}
.division-title{
  background:var(--team-primary)!important;
  color:var(--team-primary-text)!important;
}
.identity-hero,.gm-story,.leaders-banner,.selection-status,.fa-daybar{
  background:var(--team-primary)!important;
  color:var(--team-primary-text)!important;
}
.lineup-option.selected{
  background:var(--team-primary)!important;
  color:var(--team-primary-text)!important;
}
.title-banner,.rivalry-tag,.extend-btn{
  background:var(--team-secondary)!important;
  color:var(--team-secondary-text)!important;
}
.team-color-badge{
  display:inline-block;
  width:18px;height:12px;
  margin-right:5px;
  vertical-align:middle;
  border:2px solid #071a3d;
  background:linear-gradient(90deg,var(--badge-primary) 0 50%,var(--badge-secondary) 50% 100%);
  box-shadow:1px 1px 0 #071a3d;
}
.engine-banner{
  border-left:10px solid var(--home-team,var(--team-primary));
  border-right:10px solid var(--away-team,var(--team-secondary));
}

/* Trade deadline full-screen arcade alert */
.deadline-overlay{
  position:fixed;inset:0;z-index:15000;
  display:grid;place-items:center;
  background:rgba(2,8,23,.92);
  padding:20px;
}
.deadline-overlay.hidden{display:none}
.deadline-alert-card{
  position:relative;
  width:min(720px,94vw);
  overflow:hidden;
  text-align:center;
  background:#f4f1e8;
  color:#071a3d;
  border:9px solid #071a3d;
  outline:8px solid #d72638;
  box-shadow:18px 18px 0 #000;
  padding:38px 24px 28px;
}
.deadline-alert-card h1{
  margin:4px 0;
  font:72px Impact,sans-serif;
  letter-spacing:2px;
  color:#d72638;
  text-shadow:4px 4px 0 #071a3d;
}
.deadline-alert-card h2{
  margin:0 0 12px;
  font:30px Impact,sans-serif;
  color:#1746a2;
}
.deadline-alert-card p{
  max-width:560px;margin:0 auto 20px;
  font-weight:900;line-height:1.45;
}
.deadline-alert-card button{
  background:#1746a2;color:#f4f1e8;
  border:5px solid #071a3d;
  padding:12px 28px;
  font:22px Impact,sans-serif;
  cursor:pointer;
  box-shadow:5px 5px 0 #d72638;
}
.deadline-stripes{
  position:absolute;left:0;top:0;width:100%;height:13px;
  background:repeating-linear-gradient(90deg,#d72638 0 40px,#f4f1e8 40px 50px,#1746a2 50px 90px,#f4f1e8 90px 100px);
}
@media(max-width:700px){
  .deadline-alert-card h1{font-size:48px}
}

/* JAM DYNASTY 1.2 — Home/Away arenas */
.venue-strip{
  display:flex;justify-content:space-between;align-items:center;
  background:#071a3d;color:#f4f1e8;
  border:4px solid #f4f1e8;
  padding:7px 12px;margin-bottom:6px;
  font-weight:900;letter-spacing:1px;
}
.venue-strip b{font:19px Impact,sans-serif}
.court,#court,#liveSim .court-floor{
  --court-home:var(--team-primary);
  --court-home2:var(--team-secondary);
  background:
    linear-gradient(90deg,transparent 49.5%,var(--court-home) 49.5% 50.5%,transparent 50.5%),
    radial-gradient(circle at 50% 50%,transparent 0 12%,var(--court-home) 12.3% 13.2%,transparent 13.5%),
    repeating-linear-gradient(0deg,#d8b77b 0 22px,#d1ad70 22px 44px)!important;
  border-color:var(--court-home)!important;
  box-shadow:inset 0 0 0 7px var(--court-home2)!important;
}
.court::before,#court::before{
  content:attr(data-venue);
  position:absolute;left:50%;top:50%;
  transform:translate(-50%,-50%);
  font:64px Impact,sans-serif;
  color:var(--court-home);
  opacity:.16;pointer-events:none;
}
.home-player,.player.home,.sprite.home{
  background:var(--jersey)!important;
  border-color:var(--trim)!important;
  box-shadow:inset 0 0 0 3px var(--trim);
}
.away-player,.player.away,.sprite.away{
  background:var(--jersey)!important;
  border-color:var(--trim)!important;
  box-shadow:inset 0 0 0 3px var(--trim);
}
.deadline-warning-card h1{color:#d72638}
.deadline-warning-card h2{color:#1746a2}
.deadline-sub{font-size:12px;color:#666}

/* JAM DYNASTY 1.2.1 — moving team-colored sprites */
.pixel-player{
  transition:left .38s steps(5),top .38s steps(5),transform .16s steps(2)!important;
  will-change:left,top,transform;
}
.pixel-player.user-side{z-index:9}
.pixel-player.cpu-side{z-index:10}
.pixel-player.user-side .px-body,
.pixel-player.cpu-side .px-body{
  background:var(--jersey-primary)!important;
  color:var(--jersey-text,#f4f1e8)!important;
  border-color:var(--jersey-secondary)!important;
  box-shadow:inset 0 -5px 0 var(--jersey-secondary)!important;
}
.pixel-player.user-side .px-legs,
.pixel-player.cpu-side .px-legs{
  background:var(--jersey-secondary)!important;
  box-shadow:14px 0 var(--jersey-secondary)!important;
}
.pixel-player.teal .px-body,
.pixel-player.orange .px-body{
  background:inherit;
}

/* Home-team arena palette */
.court{
  --court-primary:var(--team-primary);
  --court-secondary:var(--team-secondary);
  position:relative;
  background:
    linear-gradient(90deg,transparent 49.45%,var(--court-primary) 49.45% 50.55%,transparent 50.55%),
    radial-gradient(circle at 50% 50%,transparent 0 11.6%,var(--court-primary) 11.8% 13%,var(--court-secondary) 13.2% 13.8%,transparent 14%),
    linear-gradient(90deg,
      transparent 0 7%,
      color-mix(in srgb,var(--court-primary) 30%,transparent) 7% 24%,
      transparent 24% 76%,
      color-mix(in srgb,var(--court-primary) 30%,transparent) 76% 93%,
      transparent 93%),
    repeating-linear-gradient(0deg,#d8b77b 0 22px,#d1ad70 22px 44px)!important;
  border:7px solid var(--court-primary)!important;
  box-shadow:inset 0 0 0 7px var(--court-secondary)!important;
}
.court:before{
  content:attr(data-venue)!important;
  position:absolute!important;
  left:50%!important;top:50%!important;
  transform:translate(-50%,-50%)!important;
  font:72px Impact,sans-serif!important;
  color:var(--court-primary)!important;
  text-shadow:3px 3px 0 var(--court-secondary)!important;
  opacity:.18!important;
  pointer-events:none!important;
}

/* JAM DYNASTY 1.2.2 — fresh dynasty startup */
main.awaiting-team .tabpage,
main.awaiting-team .tabs{
  visibility:hidden;
}

/* JAM DYNASTY 1.2.3 startup rebuild */
main.awaiting-team .tabpage,
main.awaiting-team .tabs{visibility:visible!important}
#teamSelect.active{display:block!important}
#franchise:not(.active){display:none!important}

/* JAM DYNASTY 1.2.4 — live clock/movement recovery */
.pixel-player.user-side,
.pixel-player.cpu-side{
  transition:left .42s steps(6),top .42s steps(6),transform .18s steps(2)!important;
  will-change:left,top,transform;
}
.ball-sprite{
  transition:left .30s steps(4),top .30s steps(4)!important;
  will-change:left,top;
}

/* JAM DYNASTY 1.2.5 — full-court transition movement */
.pixel-player.user-side,
.pixel-player.cpu-side{
  transition:left .20s linear,top .20s steps(3),transform .14s steps(2)!important;
}
.ball-sprite{
  transition:left .16s linear,top .16s linear!important;
}

/* JAM DYNASTY 1.3 — Broadcast Mode */
.broadcast-overlay{position:fixed;inset:0;z-index:16000;display:grid;place-items:center;background:rgba(2,8,23,.88);padding:20px}
.broadcast-overlay.hidden{display:none}
.broadcast-card{width:min(760px,94vw);background:#f4f1e8;color:#071a3d;border:8px solid #071a3d;outline:7px solid #d72638;box-shadow:16px 16px 0 #000;padding:24px;text-align:center}
.broadcast-kicker{font:18px Impact,sans-serif;letter-spacing:1.5px;color:#d72638}
.broadcast-matchup{display:grid;grid-template-columns:1fr 60px 1fr;align-items:center;gap:12px;margin:18px 0}
.broadcast-team h2{font:30px Impact,sans-serif;margin:6px 0}.broadcast-team b{font-size:20px}
.broadcast-swatch{display:inline-block;width:42px;height:14px;border:3px solid #071a3d}.broadcast-at{font:32px Impact,sans-serif}
.broadcast-watch,.halftime-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin:14px 0}.halftime-grid{grid-template-columns:repeat(3,1fr)}
.broadcast-watch>div,.halftime-grid>div{border:4px solid #071a3d;background:#fff8ec;padding:10px}
.broadcast-watch small,.halftime-grid small{display:block;font-weight:900;color:#666}.broadcast-watch b,.halftime-grid b{display:block;margin-top:4px}
.broadcast-actions{display:flex;gap:10px;margin-top:18px}
.broadcast-actions button,.post-broadcast-card button{flex:1;background:#1746a2;color:#f4f1e8;border:5px solid #071a3d;padding:11px;font:19px Impact,sans-serif;cursor:pointer;box-shadow:5px 5px 0 #d72638}
.broadcast-actions button:last-child{background:#d72638}
.quarter-card h2,.halftime-card h2,.post-broadcast-card h2{font:36px Impact,sans-serif;margin:10px 0}
.playoff-intro-card{background:#071a3d;color:#f4f1e8}.playoff-intro-card h2{font:46px Impact,sans-serif;margin:10px 0;color:#f4f1e8}
.secondary-game-btn{background:#d72638!important;margin-right:8px}
@media(max-width:700px){.broadcast-matchup{grid-template-columns:1fr}.broadcast-at{font-size:22px}.broadcast-watch,.halftime-grid{grid-template-columns:1fr}}

/* JAM DYNASTY 1.3.1 — WATCH GAME visibility hotfix */
#home.active #liveSim:not(.hidden){display:block!important}
#liveSim{scroll-margin-top:12px}

/* JAM DYNASTY 1.3.2 — direct WATCH GAME rebuild */
#liveSim:not(.hidden){
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
}
.broadcast-starting{
  margin-top:14px;
  font:18px Impact,sans-serif;
  color:#d72638;
}

/* JAM DYNASTY 1.3.3 — actual venue scoring semantics */
.score-team:first-child .team-short:after{content:" • HOME";font-size:9px;opacity:.7}
.score-team.right .team-short:after{content:" • AWAY";font-size:9px;opacity:.7}

/* JAM DYNASTY 1.3.4 — basketball spacing + trade notifications */
.pixel-player.user-side,
.pixel-player.cpu-side{
  transition:left .20s ease-out,top .20s ease-out,transform .14s steps(2)!important;
}
.trade-offer-overlay{
  position:fixed;inset:0;z-index:18000;
  display:grid;place-items:center;
  background:rgba(2,8,23,.86);
  padding:20px;
}
.trade-offer-overlay.hidden{display:none}
.trade-notification-card{
  width:min(680px,94vw);
  background:#f4f1e8;
  color:#071a3d;
  border:8px solid #071a3d;
  outline:7px solid #d72638;
  box-shadow:16px 16px 0 #000;
  padding:24px;
  text-align:center;
}
.trade-notification-flash{
  display:inline-block;
  background:#d72638;
  color:#f4f1e8;
  border:4px solid #071a3d;
  padding:7px 12px;
  font:18px Impact,sans-serif;
  letter-spacing:1px;
}
.trade-notification-card h2{
  font:38px Impact,sans-serif;
  margin:14px 0;
}
.trade-notification-deal{
  display:grid;
  grid-template-columns:1fr 50px 1fr;
  gap:10px;
  align-items:center;
  margin:16px 0;
}
.trade-notification-deal>div:not(.trade-arrow){
  border:4px solid #071a3d;
  background:#fff8ec;
  padding:12px;
}
.trade-notification-deal small,
.trade-notification-deal b{display:block}
.trade-notification-deal small{color:#666;font-weight:900}
.trade-notification-deal b{margin-top:5px}
.trade-arrow{font:32px Impact,sans-serif}
.trade-notification-actions{display:flex;gap:10px;margin-top:16px}
.trade-notification-actions button{
  flex:1;
  background:#1746a2;
  color:#f4f1e8;
  border:5px solid #071a3d;
  padding:11px;
  font:19px Impact,sans-serif;
  cursor:pointer;
  box-shadow:5px 5px 0 #d72638;
}
.trade-notification-actions button:last-child{background:#d72638}
@media(max-width:650px){
  .trade-notification-deal{grid-template-columns:1fr}
  .trade-arrow{transform:rotate(90deg)}
}

/* JAM DYNASTY 1.3.5 — quarter scorer cards */
.quarter-leaders{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:10px;
  margin:14px 0;
}
.quarter-leaders>div{
  border:4px solid #071a3d;
  background:#fff8ec;
  padding:12px;
}
.quarter-leaders small,
.quarter-leaders b,
.quarter-leaders strong{
  display:block;
}
.quarter-leaders small{
  font-weight:900;
  color:#666;
}
.quarter-leaders b{
  margin-top:5px;
  font:20px Impact,sans-serif;
}
.quarter-leaders strong{
  margin-top:3px;
  color:#d72638;
}
.broadcast-subhead{
  margin-top:15px;
  background:#071a3d;
  color:#f4f1e8;
  padding:6px;
  font:16px Impact,sans-serif;
  letter-spacing:1px;
}
@media(max-width:650px){
  .quarter-leaders{grid-template-columns:1fr}
}

/* JAM DYNASTY 1.3.6 — playoff engine parity */
.pixel-player.user-side .px-body,
.pixel-player.cpu-side .px-body{
  background:var(--jersey-primary)!important;
  border-color:var(--jersey-secondary)!important;
  box-shadow:inset 0 -5px 0 var(--jersey-secondary)!important;
}
.pixel-player.user-side .px-legs,
.pixel-player.cpu-side .px-legs{
  background:var(--jersey-secondary)!important;
  box-shadow:14px 0 var(--jersey-secondary)!important;
}
/* Neutralize the retired legacy playoff colors. */
.pixel-player.teal .px-body,
.pixel-player.orange .px-body,
.pixel-player.teal .px-legs,
.pixel-player.orange .px-legs{
  background:var(--jersey-primary,inherit)!important;
  border-color:var(--jersey-secondary,inherit)!important;
}

/* JAM DYNASTY 1.3.7 — realistic trade evaluator */
.trade-realism{
  margin:10px 0;
  border:4px solid #071a3d;
  padding:10px;
  font-weight:900;
  background:#fff8ec;
}
.trade-realism b,.trade-realism span,.trade-realism small{display:block}
.trade-realism.good{box-shadow:5px 5px 0 #1746a2}
.trade-realism.bad{box-shadow:5px 5px 0 #d72638}
.trade-realism span{font:18px Impact,sans-serif;margin:4px 0}

/* JAM DYNASTY 1.4.1 — playoff quick sim + breaking trade news */
.breaking-news-overlay{
  position:fixed;inset:0;z-index:20000;
  display:grid;place-items:center;
  background:rgba(2,5,16,.94);
  padding:20px;
}
.breaking-news-overlay.hidden{display:none}
.breaking-news-card{
  width:min(760px,94vw);
  text-align:center;
  background:#f4f1e8;
  color:#071a3d;
  border:9px solid #071a3d;
  outline:8px solid #d72638;
  box-shadow:18px 18px 0 #000;
  padding:26px;
}
.breaking-banner{
  background:#d72638;
  color:#f4f1e8;
  border:5px solid #071a3d;
  padding:8px 12px;
  font:34px Impact,sans-serif;
  letter-spacing:2px;
}
.breaking-sub{
  margin:10px 0;
  font:18px Impact,sans-serif;
  color:#1746a2;
}
.breaking-player h2{
  font:44px Impact,sans-serif;
  margin:8px 0 4px;
}
.breaking-ovr{
  display:inline-block;
  background:#071a3d;
  color:#f4f1e8;
  border:4px solid #d72638;
  padding:7px 12px;
  font:24px Impact,sans-serif;
}
.breaking-news-card button{
  margin-top:18px;
  background:#1746a2;
  color:#f4f1e8;
  border:5px solid #071a3d;
  box-shadow:5px 5px 0 #d72638;
  padding:11px 24px;
  font:20px Impact,sans-serif;
  cursor:pointer;
}

/* JAM DYNASTY 1.4.4 — full trade market */
.trade-player-meta{
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  gap:3px;
}
.trade-player-meta em{
  font-size:10px;
  font-style:normal;
  color:#666;
}

/* JAM DYNASTY 1.5 — League Storylines */
.storyline-card{
  border:4px solid #071a3d;
  background:#fff8ec;
  padding:10px;
  margin:8px 0;
  box-shadow:4px 4px 0 var(--team-primary);
}
.storyline-card small,.storyline-card b,.storyline-card span{display:block}
.storyline-card small{font-weight:900;color:#d72638}
.storyline-card b{font:19px Impact,sans-serif;margin:3px 0}
.storyline-card.importance-3{box-shadow:6px 6px 0 #d72638}
.race-status{
  margin-left:6px;
  padding:2px 5px;
  border:2px solid #071a3d;
  background:#f4f1e8;
  font-size:9px;
  font-style:normal;
  white-space:nowrap;
}
.season-recap-card{
  border:7px solid #071a3d;
  background:#f4f1e8;
  box-shadow:8px 8px 0 var(--team-secondary);
  margin-bottom:14px;
}
.season-recap-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:8px;
  padding:12px;
}
.season-recap-grid>div{
  border:3px solid #071a3d;
  background:#fff8ec;
  padding:10px;
}
.season-recap-grid small,.season-recap-grid b{display:block}
.season-recap-grid small{font-weight:900;color:#666}
.season-recap-grid b{margin-top:4px}
@media(max-width:700px){.season-recap-grid{grid-template-columns:1fr}}

/* JAM DYNASTY 1.6 — One Season Challenge */
.one-season-finish{
  border:7px solid #071a3d;
  box-shadow:8px 8px 0 #d72638;
}

/* JAM DYNASTY 1.6.2 — Run It Back choice screen */
.restart-challenge-overlay{
  position:fixed;
  inset:0;
  z-index:22000;
  display:grid;
  place-items:center;
  background:rgba(2,8,23,.93);
  padding:20px;
}
.restart-challenge-overlay.hidden{display:none}
.restart-challenge-card{
  width:min(760px,95vw);
  background:#f4f1e8;
  color:#071a3d;
  border:9px solid #071a3d;
  outline:8px solid #d72638;
  box-shadow:18px 18px 0 #000;
  padding:28px;
  text-align:center;
}
.restart-kicker{
  display:inline-block;
  background:#d72638;
  color:#f4f1e8;
  border:4px solid #071a3d;
  padding:7px 14px;
  font:22px Impact,sans-serif;
  letter-spacing:2px;
}
.restart-challenge-card h2{
  font:42px Impact,sans-serif;
  margin:14px 0 6px;
}
.restart-options{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
  margin:22px 0 14px;
}
.restart-options button{
  min-height:180px;
  border:6px solid #071a3d;
  background:#fff8ec;
  color:#071a3d;
  padding:18px;
  cursor:pointer;
  box-shadow:7px 7px 0 var(--team-primary);
}
.restart-options button:hover{
  transform:translate(-2px,-2px);
  box-shadow:9px 9px 0 var(--team-secondary);
}
.restart-options span{
  display:block;
  font-size:38px;
}
.restart-options b{
  display:block;
  margin:9px 0 5px;
  font:25px Impact,sans-serif;
}
.restart-options small{
  display:block;
  font-weight:800;
  line-height:1.35;
}
.restart-cancel{
  border:4px solid #071a3d;
  background:#071a3d;
  color:#f4f1e8;
  padding:9px 18px;
  font:16px Impact,sans-serif;
  cursor:pointer;
}
@media(max-width:650px){
  .restart-options{grid-template-columns:1fr}
  .restart-options button{min-height:130px}
}

/* JAM DYNASTY 1.6.3 — streamlined one-season navigation */
.tabs{
  grid-template-columns:repeat(7,minmax(0,1fr));
}
#seasonTab{min-width:0}
@media(max-width:900px){
  .tabs{grid-template-columns:repeat(4,minmax(0,1fr))}
}

/* JAM DYNASTY 1.6.4 — exact tab order + centered League News/Gameplan */
.tabs{
  grid-template-columns:repeat(7,minmax(0,1fr));
}
.tabs .tab{
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  min-width:0;
}

/* Center the two pages whose content had drifted left */
#news,
#coach{
  width:100%;
  box-sizing:border-box;
}
#news > *,
#coach > *{
  margin-left:auto;
  margin-right:auto;
}
#news .panel,
#news .card,
#news .section,
#news .news-feed,
#news #leagueNewsContent,
#coach .panel,
#coach .card,
#coach .section,
#coach #coachContent{
  width:min(100%,1100px);
  box-sizing:border-box;
  margin-left:auto;
  margin-right:auto;
}
#news h1,#news h2,#news h3,
#news .division-title,#news .tiny-label,
#coach h1,#coach h2,#coach h3,
#coach .division-title,#coach .tiny-label{
  text-align:center;
}
#news .storyline-card{
  margin-left:auto;
  margin-right:auto;
}
@media(max-width:900px){
  .tabs{grid-template-columns:repeat(4,minmax(0,1fr))}
}

/* JAM DYNASTY 1.6.6 — startup + tab page layout stability */

/* Startup / team selection */
#teamSelect.screen{display:none}
#teamSelect.screen.active{display:block!important}
#franchise.screen{display:none}
#franchise.screen.active{display:block!important}

#teamSelect{
  width:100%;
  box-sizing:border-box;
}
#teamGrid{
  width:100%;
  margin:20px auto 0;
}
#teamGrid .team-card{
  cursor:pointer;
  pointer-events:auto!important;
}

/* Every tab page stays inside the franchise shell directly under navigation */
#franchise .tabpage{
  display:none!important;
  position:static!important;
  float:none!important;
  inset:auto!important;
  left:auto!important;
  right:auto!important;
  top:auto!important;
  bottom:auto!important;
  transform:none!important;
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  box-sizing:border-box!important;
  padding:24px 3.5% 40px!important;
}
#franchise .tabpage.active{
  display:block!important;
}

/* Center Gameplan and League News without moving them outside the shell */
#coach.active > *,
#news.active > *{
  width:min(1100px,100%)!important;
  max-width:1100px!important;
  margin-left:auto!important;
  margin-right:auto!important;
  float:none!important;
  position:static!important;
  transform:none!important;
  box-sizing:border-box!important;
}
#coach .panel,
#news .panel{
  margin-left:auto!important;
  margin-right:auto!important;
}
#coach h1,#coach h2,#coach h3,
#coach .tiny-label,#coach .division-title,
#news h1,#news h2,#news h3,
#news .tiny-label,#news .division-title{
  text-align:center!important;
}

/* JAM DYNASTY 1.6.8 — League News + Gameplan in-flow layout fix */
#franchise{
  overflow:visible!important;
}
#franchise .tabs{
  position:relative!important;
  z-index:2;
}
#coach,
#news{
  position:static!important;
  float:none!important;
  clear:both!important;
  width:100%!important;
  max-width:none!important;
  min-height:0!important;
  height:auto!important;
  margin:0!important;
  padding:26px 3.5% 40px!important;
  inset:auto!important;
  transform:none!important;
  overflow:visible!important;
  box-sizing:border-box!important;
}
#coach.active,
#news.active{
  display:block!important;
}
#coach .content-shell,
#news .content-shell{
  display:block!important;
  position:static!important;
  float:none!important;
  width:100%!important;
  max-width:1100px!important;
  min-height:0!important;
  height:auto!important;
  margin:0 auto!important;
  padding:0!important;
  inset:auto!important;
  transform:none!important;
  overflow:visible!important;
  box-sizing:border-box!important;
}
#coach .content-panel,
#news .content-panel{
  display:block!important;
  position:static!important;
  float:none!important;
  width:100%!important;
  max-width:none!important;
  min-height:0!important;
  height:auto!important;
  margin:0 auto!important;
  padding:22px!important;
  inset:auto!important;
  transform:none!important;
  box-sizing:border-box!important;
}
#coach #coachContent,
#news #leagueNewsContent{
  display:block!important;
  position:static!important;
  float:none!important;
  width:100%!important;
  max-width:none!important;
  min-height:0!important;
  height:auto!important;
  margin:14px 0 0!important;
  padding:0!important;
  inset:auto!important;
  transform:none!important;
  overflow:visible!important;
  box-sizing:border-box!important;
}
#coach h2,#coach .tiny-label,
#news h2,#news .tiny-label{
  text-align:center!important;
}

/* Neutralize legacy positioning inside Gameplan */
#coach .team-identity-grid,
#coach .identity-grid,
#coach .coach-grid,
#coach .strategy-grid,
#coach .team-style-grid{
  position:static!important;
  float:none!important;
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  transform:none!important;
}

/* Neutralize legacy positioning inside League News */
#news .news-head,
#news .news-feed,
#news .storyline-card,
#news .news-item{
  position:static!important;
  float:none!important;
  transform:none!important;
  box-sizing:border-box!important;
}
#news .news-head,
#news .news-feed{
  width:100%!important;
  max-width:none!important;
  margin-left:0!important;
  margin-right:0!important;
}

/* JAM DYNASTY 1.6.9 — HARD CENTER FIX
   Active Gameplan / League News are now centered by their PAGE container,
   not by fragile child margins. */

#franchise{
  position:relative!important;
  display:block!important;
  width:100%!important;
  overflow:hidden!important;
}

#coach.tabpage,
#news.tabpage{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  height:auto!important;
  min-height:400px!important;
  margin:0!important;
  padding:28px 32px 48px!important;
  box-sizing:border-box!important;
  position:relative!important;
  inset:auto!important;
  left:auto!important;
  right:auto!important;
  top:auto!important;
  bottom:auto!important;
  float:none!important;
  clear:both!important;
  transform:none!important;
  overflow:hidden!important;
}

#coach.tabpage.active,
#news.tabpage.active{
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:flex-start!important;
}

#coach .jd-centered-page,
#news .jd-centered-page{
  flex:0 1 auto!important;
  display:block!important;
  width:100%!important;
  max-width:1080px!important;
  min-width:0!important;
  margin:0 auto!important;
  padding:0!important;
  box-sizing:border-box!important;
  position:relative!important;
  inset:auto!important;
  left:auto!important;
  right:auto!important;
  float:none!important;
  transform:none!important;
}

#coach .jd-centered-panel,
#news .jd-centered-panel{
  display:block!important;
  width:100%!important;
  max-width:1080px!important;
  min-width:0!important;
  margin:0 auto!important;
  padding:22px!important;
  box-sizing:border-box!important;
  position:relative!important;
  inset:auto!important;
  left:auto!important;
  right:auto!important;
  float:none!important;
  transform:none!important;
  background:#f4f1e8!important;
  border:4px solid #071a3d!important;
  box-shadow:7px 7px 0 #071a3d!important;
}

/* Absolutely prevent renderer output from creating a side column. */
#coachContent,
#leagueNewsContent{
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  margin:14px 0 0!important;
  padding:0!important;
  box-sizing:border-box!important;
  position:relative!important;
  inset:auto!important;
  left:auto!important;
  right:auto!important;
  top:auto!important;
  bottom:auto!important;
  float:none!important;
  clear:both!important;
  transform:none!important;
  overflow:visible!important;
}

#coachContent > *,
#leagueNewsContent > *{
  max-width:100%!important;
  box-sizing:border-box!important;
  margin-left:auto!important;
  margin-right:auto!important;
  float:none!important;
}

/* Gameplan renderer descendants */
#coachContent .identity-hero,
#coachContent .strategy-note,
#coachContent .coach-card,
#coachContent .lineup-manager,
#coachContent .lineup-grid,
#coachContent .identity-grid,
#coachContent .team-identity-grid{
  width:100%!important;
  max-width:100%!important;
  position:relative!important;
  inset:auto!important;
  left:auto!important;
  right:auto!important;
  float:none!important;
  transform:none!important;
  margin-left:auto!important;
  margin-right:auto!important;
}

/* League News renderer descendants */
#leagueNewsContent .news-head,
#leagueNewsContent .news-feed,
#leagueNewsContent .news-item,
#leagueNewsContent .storyline-card{
  width:100%!important;
  max-width:100%!important;
  position:relative!important;
  inset:auto!important;
  left:auto!important;
  right:auto!important;
  float:none!important;
  transform:none!important;
  margin-left:auto!important;
  margin-right:auto!important;
}

#coach .tiny-label,#coach h2,
#news .tiny-label,#news h2{
  text-align:center!important;
}

@media(max-width:800px){
  #coach.tabpage,#news.tabpage{padding:20px 14px 36px!important}
}

/* JAM DYNASTY 1.7 — Rotation tab */
.tabs{
  grid-template-columns:repeat(5,minmax(0,1fr))!important;
}
.rotation-shell{
  width:min(1120px,100%);
  margin:0 auto;
  padding:24px 0 40px;
}
.rotation-header{
  text-align:center;
  margin-bottom:16px;
}
.rotation-header h2{
  margin:4px 0;
  font:34px Impact,sans-serif;
}
.rotation-header p{
  margin:0;
  font-weight:800;
}
.rotation-grid{
  display:grid;
  gap:10px;
}
.rotation-player{
  display:grid;
  grid-template-columns:minmax(0,1fr) 130px 170px;
  align-items:center;
  gap:10px;
  border:4px solid #071a3d;
  background:#f4f1e8;
  padding:9px;
  box-shadow:4px 4px 0 #071a3d;
}
.rotation-player.is-starter{
  box-shadow:5px 5px 0 var(--team-primary);
}
.rotation-player-main{
  display:flex;
  align-items:center;
  gap:10px;
  border:0;
  background:transparent;
  color:inherit;
  text-align:left;
  cursor:pointer;
}
.rotation-order{
  width:34px;
  height:34px;
  display:grid;
  place-items:center;
  background:#071a3d;
  color:#f4f1e8;
  font-weight:900;
}
.rotation-player-copy strong,
.rotation-player-copy small{
  display:block;
}
.rotation-player-copy strong{
  font:20px Impact,sans-serif;
}
.rotation-player-copy small{
  margin-top:2px;
  font-weight:800;
}
.starter-toggle{
  border:4px solid #071a3d;
  background:#fff8ec;
  padding:10px 6px;
  font:16px Impact,sans-serif;
  cursor:pointer;
}
.starter-toggle.active{
  background:var(--team-primary);
  color:var(--team-primary-text);
}
.minutes-control{
  display:grid;
  grid-template-columns:42px 1fr 42px;
  align-items:center;
  border:4px solid #071a3d;
  background:#fff8ec;
}
.minutes-control button{
  height:44px;
  border:0;
  background:#071a3d;
  color:#f4f1e8;
  font-size:24px;
  font-weight:900;
  cursor:pointer;
}
.minutes-control div{
  text-align:center;
}
.minutes-control b,.minutes-control small{
  display:block;
}
.minutes-control b{font:20px Impact,sans-serif}
.minutes-control small{font-size:9px;font-weight:900}
.rotation-footer{
  margin-top:16px;
  display:grid;
  grid-template-columns:1fr 1fr 180px;
  gap:10px;
  align-items:center;
  border:5px solid #071a3d;
  padding:12px;
  background:#fff8ec;
}
.rotation-footer>div{
  text-align:center;
}
.rotation-footer small,.rotation-footer b{
  display:block;
}
.rotation-footer b{
  font:23px Impact,sans-serif;
}
.rotation-footer button{
  border:4px solid #071a3d;
  background:var(--team-primary);
  color:var(--team-primary-text);
  padding:11px;
  font:16px Impact,sans-serif;
  cursor:pointer;
}
.rotation-footer.invalid{
  box-shadow:6px 6px 0 #d72638;
}
.rotation-footer.valid{
  box-shadow:6px 6px 0 var(--team-primary);
}
.rotation-note{
  margin-top:8px;
  text-align:center;
  font-weight:900;
}
@media(max-width:750px){
  .tabs{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  .rotation-player{grid-template-columns:1fr}
  .rotation-footer{grid-template-columns:1fr}
}

/* JAM DYNASTY 1.7.1 — direct CPU trade decision */
.trade-notification-actions{
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:12px!important;
}
.trade-notification-actions button:first-child{
  background:#1746a2!important;
}
.trade-notification-actions button:last-child{
  background:#d72638!important;
}

/* JAM DYNASTY 1.7.2 — Run It Back repair */
#restartChallengeOverlay{
  position:fixed!important;
  inset:0!important;
  z-index:999999!important;
  place-items:center!important;
}
#restartChallengeOverlay:not(.hidden){
  display:grid!important;
}
#restartChallengeOverlay.hidden{
  display:none!important;
}

/* JAM DYNASTY 1.7.3 — realistic trade engine */
.trade-preview em{font-style:normal;font-weight:900}

/* JAM DYNASTY 1.7.4 — incoming trade reveal animation */
.trade-reveal-card{
  width:min(650px,90vw);
  min-height:340px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  padding:34px;
  border:6px solid #071a3d;
  background:#f4f1e8;
  box-shadow:12px 12px 0 #071a3d;
  overflow:hidden;
  position:relative;
  animation:tradeCardIn .28s cubic-bezier(.2,.9,.25,1.25) both;
}
.trade-phone-icon{
  width:92px;
  height:92px;
  display:grid;
  place-items:center;
  border:5px solid #071a3d;
  background:#fff8ec;
  font-size:48px;
  margin-bottom:18px;
  animation:tradePhoneRing .65s ease-in-out infinite;
}
.trade-reveal-kicker{
  font:18px Impact,sans-serif;
  letter-spacing:3px;
}
.trade-reveal-card h2{
  margin:8px 0 20px;
  font:36px Impact,sans-serif;
}
.trade-reveal-loader{
  display:flex;
  gap:10px;
  margin:10px 0 18px;
}
.trade-reveal-loader span{
  width:15px;
  height:15px;
  border:3px solid #071a3d;
  background:#071a3d;
  animation:tradeDot .8s infinite alternate;
}
.trade-reveal-loader span:nth-child(2){animation-delay:.18s}
.trade-reveal-loader span:nth-child(3){animation-delay:.36s}
.trade-reveal-status{
  font-weight:900;
  letter-spacing:1px;
}
.breaking-stage{
  animation:tradeCardIn .25s ease-out both,tradePulseBorder .6s infinite alternate;
}
.trade-breaking-stripe{
  position:absolute;
  left:-8%;
  top:25px;
  width:116%;
  padding:8px;
  background:#d72638;
  color:white;
  font:17px Impact,sans-serif;
  letter-spacing:3px;
  transform:rotate(-2deg);
  white-space:nowrap;
  animation:tradeStripe 1.2s linear infinite;
}
.trade-reveal-scan{
  width:75%;
  height:12px;
  border:3px solid #071a3d;
  margin:10px 0 16px;
  position:relative;
  overflow:hidden;
}
.trade-reveal-scan:after{
  content:"";
  position:absolute;
  inset:0;
  width:35%;
  background:#071a3d;
  animation:tradeScan 1s ease-in-out infinite alternate;
}
.trade-reveal-countdown{
  font:18px Impact,sans-serif;
  letter-spacing:2px;
  animation:tradeBlink .55s infinite alternate;
}
.trade-final-reveal{
  animation:tradeFinalReveal .38s cubic-bezier(.17,.84,.44,1.25) both!important;
}
.trade-reveal-side{
  animation:tradeSideReveal .45s .12s both;
}
.reveal-left{transform-origin:right center}
.reveal-right{transform-origin:left center}
.trade-arrow-pop{
  animation:tradeArrowPop .5s .22s both;
}
.trade-actions-reveal{
  animation:tradeActionsUp .4s .45s both;
}
@keyframes tradeCardIn{
  from{opacity:0;transform:scale(.82) translateY(18px)}
  to{opacity:1;transform:scale(1) translateY(0)}
}
@keyframes tradePhoneRing{
  0%,100%{transform:rotate(0) scale(1)}
  20%{transform:rotate(-10deg) scale(1.05)}
  40%{transform:rotate(10deg) scale(1.05)}
  60%{transform:rotate(-7deg)}
  80%{transform:rotate(7deg)}
}
@keyframes tradeDot{
  from{transform:translateY(0);opacity:.35}
  to{transform:translateY(-10px);opacity:1}
}
@keyframes tradePulseBorder{
  from{box-shadow:8px 8px 0 #071a3d}
  to{box-shadow:14px 14px 0 #d72638}
}
@keyframes tradeStripe{
  from{transform:rotate(-2deg) translateX(-12px)}
  to{transform:rotate(-2deg) translateX(12px)}
}
@keyframes tradeScan{
  from{left:-35%}
  to{left:100%}
}
@keyframes tradeBlink{
  from{opacity:.35}
  to{opacity:1}
}
@keyframes tradeFinalReveal{
  from{opacity:0;transform:scale(1.12)}
  to{opacity:1;transform:scale(1)}
}
@keyframes tradeSideReveal{
  from{opacity:0;transform:translateY(16px)}
  to{opacity:1;transform:translateY(0)}
}
@keyframes tradeArrowPop{
  from{opacity:0;transform:scale(.2) rotate(-90deg)}
  to{opacity:1;transform:scale(1) rotate(0)}
}
@keyframes tradeActionsUp{
  from{opacity:0;transform:translateY(15px)}
  to{opacity:1;transform:translateY(0)}
}

/* JAM DYNASTY 1.7.5 — elite trade realism */
.trade-balance.negative{
  border-color:#d72638!important;
}
.trade-balance.positive{
  border-color:#1746a2!important;
}

/* JAM DYNASTY 1.8 — BROADCAST ARCADE WATCH GAME */

/* Arena */
.arcade-stage{
  background:#080a0d!important;
  border:6px solid #050505!important;
  box-shadow:12px 12px 0 rgba(0,0,0,.35)!important;
}
.crowd{
  height:112px!important;
  background:
    linear-gradient(rgba(0,0,0,.28),rgba(0,0,0,.55)),
    repeating-linear-gradient(90deg,#34373c 0 6px,#15171a 6px 12px,#4b4e52 12px 18px,#1d1f22 18px 24px)!important;
}
.crowd:before,.crowd:after{
  opacity:.65;
}
.crowd-sign{
  background:#f4f1e8!important;
  font-family:Impact,sans-serif!important;
  letter-spacing:1px;
}

/* Broadcast scoreboard */
.scoreboard-top{
  min-height:70px;
  background:linear-gradient(#15191f,#080a0d)!important;
  border-bottom:4px solid #f4f1e8!important;
}
.score-team{padding:9px 18px!important}
.team-short{
  font-size:24px!important;
  color:#f4f1e8!important;
  letter-spacing:2px;
}
.big-score{
  min-width:72px!important;
  background:#f4f1e8!important;
  color:#090b0e!important;
  border:3px solid #090b0e!important;
  box-shadow:inset 0 0 0 2px #f4f1e8;
}
.quarter-box strong{color:#f4f1e8!important}
.quarter-box span{color:#c7c9cc!important;letter-spacing:1px}

/* Home arena court */
.court-wrap{
  padding:10px 14px 16px!important;
  transition:background .3s ease;
}
.court{
  --home-primary:#173f8f;
  --home-secondary:#f4f1e8;
  height:455px!important;
  border:5px solid rgba(255,255,255,.92)!important;
  border-radius:4px;
  background:
    repeating-linear-gradient(90deg,rgba(91,45,12,.07) 0 2px,transparent 2px 54px),
    linear-gradient(90deg,#d99b59,#e8b86f 48%,#dda45f 52%,#e7b36c)!important;
  box-shadow:inset 0 0 40px rgba(70,35,8,.22),0 8px 18px rgba(0,0,0,.35);
}
.court:after{
  background:
    linear-gradient(90deg,transparent 0 49.7%,rgba(255,255,255,.08) 49.7% 50.3%,transparent 50.3%),
    repeating-linear-gradient(0deg,rgba(255,255,255,.018) 0 1px,transparent 1px 6px)!important;
}
.arena-glow{
  position:absolute;
  inset:0;
  z-index:0;
  pointer-events:none;
  box-shadow:inset 0 0 70px rgba(0,0,0,.14);
}
.court-logo{
  position:absolute;
  z-index:1;
  left:50%;
  top:50%;
  width:112px;
  height:112px;
  border:9px solid var(--home-primary);
  border-radius:50%;
  transform:translate(-50%,-50%) rotate(-8deg);
  display:grid;
  place-items:center;
  font:42px Impact,sans-serif;
  color:var(--home-primary);
  opacity:.32;
}
.center-line,.center-circle,.paint,.three{
  z-index:2;
}
.paint{
  background:color-mix(in srgb,var(--home-primary) 62%,transparent)!important;
}
.center-circle{
  width:105px!important;height:105px!important;
}
.hoop{
  z-index:8!important;
  color:#e34a20!important;
}

/* Actual arcade basketball figures */
.pixel-player{
  width:40px!important;
  height:68px!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
  z-index:10!important;
  transition:left .52s cubic-bezier(.25,.8,.25,1),top .52s cubic-bezier(.25,.8,.25,1),transform .18s ease!important;
  transform:translate(-50%,-50%)!important;
}
.pixel-player.big{width:44px!important;height:73px!important}
.player-shadow{
  position:absolute;
  left:5px;
  bottom:-2px;
  width:32px;
  height:10px;
  background:rgba(0,0,0,.30);
  border-radius:50%;
  filter:blur(1px);
  z-index:0;
}
.px-head{
  left:10px!important;
  top:0!important;
  width:19px!important;
  height:19px!important;
  border:2px solid #111!important;
  border-radius:45% 45% 42% 42%;
  z-index:5;
}
.px-head:before{
  left:1px!important;
  top:-5px!important;
  width:15px!important;
  height:6px!important;
  border-radius:50% 50% 0 0;
}
.px-head i{display:none!important}
.px-body{
  left:5px!important;
  top:19px!important;
  width:30px!important;
  height:27px!important;
  border:2px solid var(--jersey-secondary)!important;
  border-radius:5px 5px 2px 2px;
  display:flex;
  align-items:center;
  justify-content:center;
  z-index:4;
  font:14px Impact,sans-serif!important;
  box-shadow:0 2px 0 #111!important;
}
.px-body small{
  position:absolute;
  top:-12px;
  right:-11px;
  min-width:17px;
  padding:1px 2px;
  background:#111;
  color:#fff;
  border:1px solid #fff;
  font:7px Arial,sans-serif;
}
.px-shorts{
  position:absolute;
  left:6px;
  top:44px;
  width:28px;
  height:11px;
  border:2px solid var(--jersey-secondary);
  z-index:4;
}
.px-arm{
  position:absolute;
  top:23px;
  width:7px;
  height:23px;
  background:inherit;
  border:2px solid #111;
  border-radius:5px;
  z-index:2;
}
.arm-left{left:1px;transform:rotate(8deg)}
.arm-right{right:1px;transform:rotate(-8deg)}
.skin1 .px-arm{background:#6f402e}
.skin2 .px-arm{background:#a96a48}
.skin3 .px-arm{background:#d59a71}
.skin4 .px-arm{background:#8a5438}
.px-leg{
  position:absolute;
  top:54px;
  width:7px;
  height:12px;
  border:2px solid #111;
  z-index:3;
}
.skin1 .px-leg{background:#6f402e}
.skin2 .px-leg{background:#a96a48}
.skin3 .px-leg{background:#d59a71}
.skin4 .px-leg{background:#8a5438}
.leg-left{left:8px}
.leg-right{right:8px}
.px-shoe{
  position:absolute;
  top:65px;
  width:11px;
  height:5px;
  background:#111;
  z-index:4;
}
.shoe-left{left:5px}
.shoe-right{right:5px}
.pixel-player.is-handler{
  z-index:13!important;
}
.pixel-player.is-handler .px-body{
  filter:brightness(1.13);
}
.pixel-player.on-offense .player-shadow{
  transform:scaleX(1.08);
}

/* Ball */
.ball-sprite{
  font-size:19px!important;
  color:#dc681f!important;
  text-shadow:1px 1px 0 #111!important;
  z-index:15!important;
  transition:left .22s ease,top .16s ease,transform .14s ease!important;
}
.ball-sprite.dribble-low{transform:translateY(8px) scale(.9)}
.ball-sprite.shot-flight{
  transition:left .40s cubic-bezier(.25,.1,.4,1),top .20s ease!important;
  transform:translateY(-38px) scale(.85)!important;
}

/* Play reactions */
.court.made-three{animation:jdThreeFlash .48s ease}
.court.made-dunk{animation:jdDunkShake .45s ease}
.court.made-two{animation:jdScoreGlow .38s ease}
.court.turnover-flash{animation:jdTurnover .35s ease}
.court.missed-shot{animation:jdMiss .28s ease}
@keyframes jdThreeFlash{
  0%,100%{filter:none}
  35%{filter:brightness(1.23)}
}
@keyframes jdDunkShake{
  0%,100%{transform:translate(0)}
  20%{transform:translate(-4px,2px)}
  40%{transform:translate(5px,-2px)}
  60%{transform:translate(-3px,1px)}
  80%{transform:translate(2px,-1px)}
}
@keyframes jdScoreGlow{
  50%{filter:brightness(1.14)}
}
@keyframes jdTurnover{
  50%{filter:saturate(.55) brightness(.82)}
}
@keyframes jdMiss{
  50%{filter:brightness(.82)}
}

/* Broadcast player stat graphic */
.broadcast-stat-bug{
  position:absolute;
  left:22px;
  bottom:18px;
  z-index:30;
  min-width:280px;
  padding:10px 14px;
  background:rgba(8,10,13,.94);
  color:#f4f1e8;
  border-left:6px solid var(--home-primary);
  box-shadow:5px 5px 0 rgba(0,0,0,.45);
  opacity:0;
  transform:translateX(-30px);
  pointer-events:none;
}
.broadcast-stat-bug strong,
.broadcast-stat-bug span{display:block}
.broadcast-stat-bug strong{
  font:17px Impact,sans-serif;
  letter-spacing:1px;
}
.broadcast-stat-bug span{
  margin-top:3px;
  font-size:11px;
  font-weight:900;
}
.broadcast-stat-bug.show{
  animation:jdStatBug 2.3s ease both;
}
@keyframes jdStatBug{
  0%{opacity:0;transform:translateX(-30px)}
  12%,82%{opacity:1;transform:translateX(0)}
  100%{opacity:0;transform:translateX(-20px)}
}

.arcade-callout{
  z-index:40!important;
  font-size:52px!important;
}
.ticker{
  background:#101319!important;
  color:#f4f1e8!important;
  border-color:#050505!important;
}
#heatText{color:#ffd447!important}

@media(max-width:800px){
  .court{height:370px!important}
  .court-logo{width:80px;height:80px;font-size:30px}
  .pixel-player{transform:translate(-50%,-50%) scale(.82)!important}
  .broadcast-stat-bug{min-width:210px;left:10px;bottom:10px}
}

/* JAM DYNASTY 1.9 — ACTUAL BASKETBALL ACTION ANIMATIONS */

.pixel-player .px-arm,
.pixel-player .px-leg,
.pixel-player .px-body{
  transition:transform .16s ease,filter .16s ease;
}
.pixel-player.passing .arm-right{
  transform:rotate(-72deg) translate(4px,-2px)!important;
}
.pixel-player.passing .arm-left{
  transform:rotate(42deg)!important;
}
.pixel-player.setting-screen{
  transform:translate(-50%,-50%) scale(1.08)!important;
}
.pixel-player.setting-screen .arm-left{transform:rotate(-55deg)!important}
.pixel-player.setting-screen .arm-right{transform:rotate(55deg)!important}

.pixel-player.driving{
  z-index:18!important;
  animation:jdDrive .58s ease both;
}
.pixel-player.defender-beat{
  animation:jdDefenderBeat .42s ease both;
}
.pixel-player.closeout{
  z-index:17!important;
  animation:jdCloseout .50s ease both;
}
.pixel-player.rim-contest{
  z-index:17!important;
  animation:jdContest .55s ease both;
}

.pixel-player.jump-shooting{
  z-index:20!important;
  animation:jdJumpShot .62s cubic-bezier(.2,.75,.3,1) both;
}
.pixel-player.jump-shooting .arm-left,
.pixel-player.jump-shooting .arm-right{
  transform:translateY(-10px) rotate(0deg)!important;
}
.pixel-player.layup{
  z-index:20!important;
  animation:jdLayup .64s ease both;
}
.pixel-player.layup .arm-right{
  transform:translateY(-14px) rotate(-18deg)!important;
}
.pixel-player.dunking{
  z-index:22!important;
  animation:jdDunkPlayer .70s cubic-bezier(.2,.8,.25,1) both;
}
.pixel-player.dunking .arm-left,
.pixel-player.dunking .arm-right{
  transform:translateY(-16px)!important;
}
.pixel-player.crashing-glass{
  animation:jdCrashGlass .60s ease both;
}
.pixel-player.secured-rebound{
  z-index:21!important;
  animation:jdSecureBoard .68s ease both;
}
.pixel-player.secured-rebound .arm-left,
.pixel-player.secured-rebound .arm-right{
  transform:translateY(-11px)!important;
}
.pixel-player.steal-action{
  z-index:20!important;
  animation:jdSteal .60s ease both;
}
.pixel-player.steal-action .arm-right{
  transform:rotate(-82deg) translate(5px,-2px)!important;
}

/* Ball movement */
.ball-sprite.pass-flight{
  transition:left .17s linear,top .17s linear!important;
  transform:scale(.85)!important;
}
.ball-sprite.arc-shot{
  z-index:35!important;
  transition:left .38s cubic-bezier(.2,.6,.35,1),top .19s ease!important;
  transform:translateY(-58px) scale(.88)!important;
}
.ball-sprite.dunk-flight{
  z-index:35!important;
  transition:left .20s ease-in,top .20s ease-in!important;
  transform:translateY(-18px) scale(1.08)!important;
}

/* Action animations */
@keyframes jdJumpShot{
  0%,100%{transform:translate(-50%,-50%)}
  38%{transform:translate(-50%,-68%) scale(1.04)}
  58%{transform:translate(-50%,-72%) scale(1.03)}
}
@keyframes jdLayup{
  0%{transform:translate(-50%,-50%)}
  42%{transform:translate(-38%,-68%) rotate(-3deg)}
  66%{transform:translate(-30%,-72%) rotate(2deg)}
  100%{transform:translate(-50%,-50%)}
}
@keyframes jdDunkPlayer{
  0%{transform:translate(-50%,-50%)}
  30%{transform:translate(-35%,-65%) scale(1.06)}
  52%{transform:translate(-24%,-82%) scale(1.10)}
  68%{transform:translate(-20%,-70%) scale(1.07)}
  100%{transform:translate(-50%,-50%)}
}
@keyframes jdDrive{
  0%{transform:translate(-50%,-50%) rotate(0)}
  45%{transform:translate(-38%,-52%) rotate(-5deg) scale(1.04)}
  100%{transform:translate(-50%,-50%) rotate(0)}
}
@keyframes jdCloseout{
  0%{transform:translate(-50%,-50%)}
  45%{transform:translate(-62%,-62%) scale(1.06)}
  100%{transform:translate(-50%,-50%)}
}
@keyframes jdContest{
  0%,100%{transform:translate(-50%,-50%)}
  45%{transform:translate(-50%,-72%) scale(1.08)}
}
@keyframes jdDefenderBeat{
  0%,100%{transform:translate(-50%,-50%)}
  45%{transform:translate(-65%,-44%) rotate(8deg)}
}
@keyframes jdCrashGlass{
  0%,100%{transform:translate(-50%,-50%)}
  45%{transform:translate(-50%,-62%) scale(1.04)}
}
@keyframes jdSecureBoard{
  0%,100%{transform:translate(-50%,-50%)}
  40%{transform:translate(-50%,-72%) scale(1.08)}
  60%{transform:translate(-50%,-65%) scale(1.06)}
}
@keyframes jdSteal{
  0%,100%{transform:translate(-50%,-50%)}
  45%{transform:translate(-35%,-52%) rotate(-6deg) scale(1.05)}
}

/* Subtle broadcast camera punch on rim attacks */
.court:has(.pixel-player.dunking){
  animation:jdCameraPunch .70s ease both;
}
@keyframes jdCameraPunch{
  0%,100%{transform:scale(1)}
  48%{transform:scale(1.018)}
}

/* JAM DYNASTY 2.0 — COURTSIDE MOVEMENT AI */
.pixel-player{
  transition:left .62s cubic-bezier(.22,.68,.28,1),top .62s cubic-bezier(.22,.68,.28,1),transform .16s ease!important;
  will-change:left,top,transform;
}
.pixel-player.face-left .px-body,
.pixel-player.face-left .px-head,
.pixel-player.face-left .px-shorts{
  transform:scaleX(-1);
}
.pixel-player.running .leg-left{animation:jdRunLegL .30s infinite alternate}
.pixel-player.running .leg-right{animation:jdRunLegR .30s infinite alternate}
.pixel-player.running .arm-left{animation:jdRunArmL .30s infinite alternate}
.pixel-player.running .arm-right{animation:jdRunArmR .30s infinite alternate}
.pixel-player.catching{
  animation:jdCatch .28s ease both;
}
.pixel-player.catching .arm-left{transform:rotate(-42deg)!important}
.pixel-player.catching .arm-right{transform:rotate(42deg)!important}
.pixel-player.is-handler:not(.running) .player-shadow{
  animation:jdPlant .65s infinite alternate;
}
.pixel-player.on-offense:not(.running):not(.is-handler){
  filter:saturate(.98);
}
.ball-sprite.pass-flight{
  z-index:32!important;
  transition:left .15s linear,top .15s linear!important;
  transform:translateY(-8px) scale(.88)!important;
}
@keyframes jdRunLegL{
  from{transform:rotate(18deg) translateY(-1px)}
  to{transform:rotate(-18deg) translateY(1px)}
}
@keyframes jdRunLegR{
  from{transform:rotate(-18deg) translateY(1px)}
  to{transform:rotate(18deg) translateY(-1px)}
}
@keyframes jdRunArmL{
  from{transform:rotate(-22deg)}
  to{transform:rotate(22deg)}
}
@keyframes jdRunArmR{
  from{transform:rotate(22deg)}
  to{transform:rotate(-22deg)}
}
@keyframes jdCatch{
  0%{transform:translate(-50%,-50%) scale(.96)}
  55%{transform:translate(-50%,-50%) scale(1.07)}
  100%{transform:translate(-50%,-50%) scale(1)}
}
@keyframes jdPlant{
  from{transform:scaleX(.94)}
  to{transform:scaleX(1.06)}
}

/* Court depth */
.court{
  perspective:900px;
}
.player-shadow{
  transition:width .2s ease,opacity .2s ease;
}
.pixel-player.jump-shooting .player-shadow,
.pixel-player.dunking .player-shadow,
.pixel-player.layup .player-shadow,
.pixel-player.secured-rebound .player-shadow{
  width:22px!important;
  opacity:.20;
}

/* JAM DYNASTY 2.1 — TRUE COURT SIM */
.court{
  background:
    repeating-linear-gradient(90deg,rgba(91,45,12,.065) 0 2px,transparent 2px 44px),
    linear-gradient(90deg,#d9a05f,#edc27e 49%,#dda762 51%,#e9bb74)!important;
}
.pixel-player{
  transition:none!important;
  width:38px!important;
  height:64px!important;
}
.player-nameplate{
  position:absolute;
  left:50%;
  top:-16px;
  transform:translateX(-50%);
  padding:1px 4px;
  background:rgba(5,5,5,.82);
  color:#fff;
  font:7px Arial,sans-serif;
  font-weight:900;
  letter-spacing:.4px;
  white-space:nowrap;
  opacity:0;
  z-index:30;
  pointer-events:none;
}
.pixel-player.is-handler .player-nameplate,
.pixel-player:hover .player-nameplate{opacity:1}
.pixel-player.shuffling .px-leg{height:9px!important}
.pixel-player.shuffling .leg-left{animation:jdShuffleL .32s infinite alternate}
.pixel-player.shuffling .leg-right{animation:jdShuffleR .32s infinite alternate}
.pixel-player.shuffling .px-body{transform:scaleX(1.08)}
.pixel-player.face-left .px-head:after{
  content:"";position:absolute;left:2px;top:8px;width:3px;height:3px;background:#111;border-radius:50%;
}
.pixel-player.face-right .px-head:after{
  content:"";position:absolute;right:2px;top:8px;width:3px;height:3px;background:#111;border-radius:50%;
}
.pixel-player.is-handler:after{
  content:"";
  position:absolute;
  left:50%;bottom:-10px;
  width:9px;height:9px;
  transform:translateX(-50%) rotate(45deg);
  background:var(--jersey-secondary);
  border:1px solid #111;
}
.ball-sprite.rim-bounce{
  transition:left .24s ease-out,top .24s ease-out!important;
  transform:translateY(10px) scale(.92)!important;
}
@keyframes jdShuffleL{
 from{transform:translateX(-2px) rotate(8deg)}
 to{transform:translateX(2px) rotate(-8deg)}
}
@keyframes jdShuffleR{
 from{transform:translateX(2px) rotate(-8deg)}
 to{transform:translateX(-2px) rotate(8deg)}
}
/* More physical screening */
.pixel-player.setting-screen .player-shadow{width:38px!important}
.pixel-player.rim-contest .px-arm,
.pixel-player.closeout .px-arm{height:27px!important}
/* court markings sit under players but above wood */
.three,.paint,.center-circle,.center-line,.baseline{pointer-events:none}

/* JAM DYNASTY 2.2 — REAL BALL + ACTIVE DEFENSE */

/* Real basketball instead of a text dot */
.ball-sprite{
  width:18px!important;
  height:18px!important;
  border-radius:50%!important;
  background:
    radial-gradient(circle at 32% 28%,#ffb35a 0 12%,#e77b24 42%,#b64e13 78%,#8f360c 100%)!important;
  border:2px solid #2a1408!important;
  box-shadow:2px 3px 3px rgba(0,0,0,.36)!important;
  color:transparent!important;
  font-size:0!important;
  text-shadow:none!important;
  overflow:hidden;
}
.ball-sprite:before,
.ball-sprite:after,
.ball-sprite i,
.ball-sprite b{
  content:"";
  position:absolute;
  display:block;
  pointer-events:none;
}
.ball-sprite:before{
  left:7px;top:-2px;width:2px;height:22px;
  background:#2a1408;
  transform:rotate(24deg);
}
.ball-sprite:after{
  left:-2px;top:7px;width:22px;height:2px;
  background:#2a1408;
  transform:rotate(-18deg);
}
.ball-sprite i{
  left:1px;top:2px;width:14px;height:9px;
  border-top:2px solid #2a1408;
  border-radius:50%;
  transform:rotate(55deg);
}
.ball-sprite b{
  left:1px;bottom:2px;width:14px;height:9px;
  border-bottom:2px solid #2a1408;
  border-radius:50%;
  transform:rotate(55deg);
}
.ball-sprite.dribble-low{
  transform:translateY(11px) rotate(22deg)!important;
}
.ball-sprite.pass-flight{
  transform:translateY(-8px) rotate(140deg) scale(.96)!important;
}
.ball-sprite.arc-shot{
  transform:translateY(-68px) rotate(380deg) scale(.92)!important;
}
.ball-sprite.dunk-flight{
  transform:translateY(-24px) rotate(190deg) scale(1.04)!important;
}

/* Real defensive stance */
.pixel-player.on-ball-defense{
  z-index:16!important;
}
.pixel-player.on-ball-defense .px-body{
  transform:scaleX(1.12)!important;
}
.pixel-player.on-ball-defense .arm-left{
  transform:rotate(-63deg) translate(-2px,1px)!important;
}
.pixel-player.on-ball-defense .arm-right{
  transform:rotate(63deg) translate(2px,1px)!important;
}
.pixel-player.on-ball-defense .leg-left{
  transform:rotate(13deg) translateX(-2px)!important;
}
.pixel-player.on-ball-defense .leg-right{
  transform:rotate(-13deg) translateX(2px)!important;
}
.pixel-player.on-ball-defense .player-shadow{
  width:38px!important;
}
.pixel-player.help-defense{
  z-index:15!important;
}
.pixel-player.help-defense .px-body{
  filter:brightness(.94);
}
.pixel-player.help-defense .arm-left,
.pixel-player.help-defense .arm-right{
  height:25px!important;
}
.pixel-player.deny-defense .arm-right{
  transform:rotate(-78deg)!important;
}
.pixel-player.screen-chase{
  animation:jdScreenChase .42s infinite alternate;
}
.pixel-player.recover-defense{
  animation:jdRecover .38s infinite alternate;
}

/* Lateral defensive shuffle, not forward running */
.pixel-player.shuffling .px-body{
  transform:scaleX(1.10)!important;
}
.pixel-player.shuffling .arm-left{transform:rotate(-52deg)!important}
.pixel-player.shuffling .arm-right{transform:rotate(52deg)!important}
.pixel-player.shuffling .player-shadow{width:36px!important}

@keyframes jdScreenChase{
  from{filter:brightness(1)}
  to{filter:brightness(.88)}
}
@keyframes jdRecover{
  from{transform:translate(-50%,-50%) rotate(-2deg)}
  to{transform:translate(-50%,-50%) rotate(2deg)}
}

/* Stronger closeout and rim protection */
.pixel-player.closeout .arm-left,
.pixel-player.closeout .arm-right{
  transform:translateY(-15px) rotate(0deg)!important;
}
.pixel-player.rim-contest .arm-left,
.pixel-player.rim-contest .arm-right{
  transform:translateY(-18px)!important;
}
.pixel-player.rim-contest{
  z-index:24!important;
}

/* JAM DYNASTY 2.3 — MOTION PHYSICS */

.pixel-player{
  transform:translate(-50%,-50%) rotate(var(--move-lean,0deg))!important;
  transform-origin:50% 82%!important;
}

/* Fast running cadence */
.pixel-player.moving-fast .leg-left{animation:jdStrideL .24s infinite alternate!important}
.pixel-player.moving-fast .leg-right{animation:jdStrideR .24s infinite alternate!important}
.pixel-player.moving-fast .arm-left{animation:jdStrideArmL .24s infinite alternate!important}
.pixel-player.moving-fast .arm-right{animation:jdStrideArmR .24s infinite alternate!important}

/* Jogging cadence */
.pixel-player.moving-slow .leg-left{animation:jdJogL .38s infinite alternate!important}
.pixel-player.moving-slow .leg-right{animation:jdJogR .38s infinite alternate!important}
.pixel-player.moving-slow .arm-left{animation:jdJogArmL .38s infinite alternate!important}
.pixel-player.moving-slow .arm-right{animation:jdJogArmR .38s infinite alternate!important}

/* Planted players stop bobbing */
.pixel-player.planted .leg-left,
.pixel-player.planted .leg-right,
.pixel-player.planted .arm-left,
.pixel-player.planted .arm-right{
  animation:none!important;
}

/* Ball handler dribble has forward momentum */
.ball-sprite{
  margin-left:var(--dribble-forward,0px);
}

/* Defensive stance remains wide while moving laterally */
.pixel-player.on-ball-defense.moving-slow,
.pixel-player.on-ball-defense.moving-fast{
  transform:translate(-50%,-50%) rotate(0deg)!important;
}
.pixel-player.on-ball-defense .px-body{
  transform:scaleX(1.14)!important;
}
.pixel-player.on-ball-defense .player-shadow{
  width:40px!important;
}

/* Stronger foot planting when stopping */
.pixel-player.planted .px-leg{
  transform:none!important;
}
.pixel-player.planted .player-shadow{
  transform:scaleX(1.08);
}

@keyframes jdStrideL{
  from{transform:rotate(28deg) translateY(-2px)}
  to{transform:rotate(-30deg) translateY(2px)}
}
@keyframes jdStrideR{
  from{transform:rotate(-30deg) translateY(2px)}
  to{transform:rotate(28deg) translateY(-2px)}
}
@keyframes jdStrideArmL{
  from{transform:rotate(-35deg)}
  to{transform:rotate(35deg)}
}
@keyframes jdStrideArmR{
  from{transform:rotate(35deg)}
  to{transform:rotate(-35deg)}
}
@keyframes jdJogL{
  from{transform:rotate(14deg)}
  to{transform:rotate(-14deg)}
}
@keyframes jdJogR{
  from{transform:rotate(-14deg)}
  to{transform:rotate(14deg)}
}
@keyframes jdJogArmL{
  from{transform:rotate(-18deg)}
  to{transform:rotate(18deg)}
}
@keyframes jdJogArmR{
  from{transform:rotate(18deg)}
  to{transform:rotate(-18deg)}
}

/* JAM DYNASTY 2.4 — FULL COURT FLOW */

/* Make transition movement read as a coordinated pack instead of independent sliding. */
.pixel-player.running{
  z-index:12!important;
}
.pixel-player.running .player-shadow{
  width:34px!important;
  opacity:.28;
}
.pixel-player.running .px-body{
  filter:brightness(1.02);
}

/* Slight depth staggering so players crossing lanes remain readable. */
.pixel-player.user-side[data-player="0"],
.pixel-player.cpu-side[data-player="0"]{z-index:16!important}
.pixel-player.user-side[data-player="1"],
.pixel-player.cpu-side[data-player="1"]{z-index:15!important}
.pixel-player.user-side[data-player="2"],
.pixel-player.cpu-side[data-player="2"]{z-index:14!important}
.pixel-player.user-side[data-player="3"],
.pixel-player.cpu-side[data-player="3"]{z-index:13!important}
.pixel-player.user-side[data-player="4"],
.pixel-player.cpu-side[data-player="4"]{z-index:12!important}

/* JAM DYNASTY 2.5 — TRUE MOVING PACK */
.pixel-player.pack-transition{
  z-index:14!important;
}
.pixel-player.pack-transition.moving-fast .px-body{
  filter:brightness(1.04);
}
.pixel-player.pack-transition .player-shadow{
  opacity:.30!important;
}
/* During full-court flow, do not visually force defenders into a stationary stance. */
.pixel-player.pack-transition.on-ball-defense .px-body,
.pixel-player.pack-transition.shuffling .px-body{
  transform:none!important;
}
.pixel-player.pack-transition.shuffling .arm-left,
.pixel-player.pack-transition.shuffling .arm-right{
  animation:inherit;
}

/* JAM DYNASTY 2.6 — MAN-TO-MAN FULL COURT FLOW */

/* Transition defenders run with their matchup instead of occupying the other end. */
.pixel-player.matchup-follow{
  z-index:17!important;
}
.pixel-player.matchup-follow .px-body{
  filter:brightness(.94);
}
.pixel-player.matchup-follow .player-shadow{
  width:35px!important;
}

/* Defenders are running in transition, not sitting in a half-court stance. */
.pixel-player.pack-transition.matchup-follow .px-body{
  transform:none!important;
}
.pixel-player.pack-transition.matchup-follow .arm-left,
.pixel-player.pack-transition.matchup-follow .arm-right{
  animation-duration:.28s!important;
}

/* JAM DYNASTY 2.7 — TIGHT FULL-COURT MATCHUPS */

/* Defenders stay visually attached to their matchup. */
.pixel-player.pack-transition.matchup-follow{
  z-index:18!important;
}
.pixel-player.pack-transition.matchup-follow .player-shadow{
  width:32px!important;
  opacity:.27!important;
}

/* Make full-court running visually continuous. */
.pixel-player.pack-transition.moving-fast .leg-left{animation-duration:.22s!important}
.pixel-player.pack-transition.moving-fast .leg-right{animation-duration:.22s!important}
.pixel-player.pack-transition.moving-fast .arm-left{animation-duration:.22s!important}
.pixel-player.pack-transition.moving-fast .arm-right{animation-duration:.22s!important}

/* JAM DYNASTY 2.8 — COMPACT FULL-COURT PACK */
.pixel-player{
  width:42px!important;
  height:69px!important;
}
.pixel-player.big{
  width:46px!important;
  height:74px!important;
}
.player-nameplate{
  font-size:8px!important;
}
.ball-sprite{
  width:20px!important;
  height:20px!important;
}

/* Tight matchup pairs should visually read as one contest. */
.pixel-player.pack-transition.matchup-follow{
  z-index:19!important;
}

/* JAM DYNASTY 3.0 — GAMEPLAY REBOOT PROTOTYPE
   Intentionally simple: circles first, polish later. */

.sim-player{
  position:absolute;
  width:34px;
  height:34px;
  transform:translate(-50%,-50%) rotate(var(--lean,0deg));
  z-index:20;
  pointer-events:none;
}
.sim-disc{
  width:30px;
  height:30px;
  border-radius:50%;
  border:3px solid rgba(0,0,0,.72);
  background:var(--jersey-primary,#ddd);
  color:var(--jersey-secondary,#111);
  display:flex;
  align-items:center;
  justify-content:center;
  box-shadow:0 3px 5px rgba(0,0,0,.34);
  font:900 11px Arial,sans-serif;
}
.sim-player.cpu-side .sim-disc{
  background:var(--opp-primary,#555);
  color:var(--opp-secondary,#fff);
}
.sim-name{
  position:absolute;
  left:50%;
  top:-12px;
  transform:translateX(-50%);
  font:700 6px Arial,sans-serif;
  color:#111;
  background:rgba(255,255,255,.82);
  padding:1px 3px;
  border-radius:2px;
  opacity:0;
  white-space:nowrap;
}
.sim-handler .sim-name{opacity:1}
.sim-handler .sim-disc{
  box-shadow:0 0 0 3px rgba(255,255,255,.85),0 4px 6px rgba(0,0,0,.38);
}
.sim-onball .sim-disc{
  transform:scale(1.04);
}
.sim-defense:after{
  content:"";
  position:absolute;
  left:50%;
  top:50%;
  width:38px;
  height:22px;
  transform:translate(-50%,-50%);
  border-bottom:2px solid rgba(0,0,0,.22);
  border-radius:50%;
}
.sim-running .sim-disc{
  animation:jdRebootRun .28s infinite alternate ease-in-out;
}
.sim-planted .sim-disc{animation:none}
@keyframes jdRebootRun{
  from{transform:translateY(-1px)}
  to{transform:translateY(2px)}
}

/* Make the basketball visually obvious in prototype mode. */
.ball-sprite{
  width:20px!important;
  height:20px!important;
  z-index:40!important;
}

/* JAM DYNASTY 3.1 — SPRITES + TRUE FULL-COURT TRAVEL */

/* Remove 3.0 circle prototype presentation */
.sim-player{display:none!important}

.reboot-sprite{
  position:absolute;
  width:38px;
  height:64px;
  transform:translate(-50%,-50%) rotate(var(--lean,0deg));
  transform-origin:50% 82%;
  z-index:20;
  pointer-events:none;
}
.reboot-sprite.big{
  width:42px;
  height:69px;
}
.sprite-shadow{
  position:absolute;
  left:50%;
  bottom:-2px;
  width:30px;
  height:9px;
  transform:translateX(-50%);
  border-radius:50%;
  background:rgba(0,0,0,.30);
  filter:blur(1px);
}
.sprite-head{
  position:absolute;
  left:50%;
  top:0;
  width:18px;
  height:18px;
  transform:translateX(-50%);
  border:2px solid #111;
  border-radius:46%;
}
.skin1 .sprite-head,.skin1 .sprite-arm,.skin1 .sprite-leg{background:#6f402e}
.skin2 .sprite-head,.skin2 .sprite-arm,.skin2 .sprite-leg{background:#a96a48}
.skin3 .sprite-head,.skin3 .sprite-arm,.skin3 .sprite-leg{background:#d59a71}
.skin4 .sprite-head,.skin4 .sprite-arm,.skin4 .sprite-leg{background:#8a5438}

.sprite-torso{
  position:absolute;
  left:50%;
  top:18px;
  width:28px;
  height:26px;
  transform:translateX(-50%);
  display:flex;
  align-items:center;
  justify-content:center;
  border:2px solid var(--jersey-secondary,#fff);
  border-radius:4px;
  background:var(--jersey-primary,#777);
  color:var(--jersey-text,#fff);
  font:14px Impact,sans-serif;
  box-shadow:0 2px 0 rgba(0,0,0,.38);
}
.sprite-shorts{
  position:absolute;
  left:50%;
  top:43px;
  width:27px;
  height:10px;
  transform:translateX(-50%);
  border:2px solid var(--jersey-primary,#777);
  background:var(--jersey-secondary,#fff);
}
.sprite-arm{
  position:absolute;
  top:22px;
  width:6px;
  height:21px;
  border:2px solid #111;
  border-radius:5px;
  z-index:-1;
}
.arm-l{left:1px;transform:rotate(7deg)}
.arm-r{right:1px;transform:rotate(-7deg)}
.sprite-leg{
  position:absolute;
  top:52px;
  width:6px;
  height:11px;
  border:2px solid #111;
}
.leg-l{left:8px}
.leg-r{right:8px}
.sprite-name{
  position:absolute;
  left:50%;
  top:-12px;
  transform:translateX(-50%);
  padding:1px 3px;
  background:rgba(5,5,5,.80);
  color:#fff;
  font:7px Arial,sans-serif;
  font-weight:900;
  white-space:nowrap;
  opacity:0;
}
.reboot-handler .sprite-name{opacity:1}
.reboot-handler .sprite-torso{
  box-shadow:0 0 0 3px rgba(255,255,255,.85),0 2px 0 rgba(0,0,0,.35);
}
.reboot-onball .sprite-torso{
  transform:translateX(-50%) scaleX(1.10);
}
.reboot-onball .arm-l{transform:rotate(-48deg)}
.reboot-onball .arm-r{transform:rotate(48deg)}

.sprite-running .leg-l{animation:rebootLegL .24s infinite alternate}
.sprite-running .leg-r{animation:rebootLegR .24s infinite alternate}
.sprite-running .arm-l{animation:rebootArmL .24s infinite alternate}
.sprite-running .arm-r{animation:rebootArmR .24s infinite alternate}
.sprite-planted .leg-l,
.sprite-planted .leg-r,
.sprite-planted .arm-l,
.sprite-planted .arm-r{
  animation:none!important;
}

@keyframes rebootLegL{
  from{transform:rotate(25deg)}
  to{transform:rotate(-25deg)}
}
@keyframes rebootLegR{
  from{transform:rotate(-25deg)}
  to{transform:rotate(25deg)}
}
@keyframes rebootArmL{
  from{transform:rotate(-30deg)}
  to{transform:rotate(30deg)}
}
@keyframes rebootArmR{
  from{transform:rotate(30deg)}
  to{transform:rotate(-30deg)}
}

/* Make full-court travel unmistakable */
.reboot-sprite.fullcourt-run{
  z-index:22;
}
.reboot-sprite.fullcourt-run .sprite-shadow{
  width:34px;
  opacity:.28;
}

/* JAM DYNASTY 3.2 — WIDER FULL-COURT SPACING */
.reboot-sprite.fullcourt-run{
  z-index:22!important;
}
.reboot-sprite.fullcourt-run .sprite-shadow{
  width:36px!important;
}

/* JAM DYNASTY 3.3 — BROADCAST FLOW */

.reboot-sprite{display:none!important}
.sim-player{display:none!important}

.broadcast-player{
  position:absolute;
  width:36px;
  height:62px;
  transform:translate(-50%,-50%) rotate(var(--lean,0deg));
  transform-origin:50% 82%;
  z-index:20;
  pointer-events:none;
}
.broadcast-player.big{width:40px;height:67px}

.bp-shadow{
  position:absolute;
  left:50%;
  bottom:-2px;
  width:30px;
  height:8px;
  transform:translateX(-50%);
  border-radius:50%;
  background:rgba(0,0,0,.28);
  filter:blur(1px);
}
.bp-head{
  position:absolute;
  left:50%;
  top:0;
  width:16px;
  height:16px;
  transform:translateX(-50%);
  border:2px solid #141414;
  border-radius:48%;
}
.skin1 .bp-head,.skin1 .bp-arm,.skin1 .bp-leg,.skin1 .bp-neck{background:#6f402e}
.skin2 .bp-head,.skin2 .bp-arm,.skin2 .bp-leg,.skin2 .bp-neck{background:#a96a48}
.skin3 .bp-head,.skin3 .bp-arm,.skin3 .bp-leg,.skin3 .bp-neck{background:#d59a71}
.skin4 .bp-head,.skin4 .bp-arm,.skin4 .bp-leg,.skin4 .bp-neck{background:#8a5438}

.bp-neck{
  position:absolute;
  left:50%;
  top:14px;
  width:7px;
  height:5px;
  transform:translateX(-50%);
}
.bp-torso{
  position:absolute;
  left:50%;
  top:18px;
  width:27px;
  height:25px;
  transform:translateX(-50%);
  display:flex;
  align-items:center;
  justify-content:center;
  border:2px solid var(--jersey-secondary,#fff);
  border-radius:5px 5px 3px 3px;
  background:var(--jersey-primary,#555);
  color:var(--jersey-text,#fff);
  font:14px Impact,sans-serif;
  box-shadow:0 2px 0 rgba(0,0,0,.35);
}
.bp-shorts{
  position:absolute;
  left:50%;
  top:42px;
  width:26px;
  height:10px;
  transform:translateX(-50%);
  background:var(--jersey-secondary,#fff);
  border:2px solid var(--jersey-primary,#555);
}
.bp-arm{
  position:absolute;
  top:21px;
  width:6px;
  height:21px;
  border:2px solid #111;
  border-radius:5px;
  z-index:-1;
}
.arm-l{left:1px;transform:rotate(7deg)}
.arm-r{right:1px;transform:rotate(-7deg)}
.bp-leg{
  position:absolute;
  top:51px;
  width:6px;
  height:10px;
  border:2px solid #111;
}
.leg-l{left:8px}
.leg-r{right:8px}
.bp-shoe{
  position:absolute;
  top:59px;
  width:10px;
  height:4px;
  background:#111;
}
.shoe-l{left:5px}
.shoe-r{right:5px}
.bp-name{
  position:absolute;
  left:50%;
  top:-11px;
  transform:translateX(-50%);
  padding:1px 3px;
  background:rgba(0,0,0,.78);
  color:#fff;
  font:7px Arial,sans-serif;
  font-weight:900;
  opacity:0;
  white-space:nowrap;
}
.bp-handler .bp-name{opacity:1}

.bp-handler .bp-torso{
  box-shadow:0 0 0 3px rgba(255,255,255,.82),0 2px 0 rgba(0,0,0,.35);
}
.bp-onball .bp-torso{
  transform:translateX(-50%) scaleX(1.08);
}
.bp-onball .arm-l{transform:rotate(-44deg)}
.bp-onball .arm-r{transform:rotate(44deg)}

.bp-running .leg-l{animation:bpLegL .24s infinite alternate}
.bp-running .leg-r{animation:bpLegR .24s infinite alternate}
.bp-running .arm-l{animation:bpArmL .24s infinite alternate}
.bp-running .arm-r{animation:bpArmR .24s infinite alternate}
.bp-planted .leg-l,.bp-planted .leg-r,
.bp-planted .arm-l,.bp-planted .arm-r{animation:none!important}

@keyframes bpLegL{from{transform:rotate(25deg)}to{transform:rotate(-25deg)}}
@keyframes bpLegR{from{transform:rotate(-25deg)}to{transform:rotate(25deg)}}
@keyframes bpArmL{from{transform:rotate(-30deg)}to{transform:rotate(30deg)}}
@keyframes bpArmR{from{transform:rotate(30deg)}to{transform:rotate(-30deg)}}

/* Broadcast/court polish matching the visual target */
.arcade-stage{
  background:#080a0d!important;
}
.crowd{
  height:94px!important;
  background:
    linear-gradient(rgba(0,0,0,.2),rgba(0,0,0,.55)),
    repeating-linear-gradient(90deg,#292c31 0 5px,#111317 5px 10px,#42464c 10px 15px,#181a1e 15px 20px)!important;
}
.scoreboard-top{
  background:linear-gradient(#11151a,#050608)!important;
}

/* JAM DYNASTY 3.4 — TRUE END-TO-END */
.broadcast-player.bp-transition{
  z-index:24!important;
}
.broadcast-player.bp-transition .bp-shadow{
  width:36px!important;
  opacity:.30!important;
}
.broadcast-player.bp-transition.bp-running .leg-l,
.broadcast-player.bp-transition.bp-running .leg-r,
.broadcast-player.bp-transition.bp-running .arm-l,
.broadcast-player.bp-transition.bp-running .arm-r{
  animation-duration:.18s!important;
}

/* JAM DYNASTY 3.5 — DEEPER END-TO-END + MIDDLE BALL HANDLER */
.broadcast-player.bp-handler .bp-name{
  opacity:1!important;
}
.broadcast-player.bp-transition.bp-handler .bp-torso{
  box-shadow:0 0 0 3px rgba(255,255,255,.9),0 2px 0 rgba(0,0,0,.35)!important;
}

/* JAM DYNASTY 4.0 — ARCADE GAMECAST */

/* Hide obsolete court/player presentation */
.court-wrap,.court,.broadcast-player,.reboot-sprite,.sim-player{display:none!important}

.gamecast-wrap{
  padding:14px;
  background:#0b0e13;
}
.gamecast-stage{
  --home-primary:#b91c2b;
  --home-secondary:#fff;
  --away-primary:#173b72;
  --away-secondary:#fff;
  min-height:500px;
  border:5px solid #050608;
  background:
    linear-gradient(135deg,rgba(255,255,255,.025),transparent 40%),
    #11151b;
  color:#f4f1e8;
  box-shadow:10px 10px 0 rgba(0,0,0,.35);
  padding:20px;
  position:relative;
  overflow:hidden;
}
.gamecast-stage:before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    linear-gradient(90deg,var(--home-primary) 0 10px,transparent 10px calc(100% - 10px),var(--away-primary) calc(100% - 10px));
  opacity:.8;
}
.gamecast-header{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
  position:relative;
  z-index:2;
}
.gamecast-header h3{
  margin:3px 0 0;
  font:32px Impact,sans-serif;
  letter-spacing:1px;
}
.gamecast-momentum{
  padding:9px 14px;
  border:3px solid #f4f1e8;
  font:15px Impact,sans-serif;
  letter-spacing:1px;
  background:#20252d;
}
.gamecast-momentum.home{background:var(--home-primary)}
.gamecast-momentum.away{background:var(--away-primary)}

.gamecast-hero{
  margin-top:18px;
  min-height:165px;
  display:grid;
  grid-template-columns:115px 1fr;
  align-items:center;
  gap:18px;
  border:4px solid #f4f1e8;
  background:linear-gradient(135deg,#181d25,#0d1015);
  padding:18px;
  position:relative;
  z-index:2;
}
.gamecast-hero.animate{
  animation:gcHero .55s cubic-bezier(.2,.75,.25,1) both;
}
.gamecast-hero.good{box-shadow:inset 8px 0 0 #2e8b57}
.gamecast-hero.bad{box-shadow:inset 8px 0 0 #d72638}
.gamecast-hero.three{box-shadow:inset 8px 0 0 #f0b323}
.gamecast-hero.dunk{box-shadow:inset 8px 0 0 #ff6b1a}
.gamecast-team-chip{
  min-height:92px;
  display:grid;
  place-items:center;
  border:4px solid #fff;
  font:34px Impact,sans-serif;
  box-shadow:5px 5px 0 #050608;
}
.gamecast-main-copy strong{
  display:block;
  font:46px Impact,sans-serif;
  letter-spacing:1px;
  line-height:.95;
}
.gamecast-main-copy span{
  display:block;
  margin-top:10px;
  font-size:15px;
  font-weight:800;
  color:#cfd3da;
}

.gamecast-lower{
  display:grid;
  grid-template-columns:1.35fr .85fr;
  gap:16px;
  margin-top:16px;
  position:relative;
  z-index:2;
}
.gamecast-feed-panel,
.gamecast-stars-panel{
  border:4px solid #f4f1e8;
  background:#0d1015;
  padding:14px;
  min-height:235px;
}
.gamecast-feed{
  margin-top:10px;
  display:grid;
  gap:7px;
}
.gamecast-feed-row{
  display:grid;
  grid-template-columns:58px 1fr;
  gap:9px;
  align-items:center;
  padding:8px 9px;
  background:#171b22;
  border-left:5px solid #747b86;
}
.gamecast-feed-row.good{border-left-color:#2e8b57}
.gamecast-feed-row.bad{border-left-color:#d72638}
.gamecast-feed-row b{font-size:12px}
.gc-clock{
  font:15px Impact,sans-serif;
  color:#f0b323;
}
.gamecast-leaders{
  display:grid;
  gap:8px;
  margin-top:10px;
}
.gc-leader{
  display:grid;
  grid-template-columns:32px 1fr 15px;
  gap:8px;
  align-items:center;
  padding:8px;
  background:#171b22;
}
.gc-rank{
  width:27px;height:27px;
  display:grid;place-items:center;
  background:#f4f1e8;color:#0b0e13;
  font:16px Impact,sans-serif;
}
.gc-leader-copy b,.gc-leader-copy span{display:block}
.gc-leader-copy b{font:15px Impact,sans-serif}
.gc-leader-copy span{font-size:9px;color:#bfc4cc;font-weight:800;margin-top:2px}
.gc-dot{
  width:12px;height:12px;
  border:2px solid #fff;
  border-radius:50%;
}

@keyframes gcHero{
  0%{opacity:.4;transform:scale(.985) translateY(8px)}
  100%{opacity:1;transform:scale(1) translateY(0)}
}

@media(max-width:800px){
  .gamecast-lower{grid-template-columns:1fr}
  .gamecast-hero{grid-template-columns:82px 1fr}
  .gamecast-main-copy strong{font-size:34px}
}

/* JAM DYNASTY 4.1 — SIMPLE WATCH GAME */
.gamecast-wrap,.gamecast-stage{display:none!important}

.simple-gamecast{
  min-height:340px;
  background:#11151b;
  border:5px solid #08090b;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  padding:30px;
  position:relative;
}
.simple-gamecast-label{
  position:absolute;
  top:18px;
  left:20px;
  padding:5px 10px;
  background:#c5303e;
  color:#fff;
  font:15px Impact,sans-serif;
  letter-spacing:2px;
}
.simple-play{
  width:min(760px,88%);
  min-height:150px;
  border:4px solid #f4f1e8;
  background:#0b0e13;
  color:#f4f1e8;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  padding:25px;
  box-shadow:8px 8px 0 rgba(0,0,0,.35);
}
.simple-play strong{
  display:block;
  font:52px Impact,sans-serif;
  letter-spacing:1px;
  line-height:1;
}
.simple-play span{
  display:block;
  margin-top:12px;
  font-size:19px;
  font-weight:900;
}
.simple-play.three{border-bottom:8px solid #f0b323}
.simple-play.dunk{border-bottom:8px solid #ff6b1a}
.simple-play.good{border-bottom:8px solid #2e8b57}
.simple-play.bad{border-bottom:8px solid #d72638}
.simple-play.pop{animation:simplePop .4s ease-out}
@keyframes simplePop{
  0%{opacity:.35;transform:scale(.97)}
  100%{opacity:1;transform:scale(1)}
}

/* JAM DYNASTY 4.2 — FINAL SCREEN FIX */
.simple-play.final-result{min-height:230px}
.simple-play.final-result .final-kicker{
  font:20px Impact,sans-serif;
  letter-spacing:4px;
  margin-bottom:12px;
  opacity:.75;
}
.simple-play.final-result strong{font-size:46px}
.simple-play.final-result.win{border-bottom:9px solid #2e8b57}
.simple-play.final-result.loss{border-bottom:9px solid #d72638}
.final-continue-btn{
  margin-top:22px;
  padding:12px 28px;
  border:3px solid #f4f1e8;
  background:#f4f1e8;
  color:#0b0e13;
  font:20px Impact,sans-serif;
  letter-spacing:1px;
  cursor:pointer;
  box-shadow:4px 4px 0 #000;
}
.final-continue-btn:hover{transform:translateY(-1px)}

/* JAM DYNASTY 4.3 — ENDGAME HARD FIX */
.simple-play.final-result{
  display:flex!important;
  visibility:visible!important;
  opacity:1!important;
}
.final-continue-btn{
  position:relative;
  z-index:50;
  pointer-events:auto!important;
}

/* JAM DYNASTY 4.4 — POSTGAME RESULT OUTSIDE WATCH GAME */

.postgame-result-overlay{
  position:fixed;
  inset:0;
  z-index:999999;
  display:grid;
  place-items:center;
  padding:20px;
  background:rgba(5,7,10,.82);
}
.postgame-result-overlay.hidden{
  display:none!important;
}
.postgame-result-card{
  width:min(620px,92vw);
  padding:28px;
  text-align:center;
  background:#f4f1e8;
  color:#071a3d;
  border:6px solid #071a3d;
  box-shadow:12px 12px 0 rgba(0,0,0,.55);
}
.postgame-result-card.win{
  border-bottom:12px solid #2e8b57;
}
.postgame-result-card.loss{
  border-bottom:12px solid #d72638;
}
.postgame-kicker{
  font:18px Impact,sans-serif;
  letter-spacing:4px;
}
.postgame-result-card h2{
  margin:5px 0 12px;
  font:44px Impact,sans-serif;
}
.postgame-score{
  font:62px Impact,sans-serif;
  line-height:1;
}
.postgame-score span{
  opacity:.45;
}
.postgame-matchup{
  margin-top:7px;
  font-weight:900;
}
.postgame-star{
  margin:22px auto 0;
  padding:16px;
  max-width:420px;
  border:4px solid #071a3d;
  background:#fff8ec;
}
.postgame-star small,
.postgame-star b,
.postgame-star span{
  display:block;
}
.postgame-star small{
  font-size:10px;
  font-weight:900;
  letter-spacing:1px;
}
.postgame-star b{
  margin-top:4px;
  font:24px Impact,sans-serif;
}
.postgame-star span{
  margin-top:4px;
  font-weight:900;
}
.postgame-result-card button{
  margin-top:22px;
  min-width:160px;
  padding:12px 20px;
  border:4px solid #071a3d;
  background:#071a3d;
  color:#f4f1e8;
  font:20px Impact,sans-serif;
  cursor:pointer;
}

/* Quick-sim-only build: live simulation removed from the player experience. */
#liveSim{display:none!important}


/* ONE SEASON v5.2 — PURPLE / ORANGE ARCADE BROADCAST */
:root{
  --purple:#8b2bd6!important;
  --deep-purple:#4b0c78!important;
  --orange:#ff7900!important;
  --teal:#8b2bd6!important;
  --cyan:#ffffff!important;
  --yellow:#ffffff!important;
  --ink:#050505!important;
  --paper:#f5f5f5!important;
  --red:#ff7900!important;
  --blue:#8b2bd6!important;
}
html,body{background:#050505!important;font-family:"VT323","Lucida Console","Courier New",monospace!important}
header,.panel,.team-card,.player-card,.trade-notification-card,.postgame-card{border-radius:0!important}
.logo,h1,h2,h3,.rating,.mega,.tab,.arcade-banner,.black-btn,.broadcast-kicker{
  font-family:"Press Start 2P","Lucida Console","Courier New",monospace!important;
  letter-spacing:0!important;
}
#app{background:#f5f5f5!important;background-image:none!important}
.side-rail{background:linear-gradient(#8b2bd6,#4b0c78)!important;border-color:#000!important}
header{background:#050505!important;border-bottom-color:#ff7900!important;text-shadow:3px 3px 0 #8b2bd6!important}
.tab.active{background:#8b2bd6!important;color:#fff!important}
.mega{background:#ff7900!important;color:#fff!important;box-shadow:7px 7px 0 #8b2bd6!important}
.black-btn{border-color:#8b2bd6!important}
.arcade-banner{color:#fff!important;border-color:#8b2bd6!important;box-shadow:5px 5px 0 #ff7900!important}
.rating{color:#ff7900!important}

/* Fullscreen broadcast shell */
.broadcast-overlay{background:#050505!important;padding:10px!important;overflow:auto!important}
.arcade-broadcast.broadcast-card{
  width:min(1500px,98vw)!important;
  max-width:none!important;
  background:#050505!important;
  color:#fff!important;
  border:3px solid #1b1b1b!important;
  outline:0!important;
  box-shadow:none!important;
  padding:8px!important;
  text-align:left!important;
  font-family:"VT323","Lucida Console","Courier New",monospace!important;
}
.gc-top-title{
  text-align:center;color:#ff7900;font-family:"Press Start 2P","Lucida Console",monospace;
  font-size:17px;padding:8px 0 10px;text-transform:uppercase;
}
.gc-top-grid{display:grid;grid-template-columns:310px minmax(520px,1fr) 310px;gap:10px}
.gc-team-panel,.gc-main-score,.gc-controls-panel,.gc-feed-panel,.gc-status-panel,.gc-stats-panel{
  background:#070707;border:3px solid #292929;position:relative;
}
.gc-user-panel,.gc-user-stats{border-color:#60208e}
.gc-opp-panel,.gc-opp-stats{border-color:#a84f00}
.gc-team-panel{padding:15px;text-align:center}
.gc-team-panel small{display:block;font-size:20px;color:#fff;text-transform:uppercase}
.gc-team-panel h2{font-size:33px;margin:10px 0;color:#fff}
.gc-user-panel h2{color:#9f40e6}.gc-opp-panel h2{color:#ff7900}
.gc-team-rating{font-family:"Press Start 2P",monospace;font-size:11px;color:#aaa;margin:8px 0 17px}
.gc-team-mini{display:flex;align-items:center;justify-content:space-between;border-top:1px solid #333;padding:9px 3px;font-size:18px}
.gc-team-mini strong{font-size:29px}.gc-user-panel .gc-team-mini strong{color:#9f40e6}.gc-opp-panel .gc-team-mini strong{color:#ff7900}
.gc-timeout{display:inline-block;width:18px;height:18px;margin-left:6px;background:#555;border:2px solid #111}
.gc-timeout.purple{background:#8b2bd6}.gc-timeout.orange{background:#ff7900}

.gc-main-score{display:grid;grid-template-columns:1fr 260px 1fr;grid-template-rows:auto auto;border-color:#333}
.gc-score-side{display:grid;place-items:center;min-height:180px}
.gc-score-side strong{font-family:"Press Start 2P",monospace;font-size:86px;color:#fff;text-shadow:5px 5px 0 rgba(0,0,0,.6)}
.purple-side{background:linear-gradient(135deg,#5c0794,#8b2bd6)}
.orange-side{background:linear-gradient(135deg,#a33f00,#ff7900)}
.gc-clock-center{display:flex;flex-direction:column;align-items:center;justify-content:center;background:#070707;text-align:center}
.gc-clock-center em{font-family:"Press Start 2P",monospace;color:#ff7900;font-style:normal;font-size:34px;margin-bottom:15px}
.gc-clock-center b{font-family:"Press Start 2P",monospace;font-size:13px;color:#fff;line-height:1.5}
.gc-clock-center span{margin-top:11px;font-family:"Press Start 2P",monospace;font-size:10px;color:#fff}
.gc-quarter-table{grid-column:1/-1;padding:7px 14px 10px;background:#090909;border-top:2px solid #333}
.gc-q-head,.gc-q-row{display:grid;grid-template-columns:120px repeat(4,1fr) 1fr;gap:6px;align-items:center;text-align:center;font-size:19px}
.gc-q-head{color:#aaa;font-size:16px}.gc-q-row b{text-align:left}.gc-q-row.user b{color:#9f40e6}.gc-q-row.opp b{color:#ff7900}
.gc-q-row strong{color:#fff}

.gc-middle-grid{display:grid;grid-template-columns:220px minmax(500px,1fr) 250px;gap:10px;margin-top:10px}
.gc-controls-panel{padding:12px;text-align:center;border-color:#60208e}
.gc-controls-panel h3,.gc-status-panel h3,.gc-stats-panel h3{
  font-family:"Press Start 2P",monospace;font-size:11px;text-align:center;margin:5px 0 12px;color:#9f40e6
}
.gc-controls-panel button{display:block;width:100%;margin:9px 0;padding:12px 8px;background:#141414;color:#fff;border:2px solid #3a3a3a;font-family:"Press Start 2P",monospace;font-size:12px}
.gc-controls-panel .gc-speed.active{background:#8b2bd6;border-color:#b75df0}
.gc-controls-panel .gc-skip{margin-top:24px;background:#090909;border-color:#666;line-height:1.55}
.gc-feed-panel{padding:7px;min-height:340px}
.gamecast-feed{margin:0!important;gap:0!important}
.gamecast-feed>div{
  display:grid!important;grid-template-columns:75px 1fr 90px!important;gap:8px!important;
  padding:9px 8px!important;border:0!important;border-bottom:1px solid #171717!important;
  background:#050505!important;border-radius:0!important;color:#fff!important
}
.gamecast-feed>div.hot{background:#321500!important;border:1px solid #8e4200!important}
.gamecast-feed b{font-family:"Press Start 2P",monospace!important;color:#9f40e6!important;font-size:10px!important}
.gamecast-feed span{font-size:20px!important;color:#fff!important}
.gamecast-feed strong{font-family:"Press Start 2P",monospace;font-size:10px;color:#9f40e6;text-align:right}
.gc-ball{font-style:normal;color:#ff7900;margin-right:7px}
.gc-run-banner{position:absolute;left:7px;right:7px;bottom:7px;background:#4d2100;border:1px solid #a84f00;color:#ff8f21;padding:9px 12px;font-family:"Press Start 2P",monospace;font-size:10px}
.gc-status-panel{padding:10px;border-color:#60208e}
.gc-status-panel>div{border-top:1px solid #333;padding:10px;text-align:center}
.gc-status-panel small{display:block;color:#bbb;font-size:17px}
.gc-status-panel b{display:block;color:#9f40e6;font-family:"Press Start 2P",monospace;font-size:11px;margin-top:7px}
.gc-clutch-box strong{display:block;color:#ff7900;font-family:"Press Start 2P",monospace;font-size:11px;min-height:18px}
.gc-clutch-box span{display:block;color:#fff;font-size:18px;margin-top:5px}

.gc-bottom-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px;margin-top:10px}
.gc-stats-panel{padding:11px;min-height:170px}
.gc-opp-stats h3{color:#ff7900}
.gc-player-row{display:grid;grid-template-columns:1.35fr .7fr .7fr .7fr;gap:8px;padding:8px 2px;border-top:1px solid #222;font-size:18px}
.gc-player-row b{font-size:20px}.purple-text{color:#9f40e6!important}.orange-text{color:#ff7900!important}
.gc-team-stats>div{display:grid;grid-template-columns:1fr 80px 1fr;text-align:center;padding:5px;border-top:1px solid #222;font-size:19px}
.gc-team-stats span{color:#aaa}.gc-team-stats b{font-size:20px}
.gc-footer{display:grid;grid-template-columns:auto 1fr auto;gap:20px;align-items:center;border-top:3px solid #60208e;margin-top:10px;padding:11px 8px 3px}
.gc-footer b{font-family:"Press Start 2P",monospace;color:#9f40e6;font-size:11px}
.gc-footer span,.gc-footer em{font-size:18px;color:#bbb;font-style:normal}
.post-broadcast-card{background:#050505!important;color:#fff!important;border-color:#8b2bd6!important;outline:3px solid #ff7900!important}
.post-broadcast-card h2{color:#fff!important}
.post-broadcast-card button{background:#8b2bd6!important;border-color:#fff!important;box-shadow:5px 5px 0 #ff7900!important}
.postgame-top-performers>div,.halftime-grid>div{background:#090909!important;border-color:#444!important}
.postgame-top-performers b,.postgame-top-performers span,.postgame-top-performers small,.halftime-grid b,.halftime-grid span,.halftime-grid small{color:#fff!important}

@media(max-width:1100px){
 .gc-top-grid{grid-template-columns:210px 1fr 210px}
 .gc-middle-grid{grid-template-columns:170px 1fr 200px}
 .gc-score-side strong{font-size:60px}.gc-clock-center{min-width:190px}.gc-main-score{grid-template-columns:1fr 200px 1fr}
 .gc-team-panel h2{font-size:24px}
}
@media(max-width:820px){
 .gc-top-grid,.gc-middle-grid,.gc-bottom-grid{grid-template-columns:1fr}
 .gc-main-score{grid-template-columns:1fr 160px 1fr}
 .gc-team-panel{display:none}
 .gc-middle-grid{display:flex;flex-direction:column}
 .gc-controls-panel{order:3}.gc-status-panel{order:2}
 .gc-controls-panel .gc-speed{display:inline-block;width:30%;margin:4px 1%}
 .gc-score-side strong{font-size:43px}.gc-clock-center em{font-size:21px}
 .gc-q-head,.gc-q-row{grid-template-columns:75px repeat(4,1fr) 1fr;font-size:14px}
 .gc-footer{grid-template-columns:1fr;text-align:center}
}


/* v5.2.1 team selection name-fit fix */
.team-card{
  min-width:0;
  overflow:hidden;
}
.team-card h2{
  width:100%;
  min-height:3.1em;
  margin:8px 0 5px!important;
  padding:0 2px;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  white-space:normal!important;
  overflow-wrap:anywhere;
  word-break:normal;
  line-height:1.28!important;
  font-size:clamp(12px,1.25vw,20px)!important;
}
.team-card .meta{
  overflow-wrap:anywhere;
  line-height:1.35;
}
.team-grid{
  align-items:stretch;
}
@media(max-width:1000px){
  .team-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  .team-card h2{font-size:14px!important}
}
@media(max-width:720px){
  .team-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .team-card h2{font-size:13px!important}
}
@media(max-width:440px){
  .team-grid{grid-template-columns:1fr!important}
  .team-card h2{font-size:15px!important;min-height:auto}
}


/* v5.2.2 simulation readability + full-sim presentation */
.arcade-broadcast,
.arcade-broadcast *{
  color:#fff;
}
.arcade-broadcast .gc-top-title,
.arcade-broadcast .gc-user-panel h2,
.arcade-broadcast .gc-opp-panel h2,
.arcade-broadcast .gc-clock-center em,
.arcade-broadcast .gc-player-row b,
.arcade-broadcast .gc-team-stats b,
.arcade-broadcast .gamecast-feed b,
.arcade-broadcast .gamecast-feed strong,
.arcade-broadcast .gc-status-panel b,
.arcade-broadcast .gc-controls-panel h3,
.arcade-broadcast .gc-status-panel h3,
.arcade-broadcast .gc-stats-panel h3,
.arcade-broadcast .gc-footer b,
.arcade-broadcast .purple-text,
.arcade-broadcast .orange-text{
  color:#fff!important;
}
.arcade-broadcast .gamecast-feed span,
.arcade-broadcast .gc-team-panel small,
.arcade-broadcast .gc-team-rating,
.arcade-broadcast .gc-team-mini span,
.arcade-broadcast .gc-q-head,
.arcade-broadcast .gc-team-stats span,
.arcade-broadcast .gc-footer span,
.arcade-broadcast .gc-footer em,
.arcade-broadcast .gc-status-panel small,
.arcade-broadcast .gc-clutch-box span{
  color:#fff!important;
}
.arcade-broadcast .gc-run-banner{
  color:#fff!important;
}


/* v5.3 TRUE FULL GAME SIM */
.full-game-sim{width:min(1500px,98vw)!important;max-width:none!important;max-height:96vh;overflow:auto;background:#050505!important;color:#fff!important;padding:10px!important}
.gc-score-strip{display:grid;grid-template-columns:1fr 250px 1fr;border:3px solid #2c2c2c}
.gc-score-team{display:grid;grid-template-columns:1fr auto;grid-template-rows:auto 1fr;align-items:center;padding:14px 20px;min-height:150px}
.gc-score-team small{grid-column:1/-1;color:#fff!important;font-size:19px;text-transform:uppercase}.gc-score-team b{font-family:"Press Start 2P",monospace;font-size:28px;color:#fff!important}.gc-score-team strong{font-family:"Press Start 2P",monospace;font-size:68px;color:#fff!important}
.gc-score-strip .purple-side{background:linear-gradient(135deg,#4b0c78,#8b2bd6)}.gc-score-strip .orange-side{background:linear-gradient(135deg,#963a00,#ff7900)}
.gc-control-row{display:grid;grid-template-columns:auto 1fr auto;gap:14px;align-items:center;border:3px solid #262626;border-top:0;padding:10px;background:#080808}
.gc-speed-controls{display:flex;gap:7px;align-items:center}.gc-speed-controls span{font-family:"Press Start 2P",monospace;font-size:9px}.gc-speed,.gc-skip{background:#111;color:#fff;border:2px solid #555;padding:9px 12px;font-family:"Press Start 2P",monospace;font-size:10px}.gc-speed.active{background:#8b2bd6}.gc-skip{background:#ff7900;border-color:#fff}
.gc-game-status{display:flex;gap:18px;justify-content:center;font-family:"Press Start 2P",monospace;font-size:9px;color:#fff}.gc-game-status span:nth-child(2){color:#ff7900!important}.gc-game-status span:nth-child(3){color:#fff!important}
.gc-sim-body{display:grid;grid-template-columns:minmax(390px,.8fr) minmax(620px,1.4fr);gap:10px;margin-top:10px}.gc-feed-panel,.gc-live-boxes{background:#050505;border:3px solid #333;padding:10px}.gc-feed-panel h3,.gc-box-team h3{font-family:"Press Start 2P",monospace;font-size:11px;color:#fff!important;margin:4px 0 10px}
.gamecast-feed{display:flex;flex-direction:column;gap:0!important}.gamecast-feed>div{display:grid!important;grid-template-columns:78px 1fr 90px!important;gap:8px;padding:9px 5px!important;border:0!important;border-bottom:1px solid #222!important;background:#050505!important;color:#fff!important}.gamecast-feed>div.hot{background:#321500!important}.gamecast-feed b,.gamecast-feed strong{font-family:"Press Start 2P",monospace;font-size:9px!important;color:#fff!important}.gamecast-feed span{font-size:19px!important;color:#fff!important}
.gc-live-boxes{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:0;border:0;background:transparent}.gc-box-team{border:3px solid #4b0c78;background:#070707;padding:9px}.gc-box-team.orange-box{border-color:#a84f00}.gc-box-team table,.final-box-table{width:100%;border-collapse:collapse;color:#fff!important}.gc-box-team th,.gc-box-team td,.final-box-table th,.final-box-table td{padding:5px 6px;border-bottom:1px solid #222;text-align:right;font-size:16px;color:#fff!important}.gc-box-team th:first-child,.gc-box-team td:first-child,.final-box-table th:first-child,.final-box-table td:first-child{text-align:left}.gc-box-team th,.final-box-table th{font-family:"Press Start 2P",monospace;font-size:8px;color:#aaa!important}.purple-box h3{color:#b85cff!important}.orange-box h3{color:#ff8c21!important}
.final-game-card{width:min(900px,95vw)!important;background:#050505!important;color:#fff!important;border:5px solid #8b2bd6!important;outline:3px solid #ff7900!important}.final-game-card h2,.final-box-title{color:#fff!important}.final-box-title{font-family:"Press Start 2P",monospace;font-size:11px;margin:12px 0}.final-box-table{margin-bottom:18px}.final-game-card button{background:#8b2bd6!important;color:#fff!important;border:3px solid #fff!important;padding:12px 18px;font-family:"Press Start 2P",monospace}
@media(max-width:1000px){.gc-sim-body{grid-template-columns:1fr}.gc-live-boxes{grid-template-columns:1fr}.gc-score-strip{grid-template-columns:1fr 180px 1fr}.gc-score-team strong{font-size:45px}.gc-score-team b{font-size:17px}.gc-control-row{grid-template-columns:1fr}.gc-game-status{flex-wrap:wrap}}


/* v5.4 basketball realism box-score expansion */
.full-game-sim .gc-box table th,
.full-game-sim .gc-box table td{font-size:15px}
.full-game-sim .gc-box table th:first-child,
.full-game-sim .gc-box table td:first-child{width:42%;text-align:left}
.full-game-sim .gc-box table th:not(:first-child),
.full-game-sim .gc-box table td:not(:first-child){width:11.5%;text-align:center}


/* v5.4.1 — team picker name fit + final two-team box scores */
.team-grid{
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  align-items:stretch!important;
}
.team-card{
  min-width:0!important;
  width:100%!important;
  overflow:hidden!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:flex-start!important;
  text-align:center!important;
  padding:16px 10px!important;
}
.team-card .team-icon{
  flex:0 0 auto;
  line-height:1;
}
.team-card h2{
  box-sizing:border-box!important;
  width:100%!important;
  max-width:100%!important;
  min-height:54px!important;
  margin:10px 0 6px!important;
  padding:0 3px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
  white-space:normal!important;
  overflow:hidden!important;
  overflow-wrap:break-word!important;
  word-break:normal!important;
  hyphens:auto!important;
  line-height:1.18!important;
  font-size:clamp(9px,1.05vw,15px)!important;
  letter-spacing:-.03em!important;
}
.team-card .meta{
  width:100%!important;
  max-width:100%!important;
  white-space:normal!important;
  overflow-wrap:anywhere!important;
  font-size:10px!important;
  line-height:1.25!important;
}
.team-card .rating{
  margin-top:auto!important;
  padding-top:10px!important;
}
@media(max-width:1050px){
  .team-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  .team-card h2{font-size:12px!important}
}
@media(max-width:760px){
  .team-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .team-card h2{font-size:12px!important}
}
@media(max-width:480px){
  .team-grid{grid-template-columns:1fr!important}
  .team-card h2{min-height:auto!important;font-size:13px!important}
}

/* Final score card */
.final-two-box-card{
  width:min(1450px,96vw)!important;
  max-width:none!important;
  background:#050505!important;
  color:#fff!important;
  padding:22px!important;
}
.final-two-box-card h2{
  color:#fff!important;
  text-align:center!important;
  font-size:clamp(28px,4vw,58px)!important;
  margin:12px 0 18px!important;
}
.final-two-box-card h2 span{color:#fff!important}
.final-two-box-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
  margin:12px 0 20px;
}
.final-team-box{
  min-width:0;
  border:3px solid #5f208f;
  background:#070707;
}
.opp-final-box{border-color:#b55300}
.final-box-title{
  padding:10px;
  text-align:center;
  color:#fff!important;
  font-family:"Press Start 2P","Courier New",monospace!important;
  font-size:11px!important;
  border-bottom:2px solid #333;
}
.final-table-scroll{overflow-x:auto}
.final-box-table{
  width:100%!important;
  border-collapse:collapse!important;
  color:#fff!important;
  table-layout:fixed!important;
}
.final-box-table th,
.final-box-table td{
  color:#fff!important;
  padding:7px 6px!important;
  border-bottom:1px solid #282828!important;
  text-align:center!important;
  font-size:16px!important;
}
.final-box-table th:first-child,
.final-box-table td:first-child{
  width:42%!important;
  text-align:left!important;
}
.final-box-table th:not(:first-child),
.final-box-table td:not(:first-child){
  width:11.6%!important;
}
.final-box-table thead th{
  color:#bbb!important;
  font-size:13px!important;
}
.final-box-table tfoot th{
  color:#fff!important;
  border-top:2px solid #444!important;
}
.user-final-box tfoot th{color:#a84eea!important}
.opp-final-box tfoot th{color:#ff7900!important}
.final-two-box-card #broadcastContinueBtn{
  display:block!important;
  width:max-content!important;
  min-width:220px!important;
  margin:18px auto 4px!important;
}
@media(max-width:900px){
  .final-two-box-grid{grid-template-columns:1fr}
  .final-box-table th,.final-box-table td{font-size:14px!important}
}


/* v5.4.2 — salary removed from trade experience */
.trade-center .salary,
.trade-builder .salary,
.trade-player-row .salary,
.trade-preview .salary,
.trade-salary,
.salary-match,
.salary-chip,
.contract-salary{
  display:none!important;
}


/* v5.4.3 — clearer Trade Center */
.trade-center-v2{
  display:flex;
  flex-direction:column;
  gap:16px;
}
.trade-center-header{
  display:flex;
  justify-content:space-between;
  gap:18px;
  align-items:flex-start;
  padding:18px;
  background:#080808;
  border:4px solid #111;
  box-shadow:6px 6px 0 #8b2bd6;
}
.trade-center-header h2{
  margin:5px 0 8px!important;
  font-size:24px!important;
  color:#111!important;
}
.trade-center-header p{
  margin:0;
  max-width:720px;
  color:#444;
  font-weight:700;
  line-height:1.45;
}
.trade-kicker{
  color:#8b2bd6;
  font-family:"Press Start 2P","Courier New",monospace;
  font-size:10px;
}
.trade-deadline-chip{
  flex:0 0 auto;
  padding:10px 12px;
  border:3px solid #111;
  font-family:"Press Start 2P","Courier New",monospace;
  font-size:9px;
  text-align:center;
}
.trade-deadline-chip.open{background:#fff;color:#111}
.trade-deadline-chip.closed{background:#111;color:#fff}

.trade-opponent-bar{
  display:grid;
  grid-template-columns:1fr minmax(210px,320px) 1fr;
  gap:12px;
  align-items:stretch;
}
.trade-team-badge,.trade-opponent-select{
  background:#fff;
  border:4px solid #111;
  padding:14px;
}
.trade-team-badge{
  display:flex;
  flex-direction:column;
  gap:5px;
}
.trade-team-badge.user{box-shadow:5px 5px 0 #8b2bd6}
.trade-team-badge.cpu{box-shadow:5px 5px 0 #ff7900;text-align:right}
.trade-team-badge small{
  font-size:10px;
  color:#666;
  font-weight:900;
}
.trade-team-badge b{
  font-size:20px;
  color:#111;
}
.trade-team-badge span{
  font-size:12px;
  color:#666;
}
.trade-opponent-select{
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.trade-opponent-select label{
  margin:0 0 6px;
  font-size:10px;
}
.trade-opponent-select select{
  margin:0;
  background:#f5f5f5;
}

.trade-roster-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:16px;
}
.trade-roster-panel{
  background:#f7f7f7;
  border:4px solid #111;
  min-width:0;
}
.trade-roster-panel.user-side{box-shadow:7px 7px 0 #8b2bd6}
.trade-roster-panel.cpu-side{box-shadow:7px 7px 0 #ff7900}
.trade-roster-heading{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:10px;
  padding:12px 14px;
  background:#111;
  color:#fff;
}
.trade-roster-heading small{
  display:block;
  font-size:9px;
  color:#aaa;
}
.trade-roster-heading b{
  display:block;
  margin-top:4px;
  font-family:"Press Start 2P","Courier New",monospace;
  font-size:11px;
}
.trade-roster-heading>span{
  font-size:11px;
  font-weight:900;
  white-space:nowrap;
}
.trade-roster-list{
  max-height:540px;
  overflow:auto;
  padding:8px;
}

.trade-player-row{
  width:100%;
  display:grid!important;
  grid-template-columns:32px minmax(0,1fr) 62px auto;
  align-items:center;
  gap:10px;
  padding:11px 10px!important;
  margin:0 0 7px;
  background:#fff!important;
  color:#111!important;
  border:2px solid #d3d3d3!important;
  box-shadow:none!important;
  text-align:left;
  min-height:66px;
}
.trade-player-row:hover{
  border-color:#777!important;
  transform:none!important;
}
.trade-player-row.selected{
  background:#f1e5ff!important;
  border:3px solid #8b2bd6!important;
}
.cpu-side .trade-player-row.selected{
  background:#fff0df!important;
  border-color:#ff7900!important;
}
.trade-select-mark{
  width:28px;height:28px;
  display:grid;place-items:center;
  border:2px solid #bbb;
  font-weight:900;
  font-size:18px;
  background:#f5f5f5;
}
.trade-player-row.selected .trade-select-mark{
  background:#8b2bd6;
  border-color:#8b2bd6;
  color:#fff;
}
.cpu-side .trade-player-row.selected .trade-select-mark{
  background:#ff7900;
  border-color:#ff7900;
}
.trade-player-main{
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:4px;
}
.trade-player-main b{
  display:block;
  color:#111!important;
  font-size:16px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.trade-player-main small{
  color:#666!important;
  font-size:11px;
}
.trade-player-rating{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  border-left:1px solid #ddd;
}
.trade-player-rating strong{
  color:#111!important;
  font-size:22px;
  line-height:1;
}
.trade-player-rating small{
  color:#777!important;
  font-size:9px;
  margin-top:3px;
}
.trade-interest{
  justify-self:end;
  padding:6px 7px;
  border:2px solid #bbb;
  color:#333!important;
  background:#f7f7f7;
  font-size:9px;
  font-weight:900;
  white-space:nowrap;
}

.clear-trade-preview{
  display:grid;
  grid-template-columns:1fr 60px 1fr;
  gap:12px;
  align-items:stretch;
  padding:16px;
  background:#090909;
  border:4px solid #111;
  box-shadow:7px 7px 0 #111;
}
.clear-preview-side{
  background:#fff;
  border:3px solid #333;
  padding:12px;
  min-height:118px;
}
.clear-preview-side.send{border-color:#8b2bd6}
.clear-preview-side.receive{border-color:#ff7900}
.clear-preview-side>small{
  display:block;
  color:#666;
  font-weight:900;
  margin-bottom:8px;
}
.clear-preview-player{
  padding:7px 0;
  border-top:1px solid #ddd;
}
.clear-preview-player b{
  display:block;
  color:#111!important;
  font-size:15px;
}
.clear-preview-player span{
  color:#555!important;
  font-size:11px;
}
.clear-preview-empty{
  color:#999;
  font-size:11px;
  padding:15px 0;
}
.clear-preview-arrow{
  display:grid;
  place-items:center;
  color:#fff;
  font-size:30px;
  font-weight:900;
}
.clear-trade-status{
  grid-column:1/-1;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:10px;
  padding:11px 13px;
  border:2px solid #555;
  color:#fff;
}
.clear-trade-status b{
  font-family:"Press Start 2P","Courier New",monospace;
  font-size:10px;
}
.clear-trade-status span{
  font-size:13px;
}
.clear-trade-status.good{
  background:#10351d;
  border-color:#41a560;
}
.clear-trade-status.bad{
  background:#371313;
  border-color:#bd4545;
}
.clear-trade-status.neutral{
  background:#191919;
}

.trade-action-area{
  text-align:center;
}
.trade-submit-v2{
  width:min(620px,100%);
  padding:16px 20px;
  background:#cfcfcf;
  color:#666;
  border:5px solid #111;
  font-family:"Press Start 2P","Courier New",monospace;
  font-size:12px;
  cursor:not-allowed;
}
.trade-submit-v2.ready{
  background:#8b2bd6;
  color:#fff;
  box-shadow:7px 7px 0 #ff7900;
  cursor:pointer;
}
.trade-message-v2{
  margin:14px auto 0;
  width:min(720px,100%);
  padding:12px;
  background:#fff;
  border:3px solid #111;
  color:#111;
  font-weight:900;
}

@media(max-width:900px){
  .trade-opponent-bar{grid-template-columns:1fr}
  .trade-team-badge.cpu{text-align:left}
  .trade-roster-grid{grid-template-columns:1fr}
}
@media(max-width:560px){
  .trade-center-header{flex-direction:column}
  .trade-player-row{grid-template-columns:30px minmax(0,1fr) 54px}
  .trade-interest{grid-column:2/-1;justify-self:start}
  .clear-trade-preview{grid-template-columns:1fr}
  .clear-preview-arrow{transform:rotate(90deg)}
  .clear-trade-status{grid-column:1;flex-direction:column;align-items:flex-start}
}


/* v5.4.4 — unified game font + no minutes on box scores */

/* Trade Center now uses the same chunky arcade typography as the rest of the game. */
.trade-center-v2,
.trade-center-v2 button,
.trade-center-v2 select,
.trade-center-v2 label,
.trade-center-v2 input{
  font-family:"VT323","Courier New",monospace!important;
}
.trade-center-v2 h2,
.trade-kicker,
.trade-deadline-chip,
.trade-roster-heading b,
.trade-submit-v2,
.clear-trade-status b{
  font-family:"Press Start 2P","Courier New",monospace!important;
}
.trade-center-header h2{
  color:#111!important;
  font-size:20px!important;
  line-height:1.35!important;
}
.trade-center-header p{
  font-family:"VT323","Courier New",monospace!important;
  font-size:20px!important;
  font-weight:400!important;
}
.trade-team-badge b{
  font-family:"Press Start 2P","Courier New",monospace!important;
  font-size:13px!important;
  line-height:1.45!important;
}
.trade-team-badge small,
.trade-team-badge span,
.trade-opponent-select label,
.trade-player-main small,
.trade-player-rating small,
.trade-interest,
.trade-roster-heading>span,
.clear-preview-side>small,
.clear-preview-player span,
.clear-trade-status span{
  font-family:"VT323","Courier New",monospace!important;
  letter-spacing:.02em!important;
}
.trade-player-main b{
  font-family:"VT323","Courier New",monospace!important;
  font-size:23px!important;
  font-weight:700!important;
}
.trade-player-rating strong{
  font-family:"Press Start 2P","Courier New",monospace!important;
  font-size:16px!important;
}
.trade-select-mark{
  font-family:"Press Start 2P","Courier New",monospace!important;
  font-size:13px!important;
}
.clear-preview-player b{
  font-family:"VT323","Courier New",monospace!important;
  font-size:22px!important;
}

/* Live + final stat sheets now use PLAYER | PTS | REB | AST | PF. */
.full-game-sim .gc-box table th:first-child,
.full-game-sim .gc-box table td:first-child{
  width:48%!important;
}
.full-game-sim .gc-box table th:not(:first-child),
.full-game-sim .gc-box table td:not(:first-child){
  width:13%!important;
}

.final-box-table th:first-child,
.final-box-table td:first-child{
  width:48%!important;
}
.final-box-table th:not(:first-child),
.final-box-table td:not(:first-child){
  width:13%!important;
}
