
:root{
  --bg:#030507;--panel:#070b10;--panel2:#0b1017;--line:#1a2430;
  --text:#f6f7f9;--muted:#8b95a3;--red:#ed233a;--blue:#1c98ff;
  --green:#43e642;--gold:#f2bd2f;--max:1460px;
}
*{box-sizing:border-box}
html{background:var(--bg);scroll-behavior:smooth}
body{margin:0;color:var(--text);font-family:Arial,Helvetica,sans-serif;background:#030507;overflow-x:hidden}
body::before{content:"";position:fixed;inset:0;z-index:-2;background:
radial-gradient(circle at 12% 22%,rgba(0,105,255,.09),transparent 27%),
radial-gradient(circle at 88% 22%,rgba(255,0,36,.08),transparent 28%),
linear-gradient(#030507,#04070b 56%,#030507)}
a{color:inherit;text-decoration:none}button{font:inherit}img{max-width:100%;display:block}
.shell{width:min(var(--max),calc(100% - 56px));margin:auto}

/* header */
.site-header{height:84px;border-bottom:1px solid #161f29;background:rgba(2,4,6,.94);position:sticky;top:0;z-index:50;backdrop-filter:blur(16px)}
.header-inner{height:100%;width:min(var(--max),calc(100% - 56px));margin:auto;display:grid;grid-template-columns:225px 1fr 330px;align-items:center;gap:20px}
.brand img{width:158px;height:72px;object-fit:contain;object-position:left center;filter:drop-shadow(0 8px 24px rgba(0,0,0,.5))}
.nav{display:flex;align-items:center;justify-content:center;gap:12px;height:100%}
.nav a{height:100%;display:flex;align-items:center;position:relative;padding:0 18px;font-size:13px;font-weight:900;letter-spacing:.02em}
.nav a::after{content:"";position:absolute;left:18px;right:18px;bottom:0;height:3px;background:var(--red);transform:scaleX(0);transition:.25s}
.nav a:hover::after,.nav a.active::after{transform:scaleX(1)}
.nav a:hover{color:#fff}.nav a.active{color:#ff485b}
.account{display:flex;justify-content:flex-end;align-items:center;gap:12px}
.balance{height:54px;min-width:145px;border:1px solid #202935;border-radius:10px;background:#05080c;padding:8px 13px;display:flex;justify-content:space-between;align-items:center}
.balance span{display:block;font-size:8px;color:#7c8795;letter-spacing:.12em}.balance strong{display:block;color:#48e542;font-size:19px;margin-top:2px}
.plus{width:31px;height:31px;border-radius:50%;display:grid;place-items:center;background:#121820;color:#fff;font-weight:900}
.profile{height:54px;min-width:176px;padding:6px 12px;border:1px solid #202935;border-radius:10px;background:#05080c;color:#fff;display:flex;align-items:center;gap:11px}
.avatar{width:38px;height:38px;border-radius:50%;border:1px solid #f02d43;display:grid;place-items:center;font-weight:900}
.profile b{font-size:13px}.profile i{font-style:normal;margin-left:auto;color:#9aa4b1}
.authbtn{height:46px;border:1px solid #222b36;background:#070b10;color:#fff;border-radius:8px;padding:0 15px;font-weight:900}
.authbtn.primary{background:linear-gradient(180deg,#f32a42,#ca132a);border-color:#f32a42;box-shadow:0 10px 30px rgba(237,35,58,.22)}
[hidden]{display:none!important}
.menu{position:fixed;top:72px;right:30px;z-index:70;background:#090e15;border:1px solid #26313e;min-width:190px;padding:7px;border-radius:8px;box-shadow:0 24px 70px #0008;animation:drop .18s ease}
.menu a,.menu button{display:block;width:100%;border:0;background:none;color:#c8ced6;padding:11px;border-radius:5px;text-align:left}.menu a:hover,.menu button:hover{background:#121923;color:#fff}
@keyframes drop{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}

/* shared type */
.kicker{font-size:13px;font-weight:900;font-style:italic;letter-spacing:.14em;color:#ff4357;text-transform:uppercase}
.display{font-family:"Arial Narrow",Impact,Haettenschweiler,sans-serif;font-size:clamp(66px,7.5vw,116px);line-height:.85;letter-spacing:-.045em;font-style:italic;text-transform:uppercase;margin:17px 0 22px}
.display .red{color:#dd182d;text-shadow:0 10px 35px rgba(216,24,45,.14)}
.copy{font-size:17px;line-height:1.65;color:#a9b2be;max-width:590px}
.btns{display:flex;gap:16px;flex-wrap:wrap;margin-top:28px}
.btn{min-width:180px;height:48px;border-radius:5px;border:1px solid #303c49;background:#070c12;color:#fff;font-weight:900;font-size:13px;letter-spacing:.02em;display:inline-flex;align-items:center;justify-content:center;gap:10px;position:relative;overflow:hidden;transition:.22s}
.btn.primary{background:linear-gradient(#f2263c,#c90f27);border-color:#ef263c;box-shadow:0 10px 25px rgba(239,38,60,.2)}
.btn:hover{transform:translateY(-2px);border-color:#596a7d}.btn.primary:hover{box-shadow:0 15px 35px rgba(239,38,60,.3)}
.btn::after{content:"";position:absolute;inset:-100% -40%;background:linear-gradient(120deg,transparent 45%,#fff4 50%,transparent 55%);transform:translateX(-65%);transition:.65s}.btn:hover::after{transform:translateX(65%)}
.section-title{font-family:"Arial Narrow",Impact,sans-serif;font-style:italic;letter-spacing:.13em;font-size:18px;text-transform:uppercase;color:#d8dde4;margin:0 0 20px}.section-title::after{content:"";display:inline-block;width:18px;height:2px;background:var(--red);margin-left:12px;vertical-align:middle}
.panel{border:1px solid #1e2935;background:linear-gradient(180deg,#070b10,#05080c);border-radius:7px}

/* hero */
.hero{min-height:650px;display:grid;grid-template-columns:.78fr 1.22fr;align-items:stretch;border-bottom:1px solid #14202b}
.hero-copy{padding:73px 0 42px;align-self:center;position:relative;z-index:3}
.hero-art{position:relative;min-height:650px;overflow:hidden}
.hero-art::before{content:"";position:absolute;inset:0;background-image:url("./hero-arena.jpg");background-size:cover;background-position:center;transform:scale(1.02);animation:heroFloat 9s ease-in-out infinite alternate}
.hero-art::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#030507 0%,transparent 23%,transparent 76%,#03050722),linear-gradient(0deg,#030507 0%,transparent 30%)}
@keyframes heroFloat{from{transform:scale(1.02) translate3d(0,0,0)}to{transform:scale(1.055) translate3d(-10px,-4px,0)}}
.live-stats{display:flex;align-items:center;gap:0;margin-top:28px}
.live-stat{min-width:145px;padding:0 20px;border-right:1px solid #1a2430;display:grid;grid-template-columns:34px 1fr;gap:10px;align-items:center}
.live-stat:first-child{padding-left:0}.live-stat:last-child{border:0}
.stat-icon{width:34px;height:34px;border:1px solid currentColor;border-radius:50%;display:grid;place-items:center;color:#52e44e;font-size:13px}.live-stat:nth-child(2) .stat-icon{color:#f13b4e}.live-stat:nth-child(3) .stat-icon{color:#179bff}
.live-stat strong{font-size:18px}.live-stat span{display:block;font-size:8px;color:#707c8c;margin-top:4px}
.pulse-dot{width:8px;height:8px;border-radius:50%;background:#43e642;box-shadow:0 0 0 0 #43e64277;display:inline-block;animation:pulse 1.7s infinite}
@keyframes pulse{70%{box-shadow:0 0 0 10px #43e64200}100%{box-shadow:0 0 0 0 #43e64200}}

/* sport cards */
.sports{padding:20px 0 26px}
.choose{text-align:center;font-family:"Arial Narrow",Impact,sans-serif;font-style:italic;letter-spacing:.25em;font-size:18px;color:#c7ced8;margin:0 0 14px}.choose::before,.choose::after{content:"";display:inline-block;width:90px;height:1px;background:linear-gradient(90deg,transparent,#d72a3c);vertical-align:middle;margin:0 18px}.choose::after{background:linear-gradient(90deg,#d72a3c,transparent)}
.sport-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:14px}
.sport-card{height:275px;position:relative;border:1px solid #263240;border-radius:7px;overflow:hidden;background:#0b1016;transform-style:preserve-3d;transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease}
.sport-card::before{content:"";position:absolute;inset:0;background-image:var(--img);background-size:cover;background-position:center;transform:scale(1.06);transition:transform .45s ease}
.sport-card::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 28%,rgba(3,5,7,.16) 48%,rgba(3,5,7,.97) 89%)}
.sport-card:hover{transform:translateY(-7px) perspective(800px) rotateX(1.8deg);border-color:var(--accent);box-shadow:0 20px 45px #0009,0 0 0 1px color-mix(in srgb,var(--accent) 40%,transparent)}
.sport-card:hover::before{transform:scale(1.13)}
.sport-info{position:absolute;z-index:2;left:18px;right:16px;bottom:15px}.sport-info h3{font-family:"Arial Narrow",Impact,sans-serif;font-style:italic;font-size:27px;margin:0;text-transform:uppercase;letter-spacing:-.02em}.sport-info small{display:block;margin-top:5px;color:var(--accent);font-size:10px;font-weight:900;text-transform:uppercase}.sport-arrow{position:absolute;z-index:3;right:15px;bottom:15px;width:31px;height:31px;border:2px solid var(--accent);border-radius:50%;display:grid;place-items:center;color:var(--accent);font-weight:900;transition:.2s}.sport-card:hover .sport-arrow{background:var(--accent);color:#040608;transform:translateX(2px)}

/* lower dashboard */
.dashboard{display:grid;grid-template-columns:1.12fr .8fr 1fr;gap:14px;padding:0 0 30px}
.dash-panel{min-height:170px;padding:20px}
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.step{display:grid;grid-template-columns:45px 1fr;gap:10px;align-items:start}.step-icon{width:42px;height:42px;border-radius:50%;background:#111923;border:1px solid #273441;display:grid;place-items:center;font-weight:900}.step b{font-size:11px}.step p{margin:5px 0 0;font-size:9px;color:#8995a4;line-height:1.5}
.match-row,.rank-row{display:grid;align-items:center;border-top:1px solid #18222d;min-height:39px;font-size:10px}.match-row{grid-template-columns:1fr 32px 1fr 42px}.rank-row{grid-template-columns:28px 1fr 70px}.match-row b,.rank-row b{font-size:10px}.live{color:#ff3449;font-weight:900}.score{font-weight:900;text-align:right}
.rank-card{display:grid;grid-template-columns:1fr 130px;gap:16px}.season-badge{border-left:1px solid #1b2531;padding-left:15px;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center}.season-badge strong{font-family:"Arial Narrow",Impact,sans-serif;font-style:italic;font-size:21px}.season-badge span{font-size:9px;color:#8793a1;margin:5px 0 12px}
.footer{border-top:1px solid #18222d;padding:20px 0 28px;color:#7a8696;font-size:9px}.footer-inner{display:flex;align-items:center;justify-content:space-between}.footer img{width:75px}.footer a{margin-left:28px}.footer a:hover{color:#fff}

/* inner pages */
.page-hero{min-height:540px;display:grid;grid-template-columns:.72fr 1.28fr;border-bottom:1px solid #18222d}
.page-copy{padding:80px 0 55px;align-self:center}
.page-visual{position:relative;min-height:540px;background-image:var(--hero);background-size:cover;background-position:center;border-left:1px solid #17212c}
.page-visual::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#030507,transparent 35%),linear-gradient(0deg,#030507aa,transparent 45%)}
.game-modes{padding:28px 0 70px;display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.mode{min-height:190px;padding:20px;border:1px solid #202b37;background:#070b10;border-radius:5px;position:relative;transition:.25s}.mode:hover{transform:translateY(-4px);border-color:#485a6d;background:#0a1017}.mode .n{color:#627083;font-size:9px;font-weight:900}.mode h3{font-family:"Arial Narrow",Impact,sans-serif;font-style:italic;font-size:28px;margin:50px 0 8px}.mode p{font-size:11px;color:#8794a4;line-height:1.55}.mode.locked{opacity:.45}
.profile-page{padding:70px 0}.tabs{display:flex;border-bottom:1px solid #283340;overflow:auto}.tabs button{border:0;background:none;color:#7f8b9c;padding:14px 18px;font-weight:900;font-size:10px;position:relative}.tabs button.active{color:#fff}.tabs button.active::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:#f02d43;animation:tabsweep .25s ease}@keyframes tabsweep{from{transform:scaleX(.15)}to{transform:scaleX(1)}}.tabbody{min-height:180px;padding:24px;border:1px solid #202b37;border-top:0;background:#070b10}
.leaderboard{padding:60px 0}.table{border:1px solid #202b37;background:#070b10}.tr{display:grid;grid-template-columns:60px 1fr 120px 120px;padding:15px;border-top:1px solid #19232e;align-items:center;font-size:11px}.tr.head{color:#697687;font-size:8px;font-weight:900;letter-spacing:.1em}.tr.me{background:linear-gradient(90deg,#0e2942,#071019)}
.settings{display:grid;grid-template-columns:230px 1fr;gap:18px;padding:60px 0}.sidenav{border-right:1px solid #202b37}.sidenav a{display:block;padding:13px;color:#8794a3;font-size:11px}.sidenav a.active,.sidenav a:hover{background:#0a1119;color:#fff;border-left:2px solid #1c98ff}.settings-panel{padding:25px;border:1px solid #202b37;background:#070b10}

/* reveals */
.reveal{opacity:0;transform:translateY(20px);transition:opacity .65s ease,transform .65s ease}.reveal.show{opacity:1;transform:none}
body{animation:pagein .42s ease both}@keyframes pagein{from{opacity:.2}to{opacity:1}}

@media(max-width:1180px){
  .header-inner{grid-template-columns:170px 1fr 300px}.brand img{width:135px}.nav a{padding:0 10px;font-size:11px}
  .sport-grid{grid-template-columns:repeat(3,1fr)}.sport-card{height:260px}.dashboard{grid-template-columns:1fr 1fr}.dashboard> :last-child{grid-column:1/-1}
}
@media(max-width:880px){
  .nav{display:none}.header-inner{grid-template-columns:150px 1fr}.account{grid-column:2;justify-self:end}
  .hero,.page-hero{grid-template-columns:1fr}.hero-art,.page-visual{min-height:430px}.hero-copy{padding-top:55px}.page-visual{border-left:0}
  .dashboard{grid-template-columns:1fr}.dashboard> :last-child{grid-column:auto}.game-modes{grid-template-columns:1fr 1fr}
}
@media(max-width:640px){
  .shell,.header-inner{width:calc(100% - 26px)}.site-header{height:auto;min-height:76px}.header-inner{min-height:76px;grid-template-columns:90px 1fr}.brand img{width:86px;height:60px}
  .balance{display:none}.profile{min-width:auto}.profile b{display:none}.authbtn{padding:0 10px;font-size:10px}.display{font-size:58px}.hero-art{min-height:330px}
  .sport-grid{grid-template-columns:1fr 1fr;gap:8px}.sport-card{height:225px}.choose::before,.choose::after{width:25px;margin:0 8px}.dashboard{padding-bottom:18px}
  .steps{grid-template-columns:1fr}.live-stats{flex-wrap:wrap}.live-stat{min-width:50%;padding:8px 12px}.game-modes{grid-template-columns:1fr}.settings{grid-template-columns:1fr}.sidenav{border-right:0}.rank-card{grid-template-columns:1fr}.season-badge{border-left:0;border-top:1px solid #1b2531;padding:15px 0 0}.tr{grid-template-columns:40px 1fr 80px}.tr>*:last-child{display:none}
}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}


/* =========================================================
   V8.1 — CLEANER VISUALS / NO BLOWN-UP AI ART
   ========================================================= */

/* Home hero: image becomes a contained visual panel, not a full-width blown-up scene */
.hero{
  grid-template-columns:1fr 520px;
  min-height:580px;
  align-items:center;
}
.hero-art{
  min-height:0;
  height:430px;
  margin-right:28px;
  border:1px solid #1d2733;
  border-radius:8px;
  overflow:hidden;
  background:#070b10;
  box-shadow:0 20px 60px rgba(0,0,0,.38);
}
.hero-art::before{
  background-size:contain;
  background-repeat:no-repeat;
  background-position:center;
  transform:none;
  animation:none;
}
.hero-art::after{
  background:
    linear-gradient(90deg,rgba(3,5,7,.62),transparent 22%,transparent 78%,rgba(3,5,7,.18)),
    linear-gradient(0deg,#030507 0%,transparent 24%);
}

/* Sport cards: shorter, tighter, and image no longer overstretched */
.sport-card{
  height:220px;
}
.sport-card::before{
  background-size:cover;
  background-position:center 42%;
  transform:none;
}
.sport-card:hover::before{
  transform:scale(1.035);
}
.sport-info h3{
  font-size:22px;
}
.sport-info small{
  font-size:9px;
}

/* Inner sport pages: remove giant image wall and use a compact visual module */
.page-hero{
  grid-template-columns:1fr 430px;
  min-height:480px;
  align-items:center;
}
.page-visual{
  min-height:0;
  height:360px;
  margin-right:30px;
  border:1px solid #1d2733;
  border-radius:8px;
  overflow:hidden;
  background-color:#070b10;
  background-size:contain;
  background-repeat:no-repeat;
  background-position:center;
  box-shadow:0 20px 55px rgba(0,0,0,.34);
}
.page-visual::after{
  background:
    linear-gradient(90deg,rgba(3,5,7,.4),transparent 28%),
    linear-gradient(0deg,rgba(3,5,7,.8),transparent 35%);
}

/* Tone down headline size so page composition feels more premium */
.page-copy .display{
  font-size:clamp(54px,6vw,88px);
}
.hero-copy .display{
  font-size:clamp(60px,6.5vw,96px);
}

/* Keep dashboard and sport selector more compact */
.sports{padding:16px 0 24px}
.dashboard{padding-top:2px}

/* Make cards feel cleaner and less image-generated by using stronger UI framing */
.sport-card{
  background:#070b10;
  border-color:#25303d;
}
.sport-card::after{
  background:linear-gradient(180deg,rgba(3,5,7,.02) 18%,rgba(3,5,7,.25) 52%,rgba(3,5,7,.96) 88%);
}
.sport-card:hover{
  transform:translateY(-4px);
}

/* Responsive */
@media(max-width:1180px){
  .hero{grid-template-columns:1fr 430px}
  .hero-art{height:380px}
  .page-hero{grid-template-columns:1fr 380px}
  .page-visual{height:320px}
}
@media(max-width:880px){
  .hero,.page-hero{grid-template-columns:1fr}
  .hero-art,.page-visual{
    width:min(100%,620px);
    height:340px;
    margin:0 auto 28px;
  }
  .page-visual{order:-1}
}
@media(max-width:640px){
  .hero-art,.page-visual{height:260px}
  .sport-card{height:185px}
}


/* =========================================================
   V9 — FULL CINEMATIC MOTION BACKGROUNDS
   Inspired by premium logistics/sports broadcast hero layouts:
   motion fills the environment, UI stays crisp above a dark overlay.
   ========================================================= */
.video-hero{
  position:relative;
  display:block!important;
  min-height:600px;
  overflow:hidden;
  isolation:isolate;
  border-bottom:1px solid #18222d;
}
.hero-video{
  position:absolute;
  z-index:-3;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  filter:saturate(.78) contrast(1.08);
}
.hero-shade{
  position:absolute;
  z-index:-2;
  inset:0;
  background:
    linear-gradient(90deg,rgba(2,5,8,.96) 0%,rgba(2,5,8,.88) 28%,rgba(2,5,8,.54) 58%,rgba(2,5,8,.62) 100%),
    linear-gradient(0deg,rgba(2,5,8,.88) 0%,transparent 42%,rgba(2,5,8,.18) 100%);
}
.video-hero::after{
  content:"";
  position:absolute;
  z-index:-1;
  inset:0;
  pointer-events:none;
  background:
    linear-gradient(rgba(255,255,255,.018) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.012) 1px,transparent 1px);
  background-size:48px 48px;
  mask-image:linear-gradient(90deg,#000,transparent 75%);
}
.video-hero .page-copy{
  width:min(var(--max),calc(100% - 56px));
  min-height:600px;
  margin:auto;
  padding:96px 0 74px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:flex-start;
}
.video-hero .page-copy .copy{max-width:610px;color:#bdc5ce}
.video-hero .page-copy .display{
  max-width:820px;
  text-shadow:0 7px 32px rgba(0,0,0,.5);
}
.home-video-hero{
  min-height:680px;
}
.hero-shell{
  width:min(var(--max),calc(100% - 56px));
  min-height:680px;
  margin:auto;
  display:flex;
  align-items:center;
}
.home-video-hero .hero-copy{
  width:100%;
  max-width:760px;
  margin:0;
  padding:80px 0 58px;
}
.home-video-hero .hero-copy .copy{color:#c1c8d0}
.home-video-hero .hero-copy .display{
  font-size:clamp(68px,7vw,108px);
  text-shadow:0 8px 35px rgba(0,0,0,.55);
}

/* More restrained typography and content frame */
.video-hero .kicker{
  padding-left:31px;
  position:relative;
}
.video-hero .kicker::before{
  content:"";
  position:absolute;
  left:0;
  top:50%;
  width:20px;
  height:1px;
  background:#ef2c42;
}
.video-hero .btn{
  backdrop-filter:blur(7px);
}
.video-hero .btn:not(.primary){
  background:rgba(4,8,12,.58);
}

/* sport cards retain visuals but become secondary to motion hero */
.sport-card{height:205px}
.sport-card::before{filter:saturate(.72) contrast(1.05)}
.sport-card:hover::before{transform:scale(1.025)}

/* Give the header a slight transparent broadcast feel */
.site-header{
  background:rgba(2,4,6,.91);
}

/* Video loading fallback stays dark and clean */
.video-hero{
  background:#05090d center/cover no-repeat;
}

/* Mobile: retain video where supported, reduce height/data pressure visually */
@media(max-width:880px){
  .video-hero,.video-hero .page-copy{min-height:540px}
  .home-video-hero,.hero-shell{min-height:600px}
  .hero-shade{
    background:linear-gradient(90deg,rgba(2,5,8,.94),rgba(2,5,8,.7)),
               linear-gradient(0deg,rgba(2,5,8,.88),transparent 55%);
  }
}
@media(max-width:640px){
  .video-hero,.video-hero .page-copy{min-height:500px}
  .video-hero .page-copy{width:calc(100% - 28px);padding:65px 0 48px}
  .home-video-hero,.hero-shell{min-height:570px}
  .hero-shell{width:calc(100% - 28px)}
  .home-video-hero .hero-copy{padding:65px 0 45px}
  .hero-video{object-position:center}
}
@media(prefers-reduced-motion:reduce){
  .hero-video{display:none}
  .video-hero{background-image:url("./hero-arena.jpg")}
}


/* =========================================================
   V10 — UNIQUE FAST-PACED VIDEO PER TAB/PAGE
   ========================================================= */
.hero-video{
  filter:saturate(.76) contrast(1.13) brightness(.84);
  transform:scale(1.025);
}
.video-hero::before{
  content:"";
  position:absolute;
  z-index:-1;
  inset:0;
  pointer-events:none;
  background:
    radial-gradient(circle at 74% 28%,rgba(255,255,255,.06),transparent 20%),
    linear-gradient(110deg,transparent 62%,rgba(255,43,65,.045) 76%,transparent 88%);
  mix-blend-mode:screen;
}
.hero-shade{
  background:
    linear-gradient(90deg,rgba(2,5,8,.96) 0%,rgba(2,5,8,.86) 31%,rgba(2,5,8,.48) 62%,rgba(2,5,8,.58) 100%),
    linear-gradient(0deg,rgba(2,5,8,.82) 0%,transparent 46%,rgba(2,5,8,.14) 100%);
}

/* Slight broadcast-style energy without distracting from text */
.video-hero .page-copy::after,
.home-video-hero .hero-copy::after{
  content:"";
  width:74px;
  height:2px;
  margin-top:24px;
  background:linear-gradient(90deg,#ef2b42,transparent);
  animation:h2hEnergy 1.9s ease-in-out infinite alternate;
}
@keyframes h2hEnergy{
  from{opacity:.4;transform:scaleX(.55);transform-origin:left}
  to{opacity:1;transform:scaleX(1);transform-origin:left}
}

@media(prefers-reduced-motion:reduce){
  .video-hero .page-copy::after,
  .home-video-hero .hero-copy::after{animation:none}
}


/* V11 — uploaded H2H commercial as continuous site background */
.hero-video{
  filter:saturate(.82) contrast(1.08) brightness(.58);
}
.hero-shade{
  background:
    linear-gradient(90deg,rgba(2,5,8,.94) 0%,rgba(2,5,8,.84) 30%,rgba(2,5,8,.44) 62%,rgba(2,5,8,.56) 100%),
    linear-gradient(0deg,rgba(2,5,8,.78) 0%,transparent 48%,rgba(2,5,8,.18) 100%);
}

/* V11.2 — wallet actions */
.wallet-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:20px}
.wallet-actions .btn{width:100%;min-width:0}
.wallet-meta{display:flex;justify-content:space-between;gap:18px;padding-top:14px;margin-top:14px;border-top:1px solid #1d2834;color:#7f8b99;font-size:9px;text-transform:uppercase;letter-spacing:.05em}
.wallet-meta b{color:#dce2e8}
@media(max-width:520px){.wallet-actions{grid-template-columns:1fr}.wallet-meta{flex-direction:column;gap:7px}}


/* =========================================================
   V12 — PLAYABLE BASKETBALL DRAFT ROOM
   Uses the existing H2H visual system without changing site appearance.
   ========================================================= */
.draft-stage{min-height:calc(100vh - 84px);padding:26px 0 34px}
.draft-stage .hero-shade{background:linear-gradient(90deg,rgba(2,5,8,.96),rgba(2,5,8,.82) 42%,rgba(2,5,8,.88)),linear-gradient(0deg,rgba(2,5,8,.92),transparent 55%)}
.draft-shell{position:relative;z-index:2}
.draft-topbar{display:grid;grid-template-columns:1fr auto 130px;align-items:end;gap:20px;padding:16px 0 14px;border-bottom:1px solid #26313e}
.draft-topbar h1{font-family:"Arial Narrow",Impact,sans-serif;font-style:italic;font-size:38px;margin:5px 0 0}
.draft-status{text-align:center}.draft-status span,.draft-status strong{display:block}.draft-status span{font-size:8px;color:#718094;letter-spacing:.12em}.draft-status strong{font-size:11px;color:#fff;margin-top:4px}
.draft-clock-wrap{text-align:right}.draft-clock-wrap span{display:block;font-size:7px;color:#718094;letter-spacing:.11em}.draft-clock-wrap strong{font-family:"Arial Narrow",Impact,sans-serif;font-size:34px;color:#fff}.draft-clock-wrap strong.danger{color:#ff3349;animation:clockPulse .6s infinite alternate}
@keyframes clockPulse{to{transform:scale(1.08);text-shadow:0 0 16px rgba(255,51,73,.6)}}
.draft-scoreboard{display:grid;grid-template-columns:1fr 60px 1fr;align-items:center;padding:14px 0}
.draft-user{display:flex;align-items:center;gap:12px}.draft-user.red{justify-content:flex-end;text-align:right}.draft-avatar{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;font-size:10px;font-weight:900;border:1px solid #2999ff;background:#0b2842}.draft-user.red .draft-avatar{border-color:#f33b4f;background:#361017}.draft-user small,.draft-user strong,.draft-user b{display:block}.draft-user small{font-size:7px;color:#6e7b8d;letter-spacing:.1em}.draft-user strong{font-size:12px;margin:2px 0}.draft-user b{font-size:8px;color:#8995a5}.draft-vs{text-align:center;color:#687587;font-weight:900;font-size:10px}
.draft-layout{display:grid;grid-template-columns:260px minmax(0,1fr) 260px;gap:12px;align-items:start}
.roster-panel,.pool-panel{border:1px solid #202b37;background:rgba(5,9,14,.91);border-radius:5px;overflow:hidden;backdrop-filter:blur(10px)}
.panel-title{height:44px;display:flex;align-items:center;justify-content:space-between;padding:0 13px;border-bottom:1px solid #1b2632;background:#080d13}.panel-title span{font-size:9px;font-weight:900;letter-spacing:.1em}.panel-title b{font-size:9px;color:#6faeff}
.roster-list{padding:8px}.roster-slot{min-height:57px;display:grid;grid-template-columns:30px 1fr 28px;gap:8px;align-items:center;padding:8px;border-bottom:1px solid #18222c}.roster-slot:last-child{border-bottom:0}.roster-slot>b{font-size:9px;color:#5f6c7e}.roster-slot span{font-size:8px;color:#4f5b69}.roster-slot strong,.roster-slot small{display:block}.roster-slot strong{font-size:9px}.roster-slot small{font-size:7px;color:#69778a;margin-top:3px}.roster-slot em{font-style:normal;font-size:11px;font-weight:900;color:#fff}.roster-slot.filled{background:linear-gradient(90deg,rgba(37,143,234,.07),transparent)}
.opponent .panel-title b{color:#ff6b7b}.opponent .roster-slot.filled{background:linear-gradient(270deg,rgba(255,49,72,.06),transparent)}
.pool-toolbar{min-height:58px;padding:10px 12px;display:flex;justify-content:space-between;gap:16px;align-items:center;border-bottom:1px solid #1b2632}.pool-toolbar>div:first-child span,.pool-toolbar>div:first-child small{display:block}.pool-toolbar>div:first-child span{font-size:9px;font-weight:900;letter-spacing:.1em}.pool-toolbar>div:first-child small{font-size:7px;color:#667486;margin-top:4px}
.position-tabs{display:flex;gap:4px}.position-tabs button{border:1px solid #283441;background:#0b1119;color:#778496;border-radius:3px;padding:7px 8px;font-size:7px;font-weight:900}.position-tabs button.active{background:#14324f;border-color:#296fa8;color:#80c4ff}
.draft-alert{margin:9px 10px 5px;padding:9px 11px;border-left:2px solid #2799ff;background:#0a1724;color:#9ed2ff;font-size:8px;font-weight:800;letter-spacing:.03em}.draft-alert.success{border-left-color:#48df77;background:#0a1b14;color:#93eeb0}.draft-alert.warning{border-left-color:#efbd35;background:#1b1708;color:#f0d271}
.player-pool{padding:6px 10px 10px;max-height:480px;overflow:auto}.player-pool::-webkit-scrollbar{width:5px}.player-pool::-webkit-scrollbar-thumb{background:#263341}
.draft-player{display:grid;grid-template-columns:38px 1fr 48px 64px;gap:9px;align-items:center;padding:8px;border-bottom:1px solid #18222d;transition:.18s}.draft-player:hover{background:#0c131c}.draft-player-badge{width:32px;height:32px;border:1px solid #293644;display:grid;place-items:center;color:#8ebfe9;font-size:8px;font-weight:900}.draft-player-info strong,.draft-player-info small{display:block}.draft-player-info strong{font-size:9px}.draft-player-info small{font-size:7px;color:#6c798b;margin-top:3px}.draft-rating{text-align:center}.draft-rating span,.draft-rating strong{display:block}.draft-rating span{font-size:6px;color:#687486}.draft-rating strong{font-size:13px}.draft-player button{height:30px;border:1px solid #28679b;background:#0c2943;color:#79c3ff;border-radius:3px;font-size:7px;font-weight:900}.draft-player button:hover:not(:disabled){background:#12406a}.draft-player button:disabled{border-color:#303641;background:#15181e;color:#5a6370;cursor:not-allowed}.draft-player.is-taken{opacity:.42}.draft-player.slot-filled:not(.is-taken){opacity:.65}
.draft-bottom{display:flex;align-items:center;justify-content:space-between;padding-top:12px}.draft-legend{display:flex;gap:16px;color:#6f7b8c;font-size:8px}.draft-legend span{display:flex;align-items:center;gap:6px}.dot{width:7px;height:7px;border-radius:50%}.dot.available{background:#2799ff}.dot.taken{background:#555c66}
.draft-result{position:fixed;z-index:120;inset:0;background:rgba(0,0,0,.82);display:grid;place-items:center;padding:20px;backdrop-filter:blur(10px)}.draft-result[hidden]{display:none!important}.result-card{width:min(540px,100%);padding:30px;border:1px solid #2b3744;background:#070b10;box-shadow:0 30px 90px #000;border-radius:6px;text-align:center}.result-card h2{font-family:"Arial Narrow",Impact,sans-serif;font-style:italic;font-size:46px;margin:14px 0 8px}.result-card p{color:#8f9aa8;font-size:12px;line-height:1.6}.result-scores{display:grid;grid-template-columns:1fr 50px 1fr;align-items:center;margin:24px 0;border-top:1px solid #1d2834;border-bottom:1px solid #1d2834;padding:18px 0}.result-scores span,.result-scores strong{display:block}.result-scores span{font-size:8px;color:#687486}.result-scores strong{font-size:38px;margin-top:4px}
@media(max-width:1080px){.draft-layout{grid-template-columns:210px minmax(0,1fr) 210px}}
@media(max-width:860px){.draft-layout{grid-template-columns:1fr}.roster-panel{order:2}.pool-panel{order:1}.opponent{order:3}.player-pool{max-height:none}.draft-scoreboard{grid-template-columns:1fr 40px 1fr}}
@media(max-width:600px){.draft-stage{padding-top:10px}.draft-topbar{grid-template-columns:1fr auto}.draft-status{display:none}.draft-clock-wrap{grid-column:2}.draft-topbar h1{font-size:30px}.pool-toolbar{align-items:flex-start;flex-direction:column}.position-tabs{width:100%;overflow:auto}.draft-player{grid-template-columns:34px 1fr 40px 55px}.draft-user b{display:none}.draft-bottom{align-items:flex-start;gap:12px;flex-direction:column}}

.ready-check,.match-countdown{position:fixed;inset:0;z-index:140;background:rgba(0,0,0,.82);backdrop-filter:blur(12px);display:grid;place-items:center;padding:24px}
.ready-check[hidden],.match-countdown[hidden]{display:none!important}
.ready-card{width:min(720px,100%);background:#080d13;border:1px solid #2a3644;border-radius:7px;padding:28px;box-shadow:0 30px 90px #000}
.ready-head{display:flex;justify-content:space-between;color:#ff4054;font-size:10px;font-weight:900;letter-spacing:.12em}.ready-head strong{font-size:38px;color:#fff}
.ready-card h2{font-family:"Arial Narrow",Impact,sans-serif;font-style:italic;font-size:46px;margin:12px 0 8px}.ready-card p{color:#8d99a8;font-size:12px}
.ready-versus{display:grid;grid-template-columns:1fr 50px 1fr;align-items:center;gap:10px;margin:24px 0}.ready-vs{text-align:center;color:#596779;font-weight:900}
.ready-player{position:relative;display:grid;grid-template-columns:42px 1fr;gap:10px;align-items:center;padding:14px;border:1px solid #26313e;background:#0a0f16}.ready-player>b{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:#0b2943;border:1px solid #2f9cff}.ready-player small,.ready-player strong{display:block}.ready-player small{font-size:7px;color:#758195}.ready-player strong{font-size:12px;margin-top:2px}.ready-player em{position:absolute;right:10px;top:10px;font-style:normal;font-size:7px;color:#697587}.ready-player.is-ready{border-color:#3fd77c;box-shadow:inset 3px 0 #3fd77c}.ready-player.is-ready em{color:#3fd77c}
.ready-actions{display:flex;gap:12px;flex-wrap:wrap}.ready-msg{margin-top:15px;border-top:1px solid #1c2631;padding-top:12px;color:#788596;font-size:9px}
.match-countdown{text-align:center;align-content:center}.match-countdown span{font-size:10px;letter-spacing:.16em;color:#8591a0;font-weight:900}.match-countdown strong{display:block;font-family:Impact,sans-serif;font-size:120px;margin-top:8px;animation:readyPop .7s ease infinite}@keyframes readyPop{from{transform:scale(.72);opacity:.4}to{transform:scale(1);opacity:1}}
@media(max-width:620px){.ready-versus{grid-template-columns:1fr}.ready-vs{height:24px}.ready-card{padding:20px}.ready-card h2{font-size:36px}}

/* V12.2 multi-position lineup selection */
.position-modal{position:fixed;inset:0;z-index:160;background:rgba(0,0,0,.82);backdrop-filter:blur(12px);display:grid;place-items:center;padding:20px}
.position-modal[hidden]{display:none!important}
.position-card{width:min(470px,100%);padding:28px;border:1px solid #2a3745;background:#080d13;border-radius:7px;box-shadow:0 30px 90px #000}
.position-card h2{font-family:"Arial Narrow",Impact,sans-serif;font-style:italic;font-size:36px;margin:14px 0 6px}
.position-card p{color:#8491a2;font-size:11px;line-height:1.6}
.eligible-position-buttons{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin:20px 0}
.position-choice{height:54px;border:1px solid #2d6f9f;background:#0b263d;color:#83caff;border-radius:4px;font-size:13px;font-weight:900;transition:.18s}
.position-choice:hover{transform:translateY(-2px);background:#123b5e;border-color:#3aa8f5}
.roster-slot.filled{cursor:pointer}.roster-slot.filled:hover{outline:1px solid #2d78ad}
@media(max-width:480px){.eligible-position-buttons{grid-template-columns:repeat(3,1fr)}}

/* V12.3 randomized 30-player pool + ban phase */
.ban-phase{position:fixed;inset:0;z-index:155;background:rgba(0,0,0,.88);backdrop-filter:blur(12px);display:grid;place-items:center;padding:20px}
.ban-phase[hidden]{display:none!important}.ban-card{width:min(920px,100%);max-height:90vh;overflow:auto;background:#080d13;border:1px solid #2b3744;border-radius:7px;padding:26px}
.ban-head{display:flex;justify-content:space-between;align-items:flex-start}.ban-head h2{font-family:"Arial Narrow",Impact,sans-serif;font-style:italic;font-size:42px;margin:8px 0}.ban-card>p{font-size:11px;color:#8793a2}
.ban-clock{text-align:right}.ban-clock span,.ban-clock strong{display:block}.ban-clock span{font-size:7px;color:#758194}.ban-clock strong{font-size:38px}
.ban-status{display:flex;justify-content:space-between;gap:12px;margin:18px 0 10px;font-size:8px;font-weight:900;color:#93a0b0}
.ban-pool{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.ban-player{position:relative;min-height:62px;text-align:left;border:1px solid #24303d;background:#0b1118;color:#fff;padding:9px 48px 9px 10px;border-radius:3px}.ban-player:hover:not(:disabled){border-color:#e13d50;background:#1a0d11}.ban-player>span,.ban-player>strong,.ban-player>small{display:block}.ban-player>span{font-size:6px;color:#758295}.ban-player>strong{font-size:9px;margin:3px 0}.ban-player>small{font-size:7px;color:#6e7b8d}.ban-player>b{position:absolute;right:12px;top:18px;font-size:18px}.ban-player:disabled{opacity:.42}
@media(max-width:700px){.ban-pool{grid-template-columns:1fr 1fr}.ban-card{padding:18px}.ban-head h2{font-size:32px}}
@media(max-width:430px){.ban-pool{grid-template-columns:1fr}}


/* V12.4 — Dual TEAM + ERA scan boards */
.dual-scan-layout{display:grid;grid-template-columns:minmax(0,1fr) 54px minmax(0,1fr);gap:16px;align-items:stretch;margin-top:18px}
.dual-vs{display:grid;place-items:center;font-family:Impact,sans-serif;font-size:16px;color:#738093}
.scan-side{min-width:0;border:1px solid #263241;background:rgba(8,13,19,.91);border-radius:8px;padding:14px}
.scan-side-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}
.scan-side-head>b{font-size:9px;color:#94a0b0}
.scan-workspace{display:grid;grid-template-columns:minmax(200px,.72fr) minmax(280px,1.28fr);gap:14px;align-items:stretch}
.scan-controls{min-width:0;padding:4px 0}
.scan-readouts{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.scan-box{min-height:92px;border-radius:7px;background:#151b2b;border:5px solid;display:grid;place-items:center;align-content:center;box-shadow:0 15px 35px rgba(0,0,0,.32)}
.scan-box small{font-size:9px;font-weight:900;margin-bottom:4px}
.scan-box strong{font-family:"Arial Narrow",Impact,sans-serif;font-size:31px;line-height:1}
.team-box{border-color:#ffae00;box-shadow:0 0 0 2px #8f5a00 inset,0 13px 30px rgba(255,128,0,.18)}.team-box small{color:#ff6b00}
.era-box{border-color:#168cff;box-shadow:0 0 0 2px #0c4f91 inset,0 13px 30px rgba(22,140,255,.18)}.era-box small{color:#ff6800}
.scan-spin{width:100%;height:58px;margin-top:28px;border:0;border-radius:17px;background:#ff6a00;color:white;font-size:18px;font-weight:950;box-shadow:0 14px 28px rgba(255,106,0,.28);cursor:pointer}
.scan-spin:disabled{opacity:.55;cursor:not-allowed}.scan-note{margin-top:14px;text-align:center;font-size:8px;color:#788698;letter-spacing:.06em}
.red-side .scan-spin{background:#e93d50;box-shadow:0 14px 28px rgba(233,61,80,.22)}
.court-board{min-height:330px;position:relative;overflow:hidden;border:1px solid #34404d;border-radius:24px;background:repeating-linear-gradient(90deg,#182130 0,#182130 4px,#1c2738 4px,#1c2738 8px);box-shadow:inset 0 0 60px rgba(0,0,0,.24)}
.court-lines{position:absolute;inset:0;pointer-events:none}.court-lines:before{content:"";position:absolute;left:7%;right:7%;top:-58%;height:100%;border:2px solid rgba(170,183,200,.32);border-radius:0 0 46% 46%}.court-hoop{position:absolute;left:50%;top:17%;width:40px;height:5px;border:2px solid rgba(170,183,200,.35);transform:translateX(-50%)}.court-paint{position:absolute;left:34%;right:34%;top:0;height:28%;border-left:2px solid rgba(170,183,200,.28);border-right:2px solid rgba(170,183,200,.28)}.court-arc{position:absolute;left:38%;right:38%;top:17%;height:25%;border:2px solid rgba(170,183,200,.28);border-radius:50%}
.court-brand{position:absolute;left:50%;top:53%;transform:translate(-50%,-50%);font-family:Impact,sans-serif;font-size:56px;color:rgba(125,138,158,.12)}
.court-slot{position:absolute;width:64px;min-height:58px;border:2px dashed rgba(185,195,210,.32);border-radius:13px;display:grid;place-items:center;color:#8792a3;background:rgba(21,29,42,.7);text-align:center;padding:4px}
.court-slot>span{font-size:11px;font-weight:900}.slot-c{top:8%;left:16%;transform:none}.slot-pf{top:8%;right:16%}.slot-sf{bottom:29%;left:5%}.slot-pg{bottom:19%;left:50%;transform:translateX(-50%)}.slot-sg{bottom:29%;right:5%}
.court-slot.filled{border-style:solid;border-color:#3aa8f5;background:rgba(9,26,41,.92)}.red-court .court-slot.filled{border-color:#ee5364;background:rgba(43,15,20,.9)}
.court-player b,.court-player strong,.court-player small{display:block}.court-player b{font-size:16px}.court-player strong{font-size:8px;max-width:56px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.court-player small{font-size:7px;color:#94a0ae}
.scan-pool-panel{margin-top:16px}
@media(max-width:1050px){.dual-scan-layout{grid-template-columns:1fr}.dual-vs{height:24px}.scan-workspace{grid-template-columns:minmax(180px,.8fr) minmax(260px,1.2fr)}}
@media(max-width:650px){.scan-workspace{grid-template-columns:1fr}.court-board{min-height:300px}.scan-box strong{font-size:26px}.dual-scan-layout{gap:10px}.scan-side{padding:11px}}

/* V12.5 — H2H blue/red scan identity */
.blue-side .era-box{border-color:#168cff;box-shadow:0 0 0 2px #0c4f91 inset,0 13px 30px rgba(22,140,255,.2)}
.blue-side .era-box small{color:#55b4ff}
.red-side .team-box,.red-side .era-box{border-color:#ef4054;box-shadow:0 0 0 2px #7f1e2a inset,0 13px 30px rgba(239,64,84,.18)}
.red-side .team-box small,.red-side .era-box small{color:#ff6577}
.blue-side .team-box{border-color:#168cff;box-shadow:0 0 0 2px #0c4f91 inset,0 13px 30px rgba(22,140,255,.2)}
.blue-side .team-box small{color:#55b4ff}

/* V12.6 strict historical-data indicator */
.data-integrity{margin-top:8px;padding:7px 8px;border:1px solid #263442;background:rgba(5,10,16,.75);
font-size:7px;font-weight:900;letter-spacing:.08em;color:#7f8d9d;text-align:center}
.blue-side .data-integrity{border-color:#1f5d8e;color:#66b9f5}
.red-side .data-integrity{border-color:#7d2b35;color:#f17482}

/* V12.7 — dual player pools, visible stats, one rescan token */
.dual-player-panels{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:16px}
.player-panel{min-width:0;border:1px solid #273343;background:rgba(8,13,19,.94);border-radius:8px;padding:14px}
.player-panel-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}
.scan-badges{display:flex;gap:8px}.team-badge,.era-badge{display:inline-flex;align-items:center;justify-content:center;min-width:50px;height:32px;padding:0 12px;border-radius:18px;background:#0c6fb9;color:#fff;font-size:11px;font-weight:950}.era-badge{background:#123c66}.team-badge.red,.era-badge.red{background:#a91f31}
.rescan-actions{display:flex;gap:7px;align-items:center;flex-wrap:wrap;justify-content:flex-end}.rescan-actions button{height:30px;border:0;border-radius:16px;background:#0f87d8;color:#fff;font-size:8px;font-weight:950;padding:0 12px}.rescan-actions button:disabled{opacity:.38}.rescan-actions small{width:100%;text-align:right;color:#718093;font-size:6px}.rival-actions button{background:#a52a3b}
.player-search{height:34px;min-width:170px;border:1px solid #334153;background:#121a27;color:#fff;border-radius:5px;padding:0 10px;font-size:10px}.pool-count{font-size:8px;color:#8190a2;margin:10px 0}
.stat-head,.stat-player-row{display:grid;grid-template-columns:minmax(180px,1fr) repeat(5,52px);gap:6px;align-items:center}.stat-head{padding:0 10px 6px;color:#697789;font-size:6px;font-weight:900;text-align:center}.stat-head span:first-child{text-align:left}
.stat-player-list{max-height:345px;overflow:auto;padding-right:4px}.stat-player-row{width:100%;border:1px solid #293647;background:#121a28;color:#fff;border-radius:7px;margin-bottom:6px;padding:9px 10px;text-align:left}.stat-player-row:hover:not(:disabled){border-color:#2088d0;background:#142235}.red-player-panel .stat-player-row{border-color:#3b2930}.stat-player-row:disabled{opacity:.82}
.stat-player-name strong,.stat-player-name b,.stat-player-name small{display:block}.stat-player-name strong{font-size:10px}.stat-player-name b{font-size:7px;color:#58b9ff;margin:2px 0}.red-player-panel .stat-player-name b{color:#ff6b7a}.stat-player-name small{font-size:6px;color:#7e8b9c}.stat-player-row>span{text-align:center}.stat-player-row>span>b,.stat-player-row>span>small{display:block}.stat-player-row>span>b{font-size:9px}.stat-player-row>span>small{font-size:5px;color:#738094}
@media(max-width:900px){.dual-player-panels{grid-template-columns:1fr}.red-player-panel{display:none}.stat-head,.stat-player-row{grid-template-columns:minmax(145px,1fr) repeat(5,42px)}}
@media(max-width:540px){.stat-head,.stat-player-row{grid-template-columns:minmax(132px,1fr) repeat(3,38px)}.stat-head span:nth-last-child(-n+2),.stat-player-row>span:nth-last-child(-n+2){display:none}.player-panel-top{align-items:flex-start;flex-direction:column}.rescan-actions{justify-content:flex-start}.rescan-actions small{text-align:left}}

.scan-box[role="button"]{cursor:pointer}
.scan-box[role="button"]:focus-visible{outline:2px solid currentColor;outline-offset:2px}
.scan-box.scan-locked{cursor:not-allowed}

.board-locked{opacity:.55;pointer-events:none;filter:saturate(.7)}

.turn-indicator{
  margin:10px auto 14px;
  width:max-content;
  padding:7px 16px;
  border-radius:999px;
  font-weight:900;
  font-size:12px;
  letter-spacing:.12em;
  border:1px solid rgba(255,255,255,.18);
  background:rgba(5,12,20,.82);
  box-shadow:0 8px 26px rgba(0,0,0,.25);
}
.turn-indicator.is-you{
  color:#8fd4ff;
  border-color:rgba(0,153,255,.75);
  box-shadow:0 0 0 2px rgba(0,153,255,.12),0 0 28px rgba(0,153,255,.30);
}
.turn-indicator.is-opp{
  color:#ff9b9b;
  border-color:rgba(255,62,62,.72);
  box-shadow:0 0 0 2px rgba(255,62,62,.10),0 0 28px rgba(255,62,62,.25);
}
.active-turn{
  position:relative;
  box-shadow:0 0 0 2px rgba(0,153,255,.75),0 0 28px rgba(0,153,255,.24)!important;
  filter:brightness(1.07);
}
#oppCompetitorCard.active-turn,
.opp-side.active-turn,
#oppSide.active-turn,
#oppDraftSide.active-turn,
#oppScanPanel.active-turn{
  box-shadow:0 0 0 2px rgba(255,62,62,.72),0 0 28px rgba(255,62,62,.22)!important;
}

/* V13.7 turn-state clarity */
.active-turn-blue{
  box-shadow:0 0 0 2px rgba(0,157,255,.72),0 0 34px rgba(0,157,255,.18)!important;
}
.active-turn-red{
  box-shadow:0 0 0 2px rgba(255,55,70,.72),0 0 34px rgba(255,55,70,.16)!important;
}
.inactive-turn{
  opacity:.52;
  filter:saturate(.72);
}
.scan-spin.turn-enabled{
  box-shadow:0 0 0 2px rgba(255,255,255,.08),0 0 26px rgba(255,112,0,.26);
}
.board-locked{
  pointer-events:none!important;
}
.scan-box.scan-locked{
  opacity:.52;
  cursor:not-allowed!important;
}


/* =========================================================
   V13.8 — Modern player pool + strict gameplay states
   ========================================================= */

.stat-pool{
  display:flex!important;
  flex-direction:column;
  gap:8px;
  padding:8px 4px 12px;
}

.h2h-player-row{
  display:grid;
  grid-template-columns:minmax(250px,1.9fr) repeat(5,minmax(54px,.48fr)) 86px;
  align-items:center;
  gap:10px;
  min-height:66px;
  padding:10px 12px;
  border:1px solid rgba(123,160,190,.18);
  border-radius:12px;
  background:
    linear-gradient(180deg,rgba(17,29,42,.94),rgba(7,14,22,.96));
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.025),
    0 8px 20px rgba(0,0,0,.14);
  transition:transform .14s ease,border-color .14s ease,background .14s ease,opacity .14s ease;
}

.h2h-player-row:hover{
  transform:translateY(-1px);
  border-color:rgba(78,169,235,.34);
  background:linear-gradient(180deg,rgba(20,35,50,.98),rgba(8,17,27,.98));
}

.h2h-player-row.is-taken{
  opacity:.36;
}

.h2h-player-row.no-slot{
  opacity:.52;
}

.h2h-player-identity{
  display:flex;
  align-items:center;
  gap:11px;
  min-width:0;
}

.h2h-pos-chip{
  min-width:48px;
  padding:7px 8px;
  border:1px solid rgba(47,167,255,.38);
  border-radius:8px;
  background:rgba(18,104,164,.14);
  color:#8ed5ff;
  font-size:10px;
  line-height:1;
  font-weight:900;
  text-align:center;
  letter-spacing:.04em;
}

.h2h-player-copy{
  min-width:0;
}

.h2h-player-name-line{
  display:flex;
  align-items:center;
  gap:8px;
  min-width:0;
}

.h2h-player-name-line strong{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:#f4f8fb;
  font-size:13px;
  font-weight:850;
}

.h2h-player-copy small{
  display:block;
  margin-top:4px;
  color:#77899a;
  font-size:9px;
  font-weight:700;
  letter-spacing:.02em;
}

.h2h-ovr-chip{
  flex:0 0 auto;
  padding:4px 7px;
  border-radius:999px;
  background:rgba(255,184,45,.10);
  border:1px solid rgba(255,184,45,.28);
  color:#ffc55d;
  font-size:9px;
  font-weight:900;
}

.h2h-stat{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  min-width:0;
}

.h2h-stat b{
  color:#f7fbff;
  font-size:12px;
  font-weight:900;
}

.h2h-stat small{
  margin-top:3px;
  color:#607386;
  font-size:7px;
  font-weight:900;
  letter-spacing:.08em;
}

.h2h-draft-btn{
  height:34px;
  border:1px solid rgba(39,160,240,.55);
  border-radius:8px;
  background:linear-gradient(180deg,#0d5686,#0b3f65);
  color:white;
  font-size:10px;
  font-weight:900;
  letter-spacing:.04em;
  cursor:pointer;
}

.h2h-draft-btn:hover:not(:disabled){
  transform:translateY(-1px);
  filter:brightness(1.12);
}

.h2h-draft-btn:disabled{
  cursor:not-allowed;
  border-color:rgba(120,137,150,.16);
  background:rgba(65,77,89,.18);
  color:#5e6b77;
}

.h2h-pool-state{
  color:#657583;
  font-size:9px;
  font-weight:900;
  text-align:center;
}

.blue-player-panel.active-turn-blue,
.blue-side.active-turn-blue{
  opacity:1!important;
  filter:none!important;
  box-shadow:
    0 0 0 2px rgba(0,154,255,.78),
    0 0 34px rgba(0,154,255,.20)!important;
}

.red-player-panel.active-turn-red,
.red-side.active-turn-red{
  opacity:1!important;
  filter:none!important;
  box-shadow:
    0 0 0 2px rgba(255,54,70,.72),
    0 0 34px rgba(255,54,70,.16)!important;
}

.inactive-turn{
  opacity:.42!important;
  filter:saturate(.55) brightness(.74)!important;
}

.board-locked{
  pointer-events:none!important;
}

.scan-box.respin-used{
  opacity:.48;
}

.scan-box.respin-used::after{
  content:"USED";
  position:absolute;
  right:7px;
  bottom:5px;
  font-size:6px;
  font-weight:900;
  letter-spacing:.08em;
  opacity:.7;
}

.scan-box.turn-locked{
  pointer-events:none;
}

#yourSpinBtn:not(:disabled){
  box-shadow:0 0 0 2px rgba(255,127,0,.10),0 0 25px rgba(255,111,0,.22);
}

#rescanYourTeam:disabled,
#rescanYourEra:disabled{
  opacity:.36;
  cursor:not-allowed;
}

@media (max-width:980px){
  .h2h-player-row{
    grid-template-columns:minmax(210px,1.8fr) repeat(5,46px) 72px;
    gap:7px;
    padding:9px;
  }
  .h2h-player-name-line strong{font-size:12px}
  .h2h-stat b{font-size:11px}
}

@media (max-width:760px){
  .h2h-player-row{
    grid-template-columns:1fr 72px;
    gap:8px;
  }
  .h2h-player-row .h2h-stat{
    display:none;
  }
}


/* V13.9 pool / rescan clarity */
.empty-pool-state{
  min-height:220px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:8px;
  text-align:center;
  border:1px dashed rgba(74,170,238,.28);
  border-radius:14px;
  background:linear-gradient(180deg,rgba(10,20,30,.70),rgba(5,11,18,.72));
  color:#8fd6ff;
}
.empty-pool-state.rival{
  border-color:rgba(255,70,88,.24);
  color:#ff9aa5;
}
.empty-pool-state strong{
  font-size:12px;
  letter-spacing:.12em;
}
.empty-pool-state span{
  max-width:340px;
  color:#6f8193;
  font-size:10px;
  line-height:1.6;
}
.scan-box.respin-used{
  position:relative;
}
.scan-box.respin-used::after{
  content:"USED";
  position:absolute;
  right:7px;
  bottom:5px;
  padding:2px 5px;
  border-radius:999px;
  background:rgba(255,255,255,.08);
  color:#91a1af;
  font-size:6px;
  font-weight:900;
  letter-spacing:.08em;
}


/* =========================================================
   V13.9.1 — Compact player rows so DRAFT stays visible
   ========================================================= */

.h2h-player-row{
  grid-template-columns:minmax(205px,1.55fr) repeat(5,minmax(42px,.34fr)) 74px!important;
  gap:5px!important;
  min-height:54px!important;
  padding:7px 8px!important;
}

.h2h-player-identity{
  gap:7px!important;
}

.h2h-pos-chip{
  min-width:40px!important;
  padding:6px 5px!important;
  font-size:9px!important;
}

.h2h-player-name-line{
  gap:5px!important;
}

.h2h-player-name-line strong{
  font-size:12px!important;
}

.h2h-player-copy small{
  margin-top:2px!important;
  font-size:8px!important;
}

.h2h-ovr-chip{
  padding:3px 5px!important;
  font-size:8px!important;
}

.h2h-stat b{
  font-size:10px!important;
}

.h2h-stat small{
  margin-top:1px!important;
  font-size:6px!important;
}

.h2h-draft-btn{
  width:70px!important;
  height:30px!important;
  padding:0 5px!important;
  font-size:9px!important;
}

.h2h-pool-state{
  width:70px;
  font-size:8px!important;
}

/* Keep horizontal overflow from hiding the action column. */
#playerPool,
#oppPlayerPool{
  overflow-x:hidden!important;
}

@media (max-width:1180px) and (min-width:761px){
  .h2h-player-row{
    grid-template-columns:minmax(175px,1.35fr) repeat(5,38px) 66px!important;
    gap:3px!important;
    padding:6px!important;
  }

  .h2h-pos-chip{
    min-width:35px!important;
    font-size:8px!important;
  }

  .h2h-player-name-line strong{
    font-size:11px!important;
  }

  .h2h-player-copy small{
    font-size:7px!important;
  }

  .h2h-stat b{
    font-size:9px!important;
  }

  .h2h-draft-btn{
    width:62px!important;
    height:28px!important;
    font-size:8px!important;
  }
}


/* =========================================================
   V13.10 — Court name fit + one-pick-per-spin pools
   ========================================================= */

[data-court-slot].filled{
  overflow:hidden;
}

[data-court-slot].filled .court-player-name{
  display:block;
  width:100%;
  max-width:58px;
  margin:2px auto 0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  text-align:center;
  font-size:8px!important;
  line-height:1.05;
  letter-spacing:-.02em;
}

/* Keep OVR readable while long names get compacted. */
[data-court-slot].filled strong{
  font-size:14px!important;
  line-height:1;
}

[data-court-slot].filled em{
  font-size:7px!important;
}

/* Empty-pool message after each pick should clearly signal next action. */
.empty-pool-state strong{
  color:#a9defe;
}


/* V13.10.1 — Turn indicator centered in LIVE DRAFT header */
.draft-topbar{
  position:relative!important;
}

.draft-turn-center{
  position:absolute;
  left:50%;
  top:50%;
  transform:translate(-50%,-50%);
  z-index:6;
  display:flex;
  align-items:center;
  justify-content:center;
  pointer-events:none;
}

.draft-turn-center .turn-indicator{
  margin:0!important;
  min-width:150px;
  padding:8px 20px;
  text-align:center;
  white-space:nowrap;
  backdrop-filter:blur(10px);
}

@media(max-width:760px){
  .draft-turn-center{
    top:100%;
    transform:translate(-50%,-42%);
  }
  .draft-turn-center .turn-indicator{
    min-width:125px;
    padding:6px 14px;
    font-size:10px;
  }
}


/* V13.10.2 — Independent TEAM / ERA re-spin states */
#yourTeamBox.respin-used,
#yourEraBox.respin-used{
  opacity:.48;
  cursor:not-allowed!important;
}

#yourTeamBox:not(.respin-used):not(.turn-locked),
#yourEraBox:not(.respin-used):not(.turn-locked){
  opacity:1;
  cursor:pointer!important;
}

#rescanYourTeam:not(:disabled),
#rescanYourEra:not(:disabled){
  opacity:1!important;
  cursor:pointer!important;
}

/* H2H Soccer Live Draft — V14.0 */
.soccer-pitch{min-height:430px;background:linear-gradient(rgba(10,40,27,.16),rgba(10,40,27,.16)),repeating-linear-gradient(90deg,#17392b 0,#17392b 38px,#1b4231 38px,#1b4231 76px)}
.soccer-pitch .pitch-lines{position:absolute;inset:18px;border:2px solid rgba(255,255,255,.28);pointer-events:none}
.soccer-pitch .pitch-lines:before{content:"";position:absolute;left:0;right:0;top:50%;border-top:2px solid rgba(255,255,255,.24)}
.soccer-pitch .pitch-center-circle{position:absolute;width:84px;height:84px;border:2px solid rgba(255,255,255,.24);border-radius:50%;left:50%;top:50%;transform:translate(-50%,-50%)}
.soccer-pitch .pitch-center-circle:after{content:"";width:5px;height:5px;border-radius:50%;background:rgba(255,255,255,.35);position:absolute;left:50%;top:50%;transform:translate(-50%,-50%)}
.soccer-pitch .pitch-box{position:absolute;width:44%;height:17%;left:28%;border:2px solid rgba(255,255,255,.22)}
.soccer-pitch .pitch-box.top{top:-2px;border-top:0}.soccer-pitch .pitch-box.bottom{bottom:-2px;border-bottom:0}
.soccer-pitch .court-brand{opacity:.12}.soccer-slot{width:52px;height:52px;min-width:52px;margin:0;z-index:3}.soccer-slot.filled{padding:4px}.soccer-slot.filled strong{font-size:11px}.soccer-slot .court-player-name{font-size:7px;max-width:46px}.soccer-slot.filled em{font-size:6px}
.soccer-pitch .pos-gk{top:4%;left:50%;transform:translateX(-50%)}.soccer-pitch .pos-lb{top:23%;left:7%;transform:none}.soccer-pitch .pos-lcb{top:19%;left:32%;transform:none}.soccer-pitch .pos-rcb{top:19%;right:32%;left:auto;transform:none}.soccer-pitch .pos-rb{top:23%;right:7%;left:auto;transform:none}
.soccer-pitch .pos-cdm{top:39%;left:50%;transform:translateX(-50%)}.soccer-pitch .pos-cm{top:52%;left:30%;transform:none}.soccer-pitch .pos-cam{top:52%;right:30%;left:auto;transform:none}
.soccer-pitch .pos-lw{bottom:7%;left:10%;transform:none}.soccer-pitch .pos-st{bottom:3%;left:50%;transform:translateX(-50%)}.soccer-pitch .pos-rw{bottom:7%;right:10%;left:auto;transform:none}
#positionTabs{overflow-x:auto;flex-wrap:nowrap;scrollbar-width:thin}#positionTabs button{flex:0 0 auto}
@media(max-width:650px){.soccer-pitch{min-height:390px}.soccer-slot{width:46px;height:46px;min-width:46px}.soccer-slot .court-player-name{font-size:6px;max-width:40px}}


/* V17.2 — Soccer scanner layout for full club names
   CLUB gets a full-width row; ERA sits below it; SPIN remains below both.
   Internal club IDs stay hidden. */
body.soccer-draft-page .scan-readouts{
  display:grid;
  grid-template-columns:1fr;
  gap:8px;
}
body.soccer-draft-page .scan-box{
  min-height:64px;
  padding:8px 12px;
}
body.soccer-draft-page .team-box{
  width:100%;
}
body.soccer-draft-page .team-box strong{
  width:100%;
  max-width:100%;
  padding:0 6px;
  box-sizing:border-box;
  text-align:center;
  font-family:"Arial Narrow",Arial,sans-serif;
  font-size:clamp(16px,1.45vw,25px);
  line-height:1.08;
  white-space:normal;
  overflow-wrap:anywhere;
}
body.soccer-draft-page .era-box strong{
  font-size:28px;
}
body.soccer-draft-page .scan-spin{
  margin-top:10px;
}
@media(max-width:650px){
  body.soccer-draft-page .scan-box{min-height:58px}
  body.soccer-draft-page .team-box strong{font-size:18px}
  body.soccer-draft-page .era-box strong{font-size:25px}
}


/* V17.3 — LOCKED scanner geometry.
   Scanner boxes never grow/shrink while names cycle. */
body.soccer-draft-page .scan-readouts{
  grid-template-rows:88px 72px;
  align-items:stretch;
}
body.soccer-draft-page .scan-box{
  box-sizing:border-box;
  height:100%;
  min-height:0;
  max-height:none;
  overflow:hidden;
  padding:8px 12px;
}
body.soccer-draft-page .team-box{
  height:88px;
}
body.soccer-draft-page .era-box{
  height:72px;
}
body.soccer-draft-page .team-box strong{
  display:-webkit-box;
  width:100%;
  max-width:100%;
  max-height:44px;
  overflow:hidden;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
  line-clamp:2;
  white-space:normal;
  overflow-wrap:break-word;
  word-break:normal;
  text-overflow:ellipsis;
  font-size:18px;
  line-height:1.12;
}
body.soccer-draft-page .era-box strong{
  white-space:nowrap;
}
body.soccer-draft-page .scan-spin{
  height:58px;
  min-height:58px;
  max-height:58px;
}
@media(max-width:650px){
  body.soccer-draft-page .scan-readouts{
    grid-template-rows:88px 72px;
  }
  body.soccer-draft-page .scan-box{
    min-height:0;
  }
  body.soccer-draft-page .team-box{
    height:88px;
  }
  body.soccer-draft-page .era-box{
    height:72px;
  }
  body.soccer-draft-page .team-box strong{
    font-size:17px;
    max-height:42px;
  }
}


/* =========================================================
   V18.2 — CLEAN SOCCER PLAYER ROWS + ZERO-DANCE CLUB SCANNER
   ========================================================= */

/* The club box has fixed internal rows, so one-line and two-line club names
   always occupy the exact same vertical space while the scanner cycles. */
body.soccer-draft-page .team-box{
  height:104px!important;
  min-height:104px!important;
  max-height:104px!important;
  display:grid!important;
  grid-template-rows:16px 52px!important;
  align-content:center!important;
  justify-items:center!important;
  row-gap:7px!important;
  padding:10px 12px!important;
  overflow:hidden!important;
}
body.soccer-draft-page .scan-readouts{
  grid-template-rows:104px 72px!important;
}
body.soccer-draft-page .team-box small{
  display:block!important;
  height:16px!important;
  line-height:16px!important;
  margin:0!important;
  align-self:center!important;
}
body.soccer-draft-page .team-box strong{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:100%!important;
  height:52px!important;
  min-height:52px!important;
  max-height:52px!important;
  margin:0!important;
  padding:0 7px!important;
  box-sizing:border-box!important;
  text-align:center!important;
  line-height:1.08!important;
  font-size:18px!important;
  overflow:hidden!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
  white-space:normal!important;
  -webkit-line-clamp:unset!important;
}

/* Position chip behavior */
.h2h-pos-primary{display:none}

/* Let the player identity truly own its space instead of the OVR squeezing
   the player's name over/under other elements. */
body.soccer-draft-page .h2h-player-copy{
  flex:1 1 auto!important;
  min-width:0!important;
  overflow:hidden!important;
}
body.soccer-draft-page .h2h-player-name-line{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  align-items:center!important;
  column-gap:7px!important;
  min-width:0!important;
  width:100%!important;
}
body.soccer-draft-page .h2h-player-name-line strong{
  display:block!important;
  min-width:0!important;
  max-width:100%!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}
body.soccer-draft-page .h2h-ovr-chip{
  flex:0 0 auto!important;
  white-space:nowrap!important;
}

/* Tablet: compact, but never let the long multi-position chip consume the name. */
@media (max-width:980px){
  body.soccer-draft-page .h2h-player-identity{
    min-width:0!important;
  }
  body.soccer-draft-page .h2h-pos-chip{
    flex:0 0 58px!important;
    width:58px!important;
    min-width:58px!important;
    max-width:58px!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    white-space:nowrap!important;
  }
}

/* Phone layout: primary position only, readable player name, OVR locked at right.
   Stats remain hidden as in the existing mobile design. */
@media (max-width:760px){
  body.soccer-draft-page .h2h-player-row{
    grid-template-columns:minmax(0,1fr) 64px!important;
    gap:7px!important;
    min-height:60px!important;
    padding:7px 8px!important;
  }
  body.soccer-draft-page .h2h-player-identity{
    display:grid!important;
    grid-template-columns:42px minmax(0,1fr)!important;
    align-items:center!important;
    gap:7px!important;
    min-width:0!important;
    overflow:hidden!important;
  }
  body.soccer-draft-page .h2h-pos-chip{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:42px!important;
    min-width:42px!important;
    max-width:42px!important;
    height:26px!important;
    padding:0!important;
    box-sizing:border-box!important;
    overflow:hidden!important;
    white-space:nowrap!important;
    font-size:9px!important;
  }
  body.soccer-draft-page .h2h-pos-full{display:none!important}
  body.soccer-draft-page .h2h-pos-primary{display:inline!important}
  body.soccer-draft-page .h2h-player-name-line{
    grid-template-columns:minmax(0,1fr) auto!important;
    column-gap:5px!important;
  }
  body.soccer-draft-page .h2h-player-name-line strong{
    font-size:11px!important;
  }
  body.soccer-draft-page .h2h-ovr-chip{
    padding:3px 4px!important;
    font-size:7px!important;
  }
  body.soccer-draft-page .h2h-player-copy small{
    display:block!important;
    max-width:100%!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    white-space:nowrap!important;
    font-size:7px!important;
  }
  body.soccer-draft-page .h2h-draft-btn,
  body.soccer-draft-page .h2h-pool-state{
    width:60px!important;
    max-width:60px!important;
  }

  body.soccer-draft-page .team-box{
    height:104px!important;
    min-height:104px!important;
    max-height:104px!important;
  }
  body.soccer-draft-page .scan-readouts{
    grid-template-rows:104px 72px!important;
  }
  body.soccer-draft-page .team-box strong{
    height:52px!important;
    min-height:52px!important;
    max-height:52px!important;
    font-size:17px!important;
  }
}

/* Very narrow embedded/mobile view: preserve the same clean hierarchy. */
@media (max-width:430px){
  body.soccer-draft-page .h2h-player-row{
    grid-template-columns:minmax(0,1fr) 56px!important;
    gap:5px!important;
    padding:6px!important;
  }
  body.soccer-draft-page .h2h-player-identity{
    grid-template-columns:38px minmax(0,1fr)!important;
    gap:5px!important;
  }
  body.soccer-draft-page .h2h-pos-chip{
    width:38px!important;
    min-width:38px!important;
    max-width:38px!important;
  }
  body.soccer-draft-page .h2h-player-name-line strong{
    font-size:10px!important;
  }
  body.soccer-draft-page .h2h-ovr-chip{
    font-size:7px!important;
    padding:3px!important;
  }
  body.soccer-draft-page .h2h-draft-btn,
  body.soccer-draft-page .h2h-pool-state{
    width:52px!important;
    max-width:52px!important;
    font-size:8px!important;
  }
}


/* V18.3 scanner stability hardening */
body.soccer-draft-page .scan-box.team-box,
body.soccer-draft-page .scan-box.team-box *,
body.soccer-draft-page .scan-readouts{
  transition:none!important;
}
body.soccer-draft-page .team-box strong{
  transform:none!important;
  top:auto!important;
  bottom:auto!important;
}
\n\n/* V18.5 compact Soccer player rows */\nbody.soccer-draft-page .h2h-pos-compact{\n  flex:0 0 52px!important;\n  width:52px!important;\n  min-width:52px!important;\n  max-width:52px!important;\n  justify-content:center!important;\n  overflow:hidden!important;\n  white-space:nowrap!important;\n  font-size:8px!important;\n}\nbody.soccer-draft-page .h2h-player-name-line strong{\n  letter-spacing:0!important;\n}\n.position-choice:disabled{\n  opacity:.35!important;\n  cursor:not-allowed!important;\n  transform:none!important;\n  border-color:#27313d!important;\n  background:#0a0f15!important;\n  color:#667382!important;\n}\n@media (max-width:760px){\n  body.soccer-draft-page .h2h-pos-compact{\n    width:42px!important;\n    min-width:42px!important;\n    max-width:42px!important;\n    flex-basis:42px!important;\n    font-size:8px!important;\n  }\n}\n@media (max-width:430px){\n  body.soccer-draft-page .h2h-pos-compact{\n    width:38px!important;\n    min-width:38px!important;\n    max-width:38px!important;\n    flex-basis:38px!important;\n    font-size:7px!important;\n  }\n}\n

/* V18.6 — Professional ERA Availability layout */
body.soccer-draft-page .era-availability{
  padding:10px 10px 9px!important;
  border-radius:12px!important;
  overflow:hidden!important;
  min-width:0!important;
}
body.soccer-draft-page .era-availability-head{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  align-items:end!important;
  gap:8px!important;
}
body.soccer-draft-page .era-availability-chips{
  display:grid!important;
  grid-template-columns:repeat(8,minmax(0,1fr))!important;
  gap:3px!important;
  width:100%!important;
  min-width:0!important;
  margin-top:8px!important;
}
body.soccer-draft-page .era-chip{
  width:100%!important;
  min-width:0!important;
  max-width:none!important;
  height:23px!important;
  padding:0 1px!important;
  margin:0!important;
  border-radius:6px!important;
  box-sizing:border-box!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  font-size:8.5px!important;
  line-height:1!important;
  letter-spacing:-.2px!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:clip!important;
}
body.soccer-draft-page .era-chip.is-current,
body.soccer-draft-page .era-chip.current{
  font-weight:900!important;
}
body.soccer-draft-page .scan-note{
  margin-top:8px!important;
  line-height:1.25!important;
  white-space:normal!important;
}
body.soccer-draft-page .data-status{
  margin-top:10px!important;
  min-height:28px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
}

@media (max-width:430px){
  body.soccer-draft-page .era-availability{
    padding:9px 8px 8px!important;
  }
  body.soccer-draft-page .era-availability-chips{
    gap:2px!important;
  }
  body.soccer-draft-page .era-chip{
    height:22px!important;
    font-size:7.8px!important;
    letter-spacing:-.3px!important;
  }
}

/* V18.6 — keep player stat cells aligned and readable */
body.soccer-draft-page .h2h-player-row{
  min-width:0;
}
body.soccer-draft-page .h2h-player-stats,
body.soccer-draft-page .h2h-stat{
  min-width:0;
}
body.soccer-draft-page .h2h-stat b{
  white-space:nowrap;
}

/* V18.7 Club-history era states */
body.soccer-draft-page .era-chip.is-history.is-coming{opacity:.52!important;border-style:dashed!important}
body.soccer-draft-page .era-chip.is-preclub{opacity:.16!important;filter:saturate(.2)!important}
body.soccer-draft-page .era-chip.is-history.is-available,body.soccer-draft-page .era-chip.is-current{opacity:1!important}

/* V18.8 — Historical availability is based on club existence, not DB completeness */
body.soccer-draft-page .era-chip.is-history-available{
  opacity:1!important;
}
body.soccer-draft-page .era-chip.is-history-available.is-data-pending{
  opacity:.72!important;
  border-style:solid!important;
}
body.soccer-draft-page .era-chip.is-history-available.is-data-ready{
  opacity:1!important;
}
body.soccer-draft-page .era-chip.is-preclub{
  opacity:.16!important;
}


/* V18.9 — compact match voice controls in the VS lane */
.draft-scoreboard{grid-template-columns:1fr 116px 1fr}
.draft-voice-center{display:grid;grid-template-columns:38px 24px 38px;align-items:center;justify-content:center;gap:5px;min-width:0}
.draft-voice-center audio{display:none}
.voice-btn{width:38px;height:44px;padding:3px 0 2px;border:1px solid #536274;border-radius:10px;background:#071019;color:#9eabb9;display:grid;place-items:center;align-content:center;gap:1px;cursor:pointer;transition:border-color .16s ease,background .16s ease,color .16s ease,opacity .16s ease;box-shadow:none}
.voice-btn .voice-icon{width:19px;height:19px;display:block}
.voice-btn svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.voice-btn small{font-size:6px;font-weight:900;letter-spacing:.08em;line-height:1;color:inherit}
.voice-btn.voice-self{border-color:#208fef;color:#54b3ff;background:#071827}
.voice-btn.voice-rival{border-color:#8d303c;color:#ef6b78;background:#190b0f}
.voice-btn.is-live{border-color:#27c98b;color:#53e5ae;background:#082018}
.voice-btn.is-muted{opacity:.62}
.voice-btn.voice-error{border-color:#ffb02e;color:#ffbf4b}
.voice-btn:focus-visible{outline:2px solid currentColor;outline-offset:2px}
@media (hover:hover) and (pointer:fine){.voice-btn:hover{opacity:1;filter:brightness(1.16)}}
@media(max-width:860px){.draft-scoreboard{grid-template-columns:1fr 92px 1fr}.draft-voice-center{grid-template-columns:32px 18px 32px;gap:3px}.voice-btn{width:32px;height:38px;border-radius:9px}.voice-btn .voice-icon{width:16px;height:16px}.draft-voice-center .draft-vs{font-size:8px}}

/* V19.1 FOOTBALL DRAFT */
.football-field{background:repeating-linear-gradient(to bottom,rgba(255,255,255,.06) 0 1px,transparent 1px 10%),linear-gradient(90deg,#0c4b2d,#0f6038,#0c4b2d)!important}
.football-field .court-hoop,.football-field .court-paint,.football-field .court-arc{display:none!important}
.football-field .court-lines{inset:7%!important;border:1px solid rgba(255,255,255,.28)!important;border-radius:2px!important}
.football-field .court-lines:before{content:"";position:absolute;left:0;right:0;top:50%;border-top:1px solid rgba(255,255,255,.30)}
.football-field .slot-qb{left:50%;top:48%;transform:translate(-50%,-50%)}
.football-field .slot-rb{left:50%;top:68%;transform:translate(-50%,-50%)}
.football-field .slot-wr{left:18%;top:32%;transform:translate(-50%,-50%)}
.football-field .slot-te{left:76%;top:38%;transform:translate(-50%,-50%)}
.football-field .slot-flex{left:82%;top:70%;transform:translate(-50%,-50%)}
.football-field .football-slot{min-width:64px}

/* V19.2 — Full Football Offense + Defense */
.football-field{
  min-height:760px!important;
  overflow:hidden;
}
.football-field .football-side-label{
  position:absolute;
  left:50%;
  transform:translateX(-50%);
  z-index:1;
  font-size:10px;
  letter-spacing:.14em;
  font-weight:900;
  opacity:.55;
}
.football-field .offense-label{top:3%}
.football-field .defense-label{bottom:3%}

.football-field .slot-qb{left:50%;top:31%;transform:translate(-50%,-50%)}
.football-field .slot-rb{left:50%;top:40%;transform:translate(-50%,-50%)}
.football-field .slot-wr1{left:12%;top:23%;transform:translate(-50%,-50%)}
.football-field .slot-wr2{left:88%;top:23%;transform:translate(-50%,-50%)}
.football-field .slot-te{left:74%;top:32%;transform:translate(-50%,-50%)}
.football-field .slot-lt{left:28%;top:23%;transform:translate(-50%,-50%)}
.football-field .slot-lg{left:38%;top:23%;transform:translate(-50%,-50%)}
.football-field .slot-c{left:50%;top:23%;transform:translate(-50%,-50%)}
.football-field .slot-rg{left:62%;top:23%;transform:translate(-50%,-50%)}
.football-field .slot-rt{left:72%;top:23%;transform:translate(-50%,-50%)}
.football-field .slot-flex{left:22%;top:39%;transform:translate(-50%,-50%)}

.football-field .slot-le{left:25%;top:61%;transform:translate(-50%,-50%)}
.football-field .slot-dt1{left:41%;top:61%;transform:translate(-50%,-50%)}
.football-field .slot-dt2{left:59%;top:61%;transform:translate(-50%,-50%)}
.football-field .slot-re{left:75%;top:61%;transform:translate(-50%,-50%)}
.football-field .slot-lolb{left:28%;top:70%;transform:translate(-50%,-50%)}
.football-field .slot-mlb{left:50%;top:70%;transform:translate(-50%,-50%)}
.football-field .slot-rolb{left:72%;top:70%;transform:translate(-50%,-50%)}
.football-field .slot-cb1{left:12%;top:80%;transform:translate(-50%,-50%)}
.football-field .slot-cb2{left:88%;top:80%;transform:translate(-50%,-50%)}
.football-field .slot-fs{left:40%;top:87%;transform:translate(-50%,-50%)}
.football-field .slot-ss{left:60%;top:87%;transform:translate(-50%,-50%)}

.football-field .football-slot{
  min-width:52px!important;
  min-height:38px!important;
  font-size:10px!important;
  padding:5px 7px!important;
}
.football-position-group{
  display:flex;
  align-items:center;
  gap:6px;
  flex-wrap:wrap;
  width:100%;
}
.football-position-group + .football-position-group{margin-top:7px}
.football-position-group>span{
  min-width:64px;
  font-size:9px;
  letter-spacing:.12em;
  font-weight:900;
  opacity:.55;
}
@media (max-width:800px){
  .football-field{min-height:640px!important}
  .football-field .football-slot{
    min-width:44px!important;
    min-height:34px!important;
    font-size:8px!important;
    padding:4px 5px!important;
  }
}

/* V19.3 compact football field */
.football-field{
  min-height:520px!important;height:520px!important;max-height:520px!important;
  position:relative;
  background:
    linear-gradient(to right,transparent 49.85%,rgba(255,255,255,.18) 49.85% 50.15%,transparent 50.15%),
    repeating-linear-gradient(to bottom,rgba(255,255,255,.12) 0 1px,transparent 1px 10%),
    linear-gradient(90deg,#0a4228,#0d5230,#0a4228)!important;
}
.football-field:before{content:"";position:absolute;inset:6% 5%;border:1px solid rgba(255,255,255,.24);pointer-events:none}
.football-field:after{content:"50";position:absolute;left:50%;top:49%;transform:translate(-50%,-50%);font-size:25px;font-weight:900;color:rgba(255,255,255,.10);pointer-events:none}
.football-field .court-lines{inset:6% 5%!important;border:0!important;border-radius:0!important}
.football-field .court-lines:before{content:"";position:absolute;left:0;right:0;top:50%;border-top:2px solid rgba(255,255,255,.17)}
.football-field .football-side-label{font-size:8px!important;letter-spacing:.18em!important;opacity:.45!important}
.football-field .offense-label{top:1.5%!important}.football-field .defense-label{bottom:1.5%!important}

/* Offense: proper line, QB/RB backfield */
.football-field .slot-wr1{left:8%;top:29%;transform:translate(-50%,-50%)}
.football-field .slot-lt{left:31%;top:29%;transform:translate(-50%,-50%)}
.football-field .slot-lg{left:40%;top:29%;transform:translate(-50%,-50%)}
.football-field .slot-c{left:50%;top:29%;transform:translate(-50%,-50%)}
.football-field .slot-rg{left:60%;top:29%;transform:translate(-50%,-50%)}
.football-field .slot-rt{left:69%;top:29%;transform:translate(-50%,-50%)}
.football-field .slot-te{left:78%;top:29%;transform:translate(-50%,-50%)}
.football-field .slot-wr2{left:92%;top:29%;transform:translate(-50%,-50%)}
.football-field .slot-qb{left:50%;top:39%;transform:translate(-50%,-50%)}
.football-field .slot-rb{left:50%;top:48%;transform:translate(-50%,-50%)}
.football-field .slot-flex{left:22%;top:43%;transform:translate(-50%,-50%)}

/* Defense: DL, LB, secondary */
.football-field .slot-le{left:31%;top:57%;transform:translate(-50%,-50%)}
.football-field .slot-dt1{left:43%;top:57%;transform:translate(-50%,-50%)}
.football-field .slot-dt2{left:57%;top:57%;transform:translate(-50%,-50%)}
.football-field .slot-re{left:69%;top:57%;transform:translate(-50%,-50%)}
.football-field .slot-lolb{left:30%;top:68%;transform:translate(-50%,-50%)}
.football-field .slot-mlb{left:50%;top:68%;transform:translate(-50%,-50%)}
.football-field .slot-rolb{left:70%;top:68%;transform:translate(-50%,-50%)}
.football-field .slot-cb1{left:10%;top:73%;transform:translate(-50%,-50%)}
.football-field .slot-cb2{left:90%;top:73%;transform:translate(-50%,-50%)}
.football-field .slot-fs{left:40%;top:85%;transform:translate(-50%,-50%)}
.football-field .slot-ss{left:60%;top:85%;transform:translate(-50%,-50%)}

.football-field .football-slot{min-width:42px!important;min-height:30px!important;padding:3px 5px!important;font-size:8px!important;line-height:1!important;border-radius:7px!important}
.football-field .football-slot span{font-size:8px!important}
.football-live .draft-stage,.football-live .draft-pool,.football-live .player-pool{margin-top:8px!important}
@media(max-width:800px){
 .football-field{min-height:440px!important;height:440px!important;max-height:440px!important}
 .football-field .football-slot{min-width:36px!important;min-height:27px!important;padding:3px 4px!important;font-size:7px!important}
 .football-field .football-slot span{font-size:7px!important}
}

/* V19.4 — cleaner football formation: deliberate spacing, no collisions */
.football-field{
  height:470px!important;
  min-height:470px!important;
  max-height:470px!important;
}

/* smaller uniform empty position markers */
.football-field .football-slot{
  min-width:40px!important;
  width:40px!important;
  max-width:40px!important;
  min-height:25px!important;
  height:25px!important;
  padding:0 3px!important;
  border-radius:6px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  box-sizing:border-box!important;
  font-size:7px!important;
}
.football-field .football-slot span{
  font-size:7px!important;
  line-height:1!important;
  white-space:nowrap!important;
}

/* OFFENSE — spread horizontally so OL/TE never touch */
.football-field .slot-wr1{left:7%!important;top:23%!important}
.football-field .slot-lt{left:29%!important;top:23%!important}
.football-field .slot-lg{left:39%!important;top:23%!important}
.football-field .slot-c{left:49%!important;top:23%!important}
.football-field .slot-rg{left:59%!important;top:23%!important}
.football-field .slot-rt{left:69%!important;top:23%!important}
.football-field .slot-te{left:79%!important;top:23%!important}
.football-field .slot-wr2{left:93%!important;top:23%!important}

.football-field .slot-qb{left:49%!important;top:34%!important}
.football-field .slot-rb{left:49%!important;top:45%!important}
.football-field .slot-flex{left:20%!important;top:39%!important}

/* DEFENSIVE LINE — clear gap from RB and from each other */
.football-field .slot-le{left:30%!important;top:57%!important}
.football-field .slot-dt1{left:43%!important;top:57%!important}
.football-field .slot-dt2{left:57%!important;top:57%!important}
.football-field .slot-re{left:70%!important;top:57%!important}

/* LINEBACKERS */
.football-field .slot-lolb{left:30%!important;top:69%!important}
.football-field .slot-mlb{left:50%!important;top:69%!important}
.football-field .slot-rolb{left:70%!important;top:69%!important}

/* SECONDARY */
.football-field .slot-cb1{left:8%!important;top:78%!important}
.football-field .slot-cb2{left:92%!important;top:78%!important}
.football-field .slot-fs{left:40%!important;top:88%!important}
.football-field .slot-ss{left:60%!important;top:88%!important}

/* filled slots can grow a little, but stay controlled */
.football-field .football-slot.is-filled,
.football-field .football-slot.filled{
  width:54px!important;
  max-width:54px!important;
  overflow:hidden!important;
}
.football-field .football-slot.is-filled span,
.football-field .football-slot.filled span{
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}

/* reduce decorative competition with the actual roster */
.football-field:after{font-size:20px!important;opacity:.55}
.football-field .football-side-label{display:none!important}

@media(max-width:800px){
  .football-field{height:420px!important;min-height:420px!important;max-height:420px!important}
  .football-field .football-slot{
    width:34px!important;min-width:34px!important;max-width:34px!important;
    height:23px!important;min-height:23px!important;font-size:6px!important
  }
  .football-field .football-slot span{font-size:6px!important}
}

/* V19.5 — vertical full-field football board inspired by real formation diagrams */
.football-field{
  width:min(100%,390px)!important;
  height:590px!important;
  min-height:590px!important;
  max-height:590px!important;
  margin-left:auto!important;
  margin-right:auto!important;
  position:relative!important;
  overflow:hidden!important;
  border:2px solid rgba(255,255,255,.20)!important;
  border-radius:10px!important;
  background:
    linear-gradient(to right,
      transparent 0 6%,
      rgba(255,255,255,.28) 6% 6.4%,
      transparent 6.4% 93.6%,
      rgba(255,255,255,.28) 93.6% 94%,
      transparent 94%),
    repeating-linear-gradient(to bottom,
      transparent 0 9.7%,
      rgba(255,255,255,.20) 9.7% 10%),
    linear-gradient(90deg,#174f31,#1d6840 50%,#174f31)!important;
}
.football-field:before{
  content:"END ZONE";
  position:absolute;
  top:12px;left:50%;
  transform:translateX(-50%);
  font-size:16px;
  font-weight:1000;
  letter-spacing:.16em;
  color:rgba(255,255,255,.78);
  border:1px solid rgba(255,255,255,.28);
  width:82%;
  height:42px;
  display:flex;
  align-items:center;
  justify-content:center;
  pointer-events:none;
}
.football-field:after{
  content:"END ZONE";
  position:absolute;
  bottom:12px;left:50%;
  transform:translateX(-50%) rotate(180deg);
  font-size:16px;
  font-weight:1000;
  letter-spacing:.16em;
  color:rgba(255,255,255,.78);
  border:1px solid rgba(255,255,255,.28);
  width:82%;
  height:42px;
  display:flex;
  align-items:center;
  justify-content:center;
  pointer-events:none;
}
.football-field .court-lines{
  inset:8% 7%!important;
  border-left:1px solid rgba(255,255,255,.18)!important;
  border-right:1px solid rgba(255,255,255,.18)!important;
}
.football-field .court-lines:before{
  content:"50";
  position:absolute;
  top:50%;left:3px;
  transform:translateY(-50%);
  border:0!important;
  color:rgba(255,255,255,.45);
  font-size:8px;
  font-weight:900;
}
.football-field .football-side-label{display:none!important}

/* Position chips become compact circles/pills like a playbook diagram. */
.football-field .football-slot{
  width:38px!important;
  min-width:38px!important;
  max-width:38px!important;
  height:26px!important;
  min-height:26px!important;
  border-radius:13px!important;
  padding:0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  font-size:7px!important;
  z-index:5!important;
}
.football-field .football-slot span{
  font-size:7px!important;
  line-height:1!important;
  font-weight:900!important;
}

/* DEFENSE at top, facing offense */
.football-field .slot-fs{left:38%!important;top:19%!important}
.football-field .slot-ss{left:62%!important;top:19%!important}
.football-field .slot-cb1{left:11%!important;top:28%!important}
.football-field .slot-cb2{left:89%!important;top:28%!important}
.football-field .slot-lolb{left:25%!important;top:35%!important}
.football-field .slot-mlb{left:50%!important;top:35%!important}
.football-field .slot-rolb{left:75%!important;top:35%!important}
.football-field .slot-le{left:30%!important;top:43%!important}
.football-field .slot-dt1{left:43%!important;top:43%!important}
.football-field .slot-dt2{left:57%!important;top:43%!important}
.football-field .slot-re{left:70%!important;top:43%!important}

/* OFFENSE at bottom, line directly across from defensive front */
.football-field .slot-wr1{left:10%!important;top:55%!important}
.football-field .slot-lt{left:29%!important;top:55%!important}
.football-field .slot-lg{left:39%!important;top:55%!important}
.football-field .slot-c{left:49%!important;top:55%!important}
.football-field .slot-rg{left:59%!important;top:55%!important}
.football-field .slot-rt{left:69%!important;top:55%!important}
.football-field .slot-te{left:79%!important;top:55%!important}
.football-field .slot-wr2{left:90%!important;top:55%!important}
.football-field .slot-qb{left:50%!important;top:64%!important}
.football-field .slot-flex{left:31%!important;top:69%!important}
.football-field .slot-rb{left:50%!important;top:74%!important}

/* Filled players remain compact to avoid wrecking the formation. */
.football-field .football-slot.is-filled,
.football-field .football-slot.filled{
  width:48px!important;
  min-width:48px!important;
  max-width:48px!important;
  overflow:hidden!important;
}
.football-field .football-slot.is-filled span,
.football-field .football-slot.filled span{
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}

@media(max-width:800px){
  .football-field{
    width:min(100%,340px)!important;
    height:515px!important;
    min-height:515px!important;
    max-height:515px!important;
  }
  .football-field .football-slot{
    width:32px!important;min-width:32px!important;max-width:32px!important;
    height:23px!important;min-height:23px!important;border-radius:12px!important
  }
  .football-field .football-slot span{font-size:6px!important}
}

/* V19.6 — end zones fixed to the two actual ends of the field */
.football-field{
  --end-zone-h:44px;
  padding-top:var(--end-zone-h)!important;
  padding-bottom:var(--end-zone-h)!important;
  box-sizing:border-box!important;
}

/* Top end zone */
.football-field:before{
  content:"END ZONE"!important;
  position:absolute!important;
  left:7%!important;
  right:7%!important;
  top:8px!important;
  bottom:auto!important;
  width:auto!important;
  height:36px!important;
  transform:none!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  border:1px solid rgba(255,255,255,.30)!important;
  color:rgba(255,255,255,.82)!important;
  font-size:15px!important;
  font-weight:1000!important;
  letter-spacing:.16em!important;
  line-height:1!important;
  z-index:2!important;
}

/* Bottom end zone — anchored to bottom edge, never midfield */
.football-field:after{
  content:"END ZONE"!important;
  position:absolute!important;
  left:7%!important;
  right:7%!important;
  bottom:8px!important;
  top:auto!important;
  width:auto!important;
  height:36px!important;
  transform:rotate(180deg)!important;
  transform-origin:center!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  border:1px solid rgba(255,255,255,.30)!important;
  color:rgba(255,255,255,.82)!important;
  font-size:15px!important;
  font-weight:1000!important;
  letter-spacing:.16em!important;
  line-height:1!important;
  z-index:2!important;
}

/* Keep field markings and all players between the two end zones. */
.football-field .court-lines{
  top:52px!important;
  bottom:52px!important;
  left:7%!important;
  right:7%!important;
}

/* V19.7 — FOOTBALL H2H: two compact landscape fields, same two-player format as Basketball/Soccer */
.football-live .court-board.football-field{
  width:100%!important;
  max-width:none!important;
  height:360px!important;
  min-height:360px!important;
  max-height:360px!important;
  margin:0!important;
  padding:0!important;
  border-radius:10px!important;
  position:relative!important;
  overflow:hidden!important;
  background:
    linear-gradient(to bottom,transparent 0 6%,rgba(255,255,255,.24) 6% 6.4%,transparent 6.4% 93.6%,rgba(255,255,255,.24) 93.6% 94%,transparent 94%),
    repeating-linear-gradient(to right,transparent 0 9.7%,rgba(255,255,255,.16) 9.7% 10%),
    linear-gradient(180deg,#155637,#1d7047 50%,#155637)!important;
}

/* Left end zone */
.football-live .court-board.football-field:before{
  content:"END ZONE"!important;
  position:absolute!important;
  left:8px!important;top:7%!important;bottom:7%!important;right:auto!important;
  width:42px!important;height:auto!important;
  transform:none!important;
  writing-mode:vertical-rl!important;
  display:flex!important;align-items:center!important;justify-content:center!important;
  border:1px solid rgba(255,255,255,.27)!important;
  color:rgba(255,255,255,.76)!important;
  font-size:12px!important;font-weight:1000!important;letter-spacing:.13em!important;
  z-index:2!important;
}

/* Right end zone */
.football-live .court-board.football-field:after{
  content:"END ZONE"!important;
  position:absolute!important;
  right:8px!important;top:7%!important;bottom:7%!important;left:auto!important;
  width:42px!important;height:auto!important;
  transform:none!important;
  writing-mode:vertical-rl!important;
  display:flex!important;align-items:center!important;justify-content:center!important;
  border:1px solid rgba(255,255,255,.27)!important;
  color:rgba(255,255,255,.76)!important;
  font-size:12px!important;font-weight:1000!important;letter-spacing:.13em!important;
  z-index:2!important;
}
.football-live .court-board.football-field .court-lines{
  left:55px!important;right:55px!important;top:7%!important;bottom:7%!important;
  border-top:1px solid rgba(255,255,255,.15)!important;
  border-bottom:1px solid rgba(255,255,255,.15)!important;
}
.football-live .court-board.football-field .court-lines:before{
  content:"50"!important;
  position:absolute!important;
  left:50%!important;top:3px!important;
  transform:translateX(-50%)!important;
  border:0!important;color:rgba(255,255,255,.38)!important;
  font-size:7px!important;font-weight:900!important;
}

/* Compact position markers */
.football-live .football-field .football-slot{
  width:34px!important;min-width:34px!important;max-width:34px!important;
  height:24px!important;min-height:24px!important;
  border-radius:12px!important;padding:0!important;
  display:flex!important;align-items:center!important;justify-content:center!important;
  z-index:5!important;
}
.football-live .football-field .football-slot span{font-size:6px!important;font-weight:900!important}

/* OFFENSE on left half — mirrors supplied mockup */
.football-live .football-field .slot-wr1{left:11%!important;top:50%!important}
.football-live .football-field .slot-lt{left:34%!important;top:42%!important}
.football-live .football-field .slot-lg{left:34%!important;top:48%!important}
.football-live .football-field .slot-c{left:34%!important;top:54%!important}
.football-live .football-field .slot-rg{left:34%!important;top:60%!important}
.football-live .football-field .slot-rt{left:34%!important;top:66%!important}
.football-live .football-field .slot-te{left:34%!important;top:73%!important}
.football-live .football-field .slot-wr2{left:34%!important;top:82%!important}
.football-live .football-field .slot-qb{left:45%!important;top:54%!important}
.football-live .football-field .slot-flex{left:23%!important;top:37%!important}
.football-live .football-field .slot-rb{left:24%!important;top:54%!important}

/* DEFENSE on right half */
.football-live .football-field .slot-le{left:48%!important;top:42%!important}
.football-live .football-field .slot-dt1{left:48%!important;top:49%!important}
.football-live .football-field .slot-dt2{left:48%!important;top:58%!important}
.football-live .football-field .slot-re{left:48%!important;top:66%!important}
.football-live .football-field .slot-lolb{left:58%!important;top:35%!important}
.football-live .football-field .slot-mlb{left:58%!important;top:54%!important}
.football-live .football-field .slot-rolb{left:58%!important;top:73%!important}
.football-live .football-field .slot-cb1{left:72%!important;top:18%!important}
.football-live .football-field .slot-cb2{left:72%!important;top:84%!important}
.football-live .football-field .slot-fs{left:82%!important;top:35%!important}
.football-live .football-field .slot-ss{left:82%!important;top:68%!important}

/* Filled chips remain controlled so the field never becomes huge/messy */
.football-live .football-field .football-slot.is-filled,
.football-live .football-field .football-slot.filled{
  width:46px!important;min-width:46px!important;max-width:46px!important;
  overflow:hidden!important;
}

/* Preserve the existing side-by-side H2H board size rather than enlarging the page */
@media(min-width:901px){
  .football-live .draft-courts,
  .football-live .courts-grid,
  .football-live .court-grid{
    align-items:start!important;
  }
}
@media(max-width:800px){
  .football-live .court-board.football-field{
    height:300px!important;min-height:300px!important;max-height:300px!important;
  }
  .football-live .court-board.football-field:before,
  .football-live .court-board.football-field:after{width:32px!important;font-size:9px!important}
  .football-live .court-board.football-field .court-lines{left:42px!important;right:42px!important}
  .football-live .football-field .football-slot{
    width:28px!important;min-width:28px!important;max-width:28px!important;height:20px!important;min-height:20px!important
  }
  .football-live .football-field .football-slot span{font-size:5px!important}
}

/* V19.8 — match the approved football mockup:
   controls ABOVE the field, not beside it; both H2H fields remain visible. */
.football-live .dual-scan-layout{
  grid-template-columns:minmax(0,1fr) 42px minmax(0,1fr)!important;
  gap:12px!important;
  align-items:start!important;
}
.football-live .scan-side{padding:12px!important}
.football-live .scan-side-head{margin-bottom:8px!important}

/* Critical correction: stack scanner then field vertically. */
.football-live .scan-workspace{
  display:flex!important;
  flex-direction:column!important;
  gap:10px!important;
}
.football-live .scan-controls{
  width:100%!important;
  max-width:420px!important;
  margin:0 auto!important;
  padding:0!important;
}
.football-live .scan-readouts{
  width:100%!important;
  grid-template-columns:1fr 1fr!important;
  gap:10px!important;
}
.football-live .scan-box{
  min-height:70px!important;
  border-width:4px!important;
}
.football-live .scan-box strong{font-size:24px!important}
.football-live .scan-spin{
  width:min(100%,300px)!important;
  height:52px!important;
  margin:12px auto 0!important;
  display:block!important;
  border-radius:16px!important;
  font-size:17px!important;
}
.football-live .scan-note{margin-top:7px!important}
.football-live .data-integrity{
  width:min(100%,300px)!important;
  margin:7px auto 0!important;
}

/* Compact horizontal field below the controls, spanning the player's card. */
.football-live .court-board.football-field{
  width:100%!important;
  height:285px!important;
  min-height:285px!important;
  max-height:285px!important;
  margin:0!important;
  border-radius:8px!important;
}

/* Smaller end zones like the supplied mockup. */
.football-live .court-board.football-field:before,
.football-live .court-board.football-field:after{
  width:31px!important;
  font-size:8px!important;
  letter-spacing:.08em!important;
}
.football-live .court-board.football-field .court-lines{
  left:41px!important;
  right:41px!important;
  top:7%!important;
  bottom:7%!important;
}

/* Smaller player-position markers so the formation reads cleanly. */
.football-live .football-field .football-slot{
  width:28px!important;
  min-width:28px!important;
  max-width:28px!important;
  height:19px!important;
  min-height:19px!important;
  border-radius:10px!important;
}
.football-live .football-field .football-slot span{font-size:5px!important}

/* Formation: offense on left, defense on right, like approved mockup. */
.football-live .football-field .slot-wr1{left:8%!important;top:50%!important}
.football-live .football-field .slot-lt{left:32%!important;top:38%!important}
.football-live .football-field .slot-lg{left:32%!important;top:45%!important}
.football-live .football-field .slot-c{left:32%!important;top:52%!important}
.football-live .football-field .slot-rg{left:32%!important;top:59%!important}
.football-live .football-field .slot-rt{left:32%!important;top:66%!important}
.football-live .football-field .slot-te{left:32%!important;top:75%!important}
.football-live .football-field .slot-wr2{left:32%!important;top:85%!important}
.football-live .football-field .slot-qb{left:43%!important;top:52%!important}
.football-live .football-field .slot-flex{left:21%!important;top:35%!important}
.football-live .football-field .slot-rb{left:21%!important;top:52%!important}

.football-live .football-field .slot-le{left:49%!important;top:39%!important}
.football-live .football-field .slot-dt1{left:49%!important;top:47%!important}
.football-live .football-field .slot-dt2{left:49%!important;top:57%!important}
.football-live .football-field .slot-re{left:49%!important;top:65%!important}
.football-live .football-field .slot-lolb{left:60%!important;top:34%!important}
.football-live .football-field .slot-mlb{left:60%!important;top:52%!important}
.football-live .football-field .slot-rolb{left:60%!important;top:72%!important}
.football-live .football-field .slot-cb1{left:74%!important;top:18%!important}
.football-live .football-field .slot-cb2{left:74%!important;top:84%!important}
.football-live .football-field .slot-fs{left:84%!important;top:34%!important}
.football-live .football-field .slot-ss{left:84%!important;top:69%!important}

.football-live .football-field .football-slot.filled,
.football-live .football-field .football-slot.is-filled{
  width:38px!important;min-width:38px!important;max-width:38px!important;
}

/* Keep both fields visible on normal desktop widths; stack only on narrower screens. */
@media(max-width:1050px){
  .football-live .dual-scan-layout{
    grid-template-columns:1fr!important;
  }
  .football-live .dual-vs{height:22px!important}
}
@media(max-width:650px){
  .football-live .court-board.football-field{
    height:245px!important;min-height:245px!important;max-height:245px!important;
  }
}

/* V19.9 — readable football positions, same compact field size */
.football-live .football-field .football-slot{
  width:38px!important;
  min-width:38px!important;
  max-width:38px!important;
  height:25px!important;
  min-height:25px!important;
  border-radius:8px!important;
  background:rgba(7,16,25,.88)!important;
  border:1px solid rgba(255,255,255,.32)!important;
  box-shadow:0 1px 0 rgba(0,0,0,.25)!important;
}
.football-live .football-field .football-slot span{
  font-size:8px!important;
  line-height:1!important;
  font-weight:1000!important;
  letter-spacing:.02em!important;
  color:#fff!important;
  opacity:1!important;
}
.football-live .football-field .football-slot:hover{
  border-color:rgba(255,255,255,.70)!important;
  transform:translate(-50%,-50%) scale(1.04)!important;
}
.football-live .football-field .football-slot.filled,
.football-live .football-field .football-slot.is-filled{
  width:48px!important;
  min-width:48px!important;
  max-width:48px!important;
}

/* Keep tight formations legible by spacing the two lines a little more */
.football-live .football-field .slot-lt{top:35%!important}
.football-live .football-field .slot-lg{top:43%!important}
.football-live .football-field .slot-c{top:51%!important}
.football-live .football-field .slot-rg{top:59%!important}
.football-live .football-field .slot-rt{top:67%!important}
.football-live .football-field .slot-te{top:77%!important}
.football-live .football-field .slot-wr2{top:87%!important}

.football-live .football-field .slot-le{top:36%!important}
.football-live .football-field .slot-dt1{top:46%!important}
.football-live .football-field .slot-dt2{top:57%!important}
.football-live .football-field .slot-re{top:67%!important}

/* Pool stays exactly in the existing Basketball/Soccer structure; only improve row legibility. */
.football-live .player-pool .player-row,
.football-live .draft-pool .player-row{
  min-height:46px!important;
}
.football-live .player-pool .player-name,
.football-live .draft-pool .player-name{
  font-weight:850!important;
}

/* =========================================================
   V20.1 — FOOTBALL POOL: match Basketball/Soccer presentation
   Keep pool logic untouched. Only change layout/visibility.
   ========================================================= */

/* Stop showing the two football pools as split half-width columns.
   Each side gets a full-width pool section, stacked like the reference. */
.football-live .dual-player-panels{
  display:flex!important;
  flex-direction:column!important;
  gap:14px!important;
  width:100%!important;
  margin-top:14px!important;
}

/* Full-width pool card */
.football-live .player-panel{
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  box-sizing:border-box!important;
  padding:12px!important;
}

/* Keep the selected TEAM / ERA and re-spin controls in one clean top row. */
.football-live .player-panel-top{
  display:flex!important;
  align-items:flex-start!important;
  justify-content:space-between!important;
  gap:10px!important;
  margin-bottom:8px!important;
}

/* Position filters should stay compact and above the player rows,
   not consume half of the screen. */
.football-live .pool-toolbar{
  display:flex!important;
  align-items:flex-start!important;
  justify-content:space-between!important;
  gap:10px!important;
  min-height:auto!important;
  padding:8px 0!important;
  border-bottom:1px solid rgba(255,255,255,.08)!important;
}

.football-live .position-tabs{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:5px!important;
  max-width:78%!important;
}

.football-live .position-tabs button{
  padding:6px 8px!important;
  min-width:34px!important;
  font-size:7px!important;
}

/* Search stays small, like the Basketball/Soccer pool. */
.football-live .player-search{
  width:150px!important;
  min-width:150px!important;
  height:30px!important;
  font-size:8px!important;
}

/* Make the pool itself the main visual area. */
.football-live .pool-count{
  margin:7px 0 5px!important;
  font-size:7px!important;
}

.football-live .stat-head{
  display:grid!important;
  grid-template-columns:minmax(240px,1.8fr) repeat(5,minmax(60px,.55fr)) 78px!important;
  gap:6px!important;
  padding:0 10px 6px!important;
  align-items:center!important;
}

/* Existing markup has 6 headers, while player rows also contain a DRAFT button.
   Reserve the final column so every player row lines up cleanly. */
.football-live .stat-head::after{
  content:""!important;
  display:block!important;
}

/* This is the key change: full-width rows, not a narrow list on the right side. */
.football-live .stat-player-list{
  width:100%!important;
  max-height:430px!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  padding-right:5px!important;
  box-sizing:border-box!important;
}

.football-live .stat-player-row{
  display:grid!important;
  grid-template-columns:minmax(240px,1.8fr) repeat(5,minmax(60px,.55fr)) 78px!important;
  gap:6px!important;
  align-items:center!important;
  width:100%!important;
  min-height:54px!important;
  box-sizing:border-box!important;
  margin:0 0 6px!important;
  padding:8px 10px!important;
  border-radius:9px!important;
}

.football-live .stat-player-name{
  min-width:0!important;
  text-align:left!important;
}

.football-live .stat-player-name strong{
  font-size:11px!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}

.football-live .stat-player-name b{
  font-size:7px!important;
}

.football-live .stat-player-name small{
  font-size:6px!important;
}

/* Stat columns readable but compact. */
.football-live .stat-player-row > span > b{
  font-size:9px!important;
}

.football-live .stat-player-row > span > small{
  font-size:5px!important;
}

/* Draft button stays pinned to the far right, like the reference image. */
.football-live .stat-player-row > button{
  width:70px!important;
  height:30px!important;
  justify-self:end!important;
  border-radius:6px!important;
  font-size:8px!important;
  font-weight:950!important;
}

/* Position badge on the player card should be obvious. */
.football-live .h2h-pos-chip,
.football-live .stat-player-name .h2h-pos-chip{
  min-width:38px!important;
  height:24px!important;
  padding:0 8px!important;
  font-size:8px!important;
  border-radius:7px!important;
}

/* Opponent pool remains part of the same stacked structure rather than disappearing. */
@media(max-width:900px){
  .football-live .red-player-panel{
    display:block!important;
  }
}

/* Laptop/tablet scaling — preserve the same look without horizontal overflow. */
@media(max-width:1180px){
  .football-live .stat-head,
  .football-live .stat-player-row{
    grid-template-columns:minmax(190px,1.6fr) repeat(5,minmax(46px,.5fr)) 68px!important;
  }
  .football-live .stat-player-row > button{
    width:62px!important;
  }
}

@media(max-width:760px){
  .football-live .player-panel-top{
    flex-direction:column!important;
  }

  .football-live .pool-toolbar{
    flex-direction:column!important;
  }

  .football-live .position-tabs{
    max-width:100%!important;
  }

  .football-live .player-search{
    width:100%!important;
    min-width:0!important;
  }

  .football-live .stat-head,
  .football-live .stat-player-row{
    grid-template-columns:minmax(145px,1.5fr) repeat(3,44px) 62px!important;
  }

  /* Hide the last two secondary stat columns on very narrow screens only. */
  .football-live .stat-head span:nth-of-type(5),
  .football-live .stat-head span:nth-of-type(6),
  .football-live .stat-player-row > span:nth-of-type(5),
  .football-live .stat-player-row > span:nth-of-type(6){
    display:none!important;
  }
}

/* V20.2: make NR distinct from a real zero rating. */
.football-live .h2h-ovr-chip{min-width:42px!important}
.football-live .h2h-ovr-chip:has(> span){opacity:1}

/* =========================================================
   V20.3 — FOOTBALL H2H POOL LAYOUT
   Match Basketball/Soccer structure:
   LEFT: your scanner/field + your pool directly underneath
   RIGHT: rival scanner/field + rival pool directly underneath
   No full-page pool spanning both sides.
   ========================================================= */

/* The draft board already has two side-by-side scan sides.
   Put each pool back under its corresponding side. */
.football-live .dual-scan-layout{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 42px minmax(0,1fr)!important;
  gap:12px!important;
  align-items:start!important;
}

/* Override V20.1's full-width stacked pool treatment. */
.football-live .dual-player-panels{
  display:contents!important;
}

/* Player 1 pool occupies left column, directly under Player 1 field. */
.football-live .blue-player-panel{
  grid-column:1!important;
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  margin:0!important;
}

/* Player 2 pool occupies right column, directly under Rival field. */
.football-live .red-player-panel{
  grid-column:3!important;
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  margin:0!important;
}

/* Do not create the giant blank/full-width pool region seen in the marked-up screenshot. */
.football-live .player-panel{
  box-sizing:border-box!important;
  padding:10px!important;
  min-height:0!important;
  align-self:start!important;
}

/* Compact Basketball/Soccer-style top controls. */
.football-live .player-panel-top{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:8px!important;
  margin-bottom:7px!important;
}

.football-live .pool-toolbar{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:7px!important;
  padding:6px 0!important;
  min-height:0!important;
}

.football-live .position-tabs{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:4px!important;
  max-width:72%!important;
}

.football-live .position-tabs button{
  min-width:27px!important;
  padding:5px 6px!important;
  font-size:6px!important;
}

.football-live .player-search{
  width:118px!important;
  min-width:118px!important;
  height:27px!important;
  font-size:7px!important;
}

/* Each pool is now sized to its own player's column, like the Basketball reference. */
.football-live .stat-head{
  display:grid!important;
  grid-template-columns:minmax(135px,1.55fr) repeat(5,minmax(37px,.42fr)) 55px!important;
  gap:3px!important;
  padding:0 6px 5px!important;
  align-items:center!important;
}

.football-live .stat-player-list{
  width:100%!important;
  max-height:360px!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  padding-right:4px!important;
  box-sizing:border-box!important;
}

.football-live .stat-player-row{
  display:grid!important;
  grid-template-columns:minmax(135px,1.55fr) repeat(5,minmax(37px,.42fr)) 55px!important;
  gap:3px!important;
  align-items:center!important;
  width:100%!important;
  min-height:42px!important;
  margin:0 0 4px!important;
  padding:6px!important;
  box-sizing:border-box!important;
  border-radius:7px!important;
}

.football-live .stat-player-name strong{
  font-size:8px!important;
}

.football-live .stat-player-name b{
  font-size:6px!important;
}

.football-live .stat-player-name small{
  font-size:5px!important;
}

.football-live .stat-player-row > span > b{
  font-size:7px!important;
}

.football-live .stat-player-row > span > small{
  font-size:4.5px!important;
}

.football-live .stat-player-row > button{
  width:51px!important;
  height:25px!important;
  font-size:6px!important;
  border-radius:5px!important;
  justify-self:end!important;
}

/* Rival pool stays visible but locked/dimmed when it isn't their turn,
   exactly like the two-sided Basketball/Soccer concept. */
.football-live .red-player-panel.is-locked,
.football-live .blue-player-panel.is-locked{
  pointer-events:none!important;
}

/* On smaller screens, stack each player's complete section rather than mixing pools. */
@media(max-width:1050px){
  .football-live .dual-scan-layout{
    grid-template-columns:1fr!important;
  }
  .football-live .blue-player-panel,
  .football-live .red-player-panel{
    grid-column:1!important;
  }
  .football-live .dual-vs{
    grid-column:1!important;
  }
}

@media(max-width:620px){
  .football-live .stat-head,
  .football-live .stat-player-row{
    grid-template-columns:minmax(125px,1.6fr) repeat(2,45px) 54px!important;
  }
  .football-live .stat-head span:nth-of-type(n+4),
  .football-live .stat-player-row > span:nth-of-type(n+4){
    display:none!important;
  }
  .football-live .position-tabs{max-width:100%!important}
  .football-live .pool-toolbar{flex-direction:column!important;align-items:stretch!important}
  .football-live .player-search{width:100%!important;min-width:0!important}
}
\n/* V20.7 — modern readable football player tiles */
.football-live .football-field .football-slot{
  width:48px!important;min-width:48px!important;max-width:48px!important;
  height:30px!important;min-height:30px!important;border-radius:9px!important;
  background:linear-gradient(180deg,rgba(13,24,35,.97),rgba(5,12,20,.97))!important;
  border:1px solid rgba(255,255,255,.38)!important;
  box-shadow:0 3px 10px rgba(0,0,0,.32),inset 0 1px 0 rgba(255,255,255,.08)!important;
  overflow:visible!important;padding:3px 5px!important;
}
.football-live .football-field .football-slot span{font-size:8px!important;letter-spacing:.06em!important}
.football-live .football-field .football-slot.filled,
.football-live .football-field .football-slot.is-filled{
  width:76px!important;min-width:76px!important;max-width:76px!important;
  height:39px!important;min-height:39px!important;
  display:grid!important;grid-template-columns:25px 1fr!important;grid-template-rows:1fr 1fr!important;
  column-gap:4px!important;align-items:center!important;padding:4px 6px!important;
  border:1px solid rgba(255,255,255,.62)!important;
}
.football-live .blue-court .football-slot.filled{border-color:rgba(66,173,255,.95)!important}
.football-live .red-court .football-slot.filled{border-color:rgba(255,87,104,.95)!important}
.football-live .football-field .football-slot.filled strong{
  grid-row:1/3!important;grid-column:1!important;font-size:15px!important;line-height:1!important;color:#fff!important;
}
.football-live .football-field .football-slot.filled .court-player-name{
  grid-column:2!important;grid-row:1!important;display:block!important;max-width:42px!important;
  overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;
  font-size:8px!important;line-height:1.05!important;font-weight:900!important;color:#fff!important;text-align:left!important;
}
.football-live .football-field .football-slot.filled em{
  grid-column:2!important;grid-row:2!important;font-size:6px!important;line-height:1!important;font-style:normal!important;
  color:rgba(255,255,255,.62)!important;text-align:left!important;letter-spacing:.08em!important;
}
@media(max-width:650px){
 .football-live .football-field .football-slot{width:42px!important;min-width:42px!important;max-width:42px!important;height:27px!important;min-height:27px!important}
 .football-live .football-field .football-slot.filled{width:64px!important;min-width:64px!important;max-width:64px!important;height:35px!important;min-height:35px!important;grid-template-columns:22px 1fr!important}
 .football-live .football-field .football-slot.filled strong{font-size:13px!important}
 .football-live .football-field .football-slot.filled .court-player-name{max-width:34px!important;font-size:7px!important}
}
/* H2H Hockey rink overrides */
body:has(.draft-page) .scan-side .basketball-court{background:linear-gradient(180deg,rgba(225,244,255,.13),rgba(178,221,244,.07));border:2px solid rgba(210,240,255,.62);border-radius:46px;box-shadow:inset 0 0 0 2px rgba(255,255,255,.06)}
body:has(.draft-page) .scan-side .basketball-court:before{content:"";position:absolute;left:50%;top:0;bottom:0;width:2px;background:rgba(220,40,55,.65);transform:translateX(-50%)}
body:has(.draft-page) .scan-side .basketball-court:after{content:"";position:absolute;left:50%;top:50%;width:82px;height:82px;border:2px solid rgba(45,115,210,.55);border-radius:50%;transform:translate(-50%,-50%)}
body:has(.draft-page) .court-slot.slot-g{left:6%;top:50%;transform:translateY(-50%)}
body:has(.draft-page) .court-slot.slot-pg{left:27%;top:30%}
body:has(.draft-page) .court-slot.slot-sg{left:27%;top:70%}
body:has(.draft-page) .court-slot.slot-pf{left:68%;top:25%}
body:has(.draft-page) .court-slot.slot-c{left:75%;top:50%}
body:has(.draft-page) .court-slot.slot-sf{left:68%;top:75%}

/* H2H Hockey V22.1 — true hockey surface + contained TEAM/ERA readouts */
.hockey-draft-page .scan-readouts{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.hockey-draft-page .scan-box{min-width:0;overflow:hidden;padding:8px 6px;box-sizing:border-box}
.hockey-draft-page .scan-box strong{display:block;width:100%;max-width:100%;padding:0 2px;box-sizing:border-box;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:clamp(16px,2.05vw,27px)!important;line-height:1.05}
.hockey-draft-page .team-box strong{font-size:clamp(12px,1.55vw,21px)!important}
.hockey-draft-page .hockey-rink{min-height:330px;background:linear-gradient(180deg,rgba(223,244,255,.18),rgba(183,224,245,.10)),repeating-linear-gradient(90deg,rgba(255,255,255,.025) 0,rgba(255,255,255,.025) 3px,rgba(110,180,215,.025) 3px,rgba(110,180,215,.025) 6px);border:2px solid rgba(208,239,255,.7);border-radius:48px;box-shadow:inset 0 0 42px rgba(75,160,205,.12),0 14px 34px rgba(0,0,0,.22)}
.hockey-draft-page .rink-lines{position:absolute;inset:0;pointer-events:none}
.hockey-draft-page .rink-center-line,.hockey-draft-page .rink-blue-line,.hockey-draft-page .rink-goal-line{position:absolute;top:0;bottom:0;width:2px}
.hockey-draft-page .rink-center-line{left:50%;background:rgba(220,47,60,.72)}
.hockey-draft-page .rink-blue-line{background:rgba(35,112,215,.72);width:3px}.hockey-draft-page .rink-blue-left{left:32%}.hockey-draft-page .rink-blue-right{left:68%}
.hockey-draft-page .rink-goal-line{background:rgba(220,47,60,.48)}.hockey-draft-page .rink-goal-left{left:10%}.hockey-draft-page .rink-goal-right{left:90%}
.hockey-draft-page .rink-center-circle{position:absolute;left:50%;top:50%;width:84px;height:84px;border:2px solid rgba(35,112,215,.58);border-radius:50%;transform:translate(-50%,-50%)}
.hockey-draft-page .rink-crease{position:absolute;top:50%;width:28px;height:56px;border:2px solid rgba(35,112,215,.65);background:rgba(50,145,220,.10);transform:translateY(-50%)}.hockey-draft-page .rink-crease-left{left:7%;border-radius:0 28px 28px 0}.hockey-draft-page .rink-crease-right{right:7%;border-radius:28px 0 0 28px}
.hockey-draft-page .rink-faceoff{position:absolute;width:48px;height:48px;border:1px solid rgba(220,47,60,.38);border-radius:50%}.hockey-draft-page .dot-1{left:18%;top:18%}.hockey-draft-page .dot-2{left:18%;bottom:18%}.hockey-draft-page .dot-3{right:18%;top:18%}.hockey-draft-page .dot-4{right:18%;bottom:18%}
/* Regulation-style H2H deployment: goalie in net, D pair, three forwards */
.hockey-draft-page .hockey-rink .slot-g{left:7%!important;top:50%!important;transform:translateY(-50%)!important}
.hockey-draft-page .hockey-rink .slot-pg{left:27%!important;top:29%!important;transform:none!important}
.hockey-draft-page .hockey-rink .slot-sg{left:27%!important;top:67%!important;transform:none!important}
.hockey-draft-page .hockey-rink .slot-pf{left:67%!important;top:18%!important;right:auto!important}
.hockey-draft-page .hockey-rink .slot-c{left:72%!important;top:50%!important;transform:translateY(-50%)!important}
.hockey-draft-page .hockey-rink .slot-sf{left:67%!important;top:70%!important;bottom:auto!important}
@media(max-width:650px){.hockey-draft-page .scan-box strong{font-size:20px!important}.hockey-draft-page .team-box strong{font-size:16px!important}.hockey-draft-page .hockey-rink{min-height:300px}}

/* H2H Hockey V22.2 — never abbreviate TEAM/ERA readouts with ellipses. JS shrinks text until it fits. */
.hockey-draft-page .scan-box strong{
  text-overflow:clip!important;
  overflow:hidden!important;
  white-space:nowrap!important;
}


/* H2H Basketball V23.0 — regulation-style half-court surface + correct five-man spacing */
.basketball-draft-page .basketball-court{
  min-height:330px!important;
  position:relative!important;
  overflow:hidden!important;
  border:2px solid rgba(201,153,92,.55)!important;
  border-radius:24px!important;
  background:
    linear-gradient(rgba(8,15,25,.20),rgba(8,15,25,.20)),
    repeating-linear-gradient(90deg,#5e4028 0,#5e4028 5px,#68472c 5px,#68472c 10px)!important;
  box-shadow:inset 0 0 48px rgba(0,0,0,.28),0 14px 34px rgba(0,0,0,.22)!important;
}
.basketball-draft-page .basketball-court:before,
.basketball-draft-page .basketball-court:after{content:none!important}
.basketball-draft-page .basketball-court .court-lines{position:absolute!important;inset:0!important;pointer-events:none!important;border:0!important}
/* three-point arc */
.basketball-draft-page .basketball-court .court-lines:before{
  content:""!important;position:absolute!important;left:7%!important;right:7%!important;top:-35%!important;height:86%!important;
  border:2px solid rgba(235,235,235,.40)!important;border-top:0!important;border-radius:0 0 48% 48%!important;
}
/* baseline */
.basketball-draft-page .basketball-court .court-lines:after{
  content:"";position:absolute;left:6%;right:6%;top:5%;height:2px;background:rgba(235,235,235,.40)
}
.basketball-draft-page .basketball-court .court-hoop{
  position:absolute!important;left:50%!important;top:12%!important;width:42px!important;height:6px!important;
  border:2px solid rgba(255,190,80,.76)!important;border-radius:50%!important;transform:translateX(-50%)!important;
  box-shadow:0 0 10px rgba(255,166,55,.20)!important;
}
.basketball-draft-page .basketball-court .court-hoop:before{
  content:"";position:absolute;left:50%;top:-10px;width:54px;height:3px;background:rgba(230,235,240,.52);transform:translateX(-50%)
}
.basketball-draft-page .basketball-court .court-paint{
  position:absolute!important;left:35%!important;right:35%!important;top:5%!important;height:31%!important;
  border:2px solid rgba(235,235,235,.35)!important;background:rgba(24,35,48,.12)!important;
}
.basketball-draft-page .basketball-court .court-arc{
  position:absolute!important;left:39%!important;right:39%!important;top:28%!important;height:17%!important;
  border:2px solid rgba(235,235,235,.35)!important;border-radius:50%!important;
}
.basketball-draft-page .basketball-court .court-brand{top:60%!important;font-size:54px!important;color:rgba(230,230,230,.08)!important}
/* Correct basketball spacing: bigs near rim, wings outside, point guard at top */
.basketball-draft-page .basketball-court .slot-c{left:65%!important;top:18%!important;right:auto!important;bottom:auto!important;transform:translateX(-50%)!important}
.basketball-draft-page .basketball-court .slot-pf{left:35%!important;top:18%!important;right:auto!important;bottom:auto!important;transform:translateX(-50%)!important}
.basketball-draft-page .basketball-court .slot-sf{left:9%!important;top:48%!important;right:auto!important;bottom:auto!important;transform:none!important}
.basketball-draft-page .basketball-court .slot-sg{right:9%!important;left:auto!important;top:48%!important;bottom:auto!important;transform:none!important}
.basketball-draft-page .basketball-court .slot-pg{left:50%!important;top:69%!important;right:auto!important;bottom:auto!important;transform:translateX(-50%)!important}
@media(max-width:650px){.basketball-draft-page .basketball-court{min-height:300px!important}}
/* H2H Cricket V24 — 11-player cricket playing surface */
.cricket-field{position:relative;overflow:hidden;background:radial-gradient(ellipse at center,rgba(27,93,52,.5),rgba(7,25,18,.96));border:1px solid rgba(117,196,142,.32);min-height:330px}
.cricket-field .cricket-boundary{position:absolute;inset:5%;border:2px solid rgba(225,240,228,.25);border-radius:50%}
.cricket-field .cricket-pitch{position:absolute;left:43%;top:25%;width:14%;height:50%;background:rgba(184,153,102,.18);border:1px solid rgba(235,218,182,.32)}
.cricket-field .cricket-crease{position:absolute;left:41%;width:18%;height:1px;background:rgba(255,255,255,.38)}
.cricket-field .crease-top{top:31%}.cricket-field .crease-bottom{bottom:31%}
.cricket-field .court-slot{width:58px;height:54px;font-size:10px}
.cricket-field .slot-wk{left:50%;top:76%;transform:translate(-50%,-50%)}
.cricket-field .slot-bat1{left:26%;top:66%}.cricket-field .slot-bat2{right:26%;top:66%}.cricket-field .slot-bat3{left:18%;top:43%}.cricket-field .slot-bat4{right:18%;top:43%}
.cricket-field .slot-ar1{left:33%;top:28%}.cricket-field .slot-ar2{right:33%;top:28%}
.cricket-field .slot-bowl1{left:12%;top:18%}.cricket-field .slot-bowl2{right:12%;top:18%}.cricket-field .slot-bowl3{left:22%;top:8%}.cricket-field .slot-bowl4{right:22%;top:8%}
.cricket-field .court-brand{opacity:.08}


/* H2H Cricket V24.1 — dedicated cricket oval + XI layout */
.cricket-draft-page .cricket-field{
  position:relative; overflow:hidden; min-height:350px; aspect-ratio:1.32/1;
  background:
    radial-gradient(ellipse at center,rgba(47,112,63,.22) 0 42%,transparent 43%),
    repeating-linear-gradient(90deg,rgba(255,255,255,.018) 0 2px,transparent 2px 7px),
    linear-gradient(180deg,rgba(17,57,36,.96),rgba(8,31,22,.98));
  border:1px solid rgba(155,211,164,.30); border-radius:28px;
}
.cricket-draft-page .cricket-field .cricket-boundary{
  position:absolute; inset:5.5% 6.5%; border:2px solid rgba(239,247,238,.48); border-radius:50%;
  box-shadow:0 0 0 1px rgba(255,255,255,.035) inset;
}
.cricket-draft-page .cricket-field .cricket-inner-ring{
  position:absolute; inset:17% 19%; border:1px dashed rgba(239,247,238,.16); border-radius:50%;
}
.cricket-draft-page .cricket-field .cricket-pitch{
  position:absolute; left:44%; top:22%; width:12%; height:56%;
  background:linear-gradient(90deg,rgba(192,160,105,.24),rgba(218,187,128,.34),rgba(192,160,105,.24));
  border:1px solid rgba(244,229,197,.48); border-radius:2px;
}
.cricket-draft-page .cricket-field .cricket-crease{position:absolute;left:41.5%;width:17%;height:1px;background:rgba(255,255,255,.72);z-index:2}
.cricket-draft-page .cricket-field .crease-top{top:28%}.cricket-draft-page .cricket-field .crease-bottom{bottom:28%}
.cricket-draft-page .cricket-stumps{position:absolute;left:50%;transform:translateX(-50%);width:12px;height:9px;display:flex;justify-content:space-between;z-index:3}
.cricket-draft-page .cricket-stumps i{display:block;width:2px;height:9px;background:rgba(255,255,255,.72);border-radius:2px}
.cricket-draft-page .stumps-top{top:25.5%}.cricket-draft-page .stumps-bottom{bottom:25.5%}
.cricket-draft-page .cricket-pitch-dot{position:absolute;left:50%;transform:translateX(-50%);width:3px;height:3px;border-radius:50%;background:rgba(255,255,255,.55);z-index:2}
.cricket-draft-page .pitch-dot-top{top:36%}.cricket-draft-page .pitch-dot-bottom{bottom:36%}
.cricket-draft-page .cricket-field .court-brand{left:50%;top:50%;transform:translate(-50%,-50%);opacity:.065;font-size:54px;z-index:0}
.cricket-draft-page .cricket-field .court-slot{width:56px;height:48px;font-size:9px;z-index:5}
/* XI role map: keeper behind wicket, batters around the square, all-rounders mid-outfield, bowlers deep */
.cricket-draft-page .cricket-field .slot-wk{left:50%;top:82%;transform:translate(-50%,-50%)}
.cricket-draft-page .cricket-field .slot-bat1{left:50%;top:63%;transform:translate(-50%,-50%)}
.cricket-draft-page .cricket-field .slot-bat2{left:29%;top:61%;transform:translate(-50%,-50%)}
.cricket-draft-page .cricket-field .slot-bat3{left:71%;top:61%;transform:translate(-50%,-50%)}
.cricket-draft-page .cricket-field .slot-bat4{left:50%;top:43%;transform:translate(-50%,-50%)}
.cricket-draft-page .cricket-field .slot-ar1{left:27%;top:39%;transform:translate(-50%,-50%)}
.cricket-draft-page .cricket-field .slot-ar2{left:73%;top:39%;transform:translate(-50%,-50%)}
.cricket-draft-page .cricket-field .slot-bowl1{left:15%;top:23%;transform:translate(-50%,-50%)}
.cricket-draft-page .cricket-field .slot-bowl2{left:36%;top:17%;transform:translate(-50%,-50%)}
.cricket-draft-page .cricket-field .slot-bowl3{left:64%;top:17%;transform:translate(-50%,-50%)}
.cricket-draft-page .cricket-field .slot-bowl4{left:85%;top:23%;transform:translate(-50%,-50%)}
@media(max-width:760px){
 .cricket-draft-page .cricket-field{min-height:315px}
 .cricket-draft-page .cricket-field .court-slot{width:48px;height:43px;font-size:8px}
}


/* H2H Cricket V24.2 — compact locked playing surface + expanded stats */
.cricket-draft-page .scan-workspace{
  grid-template-columns:minmax(170px,.78fr) minmax(0,1.08fr);
  align-items:start;
}
.cricket-draft-page .scan-workspace .cricket-field{
  width:100%;
  max-width:300px;
  min-height:0!important;
  aspect-ratio:1.42 / 1!important;
  height:auto;
  justify-self:end;
  align-self:start;
  border-radius:18px!important;
  box-sizing:border-box;
}
.cricket-draft-page .cricket-field .court-slot{
  width:42px!important;
  height:36px!important;
  min-width:0!important;
  font-size:7px!important;
  border-radius:8px!important;
}
.cricket-draft-page .cricket-field .cricket-pitch{
  left:46%!important;
  top:29%!important;
  width:8%!important;
  height:42%!important;
}
.cricket-draft-page .cricket-field .cricket-crease{left:43.5%!important;width:13%!important}
.cricket-draft-page .cricket-field .crease-top{top:34%!important}
.cricket-draft-page .cricket-field .crease-bottom{bottom:34%!important}
.cricket-draft-page .cricket-field .stumps-top{top:31.5%!important}
.cricket-draft-page .cricket-field .stumps-bottom{bottom:31.5%!important}
.cricket-draft-page .cricket-field .court-brand{font-size:38px!important}
.cricket-draft-page .stat-head.cricket-stat-head,
.cricket-draft-page .h2h-player-row{
  grid-template-columns:minmax(180px,1.8fr) repeat(6,minmax(42px,.52fr)) 58px!important;
}
.cricket-draft-page .h2h-player-row .h2h-stat b{font-size:9px}
.cricket-draft-page .h2h-player-row .h2h-stat small{font-size:5px}
@media(max-width:1050px){
  .cricket-draft-page .scan-workspace{grid-template-columns:minmax(165px,.78fr) minmax(230px,1fr)}
  .cricket-draft-page .scan-workspace .cricket-field{max-width:280px}
}
@media(max-width:650px){
  .cricket-draft-page .scan-workspace{grid-template-columns:1fr}
  .cricket-draft-page .scan-workspace .cricket-field{justify-self:center;max-width:285px}
  .cricket-draft-page .stat-head.cricket-stat-head,
  .cricket-draft-page .h2h-player-row{grid-template-columns:minmax(150px,1.5fr) repeat(3,42px) 54px!important}
  .cricket-draft-page .stat-head.cricket-stat-head span:nth-of-type(5),
  .cricket-draft-page .stat-head.cricket-stat-head span:nth-of-type(6),
  .cricket-draft-page .stat-head.cricket-stat-head span:nth-of-type(7),
  .cricket-draft-page .h2h-player-row .h2h-stat:nth-of-type(4),
  .cricket-draft-page .h2h-player-row .h2h-stat:nth-of-type(5),
  .cricket-draft-page .h2h-player-row .h2h-stat:nth-of-type(6){display:none}
}
