*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden;background:#000;color:#fff;font-family:Arial,Helvetica,sans-serif}body{display:flex;align-items:center;justify-content:center}#game{width:min(100vw,calc(100dvh * 707 / 772));aspect-ratio:707/772;position:relative;overflow:hidden;background:#061a3b;box-shadow:0 0 40px #031e47}#reference{width:100%;height:100%;display:block;pointer-events:none}.hot{position:absolute;background:transparent;border:0;cursor:pointer;touch-action:manipulation}.hot:focus-visible{outline:3px solid #f9e07c}.hot:active{background:#ffffff24}.hot span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}#wallet{position:absolute;top:1.1%;left:44%;right:12%;height:4.4%;display:flex;justify-content:space-between;align-items:center;font-weight:900;font-size:clamp(8px,2.6vw,19px);text-shadow:0 2px 3px #000}#wallet span{background:#082653;padding:2px 4px;border-radius:6px}#panel{position:absolute;inset:6.5% 0 0;background:linear-gradient(135deg,#061a40,#0b3674 45%,#04122d);overflow:auto;padding:2.5%;padding-bottom:8%;border-top:3px solid #2baaff;scrollbar-width:thin}#panel h2{font-size:clamp(17px,4.5vw,31px);color:#ffd452;text-shadow:0 2px 4px #000;margin:0 0 10px}#panel h3{color:#ffd452;margin:8px 0}#panel p{font-size:clamp(11px,2.6vw,17px);line-height:1.35}.bar{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:12px}.btn{background:linear-gradient(#2198ec,#05468f);border:2px solid #5bc8ff;box-shadow:inset 0 1px #c5f4ff,0 3px #02112b;border-radius:9px;color:#fff;padding:9px 12px;font-weight:900;font-size:clamp(10px,2.5vw,16px);cursor:pointer}.btn:active{transform:translateY(2px)}.btn.gold{background:linear-gradient(#f8d75b,#bb6b0a);border-color:#fff3a6;color:#1b160b}.btn.green{background:linear-gradient(#78f82c,#0c970e);border-color:#c6ff80;color:#fff}.btn.purple{background:linear-gradient(#d747ed,#6314aa);border-color:#ffadff}.btn:disabled{filter:grayscale(.7);opacity:.55}.tabs{display:flex;gap:5px;flex-wrap:wrap;margin-bottom:12px}.tabs .btn{padding:7px 9px}.tiles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.tile{background:linear-gradient(145deg,#154c91,#081c44);border:2px solid #2b9cfa;border-radius:12px;padding:10px;text-align:center;box-shadow:inset 0 0 16px #144c83}.tile h3{font-size:clamp(12px,3.2vw,19px);margin:5px 0}.tile p{margin:5px 0;color:#d1e7ff}.packIcon{height:65px;display:flex;align-items:center;justify-content:center;font-size:44px;filter:drop-shadow(0 0 9px currentColor)}.tile .btn{width:100%;margin-top:8px}.legendGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.legend{border:2px solid #e9b83e;background:linear-gradient(150deg,#342308,#060b19 60%,#735011);border-radius:12px;text-align:center;padding:8px 3px;cursor:pointer;box-shadow:0 0 8px #ad7b26}.legend img{width:70%;height:65px;object-fit:contain}.legend strong{display:block;color:#ffe079;font-size:clamp(13px,3vw,21px)}.legend small{font-size:clamp(9px,2vw,12px)}.legend .rating{font-size:22px;color:#ffdf7c;font-weight:900}.line{display:flex;align-items:center;justify-content:space-between;gap:8px;background:#092959;border:1px solid #2a86ca;border-radius:10px;padding:10px;margin:7px 0}.line strong{font-size:clamp(11px,2.8vw,17px)}.line small{display:block;color:#b9d8f3;margin-top:3px}.line .btn{flex-shrink:0}.info{padding:10px;background:#0c3975;border:1px solid #4ea7e9;border-radius:10px;color:#d6eaff;font-size:clamp(11px,2.5vw,16px)}#modal{position:absolute;inset:0;background:#000b;z-index:5;display:flex;align-items:center;justify-content:center;padding:6%}#modal[hidden],#panel[hidden],#dynamicPitch[hidden],#wallet[hidden]{display:none!important}.modalBody{width:100%;max-height:85%;overflow:auto;background:linear-gradient(#113d7c,#071b42);border:3px solid #f1c451;border-radius:17px;padding:18px;text-align:center;box-shadow:0 0 28px #e5a8239c}.modalBody h2{color:#ffe47d;margin:8px}.modalBody p{font-size:clamp(12px,3vw,19px)}.modalBody .btn{margin:4px}.modalBody img{max-height:180px;max-width:42%;object-fit:contain;filter:drop-shadow(0 0 12px #efb937)}.formationOptions{display:grid;grid-template-columns:repeat(2,1fr);gap:7px}.formationOptions .btn{margin:0}.formationBoard{background:repeating-linear-gradient(0deg,#0d8137 0 13%,#0c6d32 13% 26%);border:4px solid #4cb56b;border-radius:12px;display:flex;flex-direction:column;justify-content:space-around;padding:12px 8px;min-height:310px;box-shadow:inset 0 0 0 2px #ffffff55}.formationRow{display:flex;justify-content:space-evenly;align-items:center;gap:2px}.miniCard{width:17%;max-width:70px;aspect-ratio:1/1.2;background:linear-gradient(150deg,#dfad3d,#121a30 18% 80%,#d7a43a);clip-path:polygon(16% 0,84% 0,100% 20%,100% 82%,50% 100%,0 82%,0 20%);display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:clamp(8px,2.2vw,14px);font-weight:900;color:#ffe89a;text-shadow:1px 1px #000;cursor:pointer}.miniCard img{height:60%;width:75%;object-fit:cover;border-radius:50%}.miniCard span{font-size:clamp(7px,1.8vw,12px);color:#fff}.bottom{display:flex;gap:6px;flex-wrap:wrap;justify-content:center;margin-top:12px}.status{color:#f8d565;font-weight:bold;text-align:center}.fade{animation:pop .45s ease-out}@keyframes pop{0%{transform:scale(.4);opacity:0;filter:brightness(3)}70%{transform:scale(1.07);opacity:1}100%{transform:scale(1);filter:brightness(1)}}

#shopReference{position:absolute;inset:0;width:100%;height:100%;object-fit:fill;pointer-events:none}
#shopReference[hidden],#shopEffects[hidden],#seasonShortcut[hidden]{display:none!important}
#shopEffects{position:absolute;inset:0;pointer-events:none}
.shopHot{position:absolute;border:0;background:transparent;pointer-events:auto;cursor:pointer;touch-action:manipulation;border-radius:10px}
.shopHot:focus-visible{outline:3px solid #fff4a2;outline-offset:-3px}
.shopHot:active{background:#ffffff30;filter:brightness(1.3)}
.packHot{animation:shopPulse 2.8s ease-in-out infinite;box-shadow:inset 0 0 0 0 transparent}
.packHot:nth-of-type(even){animation-delay:-1.4s}
.packHot:active{box-shadow:inset 0 0 20px 7px #ffe68d}
.dealHot{animation:dealGlow 3s ease-in-out infinite}
.offerHot{animation:offerGlow 2.6s ease-in-out infinite}
@keyframes shopPulse{0%,100%{filter:brightness(1)}50%{filter:brightness(1.15)}}
@keyframes dealGlow{0%,100%{box-shadow:inset 0 0 0 #12b9ff00}50%{box-shadow:inset 0 0 12px #12b9ff77}}
@keyframes offerGlow{0%,100%{box-shadow:inset 0 0 0 #ffcc0000}50%{box-shadow:inset 0 0 15px #ffcc0066}}
#seasonShortcut{position:absolute;right:1%;bottom:8%;z-index:3;background:linear-gradient(135deg,#9c27d9,#342078);border:2px solid #ffe06b;border-radius:9px;padding:5px 9px;color:#fff;font-weight:900;font-size:clamp(9px,2vw,14px);box-shadow:0 0 13px #d14af8;animation:passShine 2.4s ease-in-out infinite;cursor:pointer}
@keyframes passShine{50%{box-shadow:0 0 23px #f5cf65;filter:brightness(1.18)}}
.passHero{text-align:center;background:radial-gradient(circle at 50% 0%,#9c6c20,#22133e 60%,#081c3f);border:2px solid #edbf4c;border-radius:15px;padding:16px 8px;box-shadow:0 0 22px #e2b54a55}
.passHero h2{font-size:clamp(18px,4vw,30px)!important}.passCrown{font-size:52px;filter:drop-shadow(0 0 14px #ffdf6a);animation:passShine 2.5s infinite}.passHero p{color:#e9d8ff;font-weight:bold}
.passProgress{height:15px;border-radius:30px;background:#071128;border:2px solid #65c4ff;margin:12px}.passProgress div{height:100%;border-radius:30px;background:linear-gradient(90deg,#2bf28a,#e6d455)}.passTracks{display:flex;justify-content:space-around;margin-top:14px;color:#ffe087;font-weight:900;font-size:clamp(10px,2.5vw,15px)}
.passRewards{display:grid;grid-template-columns:repeat(2,1fr);gap:9px;margin-top:12px}.passReward{display:flex;flex-direction:column;align-items:center;gap:5px;background:linear-gradient(#154d8a,#0a1941);border:2px solid #e1b34d;border-radius:12px;padding:10px 5px}.passReward strong{font-size:clamp(11px,2.8vw,17px)}.passReward small{color:#c9dcff}.rewardIcon{font-size:38px}.rewardNum{align-self:flex-start;color:#ffe58a;font-weight:900}.passBuy{margin-top:12px;padding:14px;text-align:center;border:2px solid #f3c95b;border-radius:12px;background:#291945}.premiumOffer{border-color:#f8c34c}.marketHead{display:flex;justify-content:space-between;align-items:center;gap:8px;color:#ffe18c;font-weight:900;margin-bottom:12px}.legendReveal{font-size:42px;color:#ffdb70;animation:pop .6s ease-out;text-shadow:0 0 20px #ffd850}
@media(prefers-reduced-motion:reduce){.packHot,.dealHot,.offerHot,#seasonShortcut,.passCrown,.legendReveal{animation:none!important}}

/* Single live balances placed inside the original illustrated wallet frames.
   The baked numbers were erased from the source art; icons/plus buttons remain. */
#wallet{position:absolute;inset:0;left:0;right:0;top:0;height:100%;display:block;pointer-events:none;z-index:2;font-family:Arial,Helvetica,sans-serif;text-shadow:0 1px 2px #000,0 0 1px #fff;font-weight:900}
#wallet .walletAmount{position:absolute;display:flex;align-items:center;justify-content:center;background:transparent;border:0;border-radius:0;padding:0;white-space:nowrap;line-height:1;color:#fff;font-size:clamp(10px,2.95vw,24px);font-variant-numeric:tabular-nums;letter-spacing:-.035em}
#wallet.squadWallet #coinDisplay{left:51.65%;top:1.95%;width:14.35%;height:3.05%}
#wallet.squadWallet #diamondDisplay{left:74.95%;top:1.95%;width:5.75%;height:3.05%}
#wallet.shopWallet #coinDisplay{left:51.38%;top:1.75%;width:13.5%;height:3.4%}
#wallet.shopWallet #diamondDisplay{left:74.55%;top:1.75%;width:5.5%;height:3.4%}
#wallet.shopWallet .walletAmount{font-size:clamp(10px,2.75vw,23px)}
/* On menu pages there is no original header artwork, so show a proper live wallet. */
#wallet.menuWallet{height:6.3%;background:linear-gradient(90deg,#071b3e,#103a75);display:flex;align-items:center;justify-content:flex-end;gap:2%;padding:0 2%;border-bottom:2px solid #37b5ff}
#wallet.menuWallet .walletAmount{position:static;width:auto;height:auto;background:#081e43;border:1px solid #299ee5;border-radius:7px;padding:4px 8px;font-size:clamp(11px,2.8vw,19px)}
.walletAmount.changed{animation:balanceChange .42s ease-out}
@keyframes balanceChange{0%{transform:scale(1.2);color:#ffe376}100%{transform:scale(1);color:#fff}}

#academyReference{position:absolute;inset:0;width:100%;height:100%;object-fit:fill;pointer-events:none}
#academyReference[hidden],#academyEffects[hidden]{display:none!important}
#academyEffects{position:absolute;inset:0;pointer-events:none}
.academyHot{position:absolute;pointer-events:auto;border:0;background:transparent;cursor:pointer;touch-action:manipulation;border-radius:12px}
.academyHot:focus-visible{outline:3px solid #fff4a2}
.academyHot:active{background:#ffffff33}
.academyPulse{animation:academyGlow 2.7s ease-in-out infinite}
@keyframes academyGlow{50%{box-shadow:inset 0 0 16px #54ecff66;filter:brightness(1.15)}}
#wallet.academyWallet #coinDisplay{left:51.38%;top:1.75%;width:13.5%;height:3.4%}
#wallet.academyWallet #diamondDisplay{left:74.55%;top:1.75%;width:5.5%;height:3.4%}
#wallet.academyWallet .walletAmount{font-size:clamp(10px,2.75vw,23px)}
.academyProspect{display:flex;align-items:center;gap:9px;padding:9px;background:#082959;border:1px solid #2ea9ff;border-radius:10px;margin:8px 0}
.academyProspect img{width:58px;height:68px;object-fit:cover;clip-path:polygon(13% 0,87% 0,100% 14%,100% 85%,50% 100%,0 85%,0 14%);border:2px solid #e6b94b}
.academyProspect .details{flex:1;min-width:0}
.academyProspect strong{display:block;color:#ffe088}
.academyProspect small{display:block;color:#d1e9ff}
@media(prefers-reduced-motion:reduce){.academyPulse{animation:none!important}}

/* Currency and navigation repair: numbers live in the illustrated header, never duplicated. */
#game{container-type:inline-size}
#wallet{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;display:block!important;pointer-events:none!important;z-index:3!important;padding:0!important;border:0!important;background:transparent!important;font-family:Arial,Helvetica,sans-serif!important;font-weight:900!important;text-shadow:0 1px 2px #000!important}
#wallet[hidden]{display:none!important}
#wallet .walletAmount{position:absolute!important;display:flex!important;align-items:center!important;justify-content:center!important;white-space:nowrap!important;overflow:visible!important;box-sizing:border-box!important;background:transparent!important;border:0!important;border-radius:0!important;padding:0!important;margin:0!important;color:#fff!important;font-size:2.34cqw!important;line-height:1!important;letter-spacing:-.055em!important;font-variant-numeric:tabular-nums!important;font-stretch:condensed!important}
#wallet.squadWallet #coinDisplay{left:49.8%!important;top:1.92%!important;width:13.65%!important;height:3.2%!important}
#wallet.squadWallet #diamondDisplay{left:75.05%!important;top:1.92%!important;width:6.65%!important;height:3.2%!important}
#wallet.shopWallet #coinDisplay,#wallet.academyWallet #coinDisplay{left:51.1%!important;top:1.95%!important;width:13.8%!important;height:3.45%!important}
#wallet.shopWallet #diamondDisplay,#wallet.academyWallet #diamondDisplay{left:74.5%!important;top:1.95%!important;width:6.2%!important;height:3.45%!important}
#wallet.menuWallet{height:6.3%!important;background:linear-gradient(90deg,#071b3e,#103a75)!important;display:flex!important;align-items:center!important;justify-content:flex-end!important;gap:2%!important;padding:0 2%!important;border-bottom:2px solid #37b5ff!important}
#wallet.menuWallet .walletAmount{position:static!important;width:auto!important;height:auto!important;background:#081e43!important;border:1px solid #299ee5!important;border-radius:7px!important;padding:4px 8px!important;font-size:2.5cqw!important}
.walletAmount.changed{animation:balanceChange .42s ease-out}

/* Transfers: a functional, responsive page in the existing electric-blue / gold game style. */
.transferScreen{background:radial-gradient(ellipse at 50% 20%,#164c9c,#061b44 65%);padding:6px;border-radius:13px;border:1px solid #288ce3;box-shadow:inset 0 0 30px #00baff22}
.transferHero{min-height:112px;display:flex;align-items:center;justify-content:space-around;text-align:center;gap:4px;background:radial-gradient(ellipse at center,#1953a5 0%,#0b2860 63%,#061b42 100%);border:2px solid #268de5;border-radius:12px;box-shadow:0 0 18px #168cff77,inset 0 0 18px #3bafff33;margin-bottom:10px;padding:10px 4px;font-size:clamp(9px,2.4vw,15px);font-weight:bold}
.transferHeroTitle{font-size:clamp(24px,7vw,45px);font-weight:1000;font-style:italic;color:white;text-shadow:2px 3px #061330,0 0 15px #70baff;letter-spacing:.03em}
.transferHeroIcon{font-size:clamp(27px,8vw,54px);filter:drop-shadow(0 0 8px #4aaaff)}
.transferNav{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:4px;margin-bottom:13px}.transferNav .btn{font-size:clamp(8px,1.8vw,12px);padding:9px 1px;border-radius:7px;white-space:normal;min-height:40px}.transferNav .selected{background:linear-gradient(#05b9ff,#0069c9);box-shadow:0 0 13px #15bfff}
.transferHeading{color:#ffe28c;text-shadow:0 0 9px #e4b54d;text-align:center;font-size:clamp(15px,4.4vw,26px);font-weight:1000;margin:13px 0 9px;border-bottom:1px solid #3b97dd;padding-bottom:5px}
.transferStats{display:flex;justify-content:space-around;gap:4px;font-size:clamp(9px,2vw,13px);text-align:center;margin:7px 0 12px}.transferStats span{padding:7px 5px;background:linear-gradient(#154c90,#08224d);border:1px solid #3cbaff;border-radius:8px}.transferStats b{color:#ffdf75}
.transferCards{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:4px;margin:8px 0 18px}
.transferCard{text-align:center;min-width:0;color:#fff}.transferShield{height:clamp(110px,23vw,176px);position:relative;clip-path:polygon(17% 0,83% 0,100% 15%,100% 82%,50% 100%,0 82%,0 15%);background:linear-gradient(140deg,var(--tier,#d0a039),#fff5a5 20%,var(--tier,#d0a039) 40%,#12192e 50%,var(--tier,#d0a039) 95%);padding:4px;filter:drop-shadow(0 0 8px var(--tier,#d0a039))}
.transferShield:before{content:'';position:absolute;inset:5px;background:linear-gradient(145deg,#223a66,#0b142a 75%);clip-path:inherit}
.transferShield img{position:absolute;left:7%;top:12%;width:86%;height:65%;object-fit:cover;object-position:top center;clip-path:polygon(10% 0,90% 0,100% 12%,100% 100%,0 100%,0 12%)}
.transferRating,.transferPosition,.transferName,.transferFlag{position:absolute;z-index:1;text-shadow:0 1px 2px #000;font-weight:900}.transferRating{left:11%;top:3%;font-size:clamp(13px,3vw,23px);color:#ffdf77}.transferPosition{right:11%;top:6%;font-size:clamp(9px,2vw,15px)}.transferName{bottom:13%;left:5%;width:90%;font-size:clamp(8px,1.7vw,13px);background:linear-gradient(90deg,#b37b2b,#fff1a5,#b37b2b);color:#14182c;text-shadow:none;padding:2px 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transform:skew(-3deg)}.transferFlag{bottom:4%;right:40%;font-size:clamp(10px,2.4vw,17px)}
.transferCard.gold{--tier:#ffcd35}.transferCard.epic{--tier:#e044ff}.transferCard.rare{--tier:#17c5ff}.transferCard.silver{--tier:#e1e9ff}.transferCard.bronze{--tier:#d68a4b}.transferCard.legendary{--tier:#f7c13a}.transferCard.locked .transferShield{filter:grayscale(.65);opacity:.7}
.transferPrice{font-size:clamp(9px,2vw,14px);font-weight:900;background:linear-gradient(#135ca7,#092656);border:1px solid #46b8ff;border-radius:5px;padding:4px 0;margin:5px 0;white-space:nowrap}
.transferActions{display:flex;gap:2px}.transferActions .btn{padding:5px 1px;flex:1;min-width:0;font-size:clamp(8px,1.7vw,12px);border-width:1px}.transferActions .btn:last-child{flex:0 0 26%}.transferCard small{display:block;color:#f6d487;font-size:9px;margin-top:3px}
.transferPromo{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:12px 0}.transferPromo>div{padding:12px 8px;border:2px solid #44b7ff;border-radius:13px;text-align:center;background:linear-gradient(145deg,#195ca4,#061a42);box-shadow:inset 0 0 14px #37aaff55}.transferPromo>div:nth-child(2){border-color:#e8b943;background:linear-gradient(145deg,#69451b,#10153b)}.transferPromo h3{font-size:clamp(13px,3vw,20px)}.transferPromo p{font-size:clamp(10px,2.4vw,15px)}
@media(max-width:390px){.transferCards{grid-template-columns:repeat(3,minmax(0,1fr))}.transferShield{height:145px}.transferNav .btn{font-size:8px}}

/* Interactive stadium architecture and progression */
.stadiumScreen{padding:8px;background:radial-gradient(ellipse at 50% 5%,#1450a2,#061839 75%);border:1px solid #39b9ff;border-radius:12px;color:white}.stadiumHero{border:2px solid #3faaff;border-radius:12px;overflow:hidden;background:linear-gradient(#081d49,#164e94);box-shadow:0 0 17px #068aff55}.stadiumHeadline{display:flex;justify-content:space-between;align-items:center;padding:8px 12px}.stadiumHeadline h2{margin:0;font-size:clamp(19px,5vw,30px);font-style:italic;text-shadow:0 0 10px #7edaff}.stadiumHeadline span{font-size:clamp(10px,2.4vw,14px);color:#b9e3ff}.stadiumStars{color:#ffda62!important;font-size:clamp(13px,3vw,21px)!important}.stadiumArt{display:block;width:100%;height:auto;max-height:330px;background:linear-gradient(#061943,#1c68a3);overflow:hidden}.stadiumMetrics{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;padding:7px}.stadiumMetrics>div{border:1px solid #58caff;border-radius:7px;background:#092653;text-align:center;font-size:clamp(9px,2.2vw,14px);padding:6px 1px}.stadiumMetrics b{display:block;color:#ffe279;font-size:clamp(13px,3.5vw,20px)}.stadiumTabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;margin:10px 0}.stadiumTabs .btn{font-size:clamp(9px,2.4vw,13px);padding:9px 1px;white-space:normal}.stadiumTabs .selected,.stadiumThemes .selected{background:linear-gradient(#00c8ff,#0065c8);box-shadow:0 0 12px #00ccff}.stadiumUpgrade{border:2px solid #39c5ff;border-radius:12px;background:linear-gradient(130deg,#0e3470,#07183a);padding:13px;margin:10px 0;text-align:center;box-shadow:inset 0 0 15px #26aaff44}.stadiumUpgrade h3,.stadiumGoldTitle{color:#ffe186;text-align:center;margin:4px 0 11px;text-shadow:0 0 8px #d7a439;font-size:clamp(15px,4vw,22px)}.stadiumCompare{font-size:clamp(17px,4.2vw,24px);font-weight:900;margin:8px}.stadiumCompare small{font-size:clamp(11px,2.8vw,15px);font-weight:500;line-height:1.8;color:#c9e6ff}.stadiumUpgrade .btn.green{font-size:clamp(13px,3.4vw,19px);padding:10px 16px}.stadiumFacilities{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:5px}.stadiumFacility{min-width:0;text-align:center;border:1px solid #55c8ff;border-radius:9px;background:linear-gradient(#1453a2,#071e47);padding:6px 2px}.stadiumFacilityIcon{font-size:clamp(20px,5vw,32px)}.stadiumFacility b{display:block;font-size:clamp(9px,2vw,13px);min-height:30px}.stadiumFacility small{display:block;color:#ffe77c;font-size:11px}.stadiumFacility .btn{font-size:clamp(8px,1.9vw,12px);padding:5px 1px;width:100%;margin-top:4px}.stadiumExtraGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin:12px 0}.stadiumExtra{color:white;background:linear-gradient(#145bb4,#071c45);border:2px solid #edc454;border-radius:11px;min-height:100px;font-size:25px;box-shadow:0 0 10px #e9bc4a55;padding:8px 3px}.stadiumExtra b,.stadiumExtra small{display:block;font-size:clamp(9px,2vw,14px)}.stadiumExtra small{color:#cce8ff;font-weight:normal}.stadiumEvolution{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:4px;margin:9px 0 15px}.stadiumStep{min-width:0;border:1px solid #4aaeff;border-radius:9px;background:#08234f;color:white;padding:3px 2px}.stadiumStep.achieved{border-color:#ffd761;box-shadow:0 0 8px #f7d34b77}.stadiumMini{height:clamp(55px,12vw,100px);overflow:hidden}.stadiumMini svg{height:100%;object-fit:contain}.stadiumStep b,.stadiumStep small,.stadiumStep span{display:block;font-size:clamp(9px,2.2vw,14px)}.stadiumStep small{font-size:clamp(8px,1.7vw,12px);min-height:24px}.stadiumStep span{color:#ffdc63}.stadiumScroll{overflow-x:auto}.stadiumTable{width:100%;border-collapse:collapse;font-size:clamp(9px,2vw,13px);text-align:center}.stadiumTable th,.stadiumTable td{border:1px solid #3b94dd;padding:7px 3px;min-width:62px}.stadiumTable thead{background:#1757a4}.stadiumTable td{color:#e5f6ff}.stadiumTable tr:nth-child(odd){background:#0d3267}.stadiumThemes{display:flex;flex-wrap:wrap;justify-content:center;gap:8px}.stadiumPreview{margin:8px auto;max-width:500px;border:2px solid #2eafff;border-radius:9px;overflow:hidden}@media(max-width:390px){.stadiumFacilities{grid-template-columns:repeat(3,minmax(0,1fr))}}

/* Stadium screen: approved artwork is displayed unaltered, with tappable controls.
   Live progress is displayed in interactive details, not painted over fixed numbers. */
#panel.stadiumConceptPanel{inset:0;padding:0;border:0;overflow:hidden;background:#041632}
.stadiumConceptCanvas{position:relative;width:100%;height:100%}
.stadiumConceptCanvas>img{display:block;width:100%;height:100%;object-fit:fill;pointer-events:none}
.stadiumConceptHot{position:absolute;border:0;background:transparent;cursor:pointer;touch-action:manipulation}
.stadiumConceptHot:active{background:rgba(255,255,255,.13);border-radius:9px}
.stadiumConceptHot:focus-visible{outline:2px solid #fff3a1}

/* Approved club concept pages: original art, with independent live controls below. */
#panel.clubConceptPanel{inset:0;padding:0;border:0;overflow:auto;background:radial-gradient(#164889,#03102c);scrollbar-width:thin}
.clubArtFrame{position:relative;width:100%;overflow:hidden}.clubArtFrame img{display:block;width:100%;height:auto}.clubArtHot{position:absolute;background:transparent;border:0;cursor:pointer}.clubArtHot:active{background:#ffffff25}.clubArtHot:focus-visible{outline:2px solid #f6d560}
.clubLive{padding:12px 10px 30px;border-top:3px solid #39c5ff;background:linear-gradient(#0d3475,#061632)}.clubLiveTitle{font-weight:900;font-size:clamp(15px,4vw,25px);color:#ffdb74;display:flex;align-items:center;justify-content:space-between;gap:5px}.clubQuickNav{display:flex;gap:5px;overflow-x:auto;padding:9px 0 13px}.clubQuickNav .btn{flex:0 0 auto;font-size:clamp(9px,2vw,13px);padding:8px 7px}.clubLiveGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:8px 0}.clubLiveTile{background:#0c3269;border:1px solid #49bcff;border-radius:8px;padding:8px;text-align:center}.clubLiveTile .btn{width:100%;font-size:clamp(9px,2vw,12px);padding:6px 2px}.clubLiveBody p{font-size:clamp(11px,2.7vw,16px)}.clubLiveBody>.btn{margin:4px}.clubNote{font-size:11px;color:#c6d9f2;line-height:1.4}

/* Missions: supplied artwork on overview; independently rendered functional subpages. */
#panel.missionConceptPanel{inset:0;padding:0;border:0;overflow:auto;background:#03132e}
.missionArtwork{width:100%;position:relative;line-height:0}
.missionArtwork img{width:100%;height:auto;display:block}
.missionHot{position:absolute;border:0;background:transparent;cursor:pointer;touch-action:manipulation}
.missionHot:focus-visible{outline:3px solid #fff09a}.missionHot:active{background:#ffffff25}
.missionLive,.missionSubpage{padding:14px 10px 32px;background:radial-gradient(ellipse at 50% 0%,#174d9a,#061537 75%);color:white}
.missionLive h2,.missionSubpage h2{color:#ffdb7a!important;text-align:center;text-shadow:0 0 12px #247ef7}
.missionDisclosure{font-size:12px!important;color:#cbd9ef}
.missionTabs{display:flex;gap:6px;overflow-x:auto;padding:8px 0 13px;scrollbar-width:thin}
.missionTabs .btn{white-space:nowrap;flex-shrink:0;font-size:clamp(10px,2.2vw,14px);padding:8px}
.missionGrid{display:grid;grid-template-columns:32% minmax(0,1fr);gap:8px}
.missionMega,.missionFeature,.missionTaskList{border:2px solid #43baff;border-radius:14px;background:linear-gradient(140deg,#0d3976,#061c44);box-shadow:inset 0 0 16px #1671bf,0 0 8px #0089ed;padding:9px}
.missionMega{text-align:center;border-color:#f7d66d}.missionMega h3{font-size:clamp(11px,2.7vw,18px)!important}.missionMega p{font-size:clamp(10px,2.2vw,13px)!important}.missionMega strong{display:block;color:#ffe282}
.missionChest{font-size:clamp(42px,10vw,90px);margin:18px 0;filter:drop-shadow(0 0 12px #f4b921)}
.missionTaskList{display:flex;flex-direction:column;gap:7px}
.missionTask{display:flex;align-items:center;gap:6px;border:1px solid #45c3ff;background:linear-gradient(90deg,#082657,#0a4383,#082552);border-radius:9px;padding:8px 6px;min-width:0}
.missionTaskIcon{font-size:clamp(20px,4.5vw,34px);flex:0 0 8%;text-align:center}
.missionTaskText{min-width:0;flex:1}.missionTaskText strong{font-size:clamp(11px,2.7vw,17px);display:block}.missionTaskText small{display:block;color:#c5def4;font-size:clamp(9px,2vw,12px)}
.missionMeter{height:18px;border:1px solid #75c5ff;background:#07162c;border-radius:12px;position:relative;overflow:hidden;margin-top:5px}
.missionMeter span{display:block;height:100%;background:linear-gradient(#9dff59,#08a50d);border-radius:10px;box-shadow:0 0 9px #3aff36}
.missionMeter b{position:absolute;right:6px;top:0;font-size:12px;text-shadow:1px 1px #000}
.missionPrize{display:flex;flex-direction:column;color:#ffe18a;font-size:clamp(9px,1.8vw,13px);font-weight:bold;white-space:nowrap}
.missionTask>.btn{font-size:clamp(10px,2.2vw,14px);padding:7px 6px}
.missionFeaturePair{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:12px}.missionFeature{text-align:center;border-color:#e7bc5d}
.missionFeature h3{font-size:clamp(12px,3vw,19px)!important}.missionFeature p{font-size:clamp(10px,2.2vw,13px)!important}
.missionSubHeader{display:flex;align-items:center;justify-content:space-between;gap:5px;font-size:clamp(10px,2.5vw,16px);font-weight:900;color:#ffe289}
.missionSubHero{background:linear-gradient(100deg,#061638,#14529b,#061638);border-top:2px solid #44c5ff;border-bottom:2px solid #44c5ff;text-align:center;padding:20px 6px;margin:12px -10px}
.missionSubHero span{font-size:48px;filter:drop-shadow(0 0 12px #f9cd44)}.missionSubHero h2{margin:3px 0!important}.missionSubHero p{font-weight:900;color:#dbeeff;font-size:clamp(10px,2.5vw,15px)!important}
.missionBack{text-align:center;margin-top:20px}
@media(max-width:500px){.missionGrid{grid-template-columns:1fr}.missionMega{display:grid;grid-template-columns:1fr 1fr;gap:3px;align-items:center}.missionMega .missionChest{grid-row:span 3;margin:0}.missionPrize{font-size:10px}.missionTask{gap:4px}.missionTask>.btn{padding:6px 4px}}

/* Fully rebuilt Squad page: no screenshot, no transparent image hotspots. */
#panel.liveSquadPanel{inset:0;padding:0;border:0;overflow:auto;background:linear-gradient(#06102b,#07346f 78%,#04132f);font-family:Arial,sans-serif;scrollbar-width:thin}
.liveSquadPanel button{cursor:pointer;color:white;font-family:inherit}
.squadLiveHeader{display:flex;align-items:center;gap:.7%;padding:1.2% 1.2%;min-height:8%;background:linear-gradient(#05102a,#0a3975);border-bottom:2px solid #38b8ff}
.squadLogo{width:7%;font-size:clamp(13px,4vw,29px);position:relative;text-align:center}.squadLogo span{position:absolute;top:35%;left:25%;font-size:.65em}
.squadBrand{flex:1;min-width:0;white-space:nowrap}.squadBrand strong{font-size:clamp(10px,3.1vw,21px);display:block;letter-spacing:-.5px}.squadBrand small{font-size:clamp(6px,1.4vw,10px);color:#70d5ff;font-weight:bold}.squadBrand small b{color:#ffdf69}
.squadCurrency{border:1px solid #51bdff;background:linear-gradient(#174c8d,#06142e);border-radius:7px;font-size:clamp(9px,2.5vw,18px);font-weight:900;padding:5px 3px;box-shadow:0 0 5px #1286f7;white-space:nowrap}.squadLevel{border:2px solid #ffe18b;border-radius:7px;padding:3px;text-align:center;font-weight:900;font-size:clamp(9px,2vw,14px)}
.squadLiveNav{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:2px;background:#041735;padding:3px 1px;border-bottom:2px solid #35bdff}
.squadLiveNav button{min-width:0;border:1px solid #2c6a9f;border-radius:5px;background:linear-gradient(#103b79,#071b44);font-size:clamp(5px,1.3vw,10px);font-weight:900;padding:3px 0;min-height:44px}.squadLiveNav button span{display:block;font-size:clamp(13px,3.6vw,25px);line-height:1.15}.squadLiveNav button.active{background:linear-gradient(#23caff,#0663c7);border-color:#93efff;box-shadow:0 0 9px #02bfff}
.squadArena{position:relative;overflow:hidden;background:radial-gradient(ellipse at 50% 45%,#1e8cd9 0,#083778 40%,#031634 90%);padding:3% 2% 1%}
.arenaLights{position:absolute;top:13%;font-size:65px;color:#efffff;text-shadow:0 0 18px #fff,0 0 30px #3caeff;pointer-events:none}.lightLeft{left:-3%}.lightRight{right:-3%}
.arenaTop{position:absolute;top:3%;left:2%;right:2%;z-index:3;display:flex;justify-content:space-between;pointer-events:none}.arenaTop button{pointer-events:auto}.squadBoost{background:linear-gradient(#fff7cb,#e5a42c);border:2px solid #ffe59a;border-radius:9px;color:#a94d00!important;font-weight:900;font-size:clamp(13px,3vw,20px);padding:5px 7px;text-shadow:none}.squadBoost small{display:block;font-size:clamp(6px,1.3vw,10px);color:#271900}.squadUtility{background:#08427e;border:2px solid #52cbff;border-radius:9px;font-size:24px;padding:4px 9px}
.squadPitch{height:auto;aspect-ratio:1.18/1;position:relative;margin:2% 4% 0;background:repeating-linear-gradient(0deg,#0b9a2d 0 12.5%,#087e2a 12.5% 25%);border:4px solid #a0f56b;clip-path:polygon(15% 0,85% 0,100% 100%,0 100%);box-shadow:inset 0 0 20px #b0ff83}
.pitchMark{position:absolute;pointer-events:none;border:2px solid #ffffffb0}.pitchOuter{inset:3% 3%}.pitchCenter{left:3%;right:3%;top:50%;border:0;border-top:2px solid #ffffffb0}.pitchCircle{width:23%;height:23%;border-radius:50%;left:38.5%;top:38.5%}.pitchTop{width:36%;height:13%;top:3%;left:32%}.pitchBottom{width:36%;height:13%;bottom:3%;left:32%}
.squadRows{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:space-around;padding:3% 5% 1%}.liveSquadRow{display:flex;justify-content:space-evenly;align-items:center;height:24%;gap:1%}
.squadPlayer{border:0;background:none;padding:0;width:18.5%;height:100%;max-width:105px;filter:drop-shadow(0 0 4px var(--glow));transition:transform .2s;position:relative}.squadPlayer:active{transform:scale(1.12)}.squadPlayer:focus-visible{outline:2px solid white}
.squadPlayer.bronze{--edge:#db9257;--glow:#ff9a51;--top:#5c321e}.squadPlayer.silver{--edge:#dce8f4;--glow:#e3f7ff;--top:#273b54}.squadPlayer.rare{--edge:#22cfff;--glow:#00aeff;--top:#053b7b}.squadPlayer.epic{--edge:#f64cff;--glow:#e524ff;--top:#67117f}.squadPlayer.gold{--edge:#ffe263;--glow:#ffb900;--top:#62430a}.squadPlayer.legendary{--edge:#ffdd69;--glow:#ffbd00;--top:#08090c}
.shieldEdge,.shieldInside{display:block;position:absolute;inset:0;clip-path:polygon(17% 0,83% 0,100% 17%,100% 78%,50% 100%,0 78%,0 17%)}.shieldEdge{background:linear-gradient(130deg,#fff3a3,var(--edge) 30%,#674217 52%,var(--edge) 80%,#fff7c0)}.shieldInside{inset:5%;background:radial-gradient(ellipse at 50% 30%,var(--top),#081328 78%)}
.squadPortrait{position:absolute;width:80%;height:60%;object-fit:cover;object-position:top center;left:10%;top:14%;border-radius:45% 45% 10% 10%;mask-image:linear-gradient(#000 68%,transparent 100%)}
.squadRating{position:absolute;top:2%;left:10%;font-weight:1000;color:#fff1b1;font-size:clamp(12px,3.3vw,23px);text-shadow:1px 2px #080b1b;z-index:1}.squadPosition{position:absolute;right:9%;top:16%;font-size:clamp(7px,1.6vw,12px);font-weight:900;z-index:1}
.squadName{position:absolute;left:2%;right:2%;bottom:21%;background:linear-gradient(90deg,#fff3bd,#fff,#e4c66f);color:#111a2a;font-size:clamp(6px,1.4vw,11px);font-weight:900;white-space:nowrap;overflow:hidden;z-index:2;padding:2% 0}.squadFlag{position:absolute;bottom:9%;left:0;right:0;font-size:clamp(9px,2vw,16px)}.squadStars{position:absolute;bottom:0;left:0;right:0;font-size:clamp(7px,1.8vw,12px);color:#ffe274;letter-spacing:-1px}
.squadPitchFooter{display:flex;justify-content:space-between;align-items:end;margin-top:-6%;position:relative;z-index:2}.squadTeamValue{background:linear-gradient(#1368b4,#082752);border:2px solid #5ecaff;border-radius:8px;text-align:center;min-width:17%;padding:3px}.squadTeamValue small{display:block;font-size:clamp(7px,1.6vw,12px)}.squadTeamValue b{display:block;color:#ffe36a;font-size:clamp(16px,4vw,27px)}.squadTeamValue span{display:block;background:#42ed19;color:#06132b;font-weight:900}.squadAuto{background:linear-gradient(#1377c9,#082552);border:2px solid #7ddcff;border-radius:8px;padding:7px;font-weight:900;font-size:clamp(9px,2vw,15px)}
.squadTiers{display:grid;grid-template-columns:1.1fr repeat(6,1fr);gap:3px;padding:6px 4px;background:linear-gradient(#082b5b,#031936);border:2px solid #2589d9;border-radius:7px}.squadTiers>span{font-size:clamp(6px,1.2vw,10px);font-weight:900;align-self:center;text-align:center}.squadTiers>div{border:1px solid var(--edge);border-radius:4px;text-align:center;padding:4px 0;background:linear-gradient(var(--top),#09142d);box-shadow:inset 0 0 7px var(--glow)}.squadTiers b,.squadTiers small{display:block;font-size:clamp(6px,1.4vw,10px)}
.squadActions{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:4px;padding:7px 5px}.squadAction{min-height:65px;border:2px solid #41bfff;border-radius:8px;background:linear-gradient(#1271bd,#05234e);font-size:clamp(7px,1.6vw,12px);font-weight:900;padding:3px}.squadAction span{display:block;font-size:clamp(18px,4vw,30px)}.squadAction.action0,.squadAction.action5{background:linear-gradient(#b53df0,#510e85);border-color:#e68cff}.squadAction.action2{background:linear-gradient(#91ff43,#0b9e11);border-color:#d6ff9e}
.squadFoot{display:grid;grid-template-columns:1.2fr .9fr 1.2fr 1.2fr;gap:4px;padding:2px 5px}.squadFoot button{background:linear-gradient(#164e8d,#071e43);border:1px solid #54aafa;border-radius:8px;padding:5px 2px;font-size:clamp(7px,1.6vw,12px);font-weight:900}.squadFoot small{display:block;color:#ffdb68;font-size:clamp(8px,1.9vw,13px)}.squadPass{display:block;margin:7px auto 18px;border:2px solid #ffe284;border-radius:9px;background:linear-gradient(#b332e1,#5c168a);padding:8px 25px;font-weight:900}

/* v5: single actual stadium image element; independent cards; formation-safe layout */
.squadArena{padding:0!important;position:relative!important;aspect-ratio:1199/674!important;overflow:hidden!important;background:#08204d!important;isolation:isolate}
.squadStadiumArt{display:block!important;position:absolute!important;inset:0!important;width:100%!important;height:100%!important;object-fit:fill!important;z-index:0!important;pointer-events:none!important}
.squadArena .arenaLights{display:none!important}
.squadPitch{position:absolute!important;inset:0!important;margin:0!important;padding:0!important;width:100%!important;height:100%!important;aspect-ratio:auto!important;clip-path:none!important;border:0!important;box-shadow:none!important;background:transparent!important;z-index:1!important}
.squadPitch .pitchMark{display:none!important}
.squadRows{position:absolute!important;inset:0!important;display:block!important;padding:0!important}
.formationSlot{position:absolute;width:16.4%;height:26%;transform:translate(-50%,-50%);display:flex;justify-content:center;align-items:center;z-index:2}
.formationSlot .squadPlayer{width:100%!important;height:100%!important;min-width:0!important;max-width:none!important}
.squadRating{font-size:clamp(11px,3vw,23px)!important}
.squadPosition{font-size:clamp(7px,1.5vw,13px)!important}
.squadName{font-size:clamp(6px,1.35vw,11px)!important}
.squadPortrait{width:88%!important;height:67%!important;left:6%!important;top:10%!important;object-fit:cover!important;object-position:top center!important}
.squadPitchFooter{position:absolute!important;left:1.5%!important;right:1.5%!important;bottom:1%!important;margin:0!important;z-index:4!important}
.arenaTop{top:3%!important;z-index:5!important}
.squadTiers{padding:4px 2px!important}
.squadActions{padding:5px 3px!important}
.squadAction{min-height:55px!important}
.squadPass{margin:4px auto 8px!important}
@media(max-width:450px){.squadArena{aspect-ratio:1199/674!important}.squadAction{min-height:48px!important}.squadLiveHeader{min-height:44px!important}}

/* v7: unmodified user-supplied stadium and pitch. No crop, no colour processing, no redraw. */
.squadArena{aspect-ratio:1199/1312!important;overflow:hidden!important;background:#00143b!important;padding:0!important}
.squadStadiumArt{inset:0!important;width:100%!important;height:100%!important;object-fit:fill!important;display:block!important}
.squadPitch{inset:0!important;width:100%!important;height:100%!important;overflow:visible!important}
.formationSlot{width:18%!important;height:17%!important}
.formationSlot .squadPlayer{width:100%!important;height:100%!important}
.squadPitchFooter{bottom:17%!important}
.arenaTop{top:7%!important}
.squadBoost{max-width:20%!important}
.squadTiers{position:relative!important}
@media(max-width:450px){.squadArena{aspect-ratio:1199/1312!important}.formationSlot{width:18%!important;height:17%!important}}

/* v8: collectible-card artwork inspired by the supplied six-tier card sheet.
   Every visual layer is live HTML/CSS; pitch/stadium asset remains untouched. */
.squadPlayer{--edge:#e1a06a;--glow:#ffac65;--top:#5d2c18;position:relative;isolation:isolate;filter:drop-shadow(0 0 5px var(--glow)) drop-shadow(0 3px 2px #001329);transition:transform .18s ease,filter .18s ease;cursor:pointer}
.squadPlayer:active{transform:scale(.94)}
.squadPlayer:focus-visible{outline:3px solid white;outline-offset:3px}
.squadPlayer.bronze{--edge:#f5a66c;--glow:#ff8e48;--top:#6b301b}
.squadPlayer.silver{--edge:#e2f1ff;--glow:#a5d8ff;--top:#4e6789}
.squadPlayer.rare{--edge:#43e9ff;--glow:#00b9ff;--top:#0759a4}
.squadPlayer.epic{--edge:#ff6aff;--glow:#e300ff;--top:#68119d}
.squadPlayer.gold{--edge:#ffea76;--glow:#ffb400;--top:#78500c}
.squadPlayer.legendary{--edge:#ffe28b;--glow:#ffce31;--top:#18151b}
.squadPlayer .shieldEdge{clip-path:polygon(50% 0%,89% 12%,100% 31%,100% 78%,50% 100%,0% 78%,0% 31%,11% 12%);background:linear-gradient(140deg,#fff 0%,var(--edge) 18%,#fff2c7 32%,var(--edge) 49%,#704d28 67%,var(--edge) 84%,#fff 100%);box-shadow:none}
.squadPlayer .shieldInside{inset:5%;clip-path:polygon(50% 0%,88% 12%,100% 31%,100% 77%,50% 100%,0 77%,0 31%,12% 12%);background:radial-gradient(ellipse at 47% 27%,color-mix(in srgb,var(--top),white 20%),var(--top) 49%,#071023 88%)}
.squadPlayer .shieldInside:before{content:'';position:absolute;inset:4% 5% 15%;border:1px solid color-mix(in srgb,var(--edge),transparent 45%);clip-path:polygon(50% 0%,89% 12%,100% 31%,100% 78%,50% 100%,0 78%,0 31%,11% 12%);pointer-events:none}
.squadPlayer .shieldInside:after{content:'✦';position:absolute;top:5%;right:30%;font-size:clamp(8px,1.6vw,15px);color:white;text-shadow:0 0 8px var(--glow),0 0 12px var(--glow);pointer-events:none}
.squadPlayer .squadPortrait{left:7%!important;top:13%!important;width:86%!important;height:61%!important;object-fit:cover!important;object-position:top center!important;border-radius:43% 43% 4% 4%;mask-image:linear-gradient(#000 0 82%,transparent 100%);filter:contrast(1.06) saturate(1.12)}
.squadPlayer .squadRating{left:8%!important;top:9%!important;font-size:clamp(12px,3.2vw,25px)!important;color:#fff9d9;line-height:1;text-shadow:0 2px 3px #050813,0 0 4px #050813}
.squadPlayer .squadPosition{right:7%!important;top:27%!important;font-size:clamp(7px,1.7vw,14px)!important;color:white;text-shadow:0 1px 3px black}
.squadPlayer .squadFlag{left:auto!important;right:8%!important;top:48%!important;bottom:auto!important;font-size:clamp(10px,2.3vw,20px)!important;z-index:2;line-height:1}
.squadPlayer .squadName{left:2%!important;right:2%!important;bottom:17%!important;padding:3% 0!important;font-size:clamp(7px,1.55vw,13px)!important;line-height:1.1;background:linear-gradient(180deg,#fffde7,#ffe9a4 78%,#c18d43)!important;clip-path:polygon(0 0,100% 0,94% 100%,6% 100%);box-shadow:0 1px 3px #000;letter-spacing:-.02em}
.squadPlayer.epic .squadName{background:linear-gradient(#ffe9ff,#eab0ff,#ad52c9)!important}
.squadPlayer.silver .squadName,.squadPlayer.rare .squadName{background:linear-gradient(#fff,#e2f6ff,#9eb9d5)!important}
.squadPlayer .squadStars{bottom:5%!important;left:0!important;right:0!important;font-size:clamp(8px,1.8vw,14px)!important;letter-spacing:0!important;color:#ffe775;text-shadow:0 1px 3px #000,0 0 5px #ffca26;z-index:2}
.squadPlayer.legendary:before{content:'♛';position:absolute;top:-10%;left:35%;right:35%;color:#ffe57b;font-size:clamp(11px,2.5vw,22px);text-shadow:0 0 8px gold;z-index:3}
@media(prefers-reduced-motion:no-preference){.squadPlayer.gold,.squadPlayer.legendary{animation:cardGlow 3s ease-in-out infinite alternate}@keyframes cardGlow{to{filter:drop-shadow(0 0 10px var(--glow)) drop-shadow(0 0 4px #fff3b3)}}}
.detailCard{position:relative;width:170px;height:200px;margin:8px auto 18px}.detailCard .squadPlayer{display:block;width:100%;height:100%;border:0;background:none;padding:0}.detailCard .squadRating{font-size:30px!important}.detailCard .squadPosition{font-size:16px!important}.detailCard .squadName{font-size:14px!important}.detailCard .squadStars{font-size:16px!important}.detailCard .squadFlag{font-size:23px!important}

/* v9 portrait-fit correction: preserve the COMPLETE source portrait within the shield.
   The v8 cover rule cropped the chin/face on narrow mobile cards. */
.squadPlayer .squadPortrait{
  left:8%!important;
  top:13%!important;
  width:84%!important;
  height:62%!important;
  object-fit:contain!important;
  object-position:center center!important;
  border-radius:0!important;
  -webkit-mask-image:linear-gradient(to bottom,#000 0%,#000 89%,transparent 100%)!important;
  mask-image:linear-gradient(to bottom,#000 0%,#000 89%,transparent 100%)!important;
}
/* Keep the rating, position, flag, name and stars distinct and fully in-bounds. */
.squadPlayer .squadRating{top:8%!important;left:8%!important;z-index:4}
.squadPlayer .squadPosition{top:25%!important;right:8%!important;z-index:4}
.squadPlayer .squadFlag{top:51%!important;right:8%!important;z-index:4}
.squadPlayer .squadName{bottom:17%!important;z-index:5}
.squadPlayer .squadStars{bottom:5%!important;z-index:5}

/* v10 formation-safe cards: all ten formations, 11 independent clickable shields.
   Background image is never cropped or altered. */
.squadPitch .formationSlot{min-width:0;min-height:0;max-width:none;overflow:visible}
.squadPitch .formationSlot .squadPlayer{min-width:0;max-width:none;overflow:visible}
.squadPitch .formationSlot .squadRating{font-size:clamp(10px,2.7vw,21px)!important}
.squadPitch .formationSlot .squadPosition{font-size:clamp(7px,1.5vw,12px)!important}
.squadPitch .formationSlot .squadName{font-size:clamp(6px,1.45vw,12px)!important}
.squadPitch .formationSlot .squadFlag{font-size:clamp(9px,2vw,17px)!important}
.squadPitch .formationSlot .squadStars{font-size:clamp(8px,1.7vw,13px)!important}

/* v11: preserve the supplied background; keep every shield inside the pitch.
   Inline row sizing is authoritative for 4-, 5-, and 6-line formations. */
.squadPitch .formationSlot{box-sizing:border-box;max-height:none!important}
.squadPitchFooter{pointer-events:none}
.squadPitchFooter button,.squadPitchFooter .squadTeamValue{pointer-events:auto}

/* v12: approved formations icon replaces the gear; same interactive formation selector. */
.squadUtility.squadFormationsButton{width:clamp(56px,12vw,88px);height:clamp(56px,12vw,88px);padding:0;background:transparent;border:0;border-radius:17%;overflow:visible;display:flex;align-items:center;justify-content:center;filter:drop-shadow(0 0 5px #04cfff);touch-action:manipulation;cursor:pointer}
.squadFormationsButton img{display:block;width:100%;height:100%;object-fit:fill;border-radius:17%;pointer-events:none}
.squadFormationsButton:active{transform:scale(.95)}

/* v13: exact user-supplied VIP Income Boost artwork; retains existing click action. */
.arenaTop .squadBoost{width:clamp(100px,23vw,190px)!important;max-width:none!important;height:auto!important;aspect-ratio:1536/1024;padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important;overflow:hidden;border-radius:12px;display:block;cursor:pointer;touch-action:manipulation;filter:drop-shadow(0 0 7px #ffbf32);}
.arenaTop .squadBoost img{width:100%;height:100%;display:block;object-fit:contain;pointer-events:none;}
.arenaTop .squadBoost:active{transform:scale(.96)}
@media(max-width:450px){.arenaTop .squadBoost{width:clamp(96px,24vw,130px)!important}}

/* v14 live income boost: artwork stays untouched; timer is a separate live label. */
.squadBoost{position:relative!important;overflow:visible!important}
.boostCountdown{position:absolute;left:50%;bottom:-10px;transform:translateX(-50%);white-space:nowrap;background:linear-gradient(180deg,#7a22d9,#34086f);border:1px solid #ffdb59;border-radius:12px;color:#fff;font-size:clamp(8px,1.7vw,12px);font-weight:900;letter-spacing:.02em;padding:3px 7px;box-shadow:0 0 10px #a42aff;text-shadow:0 1px 2px #000;pointer-events:none}
.boostRunning{filter:drop-shadow(0 0 13px #ffcb26)!important}
.boostRunning .boostCountdown{background:linear-gradient(180deg,#18a84d,#075c28);border-color:#cfff75}
.boostModalClock{font-size:clamp(34px,9vw,56px);font-weight:900;text-align:center;color:#ffdd59;text-shadow:0 0 16px #a93dff;margin:14px 0;font-variant-numeric:tabular-nums}

/* v15 VIP Money Rush: preserve original art, cover its old 5 MIN caption. */
.squadBoost{position:relative}
.vipTenMinuteLabel{position:absolute;left:42%;bottom:10%;width:43%;height:22%;display:flex;align-items:center;justify-content:center;background:linear-gradient(110deg,#f8ce4a,#fff0a3 45%,#e5a31d);border:2px solid #ffdb60;border-radius:24px;color:#3a1500;font-weight:1000;font-size:clamp(9px,2.2vw,18px);text-shadow:0 1px #fff7b6;box-shadow:0 0 8px #ffcd42;pointer-events:none}
.vipRushStats{display:grid;gap:10px;margin:14px auto;padding:14px;background:linear-gradient(140deg,#111d51,#32115e);border:1px solid #e8ba4d;border-radius:14px;max-width:400px;color:#ffe59c}
.vipRushStats b{display:flex;justify-content:space-between;gap:8px;font-size:clamp(12px,3vw,16px)}
.vipRushTrack{height:13px;background:#0a1437;border:1px solid #9b6eec;border-radius:15px;overflow:hidden}
.vipRushTrack>div{height:100%;background:linear-gradient(90deg,#25c93a,#d4fa51);transition:width .3s}

/* v16: exact supplied 10-minute VIP artwork and a subtle, accessible pulse. */
.arenaTop .squadBoost{overflow:visible!important;transform-origin:center center;animation:vipGentlePulse 2.8s ease-in-out infinite;will-change:transform;}
.arenaTop .squadBoost img{border-radius:12px;}
.arenaTop .squadBoost:active{animation:none;transform:scale(.96)}
@keyframes vipGentlePulse{0%,100%{transform:scale(1)}50%{transform:scale(1.035)}}
@media(prefers-reduced-motion:reduce){.arenaTop .squadBoost{animation:none}}

/* v18: pixel-identical supplied tier strip; transparent hit areas keep all six shields interactive */
.squadTiersExact{position:relative;width:100%;background:#041738;line-height:0;overflow:hidden}
.squadTiersExact>img{display:block;width:100%;height:auto;user-select:none;pointer-events:none}
.squadTiersExact .tierHit{position:absolute;top:4%;height:94%;width:12%;border:0;background:transparent;cursor:pointer;border-radius:12px;touch-action:manipulation}
.squadTiersExact .tierHit:focus-visible{outline:3px solid white;outline-offset:-4px;background:#ffffff22}
.squadTiersExact .tierHit:active{background:#ffffff20}
.squadTiersExact .tierHit0{left:18.8%}.squadTiersExact .tierHit1{left:31.5%}.squadTiersExact .tierHit2{left:44.5%}.squadTiersExact .tierHit3{left:57.5%}.squadTiersExact .tierHit4{left:70.5%}.squadTiersExact .tierHit5{left:83.5%}
.tierDetail{line-height:1.5}.tierDetail h3{color:#ffe36a}

/* v20: compact VIP artwork, transparent-looking dark edges, visible gentle pulse.
   Overrides earlier broad .squadBoost sizing without touching pitch or cards. */
.squadArena .arenaTop{top:3%!important;left:1.5%!important;right:2%!important}
.squadArena .arenaTop .squadBoost{
  width:clamp(68px,13.5vw,112px)!important;
  max-width:112px!important;
  height:auto!important;
  aspect-ratio:1536 / 1024!important;
  padding:0!important;
  margin:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  overflow:visible!important;
  filter:drop-shadow(0 0 5px rgba(255,189,34,.65))!important;
  transform-origin:50% 50%!important;
  animation:vipCompactPulse 2.5s ease-in-out infinite!important;
  position:relative!important;
  z-index:8!important;
}
.squadArena .arenaTop .squadBoost img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  border-radius:0!important;
  mix-blend-mode:screen!important;
  pointer-events:none!important;
}
.squadArena .arenaTop .squadBoost:active{animation:none!important;transform:scale(.97)!important}
.squadArena .arenaTop .squadBoost .boostCountdown{
  bottom:-9px!important;
  font-size:clamp(7px,1.3vw,10px)!important;
  padding:2px 5px!important;
  max-width:110%!important;
}
@keyframes vipCompactPulse{
  0%,100%{transform:scale(1);filter:drop-shadow(0 0 4px rgba(255,189,34,.6))}
  50%{transform:scale(1.065);filter:drop-shadow(0 0 10px rgba(255,215,65,.95))}
}
@media(max-width:450px){
  .squadArena .arenaTop .squadBoost{width:clamp(65px,14vw,85px)!important}
}
@media(prefers-reduced-motion:reduce){.squadArena .arenaTop .squadBoost{animation:none!important}}

/* v21 new-player guidance: separate from the approved pitch and card layout */
.fe21Guide{position:fixed;z-index:9998;left:max(12px,env(safe-area-inset-left));right:max(12px,env(safe-area-inset-right));bottom:max(12px,env(safe-area-inset-bottom));max-width:480px;margin:auto;background:linear-gradient(145deg,#061e4e,#102c70 65%,#29185b);border:2px solid #54cfff;border-radius:19px;padding:15px 17px;box-shadow:0 0 28px #0b9eff99,0 12px 36px #000c;color:white;font-family:system-ui,-apple-system,sans-serif;text-align:left}
.fe21GuideTop{display:flex;align-items:center;justify-content:space-between;gap:8px;color:#ffe08a;font-size:12px;letter-spacing:.06em}
.fe21GuideTop button{background:#132c5d;border:1px solid #6685bb;border-radius:8px;color:#fff;padding:7px 9px;font-size:11px}
.fe21GuideDots{display:flex;gap:6px;margin:10px 0}.fe21GuideDots span{height:5px;flex:1;background:#4a5b82;border-radius:6px}.fe21GuideDots .done{background:#ffd45a}
.fe21Guide h3{margin:5px 0 6px;color:#fff;font-size:17px}.fe21Guide p{margin:0 0 12px;font-size:13px;line-height:1.4;color:#d4eaff}.fe21GuideAction{width:100%;border:1px solid #ffeb85;border-radius:10px;padding:12px;background:linear-gradient(#ffdb52,#b8810a);color:#1b1532;font-weight:900;font-size:13px;box-shadow:0 0 13px #ffcd4166}.fe21Guide small{display:block;text-align:center;margin-top:8px;font-size:10px;color:#b8c7ed}
.fe21Manager{background:linear-gradient(#164a8c,#07234e);border:1px solid #f8c957;border-radius:8px;color:#ffe38b;padding:5px 7px;font-size:10px;font-weight:800;white-space:nowrap}.fe21NavLocked{opacity:.75;filter:saturate(.65)}.fe21NavLocked:after{content:' 🔒';font-size:9px}.fe21Unlock{text-align:center}.fe21LockIcon{font-size:38px}.fe21Progress{height:10px;background:#13224a;border-radius:20px;overflow:hidden;margin:15px 0}.fe21Progress span{display:block;height:100%;background:linear-gradient(90deg,#16cfff,#ffe36b)}
@media(min-width:700px){.fe21Guide{left:auto;right:25px;bottom:25px;width:340px}}

/* v22 progression label; no changes to existing images or pitch. */
.fe22Progress{margin:9px 12px;padding:9px 12px;border:1px solid #e7b64c;border-radius:10px;background:#101b38;color:#ffdf85;text-align:center;font-size:12px}.fe22Progress small{display:block;margin-top:4px;color:#d1d9ee;font-size:10px;line-height:1.4}

/* v25: equal-size cards, evenly spaced formation lines, tap or drag swapping. */
.squadPitch .formationSlot{transform:translate(-50%,-50%)!important;touch-action:pan-y;z-index:3}
.squadPitch .formationSlot.pitchSelected{z-index:6;filter:drop-shadow(0 0 9px #fff36a)}
.squadPitch .formationSlot.pitchSelected .squadPlayer{outline:2px solid #ffe66c;outline-offset:2px;border-radius:12px}
.squadPitch .formationSlot .squadPlayer{width:100%!important;height:100%!important}

/* v26: Portrait and nationality visibility without changing card artwork. */
.squadPlayer .squadPortrait{object-fit:cover!important;object-position:center 30%!important;background:#1c4663!important;opacity:1!important;}
.squadPlayer .squadFlag{z-index:7!important;position:absolute!important;filter:drop-shadow(0 1px 2px #000)!important;}
.transferShield img{object-fit:cover!important;object-position:center 28%!important;background:#21465c!important;}
.transferFlag{z-index:5!important;position:absolute!important;filter:drop-shadow(0 1px 2px #000)!important;}
.fe26Reserve{display:flex;align-items:center;gap:12px}.fe26Reserve img{width:56px;height:66px;object-fit:cover;border-radius:8px;border:2px solid #b58b42}.fe26Reserve div{flex:1}

/* v27 exact user-supplied navigation artwork; all other visual assets unchanged. */
#fe27Nav{position:absolute;top:6.65%;left:0;width:100%;height:auto;aspect-ratio:2172/215;z-index:4;isolation:isolate;pointer-events:auto}
#fe27Nav>img{position:absolute;inset:0;width:100%;height:100%;object-fit:fill;pointer-events:none;z-index:1}
#fe27Nav>button{position:absolute;top:0;height:100%;width:12.5%;border:0;padding:0;margin:0;background:transparent;cursor:pointer;z-index:3;touch-action:manipulation}
#fe27Nav>button:nth-of-type(1){left:0}#fe27Nav>button:nth-of-type(2){left:12.5%}#fe27Nav>button:nth-of-type(3){left:25%}#fe27Nav>button:nth-of-type(4){left:37.5%}#fe27Nav>button:nth-of-type(5){left:50%}#fe27Nav>button:nth-of-type(6){left:62.5%}#fe27Nav>button:nth-of-type(7){left:75%}#fe27Nav>button:nth-of-type(8){left:87.5%}
#fe27Nav>button:focus-visible{outline:2px solid #fff;outline-offset:-4px;border-radius:13px}
#fe27ActiveGlow{position:absolute;left:0;top:11%;width:12.5%;height:79%;border-radius:14%;background:linear-gradient(180deg,rgba(0,232,255,.86),rgba(0,114,255,.87) 46%,rgba(0,205,255,.85));box-shadow:0 0 9px 2px #00dfff,0 0 19px 4px #008cff,inset 0 0 4px 2px #c9ffff;border:2px solid #70ffff;z-index:2;pointer-events:none;mix-blend-mode:screen;transition:left .18s ease}
/* Original Squad navigation remains in the layout, but its replacement image is the visible control. */
.squadLiveNav{visibility:hidden!important}

#fe27Nav>#fe27TransfersExact{z-index:2;display:none}
#fe27Nav>#fe27TransfersExact:not([hidden]){display:block}
#fe27Nav[data-selected="TRANSFERS"] #fe27ActiveGlow{display:none}

/* v28: user-provided Football Empire banner, decorative and present on every game screen. */
#fe28CornerBrand{position:absolute;top:0;left:0;width:23%;height:auto;aspect-ratio:3/1;object-fit:contain;z-index:4;pointer-events:none;user-select:none;-webkit-user-select:none;}

/* v29: landscape iPhone/iPad Safari: preserve the portrait game's proportions instead of shrinking it to the short landscape viewport. Allow vertical scrolling while keeping every original artwork ratio. */
@media (orientation:landscape) and (max-height:650px){
  html,body{height:auto!important;min-height:100%!important;overflow-x:hidden!important;overflow-y:auto!important;-webkit-overflow-scrolling:touch!important}
  body{display:block!important;text-align:center!important}
  #game{display:block!important;margin:0 auto!important;width:min(100%,680px)!important;max-width:680px!important;height:auto!important;aspect-ratio:707/772!important;overflow:hidden!important;text-align:left!important;flex-shrink:0!important}
  #game #panel{overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
}

/* v30: compact match hub replaces duplicate squad shortcuts; preserves existing artwork. */
.fe30MatchHub{padding:9px 9px 18px;display:flex;flex-direction:column;gap:9px;background:linear-gradient(180deg,#071b39,#05132d);color:white}
.fe30MatchInfo{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.fe30MatchInfo button{display:flex;flex-direction:column;align-items:flex-start;gap:4px;min-width:0;padding:11px 12px;border:1px solid #329cf6;border-radius:10px;background:linear-gradient(#113d71,#082449);color:white;text-align:left}
.fe30MatchInfo small{font-size:clamp(9px,2vw,12px);color:#b5d8ff;font-weight:800}.fe30MatchInfo strong{font-size:clamp(12px,2.7vw,17px);color:#ffe47a;overflow-wrap:anywhere}
.fe30PlayMatch{width:100%;min-height:65px;border-radius:13px;border:3px solid #a6ff84;background:linear-gradient(180deg,#63f844,#0ba721);color:#fff;font-size:clamp(19px,4.4vw,27px);font-weight:1000;text-shadow:0 2px 3px #09551b;box-shadow:0 3px 0 #065b13,0 0 16px #3bff6266}.fe30PlayMatch span{margin-right:7px}
.fe30QuickLinks{display:grid;grid-template-columns:1fr 1fr;gap:8px}.fe30QuickLinks button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-height:65px;padding:8px;border:1px solid #329cf6;border-radius:10px;background:linear-gradient(#154b85,#08234b);color:white}.fe30QuickLinks span{font-size:21px}.fe30QuickLinks strong{font-size:clamp(10px,2.3vw,14px)}.fe30QuickLinks small{font-size:clamp(9px,2vw,12px);color:#b9d7fa}

/* v31: Keep the approved top artwork stationary while only the content pane scrolls. */
html,body{height:100%!important;overflow:hidden!important}
body{display:flex!important;align-items:center!important;justify-content:center!important}
#game{overflow:hidden!important}
#fe27Nav{z-index:20!important}
#fe28CornerBrand{z-index:21!important}
#panel{overflow-y:auto!important;overscroll-behavior:contain!important;-webkit-overflow-scrolling:touch!important}
/* The old crown/football logo and text are superseded by the exact v28 banner. */
.liveSquadPanel .squadLogo,.liveSquadPanel .squadBrand{display:none!important}
.liveSquadPanel .squadLiveHeader{justify-content:flex-end!important}
/* The old, invisible navigation must not leave a blank row in the squad content. */
.liveSquadPanel .squadLiveNav{display:none!important}
@media (orientation:landscape) and (max-height:650px){
  html,body{height:100%!important;min-height:0!important;overflow:hidden!important}
  body{display:flex!important;text-align:initial!important}
  #game{width:min(100vw,680px)!important;max-width:680px!important;height:100dvh!important;max-height:100dvh!important;aspect-ratio:auto!important;overflow:hidden!important;margin:auto!important}
  #panel{inset:calc(6.5% + 1px) 0 0!important;overflow-y:auto!important}
}

/* v32: user's replacement VIP artwork with genuine alpha transparency and a reliable visible pulse. */
.squadArena .arenaTop .squadBoost{
  background:none!important; border:0!important; box-shadow:none!important;
  overflow:visible!important; aspect-ratio:1536/1024!important;
  animation:fe32VipPulse 1.7s ease-in-out infinite!important;
  filter:none!important; transform-origin:center center!important;
  will-change:transform,filter!important;
}
.squadArena .arenaTop .squadBoost img{
  mix-blend-mode:normal!important; border-radius:0!important;
  object-fit:contain!important; background:transparent!important;
}
@keyframes fe32VipPulse{
  0%,100%{transform:scale(1);filter:drop-shadow(0 0 2px rgba(255,194,42,.35))}
  50%{transform:scale(1.14);filter:drop-shadow(0 0 13px rgba(255,202,43,1))}
}
.squadArena .arenaTop .squadBoost:active{animation-play-state:paused!important;transform:scale(.97)!important}
@media(prefers-reduced-motion:reduce){.squadArena .arenaTop .squadBoost{animation:none!important}}

/* v33: genuinely fixed app chrome. The game fills the viewport and ONLY #panel scrolls. */
html,body{height:100%!important;width:100%!important;overflow:hidden!important;overscroll-behavior:none!important}
body{position:fixed!important;inset:0!important;display:flex!important;align-items:center!important;justify-content:center!important}
#game{position:relative!important;height:100dvh!important;max-height:100dvh!important;width:min(100vw,680px)!important;max-width:680px!important;aspect-ratio:auto!important;overflow:hidden!important;flex-shrink:0!important;container-type:inline-size!important}
/* Fixed header and nav occupy separate, non-scrolling layers. */
#fe33FixedSquadHeader{position:absolute!important;top:0!important;left:0!important;right:0!important;height:6.65%!important;z-index:18!important;background:linear-gradient(#05102a,#0a3975)!important;display:flex;align-items:center;justify-content:flex-end;padding-left:23%;overflow:hidden}
#fe33FixedSquadHeader[hidden]{display:none!important}
#fe33FixedSquadHeader .squadLiveHeader{width:100%;height:100%;min-height:0!important;display:flex!important;justify-content:flex-end!important;padding:0 1.2%!important;border:0!important;background:transparent!important;gap:1.2%}
#fe33FixedSquadHeader .squadCurrency{font-size:clamp(9px,2.5cqw,18px)!important}
#fe33FixedSquadHeader .squadLevel{font-size:clamp(8px,2cqw,14px)!important}
#fe27Nav{position:absolute!important;top:6.65%!important;left:0!important;z-index:30!important;transform:none!important}
#fe28CornerBrand{position:absolute!important;top:0!important;left:0!important;z-index:31!important;transform:none!important}
/* The top of the scroll pane starts exactly after the full-width navigation art. */
#panel,#panel.liveSquadPanel{position:absolute!important;top:calc(6.65% + 9.89871cqw)!important;bottom:0!important;left:0!important;right:0!important;inset:auto 0 0!important;height:calc(100% - 6.65% - 9.89871cqw)!important;overflow-x:hidden!important;overflow-y:auto!important;overscroll-behavior:contain!important;-webkit-overflow-scrolling:touch!important}
#panel[hidden]{display:none!important}
/* No ghost duplicate navigation or heading in the scrolling content. */
.liveSquadPanel>.squadLiveHeader,.liveSquadPanel>.squadLiveNav{display:none!important}
/* Keep the VIP and formation controls below, never underneath, the fixed navigation. */
.squadArena .arenaTop{top:3.5%!important;z-index:6!important}
@media(orientation:landscape) and (max-height:650px){
 html,body{height:100%!important;min-height:0!important;overflow:hidden!important}
 body{position:fixed!important;display:flex!important;align-items:center!important;justify-content:center!important}
 #game{height:100dvh!important;max-height:100dvh!important;width:min(100vw,680px)!important;aspect-ratio:auto!important;overflow:hidden!important;margin:auto!important}
 #panel,#panel.liveSquadPanel{top:calc(6.65% + 9.89871cqw)!important;bottom:0!important;inset:auto 0 0!important;height:calc(100% - 6.65% - 9.89871cqw)!important}
}

/* Keep the fixed game frame clear of the iPhone safe-area status bar. */
body{padding-top:env(safe-area-inset-top)!important;padding-bottom:env(safe-area-inset-bottom)!important}
#game{height:100%!important;max-height:100%!important}
@media(orientation:landscape) and (max-height:650px){#game{height:100%!important;max-height:100%!important}}

/* v34: single clean fixed navigation, no old squad bar or duplicate heading. */
#panel .squadLiveNav,#panel .squadBrand,#panel .squadLogo{display:none!important}
#fe33FixedSquadHeader .squadLiveHeader{justify-content:flex-end!important;width:100%!important}
#fe33FixedSquadHeader{padding-left:31%!important}
#fe28CornerBrand{width:30%!important;aspect-ratio:1536/360!important;top:0.55%!important;left:0.7%!important;height:auto!important;object-fit:contain!important;image-rendering:auto!important;filter:drop-shadow(0 0 3px #009fff)!important}
#fe27Nav{background:#061c44!important}

/* v35: readable penalty badge, without altering approved shield artwork */
.squadPlayer.fe35OutOfPosition .shieldEdge{filter:drop-shadow(0 0 4px #ff704a)!important}
.squadPlayer .fe35Penalty{position:absolute;z-index:10;top:23%;left:2%;padding:1px 3px;border-radius:4px;background:#9b1d22;color:#fff;font-size:clamp(7px,1.6vw,12px);font-weight:900;text-shadow:0 1px 1px #000;pointer-events:none}

/* v37 — match the six pointed hexagonal silhouettes in the approved Player Tiers artwork.
   Keep player portraits, names, OVR, flags, stars, position penalties and interaction intact. */
.squadPlayer .shieldEdge{
  clip-path:polygon(50% 0%,100% 25%,100% 75%,50% 100%,0% 75%,0% 25%)!important;
  background:linear-gradient(130deg,#fff9d0 0%,var(--edge) 12%,#fff2bd 24%,var(--edge) 39%,#5a3b28 62%,var(--edge) 83%,#fff5ce 100%)!important;
}
.squadPlayer .shieldInside{
  inset:5%!important;
  clip-path:polygon(50% 0%,100% 25%,100% 75%,50% 100%,0% 75%,0% 25%)!important;
  background:repeating-linear-gradient(138deg,transparent 0 12px,#ffffff12 12px 14px,transparent 14px 22px),radial-gradient(ellipse at 48% 25%,color-mix(in srgb,var(--top),white 28%),var(--top) 54%,#09112b 94%)!important;
}
.squadPlayer .shieldInside:before{
  clip-path:polygon(50% 0%,100% 25%,100% 75%,50% 100%,0% 75%,0% 25%)!important;
}

/* v38: keep every nationality flag readable, consistently sized and clear of card labels. */
.squadPlayer .squadFlag.fe38Flag,.transferShield .transferFlag.fe38Flag{
 display:flex!important;align-items:center!important;justify-content:center!important;
 width:19%!important;height:16%!important;min-width:0!important;
 font-family:"Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji",sans-serif!important;
 font-weight:normal!important;font-size:clamp(11px,2.4vw,19px)!important;
 line-height:1!important;white-space:nowrap!important;text-shadow:none!important;
 overflow:visible!important;letter-spacing:0!important;transform:none!important;
 -webkit-font-smoothing:antialiased;
}
.squadPlayer .squadFlag.fe38Flag{left:auto!important;right:7%!important;top:49%!important;bottom:auto!important;}
.transferShield .transferFlag.fe38Flag{left:auto!important;right:7%!important;top:49%!important;bottom:auto!important;}
.detailCard .squadPlayer .squadFlag.fe38Flag{font-size:24px!important;}

/* v39 — premium interactive Squad bottom action controls; no gameplay changes. */
.fe30MatchHub{gap:12px!important;padding:14px 12px 23px!important;background:linear-gradient(180deg,#07172f 0%,#071d42 50%,#040d24 100%)!important}
.fe30MatchHub button{position:relative;isolation:isolate;overflow:hidden;cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation;transition:transform .16s ease,filter .16s ease,box-shadow .16s ease!important}
.fe30MatchHub button:before{content:"";position:absolute;inset:1px 2px auto;height:44%;border-radius:inherit;background:linear-gradient(180deg,rgba(255,255,255,.25),rgba(255,255,255,0));pointer-events:none;z-index:-1}
.fe30MatchHub button:active{transform:translateY(2px) scale(.975)!important;filter:brightness(1.16)!important}
.fe30MatchHub button:focus-visible{outline:3px solid #fff6b3!important;outline-offset:3px!important}
.fe30MatchInfo{gap:10px!important}
.fe30MatchInfo button{min-height:83px!important;padding:13px 12px 12px 15px!important;border:1.5px solid #4ab9ff!important;border-radius:14px!important;background:linear-gradient(145deg,#155b9a 0%,#0b3368 48%,#071a3d 100%)!important;box-shadow:inset 0 1px 0 #b8e9ff85,inset 0 -3px 0 #03142d,0 5px 10px #0007,0 0 11px #1689fa45!important}
.fe30MatchInfo button:after{content:'›';position:absolute;right:10px;top:50%;transform:translateY(-50%);font-size:24px;font-weight:900;color:#77d8ff;text-shadow:0 0 8px #0af;pointer-events:none}
.fe30MatchInfo small{letter-spacing:.055em!important;color:#bceaff!important;text-shadow:0 1px 2px #00162e!important}
.fe30MatchInfo strong{padding-right:12px;color:#ffe28d!important;text-shadow:0 0 7px #ffbf3555!important}
.fe30PlayMatch{min-height:77px!important;border:2px solid #dcff8c!important;border-radius:17px!important;background:linear-gradient(160deg,#a1ff48 0%,#36db25 35%,#0b9d2b 75%,#075522 100%)!important;color:#fff!important;letter-spacing:.045em!important;font-size:clamp(19px,4.8vw,29px)!important;text-shadow:0 2px 2px #03541e,0 0 8px #055f18!important;box-shadow:inset 0 2px 0 #e4ffc5,inset 0 -5px 0 #064b20,0 6px 0 #043e1c,0 10px 16px #0009,0 0 19px #4aff4a77!important}
.fe30PlayMatch span{display:inline-block;filter:drop-shadow(0 2px 2px #043a14);font-size:1.25em;vertical-align:middle}
.fe30QuickLinks{gap:10px!important}
.fe30QuickLinks button{min-height:86px!important;padding:10px 7px!important;border:1.5px solid #55bcff!important;border-radius:15px!important;background:linear-gradient(155deg,#1b65ad 0%,#103b7c 45%,#071d49 100%)!important;box-shadow:inset 0 1px 0 #c2efff91,inset 0 -4px 0 #06132f,0 5px 11px #0008,0 0 12px #148aff55!important}
.fe30QuickLinks button:last-child{border-color:#d995ff!important;background:linear-gradient(155deg,#7436c2 0%,#482080 45%,#1b164a 100%)!important;box-shadow:inset 0 1px 0 #f0c5ff99,inset 0 -4px 0 #130b34,0 5px 11px #0008,0 0 12px #ae48ff55!important}
.fe30QuickLinks span{font-size:26px!important;line-height:1.05;filter:drop-shadow(0 0 5px #8ddcff88)}
.fe30QuickLinks strong{letter-spacing:.045em;text-shadow:0 1px 2px #0008}
.fe30QuickLinks small{color:#d4e8ff!important}
.fe30QuickLinks button:last-child small{color:#f1d7ff!important}
@media(hover:hover){.fe30MatchHub button:hover{filter:brightness(1.14);transform:translateY(-2px)}}
@media(prefers-reduced-motion:reduce){.fe30MatchHub button{transition:none!important}}

/* v40: readable pitch shields; retain exact six-point tier silhouette and every card interaction. */
.squadPitch .formationSlot .squadPlayer{filter:drop-shadow(0 1px 3px #00122b) drop-shadow(0 0 3px var(--glow))!important}
.squadPitch .formationSlot .squadPortrait{
 left:10%!important;top:19%!important;width:80%!important;height:60%!important;
 object-fit:contain!important;object-position:center bottom!important;
 background:transparent!important;border-radius:0!important;
 -webkit-mask-image:linear-gradient(#000 0%,#000 83%,transparent 100%)!important;
 mask-image:linear-gradient(#000 0%,#000 83%,transparent 100%)!important;
}
.squadPitch .formationSlot .squadRating{left:9%!important;top:9%!important;font-size:clamp(13px,3.25vw,23px)!important;line-height:1!important;z-index:8!important}
.squadPitch .formationSlot .squadPosition{right:8%!important;top:21%!important;font-size:clamp(8px,1.65vw,13px)!important;z-index:8!important}
.squadPitch .formationSlot .squadFlag.fe38Flag{right:8%!important;top:48%!important;width:22%!important;height:17%!important;font-size:clamp(12px,2.55vw,19px)!important;z-index:8!important}
.squadPitch .formationSlot .squadName{left:4%!important;right:4%!important;bottom:15%!important;padding:2% 1%!important;font-size:clamp(8px,1.7vw,13px)!important;line-height:1.15!important;text-overflow:ellipsis!important;z-index:9!important}
.squadPitch .formationSlot .squadStars{bottom:4%!important;font-size:clamp(8px,1.6vw,12px)!important;z-index:8!important}
.squadPitch .formationSlot .fe35Penalty{top:34%!important;left:4%!important;font-size:clamp(7px,1.4vw,11px)!important}

/* v41: the hidden legacy full-screen reference was being forced visible by #reference{display:block}.
   It leaked old white text through the gap above the real pitch. */
#reference[hidden]{display:none!important}

/* v41: keep the entire OVR safely within the hexagonal tier shield's sloping shoulders.
   Shift both digits inward and below the diagonal edge without changing the shield silhouette. */
.squadPitch .formationSlot .squadPlayer .squadRating{
  top:19%!important;
  left:20%!important;
  font-size:clamp(12px,3vw,21px)!important;
  line-height:1.05!important;
  white-space:nowrap!important;
  z-index:12!important;
  text-shadow:0 1px 3px #020814,0 0 5px #020814,1px 1px 1px #020814!important;
}
/* The out-of-position rating uses the same safe inset. */
.squadPitch .formationSlot .squadPlayer.fe35OutOfPosition .squadRating{left:20%!important}

/* v42 — Squad-only, single-screen fit. The approved pitch, tiers and buttons remain
   together; other game pages retain their normal independent scrolling. */
#panel.liveSquadPanel.fe42SingleScreen{overflow:hidden!important;overscroll-behavior:none!important;touch-action:pan-x!important}
#panel.liveSquadPanel.fe42SingleScreen>.fe42FitSurface{position:relative;display:block;transform-origin:top left;will-change:transform;margin:0!important;padding:0!important}
#panel.liveSquadPanel.fe42SingleScreen .fe30MatchHub{padding-bottom:10px!important;gap:7px!important}
#panel.liveSquadPanel.fe42SingleScreen .fe30MatchInfo button{min-height:70px!important}
#panel.liveSquadPanel.fe42SingleScreen .fe30PlayMatch{min-height:67px!important}
#panel.liveSquadPanel.fe42SingleScreen .fe30QuickLinks button{min-height:67px!important}

/* v43: available swap targets on the existing pitch, without changing card artwork. */
.squadPitch .formationSlot.fe43EligibleSlot .squadPlayer{filter:drop-shadow(0 0 7px #36ff95) drop-shadow(0 0 12px #00e58b)!important;outline:2px solid #3aff9b;outline-offset:1px;border-radius:12px}
.squadPitch .formationSlot.fe43LockedSlot .squadPlayer{opacity:.62}
.squadPitch .formationSlot.pitchSelected .squadPlayer{filter:drop-shadow(0 0 9px #ffe665)!important}

/* v44 position preview and footedness */
.formationSlot.fe44Primary{filter:drop-shadow(0 0 7px #23ef75) drop-shadow(0 0 4px #23ef75)}
.formationSlot.fe44Secondary{filter:drop-shadow(0 0 7px #ffb629) drop-shadow(0 0 4px #ffb629)}
.formationSlot.fe44Unavailable{filter:drop-shadow(0 0 5px #ff364d);opacity:.72}
.formationSlot.fe44Primary:after,.formationSlot.fe44Secondary:after,.formationSlot.fe44Unavailable:after{content:"";position:absolute;inset:-2px;border:2px solid #24ef75;clip-path:polygon(50% 0,100% 15%,100% 83%,50% 100%,0 83%,0 15%);pointer-events:none;z-index:6}
.formationSlot.fe44Secondary:after{border-color:#ffb629}.formationSlot.fe44Unavailable:after{border-color:#ff364d}
.fe44Feet{display:flex;gap:8px;margin:12px 0;justify-content:center;flex-wrap:wrap;font-weight:900;font-size:12px}.fe44Feet span{border-radius:9px;padding:9px;border:1px solid}.fe44Feet .good{background:#0b462b;color:#71ffab;border-color:#32e781}.fe44Feet .weak{background:#4b1d2b;color:#ff9eae;border-color:#ff536c}.fe44Both{text-align:center;color:#ffe58b;font-weight:900}.fe44Missing{display:block;color:#ffc16e;font-size:11px;margin:3px 0 9px}

/* v45: high-visibility position preview on mobile. Applies only after selecting a card. */
.squadPitch .formationSlot.fe44Primary,
.squadPitch .formationSlot.fe44Secondary,
.squadPitch .formationSlot.fe44Unavailable{opacity:1!important;isolation:isolate}
.squadPitch .formationSlot.fe44Primary{--fe45Color:#21ff73;--fe45Wash:rgba(20,255,104,.24)}
.squadPitch .formationSlot.fe44Secondary{--fe45Color:#ffbc21;--fe45Wash:rgba(255,183,20,.27)}
.squadPitch .formationSlot.fe44Unavailable{--fe45Color:#ff344b;--fe45Wash:rgba(255,40,68,.22)}
.squadPitch .formationSlot.fe44Primary .squadPlayer,
.squadPitch .formationSlot.fe44Secondary .squadPlayer,
.squadPitch .formationSlot.fe44Unavailable .squadPlayer{
 filter:drop-shadow(0 0 3px #fff) drop-shadow(0 0 8px var(--fe45Color)) drop-shadow(0 0 15px var(--fe45Color)) drop-shadow(0 0 21px var(--fe45Color))!important;
}
/* Wide, filled hexagonal halo follows the existing shield silhouette. */
.squadPitch .formationSlot.fe44Primary:after,
.squadPitch .formationSlot.fe44Secondary:after,
.squadPitch .formationSlot.fe44Unavailable:after{
 content:""!important;position:absolute!important;inset:-7px!important;
 border:0!important;border-radius:0!important;
 background:var(--fe45Color)!important;
 clip-path:polygon(50% 0%,100% 25%,100% 75%,50% 100%,0% 75%,0% 25%)!important;
 -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0)!important;
 -webkit-mask-composite:xor!important;
 mask-composite:exclude!important;
 padding:5px!important;
 filter:none!important;opacity:1!important;z-index:7!important;pointer-events:none!important;
}
/* A tinted card surface makes the three states readable against bright green grass. */
.squadPitch .formationSlot.fe44Primary .shieldEdge,
.squadPitch .formationSlot.fe44Secondary .shieldEdge,
.squadPitch .formationSlot.fe44Unavailable .shieldEdge{
 box-shadow:inset 0 0 0 3px var(--fe45Color),inset 0 0 16px var(--fe45Color)!important;
}
@media(prefers-reduced-motion:no-preference){
 .squadPitch .formationSlot.fe44Primary .squadPlayer,
 .squadPitch .formationSlot.fe44Secondary .squadPlayer,
 .squadPitch .formationSlot.fe44Unavailable .squadPlayer{animation:fe45PositionPulse 1.5s ease-in-out infinite alternate!important}
 @keyframes fe45PositionPulse{from{transform:scale(1)}to{transform:scale(1.065)}}
}

/* v46: remove unused grass beneath the goalkeeper, bringing the tier strip and
   all match buttons upward. Preserve the stadium artwork's original aspect ratio
   by clipping only the lower portion instead of stretching the image. */
#panel.liveSquadPanel .squadArena{aspect-ratio:1199/1150!important}
#panel.liveSquadPanel .squadStadiumArt{height:114.1%!important;object-fit:fill!important}
/* Reserve a little breathing room above the iPhone Safari toolbar. */
#panel.liveSquadPanel.fe42SingleScreen .fe30MatchHub{padding-bottom:14px!important}

/* v47: immediately visible player bio when a pitch card is tapped */
.fe47Bio{display:flex;flex-direction:column;align-items:center;gap:5px}
.fe47BioCard{width:100px;height:116px;position:relative;margin:0 auto 3px}
.fe47BioCard .squadPlayer{position:relative!important;display:block!important;width:100%!important;height:100%!important}
.fe47BioRating{font-size:19px;color:#ffdf77}
.fe47Bio p{margin:4px 0!important}
.fe47BioLabel{font-size:11px!important;font-weight:900;letter-spacing:1px;color:#c6e9ff}
.fe47PositionTags{display:flex;justify-content:center;gap:5px;flex-wrap:wrap}
.fe47PositionTags span{font-size:11px;font-weight:900;border:2px solid;border-radius:7px;padding:6px 8px}
.fe47PrimaryTag{background:#073c23;border-color:#37f58d!important;color:#9cffbf}
.fe47SecondaryTag{background:#45300b;border-color:#ffc34b!important;color:#ffe29a}
.fe47Bio .fe44Feet{margin:4px 0;gap:6px}
.fe47Bio .fe44Feet span{padding:7px}
.fe47Legend{font-size:11px!important;color:#d6e8ff}
.fe47Preview{width:100%}
#modal .modalBody:has(.fe47Bio){padding:12px;max-height:90%;overflow-y:auto}

/* v48: supplied BENCHED / RESERVES artwork as one clickable button, positioned
   on the spare grass at the bottom-right of the stadium (no extra page height). */
#panel.liveSquadPanel .fe48BenchReserves{
 position:absolute!important;right:1.4%!important;bottom:1.3%!important;
 width:30%!important;height:auto!important;aspect-ratio:2/1!important;
 z-index:14!important;display:block!important;border:0!important;
 padding:0!important;margin:0!important;background:transparent!important;
 cursor:pointer!important;filter:drop-shadow(0 0 5px #00bfff)!important;
 -webkit-tap-highlight-color:transparent;
}
#panel.liveSquadPanel .fe48BenchReserves img{display:block;width:100%;height:100%;object-fit:contain;pointer-events:none}
#panel.liveSquadPanel .fe48BenchReserves:active{transform:scale(.96)!important;filter:drop-shadow(0 0 12px #ffe36a)!important}
#panel.liveSquadPanel .fe48BenchReserves:focus-visible{outline:3px solid #ffde72;outline-offset:2px;border-radius:8px}
.fe48Roster{max-height:65dvh;overflow-y:auto;padding:3px 1px 12px}
.fe48RosterTitle{display:flex;justify-content:space-between;align-items:center;margin:12px 0 7px;padding:8px 10px;border:1px solid #53bbff;border-radius:9px;background:linear-gradient(90deg,#092e61,#06172e);color:#ffdd82;font-weight:900;letter-spacing:.7px}
.fe48RosterTitle span{color:#a8d9ff}
.fe48ReserveRow{display:flex;gap:10px;align-items:center;padding:7px 5px;border-bottom:1px solid #36516b}
.fe48ReserveRow img{width:48px;height:53px;object-fit:contain}
.fe48ReserveRow strong,.fe48ReserveRow small{display:block}
.fe48ReserveRow small{color:#bdd9f4;font-size:11px}
.fe48Roster p{color:#c8d9f0;font-size:12px;padding:4px 10px}
.fe48Roster>.btn{width:100%;margin-top:12px}

/* v49: interactive bench/reserve substitutions */
.fe49BenchRow{gap:7px!important}.fe49BenchRow>div{flex:1;min-width:0}.fe49BenchRow strong{font-size:12px}
.fe49BringOn{flex:none;padding:9px 8px;border:2px solid #54ff9e;border-radius:9px;color:#fff;background:linear-gradient(#1b8b5d,#075034);font-size:10px;font-weight:900;cursor:pointer}
.fe49SwapList{max-height:65dvh;overflow:auto}.fe49SwapSlot{width:100%;display:flex;align-items:center;justify-content:space-between;gap:5px;margin:5px 0;padding:10px 8px;background:linear-gradient(100deg,#103c5d,#0a1c35);border:1px solid #4ab8e7;border-radius:9px;color:white;font-size:11px;text-align:left;cursor:pointer}.fe49SwapSlot span:nth-child(2){flex:1;text-align:center}.fe49SwapSlot b{color:#6bff9e}.fe49SwapSlot:disabled{opacity:.45;cursor:not-allowed;border-color:#b54747}.fe49SwapSlot:disabled b{color:#ff7777}

/* v51: portrait-first shield composition, scoped to the on-pitch cards only.
   Keep rating, position and flag readable; preserve the original hexagonal shield. */
.squadPitch .formationSlot .squadPlayer .squadPortrait{
  left:4%!important;top:11%!important;width:92%!important;height:76%!important;
  object-fit:cover!important;object-position:center 35%!important;
  background:transparent!important;border-radius:0!important;
  -webkit-mask-image:linear-gradient(to bottom,#000 0%,#000 78%,transparent 97%)!important;
  mask-image:linear-gradient(to bottom,#000 0%,#000 78%,transparent 97%)!important;
  z-index:3!important;
}
/* Compact name ribbon below the portrait, leaving a dedicated star area. */
.squadPitch .formationSlot .squadPlayer .squadName{
  left:7%!important;right:7%!important;bottom:13%!important;
  padding:1% 0!important;font-size:clamp(7px,1.45vw,11px)!important;
  line-height:1.05!important;min-height:0!important;
  white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;
  z-index:10!important;
}
.squadPitch .formationSlot .squadPlayer .squadStars{
  display:block!important;visibility:visible!important;opacity:1!important;
  left:0!important;right:0!important;bottom:3%!important;
  font-size:clamp(10px,2vw,15px)!important;line-height:1!important;
  color:#ffe36c!important;text-shadow:0 0 4px #ffd73d,0 1px 2px #000!important;
  z-index:11!important;
}
.squadPitch .formationSlot .squadPlayer .squadRating,
.squadPitch .formationSlot .squadPlayer .squadPosition,
.squadPitch .formationSlot .squadPlayer .squadFlag{z-index:12!important}

/* v52: edge-to-edge portraits inside the original shield, while preserving
   foreground rating, flag, name and star. The shield itself clips the image. */
.squadPitch .formationSlot .squadPlayer .shieldInside{overflow:hidden!important}
.squadPitch .formationSlot .squadPlayer .squadPortrait{
  position:absolute!important;
  left:-2%!important;top:-2%!important;width:104%!important;height:105%!important;
  object-fit:cover!important;object-position:center center!important;
  border-radius:0!important;
  -webkit-mask-image:none!important;mask-image:none!important;
  max-width:none!important;z-index:2!important;
}
.squadPitch .formationSlot .squadPlayer .squadName{
  bottom:12%!important;z-index:13!important;
}
.squadPitch .formationSlot .squadPlayer .squadStars{
  bottom:2%!important;z-index:14!important;
}

/* v55: portrait proportions and legible card hierarchy; Squad pitch only.
   The source artwork is never stretched to match the shield aspect ratio. */
.squadPitch .formationSlot .squadPlayer .shieldInside{overflow:hidden!important}
.squadPitch .formationSlot .squadPlayer .squadPortrait{
  left:0!important;top:3%!important;width:100%!important;height:79%!important;
  object-fit:contain!important;object-position:center center!important;
  -webkit-mask-image:none!important;mask-image:none!important;
  background:transparent!important;transform:none!important;
}
/* Rating tucked into its own upper-left area, clear of the face. */
.squadPitch .formationSlot .squadPlayer .squadRating{
  left:13%!important;top:14%!important;font-size:clamp(11px,2.65vw,17px)!important;
  line-height:1!important;z-index:16!important;
  color:#fff!important;-webkit-text-stroke:.4px #101624!important;
  text-shadow:0 1px 3px #000,0 0 4px #000!important;
}
/* Name and star get separate, non-overlapping bands at the bottom. */
.squadPitch .formationSlot .squadPlayer .squadName{
  left:6%!important;right:6%!important;bottom:12%!important;
  height:12%!important;min-height:0!important;box-sizing:border-box!important;
  display:flex!important;align-items:center!important;justify-content:center!important;
  padding:0 2%!important;font-size:clamp(7px,1.35vw,10px)!important;
  line-height:1!important;z-index:17!important;
}
.squadPitch .formationSlot .squadPlayer .squadStars{
  left:0!important;right:0!important;bottom:2%!important;height:9%!important;
  display:flex!important;align-items:center!important;justify-content:center!important;
  font-size:clamp(9px,1.7vw,12px)!important;line-height:1!important;z-index:17!important;
}
.squadPitch .formationSlot .squadPlayer .squadPosition{top:16%!important;right:10%!important;z-index:16!important}
.squadPitch .formationSlot .squadPlayer .squadFlag{z-index:16!important}

/* v56: consistent fixed-size player shields for every formation.
   Pitch and arena artwork remain unchanged; no change to navigation or match hub.
   Never scale individual rows/cards to squeeze additional midfield lines in. */
#panel.liveSquadPanel .squadPitch .formationSlot{
 box-sizing:border-box!important;
 transform:translate(-50%,-50%)!important;
}
#panel.liveSquadPanel .squadPitch .formationSlot .squadPlayer{
 width:100%!important;height:100%!important;
}

/* v57: full-height transparent neutral portraits, positioned behind all card labels.
   Larger portrait cards share one size across all formations. */
#panel.liveSquadPanel .squadPitch .formationSlot .squadPlayer .squadPortrait{
 left:0!important;top:0!important;width:100%!important;height:84%!important;
 object-fit:contain!important;object-position:center bottom!important;
 background:transparent!important;transform:none!important;z-index:3!important;
}
#panel.liveSquadPanel .squadPitch .formationSlot .squadPlayer .squadRating{z-index:19!important}
#panel.liveSquadPanel .squadPitch .formationSlot .squadPlayer .squadPosition{z-index:19!important}
#panel.liveSquadPanel .squadPitch .formationSlot .squadPlayer .squadFlag{z-index:19!important}
#panel.liveSquadPanel .squadPitch .formationSlot .squadPlayer .squadName{z-index:20!important}
#panel.liveSquadPanel .squadPitch .formationSlot .squadPlayer .squadStars{z-index:20!important}

/* v59: Tall reference-proportioned shields, same actual card dimensions in every formation. */
#panel.liveSquadPanel .squadArena.fe59Rows4{aspect-ratio:1199/1250!important}
#panel.liveSquadPanel .squadArena.fe59Rows5{aspect-ratio:1199/1550!important}
#panel.liveSquadPanel .squadArena.fe59Rows6{aspect-ratio:1199/1850!important}
#panel.liveSquadPanel .squadArena.fe59Rows4 .squadStadiumArt,
#panel.liveSquadPanel .squadArena.fe59Rows5 .squadStadiumArt,
#panel.liveSquadPanel .squadArena.fe59Rows6 .squadStadiumArt{width:100%!important;height:100%!important;object-fit:fill!important}
#panel.liveSquadPanel .squadPitch .formationSlot .squadPlayer .squadPortrait{object-fit:contain!important;object-position:center bottom!important;top:5%!important;left:0!important;width:100%!important;height:77%!important}
#panel.liveSquadPanel .squadPitch .formationSlot .squadPlayer .squadRating{top:15%!important;left:13%!important;font-size:clamp(12px,2.6vw,20px)!important}
#panel.liveSquadPanel .squadPitch .formationSlot .squadPlayer .squadName{bottom:12%!important;height:12%!important;font-size:clamp(8px,1.5vw,12px)!important}
#panel.liveSquadPanel .squadPitch .formationSlot .squadPlayer .squadStars{bottom:2%!important;height:10%!important;font-size:clamp(12px,2.1vw,17px)!important}

/* v60: One pitch height for all formations, sized for the maximum six rows.
   The shields keep identical width/height and the pitch never jumps on change. */
#panel.liveSquadPanel .squadArena,
#panel.liveSquadPanel .squadArena.fe59Rows4,
#panel.liveSquadPanel .squadArena.fe59Rows5,
#panel.liveSquadPanel .squadArena.fe59Rows6{
 aspect-ratio:1199/1850!important;
}

/* v63: Screenshot-matched 190:225 shield silhouette (relative to 1199px reference width).
   One fixed pitch size for every formation. Preserve all existing tier artwork. */
#panel.liveSquadPanel .squadPitch .formationSlot{
 aspect-ratio:190/225!important;
}
#panel.liveSquadPanel .squadPitch .formationSlot .squadPlayer .squadName{
 bottom:12%!important;height:12%!important;
}
#panel.liveSquadPanel .squadPitch .formationSlot .squadPlayer .squadStars{
 bottom:1%!important;height:10%!important;
}

/* v64: remove the whole-screen shrink-to-fit behavior. Cards now use the
   actual panel width, matching the reference's relative card width.
   Allow vertical scrolling rather than scaling the entire UI down. */
#panel.liveSquadPanel{overflow-y:auto!important;touch-action:pan-y!important}
#panel.liveSquadPanel>.fe42FitSurface{transform:none!important;width:100%!important;height:auto!important}

/* v65: move nationality flags off faces and onto the right-hand shoulder/chest
   area, matching the reference card layout. Squad pitch only. */
#panel.liveSquadPanel .squadPitch .formationSlot .squadPlayer .squadFlag.fe38Flag{
 left:auto!important;right:5%!important;top:60%!important;bottom:auto!important;
 width:18%!important;height:13%!important;min-width:0!important;
 font-size:clamp(10px,2vw,16px)!important;line-height:1!important;
 z-index:19!important;pointer-events:none!important;
}
