:root{
  --ba-bordeaux:#950226;
  --ba-teal:#007893;
  --ba-blue:#033a62;
  --ba-gold:#d1a738;
  --ba-bg:#f4f7f8;
  --ba-border:#dce5e9;
  --ba-text:#12394f;
  --ba-muted:#667c87;
  --ba-panel:#ffffff;
}

body.ba-arcade-immersive{background:#fff}
.ba-arcade{
  color:var(--ba-text);
  background:var(--ba-bg);
  border:1px solid var(--ba-border);
  border-radius:28px;
  padding:22px;
  box-sizing:border-box;
}
.ba-topbar{
  display:flex;align-items:center;justify-content:space-between;gap:18px;
  padding:12px 14px;background:#fff;border:1px solid var(--ba-border);border-radius:22px;margin-bottom:18px;
}
.ba-topbar__brand{display:inline-flex;align-items:center;gap:12px;color:var(--ba-text);text-decoration:none;font-weight:900;min-width:max-content}
.ba-topbar__brand img{width:54px;height:54px;display:block}
.ba-topbar__brand span{font-size:18px;text-transform:uppercase;letter-spacing:.02em}
.ba-topbar__nav{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:10px 22px}
.ba-topbar__nav a{color:var(--ba-text);text-decoration:none;font-weight:700;padding:8px 0}
.ba-topbar__nav a:hover,.ba-topbar__nav a:focus{color:var(--ba-bordeaux)}
.ba-topbar__actions{display:flex;align-items:center;gap:10px;margin-left:auto;flex-wrap:wrap;justify-content:flex-end}
.ba-topbar__user{color:var(--ba-muted);font-size:14px;white-space:nowrap}
.ba-topbar__logout,.ba-topbar__back{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:0 16px;border:1px solid var(--ba-border);border-radius:14px;background:#fff;color:var(--ba-text);text-decoration:none;font-weight:800}
.ba-topbar__back{border-color:#94bfd0}
.ba-hero,.ba-section,.ba-profile{background:#fff;border:1px solid var(--ba-border);border-radius:24px;padding:24px;margin-bottom:18px}
.ba-arcade__eyebrow{display:inline-block;color:var(--ba-bordeaux);font-weight:900;letter-spacing:.08em;text-transform:uppercase;font-size:12px;margin-bottom:8px}
.ba-hero h1{margin:0 0 10px;font-size:46px;line-height:.98}.ba-hero p{margin:0;max-width:720px;color:var(--ba-muted);font-size:18px}
.ba-section__head{margin-bottom:14px}.ba-section__head h2,.ba-profile h2{margin:0;font-size:22px}
.ba-game-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.ba-game-card,.ba-panel{background:var(--ba-panel);border:1px solid var(--ba-border);border-radius:20px;overflow:hidden}
.ba-game-card{display:flex;flex-direction:column;min-height:100%}
.ba-game-card__visual{position:relative;overflow:hidden;height:170px;display:grid;place-items:center;isolation:isolate}
.ba-game-card__mark{position:relative;z-index:3;color:#fff;font-size:54px;font-weight:900;letter-spacing:.02em;text-shadow:0 1px 1px rgba(0,0,0,.08)}
.ba-game-card__visual::before,.ba-game-card__visual::after{content:"";position:absolute}
.ba-game-card__visual--steel-blocks{background:linear-gradient(135deg,#0a7c98,#075a84)}
.ba-game-card__visual--steel-blocks::before{
  width:36px;height:36px;left:18px;top:18px;border-radius:4px;background:rgba(255,255,255,.86);
  box-shadow:
    40px 0 0 rgba(255,255,255,.78),
    80px 0 0 rgba(255,255,255,.22),
    0 40px 0 rgba(255,255,255,.74),
    40px 40px 0 rgba(255,255,255,.50),
    80px 40px 0 rgba(255,255,255,.28),
    0 80px 0 rgba(255,255,255,.38),
    40px 80px 0 rgba(255,255,255,.68),
    120px 20px 0 rgba(255,255,255,.15),
    120px 60px 0 rgba(255,255,255,.36);
}
.ba-game-card__visual--steel-blocks::after{right:20px;bottom:18px;width:86px;height:58px;border:4px solid rgba(255,255,255,.22);border-radius:12px;transform:rotate(8deg)}
.ba-game-card__visual--steel-break{background:linear-gradient(135deg,#041a28,#033a62)}
.ba-game-card__visual--steel-break::before{
  left:20px;top:22px;right:20px;height:62px;border-radius:10px;
  background:
    linear-gradient(rgba(255,255,255,.13),rgba(255,255,255,.13)) 0 0/100% 2px no-repeat,
    linear-gradient(rgba(255,255,255,.13),rgba(255,255,255,.13)) 0 50%/100% 2px no-repeat,
    linear-gradient(rgba(255,255,255,.13),rgba(255,255,255,.13)) 0 100%/100% 2px no-repeat,
    linear-gradient(90deg,rgba(255,255,255,.13),rgba(255,255,255,.13)) 25% 0/2px 100% no-repeat,
    linear-gradient(90deg,rgba(255,255,255,.13),rgba(255,255,255,.13)) 50% 0/2px 100% no-repeat,
    linear-gradient(90deg,rgba(255,255,255,.13),rgba(255,255,255,.13)) 75% 0/2px 100% no-repeat;
}
.ba-game-card__visual--steel-break::after{
  left:50%;bottom:22px;transform:translateX(-50%);width:126px;height:14px;border-radius:999px;background:rgba(255,255,255,.92);
  box-shadow:0 -36px 0 -5px rgba(255,255,255,.96), 16px -48px 0 -9px rgba(255,255,255,.3);
}
.ba-game-card__visual--steel-run{background:linear-gradient(135deg,#950226,#d1a738)}
.ba-game-card__visual--steel-run::before{
  left:24px;right:24px;top:20px;bottom:20px;border-radius:14px;
  background:
    linear-gradient(90deg,transparent 0 18%,rgba(255,255,255,.17) 18% 20%,transparent 20% 44%,rgba(255,255,255,.17) 44% 46%,transparent 46% 70%,rgba(255,255,255,.17) 70% 72%,transparent 72% 100%),
    linear-gradient(180deg,transparent 0 68%,rgba(255,255,255,.28) 68% 71%,transparent 71% 100%);
  transform:skewX(-12deg);
}
.ba-game-card__visual--steel-run::after{
  width:72px;height:72px;right:22px;bottom:18px;
  background:
    radial-gradient(circle at 54% 18%, rgba(255,255,255,.94) 0 6px, transparent 7px),
    linear-gradient(rgba(255,255,255,.92),rgba(255,255,255,.92)) 34px 20px/6px 24px no-repeat,
    linear-gradient(rgba(255,255,255,.92),rgba(255,255,255,.92)) 24px 36px/28px 5px no-repeat,
    linear-gradient(rgba(255,255,255,.92),rgba(255,255,255,.92)) 18px 48px/20px 5px no-repeat,
    linear-gradient(rgba(255,255,255,.92),rgba(255,255,255,.92)) 42px 48px/18px 5px no-repeat,
    linear-gradient(rgba(255,255,255,.92),rgba(255,255,255,.92)) 10px 30px/18px 5px no-repeat,
    linear-gradient(rgba(255,255,255,.92),rgba(255,255,255,.92)) 48px 30px/16px 5px no-repeat;
  opacity:.85;transform:rotate(-7deg);
}
.ba-game-card__body{padding:18px;display:flex;flex-direction:column;flex:1}.ba-game-card h3{margin:0 0 8px;font-size:22px}.ba-game-card p{margin:0 0 18px;color:var(--ba-muted);min-height:54px}.ba-game-card .ba-btn{margin-top:auto;align-self:flex-start}
.ba-panel{padding:20px}.ba-panel--full{width:100%}.ba-panel__head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:10px;flex-wrap:wrap}.ba-panel__head h2{margin:0;font-size:28px}
.ba-tabs,.ba-account-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:0}.ba-tabs button,.ba-account-tabs button{border:1px solid var(--ba-border);background:#fff;border-radius:999px;padding:10px 14px;font-weight:800;cursor:pointer}.ba-tabs button.is-active,.ba-account-tabs button.is-active{background:var(--ba-blue);border-color:var(--ba-blue);color:#fff}
.ba-leaderboard{list-style:none;margin:0;padding:0}.ba-leaderboard li{display:grid;grid-template-columns:48px 1fr auto;gap:12px;padding:13px 0;border-bottom:1px solid var(--ba-border);align-items:center}.ba-leaderboard li:last-child{border-bottom:0}.ba-leaderboard strong{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:var(--ba-bg)}.ba-leaderboard b{font-size:16px}
.ba-profile__stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:14px}.ba-profile__stats>div{background:var(--ba-bg);border-radius:14px;padding:14px}.ba-profile__stats small{display:block;color:var(--ba-muted);margin-bottom:6px}.ba-profile__stats strong{font-size:20px}
.ba-btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 18px;border:0;border-radius:12px;background:var(--ba-bordeaux);color:#fff!important;text-decoration:none!important;font-weight:800;cursor:pointer}.ba-btn--dark{background:var(--ba-blue)}.ba-btn--wide{width:100%}
.ba-modal[hidden]{display:none}.ba-modal{position:fixed;inset:0;z-index:99999;display:grid;place-items:center;padding:18px}.ba-modal__backdrop{position:absolute;inset:0;background:rgba(3,58,98,.52);backdrop-filter:blur(5px)}.ba-modal__card{position:relative;width:min(100%,430px);background:#fff;border-radius:22px;padding:24px;box-shadow:0 24px 80px rgba(0,0,0,.22)}.ba-modal__close{position:absolute;right:12px;top:12px;width:38px;height:38px;border:0;border-radius:50%;background:var(--ba-bg);font-size:24px;cursor:pointer}.ba-modal h3{margin:0 0 8px;font-size:24px;color:var(--ba-text)}.ba-modal label{display:block;font-weight:700;margin:12px 0}.ba-modal input{display:block;width:100%;min-height:48px;margin-top:6px;padding:0 12px;border:1px solid var(--ba-border);border-radius:12px;font-size:16px}.ba-modal button:disabled{opacity:.58;cursor:wait}.ba-check{display:flex!important;align-items:center;gap:9px;font-weight:400!important;margin:12px 0 16px!important}.ba-check input{display:inline-block!important;width:18px!important;height:18px!important;min-height:0!important;margin:0!important;padding:0!important}.ba-account-link{display:block;text-align:center;margin-top:12px}.ba-link-button{border:0;background:transparent;color:var(--ba-text);text-decoration:underline;cursor:pointer;font:inherit;width:100%;padding:0}.ba-form-msg{margin-top:10px;font-weight:700}.ba-form-msg:not(:empty){padding:10px 12px;border-radius:10px;background:var(--ba-bg);color:var(--ba-text)}.ba-game-embed{position:fixed;inset:0;z-index:99998;background:#fff}.ba-game-embed iframe{width:100%;height:100%;border:0;display:block}
@media(max-width:1200px){.ba-topbar{flex-wrap:wrap}.ba-topbar__nav{order:3;width:100%;justify-content:flex-start}.ba-panel__head{flex-direction:column;align-items:flex-start}}
@media(max-width:900px){.ba-game-grid{grid-template-columns:1fr 1fr}.ba-profile__stats{grid-template-columns:1fr}}
@media(max-width:700px){.ba-arcade{padding:12px;border-radius:0}.ba-topbar{padding:14px}.ba-topbar__brand{width:100%;justify-content:flex-start}.ba-topbar__actions{width:100%;justify-content:space-between}.ba-hero,.ba-section,.ba-profile{padding:18px}.ba-hero h1{font-size:36px}.ba-hero p{font-size:16px}.ba-game-grid{grid-template-columns:1fr}.ba-panel__head h2{font-size:24px}}

/* Standalone BA Arcade shell: no theme header/footer/title/breadcrumb. */
body.ba-arcade-standalone{
  margin:0!important;
  padding:0!important;
  background:#fff!important;
  overflow-x:hidden;
}
body.ba-arcade-standalone #wpadminbar + .ba-arcade-page-shell{padding-top:32px}
.ba-arcade-page-shell{
  width:min(1500px, calc(100% - 40px));
  margin:0 auto;
  padding:24px 0 40px;
  box-sizing:border-box;
}
.ba-arcade-page-shell > p:empty{display:none}
@media(max-width:782px){
  body.ba-arcade-standalone #wpadminbar + .ba-arcade-page-shell{padding-top:46px}
}
@media(max-width:700px){
  .ba-arcade-page-shell{width:100%;padding:0}
}

/* Alpha 9 - Steel Break animated card preview */
.ba-game-card__visual--steel-break{background:linear-gradient(180deg,#082f45 0%,#062536 100%)!important;min-height:190px}
.ba-game-card__visual--steel-break::before,.ba-game-card__visual--steel-break::after{display:none!important}
.ba-break-preview{position:absolute;inset:10px;border:3px solid #0b5c89;border-radius:18px;overflow:hidden;background:linear-gradient(180deg,rgba(255,255,255,.025),transparent 35%),#062536;box-shadow:inset 0 0 0 1px rgba(255,255,255,.03)}
.ba-break-preview__bricks{position:absolute;top:20px;left:20px;right:20px;display:grid;grid-template-columns:repeat(4,1fr);gap:7px}
.ba-break-preview__bricks i{display:block;height:22px;border-radius:6px;background:#058ba4;box-shadow:inset 0 1px 0 rgba(255,255,255,.15)}
.ba-break-preview__bricks i:nth-child(2),.ba-break-preview__bricks i:nth-child(5),.ba-break-preview__bricks i:nth-child(8),.ba-break-preview__bricks i:nth-child(11){background:#637f87}
.ba-break-preview__bricks i:nth-child(4),.ba-break-preview__bricks i:nth-child(9){background:#0d4e7b}
.ba-break-preview__brand{position:absolute;left:50%;top:58%;transform:translate(-50%,-50%);color:rgba(255,255,255,.17);font-size:34px;line-height:1;font-weight:900;letter-spacing:.08em}
.ba-break-preview__ball{position:absolute;left:50%;width:44px;height:44px;margin-left:-22px;border-radius:50%;background:radial-gradient(circle at 35% 28%,#fff 0 10%,#dbe6eb 23%,#9fb4bf 47%,#4d6774 74%,#173444 100%);box-shadow:0 8px 18px rgba(0,0,0,.28);animation:baBreakBounce 1.55s ease-in-out infinite alternate}
@keyframes baBreakBounce{0%{top:44%;transform:translateY(-50%) scale(1)}100%{top:82%;transform:translateY(-50%) scale(.97)}}
@media (prefers-reduced-motion:reduce){.ba-break-preview__ball{animation:none;top:65%}}

/* Alpha 10 - Steel Run animated card preview */
.ba-game-card__visual--steel-run{background:linear-gradient(180deg,#0a334b 0%,#062536 100%)!important;min-height:190px}
.ba-game-card__visual--steel-run::before,.ba-game-card__visual--steel-run::after{display:none!important}
.ba-run-preview{position:absolute;inset:10px;border:3px solid #0b5c89;border-radius:18px;overflow:hidden;background:
  linear-gradient(90deg, rgba(255,255,255,.04) 1px, transparent 1px) 0 0/22px 22px,
  linear-gradient(rgba(255,255,255,.03) 1px, transparent 1px) 0 0/22px 22px,
  linear-gradient(180deg,rgba(255,255,255,.02),transparent 28%),
  #062536;box-shadow:inset 0 0 0 1px rgba(255,255,255,.03)}
.ba-run-preview__brand{position:absolute;left:50%;top:54%;transform:translate(-50%,-50%);color:rgba(255,255,255,.12);font-size:34px;line-height:1;font-weight:900;letter-spacing:.08em;z-index:1}
.ba-run-preview__lane{position:absolute;left:28px;right:62px;height:3px;background:rgba(169,206,223,.28);border-radius:999px;z-index:1}
.ba-run-preview__lane--1{top:58%}.ba-run-preview__lane--2{top:67%}
.ba-run-preview__ground{position:absolute;left:0;right:0;bottom:34px;height:18px;background:linear-gradient(180deg,rgba(177,199,211,.28),rgba(208,223,230,.92) 38%,rgba(82,118,138,.95));box-shadow:0 -2px 0 rgba(255,255,255,.15) inset;z-index:1}
.ba-run-preview__runner{position:absolute;left:48px;bottom:22px;width:280px;height:310px;background:url('../images/steel-run-runner.png') center/contain no-repeat;z-index:2;animation:baRunHop .78s steps(2,end) infinite}
@keyframes baRunHop{0%{transform:translate(0,0)}50%{transform:translate(4px,-10px)}100%{transform:translate(0,0)}}
@media (prefers-reduced-motion:reduce){.ba-run-preview__runner{animation:none}}

/* Alpha 11 - Steel Break square preview refinement */
.ba-game-card__visual--steel-break{
  aspect-ratio:1 / 1;
  height:auto!important;
  min-height:0!important;
}
.ba-game-card__visual--steel-break .ba-break-preview__brand{
  top:auto;
  bottom:8%;
  transform:translateX(-50%);
  font-size:30px;
  color:rgba(255,255,255,.16);
}
.ba-game-card__visual--steel-break .ba-break-preview__ball{
  animation:baBreakBounceSquare 1.45s ease-in-out infinite alternate;
}
@keyframes baBreakBounceSquare{
  0%{top:40%;transform:translateY(-50%) scale(1)}
  100%{top:68%;transform:translateY(-50%) scale(.97)}
}
@media (prefers-reduced-motion:reduce){
  .ba-game-card__visual--steel-break .ba-break-preview__ball{animation:none;top:54%}
}

/* Alpha 13 - Steel Run preview aligned with Steel Break */
.ba-game-card__visual--steel-run{
  aspect-ratio:1 / 1;
  height:auto!important;
  min-height:0!important;
  background:linear-gradient(180deg,#082f46 0%,#062536 100%)!important;
}
.ba-game-card__visual--steel-run .ba-run-preview{
  position:absolute;
  inset:0;
  border:0;
  border-radius:0;
  overflow:hidden;
  background:
    linear-gradient(90deg, rgba(255,255,255,.04) 1px, transparent 1px) 0 0/22px 22px,
    linear-gradient(rgba(255,255,255,.03) 1px, transparent 1px) 0 0/22px 22px,
    linear-gradient(180deg,rgba(255,255,255,.02),transparent 28%),
    #062536;
}
.ba-game-card__visual--steel-run .ba-run-preview__brand{
  display:block!important;
  position:absolute;
  left:50%;
  top:74%;
  transform:translate(-50%,-50%);
  color:rgba(255,255,255,.14);
  font-size:34px;
  line-height:1;
  font-weight:900;
  letter-spacing:.06em;
  z-index:1;
}
.ba-game-card__visual--steel-run .ba-run-preview__lane,
.ba-game-card__visual--steel-run .ba-run-preview__ground{
  display:none!important;
}
.ba-game-card__visual--steel-run .ba-run-preview__runner{
  left:50%;
  bottom:8%;
  width:74%;
  height:74%;
  transform:translateX(-50%);
  background-image:url('../images/steel-run-runner-flat.png');
  background-position:center bottom;
  background-size:contain;
  background-repeat:no-repeat;
  animation:baRunHopFlat .85s steps(2,end) infinite;
  z-index:2;
}
@keyframes baRunHopFlat{
  0%,100%{transform:translateX(-50%) translateY(0)}
  50%{transform:translateX(-50%) translateY(-6px)}
}
@media (prefers-reduced-motion:reduce){
  .ba-game-card__visual--steel-run .ba-run-preview__runner{
    animation:none;
    transform:translateX(-50%);
  }
}


/* Alpha 14 - Steel Run clean transparent PNG */
.ba-game-card__visual--steel-run{
  aspect-ratio:1 / 1;
  height:auto!important;
  min-height:0!important;
  background:linear-gradient(180deg,#062f46 0%,#052536 100%)!important;
}
.ba-game-card__visual--steel-run .ba-run-preview{
  position:absolute;
  inset:14px;
  border:3px solid #0b78b6;
  border-radius:18px;
  overflow:hidden;
  background:
    linear-gradient(90deg, rgba(255,255,255,.035) 1px, transparent 1px) 0 0/22px 22px,
    linear-gradient(rgba(255,255,255,.025) 1px, transparent 1px) 0 0/22px 22px,
    linear-gradient(180deg,rgba(255,255,255,.02),transparent 28%),
    #052536;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.03);
}
.ba-game-card__visual--steel-run .ba-run-preview__lane,
.ba-game-card__visual--steel-run .ba-run-preview__ground{
  display:none!important;
}
.ba-game-card__visual--steel-run .ba-run-preview__brand{
  display:block!important;
  position:absolute;
  left:50%;
  top:83%;
  transform:translate(-50%,-50%);
  color:rgba(255,255,255,.16);
  font-size:34px;
  line-height:1;
  font-weight:900;
  letter-spacing:.05em;
  z-index:1;
}
.ba-game-card__visual--steel-run .ba-run-preview__runner{
  position:absolute;
  left:50%;
  top:14%;
  width:70%;
  height:58%;
  transform:translateX(-50%);
  transform-origin:center bottom;
  background-image:url('../images/steel-run-runner-transparent.png');
  background-position:center center;
  background-size:contain;
  background-repeat:no-repeat;
  z-index:2;
  animation:baRunHopClean .82s steps(2,end) infinite;
}
@keyframes baRunHopClean{
  0%,100%{transform:translateX(-50%) translateY(0)}
  50%{transform:translateX(-50%) translateY(-6px)}
}
@media (prefers-reduced-motion:reduce){
  .ba-game-card__visual--steel-run .ba-run-preview__runner{
    animation:none;
    transform:translateX(-50%);
  }
}


/* Alpha 15 - Steel Run border/BA perfectly aligned to Steel Break */
.ba-game-card__visual--steel-run .ba-run-preview{
  inset:10px;
  border:3px solid #0b5c89;
  border-radius:18px;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.03);
}
.ba-game-card__visual--steel-run .ba-run-preview__brand{
  top:auto;
  bottom:8%;
  left:50%;
  transform:translateX(-50%);
  font-size:30px;
  color:rgba(255,255,255,.16);
  letter-spacing:.08em;
}


/* Alpha 16 - Steel Blocks preview aligned to Break/Run */
.ba-game-card__visual--steel-blocks{
  aspect-ratio:1 / 1;
  height:auto!important;
  min-height:0!important;
  background:linear-gradient(180deg,#0a7c98 0%,#075a84 100%)!important;
}
.ba-game-card__visual--steel-blocks::before,.ba-game-card__visual--steel-blocks::after{display:none!important}
.ba-blocks-preview{
  position:absolute;
  inset:10px;
  border:3px solid #0b5c89;
  border-radius:18px;
  overflow:hidden;
  background:linear-gradient(180deg,rgba(255,255,255,.025),transparent 35%),linear-gradient(180deg,#0b7b96 0%,#075d87 100%);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.03);
}
.ba-blocks-preview__stack{
  position:absolute;
  left:24px; top:20px;
  width:160px;
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:7px;
}
.ba-blocks-preview__stack i{
  display:block;
  width:100%; aspect-ratio:1 / 1;
  border-radius:6px;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.15);
}
.ba-blocks-preview__stack i.c1{background:rgba(255,255,255,.78)}
.ba-blocks-preview__stack i.c2{background:rgba(255,255,255,.56)}
.ba-blocks-preview__stack i.c3{background:rgba(255,255,255,.26)}
.ba-blocks-preview__stack i:nth-child(9){visibility:hidden}
.ba-blocks-preview__piece{
  position:absolute;
  right:34px; top:126px;
  width:92px; height:68px;
  border:5px solid rgba(255,255,255,.20);
  border-radius:12px;
  transform:rotate(8deg);
  animation:baBlocksFloat 1.7s ease-in-out infinite alternate;
}
.ba-blocks-preview__piece::before,.ba-blocks-preview__piece::after{content:'';position:absolute;background:rgba(255,255,255,.14);border-radius:8px}
.ba-blocks-preview__piece::before{left:-52px;top:-28px;width:46px;height:46px}
.ba-blocks-preview__piece::after{left:-52px;top:24px;width:46px;height:46px}
.ba-blocks-preview__brand{
  position:absolute;
  left:50%;
  bottom:8%;
  transform:translateX(-50%);
  color:rgba(255,255,255,.16);
  font-size:30px;
  line-height:1;
  font-weight:900;
  letter-spacing:.08em;
}
@keyframes baBlocksFloat{
  0%{transform:translateY(0) rotate(8deg)}
  100%{transform:translateY(6px) rotate(8deg)}
}
@media (prefers-reduced-motion:reduce){.ba-blocks-preview__piece{animation:none}}


/* Alpha 17 - Steel Blocks EXACT same visual shell as Steel Break */
.ba-game-card__visual--steel-blocks{
  aspect-ratio:1 / 1;
  height:auto!important;
  min-height:0!important;
  background:linear-gradient(180deg,#082f45 0%,#062536 100%)!important;
}
.ba-game-card__visual--steel-blocks::before,
.ba-game-card__visual--steel-blocks::after{display:none!important}
.ba-game-card__visual--steel-blocks .ba-blocks-preview{
  position:absolute;
  inset:10px;
  border:3px solid #0b5c89;
  border-radius:18px;
  overflow:hidden;
  background:linear-gradient(180deg,rgba(255,255,255,.025),transparent 35%),#062536;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.03);
}
.ba-game-card__visual--steel-blocks .ba-blocks-preview__brand{
  position:absolute;
  left:50%;
  bottom:8%;
  transform:translateX(-50%);
  color:rgba(255,255,255,.16);
  font-size:30px;
  line-height:1;
  font-weight:900;
  letter-spacing:.08em;
  z-index:1;
}
.ba-blocks-preview__pile{
  position:absolute;
  left:50%;
  top:24px;
  width:74%;
  transform:translateX(-50%);
  display:grid;
  grid-template-columns:repeat(6,1fr);
  grid-auto-rows:28px;
  gap:6px;
  align-items:stretch;
}
.ba-blocks-preview__pile .b{
  display:block;
  border-radius:5px;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.16);
}
.ba-blocks-preview__pile .b1,.ba-blocks-preview__pile .b5,.ba-blocks-preview__pile .b9{background:#058ba4}
.ba-blocks-preview__pile .b2,.ba-blocks-preview__pile .b8,.ba-blocks-preview__pile .b12{background:#637f87}
.ba-blocks-preview__pile .b3,.ba-blocks-preview__pile .b7,.ba-blocks-preview__pile .b10{background:#0d4e7b}
.ba-blocks-preview__pile .b4,.ba-blocks-preview__pile .b6,.ba-blocks-preview__pile .b11{background:#d1a738}
.ba-blocks-preview__pile .b1{grid-column:1}.ba-blocks-preview__pile .b2{grid-column:2}.ba-blocks-preview__pile .b3{grid-column:4}.ba-blocks-preview__pile .b4{grid-column:5}
.ba-blocks-preview__pile .b5{grid-column:1}.ba-blocks-preview__pile .b6{grid-column:2}.ba-blocks-preview__pile .b7{grid-column:3}.ba-blocks-preview__pile .b8{grid-column:5}.ba-blocks-preview__pile .b9{grid-column:6}
.ba-blocks-preview__pile .b10{grid-column:2}.ba-blocks-preview__pile .b11{grid-column:3}.ba-blocks-preview__pile .b12{grid-column:4}
.ba-blocks-preview__falling{
  position:absolute;
  left:50%;
  top:46%;
  width:68px;
  height:68px;
  transform:translateX(-50%);
  animation:baBlocksDrop 1.55s ease-in-out infinite alternate;
  z-index:2;
}
.ba-blocks-preview__falling i{
  position:absolute;
  width:29px;
  height:29px;
  border-radius:5px;
  background:#058ba4;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.16);
}
.ba-blocks-preview__falling i:nth-child(1){left:0;top:0}
.ba-blocks-preview__falling i:nth-child(2){left:34px;top:0}
.ba-blocks-preview__falling i:nth-child(3){left:0;top:34px}
.ba-blocks-preview__falling i:nth-child(4){left:34px;top:34px}
@keyframes baBlocksDrop{
  0%{transform:translateX(-50%) translateY(-12px)}
  100%{transform:translateX(-50%) translateY(18px)}
}
@media (prefers-reduced-motion:reduce){
  .ba-blocks-preview__falling{animation:none;transform:translateX(-50%)}
}


/* Alpha 18 - Steel Blocks definitive preview: 4 separate pieces, no floating square */
.ba-blocks-preview__pile,
.ba-blocks-preview__falling{display:none!important}
.ba-blocks-preview__pieces{
  position:absolute;
  left:50%;
  top:22px;
  width:78%;
  height:64%;
  transform:translateX(-50%);
}
.ba-tet{
  position:absolute;
  display:block;
}
.ba-tet i{
  position:absolute;
  width:28px;
  height:28px;
  border-radius:5px;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.18);
}
/* O piece - top left */
.ba-tet--square{left:4%;top:2%;width:62px;height:62px}
.ba-tet--square i{background:#058ba4}
.ba-tet--square i:nth-child(1){left:0;top:0}
.ba-tet--square i:nth-child(2){left:34px;top:0}
.ba-tet--square i:nth-child(3){left:0;top:34px}
.ba-tet--square i:nth-child(4){left:34px;top:34px}
/* L piece - top right */
.ba-tet--ell{right:3%;top:3%;width:96px;height:62px}
.ba-tet--ell i{background:#637f87}
.ba-tet--ell i:nth-child(1){left:0;top:0}
.ba-tet--ell i:nth-child(2){left:0;top:34px}
.ba-tet--ell i:nth-child(3){left:34px;top:34px}
.ba-tet--ell i:nth-child(4){left:68px;top:34px}
/* T piece - middle left */
.ba-tet--tee{left:13%;top:45%;width:96px;height:62px}
.ba-tet--tee i{background:#0d4e7b}
.ba-tet--tee i:nth-child(1){left:0;top:0}
.ba-tet--tee i:nth-child(2){left:34px;top:0}
.ba-tet--tee i:nth-child(3){left:68px;top:0}
.ba-tet--tee i:nth-child(4){left:34px;top:34px}
/* 3-block piece - lower and centered */
.ba-tet--three{left:50%;top:72%;width:96px;height:28px;transform:translateX(-50%)}
.ba-tet--three i{background:#d1a738}
.ba-tet--three i:nth-child(1){left:0;top:0}
.ba-tet--three i:nth-child(2){left:34px;top:0}
.ba-tet--three i:nth-child(3){left:68px;top:0}


/* Alpha 19 - Steel Blocks pieces spacing */
.ba-game-card__visual--steel-blocks .ba-blocks-preview__piece--1{left:16%;top:10%;}
.ba-game-card__visual--steel-blocks .ba-blocks-preview__piece--2{right:13%;top:11%;}
.ba-game-card__visual--steel-blocks .ba-blocks-preview__piece--3{left:22%;top:40%;}
.ba-game-card__visual--steel-blocks .ba-blocks-preview__piece--4{left:50%;top:58%;transform:translateX(-50%);}


/* Alpha 20 - REAL spacing rules for the four Steel Blocks pieces */
.ba-game-card__visual--steel-blocks .ba-tet--square{
  left:5%;
  top:2%;
}
.ba-game-card__visual--steel-blocks .ba-tet--ell{
  right:3%;
  top:3%;
}
.ba-game-card__visual--steel-blocks .ba-tet--tee{
  left:14%;
  top:43%;
}
.ba-game-card__visual--steel-blocks .ba-tet--three{
  left:50%;
  top:84%;
  transform:translateX(-50%);
}


/* Alpha 21 - subtle Steel Blocks breathing motion */
.ba-game-card__visual--steel-blocks .ba-blocks-preview__pieces{
  animation:baBlocksBreath 2.2s ease-in-out infinite alternate;
}
@keyframes baBlocksBreath{
  0%{transform:translateX(-50%) translateY(-5px)}
  100%{transform:translateX(-50%) translateY(5px)}
}
@media (prefers-reduced-motion:reduce){
  .ba-game-card__visual--steel-blocks .ba-blocks-preview__pieces{
    animation:none;
    transform:translateX(-50%);
  }
}


/* Alpha 23 - copy & personality refresh */
.ba-topbar{padding:14px 18px;background:linear-gradient(180deg,#ffffff 0%,#fbfdfe 100%);box-shadow:0 8px 18px rgba(7,46,69,.04)}
.ba-topbar__brand img{width:72px;height:72px;display:block}
.ba-topbar__nav{gap:10px}
.ba-topbar__nav a{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:0 16px;border:1px solid var(--ba-border);border-radius:999px;background:#f8fbfc;font-weight:800;transition:.18s ease}
.ba-topbar__nav a:hover,.ba-topbar__nav a:focus{background:var(--ba-blue);border-color:var(--ba-blue);color:#fff}
.ba-topbar__actions{gap:12px}
.ba-topbar__account{display:flex;flex-direction:column;align-items:flex-end;justify-content:center;padding:8px 12px;border:1px solid var(--ba-border);border-radius:16px;background:#f8fbfc;min-height:52px}
.ba-topbar__badge{display:inline-block;color:var(--ba-bordeaux);font-size:11px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;margin-bottom:2px}
.ba-topbar__user{display:flex;flex-direction:column;align-items:flex-end;color:var(--ba-text);font-size:14px;line-height:1.1;white-space:nowrap}
.ba-topbar__user small{font-size:11px;color:var(--ba-muted);font-weight:700;margin-bottom:3px}
.ba-topbar__user strong{font-size:15px}
.ba-topbar__logout,.ba-topbar__back{min-height:46px;padding:0 18px;border-radius:14px;font-weight:900}
.ba-topbar__logout{background:#fff;border-color:#b8cdd7;color:var(--ba-blue)}
.ba-topbar__back{background:var(--ba-blue);border-color:var(--ba-blue);color:#fff;text-decoration:none}
.ba-hero{background:linear-gradient(180deg,#ffffff 0%,#f9fbfc 100%)}
.ba-hero h1{font-size:54px;letter-spacing:-.03em}
.ba-hero p{max-width:780px;font-size:20px;line-height:1.45}
.ba-hero__meta{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}
.ba-chip{display:inline-flex;align-items:center;min-height:36px;padding:0 14px;border-radius:999px;background:#f1f6f8;border:1px solid var(--ba-border);color:var(--ba-text);font-size:13px;font-weight:800}
.ba-section__head h2,.ba-profile h2{font-size:26px;letter-spacing:-.02em}
.ba-section__lead,.ba-panel__lead,.ba-profile__lead{margin:6px 0 0;color:var(--ba-muted);font-size:15px;line-height:1.45}
.ba-game-card{transition:transform .18s ease, box-shadow .18s ease;box-shadow:0 6px 18px rgba(7,46,69,.04)}
.ba-game-card:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(7,46,69,.08)}
.ba-game-card__body{padding:20px}
.ba-game-card__tag{display:inline-flex;align-items:center;min-height:28px;padding:0 10px;border-radius:999px;background:#eef5f8;border:1px solid var(--ba-border);color:var(--ba-blue);font-size:11px;font-weight:900;letter-spacing:.06em;text-transform:uppercase;margin-bottom:10px}
.ba-game-card h3{margin:0 0 10px;font-size:21px;letter-spacing:-.02em}
.ba-game-card p{margin:0 0 18px;color:var(--ba-muted);min-height:72px;line-height:1.5}
.ba-btn{min-height:46px;padding:0 20px;border-radius:14px;box-shadow:0 8px 20px rgba(149,2,38,.18)}
.ba-game-card .ba-btn::after{content:'›';font-size:18px;line-height:1;margin-left:8px}
.ba-panel{padding:20px 20px 22px}
.ba-panel__head h2{font-size:30px;letter-spacing:-.02em}
.ba-tabs button,.ba-account-tabs button{min-height:42px;padding:0 16px;font-weight:900}
.ba-profile__stats{margin-top:16px}
.ba-profile__stats>div{background:linear-gradient(180deg,#f8fbfc 0%,#f2f6f8 100%);border:1px solid var(--ba-border)}
@media(max-width:1200px){.ba-topbar__actions{width:100%;justify-content:flex-end}.ba-topbar__account{align-items:flex-start}.ba-topbar__user{align-items:flex-start}}
@media(max-width:700px){.ba-topbar__brand img{width:64px;height:64px}.ba-topbar__actions{justify-content:space-between}.ba-topbar__account{order:1;width:100%;align-items:flex-start}.ba-topbar__user{align-items:flex-start}.ba-topbar__logout,.ba-topbar__back{flex:1 1 calc(50% - 6px)}.ba-hero h1{font-size:40px}.ba-hero p{font-size:17px}}


/* Alpha 26 - white two-row navigation, based on Alpha 23 */
.ba-topbar.ba-topbar--two-row{
  display:grid!important;
  grid-template-columns:minmax(340px,1fr) auto;
  grid-template-areas:
    "brand utility"
    "nav nav";
  align-items:stretch;
  gap:14px 18px;
  padding:18px 20px;
  background:linear-gradient(180deg,#fff 0%,#fbfdfe 100%);
  border:1px solid var(--ba-border);
  border-radius:22px;
  box-shadow:0 10px 26px rgba(7,46,69,.055);
}
.ba-topbar--two-row .ba-topbar__brand{
  grid-area:brand;
  display:flex;
  align-items:center;
  justify-content:flex-start;
  gap:18px;
  min-width:0;
  padding:2px 0;
}
.ba-topbar--two-row .ba-topbar__brand img{
  width:92px;
  height:92px;
  flex:0 0 92px;
  object-fit:contain;
}
.ba-topbar__brand-copy{
  display:flex;
  flex-direction:column;
  min-width:0;
  line-height:1;
}
.ba-topbar__brand-copy small{
  margin-bottom:8px;
  color:var(--ba-bordeaux);
  font-size:12px;
  font-weight:900;
  letter-spacing:.13em;
  text-transform:uppercase;
}
.ba-topbar__brand-copy strong{
  color:var(--ba-text);
  font-size:32px;
  font-weight:950;
  letter-spacing:-.035em;
  text-transform:uppercase;
  white-space:nowrap;
}
.ba-topbar__utility{
  grid-area:utility;
  display:flex;
  align-items:stretch;
  justify-content:flex-end;
  gap:12px;
  min-width:0;
}
.ba-account-panel{
  width:330px;
  min-height:92px;
  display:grid;
  grid-template-rows:auto 1fr;
  padding:0;
  overflow:hidden;
  border:1px solid #cfdee5;
  border-radius:18px;
  background:#f7fafb;
  color:var(--ba-text);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.85);
}
.ba-account-panel__top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  min-height:34px;
  padding:7px 12px;
  border-bottom:1px solid #dce7eb;
  background:#f0f5f7;
}
.ba-account-panel__label{
  display:inline-flex;
  align-items:center;
  gap:7px;
  color:var(--ba-bordeaux);
  font-size:11px;
  font-weight:950;
  letter-spacing:.09em;
  text-transform:uppercase;
  white-space:nowrap;
}
.ba-account-panel__label svg{
  width:15px;
  height:15px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.ba-account-panel__state{
  color:var(--ba-muted);
  font-size:10px;
  font-weight:800;
  letter-spacing:.04em;
  text-transform:uppercase;
  white-space:nowrap;
}
.ba-account-panel__bottom{
  display:grid;
  grid-template-columns:42px minmax(0,1fr) auto;
  align-items:center;
  gap:10px;
  padding:9px 10px 10px 12px;
}
.ba-account-panel__avatar{
  display:grid;
  place-items:center;
  width:42px;
  height:42px;
  border-radius:50%;
  background:var(--ba-blue);
  color:#fff;
  font-size:17px;
  font-weight:950;
  box-shadow:0 5px 14px rgba(3,58,98,.18);
}
.ba-account-panel__identity{
  display:flex;
  flex-direction:column;
  min-width:0;
  line-height:1.08;
}
.ba-account-panel__identity small{
  margin-bottom:4px;
  color:var(--ba-muted);
  font-size:10px;
  font-weight:750;
  text-transform:uppercase;
  letter-spacing:.05em;
}
.ba-account-panel__identity strong{
  overflow:hidden;
  color:var(--ba-text);
  font-size:15px;
  font-weight:950;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.ba-account-panel__logout{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  min-height:36px;
  padding:0 11px;
  border:1px solid #b9ced8;
  border-radius:11px;
  background:#fff;
  color:var(--ba-blue);
  text-decoration:none;
  font-size:12px;
  font-weight:900;
  transition:.18s ease;
}
.ba-account-panel__logout svg{
  width:15px;
  height:15px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.9;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.ba-account-panel__logout:hover,
.ba-account-panel__logout:focus{
  border-color:var(--ba-blue);
  background:var(--ba-blue);
  color:#fff;
}
.ba-account-panel--guest{
  appearance:none;
  cursor:pointer;
  text-align:left;
}
.ba-account-panel__guest-copy{
  display:flex;
  align-items:center;
  padding:0 14px;
  color:var(--ba-blue);
  font-size:16px;
  font-weight:950;
}
.ba-topbar--two-row .ba-topbar__back{
  position:relative;
  width:205px;
  min-height:92px;
  display:grid;
  grid-template-columns:1fr 26px;
  grid-template-rows:auto auto;
  align-content:center;
  column-gap:10px;
  padding:14px 16px;
  border:1px solid var(--ba-blue);
  border-radius:18px;
  background:var(--ba-blue);
  color:#fff;
  text-decoration:none;
  box-shadow:0 10px 22px rgba(3,58,98,.14);
  transition:.18s ease;
}
.ba-topbar--two-row .ba-topbar__back span{
  grid-column:1;
  align-self:end;
  font-size:11px;
  font-weight:750;
  letter-spacing:.04em;
  text-transform:uppercase;
  opacity:.78;
}
.ba-topbar--two-row .ba-topbar__back strong{
  grid-column:1;
  align-self:start;
  font-size:16px;
  font-weight:950;
  line-height:1.15;
}
.ba-topbar--two-row .ba-topbar__back svg{
  grid-column:2;
  grid-row:1 / 3;
  align-self:center;
  width:24px;
  height:24px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.9;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.ba-topbar--two-row .ba-topbar__back:hover,
.ba-topbar--two-row .ba-topbar__back:focus{
  transform:translateY(-1px);
  background:#064d7f;
  box-shadow:0 13px 26px rgba(3,58,98,.2);
}
.ba-topbar--two-row .ba-topbar__nav{
  grid-area:nav;
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
  width:100%;
  margin:0;
  padding:14px 0 0;
  border-top:1px solid var(--ba-border);
}
.ba-topbar--two-row .ba-nav-item{
  appearance:none;
  min-width:0;
  min-height:66px;
  display:grid!important;
  grid-template-columns:34px minmax(0,1fr);
  align-items:center;
  gap:11px;
  padding:10px 14px!important;
  border:1px solid var(--ba-border)!important;
  border-radius:15px!important;
  background:#f8fbfc!important;
  color:var(--ba-text)!important;
  text-align:left;
  text-decoration:none;
  cursor:pointer;
  box-shadow:none!important;
  transition:.18s ease;
}
.ba-topbar--two-row .ba-nav-item img{
  width:25px;
  height:25px;
  object-fit:contain;
}
.ba-topbar--two-row .ba-nav-item > span{
  display:flex;
  flex-direction:column;
  min-width:0;
  line-height:1.12;
}
.ba-topbar--two-row .ba-nav-item strong{
  color:inherit;
  font-size:14px;
  font-weight:950;
  white-space:nowrap;
}
.ba-topbar--two-row .ba-nav-item small{
  margin-top:5px;
  overflow:hidden;
  color:var(--ba-muted);
  font-size:10px;
  font-weight:700;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.ba-topbar--two-row .ba-nav-item:hover,
.ba-topbar--two-row .ba-nav-item:focus{
  transform:translateY(-1px);
  border-color:#99bac9!important;
  background:#fff!important;
  box-shadow:0 8px 18px rgba(7,46,69,.07)!important;
}
.ba-topbar--two-row .ba-nav-item.is-active{
  border-color:var(--ba-blue)!important;
  background:var(--ba-blue)!important;
  color:#fff!important;
  box-shadow:0 9px 20px rgba(3,58,98,.16)!important;
}
.ba-topbar--two-row .ba-nav-item.is-active img{
  filter:brightness(0) invert(1);
}
.ba-topbar--two-row .ba-nav-item.is-active small{
  color:rgba(255,255,255,.68);
}
@media(max-width:1180px){
  .ba-topbar.ba-topbar--two-row{
    grid-template-columns:1fr;
    grid-template-areas:"brand" "utility" "nav";
  }
  .ba-topbar__utility{justify-content:stretch}
  .ba-account-panel{width:auto;flex:1 1 auto}
  .ba-topbar--two-row .ba-topbar__back{width:220px}
}
@media(max-width:860px){
  .ba-topbar--two-row .ba-topbar__nav{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ba-topbar__utility{display:grid;grid-template-columns:minmax(0,1fr) 210px}
  .ba-topbar--two-row .ba-topbar__back{width:auto}
}
@media(max-width:620px){
  .ba-topbar.ba-topbar--two-row{padding:14px;gap:12px}
  .ba-topbar--two-row .ba-topbar__brand img{width:74px;height:74px;flex-basis:74px}
  .ba-topbar__brand-copy strong{font-size:25px}
  .ba-topbar__utility{grid-template-columns:1fr}
  .ba-account-panel{width:100%}
  .ba-topbar--two-row .ba-topbar__nav{grid-template-columns:1fr}
  .ba-topbar--two-row .ba-nav-item small{white-space:normal}
}


/* Alpha 27 - logo visual balance */
.ba-topbar--two-row .ba-topbar__brand{
  min-height:100px;
  gap:20px;
}
.ba-topbar--two-row .ba-topbar__brand img{
  width:100px;
  height:100px;
  flex:0 0 100px;
  object-fit:contain;
}
.ba-topbar__brand-copy small{
  margin-bottom:7px;
}
.ba-topbar__brand-copy strong{
  font-size:34px;
}
.ba-account-panel,
.ba-topbar--two-row .ba-topbar__back{
  min-height:100px;
}
@media(max-width:620px){
  .ba-topbar--two-row .ba-topbar__brand{min-height:84px}
  .ba-topbar--two-row .ba-topbar__brand img{width:84px;height:84px;flex-basis:84px}
  .ba-topbar__brand-copy strong{font-size:27px}
}

/* Alpha 29 - four internal BA Arcade sections */
.ba-arcade-view{display:block}
.ba-section-hero{margin-top:18px}
.ba-section-hero h1{font-size:44px}
.ba-section-hero p{max-width:820px}

/* Institutional site return block */
.ba-topbar--two-row .ba-topbar__back.ba-topbar__back--brand{
  display:grid;
  grid-template-columns:58px minmax(0,1fr) 24px;
  align-items:center;
  gap:12px;
  min-width:270px;
  padding:14px 16px;
}
.ba-topbar__site-logo{
  width:58px;
  height:48px;
  display:grid;
  place-items:center;
  border-right:1px solid rgba(255,255,255,.22);
  padding-right:12px;
}
.ba-topbar__site-logo img{
  max-width:48px;
  max-height:40px;
  object-fit:contain;
  filter:brightness(0) invert(1);
}
.ba-topbar__site-logo b{
  color:#fff;
  font-size:24px;
  line-height:1;
  font-weight:900;
  letter-spacing:-.06em;
}
.ba-topbar__back-copy{display:flex;flex-direction:column;min-width:0}
.ba-topbar__back-copy small{color:rgba(255,255,255,.72);font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.05em}
.ba-topbar__back-copy strong{color:#fff;font-size:17px;line-height:1.1}
.ba-topbar__back-arrow{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2}

/* Weekly challenge landing */
.ba-section-hero--weekly{
  background:linear-gradient(135deg,#fff 0%,#fff 70%,#f8fbfc 100%);
}
.ba-weekly-layout{
  display:grid;
  grid-template-columns:minmax(0,1.65fr) minmax(260px,.75fr);
  gap:18px;
}
.ba-weekly-main,.ba-weekly-side{
  border:1px solid var(--ba-border);
  border-radius:20px;
  padding:26px;
  background:#fff;
}
.ba-weekly-main{position:relative;overflow:hidden;background:linear-gradient(135deg,#fff 0%,#fff 68%,#f5f9fb 100%)}
.ba-weekly-main::after{content:'';position:absolute;right:-45px;bottom:-55px;width:190px;height:190px;border:32px solid rgba(3,58,98,.035);border-radius:50%}
.ba-weekly-status{display:inline-flex;align-items:center;min-height:30px;padding:0 12px;border-radius:999px;background:#fff3f6;color:var(--ba-bordeaux);border:1px solid #f3c8d2;font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.06em;margin-bottom:16px}
.ba-weekly-main h2{margin:0 0 10px;font-size:30px;max-width:720px}
.ba-weekly-main p{margin:0;color:var(--ba-muted);font-size:16px;line-height:1.55;max-width:800px}
.ba-weekly-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}
.ba-weekly-actions span{display:inline-flex;align-items:center;min-height:38px;padding:0 13px;border:1px solid var(--ba-border);background:#f7fafb;border-radius:12px;color:var(--ba-text);font-size:13px;font-weight:800}
.ba-weekly-side{display:flex;flex-direction:column;justify-content:center;background:#f8fbfc}
.ba-weekly-side__icon{width:58px;height:58px;border-radius:16px;background:#eaf3f6;display:grid;place-items:center;margin-bottom:16px}
.ba-weekly-side__icon img{width:30px;height:30px}
.ba-weekly-side h3{margin:0 0 8px;font-size:21px}
.ba-weekly-side p{margin:0;color:var(--ba-muted);line-height:1.5}

/* Rankings page */
.ba-rankings-head{align-items:flex-start}
.ba-rankings-controls{display:flex;flex-direction:column;align-items:flex-end;gap:10px}
.ba-period-tabs{display:flex;gap:8px;flex-wrap:wrap}
.ba-period-tabs button{border:1px solid var(--ba-border);background:#fff;border-radius:999px;padding:10px 16px;font-weight:900;cursor:pointer;color:var(--ba-text)}
.ba-period-tabs button.is-active{background:var(--ba-bordeaux);border-color:var(--ba-bordeaux);color:#fff}
.ba-rankings-panel .ba-tabs{justify-content:flex-end}

/* Player page */
.ba-player-page{padding:24px}
.ba-player-summary{display:flex;align-items:center;gap:18px;padding-bottom:22px;border-bottom:1px solid var(--ba-border)}
.ba-player-summary__avatar{display:grid;place-items:center;width:76px;height:76px;border-radius:50%;background:var(--ba-blue);color:#fff;font-size:30px;font-weight:900;flex:0 0 76px}
.ba-player-summary h2{margin:2px 0 4px;font-size:30px}
.ba-player-summary p{margin:0;color:var(--ba-muted)}
.ba-player-settings-preview{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:18px}
.ba-player-settings-preview>div{border:1px solid var(--ba-border);border-radius:16px;padding:16px;background:#f8fbfc}
.ba-player-settings-preview strong{display:block;color:var(--ba-text);margin-bottom:5px}
.ba-player-settings-preview small{display:block;color:var(--ba-muted);line-height:1.4}
.ba-player-login-card{max-width:720px;margin:0 auto;text-align:center;padding:40px 24px;border:1px solid var(--ba-border);border-radius:20px;background:#f8fbfc}
.ba-player-login-card h2{margin:0 0 8px;font-size:28px}
.ba-player-login-card p{margin:0 auto 20px;color:var(--ba-muted);max-width:560px}

@media(max-width:1180px){
  .ba-weekly-layout{grid-template-columns:1fr}
  .ba-rankings-controls{align-items:flex-start}
  .ba-rankings-panel .ba-tabs{justify-content:flex-start}
  .ba-topbar--two-row .ba-topbar__back.ba-topbar__back--brand{min-width:0}
}
@media(max-width:900px){
  .ba-player-settings-preview{grid-template-columns:1fr}
}
@media(max-width:700px){
  .ba-section-hero h1{font-size:34px}
  .ba-weekly-main,.ba-weekly-side{padding:19px}
  .ba-weekly-main h2{font-size:24px}
  .ba-topbar--two-row .ba-topbar__back.ba-topbar__back--brand{grid-template-columns:46px minmax(0,1fr) 20px;width:100%}
  .ba-topbar__site-logo{width:46px;height:42px}
  .ba-topbar__site-logo img{max-width:38px;max-height:34px}
}

/* Alpha 30 - institutional return block: large logo in the free right area */
.ba-topbar--two-row .ba-topbar__back.ba-topbar__back--brand{
  position:relative;
  display:grid;
  grid-template-columns:minmax(0,1fr) 24px 118px;
  grid-template-areas:"copy arrow logo";
  align-items:center;
  gap:10px;
  min-width:290px;
  padding:14px 14px 14px 20px;
  overflow:hidden;
}
.ba-topbar--two-row .ba-topbar__back--brand .ba-topbar__back-copy{
  grid-area:copy;
  align-self:center;
  z-index:2;
}
.ba-topbar--two-row .ba-topbar__back--brand .ba-topbar__back-arrow{
  grid-area:arrow;
  z-index:2;
}
.ba-topbar--two-row .ba-topbar__back--brand .ba-topbar__site-logo{
  grid-area:logo;
  width:112px;
  height:82px;
  padding:0;
  border:0;
  place-items:center;
  opacity:.98;
}
.ba-topbar--two-row .ba-topbar__back--brand .ba-topbar__site-logo img{
  width:100%;
  height:100%;
  max-width:112px;
  max-height:82px;
  object-fit:contain;
  filter:brightness(0) invert(1);
}
.ba-topbar--two-row .ba-topbar__back--brand .ba-topbar__site-logo b{
  font-size:48px;
}
@media(max-width:620px){
  .ba-topbar--two-row .ba-topbar__back.ba-topbar__back--brand{
    grid-template-columns:minmax(0,1fr) 20px 82px;
    grid-template-areas:"copy arrow logo";
    padding-left:16px;
  }
  .ba-topbar--two-row .ba-topbar__back--brand .ba-topbar__site-logo{
    width:78px;
    height:58px;
  }
  .ba-topbar--two-row .ba-topbar__back--brand .ba-topbar__site-logo img{
    max-width:78px;
    max-height:58px;
  }
}


/* Alpha 32 - Giochi Arcade hero image */
.ba-section-hero--graphic{
  padding:0;
  overflow:hidden;
  background:#07192a;
  border-color:#cfdbe1;
}
.ba-section-hero--graphic .ba-hero-graphic{
  display:block;
  width:100%;
  height:auto;
  aspect-ratio:2138 / 681;
  object-fit:cover;
  object-position:center;
}
@media(max-width:900px){
  .ba-section-hero--graphic .ba-hero-graphic{
    aspect-ratio:3 / 2;
    min-height:280px;
  }
}
@media(max-width:700px){
  .ba-section-hero--graphic{
    border-radius:22px;
  }
  .ba-section-hero--graphic .ba-hero-graphic{
    aspect-ratio:4 / 5;
    min-height:340px;
    object-position:34% center;
  }
}


/* Alpha 33 - remove outer hero panel */
.ba-hero.ba-section-hero.ba-section-hero--graphic{
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  padding:0!important;
  border-radius:0!important;
  overflow:visible!important;
}
.ba-hero.ba-section-hero.ba-section-hero--graphic .ba-hero-graphic{
  display:block;
  width:100%;
  height:auto;
  border-radius:24px;
  overflow:hidden;
}
@media(max-width:700px){
  .ba-hero.ba-section-hero.ba-section-hero--graphic .ba-hero-graphic{
    border-radius:18px;
  }
}


/* Alpha 35 - Premium redesign for Games section */
.ba-section--games-premium{
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(circle at 18% 0%, rgba(255,34,92,.12), transparent 32%),
    radial-gradient(circle at 82% 0%, rgba(42,195,255,.12), transparent 36%),
    linear-gradient(135deg,#040c18 0%,#071829 60%,#09131d 100%);
  border:1px solid #0f3455;
  box-shadow:inset 0 0 0 1px rgba(77,169,227,.08);
  color:#fff;
}
.ba-section--games-premium::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg, rgba(255,255,255,.035) 1px, transparent 1px) 0 0/26px 26px,
    linear-gradient(rgba(255,255,255,.025) 1px, transparent 1px) 0 0/26px 26px;
  opacity:.45;
  pointer-events:none;
}
.ba-section--games-premium > *{position:relative;z-index:1}
.ba-section__head--games-premium{
  display:flex;
  align-items:flex-start;
  gap:14px;
  margin-bottom:20px;
}
.ba-games-heading-icon{
  width:44px;
  height:44px;
  display:grid;
  place-items:center;
  border-radius:14px;
  background:linear-gradient(180deg,rgba(255,46,98,.18),rgba(23,41,72,.18));
  border:1px solid rgba(255,46,98,.45);
  box-shadow:0 0 0 1px rgba(255,255,255,.04) inset;
  font-size:22px;
}
.ba-section--games-premium .ba-section__head h2{
  color:#fff;
  margin:0 0 4px;
  font-size:22px;
}
.ba-section--games-premium .ba-section__lead,
.ba-section--games-premium .ba-section__head p{
  margin:0;
  color:rgba(230,243,255,.72);
}
.ba-game-grid--premium{
  gap:18px;
  align-items:stretch;
}
.ba-game-card--premium{
  background:linear-gradient(180deg,rgba(6,20,36,.98),rgba(8,16,28,.96));
  border:1px solid rgba(61,121,171,.55);
  border-radius:22px;
  box-shadow:0 18px 36px rgba(0,0,0,.28), inset 0 0 0 1px rgba(255,255,255,.03);
  overflow:hidden;
}
.ba-game-card--premium .ba-game-card__visual{
  margin:12px 12px 0;
  border-radius:18px;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.03);
}
.ba-game-card--premium .ba-game-card__body{
  padding:14px 16px 18px;
}
.ba-game-card__body--premium h3{
  color:#fff;
  margin:0 0 8px;
  font-size:19px;
}
.ba-game-card__body--premium p{
  color:rgba(229,239,247,.84);
  font-size:15px;
  line-height:1.45;
  min-height:66px;
  margin:0 0 16px;
}
.ba-game-card__tag{
  display:inline-flex;
  align-items:center;
  padding:5px 10px;
  border-radius:999px;
  margin-bottom:10px;
  font-size:11px;
  line-height:1;
  text-transform:uppercase;
  letter-spacing:.08em;
  font-weight:900;
  color:#fff;
}
.ba-game-card__tag--steel-blocks{background:linear-gradient(90deg,#ff2b62,#c70f4e)}
.ba-game-card__tag--steel-break{background:linear-gradient(90deg,#2689ff,#1267d5)}
.ba-game-card__tag--steel-run{background:linear-gradient(90deg,#8b4dff,#632be6)}
.ba-btn--game{
  border-radius:12px;
  min-height:46px;
  padding:0 16px;
  gap:8px;
  box-shadow:0 10px 20px rgba(0,0,0,.22);
}
.ba-btn--game span{font-size:20px;line-height:1}
.ba-btn--steel-blocks{background:linear-gradient(90deg,#cf0a45,#f22d68)!important}
.ba-btn--steel-break{background:linear-gradient(90deg,#1d63ce,#2a97ff)!important}
.ba-btn--steel-run{background:linear-gradient(90deg,#5830d4,#8f4bff)!important}
.ba-game-card--steel-blocks{border-color:rgba(245,43,98,.42)}
.ba-game-card--steel-break{border-color:rgba(42,151,255,.42)}
.ba-game-card--steel-run{border-color:rgba(143,75,255,.42)}
.ba-game-card--steel-blocks .ba-game-card__visual{box-shadow:0 0 0 1px rgba(242,45,104,.28)}
.ba-game-card--steel-break .ba-game-card__visual{box-shadow:0 0 0 1px rgba(42,151,255,.28)}
.ba-game-card--steel-run .ba-game-card__visual{box-shadow:0 0 0 1px rgba(143,75,255,.28)}
.ba-games-benefits{
  margin-top:22px;
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  border:1px solid rgba(241,47,106,.28);
  border-radius:20px;
  overflow:hidden;
  background:linear-gradient(180deg,rgba(21,7,22,.9),rgba(10,12,24,.92));
  box-shadow:0 12px 26px rgba(0,0,0,.24), inset 0 0 0 1px rgba(255,255,255,.02);
}
.ba-games-benefit{
  padding:18px 12px;
  text-align:center;
  border-right:1px solid rgba(255,255,255,.08);
}
.ba-games-benefit:last-child{border-right:0}
.ba-games-benefit strong{
  display:block;
  margin-bottom:6px;
  color:#ff365f;
  font-size:15px;
  text-transform:uppercase;
  letter-spacing:.06em;
}
.ba-games-benefit span{
  display:block;
  color:#fff;
  font-weight:800;
  line-height:1.25;
}
.ba-section--games-premium .ba-game-card__visual--steel-blocks,
.ba-section--games-premium .ba-game-card__visual--steel-break,
.ba-section--games-premium .ba-game-card__visual--steel-run{
  background:linear-gradient(180deg,#082f46 0%,#062536 100%)!important;
}
@media(max-width:900px){
  .ba-games-benefits{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ba-games-benefit:nth-child(2){border-right:0}
  .ba-games-benefit:nth-child(-n+2){border-bottom:1px solid rgba(255,255,255,.08)}
}
@media(max-width:700px){
  .ba-section__head--games-premium{align-items:center}
  .ba-games-heading-icon{width:40px;height:40px;border-radius:12px}
  .ba-games-benefits{grid-template-columns:1fr}
  .ba-games-benefit{border-right:0;border-bottom:1px solid rgba(255,255,255,.08)}
  .ba-games-benefit:last-child{border-bottom:0}
}


/* Alpha 36 - light games section, improved copy hierarchy */
.ba-section--games-premium{
  background:linear-gradient(180deg,#ffffff 0%,#f7fafc 100%)!important;
  border:1px solid var(--ba-border)!important;
  box-shadow:0 10px 28px rgba(7,46,69,.05)!important;
  color:var(--ba-text)!important;
}
.ba-section--games-premium::before{
  background:
    radial-gradient(circle at 12% 0%, rgba(149,2,38,.06), transparent 26%),
    radial-gradient(circle at 88% 0%, rgba(0,120,147,.08), transparent 30%);
  opacity:1!important;
}
.ba-section__head--games-premium{
  margin-bottom:18px;
  align-items:center;
}
.ba-games-heading-icon{
  background:linear-gradient(180deg,#fff 0%,#f2f6f8 100%)!important;
  border:1px solid #d7e3e8!important;
  box-shadow:0 6px 18px rgba(7,46,69,.06)!important;
}
.ba-section--games-premium .ba-section__head h2{
  color:var(--ba-text)!important;
  font-size:30px!important;
  letter-spacing:-.02em;
}
.ba-section--games-premium .ba-section__lead,
.ba-section--games-premium .ba-section__head p{
  color:var(--ba-muted)!important;
  font-size:15px;
  line-height:1.5;
}
.ba-game-grid--premium{gap:20px!important;}
.ba-game-card--premium{
  background:#fff!important;
  border:1px solid #dce5e9!important;
  box-shadow:0 8px 22px rgba(7,46,69,.06)!important;
}
.ba-game-card--premium:hover{
  transform:translateY(-3px);
  box-shadow:0 16px 32px rgba(7,46,69,.11)!important;
}
.ba-game-card--premium .ba-game-card__body{
  padding:16px 18px 20px!important;
}
.ba-game-card__body--premium h3{
  color:var(--ba-text)!important;
  font-size:31px;
  margin:0 0 10px;
}
.ba-game-card__body--premium p{
  color:var(--ba-muted)!important;
  font-size:18px!important;
  line-height:1.62!important;
  min-height:96px!important;
  margin:0 0 18px!important;
}
.ba-game-card__tag{
  color:#fff!important;
  box-shadow:none!important;
}
.ba-game-card__tag--steel-blocks{background:linear-gradient(90deg,#c20d41,#ef3a68)!important;}
.ba-game-card__tag--steel-break{background:linear-gradient(90deg,#0e6ad7,#29a1ff)!important;}
.ba-game-card__tag--steel-run{background:linear-gradient(90deg,#6a3ce2,#9356ff)!important;}
.ba-btn--game{
  min-height:48px!important;
  padding:0 18px!important;
  border-radius:14px!important;
  background:linear-gradient(90deg,#950226,#b81039)!important;
  box-shadow:0 10px 24px rgba(149,2,38,.18)!important;
}
.ba-btn--steel-break,.ba-btn--steel-run,.ba-btn--steel-blocks{background:linear-gradient(90deg,#950226,#b81039)!important;}
.ba-games-benefits{
  margin-top:20px!important;
  background:linear-gradient(180deg,#ffffff 0%,#f7fafc 100%)!important;
  border:1px solid #dce5e9!important;
  box-shadow:0 8px 22px rgba(7,46,69,.05)!important;
}
.ba-games-benefit{border-right:1px solid #e7eef2!important;}
.ba-games-benefit:nth-child(1) strong{color:#c51445!important;}
.ba-games-benefit:nth-child(2) strong{color:#0f6edc!important;}
.ba-games-benefit:nth-child(3) strong{color:#007893!important;}
.ba-games-benefit:nth-child(4) strong{color:#7a47ef!important;}
.ba-games-benefit span{color:var(--ba-text)!important;}
.ba-games-benefit strong{margin-bottom:7px;}
@media(max-width:700px){
  .ba-section--games-premium .ba-section__head h2{font-size:26px!important;}
  .ba-game-card__body--premium h3{font-size:28px!important;}
}


/* Alpha 37 - larger, clearer Games section intro */
.ba-section--games-premium .ba-section__lead,
.ba-section--games-premium .ba-section__head p{
  font-size:19px!important;
  line-height:1.45!important;
  color:#506a78!important;
  font-weight:500;
  max-width:1050px;
}
@media(max-width:700px){
  .ba-section--games-premium .ba-section__lead,
  .ba-section--games-premium .ba-section__head p{font-size:17px!important;}
}

@media(max-width:700px){
  .ba-game-card__body--premium p{font-size:16px!important;line-height:1.58!important;min-height:auto!important;}
}


/* Alpha 39 - unified centered CTA buttons */
.ba-btn--game{
  width:100%!important;
  justify-content:center!important;
  text-align:center!important;
  font-size:17px!important;
  font-weight:900!important;
  letter-spacing:-.01em;
  gap:0!important;
}
.ba-btn--game span{display:none!important;}
@media(max-width:700px){
  .ba-btn--game{font-size:16px!important;}
}


/* Alpha 41 - approved arcade branding lockup */
.ba-topbar--two-row .ba-topbar__brand{
  position:relative;
  min-height:126px;
  gap:24px;
  padding:10px 22px 10px 16px;
  border:1px solid #cfe0e8;
  border-radius:20px;
  background:
    radial-gradient(circle at 5% 92%,rgba(149,2,38,.07),transparent 28%),
    radial-gradient(circle at 96% 8%,rgba(0,120,147,.08),transparent 30%),
    linear-gradient(180deg,#fff 0%,#fbfdfe 100%);
  box-shadow:0 8px 22px rgba(7,46,69,.05), inset 3px 0 0 rgba(149,2,38,.08), inset -3px 0 0 rgba(0,120,147,.08);
  overflow:hidden;
}
.ba-topbar--two-row .ba-topbar__brand::before,
.ba-topbar--two-row .ba-topbar__brand::after{
  content:"";
  position:absolute;
  width:74px;
  height:3px;
  border-radius:999px;
  bottom:6px;
}
.ba-topbar--two-row .ba-topbar__brand::before{left:18px;background:linear-gradient(90deg,#ef3869,transparent)}
.ba-topbar--two-row .ba-topbar__brand::after{right:18px;background:linear-gradient(90deg,transparent,#28b7eb)}
.ba-topbar--two-row .ba-topbar__brand > .ba-topbar__brand-logo{
  width:124px;
  height:124px;
  flex:0 0 124px;
  object-fit:contain;
  filter:drop-shadow(0 7px 10px rgba(3,58,98,.12));
}
.ba-topbar__brand-lockup{
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  min-width:0;
  width:min(100%,520px);
  line-height:1;
}
.ba-topbar__brand-title{
  color:#063754;
  font-size:44px;
  font-weight:950;
  line-height:.95;
  letter-spacing:-.04em;
  text-transform:uppercase;
  white-space:nowrap;
}
.ba-topbar__brand-company{
  display:grid;
  grid-template-columns:minmax(24px,60px) auto 28px auto minmax(24px,60px);
  align-items:center;
  justify-content:center;
  gap:9px;
  width:100%;
  margin-top:9px;
  color:var(--ba-bordeaux);
  font-size:13px;
  font-weight:950;
  letter-spacing:.13em;
}
.ba-topbar__brand-company i{
  display:block;
  height:1px;
  background:linear-gradient(90deg,transparent,#c81948);
}
.ba-topbar__brand-company i:last-child{background:linear-gradient(90deg,#c81948,transparent)}
.ba-topbar__brand-company .ba-brand-joystick{
  width:28px!important;
  height:28px!important;
  min-width:28px;
  flex:0 0 28px!important;
  object-fit:contain;
}
.ba-topbar__brand-tagline{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  min-height:30px;
  margin-top:7px;
  padding:0 18px;
  border:1px solid #b9d3e1;
  border-radius:999px;
  background:rgba(255,255,255,.82);
  color:#12618d;
  font-size:11px;
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
  box-shadow:inset 0 1px 0 #fff;
}
.ba-topbar__brand-tagline em{font-style:normal;color:#97aab4;font-size:9px}
.ba-topbar__utility{align-self:stretch}
.ba-topbar__utility .ba-account-panel,
.ba-topbar__utility .ba-topbar__back{height:100%}

/* Joystick icon in approved positions */
.ba-games-heading-icon img{
  width:30px;
  height:30px;
  display:block;
  object-fit:contain;
}
.ba-topbar--two-row .ba-nav-item[href*="ba_section=player"] img{
  width:31px;
  height:31px;
}
.ba-topbar--two-row .ba-nav-item.is-active[href*="ba_section=player"] img{
  filter:none;
}

@media(max-width:1180px){
  .ba-topbar--two-row .ba-topbar__brand{min-height:122px}
  .ba-topbar--two-row .ba-topbar__brand > .ba-topbar__brand-logo{width:112px;height:112px;flex-basis:112px}
  .ba-topbar__brand-title{font-size:40px}
}
@media(max-width:700px){
  .ba-topbar--two-row .ba-topbar__brand{
    min-height:104px;
    gap:12px;
    padding:10px 12px;
  }
  .ba-topbar--two-row .ba-topbar__brand > .ba-topbar__brand-logo{width:88px;height:88px;flex-basis:88px}
  .ba-topbar__brand-title{font-size:28px}
  .ba-topbar__brand-company{grid-template-columns:16px auto 22px auto 16px;gap:5px;font-size:9px;letter-spacing:.08em}
  .ba-topbar__brand-company .ba-brand-joystick{width:22px!important;height:22px!important;min-width:22px;flex-basis:22px!important}
  .ba-topbar__brand-tagline{min-height:25px;margin-top:5px;padding:0 10px;gap:6px;font-size:8px;letter-spacing:.08em}
}

/* Alpha 42 - richer benefits strip + static brand lockup */
.ba-games-benefits{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:18px!important;
  padding:18px!important;
  margin-top:22px!important;
  border:1px solid #dce5e9!important;
  border-radius:22px!important;
  background:linear-gradient(180deg,#ffffff 0%,#f8fbfc 100%)!important;
  box-shadow:0 10px 28px rgba(7,46,69,.055)!important;
  overflow:visible!important;
}
.ba-games-benefit{
  position:relative;
  min-height:174px;
  display:flex!important;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:7px;
  padding:18px 14px 20px!important;
  border:1px solid #dce5e9!important;
  border-radius:18px!important;
  background:#fff!important;
  text-align:center;
  box-shadow:0 8px 20px rgba(7,46,69,.045)!important;
  overflow:hidden;
}
.ba-games-benefit::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  height:4px;
  background:var(--benefit-accent);
}
.ba-games-benefit--improve{--benefit-accent:#e52257;--benefit-glow:rgba(229,34,87,.15)}
.ba-games-benefit--rank{--benefit-accent:#1979ed;--benefit-glow:rgba(25,121,237,.14)}
.ba-games-benefit--play{--benefit-accent:#008da2;--benefit-glow:rgba(0,141,162,.14)}
.ba-games-benefit--challenges{--benefit-accent:#7c43e7;--benefit-glow:rgba(124,67,231,.14)}
.ba-games-benefit__icon{
  width:66px;
  height:66px;
  display:grid;
  place-items:center;
  margin-bottom:5px;
  border-radius:20px;
  background:#fff;
  box-shadow:0 0 0 1px #e0e9ed,0 8px 22px var(--benefit-glow);
}
.ba-games-benefit__icon img{
  display:block;
  width:52px;
  height:52px;
  object-fit:contain;
}
.ba-games-benefit--play .ba-games-benefit__icon img{
  width:50px;
  height:50px;
}
.ba-games-benefit strong{
  display:block;
  margin:0!important;
  color:var(--benefit-accent)!important;
  font-size:17px!important;
  font-weight:950!important;
  line-height:1.05;
  letter-spacing:.06em!important;
  text-transform:uppercase;
}
.ba-games-benefit > span:not(.ba-games-benefit__icon){
  display:block;
  color:#12394f!important;
  font-size:16px!important;
  font-weight:850!important;
  line-height:1.25;
}

/* Brand is a link but must look completely static */
.ba-topbar--two-row .ba-topbar__brand,
.ba-topbar--two-row .ba-topbar__brand:link,
.ba-topbar--two-row .ba-topbar__brand:visited,
.ba-topbar--two-row .ba-topbar__brand:hover,
.ba-topbar--two-row .ba-topbar__brand:focus,
.ba-topbar--two-row .ba-topbar__brand:active{
  color:var(--ba-text)!important;
  text-decoration:none!important;
  transform:none!important;
  outline:none;
}
.ba-topbar--two-row .ba-topbar__brand:hover *,
.ba-topbar--two-row .ba-topbar__brand:focus *,
.ba-topbar--two-row .ba-topbar__brand:active *{
  text-decoration:none!important;
}
.ba-topbar--two-row .ba-topbar__brand-title,
.ba-topbar--two-row .ba-topbar__brand-company,
.ba-topbar--two-row .ba-topbar__brand-company b,
.ba-topbar--two-row .ba-topbar__brand-tagline{
  text-decoration:none!important;
  border-bottom:0!important;
}

@media(max-width:980px){
  .ba-games-benefits{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
}
@media(max-width:620px){
  .ba-games-benefits{grid-template-columns:1fr!important;gap:12px!important;padding:12px!important;}
  .ba-games-benefit{min-height:150px;}
}


/* Alpha 43 - clean benefits cards: no outer panel, no icon frames */
.ba-games-benefits{
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:20px!important;
  padding:0!important;
  margin-top:22px!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  overflow:visible!important;
}
.ba-games-benefit{
  min-height:196px!important;
  padding:20px 18px 22px!important;
  border:1px solid #dce5e9!important;
  border-radius:18px!important;
  background:#fff!important;
  box-shadow:0 9px 22px rgba(7,46,69,.055)!important;
  overflow:hidden;
}
.ba-games-benefit__icon{
  width:76px!important;
  height:76px!important;
  margin:0 0 9px!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
.ba-games-benefit__icon img,
.ba-games-benefit--play .ba-games-benefit__icon img{
  width:68px!important;
  height:68px!important;
  object-fit:contain!important;
}
.ba-games-benefit strong{
  font-size:19px!important;
  line-height:1.08!important;
}
.ba-games-benefit > span:not(.ba-games-benefit__icon){
  font-size:17px!important;
  line-height:1.3!important;
}
@media(max-width:980px){
  .ba-games-benefits{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
}
@media(max-width:620px){
  .ba-games-benefits{grid-template-columns:1fr!important;gap:12px!important;padding:0!important;}
  .ba-games-benefit{min-height:168px!important;}
}


/* Alpha 44 - mobile step 1: simplified brand + square games hero */
@media(max-width:700px){
  /* Mobile brand: the BA Arcade shield becomes the only protagonist. */
  .ba-topbar--two-row .ba-topbar__brand{
    min-height:178px!important;
    padding:14px 16px!important;
    gap:0!important;
    justify-content:center!important;
    align-items:center!important;
  }
  .ba-topbar--two-row .ba-topbar__brand > .ba-topbar__brand-logo{
    width:150px!important;
    height:150px!important;
    flex:0 0 150px!important;
    margin:0 auto!important;
  }
  .ba-topbar__brand-lockup{display:none!important;}
  .ba-topbar--two-row .ba-topbar__brand::before,
  .ba-topbar--two-row .ba-topbar__brand::after{
    width:66px!important;
    bottom:7px!important;
  }

  /* Mobile Games hero: dedicated square crop, no compressed desktop banner. */
  .ba-hero.ba-section-hero.ba-section-hero--graphic{
    position:relative!important;
    display:block!important;
    aspect-ratio:1 / 1!important;
    min-height:0!important;
    width:100%!important;
    overflow:hidden!important;
    border-radius:22px!important;
    background-image:url('../images/games-hero-neon.png')!important;
    background-size:auto 100%!important;
    background-position:72% center!important;
    background-repeat:no-repeat!important;
    background-color:#04101f!important;
    box-shadow:0 10px 28px rgba(3,58,98,.13)!important;
  }
  .ba-hero.ba-section-hero.ba-section-hero--graphic .ba-hero-graphic{
    display:none!important;
  }
  .ba-hero.ba-section-hero.ba-section-hero--graphic::before{
    content:"";
    position:absolute;
    inset:0;
    z-index:1;
    background:linear-gradient(180deg,rgba(1,10,22,.02) 48%,rgba(1,9,21,.82) 100%);
    pointer-events:none;
  }
  .ba-hero.ba-section-hero.ba-section-hero--graphic::after{
    content:"Giochi Arcade";
    position:absolute;
    left:22px;
    right:22px;
    bottom:20px;
    z-index:2;
    color:#fff;
    font-size:34px;
    line-height:.96;
    font-weight:950;
    letter-spacing:-.04em;
    text-shadow:0 3px 12px rgba(0,0,0,.45);
    pointer-events:none;
  }
}
@media(max-width:390px){
  .ba-topbar--two-row .ba-topbar__brand{min-height:164px!important;}
  .ba-topbar--two-row .ba-topbar__brand > .ba-topbar__brand-logo{
    width:136px!important;height:136px!important;flex-basis:136px!important;
  }
  .ba-hero.ba-section-hero.ba-section-hero--graphic::after{font-size:30px;}
}


/* Alpha 45 - mobile play separator */
.ba-mobile-play-separator{display:none;}
@media(max-width:700px){
  .ba-topbar--two-row .ba-topbar__nav{
    border-top:0!important;
    padding-top:0!important;
  }
  .ba-mobile-play-separator{
    grid-column:1 / -1;
    display:grid;
    grid-template-columns:minmax(34px,1fr) auto minmax(34px,1fr);
    align-items:center;
    gap:13px;
    width:100%;
    box-sizing:border-box;
    margin:10px 0 6px;
    padding:24px 0 26px;
  }
  .ba-mobile-play-separator__line{
    position:relative;
    display:block;
    height:2px;
  }
  .ba-mobile-play-separator__line::after{
    content:"";
    position:absolute;
    top:-1px;
    width:18px;
    height:6px;
    border-top:2px solid currentColor;
  }
  .ba-mobile-play-separator__line--left{
    color:#d81b49;
    background:linear-gradient(90deg,#d81b49 0%,#d81b49 76%,transparent 76%);
  }
  .ba-mobile-play-separator__line--left::after{
    right:3px;
    transform:skewX(-42deg);
    border-left:2px solid currentColor;
  }
  .ba-mobile-play-separator__line--right{
    color:#1478d4;
    background:linear-gradient(90deg,transparent 0%,transparent 24%,#1478d4 24%,#1478d4 100%);
  }
  .ba-mobile-play-separator__line--right::after{
    left:3px;
    transform:skewX(42deg);
    border-right:2px solid currentColor;
  }
  .ba-mobile-play-separator__center{
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:8px;
    min-width:142px;
  }
  .ba-mobile-play-separator__center img{
    display:block;
    width:44px!important;
    height:44px!important;
    object-fit:contain!important;
    filter:none!important;
  }
  .ba-mobile-play-separator__center strong{
    display:block;
    margin:0;
    color:#12639a;
    font-size:17px;
    line-height:1;
    font-weight:900;
    letter-spacing:.12em;
    text-transform:uppercase;
    white-space:nowrap;
  }
  .ba-mobile-play-separator__center strong span{color:#c51d45;}
}
@media(max-width:390px){
  .ba-mobile-play-separator{
    gap:10px;
    padding:22px 0 24px;
  }
  .ba-mobile-play-separator__center{min-width:132px;}
  .ba-mobile-play-separator__center img{width:42px!important;height:42px!important;}
  .ba-mobile-play-separator__center strong{font-size:16px;letter-spacing:.10em;}
}


/* Alpha 46 - mobile clean separator + compact 2x2 benefits */
@media(max-width:700px){
  .ba-mobile-play-separator{
    grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)!important;
    gap:14px!important;
    margin:12px 0 8px!important;
    padding:26px 0 28px!important;
  }
  .ba-mobile-play-separator__line{
    height:2px!important;
    border:0!important;
    border-radius:999px!important;
    opacity:.92;
  }
  .ba-mobile-play-separator__line::after{display:none!important;content:none!important;}
  .ba-mobile-play-separator__line--left{
    background:linear-gradient(90deg,rgba(216,27,73,.18) 0%,#d81b49 100%)!important;
  }
  .ba-mobile-play-separator__line--right{
    background:linear-gradient(90deg,#1478d4 0%,rgba(20,120,212,.18) 100%)!important;
  }
  .ba-mobile-play-separator__center{
    min-width:146px!important;
    gap:8px!important;
  }
  .ba-mobile-play-separator__center img{
    width:44px!important;
    height:44px!important;
  }
  .ba-mobile-play-separator__center strong{
    font-size:17px!important;
    letter-spacing:.10em!important;
  }

  /* Four benefit cards: two columns on phones, compact and readable. */
  .ba-games-benefits{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:12px!important;
    padding:0!important;
    margin-top:18px!important;
  }
  .ba-games-benefit{
    min-height:148px!important;
    padding:16px 10px 15px!important;
    border-radius:16px!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:center!important;
    text-align:center!important;
  }
  .ba-games-benefit__icon{
    width:52px!important;
    height:52px!important;
    margin:0 0 7px!important;
  }
  .ba-games-benefit__icon img,
  .ba-games-benefit--play .ba-games-benefit__icon img{
    width:50px!important;
    height:50px!important;
  }
  .ba-games-benefit strong{
    font-size:16px!important;
    line-height:1.08!important;
    margin-bottom:5px!important;
  }
  .ba-games-benefit > span:not(.ba-games-benefit__icon){
    font-size:14px!important;
    line-height:1.22!important;
  }
}
@media(max-width:390px){
  .ba-mobile-play-separator{gap:11px!important;padding:24px 0 26px!important;}
  .ba-mobile-play-separator__center{min-width:134px!important;}
  .ba-mobile-play-separator__center img{width:40px!important;height:40px!important;}
  .ba-mobile-play-separator__center strong{font-size:15px!important;letter-spacing:.08em!important;}
  .ba-games-benefits{gap:10px!important;}
  .ba-games-benefit{min-height:140px!important;padding:14px 8px!important;}
  .ba-games-benefit__icon{width:46px!important;height:46px!important;}
  .ba-games-benefit__icon img,
  .ba-games-benefit--play .ba-games-benefit__icon img{width:44px!important;height:44px!important;}
  .ba-games-benefit strong{font-size:15px!important;}
  .ba-games-benefit > span:not(.ba-games-benefit__icon){font-size:13px!important;}
}


/* Alpha 47 - mobile navigation anchor */
@media(max-width:700px){
  #ba-play-anchor{scroll-margin-top:12px;}
}


/* Alpha 48 - clean mobile logo + app-like preloaded section panels */
.ba-section-panel[hidden]{display:none!important;}
@media(max-width:700px){
  .ba-topbar--two-row .ba-topbar__brand{
    background:transparent!important;
    border:0!important;
    border-radius:0!important;
    box-shadow:none!important;
    overflow:visible!important;
    padding:10px 16px 22px!important;
    min-height:176px!important;
  }
  .ba-topbar--two-row .ba-topbar__brand::before,
  .ba-topbar--two-row .ba-topbar__brand::after{
    display:block!important;
    width:72px!important;
    height:3px!important;
    bottom:4px!important;
    opacity:.9;
  }
  .ba-topbar--two-row .ba-topbar__brand::before{left:18px!important;}
  .ba-topbar--two-row .ba-topbar__brand::after{right:18px!important;}
  .ba-section-panel{animation:baMobilePanelIn .16s ease-out both;}
}
@media(max-width:390px){
  .ba-topbar--two-row .ba-topbar__brand{min-height:162px!important;}
}
@keyframes baMobilePanelIn{
  from{opacity:.72;transform:translateY(2px);}
  to{opacity:1;transform:none;}
}


/* Alpha 50 - Steel Blocks integrated game page */
.ba-arcade-view--game{padding-top:14px}
.ba-game-detail{display:grid;gap:14px}
.ba-game-detail__hero{
  min-height:270px;
  position:relative;
  overflow:hidden;
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(360px,.95fr);
  align-items:center;
  padding:34px 42px;
  border-radius:30px;
  background:
    radial-gradient(circle at 75% 35%,rgba(0,184,255,.15),transparent 26%),
    linear-gradient(115deg,#031325 0%,#061d38 50%,#041a35 100%);
  color:#fff;
  box-shadow:0 18px 40px rgba(3,58,98,.13);
}
.ba-game-detail__hero:before{
  content:"";position:absolute;inset:0;
  background-image:linear-gradient(rgba(44,153,214,.09) 1px,transparent 1px),linear-gradient(90deg,rgba(44,153,214,.09) 1px,transparent 1px);
  background-size:34px 34px;mask-image:linear-gradient(90deg,transparent 20%,#000 55%);pointer-events:none;
}
.ba-game-detail__hero-copy{position:relative;z-index:2}
.ba-game-detail__crumb{font-size:12px;font-weight:900;letter-spacing:.09em;color:#f4f8fb;text-transform:uppercase;margin-bottom:20px}
.ba-game-detail__crumb span{color:#ef315e;padding:0 6px}
.ba-game-detail__hero h1{margin:0 0 14px;font-size:clamp(56px,6vw,92px);line-height:.9;letter-spacing:-.05em;color:#f8fbff;text-shadow:0 8px 24px rgba(0,0,0,.25)}
.ba-game-detail__hero h1 span{color:#fff}
.ba-game-detail__hero h1{background:linear-gradient(180deg,#ff3b66,#d70c3d);-webkit-background-clip:text;background-clip:text;color:transparent}
.ba-game-detail__hero h1 span{background:linear-gradient(180deg,#fff,#d7e1e7);-webkit-background-clip:text;background-clip:text;color:transparent}
.ba-game-detail__hero p{margin:0;max-width:620px;font-size:21px;line-height:1.45;color:#eef5f8}
.ba-game-detail__hero-blocks{position:relative;z-index:1;height:210px}
.ba-game-detail__hero-blocks .shape{position:absolute;display:grid;grid-template-columns:repeat(4,42px);grid-auto-rows:42px;gap:5px;filter:drop-shadow(0 0 10px currentColor)}
.ba-game-detail__hero-blocks .shape i{display:block;border:3px solid currentColor;border-radius:7px;background:rgba(255,255,255,.05);box-shadow:inset 0 0 12px currentColor}
.ba-game-detail__hero-blocks .shape--a{left:0%;top:44%;color:#2f8dff}
.ba-game-detail__hero-blocks .shape--b{left:37%;top:0%;color:#d1a738}
.ba-game-detail__hero-blocks .shape--c{right:31%;top:58%;color:#ff365f}
.ba-game-detail__hero-blocks .shape--d{right:-5%;top:3%;color:#08bfd1}
.ba-game-detail__hero-blocks .shape--o i:nth-child(1){grid-column:1;grid-row:1}.ba-game-detail__hero-blocks .shape--o i:nth-child(2){grid-column:2;grid-row:1}.ba-game-detail__hero-blocks .shape--o i:nth-child(3){grid-column:1;grid-row:2}.ba-game-detail__hero-blocks .shape--o i:nth-child(4){grid-column:2;grid-row:2}
.ba-game-detail__hero-blocks .shape--t i:nth-child(1){grid-column:1;grid-row:2}.ba-game-detail__hero-blocks .shape--t i:nth-child(2){grid-column:2;grid-row:2}.ba-game-detail__hero-blocks .shape--t i:nth-child(3){grid-column:3;grid-row:2}.ba-game-detail__hero-blocks .shape--t i:nth-child(4){grid-column:2;grid-row:1}
.ba-game-detail__hero-blocks .shape--l i:nth-child(1){grid-column:1;grid-row:1}.ba-game-detail__hero-blocks .shape--l i:nth-child(2){grid-column:1;grid-row:2}.ba-game-detail__hero-blocks .shape--l i:nth-child(3){grid-column:2;grid-row:2}.ba-game-detail__hero-blocks .shape--l i:nth-child(4){grid-column:3;grid-row:2}
.ba-game-detail__hero-blocks .shape--z i:nth-child(1){grid-column:1;grid-row:1}.ba-game-detail__hero-blocks .shape--z i:nth-child(2){grid-column:2;grid-row:1}.ba-game-detail__hero-blocks .shape--z i:nth-child(3){grid-column:2;grid-row:2}.ba-game-detail__hero-blocks .shape--z i:nth-child(4){grid-column:3;grid-row:2}
.ba-game-meta{display:grid;grid-template-columns:1fr 1.15fr 1fr 1.35fr;gap:12px}
.ba-game-meta__item{min-height:92px;display:flex;align-items:center;gap:13px;padding:14px 17px;background:#fff;border:1px solid #dbe5ea;border-radius:18px;box-shadow:0 8px 22px rgba(3,58,98,.05)}
.ba-game-meta__item>span:not(.ba-game-meta__icon){min-width:0;display:flex;flex-direction:column;gap:5px}
.ba-game-meta__item small{font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.06em;color:#70828c}
.ba-game-meta__item strong{font-size:18px;color:#073b5e;line-height:1.1}
.ba-game-meta__item strong em{font-style:normal;font-size:12px;margin-left:5px}
.ba-game-meta__icon{width:48px;height:48px;flex:0 0 48px;display:grid;place-items:center;border-radius:50%;font-size:24px;font-weight:900;background:#f3f7f9}
.ba-game-meta__icon--red{color:#e31b4c}.ba-game-meta__icon--blue{color:#157ee8}.ba-game-meta__icon--gold{color:#d1a738}.ba-game-meta__icon--purple{color:#8348ed}
.ba-game-meta__locked{font-size:10px;color:#7a8a93;font-weight:700}
.ba-game-meta__identity input{width:100%;max-width:180px;height:36px;border:1px solid #cfdde4;border-radius:9px;padding:0 10px;font-size:14px;color:#073b5e}
.ba-game-meta__best{display:grid;grid-template-columns:auto minmax(0,1fr) auto}
.ba-game-meta__best>a{white-space:nowrap;padding:10px 13px;border:1px solid #bfd0da;border-radius:10px;color:#073b5e;text-decoration:none;font-weight:900;font-size:12px}
.ba-game-guest-note{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:13px 16px;border:1px solid #ead9a8;border-radius:14px;background:#fffaf0;color:#5d4b19}
.ba-game-guest-note strong{color:#6b5100}.ba-game-guest-note span{font-size:13px}.ba-game-guest-note button{border:0;background:none;padding:0;color:#950226;text-decoration:underline;font-weight:900;cursor:pointer}
.ba-game-detail__frame-shell{height:900px;border:1px solid #d5e1e6;border-radius:24px;overflow:hidden;background:#edf3f6;box-shadow:0 15px 38px rgba(3,58,98,.08)}
.ba-game-detail__frame-shell iframe{display:block;width:100%;height:100%;border:0;background:transparent}
@media(max-width:1100px){
 .ba-game-meta{grid-template-columns:1fr 1fr}.ba-game-detail__hero{grid-template-columns:1fr .8fr}.ba-game-detail__frame-shell{height:840px}
}
@media(max-width:700px){
 .ba-arcade-view--game{padding-top:10px}
 .ba-game-detail{gap:10px}
 .ba-game-detail__hero{min-height:300px;grid-template-columns:1fr;padding:24px 20px;border-radius:24px}
 .ba-game-detail__hero-copy{z-index:3}
 .ba-game-detail__crumb{font-size:9px;margin-bottom:12px}
 .ba-game-detail__hero h1{font-size:52px}
 .ba-game-detail__hero p{font-size:15px;max-width:85%}
 .ba-game-detail__hero-blocks{position:absolute;right:-20px;bottom:-10px;width:58%;height:180px;opacity:.42}
 .ba-game-detail__hero-blocks .shape{grid-template-columns:repeat(4,30px);grid-auto-rows:30px}
 .ba-game-meta{grid-template-columns:1fr 1fr;gap:8px}
 .ba-game-meta__item{min-height:82px;padding:11px 12px;border-radius:15px;gap:9px}
 .ba-game-meta__icon{width:38px;height:38px;flex-basis:38px;font-size:18px}
 .ba-game-meta__item strong{font-size:15px}.ba-game-meta__item small{font-size:8px}
 .ba-game-meta__best{grid-template-columns:auto 1fr}.ba-game-meta__best>a{grid-column:1/-1;text-align:center;padding:7px;margin-top:3px}
 .ba-game-meta__identity input{max-width:none;height:34px}
 .ba-game-guest-note{font-size:12px}
 .ba-game-detail__frame-shell{height:720px;border-radius:18px}
}


/* Alpha 64 - Steel Blocks mobile: dedicated hero artwork + game anchor */
@media(max-width:700px){
  #ba-game-anchor{scroll-margin-top:10px;}
  .ba-game-detail--steel-blocks .ba-game-detail__hero{
    display:block!important;
    width:100%!important;
    min-height:0!important;
    aspect-ratio:867 / 510!important;
    padding:0!important;
    border-radius:24px!important;
    overflow:hidden!important;
    background:#031325 url('../images/steel-blocks-hero-mobile.png') center center / cover no-repeat!important;
    box-shadow:0 12px 30px rgba(3,58,98,.14)!important;
  }
  .ba-game-detail--steel-blocks .ba-game-detail__hero::before{display:none!important;content:none!important;}
  .ba-game-detail--steel-blocks .ba-game-detail__hero-blocks{display:none!important;}
  .ba-game-detail--steel-blocks .ba-game-detail__hero-copy{
    position:absolute!important;
    width:1px!important;
    height:1px!important;
    padding:0!important;
    margin:-1px!important;
    overflow:hidden!important;
    clip:rect(0,0,0,0)!important;
    white-space:nowrap!important;
    border:0!important;
  }
}

/* =========================================================
   Alpha 65 - Steel Blocks mobile pre-game launcher
   Prima dell'avvio la pagina resta completamente scrollabile.
   ========================================================= */
.ba-mobile-game-launcher{display:none}

/* Nasconde solo il pulsante flottante Iubenda nell'area BA Arcade.
   Il banner/consenso iniziale NON viene disattivato. */
body.ba-arcade-page-active .iubenda-tp-btn,
body.ba-arcade-page-active button.iubenda-tp-btn,
body.ba-arcade-page-active .iubenda-cs-preferences-link{
  display:none!important;
  visibility:hidden!important;
  pointer-events:none!important;
}

@media(max-width:700px){
  :is(.ba-game-detail--steel-blocks,.ba-game-detail--steel-break,.ba-game-detail--steel-run,.ba-game-detail--steel-snake) .ba-game-detail__frame-shell{
    position:relative;
    height:auto!important;
    min-height:0!important;
    border-radius:18px;
    overflow:hidden;
    background:linear-gradient(180deg,#f8fbfc 0%,#edf3f6 100%);
  }
  :is(.ba-game-detail--steel-blocks,.ba-game-detail--steel-break,.ba-game-detail--steel-run,.ba-game-detail--steel-snake) .ba-game-detail__frame-shell:not(.is-mobile-running) iframe{
    position:absolute!important;
    inset:0!important;
    width:100%!important;
    height:100%!important;
    opacity:0!important;
    pointer-events:none!important;
  }
  :is(.ba-game-detail--steel-blocks,.ba-game-detail--steel-break,.ba-game-detail--steel-run,.ba-game-detail--steel-snake) .ba-mobile-game-launcher{
    display:block;
    position:relative;
    z-index:2;
    padding:14px;
    background:linear-gradient(180deg,#f8fbfc 0%,#edf3f6 100%);
    touch-action:pan-y;
  }
  :is(.ba-game-detail--steel-blocks,.ba-game-detail--steel-break,.ba-game-detail--steel-run,.ba-game-detail--steel-snake) .ba-mobile-game-launcher__head{
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:12px;
    margin-bottom:12px;
    color:#6b7f8b;
  }
  :is(.ba-game-detail--steel-blocks,.ba-game-detail--steel-break,.ba-game-detail--steel-run,.ba-game-detail--steel-snake) .ba-mobile-game-launcher__head span{
    font-size:10px;
    line-height:1;
    font-weight:900;
    letter-spacing:.10em;
  }
  :is(.ba-game-detail--steel-blocks,.ba-game-detail--steel-break,.ba-game-detail--steel-run,.ba-game-detail--steel-snake) .ba-mobile-game-launcher__head strong{
    color:#073d62;
    font-size:16px;
    line-height:1;
  }
  :is(.ba-game-detail--steel-blocks,.ba-game-detail--steel-break,.ba-game-detail--steel-run,.ba-game-detail--steel-snake) .ba-mobile-game-launcher__actions{
    display:grid;
    grid-template-columns:1.15fr .85fr;
    gap:9px;
    margin-bottom:12px;
  }
  :is(.ba-game-detail--steel-blocks,.ba-game-detail--steel-break,.ba-game-detail--steel-run,.ba-game-detail--steel-snake) .ba-mobile-game-launcher__actions button{
    appearance:none;
    -webkit-appearance:none;
    min-width:0;
    min-height:68px;
    border-radius:15px;
    border:1px solid #c8d9e1;
    display:flex;
    align-items:center;
    gap:10px;
    padding:10px 12px;
    text-align:left;
    box-shadow:0 8px 20px rgba(3,58,98,.08);
  }
  :is(.ba-game-detail--steel-blocks,.ba-game-detail--steel-break,.ba-game-detail--steel-run,.ba-game-detail--steel-snake) .ba-mobile-game-launcher__actions button > span:last-child{
    display:flex;
    flex-direction:column;
    min-width:0;
  }
  :is(.ba-game-detail--steel-blocks,.ba-game-detail--steel-break,.ba-game-detail--steel-run,.ba-game-detail--steel-snake) .ba-mobile-game-launcher__actions strong{
    display:block;
    font-size:14px;
    line-height:1.1;
    font-weight:900;
  }
  :is(.ba-game-detail--steel-blocks,.ba-game-detail--steel-break,.ba-game-detail--steel-run,.ba-game-detail--steel-snake) .ba-mobile-game-launcher__actions small{
    display:block;
    margin-top:4px;
    font-size:9px;
    line-height:1.15;
    font-weight:700;
    opacity:.78;
  }
  :is(.ba-game-detail--steel-blocks,.ba-game-detail--steel-break,.ba-game-detail--steel-run,.ba-game-detail--steel-snake) .ba-mobile-game-launcher__action-icon{
    flex:0 0 34px;
    width:34px;
    height:34px;
    display:grid;
    place-items:center;
    border-radius:10px;
    font-size:17px;
    background:rgba(255,255,255,.12);
  }
  :is(.ba-game-detail--steel-blocks,.ba-game-detail--steel-break,.ba-game-detail--steel-run,.ba-game-detail--steel-snake) .ba-mobile-game-launcher__start{
    color:#fff;
    border-color:#075786!important;
    background:linear-gradient(135deg,#075786 0%,#033a62 100%);
  }
  :is(.ba-game-detail--steel-blocks,.ba-game-detail--steel-break,.ba-game-detail--steel-run,.ba-game-detail--steel-snake) .ba-mobile-game-launcher__sound{
    color:#073d62;
    background:linear-gradient(180deg,#fff 0%,#f4f8fa 100%);
  }
  :is(.ba-game-detail--steel-blocks,.ba-game-detail--steel-break,.ba-game-detail--steel-run,.ba-game-detail--steel-snake) .ba-mobile-game-launcher__sound.is-muted{
    color:#728792;
    background:#edf2f4;
  }
  :is(.ba-game-detail--steel-blocks,.ba-game-detail--steel-break,.ba-game-detail--steel-run,.ba-game-detail--steel-snake) .ba-mobile-game-preview{
    position:relative;
    padding:10px;
    border:1px solid #c8dbe4;
    border-radius:16px;
    background:#eaf1f4;
    touch-action:pan-y;
  }
  :is(.ba-game-detail--steel-blocks,.ba-game-detail--steel-break,.ba-game-detail--steel-run,.ba-game-detail--steel-snake) .ba-mobile-game-preview__board{
    position:relative;
    width:100%;
    aspect-ratio:10/8;
    overflow:hidden;
    border:2px solid #1685b5;
    border-radius:12px;
    background:
      linear-gradient(rgba(31,112,151,.11) 1px,transparent 1px),
      linear-gradient(90deg,rgba(31,112,151,.11) 1px,transparent 1px),
      linear-gradient(145deg,#031c2e 0%,#062b42 55%,#031c2e 100%);
    background-size:22px 22px,22px 22px,auto;
    box-shadow:inset 0 0 32px rgba(0,0,0,.16);
  }
  :is(.ba-game-detail--steel-blocks,.ba-game-detail--steel-break,.ba-game-detail--steel-run,.ba-game-detail--steel-snake) .ba-mobile-game-preview__brand{
    position:absolute;
    left:50%;
    top:47%;
    transform:translate(-50%,-50%);
    white-space:nowrap;
    color:rgba(205,225,235,.28);
    font-size:17px;
    font-weight:900;
    letter-spacing:.04em;
  }
  :is(.ba-game-detail--steel-blocks,.ba-game-detail--steel-break,.ba-game-detail--steel-run,.ba-game-detail--steel-snake) .ba-mobile-game-preview__board .p{
    position:absolute;
    width:22px;
    height:22px;
    border-radius:4px;
    box-shadow:inset 0 0 7px rgba(255,255,255,.18),0 0 8px currentColor;
    border:2px solid currentColor;
    background:color-mix(in srgb,currentColor 45%,#051e30);
  }
  .ba-mobile-game-preview__board .p1{left:15%;bottom:12%;color:#2f8dff}.ba-mobile-game-preview__board .p2{left:22%;bottom:12%;color:#2f8dff}.ba-mobile-game-preview__board .p3{left:29%;bottom:12%;color:#2f8dff}.ba-mobile-game-preview__board .p4{left:22%;bottom:20%;color:#2f8dff}
  .ba-mobile-game-preview__board .p5{left:52%;bottom:12%;color:#d1a738}.ba-mobile-game-preview__board .p6{left:59%;bottom:12%;color:#d1a738}.ba-mobile-game-preview__board .p7{left:52%;bottom:20%;color:#d1a738}.ba-mobile-game-preview__board .p8{left:59%;bottom:20%;color:#d1a738}
  .ba-mobile-game-preview__board .p9{right:16%;bottom:12%;color:#ef315e}.ba-mobile-game-preview__board .p10{right:23%;bottom:12%;color:#ef315e}.ba-mobile-game-preview__board .p11{right:23%;bottom:20%;color:#ef315e}
  :is(.ba-game-detail--steel-blocks,.ba-game-detail--steel-break,.ba-game-detail--steel-run,.ba-game-detail--steel-snake) .ba-mobile-game-preview p{
    margin:9px 3px 1px;
    color:#607580;
    font-size:11px;
    line-height:1.4;
    text-align:center;
  }
  :is(.ba-game-detail--steel-blocks,.ba-game-detail--steel-break,.ba-game-detail--steel-run,.ba-game-detail--steel-snake) .ba-mobile-game-preview p strong{color:#073d62}

  :is(.ba-game-detail--steel-blocks,.ba-game-detail--steel-break,.ba-game-detail--steel-run,.ba-game-detail--steel-snake) .ba-game-detail__frame-shell.is-mobile-running{
    height:720px!important;
  }
  :is(.ba-game-detail--steel-blocks,.ba-game-detail--steel-break,.ba-game-detail--steel-run,.ba-game-detail--steel-snake) .ba-game-detail__frame-shell.is-mobile-running .ba-mobile-game-launcher{
    display:none!important;
  }
  :is(.ba-game-detail--steel-blocks,.ba-game-detail--steel-break,.ba-game-detail--steel-run,.ba-game-detail--steel-snake) .ba-game-detail__frame-shell.is-mobile-running iframe{
    position:static!important;
    display:block!important;
    width:100%!important;
    height:100%!important;
    opacity:1!important;
    pointer-events:auto!important;
  }
}

/* =========================================================
   Alpha 66 - Steel Blocks mobile: fullscreen vero durante la partita
   Mantiene scrollabile il launcher, blocca la pagina solo dopo Avvia.
   ========================================================= */
html.ba-mobile-game-lock,
body.ba-mobile-game-lock{
  overflow:hidden!important;
  overscroll-behavior:none!important;
}
body.ba-mobile-game-lock{
  position:fixed!important;
  left:0!important;
  right:0!important;
  width:100%!important;
}
@media(max-width:700px){
  :is(.ba-game-detail--steel-blocks,.ba-game-detail--steel-break,.ba-game-detail--steel-run,.ba-game-detail--steel-snake) .ba-game-detail__frame-shell.is-mobile-play{
    position:fixed!important;
    inset:0!important;
    z-index:2147483000!important;
    width:100vw!important;
    height:100dvh!important;
    min-height:0!important;
    max-height:none!important;
    margin:0!important;
    border:0!important;
    border-radius:0!important;
    box-shadow:none!important;
    background:#f3f6f7!important;
  }
  :is(.ba-game-detail--steel-blocks,.ba-game-detail--steel-break,.ba-game-detail--steel-run,.ba-game-detail--steel-snake) .ba-game-detail__frame-shell.is-mobile-play .ba-mobile-game-launcher{
    display:none!important;
  }
  :is(.ba-game-detail--steel-blocks,.ba-game-detail--steel-break,.ba-game-detail--steel-run,.ba-game-detail--steel-snake) .ba-game-detail__frame-shell.is-mobile-play iframe{
    position:static!important;
    display:block!important;
    width:100%!important;
    height:100%!important;
    min-height:0!important;
    max-height:none!important;
    opacity:1!important;
    pointer-events:auto!important;
    border:0!important;
    border-radius:0!important;
  }
}

/* =========================================================
   Alpha 71 - Steel Blocks desktop: modalita partita a viewport intera
   La pagina resta normale prima del Play; si blocca solo durante la partita.
   ========================================================= */
html.ba-desktop-game-lock,
body.ba-desktop-game-lock{
  overflow:hidden!important;
  overscroll-behavior:none!important;
}
body.ba-desktop-game-lock{
  position:fixed!important;
  left:0!important;
  right:0!important;
  width:100%!important;
}
@media(min-width:701px){
  :is(.ba-game-detail--steel-blocks,.ba-game-detail--steel-break,.ba-game-detail--steel-run,.ba-game-detail--steel-snake) .ba-game-detail__frame-shell.is-desktop-play{
    position:fixed!important;
    inset:0!important;
    z-index:2147483000!important;
    width:100vw!important;
    height:100dvh!important;
    min-height:0!important;
    max-height:none!important;
    margin:0!important;
    border:0!important;
    border-radius:0!important;
    box-shadow:none!important;
    background:#f3f6f7!important;
    display:grid!important;
    place-items:center!important;
    overflow:hidden!important;
  }
  :is(.ba-game-detail--steel-blocks,.ba-game-detail--steel-break,.ba-game-detail--steel-run,.ba-game-detail--steel-snake) .ba-game-detail__frame-shell.is-desktop-play iframe{
    display:block!important;
    position:static!important;
    /* Alpha 73: il gioco conserva le dimensioni che aveva nella pagina.
       L'overlay e' fullscreen, il layout interno no. */
    width:min(var(--ba-desktop-game-width, 100vw),100vw)!important;
    height:min(var(--ba-desktop-game-height, 100dvh),100dvh)!important;
    min-height:0!important;
    max-width:100vw!important;
    max-height:100dvh!important;
    opacity:1!important;
    pointer-events:auto!important;
    border:0!important;
    border-radius:0!important;
    margin:auto!important;
  }
}

/* =========================================================
   Alpha 69 - Pagine gioco dedicate
   Header minimale + mini classifica a fine pagina.
   ========================================================= */
.ba-game-page-top{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:124px;
  margin-bottom:14px;
  padding:12px 20px;
  border:1px solid var(--ba-border);
  border-radius:22px;
  background:#fff;
  box-sizing:border-box;
}
.ba-game-page-top__brand{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  text-decoration:none;
}
.ba-game-page-top__brand img{
  display:block;
  width:auto;
  height:96px;
  max-width:min(360px,80vw);
  object-fit:contain;
}
.ba-game-mini-ranking{
  margin-top:2px;
  padding:24px;
  border:1px solid var(--ba-border);
  border-radius:24px;
  background:#fff;
  box-shadow:0 10px 28px rgba(3,58,98,.06);
}
.ba-game-mini-ranking__head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:18px;
  margin-bottom:10px;
}
.ba-game-mini-ranking__head h2{
  margin:0;
  color:#073b5e;
  font-size:28px;
  line-height:1;
}
.ba-game-mini-ranking__head>span{
  color:#71858f;
  font-size:12px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.06em;
}
.ba-game-mini-ranking__list{
  list-style:none;
  margin:0 0 18px;
  padding:0;
}
.ba-game-mini-ranking__list li{
  display:grid;
  grid-template-columns:46px minmax(0,1fr) auto;
  align-items:center;
  gap:12px;
  min-height:58px;
  border-bottom:1px solid #e2eaee;
}
.ba-game-mini-ranking__list li:last-child{border-bottom:0}
.ba-game-mini-ranking__list li>strong{
  width:34px;
  height:34px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:#edf3f6;
  color:#073b5e;
  font-size:14px;
}
.ba-game-mini-ranking__list li:nth-child(1)>strong{background:#f5e7ad;color:#795b00}
.ba-game-mini-ranking__list li:nth-child(2)>strong{background:#e5ebef;color:#52646e}
.ba-game-mini-ranking__list li:nth-child(3)>strong{background:#f0d7c3;color:#84502d}
.ba-game-mini-ranking__list li>span{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:#173e53;
  font-weight:800;
}
.ba-game-mini-ranking__list li>b{
  color:#073b5e;
  font-size:16px;
  white-space:nowrap;
}
.ba-game-mini-ranking__empty{
  display:block!important;
  min-height:0!important;
  padding:18px 0;
  color:#71858f;
}
.ba-game-mini-ranking__back{min-width:190px}

@media(max-width:700px){
  .ba-game-page-top{
    min-height:90px;
    margin:10px 10px 0;
    padding:9px 14px;
    border-radius:18px;
  }
  .ba-game-page-top__brand img{height:68px;max-width:74vw}
  .ba-arcade-view--game{padding-top:10px!important}
  .ba-game-mini-ranking{
    margin:0;
    padding:18px 15px;
    border-radius:18px;
  }
  .ba-game-mini-ranking__head{align-items:flex-start}
  .ba-game-mini-ranking__head h2{font-size:23px}
  .ba-game-mini-ranking__head>span{font-size:9px;padding-top:3px}
  .ba-game-mini-ranking__list li{
    grid-template-columns:38px minmax(0,1fr) auto;
    gap:9px;
    min-height:52px;
  }
  .ba-game-mini-ranking__list li>strong{width:30px;height:30px;font-size:12px}
  .ba-game-mini-ranking__list li>span{font-size:14px}
  .ba-game-mini-ranking__list li>b{font-size:14px}
  .ba-game-mini-ranking__back{width:100%;min-width:0}
}


/* =========================================================
   Alpha 70 - Nome ospite richiesto al momento dell'avvio
   ========================================================= */
.ba-guest-name-modal[hidden]{display:none!important}
.ba-guest-name-modal{
  position:fixed;
  inset:0;
  z-index:2147483200;
  display:grid;
  place-items:center;
  padding:22px;
  opacity:0;
  transition:opacity .16s ease;
}
.ba-guest-name-modal.is-open{opacity:1}
.ba-guest-name-modal__backdrop{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  border:0;
  background:rgba(1,20,34,.66);
  backdrop-filter:blur(5px);
  -webkit-backdrop-filter:blur(5px);
  cursor:default;
}
.ba-guest-name-modal__card{
  position:relative;
  z-index:1;
  width:min(430px,100%);
  padding:28px;
  border:1px solid #d8e3e8;
  border-radius:24px;
  background:#fff;
  box-shadow:0 24px 70px rgba(3,58,98,.25);
  color:#073b5e;
  transform:translateY(8px) scale(.985);
  transition:transform .16s ease;
}
.ba-guest-name-modal.is-open .ba-guest-name-modal__card{transform:none}
.ba-guest-name-modal__eyebrow{
  margin-bottom:7px;
  color:#950226;
  font-size:11px;
  font-weight:950;
  letter-spacing:.12em;
}
.ba-guest-name-modal__card h2{
  margin:0 0 8px;
  color:#073b5e;
  font-size:28px;
  line-height:1.05;
}
.ba-guest-name-modal__card>p{
  margin:0 0 20px;
  color:#687d88;
  font-size:14px;
  line-height:1.45;
}
.ba-guest-name-modal__card form{display:grid;gap:8px}
.ba-guest-name-modal__card label{
  color:#536e7b;
  font-size:11px;
  font-weight:900;
  letter-spacing:.06em;
  text-transform:uppercase;
}
.ba-guest-name-modal__card input{
  width:100%;
  height:54px;
  padding:0 15px;
  border:2px solid #cbd9e0;
  border-radius:14px;
  outline:0;
  background:#fff;
  color:#073b5e;
  font-size:18px;
  font-weight:800;
  box-sizing:border-box;
}
.ba-guest-name-modal__card input:focus{
  border-color:#157ee8;
  box-shadow:0 0 0 4px rgba(21,126,232,.10);
}
.ba-guest-name-modal__error{
  color:#a6002a;
  font-size:12px;
  font-weight:800;
}
.ba-guest-name-modal__actions{
  display:grid;
  grid-template-columns:1fr 1.25fr;
  gap:10px;
  margin-top:12px;
}
.ba-guest-name-modal__actions button{
  min-height:48px;
  border-radius:13px;
  font-weight:950;
  cursor:pointer;
}
.ba-guest-name-modal__cancel{
  border:1px solid #cbd9e0;
  background:#fff;
  color:#073b5e;
}
.ba-guest-name-modal__confirm{
  border:1px solid #950226;
  background:#950226;
  color:#fff;
}
body.ba-guest-name-open{overflow:hidden!important}
@media(max-width:700px){
  .ba-guest-name-modal{padding:16px;align-items:center}
  .ba-guest-name-modal__card{padding:22px 18px;border-radius:20px}
  .ba-guest-name-modal__card h2{font-size:25px}
  .ba-guest-name-modal__card>p{font-size:13px;margin-bottom:16px}
  .ba-guest-name-modal__card input{height:52px;font-size:16px}
}

/* =========================================================
   Alpha 75 - Stimolo competitivo sotto il gioco
   Record assoluto + miglior punteggio personale.
   ========================================================= */
.ba-game-score-challenge{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
  margin:14px 0;
}
.ba-game-score-challenge__card{
  min-height:116px;
  display:flex;
  align-items:center;
  gap:16px;
  padding:20px 22px;
  border:1px solid var(--ba-border);
  border-radius:20px;
  background:#fff;
  box-shadow:0 8px 24px rgba(3,58,98,.05);
  box-sizing:border-box;
}
.ba-game-score-challenge__icon{
  flex:0 0 54px;
  width:54px;
  height:54px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:#f1f5f7;
  font-size:27px;
  line-height:1;
}
.ba-game-score-challenge__card--absolute .ba-game-score-challenge__icon{color:#7d42dc;}
.ba-game-score-challenge__card--personal .ba-game-score-challenge__icon{color:#d5a52a;}
.ba-game-score-challenge__card small{
  display:block;
  margin-bottom:3px;
  color:#6d808b;
  font-size:11px;
  font-weight:900;
  letter-spacing:.07em;
  text-transform:uppercase;
}
.ba-game-score-challenge__card strong{
  display:block;
  color:#073b5e;
  font-size:28px;
  line-height:1.05;
}
.ba-game-score-challenge__card p{
  margin:6px 0 0;
  color:#71858f;
  font-size:13px;
  line-height:1.35;
}
@media (max-width:680px){
  .ba-game-score-challenge{grid-template-columns:1fr;gap:10px;margin:10px 0;}
  .ba-game-score-challenge__card{min-height:96px;padding:16px 18px;border-radius:18px;}
  .ba-game-score-challenge__icon{flex-basis:48px;width:48px;height:48px;font-size:24px;}
  .ba-game-score-challenge__card strong{font-size:24px;}
}


/* =========================================================
   Alpha 76 - Record visibili anche durante la partita desktop
   Il layout del gioco resta nelle dimensioni approvate; i due riquadri
   competitivi occupano una fascia dedicata sotto al gioco nell'overlay.
   ========================================================= */
.ba-game-score-challenge--in-game{
  display:none;
}
@media(min-width:701px){
  :is(.ba-game-detail--steel-blocks,.ba-game-detail--steel-break,.ba-game-detail--steel-run,.ba-game-detail--steel-snake) .ba-game-detail__frame-shell.is-desktop-play{
    grid-template-rows:minmax(0,1fr) auto!important;
    grid-template-columns:1fr!important;
    gap:10px!important;
    padding:10px 0 12px!important;
    box-sizing:border-box!important;
  }
  :is(.ba-game-detail--steel-blocks,.ba-game-detail--steel-break,.ba-game-detail--steel-run,.ba-game-detail--steel-snake) .ba-game-detail__frame-shell.is-desktop-play iframe{
    grid-row:1!important;
    align-self:center!important;
    justify-self:center!important;
    /* Le dimensioni del gioco restano esattamente quelle fissate in alpha73. */
  }
  :is(.ba-game-detail--steel-blocks,.ba-game-detail--steel-break,.ba-game-detail--steel-run,.ba-game-detail--steel-snake) .ba-game-detail__frame-shell.is-desktop-play .ba-game-score-challenge--in-game{
    grid-row:2!important;
    display:grid!important;
    width:min(var(--ba-desktop-game-width, calc(100vw - 40px)), calc(100vw - 40px))!important;
    margin:0!important;
    gap:10px!important;
    align-self:end!important;
    justify-self:center!important;
    z-index:2!important;
  }
  :is(.ba-game-detail--steel-blocks,.ba-game-detail--steel-break,.ba-game-detail--steel-run,.ba-game-detail--steel-snake) .ba-game-detail__frame-shell.is-desktop-play .ba-game-score-challenge--in-game .ba-game-score-challenge__card{
    min-height:94px!important;
    padding:14px 18px!important;
    border-radius:16px!important;
    box-shadow:0 6px 18px rgba(3,58,98,.08)!important;
  }
  :is(.ba-game-detail--steel-blocks,.ba-game-detail--steel-break,.ba-game-detail--steel-run,.ba-game-detail--steel-snake) .ba-game-detail__frame-shell.is-desktop-play .ba-game-score-challenge--in-game .ba-game-score-challenge__icon{
    flex-basis:46px!important;
    width:46px!important;
    height:46px!important;
    font-size:23px!important;
  }
  :is(.ba-game-detail--steel-blocks,.ba-game-detail--steel-break,.ba-game-detail--steel-run,.ba-game-detail--steel-snake) .ba-game-detail__frame-shell.is-desktop-play .ba-game-score-challenge--in-game strong{
    font-size:24px!important;
  }
  :is(.ba-game-detail--steel-blocks,.ba-game-detail--steel-break,.ba-game-detail--steel-run,.ba-game-detail--steel-snake) .ba-game-detail__frame-shell.is-desktop-play .ba-game-score-challenge--in-game p{
    margin-top:3px!important;
    font-size:12px!important;
  }
}


/* =========================================================
   Alpha 77 - Desktop: gioco e record in un unico corpo
   Un solo pannello esterno racchiude il gioco e la fascia competitiva.
   Gli elementi interni mantengono stile, tipografia e icone approvati.
   ========================================================= */
.ba-game-active-body{display:contents;}
@media(min-width:701px){
  :is(.ba-game-detail--steel-blocks,.ba-game-detail--steel-break,.ba-game-detail--steel-run,.ba-game-detail--steel-snake) .ba-game-detail__frame-shell.is-desktop-play{
    grid-template-columns:1fr!important;
    grid-template-rows:1fr!important;
    place-items:center!important;
    gap:0!important;
    padding:12px!important;
  }
  :is(.ba-game-detail--steel-blocks,.ba-game-detail--steel-break,.ba-game-detail--steel-run,.ba-game-detail--steel-snake) .ba-game-detail__frame-shell.is-desktop-play .ba-game-active-body{
    display:grid!important;
    grid-template-columns:1fr!important;
    grid-template-rows:minmax(0,1fr) auto!important;
    gap:0!important;
    width:min(calc(var(--ba-desktop-game-width, calc(100vw - 44px)) + 20px), calc(100vw - 24px))!important;
    height:min(calc(var(--ba-desktop-game-height, calc(100dvh - 140px)) + 114px), calc(100dvh - 24px))!important;
    padding:10px!important;
    box-sizing:border-box!important;
    overflow:hidden!important;
    border:1px solid #d5e1e6!important;
    border-radius:24px!important;
    background:#fff!important;
    box-shadow:0 16px 42px rgba(3,58,98,.10)!important;
  }
  :is(.ba-game-detail--steel-blocks,.ba-game-detail--steel-break,.ba-game-detail--steel-run,.ba-game-detail--steel-snake) .ba-game-detail__frame-shell.is-desktop-play .ba-game-active-body>iframe{
    grid-row:1!important;
    width:100%!important;
    height:100%!important;
    min-height:0!important;
    max-width:none!important;
    max-height:none!important;
    margin:0!important;
    align-self:stretch!important;
    justify-self:stretch!important;
    border:0!important;
    border-radius:17px 17px 10px 10px!important;
    overflow:hidden!important;
  }
  :is(.ba-game-detail--steel-blocks,.ba-game-detail--steel-break,.ba-game-detail--steel-run,.ba-game-detail--steel-snake) .ba-game-detail__frame-shell.is-desktop-play .ba-game-active-body>.ba-game-score-challenge--in-game{
    grid-row:2!important;
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    width:100%!important;
    margin:0!important;
    gap:0!important;
    align-self:stretch!important;
    justify-self:stretch!important;
    border-top:1px solid #dbe5ea!important;
    background:#fff!important;
  }
  :is(.ba-game-detail--steel-blocks,.ba-game-detail--steel-break,.ba-game-detail--steel-run,.ba-game-detail--steel-snake) .ba-game-detail__frame-shell.is-desktop-play .ba-game-active-body>.ba-game-score-challenge--in-game .ba-game-score-challenge__card{
    min-height:94px!important;
    padding:14px 18px!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    box-shadow:none!important;
  }
  :is(.ba-game-detail--steel-blocks,.ba-game-detail--steel-break,.ba-game-detail--steel-run,.ba-game-detail--steel-snake) .ba-game-detail__frame-shell.is-desktop-play .ba-game-active-body>.ba-game-score-challenge--in-game .ba-game-score-challenge__card+.ba-game-score-challenge__card{
    border-left:1px solid #e0e8ec!important;
  }
}


/* =========================================================
   Alpha 79 - Steel Break integrated
   Hero, anteprima mobile e piccoli adattamenti visuali specifici.
   ========================================================= */
.ba-game-detail--steel-break .ba-game-detail__hero{
  overflow:hidden;
}
.ba-game-detail__hero-break{
  position:relative;
  min-height:250px;
  align-self:stretch;
}
.ba-game-detail__hero-break::before{
  content:"";position:absolute;inset:8% 4%;border-radius:24px;
  background:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(180deg,#08263a,#051a29);
  background-size:24px 24px,24px 24px,auto;
  border:1px solid rgba(46,201,220,.22);
  box-shadow:inset 0 0 35px rgba(0,120,147,.12);
}
.ba-game-detail__hero-break-bricks{
  position:absolute;left:16%;right:12%;top:18%;display:grid;grid-template-columns:repeat(4,1fr);gap:7px;z-index:2;
}
.ba-game-detail__hero-break-bricks i{height:24px;border-radius:6px;background:linear-gradient(180deg,#1595ad,#007893 55%,#074c63);box-shadow:inset 0 1px 0 rgba(255,255,255,.25),0 4px 10px rgba(0,0,0,.2)}
.ba-game-detail__hero-break-bricks i:nth-child(3n){background:linear-gradient(180deg,#718994,#506d78 55%,#2b4652)}
.ba-game-detail__hero-break-bricks i:nth-child(4n){background:linear-gradient(180deg,#0b5a7a,#033a62 55%,#022844)}
.ba-game-detail__hero-break-ball{position:absolute;left:58%;top:56%;width:30px;height:30px;border-radius:50%;z-index:3;background:radial-gradient(circle at 32% 28%,#fff 0 8%,#dce5e9 18%,#7f939d 45%,#294654 72%,#071e2d 100%);box-shadow:0 8px 18px rgba(0,0,0,.35)}
.ba-game-detail__hero-break-paddle{position:absolute;left:28%;right:14%;bottom:18%;height:28px;border-radius:999px;z-index:2;display:grid;place-items:center;color:rgba(255,255,255,.74);font-size:9px;font-weight:900;letter-spacing:.12em;background:linear-gradient(180deg,#d8e1e5,#91a3ac 30%,#506d78 34%,#243f4d);box-shadow:0 7px 15px rgba(0,0,0,.28)}

@media(max-width:700px){
  .ba-game-detail--steel-break .ba-game-detail__hero{min-height:260px;grid-template-columns:1fr .72fr;padding:22px 18px}
  .ba-game-detail--steel-break .ba-game-detail__hero h1{font-size:44px}
  .ba-game-detail--steel-break .ba-game-detail__hero p{font-size:13px;max-width:95%}
  .ba-game-detail--steel-break .ba-game-detail__hero-break{min-height:170px}
  .ba-game-detail--steel-break .ba-game-detail__hero-break-bricks{left:8%;right:4%;top:17%;gap:4px}
  .ba-game-detail--steel-break .ba-game-detail__hero-break-bricks i{height:15px;border-radius:4px}
  .ba-game-detail--steel-break .ba-game-detail__hero-break-ball{width:22px;height:22px;left:55%;top:55%}
  .ba-game-detail--steel-break .ba-game-detail__hero-break-paddle{left:18%;right:5%;height:20px;font-size:6px}

  .ba-game-detail--steel-break .ba-mobile-break-preview{
    position:relative;width:100%;aspect-ratio:10/8;overflow:hidden;border-radius:13px;
    background:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(180deg,#0a2b3f,#061923);
    background-size:18px 18px,18px 18px,auto;
  }
  .ba-game-detail--steel-break .ba-mobile-break-preview__bricks{position:absolute;left:8%;right:8%;top:10%;display:grid;grid-template-columns:repeat(4,1fr);gap:5px}
  .ba-game-detail--steel-break .ba-mobile-break-preview__bricks i{height:16px;border-radius:4px;background:#007893;box-shadow:inset 0 1px 0 rgba(255,255,255,.2)}
  .ba-game-detail--steel-break .ba-mobile-break-preview__bricks i:nth-child(3n){background:#506d78}
  .ba-game-detail--steel-break .ba-mobile-break-preview__bricks i:nth-child(4n){background:#033a62}
  .ba-game-detail--steel-break .ba-mobile-break-preview__ball{position:absolute;left:60%;top:54%;width:22px;height:22px;border-radius:50%;background:radial-gradient(circle at 32% 28%,#fff,#90a1aa 38%,#183441 74%,#071e2d);box-shadow:0 6px 14px rgba(0,0,0,.4)}
  .ba-game-detail--steel-break .ba-mobile-break-preview__paddle{position:absolute;left:32%;bottom:14%;width:38%;height:15px;border-radius:999px;display:grid;place-items:center;background:linear-gradient(#d8e1e5,#506d78 45%,#243f4d);color:#fff;font-size:7px;font-weight:900}
  .ba-game-detail--steel-break .ba-mobile-break-preview__brand{position:absolute;left:50%;top:48%;transform:translate(-50%,-50%);color:rgba(255,255,255,.08);font-size:18px;font-weight:900;letter-spacing:.12em;white-space:nowrap}
}


/* =========================================================
   Alpha 94 - Steel Run hero approved image
   ========================================================= */
.ba-game-detail--steel-run .ba-game-detail__hero{
  min-height:0;
  display:block;
  overflow:hidden;
  padding:0;
  background:#031325;
}
.ba-game-detail--steel-run .ba-game-detail__hero-copy,
.ba-game-detail--steel-run .ba-game-detail__hero-run{
  display:none!important;
}
.ba-game-detail--steel-run .ba-game-detail__hero-run-approved{
  position:relative;
  z-index:2;
  display:block;
  width:100%;
  height:auto;
  margin:0;
  object-fit:contain;
}
@media(max-width:700px){
  .ba-game-detail--steel-run .ba-game-detail__hero{
    border-radius:20px;
  }
  .ba-game-detail--steel-run .ba-game-detail__hero-run-approved{
    width:100%;
    height:auto;
  }
}


/* Steel Run su smartphone gioca in landscape: il lock mobile deve restare
   attivo anche dopo la rotazione, quando la larghezza supera 700px. */
@media(pointer:coarse){
  .ba-game-detail--steel-run .ba-game-detail__frame-shell.is-mobile-play{
    position:fixed!important;inset:0!important;z-index:2147483000!important;
    width:100vw!important;height:100dvh!important;min-height:0!important;max-height:none!important;
    margin:0!important;border:0!important;border-radius:0!important;box-shadow:none!important;background:#f3f6f7!important;
  }
  .ba-game-detail--steel-run .ba-game-detail__frame-shell.is-mobile-play .ba-mobile-game-launcher{display:none!important}
  .ba-game-detail--steel-run .ba-game-detail__frame-shell.is-mobile-play iframe{
    position:static!important;display:block!important;width:100%!important;height:100%!important;min-height:0!important;max-height:none!important;
    opacity:1!important;pointer-events:auto!important;border:0!important;border-radius:0!important;
  }
}


/* Alpha 111 - Area Player hero + photo profile */
.ba-player-hero{
  position:relative;
  display:grid;
  grid-template-columns:minmax(0,1.08fr) minmax(340px,.92fr);
  align-items:center;
  min-height:0;
  aspect-ratio:2138 / 681;
  overflow:hidden;
  padding:40px 46px;
  border:0;
  border-radius:24px;
  background:
    radial-gradient(circle at 80% 24%,rgba(0,120,147,.28),transparent 31%),
    radial-gradient(circle at 18% 110%,rgba(149,2,38,.22),transparent 42%),
    linear-gradient(135deg,#061a2b 0%,#033a62 52%,#071827 100%);
  box-shadow:0 10px 28px rgba(3,58,98,.13);
  isolation:isolate;
}
.ba-player-hero::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  opacity:.18;
  background:
    linear-gradient(rgba(255,255,255,.11) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.11) 1px,transparent 1px);
  background-size:34px 34px;
  mask-image:linear-gradient(90deg,transparent 0%,#000 36%,#000 100%);
  pointer-events:none;
}
.ba-player-hero__copy{position:relative;z-index:3;max-width:760px}
.ba-player-hero .ba-arcade__eyebrow{color:#f1c24a;margin-bottom:10px}
.ba-player-hero h1{margin:0 0 12px;color:#fff;font-size:clamp(46px,4.6vw,72px);line-height:.94;letter-spacing:-.045em}
.ba-player-hero p{margin:0;color:rgba(255,255,255,.78);font-size:clamp(16px,1.35vw,20px);line-height:1.45;max-width:690px}
.ba-player-hero__chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px}
.ba-player-hero__chips span{display:inline-flex;align-items:center;min-height:34px;padding:0 13px;border:1px solid rgba(255,255,255,.18);border-radius:999px;background:rgba(255,255,255,.08);color:#fff;font-size:12px;font-weight:900;letter-spacing:.02em;backdrop-filter:blur(5px)}
.ba-player-hero__visual{position:relative;z-index:2;height:100%;min-height:210px;display:grid;place-items:center}
.ba-player-hero__grid{position:absolute;inset:8% 0 2% 8%;border:1px solid rgba(255,255,255,.08);border-radius:26px;transform:skewX(-7deg);background:linear-gradient(135deg,rgba(255,255,255,.03),rgba(255,255,255,.01))}
.ba-player-hero__avatar{position:relative;z-index:4;display:grid;place-items:center;width:clamp(150px,15vw,220px);height:clamp(150px,15vw,220px);border-radius:50%;overflow:hidden;background:linear-gradient(145deg,#007893,#033a62);border:6px solid rgba(255,255,255,.92);box-shadow:0 0 0 11px rgba(0,120,147,.30),0 24px 50px rgba(0,0,0,.28);color:#fff;font-size:72px;font-weight:950}
.ba-player-hero__avatar img,.ba-player-photo-card__avatar img,.ba-player-summary__avatar img,.ba-account-panel__avatar img{width:100%;height:100%;display:block;object-fit:cover}
.ba-player-hero__avatar b,.ba-player-photo-card__avatar b,.ba-player-summary__avatar b,.ba-account-panel__avatar b{font:inherit;color:inherit}
.ba-player-hero__ring{position:absolute;z-index:1;border-radius:50%;border:1px solid rgba(255,255,255,.16)}
.ba-player-hero__ring--one{width:270px;height:270px}
.ba-player-hero__ring--two{width:330px;height:330px;border-style:dashed;opacity:.55}
.ba-player-hero__badge{position:absolute;z-index:5;right:7%;bottom:13%;min-width:94px;padding:8px 14px;border-radius:999px;background:var(--ba-bordeaux);color:#fff;font-size:11px;font-weight:950;letter-spacing:.14em;text-align:center;box-shadow:0 8px 24px rgba(149,2,38,.28)}
.ba-player-hero__line{position:absolute;z-index:1;height:2px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.25),transparent);transform:rotate(-8deg)}
.ba-player-hero__line--one{width:78%;right:-16%;top:34%}
.ba-player-hero__line--two{width:66%;right:-8%;bottom:25%}

.ba-player-page{padding:24px}
.ba-player-profile-grid{display:grid;grid-template-columns:minmax(280px,.78fr) minmax(0,1.22fr);gap:18px;align-items:stretch}
.ba-player-photo-card,.ba-player-account-card{border:1px solid var(--ba-border);border-radius:20px;background:linear-gradient(180deg,#fff 0%,#f7fafb 100%)}
.ba-player-photo-card{display:grid;grid-template-columns:112px minmax(0,1fr);grid-template-areas:"avatar copy" "button button" "status status";gap:16px;padding:20px;align-items:center}
.ba-player-photo-card__avatar{grid-area:avatar;width:112px;height:112px;border-radius:50%;overflow:hidden;display:grid;place-items:center;flex:0 0 112px;background:linear-gradient(145deg,var(--ba-teal),var(--ba-blue));color:#fff;font-size:42px;font-weight:950;border:4px solid #fff;box-shadow:0 0 0 1px var(--ba-border),0 12px 24px rgba(3,58,98,.12)}
.ba-player-photo-card__copy{grid-area:copy;min-width:0}
.ba-player-photo-card__copy h2{margin:0 0 5px;font-size:25px}
.ba-player-photo-card__copy p{margin:0;color:var(--ba-muted);font-size:13px;line-height:1.4}
.ba-player-photo-upload{grid-area:button;width:100%;box-sizing:border-box}
.ba-player-photo-input{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.ba-player-photo-status{grid-area:status;min-height:18px;color:var(--ba-teal);font-size:12px;font-weight:800;text-align:center}
.ba-player-account-card{padding:20px}
.ba-player-summary{padding-bottom:18px}
.ba-player-summary__avatar{overflow:hidden}
.ba-account-panel__avatar{overflow:hidden}
.ba-player-entry-section{padding:24px}

@media(max-width:1000px){
  .ba-player-hero{grid-template-columns:minmax(0,1fr) minmax(280px,.75fr);padding:34px 34px}
  .ba-player-profile-grid{grid-template-columns:1fr}
}
@media(max-width:700px){
  .ba-player-hero{
    display:block;
    width:100%;
    aspect-ratio:1 / 1;
    min-height:0;
    padding:24px 22px;
    border-radius:22px;
  }
  .ba-player-hero::before{mask-image:linear-gradient(180deg,transparent 0%,#000 32%,#000 100%)}
  .ba-player-hero__copy{position:relative;z-index:6;max-width:none}
  .ba-player-hero h1{font-size:clamp(38px,12vw,54px);margin-bottom:8px}
  .ba-player-hero p{font-size:14px;line-height:1.34;max-width:88%}
  .ba-player-hero__chips{margin-top:13px;gap:5px}
  .ba-player-hero__chips span{min-height:29px;padding:0 10px;font-size:10px}
  .ba-player-hero__visual{position:absolute;left:0;right:0;bottom:0;height:55%;min-height:0;z-index:2;transform:translateY(5%)}
  .ba-player-hero__grid{inset:4% 5% 0 18%}
  .ba-player-hero__avatar{width:min(34vw,148px);height:min(34vw,148px);font-size:50px;border-width:4px;box-shadow:0 0 0 8px rgba(0,120,147,.27),0 18px 38px rgba(0,0,0,.25)}
  .ba-player-hero__ring--one{width:min(46vw,200px);height:min(46vw,200px)}
  .ba-player-hero__ring--two{width:min(58vw,250px);height:min(58vw,250px)}
  .ba-player-hero__badge{right:12%;bottom:12%;font-size:9px;min-width:80px;padding:7px 10px}
  .ba-player-page{padding:18px}
  .ba-player-photo-card{grid-template-columns:86px minmax(0,1fr);gap:12px;padding:16px}
  .ba-player-photo-card__avatar{width:86px;height:86px;flex-basis:86px;font-size:34px}
  .ba-player-photo-card__copy h2{font-size:21px}
  .ba-player-account-card{padding:16px}
  .ba-player-summary{gap:13px}
  .ba-player-summary__avatar{width:62px;height:62px;flex-basis:62px;font-size:24px}
  .ba-player-summary h2{font-size:25px}
}

/* Alpha 112 - editor ritaglio foto profilo */
.ba-avatar-crop-open{overflow:hidden!important}
.ba-avatar-crop-modal[hidden]{display:none!important}
.ba-avatar-crop-modal{position:fixed;inset:0;z-index:12000;display:grid;place-items:center;padding:20px}
.ba-avatar-crop-modal__backdrop{position:absolute;inset:0;background:rgba(3,26,43,.78);backdrop-filter:blur(5px)}
.ba-avatar-crop-modal__card{position:relative;z-index:2;width:min(520px,100%);max-height:calc(100dvh - 24px);overflow:auto;background:#fff;border:1px solid var(--ba-border);border-radius:24px;padding:22px;box-shadow:0 26px 80px rgba(0,0,0,.28)}
.ba-avatar-crop-modal__head{display:flex;align-items:flex-start;justify-content:space-between;gap:15px}.ba-avatar-crop-modal__head h3{margin:3px 0 0;font-size:26px;color:var(--ba-blue)}
.ba-avatar-crop-modal__card>p{margin:8px 0 16px;color:var(--ba-muted);font-size:13px;line-height:1.45}
.ba-avatar-crop-modal__close{width:38px;height:38px;flex:0 0 38px;border:1px solid var(--ba-border);border-radius:50%;background:#fff;color:var(--ba-blue);font-size:24px;line-height:1}
.ba-avatar-crop-stage{position:relative;width:min(360px,82vw);aspect-ratio:1;margin:0 auto;border-radius:18px;overflow:hidden;background:#dfe8ec;box-shadow:inset 0 0 0 1px rgba(3,58,98,.14);touch-action:none}
.ba-avatar-crop-stage canvas{display:block;width:100%;height:100%;cursor:grab;touch-action:none}.ba-avatar-crop-stage canvas:active{cursor:grabbing}
.ba-avatar-crop-stage::after{content:"";position:absolute;inset:2px;border:3px solid rgba(255,255,255,.96);border-radius:50%;box-shadow:0 0 0 999px rgba(3,26,43,.47);pointer-events:none}
.ba-avatar-crop-zoom{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:12px;margin:18px 0 0}.ba-avatar-crop-zoom span{font-size:12px;font-weight:900;color:var(--ba-blue)}.ba-avatar-crop-zoom input{width:100%;accent-color:var(--ba-bordeaux)}
.ba-avatar-crop-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:16px}.ba-avatar-crop-actions .ba-btn{width:100%}
@media(max-width:520px){.ba-avatar-crop-modal{padding:8px}.ba-avatar-crop-modal__card{padding:15px;border-radius:18px}.ba-avatar-crop-modal__head h3{font-size:21px}.ba-avatar-crop-modal__card>p{font-size:11.5px;margin-bottom:10px}.ba-avatar-crop-stage{width:min(310px,78vw)}.ba-avatar-crop-actions{gap:6px}.ba-avatar-crop-actions .ba-btn{min-height:44px;padding:0 10px;font-size:13px}}

/* Alpha 114 - selezione avatar BA Arcade */
.ba-player-image-actions{grid-area:button;display:grid;grid-template-columns:1fr 1fr;gap:8px}
.ba-player-image-actions .ba-btn{width:100%;box-sizing:border-box}
.ba-avatar-picker-open{overflow:hidden!important}
.ba-avatar-picker-modal[hidden]{display:none!important}
.ba-avatar-picker-modal{position:fixed;inset:0;z-index:12010;display:grid;place-items:center;padding:20px}
.ba-avatar-picker-modal__backdrop{position:absolute;inset:0;background:rgba(3,26,43,.80);backdrop-filter:blur(5px)}
.ba-avatar-picker-modal__card{position:relative;z-index:2;width:min(900px,100%);max-height:calc(100dvh - 24px);overflow:auto;background:#fff;border:1px solid var(--ba-border);border-radius:24px;padding:22px;box-shadow:0 26px 80px rgba(0,0,0,.30)}
.ba-avatar-picker-modal__head{display:flex;align-items:flex-start;justify-content:space-between;gap:15px}
.ba-avatar-picker-modal__head h3{margin:3px 0 0;font-size:28px;color:var(--ba-blue)}
.ba-avatar-picker-modal__card>p{margin:8px 0 18px;color:var(--ba-muted);font-size:13px;line-height:1.45}
.ba-avatar-picker-modal__close{width:38px;height:38px;flex:0 0 38px;border:1px solid var(--ba-border);border-radius:50%;background:#fff;color:var(--ba-blue);font-size:24px;line-height:1;cursor:pointer}
.ba-avatar-picker-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.ba-avatar-picker-item{appearance:none;border:1px solid var(--ba-border);border-radius:18px;background:#f7fafb;padding:12px;display:grid;gap:8px;justify-items:center;cursor:pointer;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease,background .16s ease;color:var(--ba-blue)}
.ba-avatar-picker-item:hover{transform:translateY(-2px);border-color:rgba(0,120,147,.45);box-shadow:0 10px 24px rgba(3,58,98,.12)}
.ba-avatar-picker-item.is-selected{border-color:var(--ba-bordeaux);background:#fff;box-shadow:0 0 0 2px rgba(149,2,38,.14),0 10px 24px rgba(3,58,98,.12)}
.ba-avatar-picker-item span{width:min(150px,100%);aspect-ratio:1;border-radius:50%;display:block;overflow:hidden;background:#fff}
.ba-avatar-picker-item img{display:block;width:100%;height:100%;object-fit:contain}
.ba-avatar-picker-item b{font-size:12px;line-height:1.2;text-align:center}
@media(max-width:700px){
  .ba-player-image-actions{grid-template-columns:1fr}
  .ba-avatar-picker-modal{padding:8px}
  .ba-avatar-picker-modal__card{padding:15px;border-radius:18px}
  .ba-avatar-picker-modal__head h3{font-size:22px}
  .ba-avatar-picker-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}
  .ba-avatar-picker-item{padding:8px;border-radius:14px}
  .ba-avatar-picker-item b{font-size:10px}
}
@media(max-width:430px){.ba-avatar-picker-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Alpha 115 - Area Player: account compatto, matite di modifica e storico reale */
.ba-player-page--account{padding:24px}
.ba-player-account-overview{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(330px,.9fr);gap:18px;border:1px solid var(--ba-border);border-radius:22px;background:linear-gradient(180deg,#fff 0%,#f8fbfc 100%);padding:22px}
.ba-player-account-overview__main{display:grid;grid-template-columns:138px minmax(0,1fr);gap:22px;align-items:center;min-width:0}
.ba-player-account-avatar-wrap{position:relative;width:138px;height:138px}
.ba-player-account-avatar{width:138px;height:138px;border-radius:50%;overflow:hidden;display:grid;place-items:center;background:linear-gradient(145deg,var(--ba-teal),var(--ba-blue));color:#fff;font-size:48px;font-weight:950;border:5px solid #fff;box-shadow:0 0 0 1px var(--ba-border),0 16px 32px rgba(3,58,98,.14)}
.ba-player-account-avatar img{display:block;width:100%;height:100%;object-fit:cover}
.ba-player-account-avatar b{font:inherit;color:inherit}
.ba-player-pencil{appearance:none;width:36px;height:36px;display:grid;place-items:center;flex:0 0 36px;border:1px solid rgba(3,58,98,.16);border-radius:50%;background:#fff;color:var(--ba-blue);font-size:17px;font-weight:900;line-height:1;cursor:pointer;box-shadow:0 5px 14px rgba(3,58,98,.08);transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease}
.ba-player-pencil:hover{transform:translateY(-1px);border-color:rgba(0,120,147,.5);box-shadow:0 8px 18px rgba(3,58,98,.12)}
.ba-player-pencil--avatar{position:absolute;right:0;bottom:3px;border:3px solid #fff;background:var(--ba-blue);color:#fff;width:40px;height:40px}
.ba-player-account-details{min-width:0}
.ba-player-account-details h2{margin:3px 0 14px;font-size:28px;color:var(--ba-text)}
.ba-player-account-rows{display:grid;gap:0;border-top:1px solid var(--ba-border)}
.ba-player-account-row{min-height:60px;display:flex;align-items:center;justify-content:space-between;gap:14px;border-bottom:1px solid var(--ba-border)}
.ba-player-account-row>div{min-width:0;display:grid;gap:4px}
.ba-player-account-row small{color:var(--ba-muted);font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.06em}
.ba-player-account-row strong{font-size:15px;color:var(--ba-text);overflow-wrap:anywhere}
.ba-player-records-summary{border-left:1px solid var(--ba-border);padding-left:20px;display:flex;flex-direction:column;justify-content:center;min-width:0}
.ba-player-records-summary__head h3{margin:3px 0 10px;font-size:23px;color:var(--ba-text)}
.ba-player-records-summary .ba-profile__stats{margin-top:0;grid-template-columns:1fr;gap:8px}
.ba-player-records-summary .ba-profile__stats>div{padding:12px 14px;border-radius:13px}
.ba-player-records-summary .ba-profile__stats strong{font-size:18px}

.ba-player-history-section{margin-top:18px;border:1px solid var(--ba-border);border-radius:22px;background:#fff;padding:22px}
.ba-player-history-section__head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:18px}
.ba-player-history-section__head h2{margin:3px 0 5px;font-size:28px;color:var(--ba-text)}
.ba-player-history-section__head p{margin:0;max-width:720px;color:var(--ba-muted);font-size:13px;line-height:1.5}
.ba-player-history-section__chip{flex:0 0 auto;align-self:center;padding:8px 12px;border:1px solid rgba(0,120,147,.2);border-radius:999px;background:rgba(0,120,147,.07);color:var(--ba-teal);font-size:11px;font-weight:900;letter-spacing:.04em}
.ba-player-history-table{overflow:hidden;border:1px solid var(--ba-border);border-radius:16px;background:#fbfcfd}
.ba-player-history-row{display:grid;grid-template-columns:minmax(150px,1.05fr) minmax(110px,.7fr) minmax(190px,1.2fr) minmax(150px,.85fr);gap:12px;align-items:center;min-height:58px;padding:0 16px;border-top:1px solid var(--ba-border);font-size:13px}
.ba-player-history-row:first-child{border-top:0}
.ba-player-history-row--head{min-height:42px;background:#f0f5f7;color:var(--ba-muted);font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.06em;border-top:0}
.ba-player-history-row strong{color:var(--ba-text);font-size:14px}
.ba-player-history-row b{color:var(--ba-blue);font-size:15px}
.ba-player-history-row span,.ba-player-history-row time{color:var(--ba-muted);font-size:12px}
.ba-player-history-loading,.ba-player-history-empty{padding:25px;text-align:center;color:var(--ba-muted);font-size:13px}
.ba-player-history-more{display:block;margin:15px auto 0;min-width:150px}
.ba-player-page--account>.ba-player-photo-status{display:block;min-height:18px;margin:10px 0 -4px;text-align:center}

.ba-profile-modal-open{overflow:hidden!important}
.ba-profile-image-modal[hidden],.ba-profile-edit-modal[hidden]{display:none!important}
.ba-profile-image-modal,.ba-profile-edit-modal{position:fixed;inset:0;z-index:12005;display:grid;place-items:center;padding:20px}
.ba-profile-image-modal__backdrop,.ba-profile-edit-modal__backdrop{position:absolute;inset:0;background:rgba(3,26,43,.8);backdrop-filter:blur(5px)}
.ba-profile-image-modal__card,.ba-profile-edit-modal__card{position:relative;z-index:2;width:min(560px,100%);max-height:calc(100dvh - 24px);overflow:auto;background:#fff;border:1px solid var(--ba-border);border-radius:24px;padding:22px;box-shadow:0 26px 80px rgba(0,0,0,.3)}
.ba-profile-image-modal__head,.ba-profile-edit-modal__head{display:flex;align-items:flex-start;justify-content:space-between;gap:15px}
.ba-profile-image-modal__head h3,.ba-profile-edit-modal__head h3{margin:3px 0 0;font-size:27px;color:var(--ba-blue)}
.ba-profile-image-modal__close,.ba-profile-edit-modal__close{width:38px;height:38px;flex:0 0 38px;border:1px solid var(--ba-border);border-radius:50%;background:#fff;color:var(--ba-blue);font-size:24px;line-height:1;cursor:pointer}
.ba-profile-image-modal__card>p{margin:8px 0 18px;color:var(--ba-muted);font-size:13px;line-height:1.45}
.ba-profile-image-options{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.ba-profile-image-option{appearance:none;min-height:180px;border:1px solid var(--ba-border);border-radius:18px;background:#f7fafb;padding:18px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;text-align:center;cursor:pointer;color:var(--ba-text);transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease}
.ba-profile-image-option:hover{transform:translateY(-2px);border-color:rgba(0,120,147,.45);box-shadow:0 12px 26px rgba(3,58,98,.1)}
.ba-profile-image-option__icon{width:58px;height:58px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(145deg,var(--ba-teal),var(--ba-blue));color:#fff;font-size:18px;font-weight:950;box-shadow:0 9px 20px rgba(3,58,98,.16)}
.ba-profile-image-option b{font-size:16px;color:var(--ba-blue)}
.ba-profile-image-option small{max-width:200px;color:var(--ba-muted);font-size:11px;line-height:1.4}

.ba-profile-edit-modal form{margin-top:18px}
.ba-profile-edit-modal form label{display:grid;gap:7px;margin-bottom:14px;color:var(--ba-text);font-size:12px;font-weight:900}
.ba-profile-edit-modal form input{width:100%;box-sizing:border-box;min-height:48px;border:1px solid var(--ba-border);border-radius:12px;background:#fff;padding:0 13px;color:var(--ba-text);font:inherit;outline:none}
.ba-profile-edit-modal form input:focus{border-color:var(--ba-teal);box-shadow:0 0 0 3px rgba(0,120,147,.1)}
.ba-profile-edit-modal form p{margin:0 0 14px;color:var(--ba-muted);font-size:12px;line-height:1.45}
.ba-profile-edit-modal__status{min-height:20px;margin:4px 0;color:var(--ba-teal);font-size:12px;font-weight:800;text-align:center}
.ba-profile-edit-modal__actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:10px}
.ba-profile-edit-modal__actions .ba-btn{width:100%}

@media(max-width:1000px){
  .ba-player-account-overview{grid-template-columns:1fr}
  .ba-player-records-summary{border-left:0;border-top:1px solid var(--ba-border);padding:18px 0 0}
  .ba-player-records-summary .ba-profile__stats{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:700px){
  .ba-player-page--account{padding:16px}
  .ba-player-account-overview{padding:16px;border-radius:18px;gap:16px}
  .ba-player-account-overview__main{grid-template-columns:92px minmax(0,1fr);gap:14px;align-items:start}
  .ba-player-account-avatar-wrap,.ba-player-account-avatar{width:92px;height:92px}
  .ba-player-account-avatar{font-size:34px;border-width:4px}
  .ba-player-pencil--avatar{width:34px;height:34px;right:-2px;bottom:-2px}
  .ba-player-account-details h2{font-size:23px;margin-bottom:9px}
  .ba-player-account-row{min-height:55px;gap:8px}
  .ba-player-account-row strong{font-size:13px}
  .ba-player-pencil{width:33px;height:33px;flex-basis:33px}
  .ba-player-records-summary .ba-profile__stats{grid-template-columns:1fr}
  .ba-player-history-section{padding:16px;border-radius:18px}
  .ba-player-history-section__head{display:block;margin-bottom:14px}
  .ba-player-history-section__head h2{font-size:24px}
  .ba-player-history-section__chip{display:inline-block;margin-top:11px}
  .ba-player-history-row--head{display:none}
  .ba-player-history-row{grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto auto;gap:4px 12px;min-height:72px;padding:12px 14px}
  .ba-player-history-row strong{grid-column:1;grid-row:1}
  .ba-player-history-row b{grid-column:2;grid-row:1;text-align:right}
  .ba-player-history-row span{grid-column:1;grid-row:2}
  .ba-player-history-row time{grid-column:2;grid-row:2;text-align:right;font-size:10px}
  .ba-profile-image-modal,.ba-profile-edit-modal{padding:8px}
  .ba-profile-image-modal__card,.ba-profile-edit-modal__card{padding:16px;border-radius:18px}
  .ba-profile-image-modal__head h3,.ba-profile-edit-modal__head h3{font-size:22px}
  .ba-profile-image-options{grid-template-columns:1fr;gap:8px}
  .ba-profile-image-option{min-height:120px;padding:14px}
  .ba-profile-image-option__icon{width:48px;height:48px}
}
@media(max-width:470px){
  .ba-player-account-overview__main{grid-template-columns:1fr}
  .ba-player-account-avatar-wrap{margin:0 auto}
  .ba-player-account-details{text-align:left}
}
.ba-profile-image-remove{appearance:none;display:block;margin:14px auto 0;border:0;background:transparent;color:var(--ba-muted);font-size:11px;font-weight:800;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.ba-profile-image-remove:hover{color:var(--ba-bordeaux)}

/* Alpha 116 - avatar raggruppati per famiglia */
.ba-avatar-picker-group{margin-top:18px}
.ba-avatar-picker-group:first-of-type{margin-top:0}
.ba-avatar-picker-group__title{margin:0 0 12px;color:var(--ba-blue);font-size:14px;font-weight:950;text-transform:uppercase;letter-spacing:.055em}
.ba-avatar-picker-group--special{padding-top:18px;border-top:1px solid var(--ba-border)}
.ba-avatar-picker-grid--special{grid-template-columns:minmax(0,205px);justify-content:start}
@media(max-width:700px){.ba-avatar-picker-grid--special{grid-template-columns:minmax(0,1fr);max-width:190px}}


/* =========================================================
   Alpha 117 - Mini classifica premium Steel Blocks
   ========================================================= */
.ba-game-mini-ranking--enhanced{
  padding:26px;
  background:
    radial-gradient(circle at 100% 0,rgba(0,120,147,.07),transparent 32%),
    #fff;
}
.ba-game-mini-ranking--enhanced .ba-game-mini-ranking__head{
  margin-bottom:16px;
  padding-bottom:15px;
  border-bottom:1px solid #e3ebef;
}
.ba-game-mini-ranking--enhanced .ba-game-mini-ranking__list{
  display:grid;
  gap:9px;
  margin-bottom:20px;
}
.ba-game-mini-ranking--enhanced .ba-mini-rank-card{
  display:grid;
  grid-template-columns:42px 54px minmax(0,1fr) auto;
  align-items:center;
  gap:13px;
  min-height:74px;
  padding:9px 14px;
  border:1px solid #e2eaee;
  border-radius:16px;
  background:#fbfdfe;
  box-shadow:0 5px 14px rgba(3,58,98,.035);
}
.ba-game-mini-ranking--enhanced .ba-mini-rank-card:last-child{border-bottom:1px solid #e2eaee}
.ba-game-mini-ranking--enhanced .ba-mini-rank-card--1{
  border-color:#ead899;
  background:linear-gradient(90deg,rgba(245,231,173,.42),#fff 34%);
}
.ba-game-mini-ranking--enhanced .ba-mini-rank-card--2{
  background:linear-gradient(90deg,rgba(229,235,239,.62),#fff 32%);
}
.ba-game-mini-ranking--enhanced .ba-mini-rank-card--3{
  background:linear-gradient(90deg,rgba(240,215,195,.42),#fff 32%);
}
.ba-game-mini-ranking--enhanced .ba-mini-rank-card__pos{
  width:34px;
  height:34px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:#edf3f6;
  color:#073b5e;
  font-size:14px;
  font-weight:900;
}
.ba-game-mini-ranking--enhanced .ba-mini-rank-card--1 .ba-mini-rank-card__pos{background:#efd878;color:#684d00}
.ba-game-mini-ranking--enhanced .ba-mini-rank-card--2 .ba-mini-rank-card__pos{background:#dce5ea;color:#4d616d}
.ba-game-mini-ranking--enhanced .ba-mini-rank-card--3 .ba-mini-rank-card__pos{background:#ebc8aa;color:#784727}
.ba-game-mini-ranking--enhanced .ba-mini-rank-card__avatar{
  width:50px;
  height:50px;
  display:grid;
  place-items:center;
  overflow:hidden;
  border:2px solid #fff;
  border-radius:50%;
  background:linear-gradient(145deg,#eaf3f6,#dbe8ed);
  box-shadow:0 0 0 1px #d5e1e6,0 5px 12px rgba(3,58,98,.1);
  color:#073b5e;
  font-size:19px;
  font-weight:900;
}
.ba-game-mini-ranking--enhanced .ba-mini-rank-card__avatar img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
}
.ba-game-mini-ranking--enhanced .ba-mini-rank-card__player{
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:7px;
}
.ba-game-mini-ranking--enhanced .ba-mini-rank-card__player>b{
  overflow:hidden;
  color:#073b5e;
  font-size:16px;
  line-height:1.05;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.ba-game-mini-ranking--enhanced .ba-mini-rank-card__player>small{
  display:flex;
  flex-wrap:wrap;
  gap:5px;
}
.ba-game-mini-ranking--enhanced .ba-mini-rank-card__player em{
  padding:4px 8px;
  border:1px solid #dce7eb;
  border-radius:999px;
  background:#f2f7f9;
  color:#59727f;
  font-size:10px;
  font-style:normal;
  font-weight:800;
  line-height:1;
}
.ba-game-mini-ranking--enhanced .ba-mini-rank-card__score{
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  gap:2px;
  text-align:right;
  white-space:nowrap;
}
.ba-game-mini-ranking--enhanced .ba-mini-rank-card__score>small{
  color:#8a9ca5;
  font-size:9px;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.ba-game-mini-ranking--enhanced .ba-mini-rank-card__score>b{
  color:#073b5e;
  font-size:18px;
  line-height:1.05;
}
@media(max-width:700px){
  .ba-game-mini-ranking--enhanced{padding:18px 14px}
  .ba-game-mini-ranking--enhanced .ba-game-mini-ranking__list{gap:8px}
  .ba-game-mini-ranking--enhanced .ba-mini-rank-card{
    grid-template-columns:32px 45px minmax(0,1fr) auto;
    gap:8px;
    min-height:68px;
    padding:9px 9px;
    border-radius:14px;
  }
  .ba-game-mini-ranking--enhanced .ba-mini-rank-card__pos{width:28px;height:28px;font-size:11px}
  .ba-game-mini-ranking--enhanced .ba-mini-rank-card__avatar{width:42px;height:42px}
  .ba-game-mini-ranking--enhanced .ba-mini-rank-card__player>b{font-size:13px}
  .ba-game-mini-ranking--enhanced .ba-mini-rank-card__player>small{gap:3px}
  .ba-game-mini-ranking--enhanced .ba-mini-rank-card__player em{padding:3px 5px;font-size:8px}
  .ba-game-mini-ranking--enhanced .ba-mini-rank-card__score>b{font-size:13px}
  .ba-game-mini-ranking--enhanced .ba-mini-rank-card__score>small{font-size:7px}
}
@media(max-width:470px){
  .ba-game-mini-ranking--enhanced .ba-mini-rank-card{
    grid-template-columns:30px 42px minmax(0,1fr);
  }
  .ba-game-mini-ranking--enhanced .ba-mini-rank-card__score{
    grid-column:3;
    align-items:flex-start;
    margin-top:-2px;
    text-align:left;
  }
  .ba-game-mini-ranking--enhanced .ba-mini-rank-card__score>small{display:none}
}

/* =========================================================
   Alpha 118 - Sfide settimanali: hero + hub + Trova le parole
   ========================================================= */
.ba-weekly-hero{
  position:relative;
  display:grid;
  grid-template-columns:minmax(0,1.12fr) minmax(360px,.88fr);
  align-items:center;
  aspect-ratio:2138 / 681;
  min-height:0;
  padding:40px 46px;
  overflow:hidden;
  border:0!important;
  border-radius:24px;
  background:
    radial-gradient(circle at 78% 18%,rgba(0,138,164,.38),transparent 27%),
    radial-gradient(circle at 18% 115%,rgba(178,13,44,.22),transparent 40%),
    linear-gradient(135deg,#061a2b 0%,#005a88 54%,#071827 100%);
  box-shadow:0 10px 28px rgba(3,58,98,.13);
  isolation:isolate;
}
.ba-weekly-hero::before{
  content:"";position:absolute;inset:0;z-index:0;opacity:.15;pointer-events:none;
  background:
    linear-gradient(rgba(255,255,255,.12) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.12) 1px,transparent 1px);
  background-size:34px 34px;
  mask-image:linear-gradient(90deg,transparent 0%,#000 38%,#000 100%);
}
.ba-weekly-hero__copy{position:relative;z-index:4;max-width:790px}
.ba-weekly-hero .ba-arcade__eyebrow{color:#f1c24a;margin-bottom:10px}
.ba-weekly-hero h1{margin:0 0 12px;color:#fff;font-size:clamp(46px,4.6vw,72px);line-height:.94;letter-spacing:-.045em}
.ba-weekly-hero p{margin:0;color:rgba(255,255,255,.80);font-size:clamp(16px,1.3vw,20px);line-height:1.45;max-width:720px}
.ba-weekly-hero__chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px}
.ba-weekly-hero__chips span{display:inline-flex;align-items:center;min-height:34px;padding:0 13px;border:1px solid rgba(255,255,255,.20);border-radius:999px;background:rgba(255,255,255,.08);color:#fff;font-size:12px;font-weight:900;backdrop-filter:blur(5px)}
.ba-weekly-hero__visual{position:relative;z-index:3;height:100%;min-height:220px}
.ba-weekly-hero__orbit{position:absolute;left:50%;top:50%;width:min(32vw,420px);height:min(25vw,330px);transform:translate(-50%,-50%) rotate(-8deg);border:1px dashed rgba(255,255,255,.20);border-radius:50%}
.ba-weekly-hero__logo{position:absolute;left:50%;top:50%;width:clamp(82px,8vw,125px);height:auto;transform:translate(-50%,-50%);filter:drop-shadow(0 18px 24px rgba(0,0,0,.26));z-index:5}
.ba-weekly-hero__tile{position:absolute;z-index:4;width:112px;min-height:76px;padding:12px;border-radius:17px;border:1px solid rgba(255,255,255,.30);background:rgba(255,255,255,.12);box-shadow:0 14px 35px rgba(0,0,0,.18);backdrop-filter:blur(8px);color:#fff;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:3px}
.ba-weekly-hero__tile b{font-size:21px;line-height:1;font-weight:950;letter-spacing:-.03em}
.ba-weekly-hero__tile small{font-size:8px;font-weight:950;letter-spacing:.14em;opacity:.72}
.ba-weekly-hero__tile--one{left:4%;top:10%;background:rgba(0,138,164,.27);transform:rotate(-8deg)}
.ba-weekly-hero__tile--two{right:4%;top:10%;background:rgba(62,128,107,.26);transform:rotate(7deg)}
.ba-weekly-hero__tile--three{right:-1%;top:48%;background:rgba(210,155,16,.25);transform:rotate(10deg)}
.ba-weekly-hero__tile--four{left:5%;bottom:5%;background:rgba(0,90,136,.30);transform:rotate(7deg)}
.ba-weekly-hero__tile--five{right:13%;bottom:1%;background:rgba(178,13,44,.25);transform:rotate(-7deg)}


/* Alpha 121.83 - calendario settimanale: in corso + prossima */
.ba-weekly-cycle{
  display:grid;
  grid-template-columns:minmax(0,1.35fr) minmax(320px,.85fr);
  gap:18px;
  margin:0 0 18px;
}
.ba-weekly-cycle__panel{
  position:relative;
  overflow:hidden;
  min-width:0;
  padding:20px 22px;
  border:1px solid #d8e5ea;
  border-radius:20px;
  background:#fff;
  box-shadow:0 8px 22px rgba(3,58,98,.055);
}
.ba-weekly-cycle__panel::before{
  content:"";
  position:absolute;
  left:0;
  top:0;
  bottom:0;
  width:4px;
  border-radius:20px 0 0 20px;
}
.ba-weekly-cycle__panel--current{
  background:linear-gradient(135deg,#f8fcfd 0%,#edf8fb 100%);
  border-color:#cfe3e9;
}
.ba-weekly-cycle__panel--current::before{background:#008aa4}
.ba-weekly-cycle__panel--next{
  background:linear-gradient(135deg,#fff 0%,#fbf8f1 100%);
  border-color:#e8e0cc;
}
.ba-weekly-cycle__panel--next::before{background:#d29b10}
.ba-weekly-cycle__head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  flex-wrap:wrap;
  margin-bottom:10px;
}
.ba-weekly-cycle__eyebrow{
  color:#6b808a;
  font-size:10px;
  font-weight:950;
  letter-spacing:.09em;
  text-transform:uppercase;
}
.ba-weekly-cycle__status{
  display:inline-flex;
  align-items:center;
  gap:7px;
  min-height:30px;
  padding:0 11px;
  border-radius:999px;
  font-size:10px;
  font-weight:950;
  letter-spacing:.06em;
  text-transform:uppercase;
}
.ba-weekly-cycle__status::before{
  content:"";
  width:7px;
  height:7px;
  flex:0 0 7px;
  border-radius:50%;
  background:currentColor;
  box-shadow:0 0 0 4px currentColor;
  opacity:.82;
}
.ba-weekly-cycle__status--current{background:#def3f7;color:#007f9b}
.ba-weekly-cycle__status--next{background:#fff0c8;color:#9d7200}
.ba-weekly-cycle__panel h2{
  margin:0 0 14px;
  color:#073d62;
  font-size:29px;
  line-height:1.05;
  letter-spacing:-.03em;
}
.ba-weekly-cycle__panel--next h2{font-size:25px}
.ba-weekly-cycle__timing{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}
.ba-weekly-cycle__timing span{
  display:flex;
  align-items:center;
  gap:8px;
  min-width:0;
  padding:10px 12px;
  border:1px solid rgba(7,61,98,.10);
  border-radius:13px;
  background:rgba(255,255,255,.78);
  color:#526d7b;
  font-size:12px;
  font-weight:800;
  line-height:1.25;
}
.ba-weekly-cycle__timing b{
  flex:0 0 auto;
  color:#073d62;
  font-size:9px;
  font-weight:950;
  letter-spacing:.07em;
  text-transform:uppercase;
}
.ba-weekly-cycle__panel--next .ba-weekly-cycle__timing span{background:rgba(255,255,255,.9)}
.ba-weekly-cycle-footer{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  flex-wrap:wrap;
  margin-top:18px;
  padding:12px 14px;
  border-top:1px solid #e2eaed;
  color:#627985;
  font-size:11px;
}
.ba-weekly-cycle-footer__label{color:#008aa4;font-size:10px;font-weight:950;letter-spacing:.08em}
.ba-weekly-cycle-footer strong{color:#073d62;font-size:12px}
.ba-weekly-cycle-footer b{color:#073d62}
.ba-weekly-cycle-footer__sep{color:#b7c4ca}
@media(max-width:900px){
  .ba-weekly-cycle{grid-template-columns:1fr;gap:12px}
}
@media(max-width:700px){
  .ba-weekly-cycle{display:block;margin:0 0 14px}
  .ba-weekly-cycle__panel--next{display:none}
  .ba-weekly-cycle__panel{padding:16px;border-radius:18px}
  .ba-weekly-cycle__panel h2,.ba-weekly-cycle__panel--next h2{font-size:23px}
  .ba-weekly-cycle__timing{grid-template-columns:1fr;gap:7px}
  .ba-weekly-cycle__timing span{padding:9px 10px;font-size:11px}
  .ba-weekly-cycle-footer{align-items:flex-start;justify-content:flex-start;gap:5px 8px;margin-top:14px;padding:12px 2px 0;text-align:left}
  .ba-weekly-cycle-footer__sep{display:none}
  .ba-weekly-cycle-footer>span:last-child{flex-basis:100%}
}

.ba-weekly-hub{padding-top:28px}
.ba-weekly-hub__head{display:flex;align-items:flex-end;justify-content:space-between;gap:22px;margin-bottom:22px}
.ba-weekly-hub__head h2{margin:3px 0 6px;font-size:34px;letter-spacing:-.025em}
.ba-weekly-hub__head .ba-section__lead{margin:0;max-width:760px}
.ba-weekly-progress-pill{flex:0 0 auto;display:flex;align-items:baseline;gap:7px;padding:12px 16px;border:1px solid var(--ba-border);border-radius:16px;background:#f7fafb}
.ba-weekly-progress-pill strong{font-size:24px;color:var(--ba-blue)}
.ba-weekly-progress-pill span{font-size:12px;color:var(--ba-muted);font-weight:800}
.ba-weekly-challenge-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px}
.ba-weekly-challenge-card{position:relative;overflow:hidden;display:flex;flex-direction:column;min-width:0;border:1px solid var(--ba-border);border-radius:20px;background:#fff;box-shadow:0 8px 24px rgba(3,58,98,.055)}
.ba-weekly-challenge-card__visual{position:relative;height:150px;display:grid;place-items:center;background:linear-gradient(145deg,color-mix(in srgb,var(--challenge-color) 12%,#fff),#f6fafb);border-bottom:1px solid var(--ba-border);overflow:hidden}
.ba-weekly-challenge-card__visual::after{content:"";position:absolute;width:145px;height:145px;border:24px solid color-mix(in srgb,var(--challenge-color) 12%,transparent);border-radius:50%;right:-70px;bottom:-80px}
.ba-weekly-challenge-card__number{position:absolute;left:12px;top:11px;z-index:3;color:var(--challenge-color);font-size:11px;font-weight:950;letter-spacing:.08em}
.ba-weekly-challenge-card__body{display:flex;flex-direction:column;flex:1;padding:16px}
.ba-weekly-challenge-card__status{align-self:flex-start;display:inline-flex;align-items:center;min-height:25px;padding:0 9px;border-radius:999px;background:color-mix(in srgb,var(--challenge-color) 10%,#fff);color:var(--challenge-color);font-size:9px;font-weight:950;text-transform:uppercase;letter-spacing:.07em}
.ba-weekly-challenge-card h3{margin:10px 0 7px;font-size:20px;line-height:1.06}
.ba-weekly-challenge-card p{margin:0 0 15px;color:var(--ba-muted);font-size:13px;line-height:1.42}
.ba-weekly-challenge-card__cta{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:43px;padding:0 13px;border-radius:12px;background:var(--challenge-color);color:#fff!important;text-decoration:none!important;font-size:12px;font-weight:950}
.ba-weekly-challenge-card__cta span{font-size:17px}
.ba-weekly-challenge-card__cta.is-disabled{background:#eef2f3;color:#8a969d!important;justify-content:center}
.ba-weekly-challenge-card.is-coming{opacity:.78}

.ba-weekly-preview{position:relative;z-index:2}
.ba-weekly-preview--words{display:grid;grid-template-columns:repeat(4,29px);gap:4px;transform:rotate(-4deg)}
.ba-weekly-preview--words span{width:29px;height:29px;border-radius:7px;background:#fff;display:grid;place-items:center;color:var(--challenge-color);font-size:12px;font-weight:950;box-shadow:0 3px 10px rgba(0,0,0,.08)}
.ba-weekly-preview--sudoku,.ba-weekly-preview--mine{display:grid;grid-template-columns:repeat(3,31px);gap:3px;padding:5px;border:2px solid var(--challenge-color);background:#fff;border-radius:9px;transform:rotate(4deg)}
.ba-weekly-preview--sudoku i,.ba-weekly-preview--mine i{width:31px;height:31px;display:grid;place-items:center;background:#f3f6f7;border:1px solid #dce4e7;font-style:normal;font-size:12px;font-weight:950;color:var(--challenge-color)}
.ba-weekly-preview--clues{width:116px;height:100px;position:relative}
.ba-weekly-preview--clues i{position:absolute;width:32px;height:32px;border-radius:50%;background:#fff;border:5px solid var(--challenge-color);box-shadow:0 5px 12px rgba(0,0,0,.08)}
.ba-weekly-preview--clues i:nth-child(1){left:5px;top:8px}.ba-weekly-preview--clues i:nth-child(2){right:5px;top:8px}.ba-weekly-preview--clues i:nth-child(3){left:42px;bottom:2px}
.ba-weekly-preview--clues b{position:absolute;left:42px;top:29px;width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:var(--challenge-color);color:#fff;font-size:19px;z-index:3}
.ba-weekly-preview--formula{display:flex;align-items:flex-end;gap:8px;height:95px}
.ba-weekly-preview--formula i{position:relative;display:block;width:24px;height:82px;border:3px solid #fff;border-top:0;border-radius:0 0 15px 15px;box-shadow:0 3px 10px rgba(0,0,0,.10);background:linear-gradient(to top,var(--challenge-color) 0 30%,#d29b10 30% 52%,#b20d2c 52% 70%,transparent 70%)}
.ba-weekly-preview--formula i:nth-child(2){height:70px}.ba-weekly-preview--formula i:nth-child(3){background:linear-gradient(to top,#b20d2c 0 28%,var(--challenge-color) 28% 62%,transparent 62%)}.ba-weekly-preview--formula i:nth-child(4){height:76px;background:linear-gradient(to top,#d29b10 0 38%,var(--challenge-color) 38% 68%,transparent 68%)}

.ba-weekly-challenge-embed{position:fixed;inset:0;z-index:99998;background:#eef4f5}
.ba-weekly-challenge-embed iframe{display:block;width:100%;height:100%;border:0;background:#eef4f5}
body.ba-arcade-standalone:has(.ba-weekly-challenge-embed){overflow:hidden!important}
body.ba-arcade-standalone:has(.ba-weekly-challenge-embed) .ba-arcade-page-shell{width:100%;max-width:none;margin:0;padding:0}

@media(max-width:1180px){
  .ba-weekly-challenge-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:900px){
  .ba-weekly-hero{grid-template-columns:minmax(0,1fr) minmax(285px,.78fr);padding:34px}
  .ba-weekly-hero__tile{width:92px;min-height:65px;padding:9px}
  .ba-weekly-hero__tile b{font-size:18px}
  .ba-weekly-challenge-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:700px){
  .ba-weekly-hero{
    display:block;width:100%;aspect-ratio:1 / 1;min-height:0;padding:24px 22px;border-radius:22px;
    background:radial-gradient(circle at 50% 78%,rgba(0,138,164,.35),transparent 32%),linear-gradient(160deg,#061a2b 0%,#005a88 56%,#071827 100%);
  }
  .ba-weekly-hero::before{mask-image:linear-gradient(180deg,transparent 0%,#000 34%,#000 100%)}
  .ba-weekly-hero__copy{position:relative;z-index:7;max-width:none}
  .ba-weekly-hero h1{font-size:clamp(38px,12vw,54px);margin-bottom:8px}
  .ba-weekly-hero p{font-size:14px;line-height:1.34;max-width:94%}
  .ba-weekly-hero__chips{margin-top:13px;gap:5px}
  .ba-weekly-hero__chips span{min-height:29px;padding:0 10px;font-size:10px}
  .ba-weekly-hero__visual{position:absolute;left:0;right:0;bottom:0;height:48%;min-height:0;z-index:2}
  .ba-weekly-hero__orbit{width:68vw;height:38vw;max-width:310px;max-height:180px}
  .ba-weekly-hero__logo{width:min(21vw,88px)}
  .ba-weekly-hero__tile{width:70px;min-height:48px;border-radius:12px;padding:7px}
  .ba-weekly-hero__tile b{font-size:14px}.ba-weekly-hero__tile small{font-size:6px}
  .ba-weekly-hero__tile--one{left:8%;top:2%}.ba-weekly-hero__tile--two{right:8%;top:3%}.ba-weekly-hero__tile--three{right:2%;top:47%}.ba-weekly-hero__tile--four{left:7%;bottom:3%}.ba-weekly-hero__tile--five{right:18%;bottom:0}
  .ba-weekly-hub{padding:20px 18px!important}
  .ba-weekly-hub__head{align-items:flex-start;margin-bottom:16px}
  .ba-weekly-hub__head h2{font-size:27px}
  .ba-weekly-progress-pill{padding:9px 11px}.ba-weekly-progress-pill strong{font-size:20px}.ba-weekly-progress-pill span{display:none}
  .ba-weekly-challenge-grid{grid-template-columns:1fr}
  .ba-weekly-challenge-card{display:grid;grid-template-columns:120px minmax(0,1fr)}
  .ba-weekly-challenge-card__visual{height:auto;min-height:158px;border-bottom:0;border-right:1px solid var(--ba-border)}
  .ba-weekly-challenge-card__body{padding:14px}
  .ba-weekly-challenge-card h3{font-size:19px}
  .ba-weekly-preview{transform:scale(.78)}
}

/* Alpha 119 - stato delle sfide settimanali collegate all'account. */
.ba-weekly-challenge-card.is-completed{border-color:color-mix(in srgb,var(--challenge-color) 34%,var(--ba-border));box-shadow:0 10px 28px color-mix(in srgb,var(--challenge-color) 10%,transparent)}
.ba-weekly-challenge-card.is-completed .ba-weekly-challenge-card__status::before{content:"✓";margin-right:5px;font-weight:950}
.ba-weekly-challenge-card.is-started .ba-weekly-challenge-card__status::before{content:"●";margin-right:5px;font-size:7px}

/* Alpha 120 - Hero Sfida Settimanale approvata come artwork responsive. */
.ba-weekly-hero.ba-weekly-hero--art{
  display:block;
  width:100%;
  aspect-ratio:2138 / 681;
  min-height:0;
  padding:0;
  overflow:hidden;
  border:0!important;
  border-radius:24px;
  background:#061a2b;
  box-shadow:0 10px 28px rgba(3,58,98,.13);
  isolation:auto;
}
.ba-weekly-hero.ba-weekly-hero--art::before,
.ba-weekly-hero.ba-weekly-hero--art::after{display:none!important}
.ba-weekly-hero--art .ba-weekly-hero__picture,
.ba-weekly-hero--art .ba-weekly-hero__picture img{
  display:block;
  width:100%;
  height:100%;
}
.ba-weekly-hero--art .ba-weekly-hero__picture img{
  object-fit:cover;
  object-position:center;
}
@media(max-width:700px){
  .ba-weekly-hero.ba-weekly-hero--art{
    aspect-ratio:1 / 1;
    padding:0;
    border-radius:22px;
  }
  .ba-weekly-hero--art .ba-weekly-hero__picture img{
    object-fit:cover;
    object-position:center;
  }
}

/* Alpha 121.2 - classifiche Sfide settimanali + storico Area Player */
.ba-ranking-family-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:22px;padding-bottom:18px;border-bottom:1px solid var(--ba-border)}
.ba-ranking-family-tabs button{appearance:none;border:1px solid var(--ba-border);background:#f7fafb;color:var(--ba-text);border-radius:999px;padding:11px 17px;font-size:12px;font-weight:950;cursor:pointer}
.ba-ranking-family-tabs button.is-active{background:var(--ba-blue);border-color:var(--ba-blue);color:#fff;box-shadow:0 8px 18px rgba(3,58,98,.13)}
.ba-weekly-rankings-head{margin-bottom:14px}
.ba-week-key{display:inline-flex;align-items:center;min-height:36px;padding:0 12px;border-radius:999px;border:1px solid rgba(0,138,164,.2);background:rgba(0,138,164,.07);color:var(--ba-teal);font-size:11px;font-weight:900;white-space:nowrap}
.ba-weekly-ranking-tabs{justify-content:flex-start!important;margin:4px 0 18px}
.ba-weekly-ranking-tabs button:disabled{opacity:.42;cursor:default}
.ba-weekly-leaderboard{list-style:none;margin:0;padding:0;border:1px solid var(--ba-border);border-radius:18px;overflow:hidden;background:#fff}
.ba-weekly-rank-row{display:grid;grid-template-columns:52px 46px minmax(0,1fr) auto;gap:12px;align-items:center;min-height:72px;padding:10px 16px;border-top:1px solid var(--ba-border)}
.ba-weekly-rank-row:first-child{border-top:0}
.ba-weekly-rank-row__pos{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:#eef4f6;color:var(--ba-blue);font-size:16px;font-weight:950}
.ba-weekly-rank-row--1 .ba-weekly-rank-row__pos{background:#fff5cf;color:#b17a00;box-shadow:inset 0 0 0 1px #efd67b}
.ba-weekly-rank-row--2 .ba-weekly-rank-row__pos{background:#eef1f4;color:#687782}
.ba-weekly-rank-row--3 .ba-weekly-rank-row__pos{background:#f7ede7;color:#9d5f3d}
.ba-weekly-rank-row__avatar{width:42px;height:42px;border-radius:50%;overflow:hidden;display:grid;place-items:center;background:linear-gradient(145deg,var(--ba-teal),var(--ba-blue));color:#fff;font-size:16px;font-weight:950;border:2px solid #fff;box-shadow:0 0 0 1px var(--ba-border)}
.ba-weekly-rank-row__avatar img{width:100%;height:100%;object-fit:cover;display:block}
.ba-weekly-rank-row__player{min-width:0;display:grid;gap:3px}
.ba-weekly-rank-row__player b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--ba-text);font-size:14px}
.ba-weekly-rank-row__player small{color:var(--ba-muted);font-size:11px}
.ba-weekly-rank-row__result{text-align:right;display:grid;gap:2px;min-width:86px}
.ba-weekly-rank-row__result small{font-size:9px;color:var(--ba-muted);font-weight:900;text-transform:uppercase;letter-spacing:.07em}
.ba-weekly-rank-row__result b{color:var(--ba-teal);font-size:19px;font-variant-numeric:tabular-nums}
.ba-weekly-leaderboard__state{padding:28px!important;text-align:center;color:var(--ba-muted);font-size:13px}
.ba-weekly-ranking-login{padding:34px 20px;text-align:center;border:1px solid var(--ba-border);border-radius:18px;background:#f8fbfc}
.ba-weekly-ranking-login strong{display:block;font-size:19px;color:var(--ba-blue);margin-bottom:6px}
.ba-weekly-ranking-login p{margin:0 auto 16px;max-width:520px;color:var(--ba-muted);font-size:13px;line-height:1.5}

.ba-player-weekly-summary{margin-top:10px;padding-top:12px;border-top:1px solid var(--ba-border);display:flex;align-items:center;justify-content:space-between;gap:12px}
.ba-player-weekly-summary>div{display:grid;gap:2px}
.ba-player-weekly-summary small{color:var(--ba-muted);font-size:9px;font-weight:900;letter-spacing:.06em}
.ba-player-weekly-summary strong{color:var(--ba-teal);font-size:20px}
.ba-player-weekly-summary a{color:var(--ba-blue);font-size:11px;font-weight:900;text-decoration:none;white-space:nowrap}
.ba-player-weekly-summary a:hover{text-decoration:underline}
.ba-player-history-tabs{display:flex;flex-wrap:wrap;gap:7px;align-self:center}
.ba-player-history-tabs button{appearance:none;border:1px solid var(--ba-border);background:#f7fafb;color:var(--ba-text);border-radius:999px;padding:9px 13px;font-size:10px;font-weight:900;cursor:pointer}
.ba-player-history-tabs button.is-active{background:var(--ba-teal);border-color:var(--ba-teal);color:#fff}

@media(max-width:700px){
  .ba-ranking-family-tabs{margin-bottom:16px;padding-bottom:14px}
  .ba-ranking-family-tabs button{flex:1 1 150px;text-align:center}
  .ba-weekly-rankings-head{display:block}
  .ba-week-key{margin-top:10px}
  .ba-weekly-ranking-tabs{display:grid!important;grid-template-columns:1fr}
  .ba-weekly-rank-row{grid-template-columns:40px 38px minmax(0,1fr) auto;gap:8px;min-height:66px;padding:9px 10px}
  .ba-weekly-rank-row__pos{width:34px;height:34px;font-size:14px}
  .ba-weekly-rank-row__avatar{width:36px;height:36px}
  .ba-weekly-rank-row__player b{font-size:13px}
  .ba-weekly-rank-row__player small{font-size:10px}
  .ba-weekly-rank-row__result{min-width:66px}
  .ba-weekly-rank-row__result b{font-size:16px}
  .ba-player-weekly-summary{align-items:flex-end}
  .ba-player-history-tabs{margin-top:12px}
  .ba-player-history-tabs button{flex:1 1 135px}
}

/* alpha121.13 — Trova le parole: restore the rounded outer card frame and use a cropped gameplay image with no extra dark outline. */
.ba-weekly-challenge-card[style*="#008aa4"] .ba-weekly-preview--words,
.ba-weekly-challenge-card:first-child .ba-weekly-preview--words{
  display:block !important;
  width:120px !important;
  height:120px !important;
  max-width:none !important;
  margin:0 !important;
  transform:none !important;
  border-radius:14px !important;
  border:2px solid rgba(3,58,98,.18) !important;
  background-image:url('../images/weekly-preview-trova-parole.png') !important;
  background-size:90% 90% !important;
  background-position:center !important;
  background-repeat:no-repeat !important;
  background-color:#f7fafb !important;
  box-shadow:0 7px 18px rgba(3,58,98,.14) !important;
  overflow:hidden !important;
}
.ba-weekly-challenge-card[style*="#008aa4"] .ba-weekly-preview--words > *,
.ba-weekly-challenge-card:first-child .ba-weekly-preview--words > *{
  display:none !important;
}
@media (max-width:760px){
  .ba-weekly-challenge-card[style*="#008aa4"] .ba-weekly-preview--words,
  .ba-weekly-challenge-card:first-child .ba-weekly-preview--words{
    width:94px !important;
    height:94px !important;
    transform:none !important;
  }
}


/* alpha121.14 — secondary CTA for the reusable tutorial / trial mode. */
.ba-weekly-challenge-card__cta--trial{
  margin-top:8px;
  background:#fff!important;
  color:var(--challenge-color)!important;
  border:1.5px solid var(--challenge-color);
  box-shadow:none;
}
.ba-weekly-challenge-card__cta--trial:hover{
  filter:brightness(.98);
}

.ba-weekly-challenge-card__cta--trial span{color:var(--challenge-color)}

/* alpha121.22 — Memoria d'Acciaio: anteprima temporanea 4x4 in attesa dello screenshot reale del gioco. */
.ba-weekly-preview--memory{
  display:grid;
  grid-template-columns:repeat(4,23px);
  gap:3px;
  padding:6px;
  border:2px solid var(--challenge-color);
  border-radius:11px;
  background:#fff7f9;
  transform:rotate(4deg);
  box-shadow:0 5px 14px rgba(70,35,45,.10);
}
.ba-weekly-preview--memory i{
  width:23px;
  height:23px;
  border-radius:5px;
  display:grid;
  place-items:center;
  border:1px solid rgba(178,13,44,.18);
  background:#fff;
  color:var(--challenge-color);
  font-style:normal;
  font-size:8px;
  font-weight:950;
  box-shadow:0 2px 5px rgba(0,0,0,.05);
}
.ba-weekly-preview--memory i.is-back{
  background:#fff0f4 url('../images/ba-arcade-logo.png') center/62% auto no-repeat;
  color:transparent;
}


/* =========================================================
   Alpha 121.71 - Steel Snake hero approved image
   Mantiene l'altezza del hero esistente e sostituisce solo la grafica.
   ========================================================= */
.ba-game-detail--steel-snake .ba-game-detail__hero{
  min-height:270px;
  padding:0;
  display:block;
  overflow:hidden;
  background:#031325;
}
.ba-game-detail--steel-snake .ba-game-detail__hero::before{display:none!important;content:none!important}
.ba-game-detail--steel-snake .ba-game-detail__hero-copy{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  padding:0!important;
  margin:-1px!important;
  overflow:hidden!important;
  clip:rect(0,0,0,0)!important;
  white-space:nowrap!important;
  border:0!important;
}
.ba-game-detail--steel-snake .ba-game-detail__hero-snake-approved{
  position:absolute;
  inset:0;
  z-index:2;
  display:block;
  width:100%;
  height:100%;
  margin:0;
  object-fit:cover;
  object-position:center center;
}
@media(max-width:700px){
  .ba-game-detail--steel-snake .ba-game-detail__hero{
    min-height:300px;
  }
  .ba-game-detail--steel-snake .ba-game-detail__hero-snake-approved{
    object-fit:cover;
    object-position:center center;
  }
}

/* =========================================================
   Alpha 121.74 - Steel Snake hero: CLONA Steel Run
   Stessa impronta/proporzione del master Steel Run.
   Testi reali HTML/CSS; a destra solo Snake + target.
   ========================================================= */
.ba-game-detail--steel-snake .ba-game-detail__hero{
  position:relative;
  min-height:0!important;
  aspect-ratio:2088 / 619;
  display:grid!important;
  grid-template-columns:minmax(0,1.02fr) minmax(0,.98fr)!important;
  align-items:center!important;
  padding:0 4.15%!important;
  border-radius:30px!important;
  overflow:hidden!important;
  background:
    radial-gradient(circle at 76% 49%,rgba(22,134,214,.24),transparent 28%),
    radial-gradient(circle at 56% 93%,rgba(20,157,220,.12),transparent 27%),
    linear-gradient(108deg,#031427 0%,#061e3a 49%,#082c50 100%)!important;
  box-shadow:0 18px 40px rgba(3,58,98,.13)!important;
}
.ba-game-detail--steel-snake .ba-game-detail__hero::before{
  display:block!important;
  content:""!important;
  position:absolute!important;
  inset:0!important;
  pointer-events:none!important;
  background-image:
    linear-gradient(rgba(59,156,211,.105) 1px,transparent 1px),
    linear-gradient(90deg,rgba(59,156,211,.105) 1px,transparent 1px)!important;
  background-size:42px 42px!important;
  mask-image:linear-gradient(90deg,transparent 4%,rgba(0,0,0,.6) 34%,#000 100%)!important;
  opacity:1!important;
}
.ba-game-detail--steel-snake .ba-game-detail__hero::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:12.5%;
  height:3px;
  background:linear-gradient(90deg,rgba(185,213,229,.08),rgba(225,239,247,.78) 48%,rgba(85,193,255,.9) 72%,rgba(185,213,229,.08));
  box-shadow:0 4px 15px rgba(78,187,255,.36),0 18px 34px rgba(30,126,197,.16);
  pointer-events:none;
}
.ba-game-detail--steel-snake .ba-game-detail__hero-copy{
  position:relative!important;
  z-index:3!important;
  width:auto!important;
  height:auto!important;
  padding:0!important;
  margin:0!important;
  overflow:visible!important;
  clip:auto!important;
  white-space:normal!important;
  border:0!important;
  align-self:center!important;
  transform:translateY(-1%);
}
.ba-game-detail--steel-snake .ba-game-detail__crumb{
  margin:0 0 5.7%!important;
  font-size:clamp(11px,.88vw,15px)!important;
  line-height:1!important;
  letter-spacing:.10em!important;
  white-space:nowrap;
}
.ba-game-detail--steel-snake .ba-game-detail__hero h1{
  margin:0 0 5.2%!important;
  font-size:clamp(66px,7.25vw,126px)!important;
  line-height:.84!important;
  letter-spacing:-.055em!important;
  white-space:nowrap!important;
  text-shadow:0 8px 24px rgba(0,0,0,.28),0 0 16px rgba(229,20,67,.12)!important;
}
.ba-game-detail--steel-snake .ba-game-detail__hero p{
  margin:0!important;
  max-width:760px!important;
  font-size:clamp(16px,1.45vw,25px)!important;
  line-height:1.42!important;
  color:#f0f5f8!important;
}
.ba-game-detail--steel-snake .ba-game-detail__hero-snake{
  position:relative;
  z-index:3;
  width:100%;
  height:100%;
  min-width:0;
  align-self:stretch;
}
.ba-game-detail--steel-snake .ba-game-detail__hero-snake::before,
.ba-game-detail--steel-snake .ba-game-detail__hero-snake::after{
  content:"";
  position:absolute;
  height:2px;
  border-radius:999px;
  background:linear-gradient(90deg,transparent,rgba(92,198,255,.85),transparent);
  filter:drop-shadow(0 0 6px rgba(74,183,255,.55));
}
.ba-game-detail--steel-snake .ba-game-detail__hero-snake::before{left:4%;top:30%;width:32%}
.ba-game-detail--steel-snake .ba-game-detail__hero-snake::after{left:20%;top:56%;width:27%;opacity:.72}
.ba-game-detail--steel-snake .ba-game-detail__hero-snake-segments{
  position:absolute;
  left:12%;
  top:45%;
  transform:translateY(-50%);
  display:flex;
  align-items:center;
  gap:clamp(6px,.55vw,10px);
  filter:drop-shadow(0 0 13px rgba(26,190,222,.28));
}
.ba-game-detail--steel-snake .ba-game-detail__hero-snake-segments i,
.ba-game-detail--steel-snake .ba-game-detail__hero-snake-target{
  width:clamp(40px,3.25vw,62px);
  aspect-ratio:1;
  border-radius:14%;
}
.ba-game-detail--steel-snake .ba-game-detail__hero-snake-segments i{
  display:block;
  position:relative;
  background:linear-gradient(145deg,#43cadd 0%,#19a9c3 58%,#0787a7 100%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.25),0 0 14px rgba(32,190,219,.20);
}
.ba-game-detail--steel-snake .ba-game-detail__hero-snake-segments i.is-head{
  background:linear-gradient(145deg,#67dbe8 0%,#25b9cf 60%,#0a91ae 100%);
}
.ba-game-detail--steel-snake .ba-game-detail__hero-snake-segments i.is-head::before,
.ba-game-detail--steel-snake .ba-game-detail__hero-snake-segments i.is-head::after{
  content:"";
  position:absolute;
  right:18%;
  width:12%;
  aspect-ratio:1;
  border-radius:50%;
  background:#052f44;
}
.ba-game-detail--steel-snake .ba-game-detail__hero-snake-segments i.is-head::before{top:27%}
.ba-game-detail--steel-snake .ba-game-detail__hero-snake-segments i.is-head::after{bottom:27%}
.ba-game-detail--steel-snake .ba-game-detail__hero-snake-target{
  position:absolute;
  right:10%;
  top:45%;
  transform:translateY(-50%);
  background:linear-gradient(145deg,#ff2d60,#e40045 70%,#bd0037);
  box-shadow:0 0 24px rgba(239,0,70,.48),inset 0 1px 0 rgba(255,255,255,.18);
}
.ba-game-detail--steel-snake .ba-game-detail__hero-snake-approved{display:none!important}

@media(max-width:1100px) and (min-width:701px){
  .ba-game-detail--steel-snake .ba-game-detail__hero{
    grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr)!important;
    padding:0 4.1%!important;
  }
  .ba-game-detail--steel-snake .ba-game-detail__hero h1{font-size:clamp(58px,7.5vw,92px)!important}
  .ba-game-detail--steel-snake .ba-game-detail__hero p{font-size:clamp(15px,1.65vw,20px)!important}
}
@media(max-width:700px){
  .ba-game-detail--steel-snake .ba-game-detail__hero{
    aspect-ratio:auto!important;
    min-height:300px!important;
    grid-template-columns:1fr!important;
    padding:24px 20px!important;
    border-radius:20px!important;
  }
  .ba-game-detail--steel-snake .ba-game-detail__hero-copy{transform:none!important}
  .ba-game-detail--steel-snake .ba-game-detail__crumb{font-size:9px!important;margin-bottom:12px!important}
  .ba-game-detail--steel-snake .ba-game-detail__hero h1{font-size:52px!important;margin-bottom:14px!important;white-space:normal!important}
  .ba-game-detail--steel-snake .ba-game-detail__hero p{font-size:15px!important;max-width:82%!important}
  .ba-game-detail--steel-snake .ba-game-detail__hero-snake{
    position:absolute;
    inset:0;
    opacity:.36;
    z-index:1;
  }
  .ba-game-detail--steel-snake .ba-game-detail__hero-snake-segments{left:auto;right:11%;top:65%;transform:translateY(-50%) scale(.78);transform-origin:right center}
  .ba-game-detail--steel-snake .ba-game-detail__hero-snake-target{right:8%;top:34%;transform:translateY(-50%) scale(.72)}
}


/* =========================================================
   Alpha 121.81 - Classifiche mobile: stessa logica hero Giochi Arcade
   ========================================================= */
@media(max-width:700px){
  .ba-arcade-view--rankings .ba-rankings-hero-art{
    position:relative!important;
    display:block!important;
    width:100%!important;
    aspect-ratio:1 / 1!important;
    min-height:0!important;
    padding:0!important;
    overflow:hidden!important;
    border-radius:22px!important;
    background-image:url('../images/classifiche-hero-neon-12156.png')!important;
    background-size:auto 100%!important;
    background-position:72% center!important;
    background-repeat:no-repeat!important;
    background-color:#03101d!important;
    box-shadow:0 10px 28px rgba(3,58,98,.13)!important;
  }
  .ba-arcade-view--rankings .ba-rankings-hero-art__picture{
    display:none!important;
  }
  .ba-arcade-view--rankings .ba-rankings-hero-art::before{
    display:block!important;
    content:""!important;
    position:absolute!important;
    inset:0!important;
    z-index:1!important;
    background:linear-gradient(180deg,rgba(1,10,22,.02) 46%,rgba(1,9,21,.84) 100%)!important;
    pointer-events:none!important;
  }
  .ba-arcade-view--rankings .ba-rankings-hero-art::after{
    display:block!important;
    content:"Classifiche"!important;
    position:absolute!important;
    left:22px!important;
    right:22px!important;
    bottom:20px!important;
    z-index:2!important;
    color:#fff!important;
    font-size:34px!important;
    line-height:.96!important;
    font-weight:950!important;
    letter-spacing:-.04em!important;
    text-shadow:0 3px 12px rgba(0,0,0,.45)!important;
    pointer-events:none!important;
  }
}
@media(max-width:390px){
  .ba-arcade-view--rankings .ba-rankings-hero-art::after{font-size:30px!important;}
}

/* Alpha 121.91 - ancora stabile sull'anteprima dei Giochi Arcade. */
#ba-game-play-anchor{scroll-margin-top:18px}
@media(max-width:700px){#ba-game-play-anchor{scroll-margin-top:12px}}


/* =========================================================
   Alpha 121.94 - Anteprime mobile giochi arcade uniformate
   Riutilizza le stesse preview dei giochi della visualizzazione desktop.
   ========================================================= */
.ba-game-card__visual--steel-snake{
  aspect-ratio:1 / 1;
  height:auto!important;
  min-height:0!important;
  background:linear-gradient(180deg,#082f46 0%,#062536 100%)!important;
}
.ba-game-card__visual--steel-snake::before,
.ba-game-card__visual--steel-snake::after{display:none!important}
.ba-game-card__visual--steel-snake .ba-snake-preview{
  position:absolute;
  inset:10px;
  width:auto;
  height:auto;
  min-height:0;
  border-radius:18px;
  overflow:hidden;
}
.ba-snake-preview{
  position:relative;
  width:100%;
  height:100%;
  min-height:260px;
  overflow:hidden;
  border-radius:18px;
  background:radial-gradient(circle at 58% 42%,#0a3b54 0,#06283b 35%,#041b29 74%);
}
.ba-snake-preview__grid{
  position:absolute;
  inset:0;
  background-image:linear-gradient(rgba(42,145,178,.12) 1px,transparent 1px),linear-gradient(90deg,rgba(42,145,178,.12) 1px,transparent 1px);
  background-size:34px 34px;
  mask-image:linear-gradient(to bottom,rgba(0,0,0,.9),rgba(0,0,0,.55));
}
.ba-snake-preview__snake{position:absolute;inset:0}
.ba-snake-preview__snake i{
  position:absolute;
  width:29px;
  height:29px;
  border-radius:8px;
  background:linear-gradient(135deg,#35c8d8,#087da0);
  box-shadow:0 0 12px rgba(25,190,216,.30),inset 0 1px rgba(255,255,255,.18);
}
.ba-snake-preview__snake i:nth-child(1){left:20%;top:62%;opacity:.76}
.ba-snake-preview__snake i:nth-child(2){left:29%;top:62%;opacity:.82}
.ba-snake-preview__snake i:nth-child(3){left:38%;top:62%;opacity:.88}
.ba-snake-preview__snake i:nth-child(4){left:47%;top:62%}
.ba-snake-preview__snake i:nth-child(5){left:56%;top:62%}
.ba-snake-preview__snake i:nth-child(6){left:56%;top:50%}
.ba-snake-preview__snake i:nth-child(7){left:56%;top:38%}
.ba-snake-preview__snake i:nth-child(8){left:65%;top:38%}
.ba-snake-preview__snake i:nth-child(9){left:74%;top:38%;background:linear-gradient(135deg,#72e7f1,#12a9c8);box-shadow:0 0 18px rgba(25,190,216,.48),inset 0 1px rgba(255,255,255,.32)}
.ba-snake-preview__snake i:nth-child(9)::before,
.ba-snake-preview__snake i:nth-child(9)::after{
  content:'';
  position:absolute;
  top:6px;
  width:5px;
  height:5px;
  border-radius:50%;
  background:#052b3c;
}
.ba-snake-preview__snake i:nth-child(9)::before{left:7px}
.ba-snake-preview__snake i:nth-child(9)::after{right:7px}
.ba-snake-preview__food{
  position:absolute;
  left:26%;
  top:27%;
  width:38px;
  height:26px;
  transform:skewX(-12deg);
  border-radius:6px;
  background:linear-gradient(180deg,#f4c73a,#d79700);
  box-shadow:0 0 19px rgba(230,174,17,.42),inset 0 1px rgba(255,255,255,.45);
}
.ba-snake-preview__food i{
  position:absolute;
  left:7px;
  right:7px;
  top:7px;
  height:2px;
  border-radius:999px;
  background:rgba(80,55,0,.24);
}
.ba-snake-preview__brand{
  position:absolute;
  left:50%;
  bottom:8%;
  transform:translateX(-50%);
  font-size:34px;
  font-weight:950;
  letter-spacing:.08em;
  color:rgba(151,195,211,.12);
}

@media(max-width:700px){
  :is(.ba-game-detail--steel-blocks,.ba-game-detail--steel-break,.ba-game-detail--steel-run,.ba-game-detail--steel-snake) .ba-mobile-game-preview{
    padding:12px;
    border:1px solid #c8dbe4;
    border-radius:18px;
    background:linear-gradient(180deg,#eef4f7 0%,#e8eff3 100%);
  }
  :is(.ba-game-detail--steel-blocks,.ba-game-detail--steel-break,.ba-game-detail--steel-run,.ba-game-detail--steel-snake) .ba-mobile-game-preview__visual{
    position:relative;
    width:100%;
    margin:0;
    border-radius:18px;
    overflow:hidden;
    display:block;
    box-shadow:none;
  }
  :is(.ba-game-detail--steel-blocks,.ba-game-detail--steel-break,.ba-game-detail--steel-run,.ba-game-detail--steel-snake) .ba-mobile-game-preview__visual.ba-game-card__visual--steel-blocks,
  :is(.ba-game-detail--steel-blocks,.ba-game-detail--steel-break,.ba-game-detail--steel-run,.ba-game-detail--steel-snake) .ba-mobile-game-preview__visual.ba-game-card__visual--steel-break,
  :is(.ba-game-detail--steel-blocks,.ba-game-detail--steel-break,.ba-game-detail--steel-run,.ba-game-detail--steel-snake) .ba-mobile-game-preview__visual.ba-game-card__visual--steel-run,
  :is(.ba-game-detail--steel-blocks,.ba-game-detail--steel-break,.ba-game-detail--steel-run,.ba-game-detail--steel-snake) .ba-mobile-game-preview__visual.ba-game-card__visual--steel-snake{
    aspect-ratio:100 / 84!important;
    height:auto!important;
    min-height:0!important;
  }
  :is(.ba-game-detail--steel-blocks,.ba-game-detail--steel-break,.ba-game-detail--steel-run,.ba-game-detail--steel-snake) .ba-mobile-game-preview__visual .ba-blocks-preview,
  :is(.ba-game-detail--steel-blocks,.ba-game-detail--steel-break,.ba-game-detail--steel-run,.ba-game-detail--steel-snake) .ba-mobile-game-preview__visual .ba-break-preview,
  :is(.ba-game-detail--steel-blocks,.ba-game-detail--steel-break,.ba-game-detail--steel-run,.ba-game-detail--steel-snake) .ba-mobile-game-preview__visual .ba-run-preview,
  :is(.ba-game-detail--steel-blocks,.ba-game-detail--steel-break,.ba-game-detail--steel-run,.ba-game-detail--steel-snake) .ba-mobile-game-preview__visual .ba-snake-preview{
    inset:12px;
    border-radius:18px;
  }
  :is(.ba-game-detail--steel-blocks,.ba-game-detail--steel-break,.ba-game-detail--steel-run,.ba-game-detail--steel-snake) .ba-mobile-game-preview__visual .ba-snake-preview{
    min-height:0;
  }
  .ba-game-detail--steel-blocks .ba-mobile-game-preview__visual .ba-blocks-preview__pieces{
    width:72%;
    height:70%;
    top:20px;
  }
  .ba-game-detail--steel-blocks .ba-mobile-game-preview__visual .ba-tet--square{left:9%;top:4%}
  .ba-game-detail--steel-blocks .ba-mobile-game-preview__visual .ba-tet--ell{right:6%;top:6%}
  .ba-game-detail--steel-blocks .ba-mobile-game-preview__visual .ba-tet--tee{left:18%;top:42%}
  .ba-game-detail--steel-blocks .ba-mobile-game-preview__visual .ba-tet--three{top:78%}
  .ba-game-detail--steel-break .ba-mobile-game-preview__visual .ba-break-preview__bricks{
    top:18px;
    left:18px;
    right:18px;
    gap:6px;
  }
  .ba-game-detail--steel-break .ba-mobile-game-preview__visual .ba-break-preview__bricks i{height:18px}
  .ba-game-detail--steel-break .ba-mobile-game-preview__visual .ba-break-preview__brand{
    top:auto;
    bottom:8%;
    transform:translateX(-50%);
    font-size:28px;
  }
  .ba-game-detail--steel-break .ba-mobile-game-preview__visual .ba-break-preview__ball{
    width:40px;
    height:40px;
    margin-left:-20px;
  }
  .ba-game-detail--steel-run .ba-mobile-game-preview__visual{
    background:linear-gradient(180deg,#082f46 0%,#062536 100%)!important;
  }
  .ba-game-detail--steel-run .ba-mobile-game-preview__visual .ba-run-preview__brand{
    bottom:8%;
    font-size:28px;
  }
  .ba-game-detail--steel-run .ba-mobile-game-preview__visual .ba-run-preview__runner{
    top:13%;
    width:48%;
    height:66%;
  }
  .ba-game-detail--steel-run .ba-mobile-game-preview__visual .ba-run-preview{
    background:
      linear-gradient(90deg, rgba(255,255,255,.04) 1px, transparent 1px) 0 0/22px 22px,
      linear-gradient(rgba(255,255,255,.03) 1px, transparent 1px) 0 0/22px 22px,
      linear-gradient(180deg,rgba(255,255,255,.02),transparent 28%),
      #062536;
  }
  .ba-game-detail--steel-snake .ba-mobile-game-preview__visual .ba-snake-preview__snake i:nth-child(1){left:18%;top:64%}
  .ba-game-detail--steel-snake .ba-mobile-game-preview__visual .ba-snake-preview__snake i:nth-child(2){left:27%;top:64%}
  .ba-game-detail--steel-snake .ba-mobile-game-preview__visual .ba-snake-preview__snake i:nth-child(3){left:36%;top:64%}
  .ba-game-detail--steel-snake .ba-mobile-game-preview__visual .ba-snake-preview__snake i:nth-child(4){left:45%;top:64%}
  .ba-game-detail--steel-snake .ba-mobile-game-preview__visual .ba-snake-preview__snake i:nth-child(5){left:54%;top:64%}
  .ba-game-detail--steel-snake .ba-mobile-game-preview__visual .ba-snake-preview__snake i:nth-child(6){left:54%;top:50%}
  .ba-game-detail--steel-snake .ba-mobile-game-preview__visual .ba-snake-preview__snake i:nth-child(7){left:54%;top:36%}
  .ba-game-detail--steel-snake .ba-mobile-game-preview__visual .ba-snake-preview__snake i:nth-child(8){left:63%;top:36%}
  .ba-game-detail--steel-snake .ba-mobile-game-preview__visual .ba-snake-preview__snake i:nth-child(9){left:72%;top:36%}
  .ba-game-detail--steel-snake .ba-mobile-game-preview__visual .ba-snake-preview__food{left:24%;top:24%}
  .ba-game-detail--steel-snake .ba-mobile-game-preview__visual .ba-snake-preview__brand{font-size:30px}
  :is(.ba-game-detail--steel-blocks,.ba-game-detail--steel-break,.ba-game-detail--steel-run,.ba-game-detail--steel-snake) .ba-mobile-game-preview p{
    margin:10px 3px 0;
    color:#607580;
    font-size:11px;
    line-height:1.45;
    text-align:center;
  }
}


/* =========================================================
   Alpha 121.95 - Steel Run mobile preview: allineamento definitivo
   Compatibile sia con il markup nuovo 121.94 sia con eventuale HTML
   precedente ancora in cache sul dispositivo/browser.
   ========================================================= */
@media(max-width:700px){
  .ba-game-detail--steel-run .ba-mobile-run-preview{
    position:relative!important;
    width:100%!important;
    aspect-ratio:100 / 84!important;
    min-height:0!important;
    overflow:hidden!important;
    border-radius:18px!important;
    border:3px solid #0b5c89!important;
    background:
      linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px) 0 0/22px 22px,
      linear-gradient(rgba(255,255,255,.03) 1px,transparent 1px) 0 0/22px 22px,
      linear-gradient(180deg,rgba(255,255,255,.02),transparent 28%),
      #062536!important;
    box-shadow:inset 0 0 0 1px rgba(255,255,255,.03)!important;
  }
  .ba-game-detail--steel-run .ba-mobile-run-preview > img{
    display:none!important;
  }
  .ba-game-detail--steel-run .ba-mobile-run-preview::before{
    content:'';
    position:absolute;
    left:50%;
    top:14%;
    width:46%;
    height:58%;
    transform:translateX(-50%);
    background:url('../images/steel-run-runner-transparent.png') center/contain no-repeat;
    z-index:2;
  }
  .ba-game-detail--steel-run .ba-mobile-run-preview::after{
    content:'BA';
    position:absolute;
    left:50%;
    bottom:8%;
    transform:translateX(-50%);
    color:rgba(255,255,255,.14);
    font-size:30px;
    line-height:1;
    font-weight:900;
    letter-spacing:.08em;
    z-index:1;
  }

  .ba-game-detail--steel-run .ba-mobile-game-preview__visual .ba-run-preview{
    inset:12px!important;
    border:3px solid #0b5c89!important;
    border-radius:18px!important;
    background:
      linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px) 0 0/22px 22px,
      linear-gradient(rgba(255,255,255,.03) 1px,transparent 1px) 0 0/22px 22px,
      linear-gradient(180deg,rgba(255,255,255,.02),transparent 28%),
      #062536!important;
  }
  .ba-game-detail--steel-run .ba-mobile-game-preview__visual .ba-run-preview__lane,
  .ba-game-detail--steel-run .ba-mobile-game-preview__visual .ba-run-preview__ground{
    display:none!important;
  }
  .ba-game-detail--steel-run .ba-mobile-game-preview__visual .ba-run-preview__runner{
    left:50%!important;
    top:14%!important;
    bottom:auto!important;
    width:46%!important;
    height:58%!important;
    transform:translateX(-50%)!important;
    background-image:url('../images/steel-run-runner-transparent.png')!important;
    background-position:center!important;
    background-size:contain!important;
    background-repeat:no-repeat!important;
    animation:none!important;
  }
  .ba-game-detail--steel-run .ba-mobile-game-preview__visual .ba-run-preview__brand{
    left:50%!important;
    top:auto!important;
    bottom:8%!important;
    transform:translateX(-50%)!important;
    color:rgba(255,255,255,.14)!important;
    font-size:30px!important;
    line-height:1!important;
    letter-spacing:.08em!important;
  }
}


/* =========================================================
   Alpha 121.105 - Area Player: modali mobile sempre visibili
   - pannello ancorato alla parte alta del viewport
   - scroll interno al pannello
   - protezione Safari/iPhone da zoom/overflow sugli input
   ========================================================= */
@media(max-width:700px){
  body.ba-profile-modal-open{
    overflow:hidden!important;
    overscroll-behavior:none;
    max-width:100vw;
  }
  .ba-profile-image-modal,
  .ba-profile-edit-modal{
    position:fixed!important;
    inset:0!important;
    width:100vw!important;
    height:100vh!important;
    height:100dvh!important;
    box-sizing:border-box!important;
    display:flex!important;
    align-items:flex-start!important;
    justify-content:center!important;
    overflow:hidden!important;
    padding:max(10px,env(safe-area-inset-top)) 8px max(8px,env(safe-area-inset-bottom))!important;
  }
  .ba-profile-image-modal__backdrop,
  .ba-profile-edit-modal__backdrop{
    position:fixed!important;
    inset:0!important;
  }
  .ba-profile-image-modal__card,
  .ba-profile-edit-modal__card{
    position:relative!important;
    width:100%!important;
    max-width:560px!important;
    max-height:calc(100dvh - 20px)!important;
    margin:0!important;
    box-sizing:border-box!important;
    overflow-x:hidden!important;
    overflow-y:auto!important;
    overscroll-behavior:contain;
    -webkit-overflow-scrolling:touch;
    padding:16px!important;
    border-radius:18px!important;
  }
  .ba-profile-edit-modal form input{
    max-width:100%!important;
    font-size:16px!important;
    line-height:1.2;
    touch-action:manipulation;
  }
  .ba-profile-image-modal__head,
  .ba-profile-edit-modal__head{
    position:relative;
    width:100%;
    box-sizing:border-box;
  }
}


/* =========================================================
   Alpha 121.106 - Area Player: popup mobile centrato
   Corregge il 121.105: i pannelli modifica devono comparire
   subito al centro del viewport, non ancorati in alto/basso.
   ========================================================= */
@media(max-width:700px){
  .ba-profile-image-modal,
  .ba-profile-edit-modal{
    position:fixed!important;
    inset:0!important;
    width:100vw!important;
    height:100vh!important;
    height:100dvh!important;
    display:grid!important;
    place-items:center!important;
    overflow:hidden!important;
    box-sizing:border-box!important;
    padding:max(14px,env(safe-area-inset-top)) 12px max(14px,env(safe-area-inset-bottom))!important;
  }
  .ba-profile-image-modal__backdrop,
  .ba-profile-edit-modal__backdrop{
    position:fixed!important;
    inset:0!important;
  }
  .ba-profile-image-modal__card,
  .ba-profile-edit-modal__card{
    position:relative!important;
    z-index:2!important;
    width:min(560px,calc(100vw - 24px))!important;
    max-width:calc(100vw - 24px)!important;
    max-height:calc(100dvh - 32px)!important;
    margin:0!important;
    overflow-x:hidden!important;
    overflow-y:auto!important;
    overscroll-behavior:contain;
    -webkit-overflow-scrolling:touch;
    box-sizing:border-box!important;
    border-radius:20px!important;
    padding:18px!important;
  }
  .ba-profile-image-modal__head,
  .ba-profile-edit-modal__head{
    width:100%;
    box-sizing:border-box;
  }
  .ba-profile-edit-modal form,
  .ba-profile-edit-modal form label,
  .ba-profile-edit-modal form input{
    max-width:100%!important;
    box-sizing:border-box!important;
  }
  .ba-profile-edit-modal form input{
    font-size:16px!important;
  }
}


/* =========================================================
   Alpha 121.107 - Area Player: popup mobile fisso, centrato, senza scroll
   - popup realmente immobile nel viewport
   - nessuno scroll interno del pannello
   - contenuti compattati per rientrare nello schermo mobile
   ========================================================= */
@media(max-width:700px){
  body.ba-profile-modal-open{
    overflow:hidden!important;
    height:100dvh!important;
    touch-action:none;
  }

  .ba-profile-image-modal,
  .ba-profile-edit-modal{
    position:fixed!important;
    inset:0!important;
    width:100vw!important;
    height:100dvh!important;
    display:block!important;
    overflow:hidden!important;
    padding:0!important;
  }

  .ba-profile-image-modal__backdrop,
  .ba-profile-edit-modal__backdrop{
    position:absolute!important;
    inset:0!important;
  }

  .ba-profile-image-modal__card,
  .ba-profile-edit-modal__card{
    position:absolute!important;
    z-index:2!important;
    left:50%!important;
    top:50%!important;
    transform:translate(-50%,-50%)!important;
    width:calc(100vw - 28px)!important;
    max-width:520px!important;
    max-height:none!important;
    height:auto!important;
    margin:0!important;
    padding:16px!important;
    overflow:visible!important;
    overscroll-behavior:none!important;
    -webkit-overflow-scrolling:auto!important;
    box-sizing:border-box!important;
    border-radius:20px!important;
  }

  .ba-profile-image-modal__head,
  .ba-profile-edit-modal__head{
    align-items:center!important;
    gap:12px!important;
  }

  .ba-profile-image-modal__head h3,
  .ba-profile-edit-modal__head h3{
    margin:0!important;
    font-size:22px!important;
    line-height:1.1!important;
  }

  .ba-profile-image-modal__close,
  .ba-profile-edit-modal__close{
    width:40px!important;
    height:40px!important;
    flex-basis:40px!important;
  }

  .ba-profile-image-modal__card>p{
    margin:9px 0 14px!important;
    font-size:12px!important;
    line-height:1.35!important;
  }

  .ba-profile-image-options{
    grid-template-columns:1fr 1fr!important;
    gap:8px!important;
  }

  .ba-profile-image-option{
    min-height:132px!important;
    padding:10px 8px!important;
    border-radius:15px!important;
    gap:5px!important;
  }

  .ba-profile-image-option__icon{
    width:44px!important;
    height:44px!important;
  }

  .ba-profile-image-option b{
    font-size:14px!important;
    line-height:1.15!important;
  }

  .ba-profile-image-option small{
    font-size:10px!important;
    line-height:1.25!important;
  }

  .ba-profile-edit-modal form{
    margin-top:12px!important;
  }

  .ba-profile-edit-modal form label{
    gap:5px!important;
    margin-bottom:10px!important;
    font-size:11px!important;
  }

  .ba-profile-edit-modal form input{
    min-height:44px!important;
    font-size:16px!important;
  }

  .ba-profile-edit-modal form p{
    margin:0 0 10px!important;
    font-size:11px!important;
    line-height:1.3!important;
  }

  .ba-profile-edit-modal__status{
    min-height:16px!important;
    margin:2px 0!important;
    font-size:11px!important;
  }

  .ba-profile-edit-modal__actions{
    gap:7px!important;
    margin-top:8px!important;
  }

  .ba-profile-edit-modal__actions .ba-btn{
    min-height:42px!important;
    padding:0 10px!important;
  }
}

@media(max-width:370px){
  .ba-profile-image-modal__card,
  .ba-profile-edit-modal__card{
    width:calc(100vw - 20px)!important;
    padding:13px!important;
  }
  .ba-profile-image-option{
    min-height:118px!important;
  }
  .ba-profile-image-option small{
    display:none!important;
  }
}
\n\n/* =========================================================\n   Alpha 121.108 - Area Player mobile: modal portal viewport\n   Correzione robusta: i popup vengono spostati direttamente nel BODY\n   prima dell'apertura, quindi non possono piu' essere ancorati/ritagliati\n   da contenitori trasformati dell'Area Player.\n   ========================================================= */\n@media(max-width:700px){\n  body.ba-profile-modal-open{\n    overflow:hidden!important;\n    height:auto!important;\n    min-height:100%!important;\n    touch-action:none!important;\n  }\n\n  body > .ba-profile-image-modal[hidden],\n  body > .ba-profile-edit-modal[hidden]{\n    display:none!important;\n  }\n\n  body > .ba-profile-image-modal:not([hidden]),\n  body > .ba-profile-edit-modal:not([hidden]){\n    position:fixed!important;\n    z-index:2147483000!important;\n    inset:0!important;\n    width:100%!important;\n    height:100dvh!important;\n    margin:0!important;\n    padding:16px!important;\n    box-sizing:border-box!important;\n    display:grid!important;\n    place-items:center!important;\n    overflow:hidden!important;\n    transform:none!important;\n  }\n\n  body > .ba-profile-image-modal .ba-profile-image-modal__backdrop,\n  body > .ba-profile-edit-modal .ba-profile-edit-modal__backdrop{\n    position:absolute!important;\n    inset:0!important;\n    width:100%!important;\n    height:100%!important;\n    background:rgba(3,26,43,.80)!important;\n  }\n\n  body > .ba-profile-image-modal .ba-profile-image-modal__card,\n  body > .ba-profile-edit-modal .ba-profile-edit-modal__card{\n    position:relative!important;\n    z-index:2!important;\n    left:auto!important;\n    top:auto!important;\n    right:auto!important;\n    bottom:auto!important;\n    transform:none!important;\n    width:min(520px,calc(100vw - 28px))!important;\n    max-width:calc(100vw - 28px)!important;\n    height:auto!important;\n    max-height:none!important;\n    margin:0!important;\n    overflow:hidden!important;\n    box-sizing:border-box!important;\n    border-radius:20px!important;\n    padding:16px!important;\n  }\n\n  body > .ba-profile-edit-modal form input{\n    width:100%!important;\n    max-width:100%!important;\n    min-height:44px!important;\n    box-sizing:border-box!important;\n    font-size:16px!important;\n  }\n}\n

/* =========================================================
   Alpha 121.109 - Area Player mobile: overlay isolato e pagina congelata
   - conserva esattamente la posizione della pagina sottostante
   - popup piccoli fermi al centro del viewport
   - galleria avatar/ritaglio lavorano in overlay dedicato
   - nessuna interazione o scroll della pagina dietro
   ========================================================= */
html.ba-profile-ui-locked-root{
  overflow:hidden!important;
  overscroll-behavior:none!important;
}
body.ba-profile-ui-locked{
  overflow:hidden!important;
  overscroll-behavior:none!important;
  touch-action:none!important;
}

@media(max-width:700px){
  body > .ba-profile-edit-modal[hidden],
  body > .ba-profile-image-modal[hidden],
  body > .ba-avatar-picker-modal[hidden],
  body > .ba-avatar-crop-modal[hidden]{
    display:none!important;
  }

  body > .ba-profile-edit-modal:not([hidden]),
  body > .ba-profile-image-modal:not([hidden]){
    position:fixed!important;
    inset:0!important;
    z-index:2147483000!important;
    width:100vw!important;
    height:100vh!important;
    height:100dvh!important;
    margin:0!important;
    padding:max(12px,env(safe-area-inset-top)) 14px max(12px,env(safe-area-inset-bottom))!important;
    box-sizing:border-box!important;
    display:grid!important;
    place-items:center!important;
    overflow:hidden!important;
    transform:none!important;
    touch-action:none!important;
  }

  body > .ba-profile-edit-modal .ba-profile-edit-modal__backdrop,
  body > .ba-profile-image-modal .ba-profile-image-modal__backdrop{
    position:absolute!important;
    inset:0!important;
    width:100%!important;
    height:100%!important;
    background:rgba(3,26,43,.80)!important;
    backdrop-filter:blur(5px)!important;
    touch-action:none!important;
  }

  body > .ba-profile-edit-modal .ba-profile-edit-modal__card,
  body > .ba-profile-image-modal .ba-profile-image-modal__card{
    position:relative!important;
    z-index:2!important;
    left:auto!important;
    top:auto!important;
    right:auto!important;
    bottom:auto!important;
    transform:none!important;
    width:min(520px,100%)!important;
    max-width:100%!important;
    height:auto!important;
    max-height:calc(100dvh - 28px)!important;
    margin:0!important;
    padding:16px!important;
    box-sizing:border-box!important;
    overflow:hidden!important;
    overscroll-behavior:none!important;
    border-radius:20px!important;
    background:#fff!important;
    touch-action:auto!important;
  }

  body > .ba-profile-edit-modal form{
    margin-top:12px!important;
  }
  body > .ba-profile-edit-modal form label{
    margin-bottom:10px!important;
  }
  body > .ba-profile-edit-modal form input{
    width:100%!important;
    max-width:100%!important;
    min-height:44px!important;
    box-sizing:border-box!important;
    font-size:16px!important;
    touch-action:manipulation!important;
  }
  body > .ba-profile-edit-modal__card,
  body > .ba-profile-image-modal__card{
    -webkit-overflow-scrolling:auto!important;
  }

  /* La scelta avatar e il ritaglio possono avere contenuto ricco:
     occupano il viewport, ma scorre esclusivamente il pannello davanti. */
  body > .ba-avatar-picker-modal:not([hidden]),
  body > .ba-avatar-crop-modal:not([hidden]){
    position:fixed!important;
    inset:0!important;
    z-index:2147483005!important;
    width:100vw!important;
    height:100vh!important;
    height:100dvh!important;
    margin:0!important;
    padding:max(8px,env(safe-area-inset-top)) 8px max(8px,env(safe-area-inset-bottom))!important;
    box-sizing:border-box!important;
    display:grid!important;
    place-items:center!important;
    overflow:hidden!important;
    transform:none!important;
    touch-action:none!important;
  }

  body > .ba-avatar-picker-modal .ba-avatar-picker-modal__backdrop,
  body > .ba-avatar-crop-modal .ba-avatar-crop-modal__backdrop{
    position:absolute!important;
    inset:0!important;
    background:rgba(3,26,43,.82)!important;
    backdrop-filter:blur(5px)!important;
    touch-action:none!important;
  }

  body > .ba-avatar-picker-modal .ba-avatar-picker-modal__card,
  body > .ba-avatar-crop-modal .ba-avatar-crop-modal__card{
    position:relative!important;
    z-index:2!important;
    width:min(900px,100%)!important;
    max-width:100%!important;
    height:auto!important;
    max-height:calc(100dvh - 16px)!important;
    margin:0!important;
    padding:15px!important;
    box-sizing:border-box!important;
    overflow-x:hidden!important;
    overflow-y:auto!important;
    overscroll-behavior:contain!important;
    -webkit-overflow-scrolling:touch!important;
    border-radius:18px!important;
    background:#fff!important;
    touch-action:pan-y!important;
  }

  body > .ba-avatar-picker-modal .ba-avatar-picker-modal__head,
  body > .ba-avatar-crop-modal .ba-avatar-crop-modal__head{
    position:sticky!important;
    top:-15px!important;
    z-index:5!important;
    margin:-15px -15px 10px!important;
    padding:15px!important;
    background:#fff!important;
    border-bottom:1px solid rgba(3,58,98,.08)!important;
  }

  body > .ba-avatar-picker-modal .ba-avatar-picker-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:9px!important;
  }
  body > .ba-avatar-picker-modal .ba-avatar-picker-item{
    padding:8px!important;
    border-radius:14px!important;
  }

  body > .ba-avatar-crop-modal .ba-avatar-crop-stage{
    width:min(310px,78vw)!important;
  }
}

@media(max-width:370px), (max-height:650px){
  body > .ba-profile-edit-modal .ba-profile-edit-modal__card,
  body > .ba-profile-image-modal .ba-profile-image-modal__card{
    padding:13px!important;
  }
  body > .ba-profile-edit-modal .ba-profile-edit-modal__head h3,
  body > .ba-profile-image-modal .ba-profile-image-modal__head h3{
    font-size:20px!important;
  }
  body > .ba-profile-edit-modal form{
    margin-top:9px!important;
  }
  body > .ba-profile-edit-modal form label{
    margin-bottom:7px!important;
  }
  body > .ba-profile-edit-modal form input{
    min-height:40px!important;
  }
  body > .ba-profile-image-modal .ba-profile-image-option{
    min-height:108px!important;
  }
  body > .ba-profile-image-modal .ba-profile-image-option small{
    display:none!important;
  }
}
