:root{--bg1:#65001d;--bg2:#ff2e63;--red:#e70046;--deep:#750024;--pink:#fff0f5;--soft:#ffd9e5;--gold:#ffd166;--white:#fff;--text:#3b0012;--glass:rgba(255,255,255,.14)}*{box-sizing:border-box}body{margin:0;min-height:100vh;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;color:var(--white);background:radial-gradient(circle at 80% 20%,#ff477e 0,transparent 35%),linear-gradient(135deg,var(--bg1),var(--bg2));overflow-x:hidden}.bg-hearts:before{content:'❤ ❤ ❤ ❤ ❤ ❤ ❤ ❤ ❤ ❤ ❤ ❤ ❤';position:fixed;inset:-80px;opacity:.055;font-size:72px;letter-spacing:28px;line-height:2;transform:rotate(-18deg);pointer-events:none}.screen{display:none;min-height:100vh}.screen.active{display:flex}.login-screen{align-items:center;justify-content:center;padding:24px}.login-card{width:min(430px,92vw);padding:34px 32px;border-radius:28px;text-align:center;background:linear-gradient(145deg,rgba(255,255,255,.22),rgba(255,255,255,.08));border:1px solid rgba(255,255,255,.28);box-shadow:0 30px 85px rgba(0,0,0,.35);backdrop-filter:blur(20px)}.small-heart{font-size:28px;margin-bottom:8px}.eyebrow{font-size:12px;font-weight:900;letter-spacing:.12em;text-transform:uppercase;opacity:.86;margin:0 0 10px}.login-card h1{margin:0 0 12px;font-size:38px}.subtitle{margin:0 auto 24px;max-width:310px;line-height:1.45}.login-card input{width:100%;height:54px;border:0;outline:0;border-radius:18px;padding:0 18px;font-size:16px;background:rgba(255,255,255,.94);color:#3b0012}.login-card button,.form-row button,.form-grid button,.feature-card button,.unlock-btn,.delete-btn,.backBtn{border:0;border-radius:999px;padding:15px 20px;font-weight:900;cursor:pointer;color:#fff;background:linear-gradient(135deg,#ff174f,#bf003a);box-shadow:0 14px 28px rgba(0,0,0,.22)}.login-card button{width:100%;margin-top:16px;font-size:16px}.login-error{min-height:22px;margin:14px 0 0;color:#ffe1e8;font-weight:800}.app{width:100%;min-height:100vh}.sidebar{width:280px;min-height:100vh;padding:22px;background:rgba(68,0,22,.42);border-right:1px solid rgba(255,255,255,.16);backdrop-filter:blur(18px);position:sticky;top:0}.brand{display:flex;align-items:center;gap:10px;font-size:24px;margin-bottom:28px}.brand span{width:42px;height:42px;border-radius:16px;display:grid;place-items:center;background:rgba(255,255,255,.16)}.nav,.adminNav,.logoutBtn{width:100%;padding:14px 16px;margin-bottom:10px;border:0;border-radius:16px;text-align:left;color:#fff;background:rgba(255,255,255,.10);font-weight:850;cursor:pointer}.nav.active,.adminNav.active{background:#fff;color:#c5003c}.logoutBtn{margin-top:22px;background:rgba(0,0,0,.18)}.content{flex:1;padding:28px;min-width:0}.topbar{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:28px}.topbar h2{margin:0;font-size:34px}.points-box{min-width:170px;text-align:center;border-radius:24px;padding:16px 20px;background:#fff;color:#4a0016;box-shadow:0 20px 52px rgba(0,0,0,.24)}.points-box span{display:block;font-weight:850;font-size:13px;opacity:.75}.points-box strong{display:block;font-size:42px;color:#e70046}.page,.adminPage{display:none}.page.active,.adminPage.active{display:block}.welcome-panel,.admin-card,.feature-card,.game-info{border-radius:28px;padding:28px;background:var(--glass);border:1px solid rgba(255,255,255,.20);box-shadow:0 24px 70px rgba(0,0,0,.20);backdrop-filter:blur(18px)}.welcome-panel h3{font-size:34px;margin:0 0 14px}.welcome-panel p{font-size:18px;line-height:1.65;max-width:930px}.quick-grid,.cards-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-top:22px}.cards-grid.one{grid-template-columns:minmax(280px,420px)}.quick-card,.feature-card,.content-card,.promise-card,.declaration-card{border:0;text-align:left;border-radius:24px;padding:24px;background:rgba(255,255,255,.92);color:var(--text);box-shadow:0 18px 45px rgba(0,0,0,.20)}.quick-card{cursor:pointer}.quick-card{font-size:34px}.quick-card strong,.quick-card span{display:block}.quick-card strong{font-size:20px;margin-top:8px}.quick-card span{font-size:14px;color:#7a1b37}.big-emoji{font-size:52px}.clickable{cursor:pointer}.game-area.hidden{display:none}.backBtn{margin-bottom:18px;background:rgba(255,255,255,.18)}.wheel-layout{display:grid;grid-template-columns:1fr 560px;gap:28px;align-items:center}.result-box{margin-top:20px;padding:18px;border-radius:18px;background:rgba(255,255,255,.14);font-size:20px;font-weight:900}.wheel-wrap{position:relative;width:min(560px,90vw);aspect-ratio:1/1;display:grid;place-items:center;margin:auto}.wheel-wrap canvas{width:100%;height:100%;border-radius:50%;filter:drop-shadow(0 22px 38px rgba(0,0,0,.34))}.wheel-pointer{position:absolute;top:-6px;z-index:5;width:0;height:0;border-left:22px solid transparent;border-right:22px solid transparent;border-top:38px solid var(--gold);filter:drop-shadow(0 6px 8px rgba(0,0,0,.35))}#spinBtn{position:absolute;width:118px;height:118px;border-radius:50%;border:8px solid var(--gold);color:#c5003c;background:#fff0f5;font-weight:950;font-size:18px;box-shadow:0 18px 45px rgba(0,0,0,.35);cursor:pointer}.content-card,.promise-card,.declaration-card{position:relative;overflow:hidden}.content-card h3,.promise-card h3,.declaration-card h3{margin:0 0 10px}.content-card img,.content-card video{width:100%;max-height:260px;object-fit:cover;border-radius:18px;margin:12px 0}.locked-layer{padding:18px;border-radius:18px;text-align:center;background:linear-gradient(135deg,#fff,#ffe1ea);border:1px dashed #e70046}.cost-badge{display:inline-block;padding:8px 12px;border-radius:999px;background:#e70046;color:#fff;font-weight:900;margin:8px 0}.unlock-btn{width:100%;margin-top:10px}.promise-number{font-size:72px;font-weight:950;color:#e70046;line-height:1}.mural{display:grid;gap:18px}.declaration-card{background:linear-gradient(135deg,#fff,#fff0f5)}.admin-app .content{background:rgba(0,0,0,.05)}.admin-card{margin-bottom:22px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.form-row{display:flex;gap:12px;flex-wrap:wrap}.form-row input,.form-grid input,.form-grid textarea,.form-grid select{width:100%;border:0;border-radius:16px;padding:14px 16px;background:rgba(255,255,255,.95);font:inherit;color:#3b0012}.form-grid textarea{grid-column:1/-1;min-height:100px;resize:vertical}.form-grid button{grid-column:1/-1}.secondary{background:rgba(255,255,255,.20)!important}.admin-list{display:grid;gap:12px}.admin-item{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:16px;border-radius:18px;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.18)}.admin-item strong{display:block}.admin-item small{opacity:.9}.delete-btn{background:#4a0016;padding:10px 14px}.empty{padding:24px;border-radius:22px;background:rgba(255,255,255,.12);text-align:center}@media(max-width:980px){.app.active{display:block}.sidebar{position:relative;width:100%;min-height:auto;display:grid;grid-template-columns:1fr 1fr;gap:8px}.brand{grid-column:1/-1}.nav,.adminNav,.logoutBtn{margin:0}.content{padding:18px}.topbar,.wheel-layout{display:block}.points-box{margin-top:16px}.quick-grid,.cards-grid{grid-template-columns:1fr 1fr}.wheel-wrap{margin-top:24px}.form-grid{grid-template-columns:1fr}}@media(max-width:600px){.quick-grid,.cards-grid{grid-template-columns:1fr}.login-card h1{font-size:32px}.topbar h2{font-size:28px}.welcome-panel h3{font-size:28px}.sidebar{grid-template-columns:1fr}.admin-item{display:block}.delete-btn{margin-top:10px;width:100%}}

/* V4: animações de desbloqueio e melhorias mobile */
.celebration-overlay{position:fixed;inset:0;z-index:9999;display:grid;place-items:center;padding:22px;background:radial-gradient(circle at center,rgba(255,209,102,.28),rgba(231,0,70,.90) 44%,rgba(60,0,20,.96));animation:celebrationIn .28s ease-out both;overflow:hidden}.celebration-overlay.closing{animation:fadeOut .32s ease-in both}.celebration-card{width:min(520px,92vw);text-align:center;color:#4a0016;background:linear-gradient(135deg,#fff,#fff0f5);border-radius:34px;padding:34px 26px;box-shadow:0 30px 95px rgba(0,0,0,.38);border:2px solid rgba(255,255,255,.75);animation:popCard .65s cubic-bezier(.16,1,.3,1) both}.celebration-card h2{font-size:38px;margin:10px 0;color:#e70046}.celebration-card p{font-size:18px;line-height:1.5;margin:0 0 22px;color:#5a1830}.celebration-icon{width:86px;height:86px;margin:0 auto 8px;display:grid;place-items:center;border-radius:30px;background:linear-gradient(135deg,#ff477e,#ffd166);font-size:46px;box-shadow:0 16px 36px rgba(231,0,70,.28)}.celebration-close{border:0;border-radius:999px;padding:14px 28px;color:#fff;background:linear-gradient(135deg,#ff174f,#bf003a);font-weight:950;cursor:pointer}.celebration-burst{position:absolute;font-size:110px;opacity:.16;animation:burstSpin 3.6s linear infinite}.floating-hearts{position:absolute;left:0;right:0;bottom:-50px;text-align:center;font-size:48px;letter-spacing:20px;opacity:.45;animation:heartsUp 3s linear infinite}.celebration-overlay.promise{background:radial-gradient(circle at center,#ffd166 0,#ff477e 34%,#5e001f 100%)}.celebration-overlay.promise .celebration-card{transform-origin:center;animation:promiseOpen .85s cubic-bezier(.16,1,.3,1) both}.celebration-overlay.promise:before,.celebration-overlay.promise:after{content:'PROMESSA';position:absolute;font-weight:950;font-size:13vw;letter-spacing:.08em;color:rgba(255,255,255,.08);transform:rotate(-18deg)}.celebration-overlay.promise:after{content:'LIBERADA';transform:rotate(18deg);top:auto;bottom:8%}@keyframes celebrationIn{from{opacity:0}to{opacity:1}}@keyframes fadeOut{to{opacity:0;visibility:hidden}}@keyframes popCard{from{opacity:0;transform:translateY(30px) scale(.86)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes promiseOpen{0%{opacity:0;transform:scale(.55) rotate(-4deg)}60%{opacity:1;transform:scale(1.06) rotate(1deg)}100%{transform:scale(1) rotate(0)}}@keyframes burstSpin{to{transform:rotate(360deg) scale(1.35)}}@keyframes heartsUp{from{transform:translateY(0);opacity:.15}45%{opacity:.5}to{transform:translateY(-120vh);opacity:0}}
@media(max-width:760px){body{background-attachment:fixed}.screen.active{min-height:100dvh}.content{padding:14px}.sidebar{position:sticky;top:0;z-index:20;display:flex;gap:8px;overflow-x:auto;min-height:auto;padding:12px;background:rgba(68,0,22,.82);scrollbar-width:none}.sidebar::-webkit-scrollbar{display:none}.brand{min-width:115px;margin:0;font-size:18px}.brand span{width:36px;height:36px}.nav,.adminNav,.logoutBtn{min-width:max-content;margin:0;padding:12px 14px;border-radius:14px}.topbar{margin-bottom:16px}.points-box{position:sticky;top:70px;z-index:10;width:100%;min-width:0;padding:12px 16px}.points-box strong{font-size:34px}.welcome-panel,.admin-card,.feature-card,.game-info{padding:20px;border-radius:22px}.wheel-wrap{width:min(94vw,430px)}#spinBtn{width:92px;height:92px;font-size:15px;border-width:6px}.wheel-pointer{top:-2px;border-left-width:17px;border-right-width:17px;border-top-width:30px}.content-card img,.content-card video{max-height:210px}.celebration-card{padding:28px 20px;border-radius:28px}.celebration-card h2{font-size:30px}.celebration-card p{font-size:16px}.floating-hearts{font-size:34px;letter-spacing:10px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}

/* Jogos V5 */
.games-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.game-card{padding:24px;border-radius:26px;background:rgba(255,255,255,.94);color:var(--text);box-shadow:0 18px 45px rgba(0,0,0,.2);transition:.25s transform,.25s box-shadow}.game-card:hover{transform:translateY(-5px);box-shadow:0 26px 55px rgba(0,0,0,.28)}.game-card h3{margin:8px 0}.game-card p{min-height:48px;color:#7a1b37}.game-card button,.game-action,.mobile-controls button{border:0;border-radius:999px;padding:13px 20px;font-weight:900;color:#fff;background:linear-gradient(135deg,#ff174f,#bf003a);cursor:pointer;box-shadow:0 10px 24px rgba(130,0,40,.25)}.game-icon{font-size:48px}.mini-game-panel{max-width:820px;margin:auto;padding:26px;border-radius:28px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.22);box-shadow:0 24px 60px rgba(0,0,0,.22)}.center-game{text-align:center}.game-status{display:flex;justify-content:space-between;margin:14px 0;font-size:20px}.falling-arena{height:430px;position:relative;overflow:hidden;border-radius:24px;background:linear-gradient(#59102d,#e92d62);border:2px solid rgba(255,255,255,.35);touch-action:none}.fall-item{position:absolute;top:-50px;font-size:34px;will-change:transform}.fall-pop{position:absolute;font-weight:950;color:#fff;animation:popUp .7s forwards}#basket{position:absolute;bottom:8px;left:calc(50% - 35px);font-size:58px;width:70px;text-align:center;transition:left .08s}.mobile-controls{display:flex;justify-content:center;gap:10px;margin-top:14px}.gift-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:20px 0}.gift-box{height:105px;border:0;border-radius:20px;font-size:44px;background:linear-gradient(145deg,#fff,#ffd3df);cursor:pointer;box-shadow:0 10px 20px rgba(0,0,0,.16);transition:.2s}.gift-box:hover{transform:scale(1.04)}.gift-box.opened{background:#fff;transform:rotateY(180deg)}.love-dice{width:180px;height:180px;margin:24px auto;display:grid;place-items:center;border-radius:34px;background:#fff;color:#e70046;font-size:78px;box-shadow:0 20px 50px rgba(0,0,0,.3);border:8px solid #ffd166}.dice-rolling{animation:diceRoll .7s linear infinite}.slot-machine{display:flex;justify-content:center;gap:12px;margin:28px 0}.slot-reel{width:130px;height:150px;display:grid;place-items:center;border-radius:22px;background:#fff;font-size:70px;box-shadow:inset 0 0 0 7px #ffd166,0 18px 35px rgba(0,0,0,.25)}.slot-spinning{animation:slotShake .12s linear infinite}.scratch-wrap{position:relative;max-width:620px;height:280px;margin:22px auto;border-radius:24px;overflow:hidden;background:#fff;box-shadow:0 20px 45px rgba(0,0,0,.25)}.scratch-symbols{position:absolute;inset:0;display:grid;grid-template-columns:repeat(3,1fr);align-items:center;justify-items:center;font-size:70px;color:#4a0016}.scratch-symbols span small{display:block;font-size:16px;font-weight:900}#scratchCanvas{position:absolute;inset:0;width:100%;height:100%;touch-action:none;cursor:crosshair}.premium-wheel .wheel-glow{position:absolute;inset:-18px;border-radius:50%;background:conic-gradient(#ffd166,#ff2e63,#fff,#ffd166);filter:blur(10px);opacity:.65;animation:wheelAura 3s linear infinite}.premium-wheel canvas{position:relative;z-index:2;border:8px solid #ffd166}.premium-wheel #spinBtn,.premium-wheel .wheel-pointer{z-index:4}.confetti-piece{position:fixed;z-index:9999;top:-20px;width:10px;height:16px;animation:confettiFall 2.4s linear forwards;pointer-events:none}.spark-particle{position:fixed;z-index:9999;font-size:24px;pointer-events:none;animation:sparkFly 1.2s ease-out forwards}@keyframes popUp{to{transform:translateY(-45px);opacity:0}}@keyframes diceRoll{50%{transform:rotate(180deg) scale(.8)}100%{transform:rotate(360deg)}}@keyframes slotShake{50%{transform:translateY(-8px)}}@keyframes wheelAura{to{transform:rotate(360deg)}}@keyframes confettiFall{to{transform:translate(var(--drift),105vh) rotate(760deg);opacity:.2}}@keyframes sparkFly{to{transform:translate(var(--x),var(--y)) scale(0);opacity:0}}
@media(max-width:900px){.games-grid{grid-template-columns:1fr 1fr}.falling-arena{height:380px}}@media(max-width:600px){.games-grid{grid-template-columns:1fr}.gift-grid{grid-template-columns:repeat(3,1fr)}.gift-box{height:82px;font-size:36px}.falling-arena{height:62vh;max-height:460px}.slot-reel{width:28vw;height:115px;font-size:50px}.scratch-wrap{height:220px}.scratch-symbols{font-size:54px}.mini-game-panel{padding:16px}.mobile-controls{position:sticky;bottom:8px}.game-card p{min-height:0}}


.how-game{
  margin:12px 0 16px;
  padding:12px 14px;
  border-radius:14px;
  background:rgba(255,255,255,.14);
  border:1px solid rgba(255,255,255,.22);
  line-height:1.45;
  font-size:14px;
}

.love-dice{
  width:150px;
  height:150px;
  display:grid;
  place-items:center;
  margin:26px auto 20px;
  border-radius:28px;
  font-size:96px;
  color:#b0003a;
  background:linear-gradient(145deg,#fff,#ffe0ea);
  box-shadow:0 24px 50px rgba(74,0,25,.30), inset 0 -10px 24px rgba(255,23,79,.10);
  transform-style:preserve-3d;
  perspective:900px;
}

.dice-rolling-strong{
  animation:diceThrowStrong 1.8s cubic-bezier(.22,.8,.2,1);
}

.dice-landed{
  animation:diceLand .9s cubic-bezier(.2,.9,.25,1);
}

@keyframes diceThrowStrong{
  0%{transform:translateY(0) rotateX(0) rotateY(0) rotateZ(0) scale(1)}
  18%{transform:translateY(-90px) rotateX(220deg) rotateY(180deg) rotateZ(70deg) scale(1.12)}
  38%{transform:translateY(-25px) rotateX(480deg) rotateY(370deg) rotateZ(160deg) scale(.96)}
  58%{transform:translateY(-70px) rotateX(720deg) rotateY(590deg) rotateZ(260deg) scale(1.08)}
  78%{transform:translateY(-10px) rotateX(930deg) rotateY(760deg) rotateZ(350deg) scale(.98)}
  100%{transform:translateY(0) rotateX(1080deg) rotateY(900deg) rotateZ(360deg) scale(1)}
}

@keyframes diceLand{
  0%{transform:scale(1)}
  35%{transform:scale(1.22) rotate(-6deg)}
  65%{transform:scale(.92) rotate(4deg)}
  100%{transform:scale(1) rotate(0)}
}

@media(max-width:700px){
  .how-game{font-size:13px}
  .love-dice{width:124px;height:124px;font-size:78px}
  .wheel-wrap{width:min(92vw,430px)!important}
}


/* ===== PREMIUM V7 ===== */
.game-area{position:relative;isolation:isolate}
.ambient-particles{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:-1;border-radius:28px}
.ambient-particles i{position:absolute;color:rgba(255,255,255,.22);font-style:normal;font-size:18px;animation:ambientFloat linear infinite}
@keyframes ambientFloat{0%{transform:translate3d(0,25px,0) scale(.8);opacity:0}20%{opacity:.7}80%{opacity:.35}100%{transform:translate3d(35px,-100px,0) scale(1.25);opacity:0}}

.game-loading{position:fixed;inset:0;z-index:9998;display:grid;place-content:center;text-align:center;gap:12px;background:rgba(65,0,22,.74);backdrop-filter:blur(10px);opacity:0;visibility:hidden;transition:.25s}
.game-loading.show{opacity:1;visibility:visible}
.loading-heart{font-size:58px;animation:heartLoad .75s ease-in-out infinite alternate}
@keyframes heartLoad{to{transform:scale(1.28);filter:drop-shadow(0 0 24px #ff8fab)}}

.game-enter{animation:gameEnter .48s cubic-bezier(.2,.8,.2,1)}
.game-leave{animation:gameLeave .28s ease forwards}
.chooser-enter{animation:gameEnter .4s ease}
@keyframes gameEnter{from{opacity:0;transform:translateY(18px) scale(.985);filter:blur(8px)}to{opacity:1;transform:none;filter:none}}
@keyframes gameLeave{to{opacity:0;transform:translateY(12px) scale(.985);filter:blur(7px)}}

.big-prize-overlay{position:fixed;inset:0;z-index:10000;display:grid;place-items:center;padding:20px;background:radial-gradient(circle,rgba(255,40,100,.55),rgba(30,0,12,.92));backdrop-filter:blur(9px);opacity:0;visibility:hidden;transition:.3s}
.big-prize-overlay.show{opacity:1;visibility:visible}
.big-prize-card{width:min(520px,92vw);padding:38px 28px;border:2px solid #ffd166;border-radius:32px;text-align:center;color:#59001a;background:linear-gradient(145deg,#fff,#ffe8ef);box-shadow:0 0 0 10px rgba(255,209,102,.14),0 30px 100px rgba(0,0,0,.45);animation:prizePop .65s cubic-bezier(.18,1.4,.35,1)}
.big-prize-icon{font-size:68px}.big-prize-card h2{font-size:32px;margin:8px 0}.big-prize-card>strong{display:block;font-size:44px;color:#e00043;margin:10px 0}.big-prize-card button{padding:14px 28px;border-radius:999px;background:#e00043;color:#fff}
@keyframes prizePop{from{transform:scale(.55) rotate(-5deg);opacity:0}to{transform:scale(1);opacity:1}}

.visual-vibrate{animation:visualVibrate .55s ease}.visual-vibrate-big{animation:visualVibrateBig .85s ease}
@keyframes visualVibrate{20%{transform:translateX(-5px)}40%{transform:translateX(5px)}60%{transform:translateX(-3px)}80%{transform:translateX(3px)}}
@keyframes visualVibrateBig{15%{transform:scale(1.02) translateX(-8px)}30%{transform:scale(1.025) translateX(8px)}45%{transform:translateX(-6px)}60%{transform:translateX(6px)}100%{transform:none}}
.loss-shake{animation:lossShake .65s ease}
@keyframes lossShake{20%,60%{filter:saturate(.5) brightness(.72);transform:translateX(-5px)}40%,80%{transform:translateX(5px)}100%{filter:none;transform:none}}

.rose-petal{position:fixed;top:-55px;z-index:9999;font-style:normal;font-size:26px;pointer-events:none;animation:petalFall 2.6s ease-in forwards}
@keyframes petalFall{to{transform:translate(var(--petal-x),110vh) rotate(540deg);opacity:.15}}

.gift-grid{grid-template-columns:repeat(3,minmax(140px,1fr))!important;max-width:760px;margin-inline:auto}
.gift-box-three{min-height:180px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;position:relative;transition:.45s cubic-bezier(.2,.9,.2,1)}
.gift-box-three .gift-closed{font-size:58px}.gift-box-three .gift-hidden{font-size:0}
.gift-box-three.opened{transform:rotateY(360deg);background:#fff8fb}
.gift-box-three .gift-reveal{font-size:68px}.gift-box-three small{font-weight:900;color:#69001e}
.gift-box-three.chosen-win{box-shadow:0 0 0 5px #ffd166,0 0 40px rgba(255,209,102,.7)}
.gift-box-three.chosen-loss{box-shadow:0 0 0 5px #7f1d1d;filter:saturate(.65)}

.slot-cabinet{position:relative;width:min(620px,94vw);margin:24px auto;padding:26px 28px 34px;border:9px solid #d49a00;border-radius:38px;background:linear-gradient(145deg,#5e001c,#b0003a 55%,#420013);box-shadow:inset 0 0 0 5px #ffd86b,inset 0 -24px 44px rgba(0,0,0,.35),0 28px 70px rgba(38,0,12,.42)}
.slot-marquee{display:flex;align-items:center;justify-content:center;gap:16px;padding:14px;border:4px solid #ffd166;border-radius:20px;color:#fff8dc;background:linear-gradient(#e11d48,#8b0030);font-size:22px;letter-spacing:1px;text-shadow:0 2px 0 #5d001d,0 0 14px #ffd166}
.slot-lights{height:12px;margin:14px 12px;background:radial-gradient(circle,#fff 0 28%,#ffd166 30% 55%,transparent 58%) 0 0/32px 12px repeat-x;filter:drop-shadow(0 0 7px #ffd166);animation:lightsRun .8s linear infinite}
@keyframes lightsRun{to{background-position:32px 0}}
.slot-window{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;padding:22px;border:7px solid #5c001d;border-radius:24px;background:linear-gradient(#fff,#ffe8ef);box-shadow:inset 0 12px 24px rgba(0,0,0,.18)}
.slot-reel{height:150px;display:grid;place-items:center;border:4px solid #d3a018;border-radius:18px;background:linear-gradient(180deg,#fff 0,#ffe6ef 48%,#fff 52%,#f7c9d8 100%);font-size:72px;box-shadow:inset 0 12px 22px rgba(0,0,0,.12),inset 0 -12px 22px rgba(0,0,0,.12)}
.slot-paytable{margin-top:15px;padding:9px 12px;border-radius:999px;color:#ffeeb1;background:rgba(0,0,0,.27);font-size:13px;font-weight:800}
.slot-lever{position:absolute;right:-62px;top:45%;width:38px;height:118px;border-radius:22px;background:linear-gradient(90deg,#8c5b00,#ffd166,#8c5b00);transform-origin:50% 90%;transition:.35s}
.slot-lever:before{content:"";position:absolute;left:5px;top:-25px;width:28px;height:28px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#ff8fab,#c0003b 70%)}
.slot-lever span{position:absolute;left:50%;bottom:-11px;transform:translateX(-50%);width:54px;height:28px;border-radius:50%;background:#6b001e}
.slot-lever.pulled{transform:rotate(38deg)}
.slot-spinning-premium{animation:reelBlur .13s linear infinite}
.reel-stop{animation:reelStop .45s ease}
@keyframes reelBlur{50%{filter:blur(5px);transform:translateY(7px) scaleY(1.08)}}
@keyframes reelStop{0%{transform:translateY(-16px) scale(1.08)}60%{transform:translateY(8px) scale(.96)}100%{transform:none}}
.machine-active{animation:machineGlow .7s ease-in-out infinite alternate}
@keyframes machineGlow{to{box-shadow:inset 0 0 0 5px #fff0a6,inset 0 -24px 44px rgba(0,0,0,.35),0 0 55px rgba(255,209,102,.8)}}

@media(max-width:700px){
  .gift-grid{grid-template-columns:1fr!important}
  .gift-box-three{min-height:120px}
  .slot-cabinet{padding:18px 14px 24px;border-width:6px}
  .slot-window{gap:7px;padding:12px}
  .slot-reel{height:104px;font-size:50px}
  .slot-marquee{font-size:15px}
  .slot-lever{right:-28px;width:26px;height:88px}
  .big-prize-card>strong{font-size:34px}
}
@media(prefers-reduced-motion:reduce){
  *,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important}
}
