:root{--safe-top:var(--wdg-safe-top,env(safe-area-inset-top,0px));--safe-right:var(--wdg-safe-right,env(safe-area-inset-right,0px));--safe-bottom:var(--wdg-safe-bottom,env(safe-area-inset-bottom,0px));--safe-left:var(--wdg-safe-left,env(safe-area-inset-left,0px))}
.championship-banner{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:20px 0;padding:24px;border:1px solid #829caa;border-radius:20px;background:linear-gradient(120deg,#2f4c64,#4e6c7a);color:#edf5ed}.championship-banner h2{font-size:26px;line-height:1.2;margin:9px 0}.championship-banner p{font-size:13px;color:#cedddb;margin:8px 0}.championship-banner button{flex-shrink:0}.sport-menu{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.mode-grid{display:grid;gap:12px}.mode-grid button{text-align:left;padding:16px}.mode-grid b{display:block;font-size:20px}.mode-grid span{display:block;line-height:1.5;font-size:13px;margin-top:8px}.cup-grid,.mission-contracts{display:grid;grid-template-columns:1fr 1fr;gap:12px}.cup-card,.mission-contracts article{border:1px solid #7d9aa260;padding:18px;border-radius:14px;background:#28495b;margin-bottom:12px}.cup-card p{font-size:13px}.cup-card button{margin:5px}.mission-contracts progress{width:100%;accent-color:#9dceb7}.rank-hero{display:flex;gap:20px;align-items:center;padding:20px;border-radius:16px;background:#315a67}.rank-hero b{font-size:42px}.rank-list{padding:0;list-style:none}.rank-list li{display:grid;grid-template-columns:42px 1fr 30px 50px;gap:6px;align-items:center;padding:12px;border-bottom:1px solid #8facb24d}.rank-list .is-player{border:2px solid #8ecbb3;border-radius:12px;background:#355f66}.shop-tabs{display:flex;gap:8px;margin:16px 0}.shop-tabs button{flex:1}.shop-tabs [aria-pressed=true]{border-color:#addac7;background:#3d6b70}.skin canvas{width:100%;height:auto;border-radius:12px;display:block;margin-bottom:10px}.dialog .settings-row select{max-width:100%}
body:is([data-action-game=boxing],[data-action-game=tabletenis]) .dialog{width:min(680px,94vw);max-height:calc(100dvh - var(--safe-top) - var(--safe-bottom) - 20px);overscroll-behavior:contain}
body:is([data-action-game=boxing],[data-action-game=tabletenis]).no-scroll #game{height:100dvh;width:100%;max-width:none;margin:0;padding:0;gap:0;overflow:hidden;background:#29475b}
body:is([data-action-game=boxing],[data-action-game=tabletenis]).no-scroll .hud{padding:8px 12px;padding-top:max(8px,var(--safe-top));margin-left:var(--safe-left);margin-right:var(--safe-right);background:#1a3449;color:#edf4ec;min-height:62px;z-index:3}
body:is([data-action-game=boxing],[data-action-game=tabletenis]).no-scroll .hud>div{min-width:0}.hud #pause{min-width:44px;min-height:44px}.hud .mission-name{color:#d9d5ae}
body:is([data-action-game=boxing],[data-action-game=tabletenis]).no-scroll .vitals{position:relative;inset:auto;padding:6px max(16px,var(--safe-right)) 6px max(16px,var(--safe-left));background:#1b384a;color:#d5e2de;z-index:2}
body:is([data-action-game=boxing],[data-action-game=tabletenis]).no-scroll .stage{border:0;border-radius:0;min-height:80px;width:100%;flex:1}
body:is([data-action-game=boxing],[data-action-game=tabletenis]).no-scroll .brief{background:#1b384a;color:#dde7dd;font-size:11px;min-height:20px;padding:3px 10px}
body:is([data-action-game=boxing],[data-action-game=tabletenis]).no-scroll #controls{position:relative;inset:auto;width:100%;max-width:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;padding:7px max(8px,var(--safe-right)) max(8px,var(--safe-bottom)) max(8px,var(--safe-left));background:#172f43;opacity:1;z-index:3}
body[data-action-game=tabletenis].no-scroll #controls{grid-template-columns:repeat(5,minmax(0,1fr))}
body:is([data-action-game=boxing],[data-action-game=tabletenis]).no-scroll #controls button{max-width:none;min-width:0;min-height:49px;padding:5px 3px;border-radius:10px;font-size:10px;pointer-events:auto;color:#e3eee9;background:#2d5065;border-color:#7e9dab70}
body:is([data-action-game=boxing],[data-action-game=tabletenis]).no-scroll #controls button b{font-size:17px;margin-bottom:2px}
body:is([data-action-game=boxing],[data-action-game=tabletenis]).no-scroll #gameOptions.wg-floating-options{display:none!important}
@media(min-width:1000px){body:is([data-action-game=boxing],[data-action-game=tabletenis]).no-scroll #controls{grid-template-columns:repeat(8,minmax(0,1fr));padding-left:10%;padding-right:10%}body[data-action-game=tabletenis].no-scroll #controls{grid-template-columns:repeat(9,minmax(0,1fr))}.mission-contracts{grid-template-columns:repeat(3,1fr)}}
@media(max-width:600px){.championship-banner{flex-direction:column;align-items:stretch;padding:18px}.sport-menu{grid-template-columns:1fr 1fr}.cup-grid,.mission-contracts{gap:8px}.cup-card,.mission-contracts article{padding:12px}.skin{padding:10px}.dialog{padding:18px}}
@media(orientation:landscape) and (max-height:600px){body:is([data-action-game=boxing],[data-action-game=tabletenis]).no-scroll .hud{min-height:48px;padding-top:4px;padding-bottom:4px}.hud .mission-name{display:none}.hud strong{font-size:14px}body:is([data-action-game=boxing],[data-action-game=tabletenis]).no-scroll .vitals{position:absolute;top:14px;left:27%;right:90px;background:none;max-width:50%;padding:3px;pointer-events:none}body:is([data-action-game=boxing],[data-action-game=tabletenis]).no-scroll .brief{display:none}body:is([data-action-game=boxing],[data-action-game=tabletenis]).no-scroll #controls{grid-template-columns:repeat(8,minmax(0,1fr));padding-top:5px;gap:5px}body[data-action-game=tabletenis].no-scroll #controls{grid-template-columns:repeat(9,minmax(0,1fr))}}
/* Boxing: defense is a separate thumb row; attacks never auto-repeat while held. */
body[data-action-game=boxing].no-scroll #controls{grid-template-columns:repeat(15,minmax(0,1fr));touch-action:none;user-select:none;-webkit-user-select:none}
body[data-action-game=boxing].no-scroll #controls button{grid-column:span 3;position:relative;isolation:isolate;overflow:hidden;min-height:54px;touch-action:none;box-shadow:inset 0 -3px #10253655;font-weight:700}
body[data-action-game=boxing].no-scroll #controls button:is([data-action=block],[data-action=dodgeLeft],[data-action=dodgeRight]){grid-column:span 5;background:#284c65;border-color:#75abc1;color:#e8f7ff}
body[data-action-game=boxing].no-scroll #controls button:not([data-action=block]):not([data-action=dodgeLeft]):not([data-action=dodgeRight]){background:#604b35;border-color:#c2a272;color:#fff0cd}
body[data-action-game=boxing].no-scroll #controls button.active{background:#bbdabd!important;border-color:#eefde4!important;color:#162c36!important;box-shadow:inset 0 2px 5px #153a4d55;transform:translateY(1px)}
body[data-action-game=boxing].no-scroll #controls button small{display:none;font-size:9px;opacity:.8;line-height:1.25;margin-top:3px}
body[data-action-game=boxing].no-scroll #controls button:focus-visible{outline:3px solid #fff1b1;outline-offset:1px;z-index:1}
@media(pointer:fine){body[data-action-game=boxing].no-scroll #controls button small{display:block}}
@media(min-width:1000px),(orientation:landscape) and (max-height:600px){body[data-action-game=boxing].no-scroll #controls{grid-template-columns:repeat(8,minmax(0,1fr));padding-left:max(10px,var(--safe-left));padding-right:max(10px,var(--safe-right))}body[data-action-game=boxing].no-scroll #controls button,body[data-action-game=boxing].no-scroll #controls button:is([data-action=block],[data-action=dodgeLeft],[data-action=dodgeRight]){grid-column:auto}body[data-action-game=boxing].no-scroll #controls [data-action=jab]{margin-left:6px}}

/* Optional WDG cosmetic outfit. The game and arenas remain free. */
.wdg-league-cta241{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:15px 0;padding:17px 20px;border:1px solid #82bcd0;border-radius:14px;background:linear-gradient(120deg,#214c5f,#263b62);color:#eff8fa;text-decoration:none;line-height:1.45}
.wdg-league-cta241 b{font-size:14px;color:#f4efbc}.wdg-league-cta241 span{flex:1 1 220px;font-size:12px;color:#d0e7e8}.wdg-league-cta241 strong{font-size:12px;color:#f8e6b5}
.wdg-league-cta241:hover{background:#28576a;border-color:#b9e7e7}.wdg-league-cta241:focus-visible{outline:3px solid #e1efff;outline-offset:3px}
@media(max-width:620px){.wdg-league-cta241{padding:14px;gap:7px}.wdg-league-cta241 span{flex-basis:100%}}
