/* PitchPulse Draft V0.4 — PRO UPDATE */
:root{
  --v40-cyan:#7ef7ff;--v40-violet:#a98bff;--v40-hot:#ff6fae;--v40-lime:#9cff76;
  --v40-panel:linear-gradient(145deg,rgba(17,34,24,.94),rgba(5,16,10,.96));
}
/* FIX: V0.3.6 grid-template-areas kept the reveal below the pitch. V0.4 explicitly puts it right. */
@media (min-width:1181px){
  .draftgrid{
    display:grid!important;
    grid-template-columns:190px minmax(500px,1fr) minmax(400px,470px)!important;
    grid-template-areas:"sidebar pitch reveal"!important;
    align-items:start!important;gap:12px!important;
  }
  .sidebar{grid-area:sidebar!important}
  .pitchwrap{grid-area:pitch!important;min-width:0!important}
  body #draft .draftgrid > aside.reveal{
    grid-area:reveal!important;position:sticky!important;top:10px!important;
    display:block!important;grid-template-columns:none!important;grid-template-areas:none!important;
    min-width:0!important;max-height:calc(100vh - 20px)!important;
    overflow:auto!important;padding:12px!important;overscroll-behavior:contain;
  }
  .reveal .sourceStage{min-height:118px!important}
  .reveal .cards{
    display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;
    grid-template-rows:repeat(3,minmax(0,auto))!important;grid-auto-flow:row!important;
    overflow:visible!important;gap:8px!important;margin:9px 0 0!important;padding:0!important;
  }
  body #draft .reveal .cards>.playerCard{width:auto!important;min-width:0!important;max-width:none!important;min-height:218px!important;height:auto!important}
}

@media (min-width:1181px) and (max-height:850px){
  body #draft .draftgrid > aside.reveal{max-height:calc(100vh - 12px)!important;padding:8px!important}
  .reveal .sourceStage{min-height:82px!important;padding:8px!important}
  .reveal .sourceStage .sourceIcon{font-size:1.55rem!important}.reveal .sourceStage h3{font-size:.82rem!important;margin:2px 0!important}.reveal .sourceStage small,.reveal .sourceStage p{font-size:.43rem!important}
  .reveal .cards{gap:5px!important;margin-top:5px!important}
  body #draft .reveal .cards>.playerCard{min-height:142px!important;padding:7px!important}
  .reveal .playerCard .cardRating{font-size:1.15rem!important}.reveal .playerCard .cardTier{font-size:.4rem!important}.reveal .playerCard .cardName{font-size:.57rem!important;min-height:auto!important;margin:3px 0!important}
  .reveal .playerCard .cardMeta{font-size:.39rem!important;line-height:1.15!important}.reveal .playerCard .cardStats{margin-top:4px!important;gap:2px!important}.reveal .playerCard .cardStats span{padding:3px 1px!important;font-size:.34rem!important}.reveal .playerCard .cardBottom{margin-top:4px!important}.reveal .playerCard .sign{min-height:25px!important;padding:4px 5px!important;font-size:.42rem!important}
  .revealGridHint{padding:4px 6px!important;margin-top:4px!important;font-size:.42rem!important}
}

@media (min-width:1440px){
  .draftgrid{grid-template-columns:205px minmax(620px,1fr) minmax(500px,580px)!important;gap:14px!important}
  body #draft .reveal .cards>.playerCard{min-height:230px!important}
}
@media (min-width:1750px){
  :root{--app-max:1900px}
  .draftgrid{grid-template-columns:220px minmax(720px,1fr) 610px!important}
}
@media (min-width:2100px){
  :root{--app-max:2140px}
  .draftgrid{grid-template-columns:230px minmax(860px,1fr) 660px!important}
}

/* PRO visual system */
body.v40-pro{
  background:
    radial-gradient(circle at 50% -10%,rgba(126,247,255,.08),transparent 34rem),
    radial-gradient(circle at 7% 34%,rgba(117,255,153,.12),transparent 30rem),
    radial-gradient(circle at 96% 35%,rgba(169,139,255,.09),transparent 28rem),#030906;
}
body.v40-pro:before{content:"";position:fixed;inset:0;pointer-events:none;z-index:-2;background:
  linear-gradient(115deg,transparent 0 38%,rgba(255,255,255,.018) 38% 39%,transparent 39% 62%,rgba(255,255,255,.012) 62% 63%,transparent 63%),
  radial-gradient(ellipse at 50% 100%,rgba(31,210,89,.05),transparent 55%)}
.topbar{backdrop-filter:blur(18px);background:linear-gradient(90deg,rgba(3,13,7,.93),rgba(7,17,11,.86));box-shadow:0 12px 40px rgba(0,0,0,.18)}
.v40Badge{display:inline-flex;align-items:center;gap:5px;padding:5px 8px;border:1px solid rgba(126,247,255,.26);border-radius:999px;background:rgba(126,247,255,.06);color:var(--v40-cyan);font-size:.53rem;font-weight:950;letter-spacing:.08em;white-space:nowrap}
#proHubBtn{border-color:rgba(126,247,255,.28);box-shadow:inset 0 0 18px rgba(126,247,255,.025)}

.pitch{isolation:isolate;background:
  repeating-linear-gradient(90deg,rgba(255,255,255,.018) 0 64px,rgba(0,0,0,.018) 64px 128px),
  radial-gradient(ellipse at 50% 8%,rgba(168,255,190,.14),transparent 45%),linear-gradient(#197f42,#0c5d2c)!important;
  box-shadow:inset 0 0 90px rgba(0,0,0,.28),inset 0 0 28px rgba(138,255,174,.08),0 25px 60px rgba(0,0,0,.30)!important}
.v40Floodlights{position:absolute;inset:0;z-index:0;pointer-events:none;background:
  radial-gradient(ellipse at 15% -5%,rgba(255,255,255,.11),transparent 25%),
  radial-gradient(ellipse at 85% -5%,rgba(255,255,255,.11),transparent 25%);mix-blend-mode:screen;opacity:.8}
.v40Crowd{position:absolute;left:0;right:0;top:0;height:22px;z-index:0;opacity:.36;background:
  repeating-linear-gradient(90deg,rgba(255,255,255,.45) 0 2px,transparent 2px 7px),linear-gradient(90deg,#0e1c13,#1a2f20,#0e1c13)}
.v40PitchLabel{position:absolute;left:50%;bottom:8px;transform:translateX(-50%);z-index:1;padding:4px 8px;border-radius:999px;background:rgba(2,12,6,.46);border:1px solid rgba(255,255,255,.08);font-size:.43rem;letter-spacing:.14em;color:rgba(255,255,255,.52);pointer-events:none}
.slot button.filled{box-shadow:0 9px 22px rgba(0,0,0,.28),inset 0 0 0 1px rgba(255,255,255,.04);transition:.18s ease}
.slot button.filled:hover{transform:translateY(-2px) scale(1.015);box-shadow:0 12px 28px rgba(0,0,0,.34),0 0 24px rgba(117,255,153,.09)}

.reveal{background:var(--v40-panel)!important;border-color:rgba(126,247,255,.11)!important;box-shadow:0 24px 70px rgba(0,0,0,.36),inset 0 1px rgba(255,255,255,.035)!important}
.sourceStage{position:relative;overflow:hidden;background:linear-gradient(145deg,rgba(126,247,255,.04),rgba(169,139,255,.035),rgba(255,255,255,.018))!important}
.sourceStage:after{content:"";position:absolute;inset:-80% -20%;pointer-events:none;background:linear-gradient(115deg,transparent 45%,rgba(255,255,255,.08) 50%,transparent 55%);transform:translateX(-65%);animation:v40Sweep 4.8s ease-in-out infinite}
@keyframes v40Sweep{0%,65%{transform:translateX(-70%)}85%,100%{transform:translateX(70%)}}
.playerCard{position:relative;isolation:isolate;overflow:hidden;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease;background:linear-gradient(155deg,color-mix(in srgb,var(--rarity) 12%,#142019),#0a120e 62%)!important;box-shadow:0 12px 30px rgba(0,0,0,.22),inset 0 0 0 1px color-mix(in srgb,var(--rarity) 20%,transparent)!important}
.playerCard:before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(circle at 100% 0%,color-mix(in srgb,var(--rarity) 18%,transparent),transparent 42%);opacity:.9}
.playerCard:after{content:"";position:absolute;inset:-55% -90%;z-index:2;pointer-events:none;background:linear-gradient(105deg,transparent 42%,rgba(255,255,255,.13) 50%,transparent 58%);transform:translateX(-55%) rotate(8deg);opacity:0}
.playerCard:hover{transform:translateY(-3px);border-color:color-mix(in srgb,var(--rarity) 70%,white)!important;box-shadow:0 18px 42px rgba(0,0,0,.34),0 0 26px color-mix(in srgb,var(--rarity) 18%,transparent)!important}
.playerCard:hover:after{opacity:1;animation:v40CardShine .7s ease}
@keyframes v40CardShine{to{transform:translateX(70%) rotate(8deg)}}
.playerCard[data-tier="legendary"]{background:linear-gradient(150deg,#2c2814,#17180e 60%,#090d0a)!important}
.playerCard[data-tier="icon"]{background:linear-gradient(145deg,#f3efdf,#d8e8e7 48%,#e8ddc5)!important;color:#17150f!important;border-color:rgba(255,246,210,.5)!important}
.playerCard[data-tier="icon"] .cardMeta,.playerCard[data-tier="icon"] .price{color:#554f42!important}
.playerCard[data-tier="ultra"]{background:conic-gradient(from 210deg at 50% 45%,#e9ffff,#e8dcff,#fff0be,#d6fff0,#e9ffff)!important;color:#131314!important;border-color:#fff!important;box-shadow:0 0 0 1px rgba(255,255,255,.6),0 0 32px rgba(199,239,255,.22),0 16px 38px rgba(0,0,0,.32)!important;animation:v40UltraBreath 2.6s ease-in-out infinite}
.playerCard[data-tier="ultra"] .cardMeta,.playerCard[data-tier="ultra"] .price{color:#55515b!important}
@keyframes v40UltraBreath{50%{filter:brightness(1.08) saturate(1.12);box-shadow:0 0 0 1px #fff,0 0 45px rgba(255,226,130,.25),0 18px 45px rgba(0,0,0,.35)}}
.v40RarityBurst{position:absolute;inset:0;pointer-events:none;z-index:5;animation:v40Burst .8s ease forwards;background:radial-gradient(circle at 50% 35%,color-mix(in srgb,var(--rarity) 30%,white),transparent 46%)}
@keyframes v40Burst{0%{opacity:0;transform:scale(.72)}30%{opacity:1}100%{opacity:0;transform:scale(1.18)}}

/* PRO hub / compare */
.v40ModalTabs{display:flex;gap:6px;flex-wrap:wrap;margin:12px 0}.v40Tab{border:1px solid var(--line);background:rgba(255,255,255,.035);color:#fff;padding:8px 10px;border-radius:9px;font-size:.62rem;cursor:pointer}.v40Tab.active{background:linear-gradient(135deg,var(--green),#64dcff);color:#04200c;border-color:transparent;font-weight:950}.v40Panel{display:none}.v40Panel.active{display:block}.v40Dashboard{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.v40Metric{padding:12px;border:1px solid var(--line);border-radius:13px;background:rgba(255,255,255,.025)}.v40Metric span{display:block;color:var(--muted);font-size:.53rem}.v40Metric b{font-size:1.15rem}.v40Section{margin-top:13px;padding:13px;border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.018)}.v40Section h3{margin:0 0 9px;font-size:.78rem}.v40Objective{display:grid;grid-template-columns:1fr auto;align-items:center;gap:9px;padding:9px;border:1px solid var(--line);border-radius:10px;margin:6px 0;background:rgba(255,255,255,.025)}.v40Objective small{display:block;color:var(--muted);font-size:.56rem;margin-top:2px}.v40Objective.done{border-color:rgba(117,255,153,.28)}.v40Objective button{padding:6px 8px;font-size:.54rem}.v40Progress{height:6px;background:#07100a;border-radius:99px;overflow:hidden;margin-top:5px}.v40Progress i{display:block;height:100%;background:linear-gradient(90deg,var(--green),var(--v40-cyan))}.v40Radar{display:grid;grid-template-columns:repeat(5,1fr);gap:6px}.v40Radar div{padding:9px 5px;text-align:center;border:1px solid var(--line);border-radius:10px;background:rgba(255,255,255,.025)}.v40Radar span{display:block;font-size:.48rem;color:var(--muted)}.v40Radar b{font-size:.86rem}.v40Synergies{display:flex;flex-wrap:wrap;gap:6px}.v40Tag{padding:6px 8px;border-radius:999px;border:1px solid rgba(117,255,153,.2);background:rgba(117,255,153,.055);color:#caffd7;font-size:.55rem}.v40Season{display:grid;grid-template-columns:repeat(5,1fr);gap:7px}.v40Level{padding:10px;border:1px solid var(--line);border-radius:11px;background:rgba(255,255,255,.023);text-align:center}.v40Level.done{border-color:rgba(117,255,153,.28);background:rgba(117,255,153,.045)}.v40Level.claimed{opacity:.62}.v40Level small{display:block;color:var(--muted);font-size:.48rem}.v40Level b{font-size:.72rem}.v40Level button{margin-top:6px;font-size:.5rem;padding:5px 7px}.v40Collection{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.v40Collection>div{padding:11px;border:1px solid var(--line);border-radius:11px;background:rgba(255,255,255,.02)}.v40Collection span{display:block;font-size:.5rem;color:var(--muted)}.v40Collection b{font-size:.9rem}.v40Mixer{display:grid;gap:11px}.v40Mixer label{display:grid;grid-template-columns:110px 1fr 42px;align-items:center;gap:9px;font-size:.62rem}.v40Mixer input[type="range"]{padding:0}.v40AudioRow{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.v40CompareGrid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.v40ComparePlayer{padding:16px;border:1px solid var(--line);border-radius:16px;background:linear-gradient(145deg,rgba(255,255,255,.04),rgba(255,255,255,.015))}.v40ComparePlayer .big{font-size:2.7rem;font-weight:950}.v40CompareStats{display:grid;grid-template-columns:repeat(5,1fr);gap:5px;margin-top:10px}.v40CompareStats div{text-align:center;padding:7px;border:1px solid var(--line);border-radius:9px}.v40CompareStats span{display:block;font-size:.45rem;color:var(--muted)}.v40CompareStats b{font-size:.72rem}.v40CompareDelta{font-size:.5rem;color:var(--green);margin-left:3px}

/* draft HUD */
.v40DraftHUD{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin:8px 0}.v40DraftHUD>div{padding:8px;border:1px solid var(--line);border-radius:10px;background:rgba(255,255,255,.022)}.v40DraftHUD span{display:block;color:var(--muted);font-size:.46rem}.v40DraftHUD b{font-size:.72rem}.v40Autosave{display:inline-flex;align-items:center;gap:5px;color:var(--muted);font-size:.5rem}.v40Autosave i{width:6px;height:6px;border-radius:50%;background:var(--green);box-shadow:0 0 8px rgba(117,255,153,.5)}

/* matchday PRO */
.v40PowerCompare{display:grid;grid-template-columns:1fr auto 1fr;gap:8px;align-items:center;margin:9px 0;padding:10px;border:1px solid var(--line);border-radius:12px;background:rgba(255,255,255,.02)}.v40PowerCompare .side{display:grid;grid-template-columns:repeat(3,1fr);gap:5px}.v40PowerCompare .side div{text-align:center}.v40PowerCompare small{display:block;color:var(--muted);font-size:.43rem}.v40PowerCompare b{font-size:.7rem}.v40PowerCompare .vs{font-weight:950;color:var(--gold);font-size:.56rem}.v40LivePulse{height:4px;background:#08120c;border-radius:99px;overflow:hidden;margin:7px 0}.v40LivePulse i{display:block;width:50%;height:100%;background:linear-gradient(90deg,#ff6f7d,var(--gold),var(--green));transition:.3s}.v40GoalFlash{position:fixed;inset:0;pointer-events:none;z-index:80;background:radial-gradient(circle,rgba(117,255,153,.22),transparent 55%);animation:v40Flash .55s ease forwards}.v40CardFlash{position:fixed;inset:0;pointer-events:none;z-index:80;background:radial-gradient(circle,rgba(255,214,80,.16),transparent 52%);animation:v40Flash .45s ease forwards}@keyframes v40Flash{0%{opacity:0}30%{opacity:1}100%{opacity:0}}
.v40PostReport{margin-top:10px;padding:12px;border:1px solid var(--line);border-radius:12px;background:rgba(255,255,255,.025)}.v40PostReportHead{display:flex;justify-content:space-between;gap:10px;align-items:center}.v40PostReport h4{margin:0;font-size:.72rem}.v40PostStats{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-top:8px}.v40PostStats div{padding:7px;text-align:center;border-radius:9px;background:rgba(255,255,255,.03)}.v40PostStats span{display:block;color:var(--muted);font-size:.43rem}.v40PostStats b{font-size:.7rem}

/* monetization-safe postmatch slot */
.v40PostAd{display:none;min-height:86px;margin-top:12px;border:1px dashed rgba(255,255,255,.12);border-radius:12px;align-items:center;justify-content:center;flex-direction:column;color:var(--muted);font-size:.55rem;gap:3px}.v40PostAd.ready{display:flex}.v40PostAd b{letter-spacing:.12em;font-size:.5rem}

/* new homepage update banner */
.v40UpdateBanner{margin:0 0 26px;padding:17px;border:1px solid rgba(126,247,255,.17);border-radius:18px;background:linear-gradient(120deg,rgba(126,247,255,.055),rgba(169,139,255,.035),rgba(117,255,153,.035));display:flex;justify-content:space-between;gap:18px;align-items:center}.v40UpdateBanner h2{margin:3px 0 4px;font-size:1.05rem}.v40UpdateBanner p{margin:0;color:var(--muted);font-size:.64rem;line-height:1.5}.v40UpdateBanner strong{font-size:2rem;letter-spacing:-.04em;color:var(--v40-cyan)}

/* graphics quality */
body.v40-balanced .playerCard[data-tier="ultra"]{animation:none}body.v40-eco .noise,body.v40-eco .sourceStage:after,body.v40-eco .v40Floodlights{display:none!important}body.v40-eco *{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.08s!important}

@media(max-width:1180px){
 .v40Dashboard{grid-template-columns:1fr 1fr}.v40Season{grid-template-columns:repeat(3,1fr)}.v40Collection{grid-template-columns:1fr 1fr}.v40UpdateBanner{align-items:flex-start}.v40DraftHUD{grid-template-columns:1fr 1fr}
}
@media(max-width:680px){
 .v40Dashboard,.v40Collection,.v40CompareGrid{grid-template-columns:1fr}.v40Season{grid-template-columns:1fr 1fr}.v40Radar{grid-template-columns:repeat(3,1fr)}.v40Mixer label{grid-template-columns:82px 1fr 34px}.v40UpdateBanner{flex-direction:column}.v40UpdateBanner strong{font-size:1.5rem}.v40PostStats{grid-template-columns:1fr 1fr}
}
