:root{--bg:#07090d;--panel:#111722;--panel2:#171f2b;--line:#2a3544;--text:#f6f7fb;--muted:#9ba8b8;--gold:#e3b24f;--gold2:#7c5011;--red:#ef3046;--green:#48d597;--shadow:0 24px 70px rgba(0,0,0,.46)}*{box-sizing:border-box}.hidden{display:none!important}html{scroll-behavior:smooth}body{margin:0;background:radial-gradient(circle at 50% -10%,rgba(227,178,79,.15),transparent 30%),linear-gradient(180deg,#0a0d12,#05070a 70%);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;min-height:100vh}.slot-shell{width:min(1180px,calc(100% - 28px));margin:0 auto;padding:30px 0 70px}.eyebrow{display:block;color:var(--gold);font-size:12px;font-weight:900;letter-spacing:.16em}.slot-hero{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:22px}.slot-hero h1{font-size:clamp(42px,8vw,84px);line-height:.87;margin:9px 0 14px;letter-spacing:-.055em}.slot-hero h1 b{color:var(--gold)}.slot-hero p{max-width:690px;color:var(--muted);font-size:15px;line-height:1.6}.wallet-card{min-width:180px;padding:17px 20px;border:1px solid rgba(227,178,79,.4);border-radius:18px;background:linear-gradient(145deg,rgba(227,178,79,.13),rgba(17,23,34,.92));box-shadow:var(--shadow);text-align:right}.wallet-card small,.wallet-card span{display:block;color:var(--muted);font-size:10px;font-weight:800;letter-spacing:.12em}.wallet-card strong{display:block;font-size:34px;color:#fff;margin:2px 0}.slot-machine-wrap{position:relative;border:1px solid #3a4657;border-radius:24px;padding:20px;background:linear-gradient(180deg,#171e29,#0c1118);box-shadow:0 30px 90px rgba(0,0,0,.55),inset 0 0 0 1px rgba(255,255,255,.02)}.machine-top{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:14px;padding:0 4px}.jackpot-label{display:block;font-size:10px;color:var(--gold);font-weight:900;letter-spacing:.17em}.machine-top strong{font-size:19px;letter-spacing:.12em}.free-spin-badge{padding:9px 14px;border-radius:999px;background:linear-gradient(135deg,#f4cf67,#9b6417);color:#17120a;font-size:12px;font-weight:950;box-shadow:0 0 26px rgba(227,178,79,.25)}.slot-machine{position:relative;padding:12px;border:2px solid #5c4825;border-radius:18px;background:#030609;overflow:hidden}.reels{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;background:linear-gradient(180deg,#0d1219,#06090e);padding:8px;border-radius:12px}.reel{display:grid;grid-template-rows:repeat(3,1fr);gap:8px}.symbol{min-height:126px;border:1px solid #344154;border-radius:14px;background:radial-gradient(circle at 50% 15%,rgba(255,255,255,.07),transparent 35%),linear-gradient(180deg,#1b2430,#0d131b);display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;overflow:hidden;box-shadow:inset 0 -12px 20px rgba(0,0,0,.28);transition:transform .18s ease,filter .18s ease}.symbol .icon{font-size:46px;filter:drop-shadow(0 5px 10px rgba(0,0,0,.45))}.symbol strong{font-size:10px;letter-spacing:.1em;margin-top:7px}.symbol.dragon{border-color:#7d3729;background:radial-gradient(circle at 50% 22%,rgba(239,48,70,.22),transparent 37%),linear-gradient(180deg,#2a1719,#0d1016)}.symbol.keys{border-color:#66522f}.symbol.t10{border-color:#365676}.symbol.tank{border-color:#3e5f49}.symbol.coffee{border-color:#9b6b2d;background:radial-gradient(circle at 50% 22%,rgba(227,178,79,.28),transparent 40%),linear-gradient(180deg,#2a2118,#11100f)}.symbol.wild{border-color:#d0a23f;background:radial-gradient(circle at 50% 22%,rgba(227,178,79,.28),transparent 45%),linear-gradient(180deg,#2c2415,#11100c)}.symbol.win{animation:winPulse .72s ease infinite alternate;z-index:2}.symbol.special:after{content:"DRAGON BOOST";position:absolute;right:-28px;top:8px;transform:rotate(35deg);background:var(--gold);color:#18120a;font-size:7px;font-weight:950;padding:3px 30px}@keyframes winPulse{to{transform:scale(1.055);filter:brightness(1.35);box-shadow:0 0 25px rgba(227,178,79,.4)}}/* Real reel movement: symbols travel vertically through each reel instead of shaking in place. */
.reel{position:relative;overflow:hidden;border-radius:10px}
.reel.reel-spinning{animation:reelTravel .16s linear infinite;animation-delay:var(--reel-delay,0ms);filter:blur(.7px) brightness(.82)}
.reel.reel-spinning .symbol{transition:none}
@keyframes reelTravel{
  0%{transform:translateY(-38px)}
  100%{transform:translateY(38px)}
}
.win-flash{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:rgba(5,7,10,.55);backdrop-filter:blur(2px);font-size:clamp(34px,8vw,86px);font-weight:950;color:#fff;text-shadow:0 0 30px rgba(227,178,79,.7);z-index:4;pointer-events:none}.slot-controls{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:18px;margin-top:18px}.bet-box small,.last-win small{display:block;color:var(--muted);font-size:10px;font-weight:900;letter-spacing:.12em}.bet-buttons{display:flex;gap:7px;flex-wrap:wrap;margin-top:7px}.bet-buttons button{border:1px solid #394657;background:#111821;color:#cbd4de;border-radius:10px;padding:8px 10px;font-weight:850;cursor:pointer}.bet-buttons button.active{border-color:var(--gold);color:#17120a;background:var(--gold)}.spin-button{width:146px;height:146px;border-radius:50%;border:8px solid #5c3e13;background:radial-gradient(circle at 36% 26%,#ffe394,#e2ad43 44%,#8b5812 100%);color:#17120a;box-shadow:0 12px 35px rgba(0,0,0,.5),0 0 0 3px #b98122;cursor:pointer;font-weight:950}.spin-button span{display:block;font-size:30px;letter-spacing:.04em}.spin-button small{font-size:11px}.spin-button:disabled{filter:grayscale(.7);opacity:.55;cursor:not-allowed}.last-win{text-align:right}.last-win strong{font-size:32px}.last-win span{font-size:11px;color:var(--gold);font-weight:900}.notice{min-height:20px;text-align:center;color:var(--muted);font-size:13px;margin:13px 0 0}.notice.ok{color:var(--green)}.notice.error{color:#ff8392}.slot-grid-info{display:grid;grid-template-columns:1.45fr 1fr;gap:18px;margin:18px 0}.slot-panel{border:1px solid var(--line);border-radius:18px;background:rgba(17,23,34,.88);padding:20px;box-shadow:var(--shadow)}.slot-panel h1,.slot-panel h2{margin:7px 0 10px}.slot-panel p{color:var(--muted);line-height:1.55}.auth{text-align:center;padding:60px 24px;margin-top:70px}.gold-button{display:inline-block;text-decoration:none;background:var(--gold);color:#17120a;font-weight:950;padding:12px 18px;border-radius:10px}.paytable{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.pay-row{border:1px solid #2d3949;border-radius:12px;padding:10px;background:#0c1219}.pay-row .pay-icon{font-size:27px}.pay-row strong{display:block;font-size:12px;margin:4px 0}.pay-row small{display:block;color:var(--muted);font-size:10px;line-height:1.55}.bonus-symbol{margin-top:16px;padding:15px;border:1px dashed #6f592f;border-radius:12px;color:var(--gold);font-weight:950;text-align:center}.panel-title{display:flex;align-items:center;justify-content:space-between;gap:16px}.panel-title a{color:var(--gold);font-weight:850;text-decoration:none}.slot-history{display:grid;gap:7px;margin-top:12px}.history-row{display:grid;grid-template-columns:1fr auto auto auto;gap:12px;align-items:center;border-bottom:1px solid #252f3d;padding:9px 3px;color:#dfe5ec;font-size:12px}.history-row small{color:var(--muted)}.history-row .positive{color:var(--green);font-weight:900}.history-row .negative{color:#ff7d8c;font-weight:900}@media(max-width:760px){.slot-shell{width:min(100% - 14px,1180px);padding-top:14px}.slot-hero{align-items:stretch;flex-direction:column}.wallet-card{text-align:left;min-width:0}.slot-machine-wrap{padding:10px;border-radius:17px}.reels{gap:4px;padding:4px}.reel{gap:4px}.symbol{min-height:82px;border-radius:9px}.symbol .icon{font-size:30px}.symbol strong{font-size:7px}.slot-controls{grid-template-columns:1fr auto;gap:10px}.spin-button{width:104px;height:104px;grid-row:1/3;grid-column:2}.spin-button span{font-size:21px}.last-win{text-align:left}.slot-grid-info{grid-template-columns:1fr}.paytable{grid-template-columns:repeat(2,1fr)}.history-row{grid-template-columns:1fr auto auto}.history-row .history-mode{display:none}.machine-top strong{font-size:15px}.slot-hero h1{font-size:52px}}

/* Classic slot reel timing: continuous vertical travel, staggered landings, Coffee suspense. */
.reel.reel-spinning{
  animation:reelTravel var(--reel-speed,128ms) linear infinite;
  filter:blur(.8px) brightness(.84);
  will-change:transform,filter;
}
.reel.reel-suspense{
  animation-duration:230ms;
  filter:blur(.45px) brightness(1.03);
  box-shadow:inset 0 0 0 1px rgba(227,178,79,.35),0 0 20px rgba(227,178,79,.12);
}
.reel.reel-stopped{
  animation:reelLand .18s cubic-bezier(.2,.9,.32,1.18);
}
@keyframes reelLand{
  0%{transform:translateY(-18px)}
  72%{transform:translateY(5px)}
  100%{transform:translateY(0)}
}
.notice.suspense{color:var(--gold);font-weight:900;letter-spacing:.04em}


/* v3: true scrolling reels. The window is fixed; a long vertical track moves through it. */
.reel{
  position:relative;
  overflow:hidden;
  border-radius:10px;
  min-height:0;
}
.reel.reel-spinning,
.reel.reel-suspense{
  animation:none !important;
  transform:none !important;
  filter:none !important;
}
.reel-track{
  display:flex;
  flex-direction:column;
  gap:8px;
  width:100%;
  will-change:transform,filter;
  transform:translate3d(0,0,0);
}
.reel-track .symbol{
  flex:0 0 var(--row-h,126px);
  min-height:0;
}
@media(max-width:760px){
  .reel-track{gap:4px}
}
.reel.reel-suspense{
  box-shadow:inset 0 0 0 1px rgba(227,178,79,.45),0 0 22px rgba(227,178,79,.18);
}
.reel.reel-stopped{
  animation:reelLand .16s cubic-bezier(.2,.9,.32,1.12);
}


/* v4 FIX: the reel is a fixed 3-row viewport; ONLY the inner track moves. */
.reel{
  overflow:hidden !important;
  transform:none !important;
}
.reel.reel-spinning,
.reel.reel-suspense,
.reel.reel-stopped{
  animation:none !important;
  transform:none !important;
}
.reel-track{
  position:absolute;
  left:0;
  top:0;
  width:100%;
}

/* v5 REAL REELS: fixed 3-row windows; only the long symbol strip moves vertically. */
.reels{
  --symbol-h:126px;
  --reel-gap:8px;
}
.reel{
  position:relative !important;
  display:block !important;
  height:calc((var(--symbol-h) * 3) + (var(--reel-gap) * 2)) !important;
  overflow:hidden !important;
  border-radius:10px;
  transform:none !important;
  animation:none !important;
}
.reel > .symbol{
  height:var(--symbol-h) !important;
  min-height:var(--symbol-h) !important;
  margin-bottom:var(--reel-gap);
}
.reel > .symbol:last-child{margin-bottom:0}
.reel-track.reel-track-spin{
  position:absolute !important;
  top:0 !important;
  left:0 !important;
  width:100% !important;
  display:flex !important;
  flex-direction:column !important;
  gap:var(--reel-gap) !important;
  transform:translate3d(0,0,0);
  will-change:transform,filter;
  backface-visibility:hidden;
}
.reel-track.reel-track-spin .symbol{
  flex:0 0 var(--symbol-h) !important;
  height:var(--symbol-h) !important;
  min-height:var(--symbol-h) !important;
}
.reel.reel-rolling,
.reel.reel-suspense,
.reel.reel-stopped,
.reel.reel-landed{
  transform:none !important;
  animation:none !important;
  filter:none !important;
}
.reel.reel-suspense{
  box-shadow:inset 0 0 0 1px rgba(227,178,79,.55),0 0 24px rgba(227,178,79,.20);
}
.reel.reel-landed .symbol{animation:none !important}
@media(max-width:760px){
  .reels{
    --symbol-h:82px;
    --reel-gap:4px;
  }
}

/* V8.23 — living cabinet: lightweight light, fire and ember layers. */
.slot-stage::before,
.slot-stage::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
}
.slot-stage::before{
  z-index:1;
  background:
    radial-gradient(ellipse at 18% 17%,rgba(255,104,15,.28),transparent 24%),
    radial-gradient(ellipse at 88% 21%,rgba(255,160,48,.20),transparent 23%),
    radial-gradient(ellipse at 50% 84%,rgba(255,139,24,.13),transparent 34%);
  mix-blend-mode:screen;
  opacity:.48;
  animation:slotFireBreath 3.4s ease-in-out infinite alternate;
}
.slot-stage::after{
  z-index:2;
  background-image:
    radial-gradient(circle,rgba(255,217,126,.92) 0 1px,transparent 1.8px),
    radial-gradient(circle,rgba(255,116,20,.78) 0 1.2px,transparent 2.2px),
    radial-gradient(circle,rgba(255,175,47,.58) 0 .8px,transparent 1.7px);
  background-size:73px 97px,113px 139px,157px 181px;
  background-position:13px 28px,47px 91px,91px 143px;
  opacity:.42;
  -webkit-mask-image:linear-gradient(to top,#000 0%,#000 72%,transparent 100%);
  mask-image:linear-gradient(to top,#000 0%,#000 72%,transparent 100%);
  animation:slotEmbersRise 7s linear infinite;
}
.stage-reels{z-index:5}
.jackpot-live strong{animation:slotJackpotGlow 2.2s ease-in-out infinite alternate}
@keyframes slotFireBreath{
  from{opacity:.32;filter:brightness(.92) saturate(.95)}
  to{opacity:.66;filter:brightness(1.22) saturate(1.18)}
}
@keyframes slotEmbersRise{
  from{background-position:13px 28px,47px 91px,91px 143px}
  to{background-position:38px -166px,11px -187px,132px -219px}
}
@keyframes slotJackpotGlow{
  from{filter:brightness(.94);text-shadow:0 0 7px rgba(255,176,45,.72),0 2px 3px #000}
  to{filter:brightness(1.18);text-shadow:0 0 14px rgba(255,196,69,1),0 2px 3px #000}
}
@media(max-width:760px){
  .slot-stage::before{opacity:.38;animation-duration:4.8s}
  .slot-stage::after{opacity:.24;animation-duration:10s}
}
@media(prefers-reduced-motion:reduce){
  .slot-stage::before,
  .slot-stage::after,
  .jackpot-live strong,
  .slot-coffee-steam i{animation:none!important}
}

/* V8.24 — steam rising from the cabinet coffee cup. */
.slot-coffee-steam{
  position:absolute;
  z-index:4;
  left:3.8%;
  top:45.5%;
  width:8.8%;
  height:14%;
  overflow:visible;
  pointer-events:none;
  opacity:.9;
}
.slot-coffee-steam i{
  position:absolute;
  left:14%;
  bottom:0;
  width:25%;
  height:62%;
  border-radius:50%;
  background:radial-gradient(ellipse at center,rgba(255,246,225,.62) 0%,rgba(236,224,202,.30) 35%,transparent 72%);
  filter:blur(1.2px);
  opacity:0;
  transform-origin:50% 100%;
  animation:slotCoffeeSteam 3.2s ease-out infinite;
}
.slot-coffee-steam i:nth-child(2){left:39%;height:76%;animation-delay:1.05s;animation-duration:3.7s}
.slot-coffee-steam i:nth-child(3){left:63%;height:56%;animation-delay:2.05s;animation-duration:3s}
@keyframes slotCoffeeSteam{
  0%{opacity:0;transform:translate3d(0,14%,0) scale(.55,.42)}
  20%{opacity:.58}
  58%{opacity:.35;transform:translate3d(14%,-28%,0) scale(.9,1.15)}
  100%{opacity:0;transform:translate3d(-20%,-92%,0) scale(1.25,1.55)}
}
@media(max-width:760px){
  .slot-coffee-steam{opacity:.68}
  .slot-coffee-steam i{filter:blur(.7px);animation-duration:4.2s}
}

/* V8.25 — reels always win the visual hierarchy, especially on phones. */
.slot-stage::before{z-index:0!important}
.slot-stage::after{z-index:1!important}
.slot-coffee-steam{z-index:2!important}
.stage-reels{z-index:20!important}
.jackpot-live{z-index:24!important}
.stage-free-spin{z-index:25!important}
.stage-reels .reels,
.stage-reels .reel,
.stage-reels .reel-track{position:relative;z-index:1}
.stage-reels .symbol .image-icon{
  z-index:4!important;
  opacity:1!important;
  visibility:visible!important;
}
.stage-reels .symbol .image-icon img{
  opacity:1!important;
  visibility:visible!important;
}
@media(max-width:760px){
  .slot-stage::before{opacity:.28!important}
  .slot-stage::after{opacity:.16!important}
  .slot-coffee-steam{opacity:.55!important}
  .stage-reels .symbol::before{
    content:"";
    position:absolute;
    z-index:2;
    inset:10%;
    border-radius:45%;
    background:radial-gradient(circle,rgba(2,3,5,.68) 0%,rgba(2,3,5,.34) 48%,transparent 74%);
    pointer-events:none;
  }
  .stage-reels .symbol .image-icon{
    z-index:5!important;
    filter:brightness(1.14) contrast(1.08) saturate(1.06)!important;
  }
  .stage-reels .symbol .image-icon img{
    filter:drop-shadow(0 3px 5px rgba(0,0,0,.72))!important;
  }
}

/* v6: slower reels + player STOP control. */
.spin-button:not(:disabled):active{transform:scale(.97)}
/* V7 custom 1–1000 bet */
.custom-bet{display:flex;align-items:center;gap:7px;margin-top:7px}
.custom-bet input{width:108px;height:42px;border:1px solid #5d4930;border-radius:10px;background:#080b10;color:#f7d47a;text-align:center;font-size:18px;font-weight:900;outline:none}
.custom-bet input:focus{border-color:#e2ad47;box-shadow:0 0 0 2px rgba(226,173,71,.12)}
.custom-bet button{width:40px;height:40px;border:1px solid #4a3a28;border-radius:10px;background:#15100a;color:#f7d47a;font-size:21px;font-weight:900;cursor:pointer}
.custom-bet button:disabled,.custom-bet input:disabled{opacity:.45;cursor:not-allowed}
.symbol.coffee_wild{border-color:#f0bd55!important;box-shadow:inset 0 0 22px rgba(240,189,85,.25),0 0 16px rgba(240,189,85,.20)}
.symbol.coffee_wild .icon{font-size:clamp(30px,4vw,52px)}

/* V8.2 Coffee bonus intro */
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.bonus-intro{position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center;padding:18px}
.bonus-intro-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.88);backdrop-filter:blur(7px)}
.bonus-intro-card{position:relative;z-index:1;width:min(1500px,96vw);aspect-ratio:3/2;border-radius:20px;overflow:hidden;box-shadow:0 30px 100px rgba(0,0,0,.8),0 0 55px rgba(227,178,79,.22);border:1px solid rgba(227,178,79,.45);background:#050607}
.bonus-intro-card img,.bonus-intro-card video{display:block;width:100%;height:100%;object-fit:cover;user-select:none;-webkit-user-drag:none}
.bonus-intro-video{pointer-events:none;background:#050607}
/* Transparent real button positioned over the green START FREE SPINS button drawn into the artwork. */
.bonus-start-hotspot{position:absolute;left:31.2%;bottom:6.2%;width:37.8%;height:11.8%;border:0;border-radius:18px;background:rgba(255,255,255,.001);cursor:pointer;z-index:3}
.bonus-start-hotspot:hover{box-shadow:0 0 34px rgba(92,255,119,.42),inset 0 0 0 2px rgba(255,232,156,.34)}
.bonus-start-hotspot:focus-visible{outline:3px solid #fff3b3;outline-offset:3px}
body.bonus-open{overflow:hidden}
@media(max-width:760px){
  .bonus-intro{padding:6px}
  .bonus-intro-card{width:100%;border-radius:12px}
  .bonus-start-hotspot{border-radius:10px}
}

/* =========================================================
   V8.5 BONUS SCREEN — RESPONSIVE SIZE + LOCKED START HOTSPOT
   ========================================================= */
.bonus-intro{
  padding:12px !important;
}
.bonus-intro-card{
  width:min(1180px,92vw,calc(88vh * 1.5)) !important;
  aspect-ratio:3/2 !important;
  border-radius:18px !important;
}
.bonus-intro-card img{
  width:100% !important;
  height:100% !important;
  object-fit:contain !important;
}
/* Artwork coordinates from the actual 1536x1024 image:
   green button ≈ x 475–1056, y 772–871.
   Percent positioning keeps the real clickable area pinned
   to the painted green button on desktop and mobile. */
.bonus-start-hotspot{
  left:30.9% !important;
  top:75.4% !important;
  bottom:auto !important;
  width:37.9% !important;
  height:9.8% !important;
  margin:0 !important;
  padding:0 !important;
  border-radius:14px !important;
  touch-action:manipulation;
}
@media(max-width:760px){
  .bonus-intro{padding:6px !important;}
  .bonus-intro-card{
    width:min(96vw,calc(90vh * 1.5)) !important;
    border-radius:10px !important;
  }
  .bonus-start-hotspot{border-radius:8px !important;}
}


/* =========================================================
   V8.6 MULTI STICKY WILDS + BONUS RESULT SCREEN
   ========================================================= */
.bonus-result{position:fixed;inset:0;z-index:10000;display:flex;align-items:center;justify-content:center;padding:12px}
.bonus-result-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.90);backdrop-filter:blur(8px)}
.bonus-result-card{position:relative;z-index:1;width:min(1080px,92vw,calc(88vh * 1.5));aspect-ratio:3/2;overflow:hidden;border-radius:18px;border:1px solid rgba(227,178,79,.48);background:#050607;box-shadow:0 30px 100px rgba(0,0,0,.82),0 0 55px rgba(227,178,79,.25)}
.bonus-result-card>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center top;filter:saturate(.85) brightness(.62);user-select:none;-webkit-user-drag:none}
.bonus-result-shade{position:absolute;inset:0;background:linear-gradient(to bottom,rgba(0,0,0,.05) 0%,rgba(0,0,0,.20) 36%,rgba(2,4,7,.90) 62%,rgba(2,4,7,.98) 100%)}
.bonus-result-content{position:absolute;z-index:2;left:6%;right:6%;bottom:5.5%;text-align:center;color:#fff;display:flex;flex-direction:column;align-items:center}
.bonus-result-kicker{color:#efbd55;font-weight:950;letter-spacing:.16em;font-size:clamp(10px,1vw,14px)}
.bonus-result-content h2{margin:5px 0 0;font-size:clamp(28px,4vw,58px);line-height:1;color:#ffd66d;text-shadow:0 4px 20px rgba(0,0,0,.8)}
.bonus-result-content p{margin:6px 0 0;font-weight:900;letter-spacing:.12em;font-size:clamp(11px,1.3vw,18px)}
.bonus-result-content strong{display:block;margin-top:0;font-size:clamp(54px,8vw,112px);line-height:.96;color:#fff0a7;text-shadow:0 0 28px rgba(239,189,85,.35)}
.bonus-result-content small{margin-top:3px;color:#efbd55;font-weight:950;letter-spacing:.14em;font-size:clamp(12px,1.4vw,20px)}
#closeBonusResult{margin-top:13px;min-width:min(420px,72%);padding:14px 22px;border:1px solid #ffe29a;border-radius:13px;background:linear-gradient(#12b53f,#067b28);box-shadow:0 0 24px rgba(38,255,102,.30),inset 0 1px 0 rgba(255,255,255,.28);color:#fff7c9;font-weight:950;font-size:clamp(13px,1.4vw,19px);letter-spacing:.05em;cursor:pointer;text-shadow:0 2px 3px rgba(0,0,0,.55)}
#closeBonusResult:hover{filter:brightness(1.08);box-shadow:0 0 34px rgba(38,255,102,.45),inset 0 1px 0 rgba(255,255,255,.35)}
#closeBonusResult:focus-visible{outline:3px solid #fff3b3;outline-offset:3px}
@media(max-width:760px){
  .bonus-result{padding:6px}
  .bonus-result-card{width:min(96vw,calc(90vh * 1.5));border-radius:10px}
  .bonus-result-content{left:4%;right:4%;bottom:4%}
  #closeBonusResult{min-width:78%;padding:11px 15px;border-radius:9px}
}

/* =========================================================
   V8.12 IMAGE SYMBOLS
   Individual artwork assets replace emoji on reels/paytable.
   ========================================================= */
.symbol .image-icon{
  width:min(82%,96px);
  height:min(72%,96px);
  display:flex;
  align-items:center;
  justify-content:center;
  margin:0 auto 3px;
  filter:none;
}
.symbol .image-icon img{
  display:block;
  width:100%;
  height:100%;
  object-fit:contain;
  border-radius:12px;
  user-select:none;
  -webkit-user-drag:none;
  filter:drop-shadow(0 6px 12px rgba(0,0,0,.38));
}
.symbol strong{position:relative;z-index:2}
.symbol.coffee_wild .image-icon{width:min(86%,102px);height:min(76%,102px)}
.pay-icon-img{
  display:block;
  width:46px;
  height:46px;
  object-fit:contain;
  border-radius:9px;
  margin-bottom:4px;
  user-select:none;
  -webkit-user-drag:none;
}
@media(max-width:760px){
  .symbol .image-icon{width:min(82%,60px);height:min(70%,60px);margin-bottom:1px}
  .symbol .image-icon img{border-radius:8px}
  .symbol.coffee_wild .image-icon{width:min(86%,64px);height:min(74%,64px)}
  .pay-icon-img{width:38px;height:38px;border-radius:7px}
}


/* =========================================================
   V8.14 — Facker cabinet background + live progressive jackpot
   The 1536×1024 artwork is the positioning coordinate system.
   ========================================================= */
.slot-machine-wrap{
  padding:14px 14px 20px;
  background:linear-gradient(180deg,#10161f,#080c12);
  overflow:hidden;
}
.slot-stage{
  position:relative;
  width:100%;
  aspect-ratio:1619/971;
  background:url('/images/slot/facker-slot-background.png?v=20260911-815') center/100% 100% no-repeat;
  border-radius:16px;
  overflow:hidden;
  isolation:isolate;
}
.stage-reels{
  position:absolute !important;
  left:15.627%;
  top:28.733%;
  width:68.684%;
  height:50.052%;
  padding:0 !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  overflow:hidden !important;
}
.stage-reels .reels{
  width:100%;
  height:100%;
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:0 !important;
  padding:0 !important;
  background:transparent !important;
  border-radius:0 !important;
}
.stage-reels .reel{
  height:100% !important;
  min-height:0 !important;
  display:grid;
  grid-template-rows:repeat(3,1fr);
  gap:0 !important;
  border-radius:0 !important;
  overflow:hidden;
}
.stage-reels .reel > .symbol,
.stage-reels .reel-track .symbol{
  min-height:0 !important;
  height:auto !important;
  margin:0 !important;
  border:0 !important;
  border-radius:0 !important;
  background:radial-gradient(circle at 50% 45%,rgba(255,183,60,.08),transparent 58%) !important;
  box-shadow:none !important;
}
.stage-reels .reel > .symbol{
  height:33.333333% !important;
}
.stage-reels .symbol .image-icon{
  width:min(70%,112px) !important;
  height:min(70%,112px) !important;
  margin:0 auto 2px !important;
}
.stage-reels .symbol .image-icon img{
  width:100%;height:100%;object-fit:contain;
  border-radius:10px;
  box-shadow:0 7px 20px rgba(0,0,0,.35);
}
.stage-reels .symbol strong{
  font-size:clamp(6px,.65vw,10px);
  line-height:1;
  text-shadow:0 2px 5px #000,0 0 4px #000;
}
.stage-reels .reel-track.reel-track-spin{
  width:100% !important;
  height:100% !important;
  gap:0 !important;
}
.stage-reels .reel-track.reel-track-spin .symbol{
  flex:0 0 33.333333% !important;
  height:33.333333% !important;
  min-height:0 !important;
}
.jackpot-live{
  position:absolute;
  z-index:8;
  left:36.45%;
  top:19.75%;
  width:27.10%;
  height:6.20%;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  color:#ffd56a;
  text-align:center;
  pointer-events:none;
  text-shadow:0 0 9px rgba(255,176,45,.9),0 2px 3px #000;
}
.jackpot-live strong{
  display:block;
  font-variant-numeric:tabular-nums;
  font-size:clamp(13px,1.75vw,31px);
  line-height:.95;
  letter-spacing:.045em;
}
.jackpot-live small{
  display:block;
  margin-top:3px;
  font-size:clamp(4px,.48vw,8px);
  line-height:1;
  font-weight:900;
  letter-spacing:.1em;
  color:#f5c35e;
}
.stage-free-spin{
  position:absolute;
  z-index:10;
  right:5.5%;
  top:21%;
  font-size:clamp(6px,.7vw,11px);
  padding:.55em .9em;
}
.slot-stage .win-flash{
  z-index:20;
  font-size:clamp(24px,5vw,72px);
}
@media(max-width:760px){
  .slot-machine-wrap{padding:5px 5px 14px;border-radius:12px}
  .slot-stage{border-radius:8px}
  .stage-reels .symbol .image-icon{width:min(74%,54px)!important;height:min(74%,54px)!important}
  .stage-reels .symbol strong{display:none}
  .jackpot-live strong{font-size:clamp(10px,3.2vw,17px)}
  .jackpot-live small{display:none}
  .stage-free-spin{right:4%;top:22%;padding:.35em .55em}
}


/* =========================================================
   V8.15 — PIXEL-LOCKED CABINET ALIGNMENT
   Source artwork is 1619×971. Reel viewport measured from the
   actual gold grid, not from a 3:2 approximation.
   ========================================================= */
.stage-reels .symbol{
  position:relative !important;
  display:block !important;
  overflow:hidden !important;
}
.stage-reels .symbol .image-icon{
  position:absolute !important;
  left:50% !important;
  top:46% !important;
  transform:translate(-50%,-50%) !important;
  width:58% !important;
  height:58% !important;
  margin:0 !important;
}
.stage-reels .symbol .image-icon img{
  width:100% !important;
  height:100% !important;
  object-fit:contain !important;
  object-position:center !important;
}
.stage-reels .symbol strong{
  position:absolute !important;
  left:4% !important;
  right:4% !important;
  bottom:7.5% !important;
  margin:0 !important;
  text-align:center !important;
  line-height:1.05 !important;
  white-space:nowrap !important;
}
/* The five gold cells in the artwork are very slightly unequal.
   Keep equal reel math for smooth rolling, but use the exact measured
   outer viewport so every reel center lands on the painted cabinet. */
@media(max-width:760px){
  .stage-reels .symbol .image-icon{
    width:64% !important;
    height:64% !important;
    top:48% !important;
  }
  .stage-reels .symbol strong{display:none !important;}
}

/* =========================================================
   V8.16 — FACKER COIN WALLET + REWARD CELEBRATION
   ========================================================= */
.wallet-card{
  min-width:210px;
  display:flex!important;
  align-items:center;
  justify-content:flex-end;
  gap:13px;
  padding:12px 17px!important;
  overflow:hidden;
  position:relative;
}
.wallet-coin{
  width:64px;
  height:64px;
  object-fit:contain;
  flex:0 0 auto;
  filter:drop-shadow(0 0 13px rgba(242,184,62,.42));
  animation:walletCoinGlow 2.6s ease-in-out infinite alternate;
}
.wallet-copy{text-align:right;min-width:0}
.wallet-copy strong{font-size:31px!important;line-height:1.05}
@keyframes walletCoinGlow{to{transform:scale(1.045);filter:drop-shadow(0 0 22px rgba(255,197,68,.7))}}

.slot-stage .win-flash{
  inset:0!important;
  background:rgba(1,3,6,.52)!important;
  backdrop-filter:blur(4px)!important;
  padding:20px!important;
  text-shadow:none!important;
}
.reward-pop{
  width:min(500px,88%);
  padding:20px 22px 18px;
  border:1px solid rgba(248,190,63,.78);
  border-radius:22px;
  background:
    radial-gradient(circle at 50% 0%,rgba(255,194,55,.24),transparent 45%),
    linear-gradient(180deg,rgba(29,22,12,.97),rgba(7,9,13,.97));
  box-shadow:0 0 0 2px rgba(118,73,10,.42),0 24px 75px rgba(0,0,0,.72),0 0 38px rgba(231,165,39,.23);
  text-align:center;
  animation:rewardPopIn .34s cubic-bezier(.2,.85,.25,1.2);
}
.reward-pop .reward-kicker{display:block;color:#f5bc49;font-size:11px;font-weight:950;letter-spacing:.18em;margin-bottom:5px}
.reward-pop h3{margin:0;color:#fff;font-size:clamp(23px,3vw,38px);line-height:1.05;letter-spacing:-.025em}
.reward-pop .reward-amount{display:flex;align-items:center;justify-content:center;gap:9px;margin:11px 0 4px;color:#ffd364;font-size:clamp(32px,5vw,58px);font-weight:1000;line-height:1}
.reward-pop .reward-amount img{width:52px;height:52px;object-fit:contain;filter:drop-shadow(0 0 10px rgba(255,195,65,.55))}
.reward-pop .reward-sub{display:block;color:#d9c7a1;font-size:12px;font-weight:800;letter-spacing:.05em}
.reward-pop.coffee h3{color:#ffe19a}.reward-pop.jackpot{border-color:#ffcf4a;box-shadow:0 0 0 3px rgba(150,92,7,.45),0 20px 85px rgba(0,0,0,.8),0 0 65px rgba(255,183,37,.48)}
@keyframes rewardPopIn{from{opacity:0;transform:scale(.72) translateY(18px)}to{opacity:1;transform:scale(1) translateY(0)}}

.bonus-result-content .bonus-result-message{margin:2px 0 6px!important;color:#f6dca2!important;font-size:12px!important;font-weight:900!important;letter-spacing:.12em!important}
.bonus-result-amount{display:flex;align-items:center;justify-content:center;gap:10px;margin:6px 0 2px}
.bonus-result-amount img{width:64px;height:64px;object-fit:contain;filter:drop-shadow(0 0 15px rgba(255,192,53,.7))}
.bonus-result-amount strong{margin:0!important}

@media(max-width:760px){
  .wallet-card{min-width:0!important;justify-content:flex-start!important;padding:10px 12px!important}
  .wallet-coin{width:48px;height:48px}
  .wallet-copy{text-align:left}
  .wallet-copy strong{font-size:27px!important}
  .reward-pop{padding:15px 13px;border-radius:16px}
  .reward-pop .reward-amount img{width:40px;height:40px}
  .bonus-result-amount img{width:48px;height:48px}
}


/* =========================================================
   V8.17 — PREMIUM WIN CELEBRATION
   ========================================================= */
.slot-stage .win-flash{
  font-size:16px!important;
  line-height:1.2!important;
  padding:clamp(12px,2.3vw,28px)!important;
  background:radial-gradient(circle at 50% 45%,rgba(82,45,5,.30),rgba(1,3,6,.74) 58%,rgba(0,0,0,.84))!important;
  backdrop-filter:blur(5px) saturate(1.12)!important;
}
.reward-pop{
  position:relative;
  width:min(520px,90%);
  padding:28px 28px 22px;
  border:1px solid rgba(255,205,92,.9);
  border-radius:26px;
  overflow:hidden;
  background:
    linear-gradient(180deg,rgba(35,25,10,.97),rgba(9,10,14,.985));
  box-shadow:
    0 0 0 2px rgba(116,72,10,.52),
    0 0 0 6px rgba(0,0,0,.32),
    0 28px 90px rgba(0,0,0,.82),
    0 0 48px rgba(255,180,35,.28);
  text-align:center;
}
.reward-pop::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    radial-gradient(circle at 50% -15%,rgba(255,214,116,.30),transparent 40%),
    linear-gradient(110deg,transparent 35%,rgba(255,255,255,.07) 50%,transparent 65%);
}
.reward-pop::after{
  content:"";
  position:absolute;
  left:12%;right:12%;bottom:0;height:2px;
  background:linear-gradient(90deg,transparent,#f7bd43,transparent);
  box-shadow:0 0 18px rgba(247,189,67,.7);
}
.reward-crown{
  position:relative;
  z-index:1;
  width:46px;height:46px;
  margin:-4px auto 5px;
  display:grid;place-items:center;
  border:1px solid rgba(255,206,95,.7);
  border-radius:50%;
  color:#ffd56d;
  font-size:24px;
  background:radial-gradient(circle,#5d3a08,#16100a 72%);
  box-shadow:0 0 24px rgba(241,178,49,.28);
}
.reward-pop .reward-kicker{
  position:relative;z-index:1;
  color:#f6c458;
  font-size:10px!important;
  letter-spacing:.24em!important;
  text-transform:uppercase;
  margin-bottom:7px!important;
}
.reward-pop h3{
  position:relative;z-index:1;
  margin:0!important;
  font-size:clamp(22px,2.8vw,36px)!important;
  line-height:1.02!important;
  letter-spacing:.01em!important;
  color:#fff4d7!important;
  text-shadow:0 2px 0 rgba(0,0,0,.55),0 0 20px rgba(255,189,54,.20)!important;
}
.reward-pop .reward-amount{
  position:relative;z-index:1;
  margin:15px auto 11px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:12px!important;
}
.reward-pop .reward-amount img{
  width:58px!important;height:58px!important;
  filter:drop-shadow(0 0 14px rgba(255,198,59,.56))!important;
}
.reward-pop .reward-amount>div{
  display:flex;flex-direction:column;align-items:flex-start;line-height:.95;
}
.reward-pop .reward-amount b{
  font-size:clamp(38px,5.2vw,64px)!important;
  color:#ffd15a!important;
  letter-spacing:-.035em;
  text-shadow:0 2px 0 #6b4104,0 0 26px rgba(255,190,45,.28);
}
.reward-pop .reward-amount small{
  margin-top:7px;
  color:#d8b96c;
  font-size:9px;
  font-weight:950;
  letter-spacing:.20em;
}
.reward-lines{
  position:relative;z-index:1;
  display:flex;
  justify-content:center;
  gap:7px;
  flex-wrap:wrap;
  margin:9px 0 13px;
}
.reward-line-chip{
  min-width:72px;
  padding:7px 9px 6px;
  border:1px solid rgba(229,169,55,.42);
  border-radius:10px;
  background:linear-gradient(180deg,rgba(69,45,13,.65),rgba(20,15,9,.72));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04);
}
.reward-line-chip small{
  display:block;
  color:#cdb579;
  font-size:7px;
  font-weight:900;
  letter-spacing:.14em;
}
.reward-line-chip b{
  display:block;
  margin-top:2px;
  color:#ffe18a;
  font-size:14px;
}
.reward-pop .reward-sub{
  position:relative;z-index:1;
  color:#cfc3a8!important;
  font-size:11px!important;
  letter-spacing:.04em!important;
  line-height:1.35!important;
}
.reward-pop.jackpot{
  border-color:#ffe075!important;
  box-shadow:0 0 0 3px rgba(145,89,8,.58),0 28px 95px rgba(0,0,0,.85),0 0 75px rgba(255,186,35,.52)!important;
}
.reward-pop.jackpot h3{color:#ffe27f!important;}
.reward-pop.coffee .reward-crown{color:#fff0b5;}

@media(max-width:760px){
  .reward-pop{width:min(94%,430px);padding:20px 14px 17px;border-radius:20px}
  .reward-crown{width:38px;height:38px;font-size:20px}
  .reward-pop .reward-amount img{width:46px!important;height:46px!important}
  .reward-line-chip{min-width:62px;padding:6px 7px}
  .reward-line-chip b{font-size:13px}
}

/* =========================================================
   V8.18 — CLEAN FACKER WIN PANEL
   ========================================================= */
.slot-stage .win-flash{
  background:rgba(0,0,0,.56)!important;
  backdrop-filter:blur(6px) saturate(1.05)!important;
}
.reward-pop{
  width:min(460px,88%)!important;
  padding:20px 24px 18px!important;
  border:1px solid rgba(255,196,64,.72)!important;
  border-radius:18px!important;
  background:
    linear-gradient(180deg,rgba(16,17,19,.98),rgba(8,9,11,.99))!important;
  box-shadow:
    0 20px 60px rgba(0,0,0,.78),
    0 0 0 1px rgba(255,190,50,.14),
    inset 0 1px 0 rgba(255,255,255,.04)!important;
  overflow:visible!important;
}
.reward-pop::before,
.reward-pop::after,
.reward-crown,
.reward-pop h3,
.reward-pop .reward-amount{display:none!important}
.reward-topline{
  display:grid;
  grid-template-columns:1fr auto 1fr;
  align-items:center;
  gap:10px;
  margin-bottom:14px;
}
.reward-topline span{
  height:1px;
  background:linear-gradient(90deg,transparent,#d99a2b);
}
.reward-topline span:last-child{
  background:linear-gradient(90deg,#d99a2b,transparent);
}
.reward-topline b{
  color:#f4bd4d;
  font-size:10px;
  letter-spacing:.24em;
  font-weight:1000;
}
.reward-main{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:16px;
  margin:0 0 6px;
}
.reward-coin{
  width:72px;
  height:72px;
  object-fit:contain;
  filter:drop-shadow(0 0 14px rgba(255,188,43,.45));
}
.reward-number{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  line-height:.9;
}
.reward-number strong{
  font-size:clamp(44px,6vw,72px);
  font-weight:1000;
  letter-spacing:-.05em;
  color:#ffd45f;
  text-shadow:0 2px 0 #704000,0 0 22px rgba(255,184,35,.2);
}
.reward-number small{
  margin-top:8px;
  color:#b99d65;
  font-size:9px;
  font-weight:950;
  letter-spacing:.22em;
}
.reward-title{
  color:#fff7e8;
  font-size:18px;
  font-weight:1000;
  letter-spacing:.08em;
  text-transform:uppercase;
  margin:2px 0 4px;
}
.reward-line-summary{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:5px 10px;
  margin:2px auto 6px;
  border:1px solid rgba(233,169,47,.30);
  border-radius:999px;
  color:#d9c296;
  font-size:9px;
  font-weight:900;
  letter-spacing:.14em;
  background:rgba(255,185,48,.05);
}
.reward-lines{
  margin:4px 0 8px!important;
  gap:5px!important;
}
.reward-line-chip{
  min-width:auto!important;
  padding:4px 7px!important;
  border-radius:7px!important;
  background:rgba(255,185,48,.055)!important;
  border-color:rgba(229,169,55,.22)!important;
}
.reward-line-chip small{font-size:6px!important}
.reward-line-chip b{font-size:11px!important}
.reward-pop .reward-sub{
  margin-top:3px;
  color:#8f8778!important;
  font-size:10px!important;
  letter-spacing:.03em!important;
  font-weight:700!important;
}
.reward-pop.big,
.reward-pop.jackpot{
  border-color:#ffd45f!important;
  box-shadow:0 20px 65px rgba(0,0,0,.8),0 0 28px rgba(255,184,35,.24)!important;
}
@media(max-width:760px){
  .reward-pop{width:min(92%,390px)!important;padding:17px 14px 15px!important}
  .reward-coin{width:56px;height:56px}
  .reward-number strong{font-size:44px}
  .reward-title{font-size:15px}
}

/* V8.19 — phone polish: the amount owns the true visual center. */
@media(max-width:760px){
  .symbol.special::after{display:none!important;content:none!important}
  .slot-stage .win-flash:not(.hidden){
    display:grid!important;
    place-items:center!important;
    padding:8px!important;
  }
  .reward-pop{
    width:min(88%,340px)!important;
    margin:auto!important;
    padding:14px 12px 13px!important;
    text-align:center!important;
  }
  .reward-topline{margin-bottom:8px!important}
  .reward-topline b{font-size:8px!important;letter-spacing:.16em!important;white-space:nowrap}
  .reward-main{
    display:block!important;
    margin:0 auto 4px!important;
    text-align:center!important;
  }
  .reward-coin{display:none!important}
  .reward-number{align-items:center!important;text-align:center!important}
  .reward-number strong{
    width:100%;
    font-size:clamp(34px,10vw,48px)!important;
    line-height:1!important;
    letter-spacing:-.035em!important;
    text-align:center!important;
  }
  .reward-number small{margin-top:5px!important;font-size:7px!important;letter-spacing:.16em!important}
  .reward-title{font-size:12px!important;margin-top:5px!important}
  .reward-line-summary{margin-bottom:3px!important;padding:4px 8px!important;font-size:7px!important}
  .reward-lines{margin:3px 0 5px!important}
  .reward-pop .reward-sub{font-size:8px!important;line-height:1.2!important}
  .notice{
    width:100%;
    max-width:100%;
    padding:0 8px;
    font-size:11px;
    line-height:1.4;
    overflow-wrap:anywhere;
  }
}

/* V8.26 — Android-safe reels + compact non-blocking mobile win toast. */
.slot-stage .win-flash.hidden{display:none!important}
@media(max-width:760px){
  .slot-stage::before{mix-blend-mode:normal!important;filter:none!important}
  .slot-stage::after{filter:none!important}
  .stage-reels,
  .stage-reels .reels,
  .stage-reels .reel,
  .stage-reels .reel-track,
  .stage-reels .symbol{
    opacity:1!important;
    visibility:visible!important;
    mix-blend-mode:normal!important;
  }
  .stage-reels .symbol .image-icon{
    display:block!important;
    opacity:1!important;
    visibility:visible!important;
    filter:none!important;
  }
  .stage-reels .symbol .image-icon img{
    display:block!important;
    width:100%!important;
    height:100%!important;
    opacity:1!important;
    visibility:visible!important;
    filter:none!important;
    object-fit:contain!important;
  }
  .slot-stage .win-flash{
    background:transparent!important;
    backdrop-filter:none!important;
    -webkit-backdrop-filter:none!important;
    padding:0!important;
  }
  .slot-stage .reward-pop{
    width:min(54%,180px)!important;
    min-width:118px!important;
    padding:9px 10px 8px!important;
    border-radius:12px!important;
    background:rgba(7,8,10,.94)!important;
    box-shadow:0 8px 24px rgba(0,0,0,.72),0 0 18px rgba(255,184,35,.18)!important;
  }
  .slot-stage .reward-topline{margin:0 0 4px!important;gap:5px!important}
  .slot-stage .reward-topline b{font-size:7px!important;letter-spacing:.12em!important}
  .slot-stage .reward-main{margin:0!important}
  .slot-stage .reward-number strong{font-size:clamp(28px,8vw,38px)!important;line-height:.9!important}
  .slot-stage .reward-number small{font-size:6px!important;margin-top:4px!important;letter-spacing:.11em!important}
  .slot-stage .reward-title,
  .slot-stage .reward-line-summary,
  .slot-stage .reward-lines,
  .slot-stage .reward-sub{display:none!important}
}
