/* 2D HERO Soccer Pinball v10.11.41 — original soccer skin over the locked Blast Pinball physics. */
:root{--sp-green:#78f03e;--sp-blue:#32d9ff;--sp-gold:#ffd33c;--sp-red:#ff4e55}
.sp-page{background:radial-gradient(circle at 50% 0,#145486 0,#071a38 30%,#020815 76%)}
.sp-page .bp-kicker{background:linear-gradient(90deg,#8cff4c,#48dfff);color:#05152a}
.sp-page .bp-titlebar h1 strong{color:var(--sp-green);text-shadow:0 0 18px rgba(120,240,62,.3)}
.sp-page .bp-game-card{border-color:rgba(86,225,255,.52);box-shadow:0 24px 78px rgba(0,0,0,.56),0 0 34px rgba(39,203,255,.16)}
.sp-page .bp-hud{background:linear-gradient(#0c2e55,#06162f);border-bottom-color:#2cceff}
.sp-page .bp-hud>div{background:linear-gradient(145deg,#123f6a,#081b38);border-color:rgba(104,230,255,.32)}
.sp-page .bp-hud small{color:#8fd9ff}.sp-page .bp-hud b{color:#f8fcff}.sp-page .bp-hud>div:nth-child(2) b{color:#ffd93e}.sp-page .bp-hud>div:last-child b{color:#8cff4c}
.sp-page .bp-live-hud{border-color:rgba(96,233,255,.40);background:linear-gradient(180deg,rgba(2,19,45,.91),rgba(2,12,33,.73))}
.sp-page .bp-live-hud>div{background:linear-gradient(145deg,rgba(8,55,91,.94),rgba(4,20,46,.88));border-color:rgba(80,223,255,.48)}
.sp-page .bp-live-hud small{color:#8cdfff}.sp-page .bp-live-hud .score b{color:#ffdc43}
.sp-page .bp-power-strip{border-color:rgba(111,244,255,.22);background:rgba(2,15,35,.72)}
.sp-page .bp-power-strip span{border-color:rgba(96,209,255,.38);background:rgba(5,27,53,.88);color:#7d9cb8}
.sp-page .bp-power-strip span.active{border-color:#8cff4c;background:linear-gradient(#137a5b,#0a3b4c);box-shadow:0 0 18px rgba(87,255,132,.45)}
.sp-page .bp-share-live{background:linear-gradient(180deg,rgba(11,91,146,.97),rgba(5,34,72,.97));border-color:#69eaff}
.sp-page .bp-launch{border-color:#7cff57;background:linear-gradient(180deg,#16854d,#092c3d 68%,#061c2b);box-shadow:0 0 0 3px rgba(25,91,76,.72),0 0 28px rgba(83,255,116,.50),0 8px 22px rgba(0,0,0,.45)}
.sp-page .bp-launch b{color:#ffe057}.sp-page .bp-launch i{background:linear-gradient(90deg,#52eaff,#7cff57,#ffd33b)}
.sp-page .bp-touch-zone.left button{box-shadow:0 0 0 4px #0b6ba3,0 0 22px #21d8ff;background:radial-gradient(circle at 38% 28%,#44e6ff,#087bb8 55%,#04395b)}
.sp-page .bp-touch-zone.right button{box-shadow:0 0 0 4px #7b270b,0 0 22px #ff5e40;background:radial-gradient(circle at 38% 28%,#ffad54,#f44e32 55%,#8f1f15);color:white}
.sp-page .bp-intro-panel,.sp-page .bp-result-panel{border-color:#50e8ff;background:linear-gradient(145deg,#0c355d,#06172f)}
.sp-page .bp-intro-copy>span,.sp-page .bp-result-panel>span{color:#7cff57}.sp-page .bp-intro-copy h2,.sp-page .bp-result-panel h2{color:#ffda40}
.sp-page .bp-intro-copy button.fun{background:linear-gradient(#9bff56,#35b645);border-color:#d8ffa9;color:#06162d}
.sp-page .bp-trophies{background:linear-gradient(135deg,rgba(6,30,55,.97),rgba(11,70,68,.92));border-color:rgba(126,255,104,.34)}
.sp-page .bp-info-strip span{color:#80f15b}.sp-page .bp-info-strip>div{background:#071d38;border-color:#16547a}

/* Premium live boss health / opponent team power. */
.sp-boss-hud{position:absolute;z-index:8;left:50%;top:93px;transform:translateX(-50%);width:min(330px,54%);display:none;pointer-events:none;padding:7px 10px 8px;border:1px solid rgba(255,91,92,.78);border-radius:14px;background:linear-gradient(180deg,rgba(17,23,35,.96),rgba(5,12,25,.93));box-shadow:0 6px 20px rgba(0,0,0,.38),0 0 20px rgba(255,69,79,.20)}
.sp-boss-hud.show{display:block}.sp-boss-hud>div{display:flex;justify-content:space-between;gap:10px;align-items:center}.sp-boss-hud small{font:1000 8px/1 Arial;letter-spacing:.08em;color:#ffafb3}.sp-boss-hud b{font:1000 9px/1 Arial;color:#fff}
.sp-boss-hud i,.sp-team-power i{display:block;height:8px;margin-top:5px;border-radius:999px;background:#141e2c;border:1px solid rgba(255,255,255,.18);overflow:hidden}.sp-boss-hud i span{display:block;height:100%;width:100%;background:linear-gradient(90deg,#ff3e48,#ff922b,#ffd538);box-shadow:0 0 10px rgba(255,76,66,.7);transition:width .18s ease}
.sp-team-power{position:absolute;z-index:7;left:50%;top:151px;transform:translateX(-50%);width:min(230px,39%);pointer-events:none;padding:5px 8px 6px;border:1px solid rgba(85,215,255,.46);border-radius:12px;background:rgba(3,20,44,.88);box-shadow:0 5px 15px rgba(0,0,0,.25);text-align:center}.sp-team-power small{display:block;font:1000 6.2px/1 Arial;letter-spacing:.08em;color:#a7ddff}.sp-team-power i{height:6px;margin-top:4px}.sp-team-power i span{display:block;height:100%;width:0;background:linear-gradient(90deg,#2ab9ff,#65f4ff,#ffe23c,#ff683f);transition:width .16s ease}.sp-team-power b{display:block;margin-top:4px;font:1000 6px/1 Arial;color:#8cff5c;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

@media(max-width:520px){.sp-boss-hud{top:84px;width:56%;padding:5px 7px}.sp-boss-hud small{font-size:6px}.sp-boss-hud b{font-size:7px}.sp-team-power{top:132px;width:43%;padding:4px 6px}.sp-page .bp-touch-zone button{opacity:.92}.sp-page .bp-launch{bottom:max(14px,calc(env(safe-area-inset-bottom) + 10px))}}
@media(orientation:landscape) and (max-height:560px){.sp-boss-hud{top:72px}.sp-team-power{top:121px}}
.sp-page.bp-app-mode.bp-playing .sp-boss-hud{top:max(93px,calc(env(safe-area-inset-top) + 86px))}.sp-page.bp-app-mode.bp-playing .sp-team-power{top:max(151px,calc(env(safe-area-inset-top) + 144px))}
@media(orientation:landscape){.sp-page.bp-app-mode.bp-playing .sp-boss-hud{position:fixed;left:calc(50% - (var(--bp-stage-w,448px) / 2) - 10px);transform:translateX(-100%);top:max(112px,calc(env(safe-area-inset-top) + 106px));width:max(150px,calc((100vw - var(--bp-stage-w,448px))/2 - 22px))}.sp-page.bp-app-mode.bp-playing .sp-team-power{position:fixed;left:calc(50% - (var(--bp-stage-w,448px) / 2) - 10px);transform:translateX(-100%);top:max(182px,calc(env(safe-area-inset-top) + 176px));width:max(150px,calc((100vw - var(--bp-stage-w,448px))/2 - 22px))}}

/* v10.11.41 — Stadium bowl + arcade bonus loop. */
.sp-bonus-meter{position:absolute;z-index:7;left:50%;top:188px;transform:translateX(-50%);width:min(230px,39%);pointer-events:none;padding:5px 8px 6px;border:1px solid rgba(255,221,67,.58);border-radius:12px;background:linear-gradient(180deg,rgba(21,17,31,.92),rgba(4,15,36,.90));box-shadow:0 5px 15px rgba(0,0,0,.28),0 0 16px rgba(255,204,60,.12);text-align:center}.sp-bonus-meter small{display:block;font:1000 6.2px/1 Arial;letter-spacing:.08em;color:#ffe786}.sp-bonus-meter i{display:block;height:7px;margin-top:4px;border-radius:999px;background:#151c2d;border:1px solid rgba(255,255,255,.18);overflow:hidden}.sp-bonus-meter i span{display:block;height:100%;width:0;background:linear-gradient(90deg,#33d6ff,#74ff65,#ffe03d,#ff7d32);box-shadow:0 0 12px rgba(255,220,60,.60);transition:width .15s ease}.sp-bonus-meter b{display:block;margin-top:4px;font:1000 6px/1 Arial;color:#fff1a1}
.sp-bonus-meter.ready{border-color:#ffe13f;box-shadow:0 0 26px rgba(255,225,63,.50);animation:spBonusPulse .55s ease-in-out infinite alternate}@keyframes spBonusPulse{to{transform:translateX(-50%) scale(1.035)}}
.sp-bonus-reel{position:absolute;z-index:12;left:50%;top:242px;transform:translate(-50%,-12px) scale(.9);width:min(275px,48%);opacity:0;pointer-events:none;padding:10px 12px 9px;border:2px solid #ffe04a;border-radius:16px;background:linear-gradient(180deg,rgba(8,22,50,.98),rgba(16,7,30,.97));box-shadow:0 10px 34px rgba(0,0,0,.48),0 0 30px rgba(255,214,61,.32);text-align:center;transition:opacity .16s ease,transform .18s ease}.sp-bonus-reel.show{opacity:1;transform:translate(-50%,0) scale(1)}.sp-bonus-reel small{display:block;font:1000 7px/1 Arial;letter-spacing:.11em;color:#ffe269;margin-bottom:7px}.sp-bonus-reel>div{display:flex;justify-content:center;gap:7px}.sp-bonus-reel>div span{display:grid;place-items:center;width:48px;height:48px;border:2px solid #62eaff;border-radius:11px;background:radial-gradient(circle at 50% 38%,#17396a,#07152d 68%);font-size:27px;box-shadow:inset 0 0 16px rgba(90,225,255,.18),0 0 12px rgba(76,216,255,.16)}.sp-bonus-reel b{display:block;margin-top:7px;font:1000 8px/1 Arial;color:#8cff64;letter-spacing:.05em}
@media(max-width:520px){.sp-bonus-meter{top:164px;width:43%;padding:4px 6px}.sp-bonus-reel{top:214px;width:51%;padding:8px 9px}.sp-bonus-reel>div span{width:40px;height:40px;font-size:23px}}
@media(orientation:landscape) and (max-height:560px){.sp-bonus-meter{top:147px}.sp-bonus-reel{top:193px}}
.sp-page.bp-app-mode.bp-playing .sp-bonus-meter{top:max(188px,calc(env(safe-area-inset-top) + 181px))}.sp-page.bp-app-mode.bp-playing .sp-bonus-reel{top:max(242px,calc(env(safe-area-inset-top) + 235px))}
@media(orientation:landscape){.sp-page.bp-app-mode.bp-playing .sp-bonus-meter{position:fixed;left:calc(50% - (var(--bp-stage-w,448px) / 2) - 10px);transform:translateX(-100%);top:max(246px,calc(env(safe-area-inset-top) + 240px));width:max(150px,calc((100vw - var(--bp-stage-w,448px))/2 - 22px))}.sp-page.bp-app-mode.bp-playing .sp-bonus-meter.ready{animation:none;box-shadow:0 0 26px rgba(255,225,63,.50)}.sp-page.bp-app-mode.bp-playing .sp-bonus-reel{position:fixed;left:calc(50% + (var(--bp-stage-w,448px) / 2) + 10px);transform:translateX(0);top:max(150px,calc(env(safe-area-inset-top) + 144px));width:max(150px,calc((100vw - var(--bp-stage-w,448px))/2 - 22px))}.sp-page.bp-app-mode.bp-playing .sp-bonus-reel.show{transform:translateX(0)}}
/* v10.11.44 — Boss Goalie is a pure skill phase: power-up and jackpot UI visibly pauses. */
.sp-page .bp-power-strip.skill-locked{position:relative;opacity:.76;border-color:rgba(137,234,255,.34);background:rgba(3,13,29,.9)}
.sp-page .bp-power-strip.skill-locked span{opacity:.18!important;filter:grayscale(1);box-shadow:none!important}
.sp-page .bp-power-strip.skill-locked::after{content:'🎯 SKILL MODE • POWER-UPS LOCKED';position:absolute;inset:50% 8px auto;transform:translateY(-50%);z-index:3;padding:7px 8px;border:1px solid rgba(126,239,255,.7);border-radius:999px;background:rgba(3,18,38,.94);box-shadow:0 0 18px rgba(79,223,255,.18);color:#dffcff;text-align:center;font:1000 7px/1 Arial;letter-spacing:.06em;white-space:nowrap}
.sp-bonus-meter.skill-locked{opacity:.46;border-color:rgba(126,239,255,.28);box-shadow:none;animation:none!important}
.sp-bonus-meter.skill-locked i span{width:0!important;box-shadow:none}

/* v10.11.45 — Boss Striker Mode uses a gold flipper-energy cue; hit-power logic lives in JS and is boss-only. */

/* v10.11.47 — Goalie Only Card Rewards Mode. */
.bp-goalie-only-page .bp-power-strip{opacity:.55}.bp-goalie-only-page .sp-bonus-meter{opacity:.45}
.goalie-card-note{display:grid;gap:8px}.goalie-card-note small{color:#ffe46a!important;font-weight:1000}.goalie-card-note a{color:#7ceaff;font-size:11px;font-weight:900;text-decoration:none}
.sp-card-reward{position:fixed;inset:0;z-index:80;display:none;place-items:center;padding:18px;background:rgba(1,5,15,.88);backdrop-filter:blur(7px)}
.sp-card-reward.show{display:grid}.sp-card-reward-panel{width:min(520px,96vw);max-height:94vh;overflow:auto;text-align:center;padding:22px;border:2px solid #ffe04a;border-radius:26px;background:radial-gradient(circle at 50% 0,rgba(65,45,116,.7),transparent 35%),linear-gradient(160deg,#081c3d,#060d1f 68%,#190c27);box-shadow:0 24px 90px rgba(0,0,0,.65),0 0 40px rgba(255,218,62,.28);color:#fff}.sp-card-mode{font:1000 11px/1 Arial;letter-spacing:.11em;color:#7deaff}.sp-card-reward-panel h2{margin:9px 0 5px;font:1000 clamp(26px,5vw,38px)/1 Arial;color:#ffe04a}.sp-card-reward-panel>p{margin:0 auto 13px;max-width:440px;color:#b9cce5;font-size:13px;line-height:1.45}
.sp-card-wheel-wrap{position:relative;width:220px;height:220px;margin:12px auto 14px}.sp-card-pointer{position:absolute;z-index:2;left:50%;top:-7px;transform:translateX(-50%);font-style:normal;font-size:30px;color:#ffe04a;text-shadow:0 0 10px #ff9d2d}.sp-card-wheel{width:100%;height:100%;display:grid;place-items:center;border:8px solid #e5f6ff;border-radius:50%;background:conic-gradient(#19c9ff 0 12%,#7d5cff 12% 24%,#ff4e67 24% 36%,#ffb52c 36% 48%,#70ec54 48% 60%,#21c8c8 60% 72%,#dd4dff 72% 84%,#ffd83f 84% 100%);box-shadow:inset 0 0 0 10px #0a1730,inset 0 0 30px rgba(255,255,255,.3),0 0 28px rgba(78,218,255,.35);transition:transform 2.35s cubic-bezier(.12,.72,.08,1)}.sp-card-wheel:before{content:'';position:absolute;width:74px;height:74px;border-radius:50%;background:linear-gradient(#0b2749,#061129);border:3px solid #ffe34c;box-shadow:0 0 22px rgba(255,223,56,.5)}.sp-card-wheel b{position:relative;z-index:2;font:1000 18px/1 Arial;color:white;text-shadow:0 2px 4px #000}.sp-card-wheel.spinning{filter:saturate(1.25)}
.sp-card-spin,.sp-card-again{border:0;border-radius:999px;padding:13px 22px;font:1000 14px/1 Arial;cursor:pointer;background:linear-gradient(180deg,#fff05d,#ffad28);color:#17203b;box-shadow:0 7px 22px rgba(255,175,40,.27)}.sp-card-spin:disabled{opacity:.55;cursor:wait}.sp-card-again{margin-top:12px;background:linear-gradient(180deg,#8dff70,#28c971)}
.sp-card-reveal{display:grid;grid-template-columns:150px 1fr;gap:14px;align-items:center;margin:15px auto 4px;padding:12px;border:1px solid rgba(103,228,255,.45);border-radius:18px;background:rgba(4,21,48,.9);text-align:left}.sp-card-reveal.ultra{border-color:#ffe04a;box-shadow:0 0 28px rgba(255,215,54,.35);background:radial-gradient(circle at 20% 20%,rgba(255,196,36,.17),transparent 45%),rgba(18,10,45,.93)}.sp-card-reveal img{width:150px;max-height:225px;object-fit:contain;border-radius:12px;box-shadow:0 8px 20px rgba(0,0,0,.4)}.sp-card-reveal h3{margin:0;color:#ffe04a;font:1000 22px/1.05 Arial}.sp-card-reveal p{margin:8px 0 0;color:#d8e8fb;font-size:12px;line-height:1.45}.sp-card-odds{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-top:15px;padding-top:12px;border-top:1px solid rgba(255,255,255,.13);font-size:10px;color:#b8cce7}.sp-card-odds>b{grid-column:1/-1;color:#7deaff;font-size:12px}.sp-card-odds strong{display:block;color:#ffe04a;font-size:12px}.sp-card-odds small{grid-column:1/-1;margin-top:4px;color:#7d94b3;line-height:1.35}
@media(max-width:560px){.sp-card-reward{padding:8px}.sp-card-reward-panel{padding:16px 12px;border-radius:20px}.sp-card-wheel-wrap{width:175px;height:175px}.sp-card-reveal{grid-template-columns:108px 1fr}.sp-card-reveal img{width:108px;max-height:165px}.sp-card-reveal h3{font-size:17px}.sp-card-odds{font-size:9px}}

.sp-kid-odds-update{margin:8px auto 14px;max-width:780px;padding:10px 14px;border:1px solid rgba(255,226,72,.55);border-radius:14px;background:rgba(255,210,40,.09);color:#f4f8ff;text-align:center;font-size:.88rem}.sp-kid-odds-update strong{color:#ffe65b}

/* v10.11.52 Android safe-area reinforcement */
@media(max-width:760px){.sp-page .bp-touch-zone{bottom:max(14px,calc(env(safe-area-inset-bottom) + 10px))!important}.sp-page .bp-launch{bottom:max(88px,calc(env(safe-area-inset-bottom) + 84px))!important}}
@media(orientation:landscape) and (max-height:560px){.sp-page .bp-touch-zone{bottom:max(12px,calc(env(safe-area-inset-bottom) + 8px))!important}.sp-page .bp-launch{bottom:max(12px,calc(env(safe-area-inset-bottom) + 8px))!important}}
\n\n/* v10.11.53 — Goalie Only clean-goalmouth mode.\n   Card Rewards is a pure striker-vs-keeper skill screen: no team power,\n   bonus, power-up, boss-card or live-share overlays are allowed over the goal. */\n.bp-goalie-only-page.bp-playing .bp-power-strip,\n.bp-goalie-only-page.bp-playing .sp-team-power,\n.bp-goalie-only-page.bp-playing .sp-bonus-meter,\n.bp-goalie-only-page.bp-playing .sp-bonus-reel,\n.bp-goalie-only-page.bp-playing .sp-boss-hud,\n.bp-goalie-only-page.bp-playing .bp-share-live{display:none!important}\n.bp-goalie-only-page.bp-playing .bp-live-hud{\n  top:max(7px,env(safe-area-inset-top));\n  left:8px;right:8px;\n  grid-template-columns:.82fr 1.2fr .82fr 1fr;\n  z-index:10;\n  padding:3px;\n  background:linear-gradient(180deg,rgba(2,16,39,.96),rgba(2,10,25,.88));\n}\n.bp-goalie-only-page.bp-playing .bp-live-hud>div{padding:5px 6px}\n.bp-goalie-only-page.bp-playing .bp-live-hud>div:last-child{border-color:rgba(255,215,65,.72);box-shadow:inset 0 0 18px rgba(255,213,64,.10),0 0 12px rgba(255,210,55,.08)}\n.bp-goalie-only-page.bp-playing .bp-live-hud>div:last-child b{color:#ffe45b}\n@media(max-width:520px){\n  .bp-goalie-only-page.bp-playing .bp-live-hud{left:5px;right:5px;gap:3px}\n  .bp-goalie-only-page.bp-playing .bp-live-hud>div{padding:4px 4px}\n}\n@media(orientation:landscape){\n  .bp-goalie-only-page.bp-app-mode.bp-playing .bp-live-hud{\n    position:fixed;left:calc(50% + (var(--bp-stage-w,448px) / 2) + 10px);right:10px;\n    top:max(10px,env(safe-area-inset-top));grid-template-columns:1fr 1fr;gap:5px;\n    width:auto;\n  }\n  .bp-goalie-only-page.bp-app-mode.bp-playing .bp-live-hud .score{grid-column:auto}\n}\n