/* Official Bulls App 1.0.0 — Fan Experience / Penalty Challenge */
.cwbg-game{--cwbg-night:#020713;--cwbg-navy:#071b43;--cwbg-blue:#0c3b88;--cwbg-gold:#ffd51f;--cwbg-red:#ef3340;--cwbg-line:rgba(255,255,255,.13);position:relative;isolation:isolate;overflow:hidden;border:1px solid var(--cwbg-line);border-radius:30px;background:radial-gradient(circle at 86% 8%,rgba(255,213,31,.13),transparent 30%),radial-gradient(circle at 4% 84%,rgba(239,51,64,.10),transparent 32%),linear-gradient(145deg,#0a2f6c 0,#061a3d 38%,#020713 100%);color:#fff;box-shadow:0 36px 120px rgba(0,0,0,.36);font-family:inherit}
.cwbg-game.is-page{width:min(1240px,calc(100% - 30px));margin:42px auto 64px}.cwbg-game.is-app{margin:0;background:radial-gradient(circle at 80% 0,rgba(255,213,31,.10),transparent 28%),linear-gradient(155deg,#071d4e,#020713)}
.cwbg-game:before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(110deg,transparent 0 46%,rgba(255,255,255,.035) 48%,transparent 50% 100%);background-size:220% 100%;animation:cwbgSweep 14s linear infinite}
.cwbg-head{display:flex;justify-content:space-between;align-items:center;gap:28px;padding:clamp(24px,4vw,46px);border-bottom:1px solid var(--cwbg-line)}
.cwbg-head>div{max-width:780px}.cwbg-head img{width:108px;height:108px;object-fit:contain;filter:drop-shadow(0 18px 28px rgba(0,0,0,.38))}
.cwbg-kicker{display:block;margin-bottom:12px;color:var(--cwbg-gold);font-size:10px;font-weight:950;letter-spacing:.16em;text-transform:uppercase}.cwbg-head h2{margin:0;font-size:clamp(31px,5vw,62px);line-height:.98;letter-spacing:-.045em}.cwbg-head p{margin:16px 0 0;max-width:650px;color:#b8c9df;font-size:15px;line-height:1.65}
.cwbg-partner{display:flex;align-items:center;justify-content:center;gap:10px;padding:10px 18px;border-bottom:1px solid var(--cwbg-line);background:rgba(255,255,255,.025)}.cwbg-partner small{color:#8096b4;font-size:8px;font-weight:900;letter-spacing:.1em;text-transform:uppercase}.cwbg-partner img{width:30px;height:24px;object-fit:contain}.cwbg-partner strong{font-size:11px}
.cwbg-shell{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(270px,.7fr);gap:18px;padding:18px}.cwbg-stage-wrap,.cwbg-side{border:1px solid var(--cwbg-line);border-radius:22px;background:rgba(1,7,19,.64);box-shadow:inset 0 1px 0 rgba(255,255,255,.04)}
.cwbg-stage-wrap{padding:14px}.cwbg-hud{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:10px}.cwbg-hud span{display:block;padding:10px 12px;border:1px solid rgba(255,255,255,.08);border-radius:12px;background:rgba(255,255,255,.035)}.cwbg-hud small,.cwbg-hud b{display:block}.cwbg-hud small{color:#7f95b2;font-size:8px;font-weight:900;letter-spacing:.09em;text-transform:uppercase}.cwbg-hud b{margin-top:3px;color:#fff;font-size:19px;font-weight:950;letter-spacing:-.025em}
.cwbg-canvas-shell{position:relative;overflow:hidden;border-radius:18px;border:1px solid rgba(255,255,255,.12);background:#dcecf4;aspect-ratio:12/7;touch-action:none;box-shadow:0 18px 55px rgba(0,0,0,.25)}.cwbg-canvas-shell:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(255,255,255,.16),transparent 28%,rgba(0,16,45,.03));mix-blend-mode:soft-light}.cwbg-canvas-shell canvas{display:block;width:100%;height:100%;cursor:crosshair;touch-action:none}
.cwbg-stage-message{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:3;width:min(82%,420px);padding:18px;border:1px solid rgba(255,255,255,.16);border-radius:18px;background:rgba(2,7,19,.86);backdrop-filter:blur(14px);text-align:center;box-shadow:0 22px 70px rgba(0,0,0,.42);transition:.25s ease}.cwbg-stage-message[hidden]{display:none}.cwbg-stage-message strong,.cwbg-stage-message span{display:block}.cwbg-stage-message strong{font-size:24px;letter-spacing:-.035em}.cwbg-stage-message span{margin-top:6px;color:#b6c7dd;font-size:12px;line-height:1.5}
.cwbg-actions{display:flex;gap:8px;margin-top:10px}.cwbg-actions button,.cwbg-submit button{appearance:none;border:1px solid rgba(255,255,255,.14);border-radius:11px;background:#fff;color:#07152f;min-height:42px;padding:10px 15px;font:inherit;font-size:10px;font-weight:950;letter-spacing:.055em;text-transform:uppercase;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease,background .18s ease}.cwbg-actions button:hover,.cwbg-submit button:hover{transform:translateY(-1px);box-shadow:0 11px 28px rgba(0,0,0,.24)}.cwbg-actions .cwbg-primary{background:var(--cwbg-gold);border-color:var(--cwbg-gold)}.cwbg-actions button[hidden]{display:none}.cwbg-help{margin:9px 2px 0;color:#6f87a8;font-size:10px}
.cwbg-side{padding:18px;display:flex;flex-direction:column}.cwbg-side-title span{color:var(--cwbg-gold);font-size:9px;font-weight:950;letter-spacing:.12em;text-transform:uppercase}.cwbg-side-title h3{margin:4px 0 14px;font-size:25px;letter-spacing:-.035em}.cwbg-leaderboard{list-style:none;margin:0;padding:0;display:grid;gap:6px}.cwbg-leaderboard li{display:grid;grid-template-columns:28px minmax(0,1fr) auto;align-items:center;gap:8px;padding:8px 9px;border:1px solid rgba(255,255,255,.07);border-radius:10px;background:rgba(255,255,255,.03)}.cwbg-leaderboard li b{display:grid;place-items:center;width:25px;height:25px;border-radius:8px;background:rgba(255,213,31,.11);color:var(--cwbg-gold);font-size:9px}.cwbg-leaderboard li span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#dce7f5;font-size:11px;font-weight:800}.cwbg-leaderboard li em{font-style:normal;color:#fff;font-size:12px;font-weight:950}.cwbg-leaderboard li:first-child{border-color:rgba(255,213,31,.28);background:linear-gradient(90deg,rgba(255,213,31,.10),rgba(255,255,255,.025))}
.cwbg-submit{display:grid;gap:8px;margin-top:14px;padding-top:14px;border-top:1px solid var(--cwbg-line)}.cwbg-submit[hidden]{display:none}.cwbg-submit label{display:grid;gap:5px;color:#8fa5c1;font-size:9px;font-weight:900;text-transform:uppercase}.cwbg-submit input{width:100%;box-sizing:border-box;border:1px solid rgba(255,255,255,.14);border-radius:10px;background:rgba(255,255,255,.06);color:#fff;padding:11px 12px;font:inherit;outline:none}.cwbg-submit input:focus{border-color:rgba(255,213,31,.55);box-shadow:0 0 0 3px rgba(255,213,31,.08)}.cwbg-submit small{color:#657d9c;font-size:8px;line-height:1.45}.cwbg-badge{display:flex;align-items:center;gap:10px;margin-top:auto;padding-top:16px}.cwbg-badge>span{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:rgba(255,213,31,.10);font-size:20px}.cwbg-badge small,.cwbg-badge strong{display:block}.cwbg-badge small{color:#6f87a6;font-size:8px;font-weight:900;text-transform:uppercase}.cwbg-badge strong{margin-top:2px;font-size:11px}
.cwbg-game>footer{padding:12px 18px;border-top:1px solid var(--cwbg-line);color:#5e7594;text-align:center;font-size:8px;letter-spacing:.05em;text-transform:uppercase}.cwbg-game>footer a{color:inherit;text-decoration:none}
.cwba-quick-fan{background:radial-gradient(circle at 90% 10%,rgba(255,213,31,.14),transparent 34%),linear-gradient(145deg,rgba(10,47,108,.96),rgba(2,7,19,.98))!important;border-color:rgba(255,213,31,.22)!important}.cwba-panel-hero.is-fan{background:radial-gradient(circle at 82% 8%,rgba(255,213,31,.13),transparent 28%),linear-gradient(145deg,#0a3477,#020713)!important}
.cwbg-flash{animation:cwbgFlash .42s ease}.cwbg-game.is-goal .cwbg-canvas-shell{box-shadow:0 0 0 1px rgba(255,213,31,.35),0 18px 65px rgba(255,213,31,.12)}.cwbg-game.is-save .cwbg-canvas-shell{box-shadow:0 0 0 1px rgba(239,51,64,.30),0 18px 65px rgba(239,51,64,.10)}
@keyframes cwbgSweep{0%{background-position:160% 0}100%{background-position:-60% 0}}@keyframes cwbgFlash{0%{filter:brightness(1)}45%{filter:brightness(1.35)}100%{filter:brightness(1)}}
@media(max-width:900px){.cwbg-shell{grid-template-columns:1fr}.cwbg-side{min-height:330px}.cwbg-head img{width:82px;height:82px}.cwbg-game.is-page{margin-top:20px}}
@media(max-width:600px){.cwbg-game{border-radius:22px}.cwbg-game.is-page{width:calc(100% - 18px);margin:12px auto 38px}.cwbg-head{align-items:flex-start;padding:22px 18px}.cwbg-head h2{font-size:39px}.cwbg-head p{font-size:12px}.cwbg-head img{width:64px;height:64px}.cwbg-shell{padding:8px;gap:8px}.cwbg-stage-wrap,.cwbg-side{border-radius:17px}.cwbg-stage-wrap{padding:8px}.cwbg-hud{gap:4px}.cwbg-hud span{padding:8px 7px;border-radius:9px}.cwbg-hud small{font-size:6px}.cwbg-hud b{font-size:14px}.cwbg-canvas-shell{border-radius:13px}.cwbg-actions{display:grid;grid-template-columns:1fr 1fr}.cwbg-actions .cwbg-primary:last-child:first-child{grid-column:1/-1}.cwbg-actions button{padding-inline:8px;font-size:8px}.cwbg-side{padding:14px}.cwbg-side-title h3{font-size:22px}.cwbg-game.is-app{border-radius:20px}.cwbg-game.is-app .cwbg-head{padding:20px 16px}.cwbg-game.is-app .cwbg-head img{display:none}.cwbg-game.is-app .cwbg-head h2{font-size:34px}}
@media(prefers-reduced-motion:reduce){.cwbg-game:before,.cwbg-flash{animation:none!important}.cwbg-actions button{transition:none!important}}

/* v1.0.0 — Penalty Challenge: arena-grade presentation */
.cwbg-game{border-color:rgba(220,239,255,.16)!important;background:
  radial-gradient(ellipse at 50% -10%,rgba(91,177,255,.14),transparent 34%),
  radial-gradient(circle at 88% 12%,rgba(255,213,31,.10),transparent 25%),
  linear-gradient(150deg,#092d67,#061934 42%,#01040b 100%)!important;box-shadow:0 48px 145px rgba(0,0,0,.48),inset 0 1px 0 rgba(255,255,255,.055)!important}
.cwbg-game::after{content:"BULLS";position:absolute;right:-.06em;bottom:-.20em;z-index:-1;color:rgba(255,255,255,.018);font-size:clamp(110px,18vw,260px);font-weight:1000;line-height:1;letter-spacing:-.09em;pointer-events:none}
.cwbg-head{background:linear-gradient(90deg,rgba(255,255,255,.026),transparent 54%)}
.cwbg-kicker::before{content:"●";margin-right:7px;color:#ef3340;font-size:8px;vertical-align:1px;text-shadow:0 0 16px rgba(239,51,64,.45)}
.cwbg-head h2{text-wrap:balance;text-shadow:0 18px 44px rgba(0,0,0,.27)}
.cwbg-stage-wrap{background:linear-gradient(180deg,rgba(1,7,19,.77),rgba(1,5,14,.88))!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.05),0 22px 64px rgba(0,0,0,.22)!important}
.cwbg-hud span{position:relative;overflow:hidden;background:linear-gradient(145deg,rgba(255,255,255,.055),rgba(255,255,255,.022))!important}
.cwbg-hud span::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:linear-gradient(90deg,transparent,rgba(255,213,31,.24),transparent)}
.cwbg-canvas-shell{border-color:rgba(220,239,255,.28)!important;box-shadow:0 28px 78px rgba(0,0,0,.31),inset 0 0 42px rgba(255,255,255,.13)!important}
.cwbg-canvas-shell::before{content:"";position:absolute;z-index:2;inset:0;pointer-events:none;background:radial-gradient(ellipse at 50% 0,rgba(255,255,255,.30),transparent 35%),linear-gradient(180deg,rgba(255,255,255,.08),transparent 36%)}
.cwbg-game.is-goal .cwbg-canvas-shell{animation:cwbg560GoalImpact .42s cubic-bezier(.2,.75,.2,1);box-shadow:0 0 0 1px rgba(255,213,31,.45),0 30px 88px rgba(255,213,31,.15),inset 0 0 55px rgba(255,255,255,.15)!important}
.cwbg-game.is-save .cwbg-canvas-shell{box-shadow:0 0 0 1px rgba(239,51,64,.30),0 28px 78px rgba(239,51,64,.09),inset 0 0 45px rgba(255,255,255,.12)!important}
.cwbg-stage-message{border-color:rgba(255,255,255,.18)!important;background:rgba(1,5,14,.88)!important;box-shadow:0 28px 90px rgba(0,0,0,.48)!important}
.cwbg-stage-message strong{font-size:clamp(24px,4vw,34px)!important;letter-spacing:-.05em!important}.cwbg-stage-message span{color:#c2d2e4!important}
.cwbg-actions button,.cwbg-submit button{position:relative;overflow:hidden}.cwbg-actions button:active,.cwbg-submit button:active{transform:translateY(1px) scale(.99)!important}
.cwbg-side{background:linear-gradient(180deg,rgba(3,14,32,.84),rgba(1,6,16,.94))!important}
.cwbg-leaderboard li{transition:transform .18s ease,border-color .18s ease;background:rgba(255,255,255,.028)!important}.cwbg-leaderboard li:hover{transform:translateX(3px);border-color:rgba(255,213,31,.20)}
.cwbg-leaderboard li:nth-child(1) b{background:rgba(255,213,31,.18)!important}.cwbg-leaderboard li:nth-child(2) b{background:rgba(207,222,238,.12)!important;color:#d9e7f5!important}.cwbg-leaderboard li:nth-child(3) b{background:rgba(195,117,55,.13)!important;color:#e0a06b!important}
.cwbg-badge>span{box-shadow:inset 0 0 0 1px rgba(255,213,31,.09)}
@keyframes cwbg560GoalImpact{0%{transform:translateX(0) scale(1)}22%{transform:translateX(-2px) scale(1.006)}45%{transform:translateX(2px) scale(1.008)}70%{transform:translateX(-1px) scale(1.003)}100%{transform:none}}
@media(prefers-reduced-motion:reduce){.cwbg-game.is-goal .cwbg-canvas-shell{animation:none!important}.cwbg-leaderboard li{transition:none!important}}

/* v1.2.0 — shot power / timing layer */
.cwbg-shot-control{display:grid;grid-template-columns:auto minmax(120px,1fr) auto;align-items:center;gap:12px;margin-top:10px;padding:10px 12px;border:1px solid rgba(255,255,255,.09);border-radius:13px;background:linear-gradient(90deg,rgba(255,255,255,.035),rgba(255,213,31,.025))}.cwbg-shot-control>div small,.cwbg-shot-control>div b{display:block}.cwbg-shot-control>div small{color:#7189a9;font-size:7px;font-weight:950;letter-spacing:.11em;text-transform:uppercase}.cwbg-shot-control>div b{margin-top:2px;color:#fff;font-size:13px}.cwbg-shot-control>strong{color:#8399b7;font-size:8px;font-weight:900;letter-spacing:.055em;text-transform:uppercase;white-space:nowrap}.cwbg-power-track{position:relative;display:block;height:10px;overflow:hidden;border:1px solid rgba(255,255,255,.12);border-radius:999px;background:rgba(255,255,255,.055);box-shadow:inset 0 1px 4px rgba(0,0,0,.25)}.cwbg-power-track i{position:absolute;left:0;top:0;bottom:0;width:0;border-radius:inherit;background:linear-gradient(90deg,#1ca5ff 0%,#ffd51f 68%,#ef3340 100%);box-shadow:0 0 18px rgba(255,213,31,.25);transition:width .05s linear}.cwbg-power-track em{position:absolute;top:-2px;bottom:-2px;left:78%;width:2px;background:#fff;box-shadow:0 0 8px rgba(255,255,255,.8);opacity:.8}.cwbg-game.is-charging .cwbg-shot-control{border-color:rgba(255,213,31,.26);box-shadow:0 0 0 1px rgba(255,213,31,.06),0 12px 28px rgba(0,0,0,.16)}.cwbg-game.is-charging .cwbg-power-track{box-shadow:inset 0 1px 4px rgba(0,0,0,.25),0 0 22px rgba(255,213,31,.08)}
@media(max-width:600px){.cwbg-shot-control{grid-template-columns:auto 1fr;gap:7px 10px;padding:9px}.cwbg-shot-control>strong{grid-column:1/-1;white-space:normal}.cwbg-power-track{height:9px}}
@media(prefers-reduced-motion:reduce){.cwbg-power-track i{transition:none}}

/* v1.3.0 — goalie selection + arena upgrade */
.cwbg-goalie-select{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 18px;border-bottom:1px solid rgba(255,255,255,.10);background:linear-gradient(90deg,rgba(255,255,255,.025),rgba(255,213,31,.025))}.cwbg-goalie-select>div:first-child small,.cwbg-goalie-select>div:first-child strong{display:block}.cwbg-goalie-select>div:first-child small{color:#ffd51f;font-size:8px;font-weight:950;letter-spacing:.12em;text-transform:uppercase}.cwbg-goalie-select>div:first-child strong{margin-top:3px;font-size:14px}.cwbg-goalie-options{display:flex;gap:7px;overflow-x:auto;scrollbar-width:none}.cwbg-goalie-options::-webkit-scrollbar{display:none}.cwbg-goalie-options button{appearance:none;display:grid;grid-template-columns:36px minmax(78px,1fr);grid-template-rows:auto auto;column-gap:8px;align-items:center;min-width:150px;border:1px solid rgba(255,255,255,.10);border-radius:13px;background:rgba(255,255,255,.04);color:#fff;padding:7px;text-align:left;font:inherit;cursor:pointer}.cwbg-goalie-options button img,.cwbg-goalie-options button>span{grid-row:1/3;width:36px;height:36px;border-radius:10px;object-fit:cover;object-position:center 18%;background:rgba(255,255,255,.08)}.cwbg-goalie-options button>span{display:grid;place-items:center;font-size:20px}.cwbg-goalie-options button b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:9px}.cwbg-goalie-options button small{color:#7188a8;font-size:7px;text-transform:uppercase}.cwbg-goalie-options button.is-active{border-color:rgba(255,213,31,.48);background:linear-gradient(135deg,rgba(255,213,31,.13),rgba(255,255,255,.045));box-shadow:0 0 0 1px rgba(255,213,31,.07)}.cwbg-goalie-loading{color:#8198b6;font-size:9px}.cwbg-canvas-shell{background:#dcecf4!important}.cwbg-canvas-shell canvas{filter:saturate(1.03) contrast(1.015)}
@media(max-width:700px){.cwbg-goalie-select{display:grid;grid-template-columns:1fr;padding:12px}.cwbg-goalie-options{width:100%}.cwbg-goalie-options button{min-width:138px}.cwbg-goalie-select>div:first-child strong{font-size:13px}}


/* v1.6.0 readability pass — no 6–10px game UI on phones */
.cwbg-kicker{font-size:12px!important}.cwbg-head p{font-size:15px!important}.cwbg-partner small{font-size:11px!important}.cwbg-partner strong{font-size:13px!important}
.cwbg-hud small{font-size:11px!important}.cwbg-hud b{font-size:20px!important}.cwbg-stage-message span{font-size:14px!important}
.cwbg-actions button,.cwbg-submit button{font-size:12.5px!important;min-height:46px!important}.cwbg-help{font-size:12.5px!important;line-height:1.45!important}
.cwbg-side-title span{font-size:11.5px!important}.cwbg-leaderboard li b{font-size:11px!important}.cwbg-leaderboard li span{font-size:13px!important}.cwbg-leaderboard li em{font-size:13px!important}
.cwbg-submit label{font-size:12px!important}.cwbg-submit input{font-size:16px!important;min-height:46px!important}.cwbg-submit small{font-size:11.5px!important}.cwbg-badge small{font-size:11px!important}.cwbg-badge strong{font-size:13px!important}.cwbg-game>footer{font-size:11px!important}
@media(max-width:600px){
  .cwbg-head p{font-size:14px!important}.cwbg-hud small{font-size:10.5px!important}.cwbg-hud b{font-size:17px!important}.cwbg-actions button{font-size:12px!important}
  .cwbg-side{min-height:0!important}.cwbg-side-title h3{font-size:24px!important}
}
