
:root {
    --night: #071a2c;
    --night-2: #0b2a42;
    --sea: #0d3f58;
    --gold: #ffd45a;
    --gold-2: #ff9f1c;
    --cream: #fff4cf;
    --ink: #23170d;
}

* { box-sizing: border-box; }
html { min-height: 100%; background: #05121c; }
body {
    margin: 0;
    min-height: 100vh;
    overflow-x: hidden;
    color: #fff;
    font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    background:
        linear-gradient(rgba(4, 12, 18, .62), rgba(4, 12, 18, .72)),
        url("img/cave-bg.png") center top / cover no-repeat fixed;
}
body::before {
    content: "";
    position: fixed;
    inset: 0;
    pointer-events: none;
    background:
        radial-gradient(circle at 50% 18%, rgba(255, 219, 112, .12), transparent 30%),
        linear-gradient(180deg, rgba(8,24,36,.06) 0%, rgba(2,7,10,.12) 100%);
}
body::after {
    content: "";
    position: fixed;
    inset: auto 0 0;
    height: 28vh;
    pointer-events: none;
    background: linear-gradient(180deg, rgba(5, 14, 20, 0) 0%, rgba(5, 14, 20, .72) 80%, rgba(5, 14, 20, .92) 100%);
}

.game-shell { position: relative; z-index: 1; width: min(1100px, calc(100% - 28px)); margin: 0 auto; padding: 48px 0 70px; }
.hero { position: relative; text-align: center; padding: 12px 12px 24px; }
.welcome-message {
    max-width: 760px;
    margin: 16px auto 8px;
    padding: 13px 16px;
    border: 1px solid rgba(255, 212, 90, .48);
    border-radius: 14px;
    color: #fff1b5;
    background: rgba(5, 20, 33, .74);
    text-align: center;
    font-weight: 800;
    box-shadow: 0 10px 28px rgba(0, 0, 0, .25);
    backdrop-filter: blur(5px);
}

.eyebrow { margin: 0 0 8px; text-transform: uppercase; letter-spacing: .23em; color: #9dd2df; font-size: .74rem; font-weight: 800; }
h1 { margin: 0; font-family: Georgia, "Times New Roman", serif; font-size: clamp(3rem, 9vw, 6.5rem); line-height: .95; letter-spacing: -.04em; color: var(--gold); text-shadow: 0 4px 0 #8e4418, 0 12px 30px rgba(255, 168, 35, .25); }
.subtitle { max-width: 650px; margin: 18px auto 10px; color: #d9edf2; font-size: clamp(1rem, 2.5vw, 1.22rem); line-height: 1.6; }
.probability-note { display: inline-flex; border: 1px solid rgba(255,212,90,.35); background: rgba(5,20,33,.55); color: #fce7a8; border-radius: 999px; padding: 8px 14px; font-size: .78rem; backdrop-filter: blur(4px); }
.moon { position: absolute; top: -6px; right: 5%; width: 86px; aspect-ratio: 1; border-radius: 50%; background: #fff1bf; box-shadow: 0 0 40px rgba(255,241,191,.28); opacity: .85; z-index: -1; }
.moon::after { content:""; position:absolute; width:18px; height:18px; border-radius:50%; background:rgba(168,141,104,.18); left:18px; top:17px; box-shadow: 29px 14px 0 7px rgba(168,141,104,.12), 5px 39px 0 3px rgba(168,141,104,.12); }
.stars, .stars::before, .stars::after { position:absolute; inset:0; content:""; pointer-events:none; background-image: radial-gradient(circle, #fff 0 1px, transparent 1.6px); background-size: 63px 63px; opacity:.24; }
.stars::before { transform: translate(22px, 19px); background-size: 91px 91px; }
.stars::after { transform: translate(-8px, 10px); background-size: 121px 121px; }

.chest-area { text-align: center; }
.chest-area h2 { margin: 10px 0 28px; font-family: Georgia, serif; font-size: clamp(1.25rem, 4vw, 2rem); color: var(--cream); text-shadow: 0 2px 8px rgba(0,0,0,.45); }
.chest-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(20px, 4vw, 45px); max-width: 850px; margin: 0 auto; }
.chest-button { position: relative; min-height: 245px; border: 0; padding: 25px 8px 12px; color: inherit; background: transparent; cursor: pointer; perspective: 700px; border-radius: 25px; transition: background .2s, transform .2s, opacity .2s; }
.chest-button:hover:not(:disabled) { transform: translateY(-7px); background: rgba(255,255,255,.035); }
.chest-button:focus-visible { outline: 3px solid #fff; outline-offset: 5px; }
.chest-button:disabled:not(.selected) { opacity: .32; filter: saturate(.4); }
.chest-number { position:absolute; top:0; left:50%; transform:translateX(-50%); font-weight:900; color:#bfe7ef; font-size:.85rem; letter-spacing:.08em; text-shadow: 0 2px 6px rgba(0,0,0,.5); }
.chest {
    display:block;
    position:relative;
    width:min(235px, 98%);
    height: 215px;
    margin: 18px auto 0;
    filter: drop-shadow(0 22px 24px rgba(0,0,0,.50));
}
.chest-art {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: contain;
    user-select: none;
    -webkit-user-drag: none;
    will-change: transform, opacity, filter;
    transition: opacity .42s ease, transform .52s cubic-bezier(.2,.8,.2,1.08), filter .42s ease;
}
.chest-closed {
    z-index: 3;
    opacity: 1;
    transform: scale(1);
}
.chest-open {
    z-index: 2;
    opacity: 0;
    transform: scale(.94) translateY(10px);
}
.chest-glow {
    position:absolute;
    z-index:1;
    left:50%;
    top:46%;
    width:26px;
    height:26px;
    border-radius:50%;
    transform:translate(-50%,-50%);
    background:#fff7a3;
    opacity:0;
    box-shadow:0 0 36px 24px rgba(255,213,77,.74);
    transition:opacity .35s ease, transform .7s ease;
}
.chest-burst {
    position:absolute;
    inset: 10% 12% 12%;
    z-index:1;
    border-radius:50%;
    background: radial-gradient(circle, rgba(255,242,170,.98) 0 10%, rgba(255,205,76,.58) 24%, rgba(255,205,76,.18) 46%, transparent 72%);
    opacity:0;
    transform: scale(.25);
    transition: opacity .35s ease, transform .7s ease;
    filter: blur(5px);
}
.status { min-height: 1.5em; margin: 30px 0 0; color:#c9e3e8; font-weight:700; text-shadow: 0 2px 8px rgba(0,0,0,.45); }

.chest-button.rumbling .chest { animation: rumble .12s linear infinite; }
.chest-button.opened .chest-closed { opacity:0; transform: scale(.94) translateY(6px); filter: brightness(1.08); }
.chest-button.opened .chest-open { opacity:1; transform: scale(1.03) translateY(0); filter: brightness(1.08) saturate(1.08); }
.chest-button.opened .chest-glow { opacity:1; transform:translate(-50%,-50%) scale(8); }
.chest-button.opened .chest-burst { opacity:1; transform: scale(1.65); }
.chest-button.opened .chest-glow { opacity:1; transform:translate(-50%,-50%) scale(8); }
.chest-button.opened .chest-burst { opacity:1; transform: scale(1.7); }
.chest-button.opened { z-index:5; }
@keyframes rumble { 0%,100%{transform:translate(0) rotate(0)} 25%{transform:translate(-4px,1px) rotate(-1deg)} 75%{transform:translate(4px,-1px) rotate(1deg)} }
.spark { position:absolute; z-index:10; left:50%; top:52%; width:8px; height:8px; border-radius:50%; background:#fff7a3; box-shadow:0 0 9px #ffd13b; pointer-events:none; animation:sparkFly 1.1s ease-out forwards; }
@keyframes sparkFly { from{transform:translate(-50%,-50%) rotate(var(--angle)) translateX(0) scale(1);opacity:1} to{transform:translate(-50%,-50%) rotate(var(--angle)) translateX(var(--distance)) scale(0);opacity:0} }


.chest-fx-coin {
    position:absolute;
    z-index:12;
    left:50%;
    top:51%;
    color:#ffd84d;
    font-size:clamp(13px, 2.2vw, 23px);
    line-height:1;
    text-shadow:0 0 8px #ffca32, 0 2px 3px rgba(75,38,0,.8);
    pointer-events:none;
    opacity:0;
    animation:chestCoinJump 1.2s cubic-bezier(.18,.72,.2,1) forwards;
}
@keyframes chestCoinJump {
    0% { transform:translate(-50%,-50%) scale(.3) rotate(0deg); opacity:0; }
    12% { opacity:1; }
    58% { transform:translate(calc(-50% + var(--coin-x)), var(--coin-y)) scale(1) rotate(var(--coin-spin)); opacity:1; }
    100% { transform:translate(calc(-50% + var(--coin-x)), 74px) scale(.72) rotate(var(--coin-spin)); opacity:0; }
}
.chest-smoke {
    position:absolute;
    z-index:10;
    left:50%;
    top:49%;
    width:44px;
    height:44px;
    margin:-22px;
    border-radius:50%;
    background:radial-gradient(circle, rgba(255,247,190,.62) 0 20%, rgba(255,203,74,.34) 45%, transparent 72%);
    filter:blur(4px);
    pointer-events:none;
    opacity:0;
    animation:goldSmoke 1.45s ease-out forwards;
}
@keyframes goldSmoke {
    0% { transform:translate(0, 12px) scale(.35); opacity:0; }
    18% { opacity:.72; }
    100% { transform:translate(var(--smoke-x), -115px) scale(var(--smoke-scale)); opacity:0; }
}
.chest-prize-pop {
    position:absolute;
    z-index:20;
    left:50%;
    top:39%;
    width:min(245px, 96%);
    padding:9px 13px;
    border:2px solid rgba(255,230,121,.75);
    border-radius:999px;
    color:#fff9d5;
    background:linear-gradient(180deg, rgba(124,72,14,.95), rgba(67,32,5,.96));
    box-shadow:0 0 25px rgba(255,207,65,.46), 0 8px 20px rgba(0,0,0,.42);
    font-family:Georgia, serif;
    font-size:clamp(.82rem, 2.2vw, 1.05rem);
    font-weight:800;
    text-align:center;
    text-shadow:0 2px 3px rgba(0,0,0,.7);
    pointer-events:none;
    opacity:0;
    transform:translate(-50%, 34px) scale(.7);
    animation:prizeFromChest 1.65s .28s cubic-bezier(.15,.9,.25,1.2) forwards;
}
@keyframes prizeFromChest {
    0% { opacity:0; transform:translate(-50%, 34px) scale(.7); }
    28% { opacity:1; transform:translate(-50%, -68px) scale(1.05); }
    78% { opacity:1; transform:translate(-50%, -76px) scale(1); }
    100% { opacity:0; transform:translate(-50%, -92px) scale(.96); }
}

.reveal-overlay { position:fixed; z-index:50; inset:0; display:grid; place-items:center; padding:22px; background:rgba(2,9,15,.84); backdrop-filter:blur(8px); opacity:0; visibility:hidden; transition:opacity .35s, visibility .35s; overflow:hidden; }
.reveal-overlay.show { opacity:1; visibility:visible; }
.treasure-rays { position:absolute; width:min(850px,130vw); aspect-ratio:1; background:repeating-conic-gradient(from 0deg, rgba(255,222,91,.2) 0 8deg, transparent 8deg 18deg); animation:spin 18s linear infinite; mask-image:radial-gradient(circle,#000 0 46%,transparent 72%); }
@keyframes spin { to{transform:rotate(360deg)} }
.prize-card { position:relative; z-index:2; width:min(480px,100%); color:var(--ink); text-align:center; border:5px solid #7b4d0d; border-radius:28px; padding:36px 28px 28px; background:linear-gradient(145deg,#fff9df,#f5d984); box-shadow:0 0 0 8px rgba(255,214,76,.16), 0 35px 80px rgba(0,0,0,.55); transform:translateY(45px) scale(.75) rotate(-2deg); opacity:0; }
.reveal-overlay.show .prize-card { animation:prizeIn .75s .15s cubic-bezier(.15,.9,.25,1.25) forwards; }
@keyframes prizeIn { to{transform:translateY(0) scale(1) rotate(0);opacity:1} }
.close-reveal { position:absolute; top:12px; right:14px; width:38px; height:38px; border-radius:50%; border:0; background:rgba(72,40,10,.12); color:#5e360e; font-size:1.7rem; cursor:pointer; }
.prize-crown { width:84px; height:84px; display:grid; place-items:center; margin:-77px auto 10px; border:5px solid #7b4d0d; border-radius:50%; background:linear-gradient(145deg,#ffe885,#e79d13); color:#4c2807; font-size:2.5rem; box-shadow:0 8px 20px rgba(80,40,0,.3); }
.prize-kicker { margin:10px 0 6px; color:#8b5511; letter-spacing:.18em; font-size:.72rem; font-weight:900; }
.prize-card h2 { margin:3px 0 10px; font-family:Georgia,serif; font-size:clamp(2rem,7vw,3.4rem); line-height:1; color:#5f3108; }
.prize-card p { font-size:1.08rem; line-height:1.55; }
.prize-image-wrap { width:120px; height:120px; margin:12px auto; border-radius:22px; overflow:hidden; border:4px solid rgba(123,77,13,.25); background:#fff; }
.prize-image-wrap img { width:100%; height:100%; object-fit:cover; }
.winner-seal { display:inline-block; margin:8px 0 20px; padding:7px 12px; border:2px dashed #a4630e; border-radius:8px; color:#8d5108; font-weight:900; transform:rotate(-2deg); }
.play-again { display:block; width:100%; border:0; border-radius:14px; padding:15px 18px; color:#fff8dc; background:linear-gradient(#9a541c,#63300f); font-weight:900; font-size:1rem; cursor:pointer; box-shadow:0 7px 0 #3a1b08; }
.play-again:active { transform:translateY(4px); box-shadow:0 3px 0 #3a1b08; }
.coin-field { position:absolute; inset:0; pointer-events:none; }
.falling-coin { position:absolute; top:-10%; color:#ffd546; font-size:clamp(14px,3vw,28px); text-shadow:0 0 8px #ffbd20; animation:coinFall 2s linear both; }
@keyframes coinFall { 0%{transform:translate(0,-20px) rotate(0);opacity:0} 10%{opacity:1} 100%{transform:translate(var(--drift),115vh) rotate(900deg);opacity:.3} }
.flash-gold::after { content:""; position:fixed; z-index:40; inset:0; pointer-events:none; background:#ffe67c; animation:flash .75s ease-out forwards; }
@keyframes flash { from{opacity:.65} to{opacity:0} }

@media (max-width: 680px) {
    body {
        background:
            linear-gradient(rgba(4, 12, 18, .7), rgba(4, 12, 18, .8)),
            url("img/cave-bg.png") center top / cover no-repeat fixed;
    }
    .game-shell { width:min(100% - 18px, 540px); padding-top:28px; }
    .chest-grid { gap:12px 5px; }
    .chest-button { min-height:220px; padding-inline:0; }
    .chest { height:170px; width:min(190px,100%); }
        .probability-note { border-radius:14px; }
}

@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { animation-duration:.01ms !important; animation-iteration-count:1 !important; scroll-behavior:auto !important; }
}

.account-bar{display:grid;grid-template-columns:1fr 1fr auto;gap:12px;align-items:center;margin-bottom:18px;padding:12px 16px;border:1px solid rgba(255,212,90,.28);border-radius:16px;background:rgba(3,13,21,.72);backdrop-filter:blur(7px);box-shadow:0 12px 30px rgba(0,0,0,.25)}.account-bar span{display:block;color:#9fc6d0;font-size:.73rem;text-transform:uppercase;letter-spacing:.08em}.account-bar strong{display:block;color:#ffe18a;margin-top:2px}.account-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.account-actions a,.deposit-cta{display:inline-block;text-decoration:none;color:#fff4cd;font-weight:900;border:1px solid rgba(255,212,90,.34);background:rgba(125,67,16,.7);border-radius:11px;padding:9px 12px}.deposit-cta{margin-top:16px}.chest-button:disabled{cursor:not-allowed}.chest-button:disabled:not(.selected){opacity:.34;filter:saturate(.45)}@media(max-width:680px){.account-bar{grid-template-columns:1fr 1fr}.account-actions{grid-column:span 2;justify-content:center}}


/* v17 mobile theme */
body{background:var(--app-bg)!important;color:var(--app-text)}
.user-appbar{position:fixed;inset:0 0 auto;z-index:120;background:var(--app-surface-dark);box-shadow:0 12px 30px rgba(0,0,0,.18)}
.user-appbar-inner{width:min(100%,720px);margin:0 auto;display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:10px;align-items:center;padding:12px 14px}
.user-balance-chip{text-decoration:none;color:var(--app-text-light);display:flex;align-items:center;gap:8px;min-width:0}.user-balance-chip span{font-size:.75rem;color:rgba(255,255,255,.72)}.user-balance-chip strong{font-size:1.08rem;white-space:nowrap}.user-deposit-chip{text-decoration:none;font-weight:900;padding:10px 14px;border-radius:11px;background:var(--app-primary);color:var(--app-primary-text)}
.user-menu{position:relative}.user-menu summary{list-style:none;cursor:pointer;color:var(--app-text-light);display:grid;place-items:center;width:34px;height:34px;border-radius:10px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.04)}.user-menu summary::-webkit-details-marker{display:none}.user-menu-dropdown{position:absolute;right:0;top:calc(100% + 8px);width:180px;display:grid;padding:8px;background:#fff;border:1px solid rgba(17,24,39,.09);border-radius:14px;box-shadow:0 18px 40px rgba(15,23,42,.18)}.user-menu-dropdown a{text-decoration:none;color:var(--app-text);padding:10px 12px;border-radius:10px}.user-menu-dropdown a:hover{background:#f8fafc}
.user-bottom-nav{position:fixed;left:0;right:0;bottom:0;z-index:115;background:var(--app-surface-dark);border-top:1px solid rgba(255,255,255,.08);display:grid;grid-template-columns:repeat(4,1fr);padding:7px 8px calc(7px + env(safe-area-inset-bottom,0px));gap:4px}.user-bottom-nav a{text-decoration:none;color:rgba(255,255,255,.78);display:grid;justify-items:center;gap:4px;padding:7px 4px;border-radius:12px;font-size:.74rem}.user-bottom-nav a.active{color:var(--app-primary)}.user-bottom-nav .nav-icon{font-size:1.15rem;line-height:1}
@media(max-width:820px){
  .game-shell{width:min(100%,720px);padding:88px 12px 98px}
  .hero,.chest-area{background:var(--app-card-bg)!important;border:1px solid var(--app-card-border);box-shadow:0 14px 34px rgba(15,23,42,.06);backdrop-filter:blur(6px);border-radius:24px;color:var(--app-text);padding:20px}
  .hero h1,.hero .subtitle,.hero .eyebrow,.probability-note,.status,.chest-area h2{color:var(--app-text)!important;text-shadow:none}
  .hero{min-height:unset}.moon,.stars{display:none}.probability-note{background:var(--app-note-bg)!important;border-color:var(--app-card-border)}
  .chest-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 10px}.chest-button{border-radius:18px;background:var(--app-card-bg)!important;border:1px solid var(--app-card-border);backdrop-filter:blur(5px);padding:16px 8px 18px;min-height:220px}.chest-number{color:var(--app-muted);text-shadow:none;font-size:1rem}.deposit-cta{border:none}
}
@media(min-width:821px){.user-bottom-nav{display:none}.user-appbar{position:sticky;top:0;border-radius:20px;margin:20px auto 18px;inset:auto;width:min(100%,720px)}}


/* v18 background image + pix/button colors */
body{
  background-color:var(--app-bg)!important;
  background-image:linear-gradient(rgba(3,10,16,.58), rgba(3,10,16,.72)), var(--app-bg-image)!important;
  background-position:center center, center center!important;
  background-size:cover, cover!important;
  background-repeat:no-repeat, no-repeat!important;
  background-attachment:fixed, fixed!important;
}
.primary,
.secondary-button,
.action-link.primary,
.deposit-cta,
.user-deposit-chip,
.play-again{
  background:var(--app-button-bg)!important;
  color:var(--app-button-text)!important;
  border-color:rgba(17,24,39,.10)!important;
  box-shadow:none!important;
}
.pix-code,
.copy-box{
  background:var(--app-pix-code-bg)!important;
  color:var(--app-pix-code-text)!important;
  border-color:rgba(255,255,255,.12)!important;
}
.copy-label{color:var(--app-button-text)!important}


/* v18.1 transparent game cards */
@media(max-width:820px){.hero,.chest-area,.chest-button,.probability-note{box-shadow:0 10px 28px rgba(0,0,0,.12)}}


/* v18.2 definitive mobile transparency */
@media (max-width:820px){
  body{
    background-color:var(--app-bg)!important;
    background-image:linear-gradient(rgba(3,10,16,.40),rgba(3,10,16,.55)),var(--app-bg-image)!important;
    background-position:center center,center center!important;
    background-size:cover,cover!important;
    background-repeat:no-repeat,no-repeat!important;
    background-attachment:fixed,fixed!important;
  }
  .hero,
  .chest-area,
  .chest-button{
    background-color:transparent!important;
    background-image:none!important;
    border-color:var(--app-card-border)!important;
    box-shadow:none!important;
    backdrop-filter:none!important;
    -webkit-backdrop-filter:none!important;
  }
  .probability-note{
    background:var(--app-note-bg)!important;
    border-color:var(--app-card-border)!important;
    box-shadow:none!important;
  }
}


/* v19 — carrossel e personalização por objeto */
.user-appbar{background:var(--app-appbar-bg)!important}
.user-balance-chip{color:var(--app-appbar-text)!important}.user-balance-chip span{color:var(--app-appbar-label)!important}
.user-deposit-chip{background:var(--app-appbar-button-bg)!important;color:var(--app-appbar-button-text)!important}
.user-bottom-nav{background:var(--app-bottom-nav-bg)!important}.user-bottom-nav a{color:var(--app-bottom-nav-text)!important}.user-bottom-nav a.active{color:var(--app-bottom-nav-active)!important}
.hero-carousel{position:relative;overflow:hidden;border:1px solid var(--app-carousel-border);border-radius:25px;height:var(--carousel-desktop-height);box-shadow:0 18px 48px rgba(0,0,0,.28);margin-bottom:18px;background:#050b13}
.carousel-track,.hero-slide{position:absolute;inset:0}
.hero-slide{opacity:0;visibility:hidden;transition:opacity .55s ease,visibility .55s ease;display:block;padding:0;background:none}
.hero-slide.active{opacity:1;visibility:visible;z-index:2}
.hero-slide-shade{position:absolute;inset:0;background:linear-gradient(90deg,var(--app-carousel-overlay),rgba(0,0,0,.22) 68%,rgba(0,0,0,.08));z-index:0}
.hero-slide-content{position:relative;z-index:1;width:min(660px,92%);text-align:center;margin:auto}
.carousel-eyebrow{margin:0 0 9px;color:var(--app-carousel-eyebrow);font-weight:900;font-size:.74rem;letter-spacing:.18em;text-transform:uppercase}
.hero-slide h1{margin:0;color:var(--app-carousel-title);font-family:Georgia,"Times New Roman",serif;font-size:clamp(2.6rem,7vw,5.6rem);line-height:.98;text-shadow:0 4px 24px rgba(0,0,0,.45)}
.carousel-subtitle{max-width:630px;margin:17px auto 12px;color:var(--app-carousel-subtitle);line-height:1.6;font-size:clamp(.95rem,2.2vw,1.18rem);text-shadow:0 2px 10px rgba(0,0,0,.5)}
.carousel-note{display:inline-flex;max-width:610px;padding:9px 16px;border-radius:14px;background:var(--app-carousel-note-bg);color:var(--app-carousel-note-text);font-size:.78rem;line-height:1.35}
.carousel-arrow{position:absolute;top:50%;z-index:5;transform:translateY(-50%);width:40px;height:48px;border:1px solid rgba(255,255,255,.28);border-radius:13px;background:rgba(0,0,0,.28);color:#fff;font-size:2rem;cursor:pointer}.carousel-prev{left:12px}.carousel-next{right:12px}
.carousel-dots{position:absolute;z-index:6;left:50%;bottom:12px;transform:translateX(-50%);display:flex;gap:7px}.carousel-dots button{width:8px;height:8px;padding:0;border:0;border-radius:999px;background:var(--app-carousel-dot);cursor:pointer;transition:width .2s}.carousel-dots button.active{width:25px;background:var(--app-carousel-dot-active)}
.chest-area{background:var(--app-chest-panel-bg)!important;border-color:var(--app-chest-panel-border)!important}.chest-area h2{color:var(--app-chest-title)!important}.status{color:var(--app-chest-status)!important}
.chest-button{background:var(--app-chest-button-bg)!important;border-color:var(--app-chest-button-border)!important}.chest-number{color:var(--app-chest-number)!important}
.reveal-overlay{background:var(--app-prize-overlay)!important}.prize-card{background:var(--app-prize-card-bg)!important;border-color:var(--app-prize-card-border)!important;color:var(--app-prize-text)!important}.prize-kicker{color:var(--app-prize-kicker)!important}.prize-card h2{color:var(--app-prize-title)!important}.play-again{background:var(--app-prize-button-bg)!important;color:var(--app-prize-button-text)!important}
@media(max-width:820px){.hero-carousel{height:var(--carousel-mobile-height);border-radius:20px}.hero-slide{padding:22px 18px}.hero-slide h1{font-size:clamp(2rem,10vw,3.4rem)}.carousel-subtitle{font-size:.92rem;line-height:1.5}.carousel-note{font-size:.72rem}.carousel-arrow{width:34px;height:42px;font-size:1.65rem}.carousel-prev{left:7px}.carousel-next{right:7px}.chest-area{backdrop-filter:blur(6px)}}


/* v20: carrossel somente com imagens */
.hero-slide-image{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
.hero-slide-shade,.hero-slide-content{display:none!important}

/* v20: tentativa sem saldo */
.chest-button.balance-denied .chest{filter:drop-shadow(0 0 18px rgba(255,95,65,.7)) drop-shadow(0 20px 18px rgba(0,0,0,.45))}
.chest-button.balance-denied-pop .chest{animation:balanceDeniedPop .45s ease}
@keyframes balanceDeniedPop{0%{transform:scale(1)}35%{transform:scale(.9)}70%{transform:scale(1.08)}100%{transform:scale(1)}}
.balance-overlay{position:fixed;z-index:80;inset:0;display:grid;place-items:center;padding:22px;background:rgba(2,9,15,.78);backdrop-filter:blur(7px);opacity:0;visibility:hidden;transition:opacity .28s ease,visibility .28s ease}
.balance-overlay.show{opacity:1;visibility:visible}
.balance-card{position:relative;width:min(420px,100%);padding:30px 24px 24px;text-align:center;border:2px solid var(--app-prize-card-border);border-radius:24px;background:var(--app-prize-card-bg);color:var(--app-prize-text);box-shadow:0 28px 70px rgba(0,0,0,.48);transform:translateY(25px) scale(.92);transition:transform .32s cubic-bezier(.2,.85,.25,1.15)}
.balance-overlay.show .balance-card{transform:translateY(0) scale(1)}
.balance-close{position:absolute;right:12px;top:10px;width:38px;height:38px;border:0;border-radius:50%;background:rgba(0,0,0,.08);color:var(--app-prize-title);font-size:1.55rem;cursor:pointer}
.balance-lock{font-size:3.2rem;animation:lockedBounce .7s ease both}
@keyframes lockedBounce{0%{transform:translateY(-15px) scale(.6);opacity:0}55%{transform:translateY(4px) scale(1.1);opacity:1}100%{transform:translateY(0) scale(1)}}
.balance-kicker{margin:8px 0 4px;color:var(--app-prize-kicker);font-size:.72rem;font-weight:900;letter-spacing:.16em}
.balance-card h2{margin:5px 0 10px;color:var(--app-prize-title);font-family:Georgia,serif;font-size:clamp(1.8rem,7vw,2.6rem)}
.balance-card p{color:var(--app-prize-text);line-height:1.55}
.balance-deposit-button,.balance-cancel-button{display:block;width:100%;border:0;border-radius:13px;padding:14px 16px;font:inherit;font-weight:900;text-decoration:none;cursor:pointer}
.balance-deposit-button{margin-top:18px;background:var(--app-primary-button-bg);color:var(--app-primary-button-text)}
.balance-cancel-button{margin-top:9px;background:var(--app-secondary-button-bg);color:var(--app-secondary-button-text)}


/* v20.1 — carrossel horizontal full width no mobile */
.hero-carousel{background:#050b13}
.hero-slide-image{display:block;width:100%;height:100%;object-fit:contain;object-position:center center;background:#050b13}
@media(max-width:820px){
  .game-shell{width:100%;max-width:720px;padding:88px 12px 98px;overflow-x:clip}
  .hero-carousel{
    width:100vw;
    max-width:100vw;
    margin-left:calc(50% - 50vw);
    margin-right:calc(50% - 50vw);
    margin-bottom:16px;
    height:var(--carousel-mobile-height);
    border-radius:0;
    border-left:0;
    border-right:0;
    box-shadow:none;
    background:#050b13;
  }
  .carousel-track,.hero-slide{inset:0}
  .hero-slide{padding:0!important}
  .hero-slide-image{object-fit:contain!important;background:#050b13}
  .carousel-arrow{top:auto;bottom:12px;transform:none;width:34px;height:34px;border-radius:10px;font-size:1.35rem;background:rgba(0,0,0,.36)}
  .carousel-prev{left:10px}.carousel-next{right:10px}
  .carousel-dots{bottom:14px}
}
@media(min-width:821px){
  .hero-carousel{width:100%;border-radius:18px}
  .hero-slide-image{object-fit:cover}
}


/* v20.2 — remove excesso de espaço e fundo transparente do carrossel */
.hero-carousel,
.carousel-track,
.hero-slide{background:transparent!important}
.hero-slide-image{background:transparent!important}
@media(max-width:820px){
  .hero-carousel{
    height:auto!important;
    aspect-ratio: 336 / 124;
    min-height:0!important;
    background:transparent!important;
    margin-top:0;
    margin-bottom:10px;
  }
  .carousel-track,.hero-slide{background:transparent!important}
  .hero-slide-image{
    width:100%;
    height:100%;
    object-fit:contain!important;
    object-position:center center;
    background:transparent!important;
  }
  .carousel-arrow{bottom:8px}
  .carousel-dots{bottom:8px}
}


/* v20.3 — imagem do carrossel de canto a canto */
@media(max-width:820px){
  .hero-carousel{
    width:100vw;
    max-width:100vw;
    margin-left:calc(50% - 50vw)!important;
    margin-right:calc(50% - 50vw)!important;
    border-radius:0!important;
    overflow:hidden;
    aspect-ratio: 16 / 6;
  }
  .hero-slide,
  .carousel-track{
    width:100%;
    height:100%;
  }
  .hero-slide-image{
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
    object-position:center center!important;
    display:block;
  }
}


/* v20.4 — menu da conta totalmente configurável pelo admin */
.user-menu summary{
    color:var(--app-profile-button-icon)!important;
    background:var(--app-profile-button-bg)!important;
    border-color:var(--app-profile-button-border)!important;
}
.user-menu-dropdown{
    background:var(--app-account-menu-bg)!important;
    border-color:var(--app-account-menu-border)!important;
}
.user-menu-dropdown a{
    color:var(--app-account-menu-text)!important;
}
.user-menu-dropdown a:hover,
.user-menu-dropdown a:focus-visible{
    background:var(--app-account-menu-hover-bg)!important;
    color:var(--app-account-menu-hover-text)!important;
    outline:none;
}


/* v20.5 maiores baus */
@media(max-width:820px){.chest-art{transform:scale(1.18)}}
@media(min-width:821px){.chest-art{transform:scale(1.04)}}


/* v20.6 baus 2 por linha no mobile */
@media(max-width:820px){
  .chest-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 10px}
  .chest{margin-top:10px}
  .chest-button{width:100%}
}

/* v30 — Roletinha Premiada */
.roulette-page{
  background-color:#D9BC69!important;
  background-image:
    radial-gradient(circle at 50% 16%,rgba(255,251,224,.76),transparent 34%),
    linear-gradient(rgba(225,199,119,.62),rgba(116,83,38,.48)),
    var(--app-bg-image)!important;
  background-blend-mode:screen,soft-light,soft-light!important;
  color:var(--app-text);
}
.roulette-shell{width:min(980px,calc(100% - 24px));padding-bottom:92px}
.wheel-area{
  position:relative;
  text-align:center;
  padding:clamp(20px,4vw,38px) clamp(12px,3vw,32px) 28px;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  overflow:visible;
}
.wheel-area::before{display:none;content:none}
.wheel-heading{position:relative;z-index:2;margin:0 auto 15px;max-width:650px}
.wheel-eyebrow{margin:0 0 6px;color:var(--app-wheel-accent);font-size:.72rem;font-weight:950;letter-spacing:.18em}
.wheel-heading h1{
  margin:0;
  color:var(--app-chest-title)!important;
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(2rem,7vw,4rem);
  letter-spacing:-.04em;
  line-height:1;
  text-shadow:0 3px 0 rgba(255,255,255,.4),0 10px 22px rgba(50,29,14,.18);
}
.wheel-heading>p:last-child{margin:11px 0 0;color:var(--app-chest-status);font-size:clamp(.9rem,2.5vw,1.08rem)}
.wheel-heading strong{color:var(--app-wheel-accent)}
.roulette-stage{
  position:relative;
  z-index:2;
  width:min(660px,94vw);
  aspect-ratio:1;
  margin:10px auto 0;
  display:grid;
  place-items:center;
  filter:drop-shadow(0 30px 28px rgba(37,20,9,.33));
}
.roulette-frame{
  position:relative;
  width:88%;
  aspect-ratio:1;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:
    radial-gradient(circle at 35% 24%,rgba(255,255,255,.55),transparent 20%),
    linear-gradient(145deg,var(--app-wheel-frame-light),var(--app-wheel-frame),var(--app-wheel-frame-dark));
  border:clamp(8px,1.8vw,17px) solid var(--app-wheel-frame);
  box-shadow:
    inset 0 0 0 4px rgba(255,255,255,.38),
    inset 0 0 0 11px rgba(103,61,18,.2),
    0 0 0 4px rgba(255,246,207,.64),
    0 20px 45px rgba(64,35,13,.34);
}
.roulette-frame::after{
  content:"";
  position:absolute;
  inset:8.5%;
  border-radius:50%;
  pointer-events:none;
  border:clamp(3px,.7vw,7px) solid rgba(255,249,224,.9);
  box-shadow:inset 0 0 14px rgba(77,41,15,.35),0 0 0 2px rgba(74,40,14,.25);
  z-index:4;
}
.roulette-bulbs{position:absolute;inset:0;border-radius:50%;z-index:8;pointer-events:none}
.roulette-bulbs span{
  position:absolute;
  width:clamp(7px,1.55vw,15px);
  aspect-ratio:1;
  border-radius:50%;
  transform:translate(-50%,-50%);
  background:var(--app-wheel-bulb);
  box-shadow:0 0 5px rgba(255,255,255,.9),0 0 12px var(--app-wheel-bulb),inset 0 1px 2px #fff;
  animation:rouletteBulbPulse .9s var(--bulb-delay) ease-in-out infinite alternate;
}
@keyframes rouletteBulbPulse{from{opacity:.58;filter:brightness(.82)}to{opacity:1;filter:brightness(1.35)}}
.roulette-rotor{
  position:absolute;
  inset:10.2%;
  z-index:2;
  border-radius:50%;
  overflow:hidden;
  transform:rotate(0deg);
  will-change:transform;
  box-shadow:inset 0 0 24px rgba(0,0,0,.24),0 0 0 3px rgba(92,51,16,.25);
}
.roulette-rotor canvas{display:block;width:100%;height:100%;border-radius:50%}
.roulette-pointer{
  position:absolute;
  z-index:15;
  top:1.8%;
  left:50%;
  width:clamp(44px,9vw,76px);
  height:clamp(68px,13vw,110px);
  transform:translateX(-50%);
  filter:drop-shadow(0 8px 7px rgba(48,22,8,.4));
  pointer-events:none;
}
.roulette-pointer::before{
  content:"";
  position:absolute;
  top:0;
  left:50%;
  width:72%;
  aspect-ratio:1;
  transform:translateX(-50%);
  border-radius:50%;
  background:linear-gradient(145deg,var(--app-wheel-pointer-light),var(--app-wheel-pointer));
  border:4px solid var(--app-wheel-pointer-dark);
  box-shadow:inset 0 4px 5px rgba(255,255,255,.42);
}
.roulette-pointer span{
  position:absolute;
  left:50%;
  top:31%;
  width:0;
  height:0;
  transform:translateX(-50%);
  border-left:clamp(16px,3.5vw,29px) solid transparent;
  border-right:clamp(16px,3.5vw,29px) solid transparent;
  border-top:clamp(36px,7vw,62px) solid var(--app-wheel-pointer);
}
.roulette-spin-wrap{
  position:relative;
  z-index:3;
  display:flex;
  justify-content:center;
  width:100%;
  margin:clamp(-12px,-1.4vw,-5px) auto 0;
  padding:0 clamp(12px,4vw,28px);
}
.roulette-spin-button{
  position:relative;
  width:min(520px,88%);
  min-height:clamp(68px,10vw,92px);
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:1px;
  padding:12px 34px 10px;
  border-radius:999px;
  border:clamp(4px,.72vw,7px) solid var(--app-wheel-hub-ring);
  color:var(--app-wheel-center-text);
  background-color:var(--app-wheel-center-bg);
  background-image:
    radial-gradient(circle at 50% 0,rgba(255,255,255,.6),transparent 42%),
    linear-gradient(180deg,var(--app-wheel-frame-light),var(--app-wheel-frame) 54%,var(--app-wheel-frame-dark));
  box-shadow:
    inset 0 0 0 3px rgba(255,255,255,.26),
    inset 0 -7px 12px rgba(93,48,12,.18),
    0 7px 0 var(--app-wheel-center-shadow),
    0 17px 28px rgba(32,18,10,.34);
  text-shadow:0 2px 1px rgba(42,21,7,.55),0 0 12px rgba(255,244,181,.28);
  cursor:pointer;
  transition:transform .18s ease,filter .18s ease,box-shadow .18s ease;
}
.roulette-spin-button::before{
  content:"";
  position:absolute;
  inset:5px;
  border:1px solid rgba(255,255,255,.52);
  border-radius:inherit;
  pointer-events:none;
}
.roulette-spin-button:hover:not(:disabled){transform:translateY(-3px) scale(1.012);filter:brightness(1.06)}
.roulette-spin-button:active:not(:disabled){transform:translateY(4px);box-shadow:inset 0 0 0 3px rgba(255,255,255,.2),inset 0 -4px 8px rgba(93,48,12,.16),0 3px 0 var(--app-wheel-center-shadow),0 8px 16px rgba(32,18,10,.28)}
.roulette-spin-button:focus-visible{outline:4px solid #fff;outline-offset:5px}
.roulette-spin-button:disabled{cursor:not-allowed;filter:saturate(.68) brightness(.88)}
.roulette-spin-button span{display:block;font-size:clamp(1.45rem,5vw,2.65rem);font-weight:1000;letter-spacing:.045em;line-height:1}
.roulette-spin-button small{display:block;margin-top:5px;font-size:clamp(.65rem,1.8vw,.84rem);font-weight:900;letter-spacing:.04em;text-transform:uppercase;opacity:.88}
.roulette-spin-button.is-spinning span{animation:spinButtonPulse .55s ease-in-out infinite alternate}
@keyframes spinButtonPulse{to{transform:scale(1.06);text-shadow:0 0 15px rgba(255,255,255,.62)}}
.roulette-status{position:relative;z-index:2;margin:17px auto 0!important;min-height:24px;color:var(--app-chest-status)!important;font-weight:850}
.roulette-engine-note{position:relative;z-index:2;max-width:680px;margin:8px auto 0;color:var(--app-chest-status);font-size:.72rem;line-height:1.45;opacity:.75}
.roulette-empty{position:relative;z-index:2;margin:25px auto;padding:18px;border-radius:16px;background:rgba(255,255,255,.7);color:#6e350e;font-weight:850}
.roulette-stage.is-spinning .roulette-pointer{animation:pointerTick .16s ease-in-out infinite alternate}
@keyframes pointerTick{to{transform:translateX(-50%) rotate(3deg)}}
.roulette-stage.spin-finished{animation:rouletteFinish .55s cubic-bezier(.16,.9,.25,1.25)}
@keyframes rouletteFinish{35%{transform:scale(1.025)}70%{transform:scale(.99)}to{transform:scale(1)}}
.roulette-stage.balance-denied{filter:drop-shadow(0 0 20px rgba(220,55,45,.5))}
.roulette-confetti:nth-child(3n+1){color:#f6cb43}.roulette-confetti:nth-child(3n+2){color:#ef635b}.roulette-confetti:nth-child(3n){color:#41a6c8}
.roulette-page .prize-card{border-radius:28px}
.roulette-page .prize-crown{font-family:system-ui,sans-serif}
.roulette-page .winner-seal{transform:none}
.roulette-page .deposit-cta{position:relative;z-index:2}

@media(max-width:820px){
  .roulette-shell{width:100%;max-width:720px;padding:78px 10px 98px}
  .wheel-area{border-radius:0;padding:20px 4px 24px;background:transparent!important;backdrop-filter:none!important;box-shadow:none!important;border:0!important}
  .wheel-heading{padding:0 12px}
  .roulette-stage{width:min(610px,98vw);margin-top:2px}
  .roulette-frame{width:92%}
  .roulette-engine-note{padding:0 13px}
}
@media(max-width:430px){
  .wheel-heading h1{font-size:2.15rem}
  .roulette-stage{width:100vw;margin-left:calc(50% - 50vw)}
  .roulette-frame{width:94%}
  .roulette-spin-wrap{margin-top:-5px;padding:0 14px}
  .roulette-spin-button{width:min(92vw,460px);min-height:70px;padding:10px 26px 9px}
  .roulette-bulbs span{width:8px}
}
@media(prefers-reduced-motion:reduce){
  .roulette-bulbs span,.roulette-stage.is-spinning .roulette-pointer,.roulette-spin-button.is-spinning span{animation:none!important}
}


/* Apenas suporte para ícones SVG do menu inferior */
.user-bottom-nav .nav-icon{
    display:grid;
    place-items:center;
    line-height:1;
}
.user-bottom-nav .nav-icon svg{
    width:1.12rem;
    height:1.12rem;
    display:block;
    stroke:currentColor;
    fill:none;
    stroke-width:2;
    stroke-linecap:round;
    stroke-linejoin:round;
}

/* Visitante: vê a página completa, mas precisa entrar ou cadastrar para girar */
.roulette-auth-button{
  text-decoration:none;
  text-align:center;
  animation:rouletteAuthPulse 1.8s ease-in-out infinite alternate;
}
.roulette-auth-button span{
  font-size:clamp(1.12rem,4.2vw,2.15rem);
}
.roulette-auth-button:hover{
  transform:translateY(-3px) scale(1.012);
  filter:brightness(1.08);
}
body.guest-view .roulette-shell{
  padding-top:clamp(22px,4vw,46px);
}
body.guest-view .roulette-engine-note{
  max-width:620px;
}
@keyframes rouletteAuthPulse{
  from{
    box-shadow:
      inset 0 0 0 3px rgba(255,255,255,.26),
      inset 0 -7px 12px rgba(93,48,12,.18),
      0 7px 0 var(--app-wheel-center-shadow),
      0 17px 28px rgba(32,18,10,.34);
  }
  to{
    box-shadow:
      inset 0 0 0 3px rgba(255,255,255,.34),
      inset 0 -7px 12px rgba(93,48,12,.14),
      0 7px 0 var(--app-wheel-center-shadow),
      0 18px 38px rgba(255,210,31,.34);
  }
}
@media(prefers-reduced-motion:reduce){
  .roulette-auth-button{animation:none}
}


/* v50 — Chute Premiado: cenário de pênaltis mantendo o motor original */
.soccer-page{
  --soccer-blue:var(--app-wheel-segment-2,#0874C9);
  --soccer-blue-dark:var(--app-wheel-segment-3,#063B74);
  --soccer-blue-deep:#031F46;
  --soccer-green:var(--app-wheel-segment-7,#05A867);
  --soccer-green-dark:#04774C;
  --soccer-gold:var(--app-wheel-segment-5,#FFD341);
  --soccer-white:#F9FDFF;
  background-color:var(--soccer-blue-deep)!important;
  background-image:
    radial-gradient(circle at 50% 12%,rgba(83,192,255,.48),transparent 34%),
    linear-gradient(180deg,rgba(2,45,91,.18),rgba(1,24,54,.72)),
    var(--app-bg-image)!important;
  background-blend-mode:screen,multiply,soft-light!important;
  color:var(--soccer-white);
}
.soccer-shell{width:min(980px,calc(100% - 24px));padding-bottom:94px}
.shootout-area{position:relative;text-align:center;padding:clamp(18px,3.5vw,34px) clamp(8px,2.5vw,26px) 30px;overflow:visible}
.soccer-heading{position:relative;z-index:4;max-width:720px;margin:0 auto 16px}
.soccer-eyebrow{margin:0 0 6px;color:var(--soccer-gold);font-size:.7rem;font-weight:1000;letter-spacing:.17em;text-shadow:0 2px 9px rgba(0,0,0,.35)}
.soccer-heading h1{margin:0;color:#fff!important;font-family:Impact,Haettenschweiler,"Arial Narrow Bold",system-ui,sans-serif;font-size:clamp(2.4rem,8vw,5.1rem);line-height:.9;letter-spacing:.02em;text-transform:uppercase;text-shadow:0 4px 0 #064E87,0 9px 22px rgba(0,22,54,.48)}
.soccer-heading>p:last-child{max-width:680px;margin:12px auto 0;color:#E6F7FF;font-size:clamp(.9rem,2.4vw,1.08rem);line-height:1.45}
.soccer-heading strong{color:var(--soccer-gold)}
.soccer-empty{margin:24px auto;padding:18px;border-radius:16px;background:rgba(255,255,255,.92);color:#063B74;font-weight:900}

.possible-prizes{position:relative;z-index:5;margin:0 auto 10px;max-width:760px}
.possible-prizes-title{display:inline-flex;align-items:center;gap:8px;margin:0 0 8px;padding:6px 14px;border-radius:999px;background:linear-gradient(180deg,#FFE779,#E9B51E);color:#18334B;font-size:.7rem;font-weight:1000;letter-spacing:.13em;box-shadow:0 5px 0 #9C6811,0 12px 22px rgba(0,25,56,.34)}
.prize-strip{display:flex;gap:9px;overflow-x:auto;scroll-snap-type:x proximity;padding:7px 7px 12px;scrollbar-width:none;mask-image:linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent)}
.prize-strip::-webkit-scrollbar{display:none}
.prize-mini-card{position:relative;flex:0 0 clamp(82px,19vw,126px);scroll-snap-align:center;display:grid;grid-template-rows:auto minmax(30px,auto);gap:5px;padding:6px;border:3px solid #F5C73D;border-radius:10px;background:linear-gradient(155deg,#163C64,#082B50);box-shadow:0 4px 0 #865B13,0 8px 16px rgba(0,24,52,.42);transition:transform .25s ease,filter .25s ease,box-shadow .25s ease}
.prize-mini-card::before{content:"";position:absolute;inset:2px;border:1px solid rgba(255,255,255,.28);border-radius:6px;pointer-events:none}
.prize-mini-card.is-result{z-index:4;transform:translateY(-5px) scale(1.08);filter:brightness(1.18);box-shadow:0 5px 0 #865B13,0 0 0 5px rgba(255,222,82,.34),0 12px 28px rgba(0,24,52,.55);animation:prizeMiniWinner .55s ease-in-out 3 alternate}
@keyframes prizeMiniWinner{to{filter:brightness(1.45);transform:translateY(-7px) scale(1.1)}}
.prize-mini-image{aspect-ratio:1.15;border-radius:6px;overflow:hidden;display:grid;place-items:center;background:radial-gradient(circle,#FFF8BE,#E6A923 62%,#96610D);box-shadow:inset 0 0 0 2px rgba(255,255,255,.35)}
.prize-mini-image img{width:100%;height:100%;object-fit:cover;display:block}
.prize-mini-image.fit-contain img{object-fit:contain;padding:4px}
.prize-mini-image span{font-size:2rem;color:#fff;text-shadow:0 2px 5px rgba(0,0,0,.5)}
.prize-mini-card strong{display:grid;place-items:center;min-height:32px;color:#fff;font-size:clamp(.56rem,1.8vw,.72rem);line-height:1.08;text-transform:uppercase;text-shadow:0 2px 3px #001E39;overflow-wrap:anywhere}

.shootout-stage{position:relative;z-index:3;width:min(760px,96vw);aspect-ratio:4/3;margin:0 auto;border:clamp(4px,.8vw,8px) solid rgba(246,251,255,.72);border-radius:clamp(18px,4vw,34px);overflow:hidden;isolation:isolate;background:linear-gradient(180deg,#0B7BD0 0 45%,#07A567 45% 100%);box-shadow:0 0 0 5px rgba(0,30,66,.38),0 30px 55px rgba(0,15,40,.48)}
.shootout-stage::before{content:"";position:absolute;inset:43% 0 0;z-index:-1;background:repeating-linear-gradient(90deg,rgba(255,255,255,.035) 0 9%,rgba(0,55,37,.045) 9% 18%),linear-gradient(180deg,#0EB574,#058250);clip-path:polygon(0 0,100% 0,93% 100%,7% 100%)}
.shootout-stage::after{content:"";position:absolute;inset:auto 13% -15% 13%;height:49%;z-index:1;border:3px solid rgba(255,255,255,.7);border-radius:50% 50% 0 0;transform:perspective(430px) rotateX(65deg);transform-origin:bottom;pointer-events:none}
.stadium-sky{position:absolute;inset:0 0 56%;z-index:-3;background:radial-gradient(circle at 50% 82%,rgba(153,224,255,.95),transparent 27%),linear-gradient(180deg,#0761AF,#0D8CDF)}
.stadium-sky::before,.stadium-sky::after{content:"";position:absolute;top:6%;width:24%;height:62%;opacity:.7;background:linear-gradient(90deg,transparent,rgba(255,255,255,.58),transparent);filter:blur(7px);transform:skewX(-18deg)}
.stadium-sky::before{left:5%}.stadium-sky::after{right:5%;transform:skewX(18deg)}
.stadium-sky i{position:absolute;top:8%;width:7px;height:7px;border-radius:50%;background:#fff;box-shadow:0 0 10px #fff,0 0 22px #9FE8FF}
.stadium-sky i:nth-child(1){left:12%}.stadium-sky i:nth-child(2){left:25%;top:13%}.stadium-sky i:nth-child(3){left:39%;top:7%}.stadium-sky i:nth-child(4){right:39%;top:10%}.stadium-sky i:nth-child(5){right:25%;top:6%}.stadium-sky i:nth-child(6){right:12%;top:14%}
.stadium-crowd{position:absolute;left:-3%;right:-3%;top:28%;height:22%;z-index:-2;background:radial-gradient(circle at 2px 3px,#F8E59A 0 1px,transparent 1.5px) 0 0/9px 8px,linear-gradient(180deg,#163C67,#061F3C);clip-path:polygon(0 20%,8% 0,92% 0,100% 20%,100% 100%,0 100%);box-shadow:inset 0 5px 12px rgba(0,0,0,.35)}
.stadium-banner{position:absolute;left:0;right:0;top:42%;height:5.5%;z-index:-1;display:flex;align-items:center;justify-content:space-around;background:linear-gradient(180deg,#FFDD47,#DFAE15);color:#064071;font-size:clamp(.43rem,1.4vw,.72rem);font-weight:1000;letter-spacing:.13em;border-block:2px solid rgba(255,255,255,.55)}

.soccer-goal{position:absolute;z-index:4;left:50%;top:17%;width:76%;height:42%;transform:translateX(-50%);border:clamp(5px,1vw,10px) solid #fff;border-bottom-width:clamp(6px,1.2vw,12px);border-radius:5px 5px 2px 2px;box-shadow:0 0 0 3px rgba(111,172,206,.68),0 8px 0 rgba(0,40,74,.25),0 16px 30px rgba(0,26,54,.3)}
.soccer-goal::before,.soccer-goal::after{content:"";position:absolute;bottom:-10%;width:7%;height:112%;border:clamp(3px,.55vw,6px) solid #DCECF5;border-top:0;z-index:-1;filter:brightness(.9)}
.soccer-goal::before{left:-5%;transform:skewX(-8deg)}.soccer-goal::after{right:-5%;transform:skewX(8deg)}
.goal-net{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.76) 2px,transparent 2px),linear-gradient(90deg,rgba(255,255,255,.76) 2px,transparent 2px);background-size:8.5% 14%;transform:perspective(380px) rotateX(-1deg);transform-origin:center;opacity:.82;transition:filter .2s ease}
.goal-net::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(4,71,114,.15),rgba(1,47,76,.38))}
.goal-net.is-hit{animation:goalNetImpact .62s cubic-bezier(.2,.8,.25,1)}
@keyframes goalNetImpact{25%{transform:perspective(380px) translateZ(-20px) scale(1.035);filter:brightness(1.45)}55%{transform:perspective(380px) translateZ(8px) scale(.99)}to{transform:perspective(380px) translateZ(0) scale(1)}}

.goal-target{position:absolute;z-index:9;width:clamp(42px,9vw,72px);aspect-ratio:1;border:2px dashed rgba(255,232,109,.88);border-radius:50%;display:grid;place-items:center;background:radial-gradient(circle,rgba(255,222,74,.22),rgba(255,217,43,.06) 55%,transparent 58%);color:#FFE76D;font-size:clamp(1.05rem,3vw,1.55rem);font-weight:1000;text-shadow:0 2px 6px rgba(0,0,0,.45);cursor:pointer;opacity:.68;transition:transform .18s ease,opacity .18s ease,filter .18s ease,background .18s ease}
.goal-target:hover:not(:disabled),.goal-target:focus-visible{opacity:1;transform:scale(1.1);outline:0;filter:drop-shadow(0 0 12px #FFE566)}
.goal-target.selected{opacity:1;transform:scale(1.14);border-style:solid;background:radial-gradient(circle,#FFF6B8 0 12%,rgba(255,220,50,.72) 14% 45%,rgba(255,213,42,.14) 48%);box-shadow:0 0 0 5px rgba(255,226,80,.17),0 0 22px #FFE670;animation:selectedTargetPulse .8s ease-in-out infinite alternate}
.goal-target:disabled{cursor:default}
@keyframes selectedTargetPulse{to{filter:brightness(1.3);box-shadow:0 0 0 8px rgba(255,226,80,.09),0 0 28px #FFE670}}
.target-top-left{left:8%;top:9%}.target-top-right{right:8%;top:9%}.target-bottom-left{left:8%;bottom:8%}.target-bottom-right{right:8%;bottom:8%}

.goalkeeper{position:absolute;z-index:10;left:50%;bottom:.8%;width:clamp(102px,22vw,196px);height:clamp(124px,27vw,226px);transform:translateX(-50%);transform-origin:50% 78%;will-change:transform;filter:drop-shadow(0 12px 8px rgba(0,25,46,.42))}
.goalkeeper-sprite{display:block;width:100%;height:100%;object-fit:contain;object-position:center bottom;pointer-events:none;user-select:none;will-change:transform;filter:drop-shadow(0 2px 0 rgba(255,255,255,.12))}
.goalkeeper[data-state="idle"] .goalkeeper-sprite{animation:keeperIdleFloat 1.8s ease-in-out infinite alternate}
.goalkeeper:not([data-state="idle"]) .goalkeeper-sprite{animation:none}
@keyframes keeperIdleFloat{from{transform:translateY(0) scale(1)}to{transform:translateY(-2px) scale(1.015)}}

.goal-message{position:absolute;z-index:20;left:50%;top:52%;transform:translate(-50%,-50%) scale(.25) rotate(-5deg);opacity:0;pointer-events:none;font-family:Impact,Haettenschweiler,"Arial Narrow Bold",sans-serif;font-size:clamp(3rem,14vw,8rem);line-height:.8;letter-spacing:.03em;white-space:nowrap;-webkit-text-stroke:clamp(1px,.35vw,4px) rgba(123,78,0,.7)}
.goal-message-score{color:#FFE33B;text-shadow:0 5px 0 #B76F05,0 10px 22px rgba(0,0,0,.45),0 0 28px #FFF3A0}
.goal-message-save{color:#fff;text-shadow:0 5px 0 #075B9E,0 10px 22px rgba(0,0,0,.48),0 0 22px #6CD9FF;font-size:clamp(2rem,9vw,5.5rem)}
.goal-message.show{animation:goalMessageIn .75s cubic-bezier(.13,.9,.2,1.2) forwards}
@keyframes goalMessageIn{55%{opacity:1;transform:translate(-50%,-50%) scale(1.15) rotate(2deg)}to{opacity:1;transform:translate(-50%,-50%) scale(1) rotate(0)}}

.pitch-depth{position:absolute;z-index:1;left:50%;bottom:-3%;width:74%;height:57%;transform:translateX(-50%);background:linear-gradient(90deg,transparent 49.6%,rgba(255,255,255,.72) 49.7% 50.3%,transparent 50.4%),linear-gradient(72deg,transparent 49.7%,rgba(255,255,255,.34) 49.8% 50.2%,transparent 50.3%),linear-gradient(-72deg,transparent 49.7%,rgba(255,255,255,.34) 49.8% 50.2%,transparent 50.3%);opacity:.45;clip-path:polygon(34% 0,66% 0,100% 100%,0 100%)}
.penalty-spot{position:absolute;z-index:2;left:50%;bottom:18%;width:8px;height:8px;transform:translateX(-50%);border-radius:50%;background:#fff;box-shadow:0 0 0 3px rgba(255,255,255,.2)}
.soccer-ball{position:absolute;z-index:13;left:50%;top:82%;width:clamp(62px,13vw,102px);aspect-ratio:1;transform:translate(-50%,-50%);padding:0;border:0;border-radius:50%;background:transparent;cursor:pointer;will-change:transform;filter:drop-shadow(0 9px 8px rgba(0,29,36,.33))}
.soccer-ball img{width:100%;height:100%;display:block;pointer-events:none}
.soccer-ball:disabled{cursor:default}
.soccer-ball:not(:disabled):hover{filter:drop-shadow(0 9px 8px rgba(0,29,36,.33)) brightness(1.08);animation:ballReady .55s ease-in-out infinite alternate}
@keyframes ballReady{to{transform:translate(-50%,-54%) scale(1.04)}}
.soccer-ball.is-saving{z-index:8}
.ball-shadow{position:absolute;z-index:2;left:50%;top:87.5%;width:clamp(58px,12vw,94px);height:clamp(12px,2.5vw,20px);transform:translateX(-50%);border-radius:50%;background:rgba(0,42,32,.34);filter:blur(3px)}
.kick-spark{position:absolute;z-index:12;left:50%;top:82%;width:16px;height:16px;transform:translate(-50%,-50%);border-radius:50%;opacity:0;background:#fff;box-shadow:0 0 18px 7px #FFE96B,0 0 42px 17px rgba(255,224,55,.46)}
.kick-spark.show{animation:kickSpark .32s ease-out}
@keyframes kickSpark{0%{opacity:1;transform:translate(-50%,-50%) scale(.2)}to{opacity:0;transform:translate(-50%,-50%) scale(4)}}
.shootout-stage.goal-scored{animation:goalStagePulse .6s ease-in-out}
@keyframes goalStagePulse{35%{filter:brightness(1.28) saturate(1.2)}to{filter:none}}
.shootout-stage.shot-saved{filter:saturate(.75)}
.shootout-stage.balance-denied{animation:stageDenied .46s ease-in-out}
@keyframes stageDenied{25%{transform:translateX(-7px)}50%{transform:translateX(7px)}75%{transform:translateX(-4px)}to{transform:none}}

.kick-controls{position:relative;z-index:6;display:flex;justify-content:center;margin:-2px auto 0;padding:0 clamp(12px,4vw,28px)}
.kick-button{position:relative;width:min(520px,92%);min-height:clamp(68px,10vw,88px);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:11px 30px 9px;border:clamp(4px,.65vw,7px) solid #FFE16A;border-radius:999px;text-decoration:none;color:#fff;background:linear-gradient(180deg,#1BD27F,#079B5C 55%,#057441);box-shadow:inset 0 0 0 3px rgba(255,255,255,.22),inset 0 -7px 12px rgba(0,65,40,.23),0 7px 0 #045C36,0 16px 26px rgba(0,26,55,.42);text-shadow:0 2px 2px rgba(0,62,38,.65);cursor:pointer;transition:transform .18s ease,filter .18s ease,box-shadow .18s ease}
.kick-button:hover:not(:disabled){transform:translateY(-3px) scale(1.01);filter:brightness(1.08)}
.kick-button:active:not(:disabled){transform:translateY(4px);box-shadow:inset 0 0 0 3px rgba(255,255,255,.18),0 3px 0 #045C36,0 7px 14px rgba(0,26,55,.35)}
.kick-button:focus-visible{outline:4px solid #fff;outline-offset:5px}
.kick-button:disabled{cursor:not-allowed;filter:grayscale(.25) brightness(.76);opacity:.86}
.kick-button span{display:block;font-size:clamp(1.35rem,5vw,2.45rem);font-weight:1000;letter-spacing:.045em;line-height:1}
.kick-button small{display:block;margin-top:5px;font-size:clamp(.62rem,1.8vw,.82rem);font-weight:900;letter-spacing:.05em;text-transform:uppercase;opacity:.92}
.kick-auth-button{animation:kickAuthPulse 1.65s ease-in-out infinite alternate}
@keyframes kickAuthPulse{to{box-shadow:inset 0 0 0 3px rgba(255,255,255,.3),inset 0 -7px 12px rgba(0,65,40,.18),0 7px 0 #045C36,0 18px 35px rgba(255,218,56,.26)}}
.soccer-status{position:relative;z-index:5;margin:17px auto 0!important;min-height:24px;color:#F1FBFF!important;font-weight:900;text-shadow:0 2px 7px rgba(0,25,55,.6)}
.soccer-engine-note{position:relative;z-index:5;max-width:690px;margin:7px auto 0;padding:0 12px;color:#CDEEFF;font-size:.69rem;line-height:1.45;opacity:.82}
.soccer-page .deposit-cta{position:relative;z-index:6;background:linear-gradient(180deg,#FFD94D,#E7AF18)!important;color:#18344C!important;border:0!important;box-shadow:0 5px 0 #986514!important}

.soccer-reveal .treasure-rays{background:repeating-conic-gradient(from 0deg,rgba(255,220,58,.22) 0 8deg,transparent 8deg 17deg)}
.soccer-page .prize-card{background:linear-gradient(150deg,#F6FDFF,#CDEFFF)!important;border-color:#0A609F!important;box-shadow:0 0 0 8px rgba(255,218,61,.2),0 35px 80px rgba(0,0,0,.58)!important}
.soccer-page .prize-card h2{color:#06477D!important;white-space:pre-line}
.soccer-page .prize-card p{color:#234B66}
.soccer-page .prize-crown{background:linear-gradient(145deg,#FFF7AF,#F1C425)!important;border-color:#075B97!important;color:#06477D!important}
.soccer-page .prize-kicker{color:#0A6DAE!important}
.soccer-page .winner-seal{color:#0873B6;border-color:#D8A817}
.soccer-page .play-again{background:linear-gradient(180deg,#19C97A,#087E4B)!important;color:#fff!important;box-shadow:0 6px 0 #055C37!important}
.soccer-confetti:nth-child(4n+1){color:#FFD83F}.soccer-confetti:nth-child(4n+2){color:#19D27D}.soccer-confetti:nth-child(4n+3){color:#5BC9FF}.soccer-confetti:nth-child(4n){color:#fff}

@media(max-width:820px){
  .soccer-shell{width:100%;max-width:720px;padding:78px 7px 98px}
  .shootout-area{padding:17px 0 26px}
  .soccer-heading{padding:0 13px}
  .possible-prizes{width:100vw;margin-left:calc(50% - 50vw)}
  .prize-strip{padding-inline:16px;mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent)}
  .shootout-stage{width:100vw;border-left:0;border-right:0;border-radius:16px;box-shadow:0 6px 0 rgba(0,29,60,.35),0 24px 42px rgba(0,15,40,.42)}
  .soccer-goal{width:82%;top:16%;height:43%}
  .kick-controls{padding:0 12px;margin-top:8px}
  .kick-button{width:min(94vw,520px)}
}
@media(max-width:430px){
  .soccer-heading h1{font-size:2.85rem}
  .soccer-heading>p:last-child{font-size:.84rem}
  .shootout-stage{aspect-ratio:4/3.25}
  .possible-prizes-title{font-size:.61rem}
  .goal-target{width:44px}
  .soccer-ball{width:68px}
  .kick-button{min-height:69px;padding:10px 22px 8px}
}
@media(prefers-reduced-motion:reduce){
  .goal-target.selected,.kick-auth-button,.soccer-ball:not(:disabled):hover,.prize-mini-card.is-result{animation:none!important}
}

/* v52 — cantos internos, controles móveis visíveis e prêmios de valor zero ocultos */
html:has(body.soccer-page){height:100%;background:#031b3c}
body.soccer-page{min-height:100vh;min-height:100dvh;overflow:hidden;overscroll-behavior:none;touch-action:manipulation;background:#031b3c!important}
.soccer-page .soccer-shell{width:100%;max-width:none;min-height:100vh;min-height:100dvh;margin:0;padding:0!important}
.soccer-page .hero-carousel{display:none!important}
.soccer-page .shootout-area{position:relative;width:100%;height:100vh;height:100dvh;min-height:520px;margin:0;padding:0!important;overflow:hidden;isolation:isolate}
.soccer-page .soccer-heading{display:none}
.soccer-page .soccer-empty{position:absolute;z-index:80;left:50%;top:50%;width:min(92vw,520px);transform:translate(-50%,-50%)}

.soccer-page .user-appbar{position:fixed!important;inset:0 0 auto!important;z-index:130;width:100%!important;margin:0!important;border-radius:0!important;background:linear-gradient(180deg,rgba(3,20,48,.96),rgba(3,29,67,.78))!important;border-bottom:1px solid rgba(255,255,255,.14);box-shadow:0 10px 28px rgba(0,0,0,.28);backdrop-filter:blur(14px) saturate(1.25)}
.soccer-page .user-appbar-inner{width:min(100%,980px);padding:calc(8px + env(safe-area-inset-top,0px)) 12px 8px}
.soccer-page .user-balance-chip,.soccer-page .user-deposit-chip,.soccer-page .user-menu summary{box-shadow:0 5px 18px rgba(0,0,0,.3)}

.soccer-page .possible-prizes{position:absolute;z-index:42;left:50%;top:calc(70px + env(safe-area-inset-top,0px));width:min(96vw,880px);max-width:none;margin:0;transform:translateX(-50%);pointer-events:auto}
.soccer-page.guest-view .possible-prizes{top:12px}
.soccer-page .possible-prizes-title{margin-bottom:5px;padding:5px 12px;font-size:clamp(.54rem,1.4vw,.7rem);box-shadow:0 3px 0 #8b610e,0 8px 18px rgba(0,0,0,.3)}
.soccer-page .prize-strip{justify-content:center;gap:clamp(5px,1vw,9px);padding:4px 8px 9px;mask-image:linear-gradient(90deg,transparent,#000 3%,#000 97%,transparent)}
.soccer-page .prize-mini-card{flex-basis:clamp(62px,10vw,104px);grid-template-rows:auto minmax(24px,auto);gap:3px;padding:4px;border-width:2px;border-radius:9px;box-shadow:0 3px 0 #77500c,0 8px 16px rgba(0,0,0,.36)}
.soccer-page .prize-mini-card strong{min-height:24px;font-size:clamp(.48rem,1.1vw,.66rem)}

.soccer-page .shootout-stage{position:absolute;inset:0;z-index:3;width:100%;height:100%;margin:0;border:0;border-radius:0;aspect-ratio:auto;overflow:hidden;background:
  radial-gradient(ellipse at 50% 8%,rgba(93,180,255,.42),transparent 34%),
  linear-gradient(180deg,#052b69 0 22%,#0757a7 22% 39%,#067955 39% 100%);box-shadow:inset 0 0 95px rgba(0,8,28,.78)}
.soccer-page .shootout-stage::before{inset:39% 0 0;clip-path:none;background:
  linear-gradient(90deg,rgba(255,255,255,.025) 0 12.5%,rgba(0,58,35,.08) 12.5% 25%,rgba(255,255,255,.025) 25% 37.5%,rgba(0,58,35,.08) 37.5% 50%,rgba(255,255,255,.025) 50% 62.5%,rgba(0,58,35,.08) 62.5% 75%,rgba(255,255,255,.025) 75% 87.5%,rgba(0,58,35,.08) 87.5%),
  linear-gradient(180deg,#0aa36d,#047047)}
.soccer-page .shootout-stage::after{inset:auto 10% -24% 10%;height:58%;border-color:rgba(255,255,255,.56);opacity:.78;filter:drop-shadow(0 0 8px rgba(255,255,255,.18))}

.soccer-page .stadium-sky{inset:0 0 59%;background:
  radial-gradient(ellipse at 50% 100%,rgba(78,171,255,.72),transparent 44%),
  linear-gradient(180deg,#031c50 0%,#064ea0 72%,#0c79c9 100%)}
.soccer-page .stadium-sky::before,.soccer-page .stadium-sky::after{top:-2%;width:34%;height:105%;opacity:.48;filter:blur(14px)}
.soccer-page .stadium-sky i{width:8px;height:8px;animation:stadiumLampTwinkle 1.8s ease-in-out infinite alternate}
.soccer-page .stadium-sky i:nth-child(2),.soccer-page .stadium-sky i:nth-child(5){animation-delay:.45s}
.soccer-page .stadium-sky i:nth-child(3),.soccer-page .stadium-sky i:nth-child(6){animation-delay:.9s}
@keyframes stadiumLampTwinkle{to{filter:brightness(1.8);box-shadow:0 0 12px #fff,0 0 34px #8de2ff,0 0 54px rgba(77,171,255,.85)}}
.soccer-page .stadium-crowd{left:-2%;right:-2%;top:19%;height:25%;background:
  radial-gradient(circle at 2px 3px,rgba(255,241,153,.95) 0 1px,transparent 1.6px) 0 0/11px 9px,
  radial-gradient(circle at 4px 5px,rgba(89,177,255,.9) 0 1px,transparent 1.7px) 0 0/13px 10px,
  linear-gradient(180deg,#123f78,#031a39);clip-path:polygon(0 16%,7% 0,93% 0,100% 16%,100% 100%,0 100%);animation:crowdShimmer 3.2s steps(2,end) infinite}
@keyframes crowdShimmer{50%{filter:brightness(1.12) saturate(1.18);background-position:4px 1px,-3px 2px,0 0}}
.soccer-page .stadium-banner{top:39%;height:5.5%;font-size:clamp(.46rem,1.5vw,.8rem);box-shadow:0 3px 12px rgba(0,0,0,.28)}
.soccer-page .stadium-lightwash{position:absolute;z-index:0;inset:0;pointer-events:none;background:
  linear-gradient(112deg,transparent 0 15%,rgba(112,203,255,.13) 22%,transparent 33%),
  linear-gradient(248deg,transparent 0 15%,rgba(112,203,255,.13) 22%,transparent 33%),
  radial-gradient(ellipse at 50% 50%,transparent 45%,rgba(0,8,25,.5) 100%);mix-blend-mode:screen}
.soccer-page .stadium-sparkles{position:absolute;z-index:2;inset:15% 5% 42%;pointer-events:none}
.soccer-page .stadium-sparkles i{position:absolute;width:3px;height:3px;border-radius:50%;background:#fff;box-shadow:0 0 9px #8fe3ff;animation:sparkleFloat 2.4s ease-in-out infinite alternate}
.soccer-page .stadium-sparkles i:nth-child(1){left:6%;top:32%}.soccer-page .stadium-sparkles i:nth-child(2){left:18%;top:8%;animation-delay:.4s}.soccer-page .stadium-sparkles i:nth-child(3){left:31%;top:45%;animation-delay:.8s}.soccer-page .stadium-sparkles i:nth-child(4){left:44%;top:15%;animation-delay:1.2s}.soccer-page .stadium-sparkles i:nth-child(5){right:42%;top:38%;animation-delay:.25s}.soccer-page .stadium-sparkles i:nth-child(6){right:27%;top:10%;animation-delay:.65s}.soccer-page .stadium-sparkles i:nth-child(7){right:14%;top:44%;animation-delay:1.05s}.soccer-page .stadium-sparkles i:nth-child(8){right:4%;top:22%;animation-delay:1.45s}
@keyframes sparkleFloat{from{opacity:.16;transform:translateY(7px) scale(.7)}to{opacity:1;transform:translateY(-5px) scale(1.7)}}

.soccer-page .corner-instruction{position:absolute;z-index:34;left:50%;top:21%;transform:translateX(-50%);width:min(88vw,620px);pointer-events:none}
.soccer-page .corner-instruction span{display:inline-flex;align-items:center;justify-content:center;min-height:36px;padding:7px 18px;border:2px solid rgba(122,255,169,.78);border-radius:10px;background:linear-gradient(180deg,rgba(15,164,82,.96),rgba(3,106,55,.96));color:#fff;font-size:clamp(.68rem,1.7vw,1rem);font-weight:1000;letter-spacing:.05em;text-shadow:0 2px 3px rgba(0,0,0,.45);box-shadow:inset 0 0 0 2px rgba(255,255,255,.12),0 5px 0 rgba(1,65,34,.82),0 10px 24px rgba(0,0,0,.35);animation:instructionPulse 1.5s ease-in-out infinite alternate}
@keyframes instructionPulse{to{filter:brightness(1.14);transform:translateY(-1px);box-shadow:inset 0 0 0 2px rgba(255,255,255,.18),0 5px 0 rgba(1,65,34,.82),0 0 25px rgba(67,255,142,.28)}}
.soccer-page .fullscreen-toggle{position:absolute;z-index:48;right:clamp(10px,2vw,22px);top:calc(72px + env(safe-area-inset-top,0px));width:44px;height:44px;border:1px solid rgba(255,255,255,.3);border-radius:50%;display:grid;place-items:center;background:rgba(2,20,48,.68);color:#fff;font-size:1.35rem;cursor:pointer;box-shadow:0 8px 22px rgba(0,0,0,.34),inset 0 0 0 2px rgba(255,255,255,.08);backdrop-filter:blur(10px);transition:transform .18s ease,filter .18s ease}
.soccer-page.guest-view .fullscreen-toggle{top:12px}
.soccer-page .fullscreen-toggle:hover,.soccer-page .fullscreen-toggle:focus-visible{transform:scale(1.08);filter:brightness(1.2);outline:2px solid #ffe56b;outline-offset:3px}
.soccer-page .fullscreen-toggle.is-active{background:rgba(148,25,25,.78)}
.soccer-page .shootout-stage.fullscreen-hint{animation:fullscreenHint .8s ease}
@keyframes fullscreenHint{50%{filter:brightness(1.22)}}

.soccer-page .soccer-goal{left:50%;top:28%;width:min(78vw,980px);height:min(40vh,430px);min-height:190px;transform:translateX(-50%);border-width:clamp(5px,.65vw,10px);box-shadow:0 0 0 3px rgba(137,205,245,.62),0 0 22px rgba(255,255,255,.42),0 18px 38px rgba(0,18,45,.38)}
.soccer-page .goal-net{background-size:7% 12%;animation:netBreath 2.5s ease-in-out infinite alternate}
@keyframes netBreath{to{filter:brightness(1.13);opacity:.94}}
.soccer-page .goalkeeper{bottom:0;width:clamp(110px,15vw,205px);height:clamp(140px,28vh,260px)}

.soccer-page .goal-target{width:clamp(58px,7vw,90px);border:3px solid #fff0a0;opacity:1;background:radial-gradient(circle,#fff 0 8%,#ffe778 9% 20%,rgba(255,210,38,.25) 21% 52%,transparent 54%);color:#fff;border-radius:50%;box-shadow:0 0 0 5px rgba(255,202,30,.18),0 0 18px #ffd52a,0 0 40px rgba(255,181,0,.76),inset 0 0 14px rgba(255,255,255,.72);animation:cornerBeacon 1.05s ease-in-out infinite alternate;isolation:isolate}
.soccer-page .goal-target::before,.soccer-page .goal-target::after{content:"";position:absolute;inset:-11px;border:2px solid rgba(255,226,98,.72);border-radius:50%;animation:cornerRing 1.7s ease-out infinite}
.soccer-page .goal-target::after{inset:-21px;border-width:1px;animation-delay:.55s}
.soccer-page .goal-target span{font-size:clamp(1.05rem,2.4vw,1.5rem);filter:drop-shadow(0 2px 3px rgba(0,0,0,.6))}
@keyframes cornerBeacon{to{transform:scale(1.08);filter:brightness(1.32);box-shadow:0 0 0 7px rgba(255,202,30,.12),0 0 28px #ffe14d,0 0 58px rgba(255,178,0,.95),inset 0 0 18px rgba(255,255,255,.9)}}
@keyframes cornerRing{from{opacity:.9;transform:scale(.8)}to{opacity:0;transform:scale(1.22)}}
.soccer-page .goal-target:hover:not(:disabled),.soccer-page .goal-target:focus-visible{transform:scale(1.15);filter:brightness(1.5);outline:0}
.soccer-page .goal-target.selected{animation:selectedCornerPower .55s ease-in-out infinite alternate;background:radial-gradient(circle,#fff 0 12%,#fff36f 13% 28%,rgba(255,186,0,.62) 29% 55%,transparent 57%);box-shadow:0 0 0 8px rgba(255,236,94,.22),0 0 32px #fff16a,0 0 72px rgba(255,183,0,.96)}
@keyframes selectedCornerPower{to{transform:scale(1.18) rotate(3deg);filter:brightness(1.55)}}
.soccer-page .target-top-left{left:7%;top:9%}.soccer-page .target-top-right{right:7%;top:9%}.soccer-page .target-bottom-left{left:7%;bottom:9%}.soccer-page .target-bottom-right{right:7%;bottom:9%}

.soccer-page .pitch-depth{bottom:-7%;width:86%;height:65%;opacity:.34}
.soccer-page .penalty-spot{bottom:17%}
.soccer-page .soccer-ball{top:80%;width:clamp(70px,9vw,112px);filter:drop-shadow(0 12px 9px rgba(0,29,36,.42)) drop-shadow(0 0 16px rgba(255,255,255,.24))}
.soccer-page .shootout-stage:not(.is-shooting) .soccer-ball{animation:ballIdleBounce 1.05s cubic-bezier(.45,.02,.55,.98) infinite}
@keyframes ballIdleBounce{0%,100%{transform:translate(-50%,-48%) scaleX(1.04) scaleY(.96) rotate(-3deg)}45%{transform:translate(-50%,-78%) scaleX(.98) scaleY(1.04) rotate(4deg)}58%{transform:translate(-50%,-82%) scale(1) rotate(6deg)}}
.soccer-page .ball-shadow{top:85.3%;width:clamp(66px,8.5vw,108px);background:rgba(0,35,28,.46);filter:blur(4px)}
.soccer-page .shootout-stage:not(.is-shooting) .ball-shadow{animation:ballShadowBounce 1.05s cubic-bezier(.45,.02,.55,.98) infinite}
@keyframes ballShadowBounce{0%,100%{opacity:.54;transform:translateX(-50%) scaleX(1.08)}50%{opacity:.18;transform:translateX(-50%) scaleX(.58)}}
.soccer-page .ball-ready-ring{position:absolute;z-index:3;left:50%;top:80%;width:clamp(104px,13vw,158px);aspect-ratio:1;transform:translate(-50%,-50%);border:2px solid rgba(122,255,189,.56);border-radius:50%;box-shadow:0 0 25px rgba(66,255,171,.32);pointer-events:none;animation:readyRing 1.5s ease-out infinite}
@keyframes readyRing{from{opacity:.75;transform:translate(-50%,-50%) scale(.62)}to{opacity:0;transform:translate(-50%,-50%) scale(1.28)}}
.soccer-page .kick-spark{top:80%}
.soccer-page .shot-speed-lines{position:absolute;z-index:11;left:50%;top:80%;width:18%;height:32%;transform:translate(-50%,-10%);opacity:0;pointer-events:none}
.soccer-page .shot-speed-lines i{position:absolute;left:50%;bottom:0;width:3px;height:55%;border-radius:99px;background:linear-gradient(180deg,transparent,#fff 45%,#ffe46b);box-shadow:0 0 10px #fff;transform-origin:bottom}
.soccer-page .shot-speed-lines i:nth-child(1){transform:translateX(-50%) rotate(-12deg)}.soccer-page .shot-speed-lines i:nth-child(2){transform:translateX(-50%) rotate(-4deg);height:72%}.soccer-page .shot-speed-lines i:nth-child(3){transform:translateX(-50%) rotate(5deg);height:68%}.soccer-page .shot-speed-lines i:nth-child(4){transform:translateX(-50%) rotate(13deg)}
.soccer-page .shootout-stage.is-shooting .shot-speed-lines{animation:speedLinesFlash .45s ease-out}
@keyframes speedLinesFlash{0%{opacity:0;filter:blur(3px);transform:translate(-50%,8%) scaleY(.25)}25%{opacity:.85}to{opacity:0;filter:blur(0);transform:translate(-50%,-38%) scaleY(1.25)}}
.soccer-page .shootout-stage.is-shooting .ball-ready-ring{opacity:0;animation:none}
.soccer-page .shootout-stage.is-shooting{animation:cameraKick .34s ease-out}
@keyframes cameraKick{20%{transform:scale(1.012)}45%{transform:scale(.997)}to{transform:none}}

.soccer-page .kick-controls{position:absolute;z-index:45;left:50%;bottom:24px;width:min(94vw,520px);margin:0;padding:0;transform:translateX(-50%)}
.soccer-page:not(.guest-view) .kick-controls{bottom:calc(82px + env(safe-area-inset-bottom,0px))}
.soccer-page .kick-button{width:100%;min-height:clamp(62px,8vh,82px);border-radius:18px;border-color:#fff07d;background:linear-gradient(180deg,#ffd947 0%,#ffb90d 58%,#e88600 100%);color:#17304a;text-shadow:0 1px 0 rgba(255,255,255,.62);box-shadow:inset 0 0 0 3px rgba(255,255,255,.3),inset 0 -9px 14px rgba(151,75,0,.2),0 7px 0 #9d5a00,0 0 28px rgba(255,188,19,.48),0 18px 30px rgba(0,0,0,.42)}
.soccer-page .kick-button:hover:not(:disabled){filter:brightness(1.1);box-shadow:inset 0 0 0 3px rgba(255,255,255,.38),0 6px 0 #9d5a00,0 0 42px rgba(255,211,70,.75),0 18px 30px rgba(0,0,0,.42)}
.soccer-page .kick-button span{font-size:clamp(1.2rem,3.6vw,2rem)}
.soccer-page .kick-button small{font-size:clamp(.58rem,1.4vw,.78rem)}
.soccer-page .kick-button.kick-button-select{min-height:clamp(64px,8.2vh,86px);padding:10px 14px 10px 12px;border-radius:18px;border-color:#7affb2;background:linear-gradient(180deg,#168d51 0%,#0a6e3e 55%,#095530 100%);color:#fff;text-shadow:0 2px 2px rgba(0,0,0,.38);box-shadow:inset 0 0 0 2px rgba(255,255,255,.14),0 6px 0 #054526,0 14px 24px rgba(0,0,0,.36);display:grid;grid-template-columns:auto 1fr;gap:10px;align-items:center;text-align:left}
.soccer-page .kick-button.kick-button-select .kick-button-icon{display:block;width:64px;height:64px;object-fit:contain;border-radius:50%;filter:drop-shadow(0 3px 6px rgba(0,0,0,.34));flex:0 0 auto}
.soccer-page .kick-button.kick-button-select .kick-button-copy{display:grid;gap:2px;text-align:left}
.soccer-page .kick-button.kick-button-select span{font-size:clamp(.82rem,1.8vw,1.08rem);line-height:1.08;letter-spacing:.03em;text-align:left}
.soccer-page .kick-button.kick-button-select small{margin-top:0;font-size:clamp(.62rem,1.15vw,.8rem);color:#FFEF80;letter-spacing:.08em;text-align:left}
.soccer-page .kick-button.kick-button-select .kick-button-copy{max-width:100%}
.soccer-page .kick-button.kick-button-select .kick-button-copy span,.soccer-page .kick-button.kick-button-select .kick-button-copy small{text-wrap:balance}
.soccer-page .kick-button.kick-button-select:disabled{filter:none;opacity:1;cursor:default}
.soccer-page .kick-button.kick-button-select:hover:not(:disabled){transform:none;filter:none;box-shadow:inset 0 0 0 2px rgba(255,255,255,.14),0 6px 0 #054526,0 14px 24px rgba(0,0,0,.36)}
.soccer-page .kick-button.kick-button-select:active:not(:disabled){transform:none;box-shadow:inset 0 0 0 2px rgba(255,255,255,.14),0 6px 0 #054526,0 14px 24px rgba(0,0,0,.36)}
.soccer-page .kick-button:not(.kick-button-select) .kick-button-icon{display:none!important}
.soccer-page .kick-button:not(.kick-button-select) .kick-button-copy{display:block;width:100%;text-align:center}
.soccer-page .kick-button:not(.kick-button-select) .kick-button-copy span,.soccer-page .kick-button:not(.kick-button-select) .kick-button-copy small{text-align:center}
.soccer-page .soccer-status{position:absolute;z-index:44;left:50%;bottom:118px;width:min(88vw,620px);min-height:0;margin:0!important;padding:8px 14px;border:1px solid rgba(255,255,255,.18);border-radius:999px;transform:translateX(-50%);background:rgba(2,27,52,.64);font-size:clamp(.68rem,1.6vw,.9rem);backdrop-filter:blur(8px)}
.soccer-page:not(.guest-view) .soccer-status{bottom:calc(176px + env(safe-area-inset-bottom,0px))}
.soccer-page .soccer-engine-note{display:none}
.soccer-page .deposit-cta{position:absolute!important;z-index:46;left:50%;bottom:calc(245px + env(safe-area-inset-bottom,0px));transform:translateX(-50%);white-space:nowrap}

@media(min-width:821px){
  .soccer-page .user-bottom-nav{display:none!important}
  .soccer-page .possible-prizes{top:76px}
  .soccer-page.guest-view .possible-prizes{top:14px}
  .soccer-page .fullscreen-toggle{top:78px}
  .soccer-page.guest-view .fullscreen-toggle{top:14px}
  .soccer-page .kick-controls,.soccer-page:not(.guest-view) .kick-controls{bottom:26px}
  .soccer-page .soccer-status,.soccer-page:not(.guest-view) .soccer-status{bottom:120px}
  .soccer-page .deposit-cta{bottom:195px}
}

@media(orientation:portrait){
  .soccer-page .corner-instruction{top:25.5%;width:92vw}
  .soccer-page .soccer-goal{top:33%;width:92%;height:29%;min-height:170px}
  .soccer-page .goalkeeper{width:clamp(108px,28vw,170px);height:clamp(132px,24vh,210px)}
  .soccer-page .soccer-ball{top:78%;width:clamp(68px,18vw,94px)}
  .soccer-page .ball-shadow{top:83.3%}
  .soccer-page .ball-ready-ring{top:78%;width:clamp(100px,27vw,138px)}
  .soccer-page .kick-spark,.soccer-page .shot-speed-lines{top:78%}
}

@media(max-width:820px){
  .soccer-page .possible-prizes{top:calc(64px + env(safe-area-inset-top,0px));width:100vw}
  .soccer-page.guest-view .possible-prizes{top:6px}
  .soccer-page .possible-prizes-title{display:inline-flex;font-size:.56rem;padding:4px 10px;margin-bottom:4px}
  .soccer-page .prize-strip{justify-content:flex-start;padding-inline:14px;mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}
  .soccer-page .prize-mini-card{flex-basis:clamp(60px,18vw,80px)}
  .soccer-page .fullscreen-toggle{top:calc(66px + env(safe-area-inset-top,0px));width:40px;height:40px;font-size:1.15rem}
  .soccer-page.guest-view .fullscreen-toggle{top:8px}
  .soccer-page .corner-instruction{top:27.5%}
  .soccer-page .corner-instruction span{min-height:32px;padding:6px 12px;font-size:.66rem}
  .soccer-page .goal-target{width:52px}
  .soccer-page .target-top-left{left:8%;top:10%}.soccer-page .target-top-right{right:8%;top:10%}.soccer-page .target-bottom-left{left:8%;bottom:10%}.soccer-page .target-bottom-right{right:8%;bottom:10%}
  .soccer-page .kick-controls{width:min(92vw,480px)}
  .soccer-page .kick-button.kick-button-select{padding:8px 10px 8px 8px;gap:8px;min-height:58px}
  .soccer-page .kick-button.kick-button-select .kick-button-icon{width:52px;height:52px}
  .soccer-page .kick-button.kick-button-select span{font-size:.91rem;line-height:1.16;letter-spacing:.02em}
  .soccer-page .kick-button.kick-button-select small{font-size:.72rem;line-height:1.1}
}

@media(max-height:680px){
  .soccer-page .prize-mini-card{flex-basis:58px}
  .soccer-page .prize-mini-card strong{font-size:.46rem;min-height:20px}
  .soccer-page .prize-strip{padding-bottom:4px}
  .soccer-page .possible-prizes{top:calc(52px + env(safe-area-inset-top,0px))}
  .soccer-page .corner-instruction{top:24%}
  .soccer-page .soccer-goal{top:31%;height:34%}
  .soccer-page .soccer-ball{top:77%}
  .soccer-page .ball-shadow{top:83%}
  .soccer-page .ball-ready-ring,.soccer-page .kick-spark,.soccer-page .shot-speed-lines{top:77%}
  .soccer-page .kick-button{min-height:58px}
}

@media(max-width:430px){
  .soccer-page .possible-prizes{top:calc(60px + env(safe-area-inset-top,0px))}
  .soccer-page.guest-view .possible-prizes{top:4px}
  .soccer-page .prize-mini-card{flex-basis:58px}
  .soccer-page .prize-mini-card strong{font-size:.44rem}
  .soccer-page .fullscreen-toggle{top:calc(62px + env(safe-area-inset-top,0px));right:8px}
  .soccer-page.guest-view .fullscreen-toggle{top:6px}
  .soccer-page .corner-instruction{top:28%}
  .soccer-page .soccer-goal{top:35%;width:94%;height:28%}
  .soccer-page .goal-target{width:48px}
  .soccer-page .goalkeeper{width:120px;height:165px}
  .soccer-page .soccer-status{font-size:.63rem;padding:7px 11px}
  .soccer-page .kick-button.kick-button-select{padding:7px 9px 7px 7px;gap:7px;min-height:54px}
  .soccer-page .kick-button.kick-button-select .kick-button-icon{width:46px;height:46px}
  .soccer-page .kick-button.kick-button-select span{font-size:.84rem;line-height:1.16;letter-spacing:.01em}
  .soccer-page .kick-button.kick-button-select small{font-size:.67rem;letter-spacing:.04em;line-height:1.1}
}

@media(prefers-reduced-motion:reduce){
  .soccer-page .shootout-stage:not(.is-shooting) .soccer-ball,.soccer-page .shootout-stage:not(.is-shooting) .ball-shadow,.soccer-page .ball-ready-ring,.soccer-page .goal-target,.soccer-page .goal-target::before,.soccer-page .goal-target::after,.soccer-page .corner-instruction span,.soccer-page .stadium-sparkles i,.soccer-page .stadium-sky i,.soccer-page .stadium-crowd,.soccer-page .goal-net{animation:none!important}
}


/* Fallback de tela cheia para navegadores móveis sem Fullscreen API. */
body.soccer-page.pseudo-fullscreen{position:fixed!important;inset:0!important;width:100%!important;height:100dvh!important;overflow:hidden!important}
body.soccer-page.pseudo-fullscreen .soccer-shell{position:fixed!important;inset:0!important;width:100%!important;height:100dvh!important}
body.soccer-page.pseudo-fullscreen .fullscreen-toggle{background:rgba(148,25,25,.78)!important}


/* v53 — controles no canto e CTAs menores para liberar a visão da bola */
.soccer-page .corner-instruction{width:min(78vw,520px)}
.soccer-page .corner-instruction span{min-height:30px;padding:5px 14px;font-size:clamp(.62rem,1.35vw,.86rem);border-radius:9px}
.soccer-page .kick-controls,
.soccer-page:not(.guest-view) .kick-controls{width:min(76vw,410px)}
.soccer-page .kick-button{min-height:54px;padding:7px 22px 6px;border-width:4px;border-radius:15px}
.soccer-page .kick-button span{font-size:clamp(1rem,2.7vw,1.55rem);letter-spacing:.035em}
.soccer-page .kick-button small{margin-top:3px;font-size:clamp(.5rem,1.05vw,.66rem)}
.soccer-page .soccer-status,
.soccer-page:not(.guest-view) .soccer-status{bottom:98px;width:min(72vw,470px);padding:6px 12px;font-size:clamp(.62rem,1.25vw,.78rem)}

@media(min-width:821px){
  .soccer-page .kick-controls,.soccer-page:not(.guest-view) .kick-controls{bottom:22px}
  .soccer-page .soccer-status,.soccer-page:not(.guest-view) .soccer-status{bottom:92px}
}

@media(max-width:820px){
  .soccer-page .corner-instruction{width:82vw}
  .soccer-page .corner-instruction span{min-height:27px;padding:4px 10px;font-size:.59rem;letter-spacing:.035em}
  .soccer-page .kick-controls{width:min(78vw,340px)}
  .soccer-page:not(.guest-view) .kick-controls{bottom:calc(78px + env(safe-area-inset-bottom,0px))}
  .soccer-page.guest-view .kick-controls{bottom:18px}
  .soccer-page .kick-button{min-height:49px;padding:6px 15px 5px;border-width:3px;border-radius:13px;box-shadow:inset 0 0 0 2px rgba(255,255,255,.3),inset 0 -7px 11px rgba(151,75,0,.18),0 5px 0 #9d5a00,0 0 21px rgba(255,188,19,.42),0 12px 22px rgba(0,0,0,.38)}
  .soccer-page .kick-button span{font-size:clamp(.9rem,4vw,1.16rem);line-height:1.02}
  .soccer-page .kick-button small{margin-top:2px;font-size:clamp(.45rem,2vw,.56rem);letter-spacing:.035em}
  .soccer-page:not(.guest-view) .soccer-status{bottom:calc(140px + env(safe-area-inset-bottom,0px))}
  .soccer-page.guest-view .soccer-status{bottom:80px}
  .soccer-page .soccer-status{width:min(76vw,360px);padding:5px 9px;font-size:.57rem}
}

@media(max-width:430px){
  .soccer-page .corner-instruction{width:80vw}
  .soccer-page .corner-instruction span{min-height:25px;padding:3px 8px;font-size:.54rem;border-width:1px;border-radius:8px}
  .soccer-page .kick-controls{width:min(74vw,300px)}
  .soccer-page .kick-button{min-height:46px;padding:5px 12px 4px;border-radius:12px}
  .soccer-page .kick-button span{font-size:.88rem}
  .soccer-page .kick-button small{font-size:.43rem}
  .soccer-page:not(.guest-view) .soccer-status{bottom:calc(134px + env(safe-area-inset-bottom,0px))}
  .soccer-page.guest-view .soccer-status{bottom:74px}
  .soccer-page .soccer-status{width:72vw;padding:4px 8px;font-size:.53rem}
}

@media(max-height:680px){
  .soccer-page .kick-button{min-height:44px}
  .soccer-page .kick-button small{display:none}
  .soccer-page:not(.guest-view) .soccer-status{bottom:calc(128px + env(safe-area-inset-bottom,0px))}
  .soccer-page.guest-view .soccer-status{bottom:69px}
}


/* v54 — mira explícita (Opção 2), preservando áudio, tela cheia e CTAs compactos. */
.soccer-page .corner-instruction{display:flex;flex-direction:column;align-items:center;gap:2px}
.soccer-page .corner-instruction small{display:block;color:#ffed77;font-size:clamp(.48rem,.95vw,.66rem);font-weight:1000;letter-spacing:.075em;text-shadow:0 2px 3px rgba(0,0,0,.5)}
.soccer-page .goal-target{
  width:clamp(72px,8.5vw,108px);
  min-height:clamp(72px,8.5vw,108px);
  padding:7px 5px 6px;
  border:3px solid #ffe68d;
  background:radial-gradient(circle at 30% 25%,#25a94f 0 12%,#107438 45%,#075027 100%);
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:1px;
  line-height:1;
  box-shadow:0 0 0 4px rgba(255,213,55,.2),0 0 20px rgba(255,221,83,.82),0 0 44px rgba(255,179,0,.58),inset 0 0 0 2px rgba(255,255,255,.12);
  animation:cornerExplicitPulse 1.05s ease-in-out infinite alternate;
}
.soccer-page .goal-target .corner-dir{display:block;color:#ffdb47;font-size:clamp(.95rem,2vw,1.28rem);font-weight:1000;line-height:.9;filter:drop-shadow(0 2px 2px rgba(0,0,0,.48))}
.soccer-page .goal-target .corner-label{display:block;color:#fff;font-size:clamp(.72rem,1.35vw,.98rem);font-weight:1000;line-height:.92;letter-spacing:.015em;filter:drop-shadow(0 2px 3px rgba(0,0,0,.58))}
.soccer-page .goal-target::before{inset:-7px}
.soccer-page .goal-target::after{inset:-14px}
.soccer-page .goal-target.selected{background:radial-gradient(circle at 30% 25%,#37cf63 0 16%,#118640 48%,#075d2d 100%)}
.soccer-page .goal-target.selected .corner-dir{color:#fff4a4}
@keyframes cornerExplicitPulse{
  from{transform:scale(1);filter:brightness(1);box-shadow:0 0 0 4px rgba(255,213,55,.2),0 0 20px rgba(255,221,83,.82),0 0 44px rgba(255,179,0,.58),inset 0 0 0 2px rgba(255,255,255,.12)}
  to{transform:scale(1.045);filter:brightness(1.1);box-shadow:0 0 0 7px rgba(255,235,103,.17),0 0 30px rgba(255,239,132,.95),0 0 60px rgba(255,183,0,.8),inset 0 0 0 2px rgba(255,255,255,.17)}
}
@media(max-width:820px){
  .soccer-page .goal-target{width:64px;min-height:64px;padding:5px 4px}
  .soccer-page .goal-target .corner-dir{font-size:.9rem}
  .soccer-page .goal-target .corner-label{font-size:.68rem}
  .soccer-page .corner-instruction small{font-size:.46rem}
}
@media(max-width:430px){
  .soccer-page .goal-target{width:58px;min-height:58px;padding:4px 3px;border-width:2px}
  .soccer-page .goal-target .corner-dir{font-size:.82rem}
  .soccer-page .goal-target .corner-label{font-size:.61rem}
  .soccer-page .corner-instruction small{font-size:.42rem;letter-spacing:.045em}
}


/* v24 — evitar sobreposição dos textos de instrução no celular e no PC */
.soccer-page .corner-instruction{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:3px;
  padding:8px 14px 9px;
  border:2px solid rgba(122,255,169,.78);
  border-radius:12px;
  background:linear-gradient(180deg,rgba(15,164,82,.96),rgba(3,106,55,.96));
  box-shadow:inset 0 0 0 2px rgba(255,255,255,.12),0 5px 0 rgba(1,65,34,.82),0 10px 24px rgba(0,0,0,.35);
  animation:instructionPulse 1.5s ease-in-out infinite alternate;
}
.soccer-page .corner-instruction span{
  display:block;
  max-width:100%;
  min-height:0;
  padding:0;
  border:0;
  border-radius:0;
  background:none;
  box-shadow:none;
  color:#fff;
  font-size:clamp(.62rem,1.35vw,.86rem);
  font-weight:1000;
  line-height:1.12;
  letter-spacing:.035em;
  text-align:center;
  text-shadow:0 2px 3px rgba(0,0,0,.45);
  animation:none;
}
.soccer-page .corner-instruction small{
  display:block;
  max-width:100%;
  margin:0;
  color:#ffed77;
  font-size:clamp(.5rem,.95vw,.66rem);
  font-weight:1000;
  line-height:1.08;
  letter-spacing:.06em;
  text-align:center;
  text-shadow:0 2px 3px rgba(0,0,0,.5);
}
.soccer-page .soccer-status,
.soccer-page:not(.guest-view) .soccer-status{bottom:112px}

@media(min-width:821px){
  .soccer-page .corner-instruction{top:20.5%;width:min(72vw,520px)}
  .soccer-page .soccer-status,
  .soccer-page:not(.guest-view) .soccer-status{bottom:106px}
}

@media(max-width:820px){
  .soccer-page .corner-instruction{top:25.6%;width:min(86vw,430px);padding:7px 11px 8px;gap:2px}
  .soccer-page .corner-instruction span{font-size:.66rem;line-height:1.12}
  .soccer-page .corner-instruction small{font-size:.52rem;line-height:1.1}
  .soccer-page:not(.guest-view) .soccer-status{bottom:calc(156px + env(safe-area-inset-bottom,0px))}
  .soccer-page.guest-view .soccer-status{bottom:94px}
  .soccer-page .soccer-status{width:min(78vw,380px);padding:5px 10px}
}

@media(max-width:430px){
  .soccer-page .corner-instruction{top:25.8%;width:min(88vw,360px);padding:7px 10px 8px}
  .soccer-page .corner-instruction span{font-size:.62rem;letter-spacing:.025em}
  .soccer-page .corner-instruction small{font-size:.48rem;letter-spacing:.04em}
  .soccer-page:not(.guest-view) .soccer-status{bottom:calc(150px + env(safe-area-inset-bottom,0px))}
  .soccer-page.guest-view .soccer-status{bottom:88px}
  .soccer-page .soccer-status{width:min(80vw,330px);font-size:.55rem}
}

@media(max-height:680px){
  .soccer-page .corner-instruction{top:23.8%}
  .soccer-page .corner-instruction span{font-size:.58rem}
  .soccer-page .corner-instruction small{font-size:.45rem}
  .soccer-page:not(.guest-view) .soccer-status{bottom:calc(140px + env(safe-area-inset-bottom,0px))}
  .soccer-page.guest-view .soccer-status{bottom:82px}
}

@media(prefers-reduced-motion:reduce){
  .soccer-page .corner-instruction{animation:none!important}
}


/* v25 — instrução fixa, sem animação, e melhor posicionamento no PC */
.soccer-page .corner-instruction,
.soccer-page .corner-instruction span,
.soccer-page .corner-instruction small{
  animation:none!important;
}

@media(min-width:821px){
  .soccer-page .corner-instruction{
    top:24.8%;
    width:min(66vw,500px);
    padding:8px 16px 9px;
  }
  .soccer-page .corner-instruction span{
    font-size:clamp(.66rem,1.15vw,.82rem);
    line-height:1.1;
  }
  .soccer-page .corner-instruction small{
    font-size:clamp(.5rem,.78vw,.62rem);
    line-height:1.05;
  }
}


/* v26 — instrução fixa e status mais próximo do botão para liberar a área da bola */
.soccer-page .corner-instruction,
.soccer-page .corner-instruction span,
.soccer-page .corner-instruction small{
  animation:none!important;
}
.soccer-page .soccer-status{
  pointer-events:none;
}

@media(min-width:821px){
  .soccer-page .corner-instruction{
    top:28.6%;
    width:min(64vw,500px);
  }
  .soccer-page .soccer-status,
  .soccer-page:not(.guest-view) .soccer-status{
    bottom:84px;
    width:min(64vw,430px);
    padding:5px 11px;
    font-size:clamp(.58rem,1vw,.74rem);
  }
}

@media(max-width:820px){
  .soccer-page:not(.guest-view) .soccer-status{
    bottom:calc(122px + env(safe-area-inset-bottom,0px));
  }
  .soccer-page.guest-view .soccer-status{
    bottom:68px;
  }
  .soccer-page .soccer-status{
    width:min(82vw,330px);
    padding:4px 8px;
    font-size:.54rem;
    line-height:1.14;
  }
}

@media(max-width:430px){
  .soccer-page:not(.guest-view) .soccer-status{
    bottom:calc(118px + env(safe-area-inset-bottom,0px));
  }
  .soccer-page.guest-view .soccer-status{
    bottom:64px;
  }
  .soccer-page .soccer-status{
    width:min(84vw,315px);
    font-size:.52rem;
  }
}

@media(max-height:680px){
  .soccer-page:not(.guest-view) .soccer-status{
    bottom:calc(114px + env(safe-area-inset-bottom,0px));
  }
  .soccer-page.guest-view .soccer-status{
    bottom:60px;
  }
}


/* v28 — corrigir sobreposições no desktop */
@media(min-width:821px){
  .soccer-page .corner-instruction{
    top:30.2%;
    width:min(54vw,440px);
    z-index:43;
  }
  .soccer-page .corner-instruction span{
    font-size:clamp(.62rem,1vw,.78rem);
  }
  .soccer-page .corner-instruction small{
    font-size:clamp(.46rem,.72vw,.58rem);
  }

  .soccer-page .kick-controls,
  .soccer-page:not(.guest-view) .kick-controls{
    bottom:8px;
    width:min(54vw,330px);
  }

  .soccer-page .kick-button{
    min-height:48px;
    padding:5px 14px 4px;
    border-radius:14px;
  }
  .soccer-page .kick-button span{font-size:clamp(.92rem,2vw,1.22rem)}
  .soccer-page .kick-button small{font-size:clamp(.44rem,.9vw,.58rem)}

  .soccer-page .soccer-status,
  .soccer-page:not(.guest-view) .soccer-status{
    bottom:62px;
    width:min(50vw,360px);
    padding:4px 10px;
    font-size:clamp(.52rem,.84vw,.68rem);
  }

  .soccer-page .deposit-cta{bottom:132px}
}


/* v29 — melhor espaçamento e posicionamento apenas no desktop */
@media(min-width:821px){
  .soccer-page .possible-prizes{
    top:58px;
    width:min(90vw,760px);
  }
  .soccer-page .possible-prizes-title{
    margin-bottom:6px;
  }
  .soccer-page .corner-instruction{
    top:32.6%;
    width:min(50vw,420px);
  }
  .soccer-page .corner-instruction span{
    font-size:clamp(.6rem,.92vw,.76rem);
  }
  .soccer-page .corner-instruction small{
    font-size:clamp(.44rem,.68vw,.56rem);
  }
}


/* v30 — mover a instrução selecionada apenas no desktop */
@media(min-width:821px){
  .soccer-page .corner-instruction.is-selected{
    top:auto;
    bottom:118px;
    width:min(54vw,430px);
    z-index:44;
    padding:7px 14px 8px;
  }
  .soccer-page .corner-instruction.is-selected span{
    font-size:clamp(.6rem,.92vw,.76rem);
    line-height:1.08;
  }
  .soccer-page .corner-instruction.is-selected small{
    font-size:clamp(.44rem,.68vw,.56rem);
    line-height:1.05;
  }
}


/* v34 — mira transparente dentro dos quatro botões de canto */
.soccer-page .goal-target{
  overflow:visible;
}
.soccer-page .goal-target .goal-target-crosshair{
  display:block;
  width:58%;
  height:58%;
  object-fit:contain;
  pointer-events:none;
  user-select:none;
  -webkit-user-drag:none;
  filter:drop-shadow(0 2px 3px rgba(0,0,0,.34)) drop-shadow(0 0 5px rgba(255,255,255,.28));
  transition:transform .18s ease,filter .18s ease;
}
.soccer-page .goal-target:hover:not(:disabled) .goal-target-crosshair,
.soccer-page .goal-target:focus-visible .goal-target-crosshair{
  transform:scale(1.08);
  filter:drop-shadow(0 2px 3px rgba(0,0,0,.34)) drop-shadow(0 0 8px rgba(255,255,255,.65));
}
.soccer-page .goal-target.selected .goal-target-crosshair{
  transform:scale(1.1);
  filter:drop-shadow(0 2px 3px rgba(0,0,0,.34)) drop-shadow(0 0 10px rgba(255,255,255,.85));
}
@media(max-width:820px){
  .soccer-page .goal-target .goal-target-crosshair{width:62%;height:62%}
}
@media(max-width:430px){
  .soccer-page .goal-target .goal-target-crosshair{width:64%;height:64%}
}


/* v35 — centralização absoluta da mira dentro dos quatro botões */
.soccer-page .goal-target{
  padding:0!important;
  display:grid!important;
  place-items:center!important;
}
.soccer-page .goal-target .goal-target-crosshair{
  position:absolute;
  left:50%;
  top:50%;
  margin:0!important;
  transform:translate(-50%,-50%);
  transform-origin:center center;
}
.soccer-page .goal-target:hover:not(:disabled) .goal-target-crosshair,
.soccer-page .goal-target:focus-visible .goal-target-crosshair{
  transform:translate(-50%,-50%) scale(1.08);
}
.soccer-page .goal-target.selected .goal-target-crosshair{
  transform:translate(-50%,-50%) scale(1.1);
}


/* v36 — faixa de prêmios em movimento contínuo */
.soccer-page .prize-strip.is-auto-scroll{
  justify-content:flex-start!important;
  scroll-snap-type:none!important;
  scroll-behavior:auto!important;
  overscroll-behavior-x:contain;
  touch-action:pan-y;
  cursor:grab;
}
.soccer-page .prize-strip.is-auto-scroll:active{cursor:grabbing}
.soccer-page .prize-strip.is-auto-scroll .prize-mini-card{
  scroll-snap-align:none!important;
}
.soccer-page .prize-strip.is-auto-scroll .prize-mini-card[data-ticker-clone="1"]{
  pointer-events:none;
}
@media(prefers-reduced-motion:reduce){
  .soccer-page .prize-strip.is-auto-scroll{scroll-behavior:auto!important}
}
