@font-face{font-family:Hanson;src:url('/assets/Hanson-Bold.otf') format('opentype');font-display:swap}
:root{--orange:#ff7700;--red:#e63000;--purple:#2d1743;--cream:#f0e6c6;--black:#07040f;--pink:#ff56a0}
*{box-sizing:border-box}
html{min-height:100%;background:var(--black);overflow-x:hidden}
body.bau-page{min-height:100svh;margin:0;color:var(--cream);background:
 radial-gradient(circle at 50% 13%,rgba(230,48,0,.2),transparent 32rem),
 radial-gradient(circle at 10% 54%,rgba(45,23,67,.8),transparent 38rem),
 linear-gradient(180deg,#0c0614 0%,#07040f 100%);overflow-x:hidden}
.bau-page::before{content:"";position:fixed;inset:0;pointer-events:none;opacity:.18;background-image:radial-gradient(rgba(240,230,198,.7) .7px,transparent .7px);background-size:16px 16px;mask-image:linear-gradient(#000,transparent 70%)}
.bau-header{position:sticky;top:0;z-index:20;padding-top:max(12px,env(safe-area-inset-top));backdrop-filter:blur(18px);background:rgba(7,4,15,.82)}
.bau-back{color:rgba(240,230,198,.72);text-decoration:none;font-weight:800;min-height:44px;display:flex;align-items:center}
.bau-main{position:relative;width:min(1080px,100%);margin:auto;padding:clamp(24px,5vw,56px) max(16px,env(safe-area-inset-left)) max(80px,calc(env(safe-area-inset-bottom) + 48px))}
.bau-loading{min-height:65dvh;display:grid;place-content:center;justify-items:center;gap:16px;text-align:center}
.bau-loading-orb{width:44px;height:44px;border:3px solid rgba(255,119,0,.2);border-top-color:var(--orange);border-radius:50%;animation:bauSpin .8s linear infinite}
.bau-intro{text-align:center;max-width:780px;margin:0 auto 22px}
.bau-eyebrow,.chest-instruction{font:800 clamp(.72rem,2.8vw,.9rem)/1 Inter,system-ui,sans-serif;letter-spacing:.2em;text-transform:uppercase;color:var(--orange)}
.bau-eyebrow span{display:inline-block;width:28px;height:2px;background:var(--orange);vertical-align:middle;margin-right:8px}
.bau-intro h1{font:normal clamp(3.4rem,12vw,7.8rem)/.76 Hanson,Impact,sans-serif;letter-spacing:-.045em;margin:18px 0;text-shadow:0 14px 40px rgba(230,48,0,.26)}
.bau-intro h1 em{display:block;font-size:.76em;line-height:.9;font-style:normal;color:var(--orange);white-space:nowrap}
.bau-intro>p:last-child{max-width:620px;margin:auto;color:rgba(240,230,198,.68);line-height:1.55}
.bau-status,.bau-result{position:relative;border:1px solid rgba(255,119,0,.42);border-radius:24px;background:linear-gradient(135deg,rgba(45,23,67,.72),rgba(18,8,25,.92));box-shadow:0 24px 70px rgba(0,0,0,.35),inset 0 1px rgba(255,255,255,.05)}
.bau-status{display:grid;grid-template-columns:1fr auto;gap:14px 20px;align-items:end;padding:clamp(18px,4vw,28px);max-width:920px;margin:auto}
.bau-status h2{font:normal clamp(1.55rem,5vw,2.35rem)/.98 Hanson,Impact,sans-serif;margin:7px 0}.bau-status p{margin:0;color:rgba(240,230,198,.65)}
#bauProgressCount{font:normal clamp(2rem,7vw,3.4rem)/1 Hanson,Impact,sans-serif;color:var(--orange)}
.bau-progress{grid-column:1/-1;height:10px;border-radius:99px;overflow:hidden;background:rgba(7,4,15,.78)}
.bau-progress span{display:block;height:100%;width:0;border-radius:inherit;background:linear-gradient(90deg,#ffb10b,var(--orange),var(--red));transform-origin:left;transition:transform .5s ease}
.bau-progress[data-progress="0"] span{transform:scaleX(0)}.bau-progress[data-progress="1"] span{transform:scaleX(.25)}.bau-progress[data-progress="2"] span{transform:scaleX(.5)}.bau-progress[data-progress="3"] span{transform:scaleX(.75)}.bau-progress[data-progress="4"] span{transform:scaleX(1)}
.chest-stage{position:relative;padding:clamp(28px,6vw,60px) 0 12px;min-height:330px}
.chest-instruction{text-align:center;color:rgba(240,230,198,.72);margin:0 0 clamp(14px,4vw,30px)}
.chest-message{width:min(620px,100%);margin:-12px auto 18px;text-align:center}
.chest-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(8px,3vw,28px);align-items:end;max-width:980px;margin:auto;perspective:1000px}
.prize-chest{appearance:none;position:relative;isolation:isolate;display:grid;place-items:center;min-width:0;min-height:clamp(170px,32vw,310px);padding:22px 4px 12px;border:1px solid transparent;border-radius:24px;background:transparent;color:var(--cream);cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;transition:border-color .25s ease,background .25s ease,opacity .25s ease}
.prize-chest:not(:disabled):active{background:rgba(255,119,0,.07);border-color:rgba(255,119,0,.32)}
.chest-number{position:absolute;top:4px;left:50%;transform:translateX(-50%);z-index:3;font:normal clamp(.76rem,2.8vw,1rem)/1 Hanson,Impact,sans-serif;letter-spacing:.12em;color:rgba(240,230,198,.55)}
.chest-visual{display:block;width:100%;filter:drop-shadow(0 24px 25px rgba(0,0,0,.52)) drop-shadow(0 0 18px rgba(255,119,0,.13));transform:translateZ(0);will-change:transform,opacity}
.chest-visual img{display:block;width:100%;height:auto;max-height:250px;object-fit:contain}
.prize-chest:not(:disabled) .chest-visual{animation:chestBreathe 2.6s ease-in-out infinite}
.prize-chest:nth-child(2) .chest-visual{animation-delay:.25s}.prize-chest:nth-child(3) .chest-visual{animation-delay:.5s}
.prize-chest.is-opening .chest-visual{animation:chestOpen .72s cubic-bezier(.18,.8,.2,1) both}
.prize-chest.is-open .chest-visual img{content:url('/assets/bau/bau-aberto.webp')}
.prize-chest.is-dimmed{opacity:.72}
.chest-reveal{position:absolute;z-index:4;left:50%;top:50%;width:88%;transform:translate(-50%,-32%) scale(.7);opacity:0;display:flex;flex-direction:column;align-items:center;pointer-events:none;will-change:transform,opacity}
.chest-reveal img{width:clamp(46px,9vw,84px);height:clamp(50px,10vw,92px);object-fit:contain;filter:drop-shadow(0 0 12px rgba(255,220,120,.65))}
.chest-reveal strong{font:normal clamp(.68rem,2.4vw,1rem)/1 Hanson,Impact,sans-serif;text-transform:uppercase;text-shadow:0 3px 10px #000;max-width:100%}
.chest-reveal small{margin-top:6px;font:800 clamp(.55rem,2vw,.72rem)/1 Inter,system-ui,sans-serif;letter-spacing:.08em;text-transform:uppercase;color:#ffbdbd}
.prize-chest.is-revealed .chest-reveal{animation:prizeReveal .55s cubic-bezier(.16,1,.3,1) forwards}
.prize-chest.is-winner{background:radial-gradient(circle at 50% 54%,rgba(255,177,11,.2),transparent 62%);border-color:rgba(255,177,11,.38)}
.bau-result{max-width:760px;margin:20px auto 0;padding:clamp(24px,5vw,42px);text-align:center;animation:resultIn .5s cubic-bezier(.16,1,.3,1) both}
.bau-result[hidden]{display:none}.bau-result h2{font:normal clamp(2.2rem,8vw,4.4rem)/.9 Hanson,Impact,sans-serif;margin:12px 0}.bau-result p{color:rgba(240,230,198,.72);line-height:1.5}.bau-result .button{margin-top:12px}
.bau-result.is-win{box-shadow:0 24px 80px rgba(255,119,0,.22),inset 0 1px rgba(255,255,255,.06)}
@keyframes bauSpin{to{transform:rotate(360deg)}}
@keyframes chestBreathe{0%,100%{transform:translateY(0) scale(1)}50%{transform:translateY(-7px) scale(1.02)}}
@keyframes chestOpen{0%{transform:translateY(0) scale(1)}45%{transform:translateY(-12px) scale(1.06) rotate(-1deg)}100%{transform:translateY(0) scale(1)}}
@keyframes prizeReveal{to{opacity:1;transform:translate(-50%,-55%) scale(1)}}
@keyframes resultIn{from{opacity:0;transform:translateY(20px) scale(.98)}to{opacity:1;transform:none}}
@media(max-width:620px){
 .bau-header{padding-left:max(12px,env(safe-area-inset-left));padding-right:max(12px,env(safe-area-inset-right))}.bau-header .app-logo{width:68px}.bau-back{font-size:.78rem}
 .bau-main{padding-top:24px}.bau-intro{margin-bottom:18px}.bau-intro h1{font-size:clamp(3rem,16vw,4.1rem)}
 .bau-intro>p:last-child{font-size:.9rem}.bau-status{border-radius:18px}.bau-status p{font-size:.82rem}.bau-status h2{padding-right:0}
 .chest-stage{min-height:260px;padding-top:28px}.chest-grid{gap:4px}.prize-chest{min-height:190px;padding-inline:0;border-radius:16px}.chest-visual{width:118%;margin-inline:-9%}.chest-reveal{width:105%}.chest-reveal strong{font-size:clamp(.62rem,2.8vw,.76rem)}
}
@media(max-width:370px){.prize-chest{min-height:176px}.chest-reveal img{width:44px;height:50px}.chest-reveal strong{font-size:.6rem}.chest-reveal small{font-size:.5rem}}
@media(prefers-reduced-motion:reduce){.bau-loading-orb,.prize-chest .chest-visual{animation:none!important}.prize-chest.is-revealed .chest-reveal,.bau-result{animation-duration:.01ms}.bau-progress span{transition:none}}
