*{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent}
html,body{height:100%;overflow:hidden;background:#0a0705;font-family:'Trebuchet MS','Segoe UI',system-ui,sans-serif;color:#fff3d6;user-select:none}
#viewport{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;overflow:hidden;background:#0a0705}
#stage{position:relative;width:1280px;height:720px;transform-origin:center center;flex:0 0 auto}

#scene{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:brightness(1.16) saturate(1.12)}
#vignette{position:absolute;inset:0;background:radial-gradient(120% 95% at 50% 38%,transparent 45%,rgba(30,10,0,.34) 100%);pointer-events:none}

/* ---------- заголовок ---------- */
#title{position:absolute;left:50%;top:14px;transform:translateX(-50%);z-index:8;
  font-size:34px;line-height:1.15;font-weight:900;letter-spacing:3px;color:#ffe08a;white-space:nowrap;
  text-shadow:0 3px 0 #7a3b05,0 0 24px rgba(255,170,40,.7),0 8px 22px rgba(0,0,0,.55);
  -webkit-text-stroke:1.5px #6b3200}

/* ---------- верхняя панель ---------- */
#topbar{position:absolute;left:0;right:0;top:12px;display:flex;justify-content:space-between;align-items:flex-start;
  padding:0 20px;z-index:9;pointer-events:none}
#jp,#coins{display:flex;align-items:center;gap:10px;padding:6px 16px;border-radius:14px;
  background:linear-gradient(#4a2a12,#2a1608);border:2px solid #c08a34;
  box-shadow:0 4px 0 #180c04,0 8px 20px rgba(0,0,0,.45),inset 0 2px 0 rgba(255,210,120,.35)}
#jp{min-width:300px}
#jp span{font-size:11px;letter-spacing:2px;color:#e6bd7a;white-space:nowrap}
#jp b{font-family:'Courier New',monospace;font-size:26px;color:#ffcf7a;letter-spacing:1px;
  font-variant-numeric:tabular-nums;margin-left:auto;text-align:right;min-width:150px}
#coins{width:250px;min-width:250px;flex:0 0 250px;justify-content:flex-end}
#coins b{flex:1;min-width:0;overflow:hidden;white-space:nowrap}
#coins b{font-size:30px;color:#fff0c0;font-variant-numeric:tabular-nums;text-align:right;
  min-width:150px;line-height:1.1}
.coin{display:inline-block;width:22px;height:22px;border-radius:50%;flex:0 0 auto;
  background:radial-gradient(circle at 35% 30%,#fff3b0,#ffc233 55%,#b07a10);
  box-shadow:inset 0 -2px 4px rgba(0,0,0,.35),0 0 10px rgba(255,190,60,.6)}
.coin.big{width:56px;height:56px}

/* ---------- автомат ---------- */
#machine{position:absolute;left:140px;top:62px;width:1000px;height:560px;z-index:4}

/* подложка под барабанами: закрывает щель между окном рамки и полем барабанов,
   чтобы сквозь слот не просвечивал фон */
#reelback{position:absolute;left:140px;top:126px;width:716px;height:310px;z-index:4;
  border-radius:12px;pointer-events:none;
  background:radial-gradient(120% 82% at 50% 45%,#2c4d2e,#132116 62%,#0a120c);
  box-shadow:inset 0 0 40px rgba(0,0,0,.9)}

#reels{position:absolute;left:146px;top:138px;width:700px;height:294px;z-index:5;
  display:flex;gap:0;padding:0;border-radius:10px;overflow:hidden;
  background:radial-gradient(120% 82% at 50% 45%,#2c4d2e,#132116 62%,#0a120c);
  box-shadow:inset 0 0 40px rgba(0,0,0,.9)}
/* фон один на все барабаны — между ними больше нет щелей с просветом */
.reel{position:relative;flex:1;overflow:hidden;background:transparent;
  box-shadow:inset 0 14px 16px -10px rgba(0,0,0,.95),inset 0 -14px 16px -10px rgba(0,0,0,.95),
             inset -1px 0 0 rgba(0,0,0,.5),inset -2px 0 0 rgba(255,190,110,.05)}
.reel:last-child{box-shadow:inset 0 14px 16px -10px rgba(0,0,0,.95),inset 0 -14px 16px -10px rgba(0,0,0,.95)}
.reel .strip{position:absolute;left:0;top:0;width:100%;will-change:transform}
.cell{position:relative;height:98px;display:flex;align-items:center;justify-content:center}
.cell img{width:95px;height:95px;object-fit:contain;filter:brightness(1.14) saturate(1.12)
  drop-shadow(0 3px 6px rgba(0,0,0,.55)) drop-shadow(0 0 8px rgba(255,170,60,.22))}
.reel .shine{position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(180deg,rgba(255,255,255,.10),transparent 20%,transparent 80%,rgba(0,0,0,.38))}
#lines{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:7}
#frame{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:6;
  filter:brightness(1.2) saturate(1.08) drop-shadow(0 18px 34px rgba(0,0,0,.55))}

/* ---------- табло выигрыша ---------- */
#winbox{position:absolute;left:50%;transform:translateX(-50%);top:520px;z-index:8;
  display:flex;align-items:center;justify-content:center;gap:12px;width:360px;height:62px;
  padding:0 18px;border-radius:14px;
  background:linear-gradient(180deg,rgba(58,32,12,.96),rgba(26,14,6,.96));
  border:2px solid #c08a34;
  box-shadow:0 4px 0 #180c04,0 0 24px rgba(255,170,50,.28),inset 0 2px 0 rgba(255,210,120,.3)}
#winbox span{font-size:13px;letter-spacing:2px;color:#e6bd7a;white-space:nowrap}
#winbox b::before{content:'';display:inline-block;width:24px;height:24px;margin-right:7px;vertical-align:-4px;background:url(assets/fx/coin.webp) center/contain no-repeat}
#winbox b{font-size:30px;color:#8ef07a;font-variant-numeric:tabular-nums;text-align:right;
  min-width:170px;line-height:1.1;text-shadow:0 0 14px rgba(120,240,110,.45)}
#winbox.won{border-color:#ffd479;box-shadow:0 4px 0 #180c04,0 0 34px rgba(255,200,80,.75),inset 0 2px 0 rgba(255,210,120,.4)}
#winbox.won b{color:#ffe08a;text-shadow:0 0 18px rgba(255,200,80,.8)}

/* ---------- низ ---------- */
#bottom{position:absolute;left:0;right:0;bottom:4px;height:124px;z-index:10}
#betbox{position:absolute;left:24px;bottom:0;display:flex;align-items:center;gap:8px}
.rbtn{width:56px;height:56px;border-radius:50%;font-size:26px;font-weight:800;color:#ffe9c2;cursor:pointer;
  border:2px solid #c08a34;background:linear-gradient(#6b441c,#3a2110);box-shadow:0 4px 0 #1a0e05}
.rbtn:active{transform:translateY(2px);box-shadow:0 2px 0 #1a0e05}
.betval{width:150px;text-align:center;padding:4px 8px;border-radius:10px;background:rgba(26,14,6,.9);
  border:1px solid #8a6224}
.betval span{display:block;font-size:11px;letter-spacing:2px;color:#c8a877}
.betval b{display:block;font-size:23px;color:#ffe0a8;font-variant-numeric:tabular-nums;line-height:1.15}

#spin{position:absolute;left:50%;transform:translateX(-50%);bottom:0;width:130px;height:130px;border-radius:50%;
  font-family:inherit;font-size:20px;font-weight:900;letter-spacing:.5px;color:#5a2600;cursor:pointer;
  border:3px solid #fff0b0;
  background:
    radial-gradient(circle at 38% 26%,rgba(255,255,255,.95),rgba(255,255,255,0) 42%),
    radial-gradient(circle at 50% 55%,#ffd45c,#f5a712 62%,#c47a06);
  box-shadow:0 7px 0 #7a3f04,0 0 34px rgba(255,190,60,.75),inset 0 -6px 10px rgba(150,80,0,.45),inset 0 4px 8px rgba(255,255,255,.55);
  animation:pulse 2.4s ease-in-out infinite}
@keyframes pulse{0%,100%{box-shadow:0 7px 0 #7a3f04,0 0 26px rgba(255,190,60,.55),inset 0 -6px 10px rgba(150,80,0,.45),inset 0 4px 8px rgba(255,255,255,.55)}
50%{box-shadow:0 7px 0 #7a3f04,0 0 46px rgba(255,205,90,.95),inset 0 -6px 10px rgba(150,80,0,.45),inset 0 4px 8px rgba(255,255,255,.55)}}
#spin span{display:block;line-height:1.05}
#spin:active{transform:translateX(-50%) translateY(4px);box-shadow:0 2px 0 #8a4a05}
#spin:disabled{filter:grayscale(.4) brightness(.8);cursor:default}

#side{position:absolute;right:24px;bottom:0;display:flex;gap:8px;align-items:flex-end}
.btn{font-family:inherit;font-size:18px;font-weight:800;letter-spacing:.5px;color:#ffe9c2;cursor:pointer;
  padding:13px 22px;border-radius:10px;border:2px solid #c08a34;
  background:linear-gradient(#6b441c,#3a2110);box-shadow:0 4px 0 #1a0e05}
.btn:active{transform:translateY(2px);box-shadow:0 2px 0 #1a0e05}
.btn.tiny{padding:15px 18px;font-size:17px}
.btn.on{background:linear-gradient(#a8321e,#6a130a);border-color:#ffd479}

/* ---------- модалки ---------- */
#modal,#bonus-modal{position:absolute;inset:0;background:rgba(0,0,0,.75);display:flex;align-items:center;justify-content:center;z-index:30}
#modal.hidden,#bonus-modal.hidden{display:none}
.modal-card{width:min(680px,86%);max-height:84%;overflow:auto;background:linear-gradient(#2a1a10,#1a0f08);
  border:2px solid #c08a34;border-radius:18px;padding:22px}
.modal-card.small{width:min(460px,84%);display:flex;flex-direction:column;gap:10px}
.modal-card h3{font-size:26px;color:#ffd479;margin-bottom:10px}
#paytable-body{display:grid;grid-template-columns:repeat(2,1fr);gap:8px 18px;font-size:16px}
#paytable-body .row{display:flex;align-items:center;gap:8px;border-bottom:1px solid #3a2718;padding:5px 0}
#paytable-body img{width:30px;height:30px;object-fit:contain}
#paytable-body .pays{margin-left:auto;color:#ffe0a8;font-variant-numeric:tabular-nums;font-size:15px}
.note{margin-top:10px;font-size:13px;color:#a08a6a}
#modal-close{margin-top:12px}
.chip{font-family:inherit;font-size:19px;font-weight:700;color:#ffdfae;cursor:pointer;text-align:center;
  padding:11px 12px;border-radius:10px;border:1px solid #8a6224;background:rgba(40,22,10,.95)}
.chip.wide{width:100%}

#toast{position:absolute;left:50%;top:40%;transform:translate(-50%,-50%);z-index:40;padding:14px 22px;border-radius:12px;
  background:rgba(30,16,6,.96);border:2px solid #ffb35c;font-size:16px;color:#ffe9c2;box-shadow:0 0 36px rgba(255,160,60,.4);text-align:center}
#toast.hidden{display:none}

/* ---------- БОЛЬШОЙ ВЫИГРЫШ ---------- */
#bigwin{position:absolute;inset:0;z-index:35;display:flex;flex-direction:column;align-items:center;justify-content:center;
  overflow:hidden;cursor:pointer;background-color:#1a0602;
  background-image:
    radial-gradient(circle at 50% 46%,rgba(255,196,70,.34),rgba(120,26,10,.92) 42%,rgba(24,6,2,1) 78%)}
#bigwin.hidden{display:none}
#bigwin .rays{position:absolute;inset:-40%;pointer-events:none;
  background:repeating-conic-gradient(from 0deg,rgba(255,220,140,.22) 0deg 5deg,transparent 5deg 14deg);
  -webkit-mask-image:radial-gradient(circle at 50% 50%,#000 22%,transparent 68%);
  mask-image:radial-gradient(circle at 50% 50%,#000 22%,transparent 68%);
  animation:spin 22s linear infinite}
#bigwin .glow{position:absolute;width:900px;height:900px;border-radius:50%;pointer-events:none;
  background:radial-gradient(circle,rgba(255,210,110,.35),transparent 62%);animation:breathe 2.6s ease-in-out infinite}
@keyframes breathe{0%,100%{transform:scale(.9);opacity:.55}50%{transform:scale(1.08);opacity:.95}}
@keyframes spin{to{transform:rotate(360deg)}}

.bw-ribbon{position:relative;z-index:3;font-size:15px;font-weight:900;letter-spacing:6px;color:#3a1a00;
  padding:7px 26px;border-radius:999px;background:linear-gradient(#ffe9a8,#f0b53c);
  box-shadow:0 4px 0 #8a5a10,0 0 26px rgba(255,200,90,.7);animation:popIn .45s cubic-bezier(.2,1.6,.4,1) both}
.bw-title{position:relative;z-index:3;margin-top:26px;font-size:52px;font-weight:900;letter-spacing:4px;text-align:center;max-width:94%;
  color:#fff3c4;-webkit-text-stroke:3px #7a3b05;
  text-shadow:0 6px 0 #8a3f00,0 0 46px rgba(255,200,80,.95),0 0 90px rgba(255,140,30,.6);
  animation:popIn .55s cubic-bezier(.2,1.6,.4,1) both}
@keyframes popIn{from{transform:scale(.55) rotate(-4deg);opacity:0}to{transform:scale(1) rotate(0);opacity:1}}

.bw-sum{position:relative;z-index:3;display:flex;align-items:center;gap:18px;margin-top:16px;
  animation:popIn .6s .12s cubic-bezier(.2,1.6,.4,1) both}
.bw-sum::before,.bw-sum::after{content:'';position:absolute;top:50%;width:58px;height:58px;margin-top:-29px;
  background:url(assets/fx/sparkle.webp) center/contain no-repeat;pointer-events:none;opacity:.95}
.bw-sum::before{left:-46px}
.bw-sum::after{right:-46px}
.bw-sum b{font-size:88px;line-height:1;color:#ffe08a;-webkit-text-stroke:3px #7a3b05;
  text-shadow:0 0 34px rgba(255,200,80,.9),0 8px 0 #8a3f00;font-variant-numeric:tabular-nums}
.bw-sub{position:relative;z-index:3;margin-top:12px;font-size:22px;font-weight:800;letter-spacing:3px;color:#3a1a00;
  padding:6px 22px;border-radius:999px;background:linear-gradient(#ffe9a8,#f0b53c);
  box-shadow:0 4px 0 #8a5a10;animation:popIn .5s .22s cubic-bezier(.2,1.6,.4,1) both}
.bw-hint{position:absolute;bottom:30px;z-index:3;font-size:16px;font-weight:700;color:#ffe6b8;opacity:.9;
  animation:blink 1.8s ease-in-out infinite}
@keyframes blink{0%,100%{opacity:.45}50%{opacity:.95}}

/* конфетти */
.confetti{position:absolute;top:-24px;width:10px;height:16px;border-radius:2px;z-index:2;
  animation:confFall linear forwards}
@keyframes confFall{
  0%{transform:translateY(-30px) rotate(0deg);opacity:1}
  100%{transform:translateY(760px) rotate(720deg);opacity:.9}}
/* падающие монеты */
.fcoin{position:absolute;top:-40px;width:26px;height:26px;border-radius:50%;z-index:2;
  background:radial-gradient(circle at 35% 30%,#fff3b0,#ffc233 55%,#b07a10);
  box-shadow:0 0 12px rgba(255,190,60,.8);animation:fall linear forwards}
@keyframes fall{to{transform:translateY(800px) rotate(420deg);opacity:0}}

/* уровни */
#bigwin.t2 .bw-title{color:#ffe0b0;text-shadow:0 6px 0 #a03a00,0 0 50px rgba(255,150,40,1),0 0 100px rgba(255,90,20,.7)}
#bigwin.t3 .bw-title{color:#ffe6ff;text-shadow:0 6px 0 #7a1a6a,0 0 50px rgba(255,120,240,.95),0 0 110px rgba(180,60,255,.7)}
#bigwin.t3{background-color:#120414;background-image:radial-gradient(circle at 50% 46%,rgba(255,150,240,.30),rgba(90,16,80,.93) 44%,rgba(18,4,20,1) 80%)}
#bigwin.t4 .bw-title{color:#fff;text-shadow:0 6px 0 #7a3b05,0 0 60px rgba(255,220,120,1),0 0 120px rgba(255,120,40,.9)}
#bigwin.t4{background-color:#1a0602;background-image:radial-gradient(circle at 50% 46%,rgba(255,230,150,.42),rgba(150,40,6,.94) 44%,rgba(26,6,2,1) 80%)}

/* ---------- новые элементы ---------- */
#right-hud{display:flex;align-items:center;gap:10px;pointer-events:auto}
#daily-btn{position:relative;width:52px;height:52px;border-radius:50%;cursor:pointer;font-size:24px;
  border:2px solid #ffd479;background:radial-gradient(circle at 35% 30%,#ffe9a8,#e09a18 70%,#a25c06);
  box-shadow:0 4px 0 #6d3d0c,0 0 18px rgba(255,190,60,.6)}
#daily-btn:active{transform:translateY(2px)}
#daily-dot{display:none;position:absolute;right:-2px;top:-2px;width:14px;height:14px;border-radius:50%;
  background:#ff3b2f;border:2px solid #fff;box-shadow:0 0 8px #ff3b2f}

#fsbar{position:absolute;left:50%;top:96px;transform:translateX(-50%);z-index:12;display:flex;align-items:center;gap:10px;
  padding:10px 26px;border-radius:14px;background:linear-gradient(#8f1f14,#4d0f07);border:2px solid #ffd479;
  box-shadow:0 0 30px rgba(255,120,40,.75);color:#ffe9c2;font-weight:900;letter-spacing:2px;font-size:18px}
#fsbar.hidden{display:none}
#fsbar b{font-size:24px;color:#fff0b8}
#fsbar i{font-style:normal;font-size:14px;color:#ffcf7a}

/* ---------- символы: вайлд, скаттер, липкие ---------- */
.cell.wild{background:url(assets/fx/sparkle.webp) center/104% no-repeat}
.cell.wild::before{content:'';position:absolute;inset:6px;border-radius:12px;pointer-events:none;
  background:conic-gradient(from 0deg,rgba(255,220,120,.55),rgba(255,140,40,.15),rgba(255,220,120,.55));
  filter:blur(6px);animation:wildSpin 3.2s linear infinite;opacity:.85}
@keyframes wildSpin{to{transform:rotate(360deg)}}
.cell.wild img{filter:drop-shadow(0 0 14px rgba(255,200,80,.95)) drop-shadow(0 0 26px rgba(255,140,30,.6));
  animation:wildPulse 1.6s ease-in-out infinite}
@keyframes wildPulse{0%,100%{transform:scale(1)}50%{transform:scale(1.07)}}
.cell.wild::after{content:'WILD';position:absolute;bottom:3px;left:50%;transform:translateX(-50%);
  font-size:9px;font-weight:900;letter-spacing:1px;color:#3a1a00;background:linear-gradient(#ffe9a8,#f0b53c);
  padding:1px 7px;border-radius:999px;box-shadow:0 1px 3px rgba(0,0,0,.5);z-index:2}
.cell.scatter{background:url(assets/fx/sparkle.webp) center/100% no-repeat}
.cell.scatter::before{content:'';position:absolute;inset:8px;border-radius:12px;pointer-events:none;
  background:radial-gradient(circle,rgba(120,220,255,.35),transparent 70%);animation:scatterPulse 1.8s ease-in-out infinite}
@keyframes scatterPulse{0%,100%{opacity:.5;transform:scale(.95)}50%{opacity:1;transform:scale(1.05)}}
.cell.scatter img{filter:drop-shadow(0 0 14px rgba(120,220,255,.9))}
.cell.scatter::after{content:'БОНУС';position:absolute;top:3px;left:50%;transform:translateX(-50%);
  font-size:9px;font-weight:900;letter-spacing:1px;color:#04222e;background:linear-gradient(#cdf3ff,#6fd0f5);
  padding:1px 7px;border-radius:999px;box-shadow:0 1px 3px rgba(0,0,0,.5);z-index:2}
.cell.sticky{box-shadow:inset 0 0 0 2px #ffd479,0 0 18px rgba(255,200,80,.75);border-radius:10px}
.cell.hit img{animation:hitPop .55s ease-out}
@keyframes hitPop{0%{transform:scale(1)}35%{transform:scale(1.18)}100%{transform:scale(1)}}
.cell.hit::after{content:'';position:absolute;inset:4px;border-radius:12px;pointer-events:none;
  box-shadow:0 0 0 2px rgba(255,225,140,.95),0 0 22px rgba(255,200,80,.85);animation:hitRing .7s ease-out forwards}
@keyframes hitRing{0%{opacity:0;transform:scale(.8)}30%{opacity:1}100%{opacity:0;transform:scale(1.12)}}

/* магазин */
#shop{position:absolute;inset:0;background:rgba(0,0,0,.78);display:flex;align-items:center;justify-content:center;z-index:32}
#shop.hidden{display:none}
#shop-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:12px 0}
.shop-item{position:relative;display:flex;flex-direction:column;gap:4px;align-items:flex-start;text-align:left;
  padding:14px 16px;border-radius:14px;cursor:pointer;font-family:inherit;color:#ffe9c2;
  border:2px solid #c08a34;background:linear-gradient(#4a2a12,#2a1608);box-shadow:0 4px 0 #180c04}
.shop-item:active{transform:translateY(2px);box-shadow:0 2px 0 #180c04}
.shop-item .si-title{font-size:22px;font-weight:800}
.shop-item .si-sub{font-size:14px;color:#c8a877}
.shop-item .si-tag{position:absolute;right:10px;top:10px;font-size:10px;letter-spacing:1px;color:#0a0705;
  background:#8ef07a;border-radius:8px;padding:2px 8px;font-weight:800}
.shop-item.soon{opacity:.5;cursor:default}
.shop-item.soon .si-tag{background:#c8a877}

/* ежедневный бонус */
#daily{position:absolute;inset:0;background:rgba(0,0,0,.78);display:flex;align-items:center;justify-content:center;z-index:33}
#daily.hidden{display:none}
#daily-strip{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px;margin:10px 0}
.day{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:8px 2px;
  border-radius:10px;border:1px solid #6b4a18;background:rgba(40,22,10,.9);min-width:0;overflow:hidden}
.day b{font-size:11px;color:#ffe0a8;white-space:nowrap;font-variant-numeric:tabular-nums;letter-spacing:-.2px}
.day span{font-size:9px;color:#a08a6a;white-space:nowrap}
.day.today{border-color:#ffd479;box-shadow:0 0 16px rgba(255,200,80,.6)}
.day.done{opacity:.45}

/* нет жетонов */
#broke{position:absolute;inset:0;background:rgba(0,0,0,.78);display:flex;align-items:center;justify-content:center;z-index:34}
#broke.hidden{display:none}

/* старт фриспинов */
#fs-start{position:absolute;inset:0;z-index:36;display:flex;flex-direction:column;align-items:center;justify-content:center;
  overflow:hidden;cursor:pointer;
  background:radial-gradient(circle at 50% 45%,rgba(150,56,26,.97),rgba(16,7,3,.99) 68%)}
#fs-start.hidden{display:none}
#fs-start .rays{position:absolute;inset:-40%;pointer-events:none;
  background:repeating-conic-gradient(from 0deg,rgba(255,215,130,.13) 0deg 5deg,transparent 5deg 14deg);
  -webkit-mask-image:radial-gradient(circle at 50% 50%,#000 22%,transparent 68%);
  mask-image:radial-gradient(circle at 50% 50%,#000 22%,transparent 68%);
  animation:spin 20s linear infinite}
.fs-title{position:relative;z-index:2;font-size:76px;font-weight:900;letter-spacing:8px;color:#ffe08a;-webkit-text-stroke:3px #7a3b05;
  text-shadow:0 6px 0 #8a3f00,0 0 40px rgba(255,200,80,.9);animation:popIn .5s cubic-bezier(.2,1.6,.4,1) both}
.fs-count{position:relative;z-index:2;font-size:34px;color:#fff0c0;margin-top:14px;text-shadow:0 3px 0 #6b3200}
.fs-count b{font-size:64px;color:#ffd479;text-shadow:0 0 30px rgba(255,200,80,.9)}
.fs-sub{position:relative;z-index:2;margin-top:12px;font-size:20px;font-weight:800;letter-spacing:2px;color:#3a1a00;padding:6px 20px;border-radius:999px;background:linear-gradient(#ffe9a8,#f0b53c);box-shadow:0 4px 0 #8a5a10}

/* кнопка недоступна */
.btn.off{opacity:.5;cursor:default;filter:grayscale(.5)}

/* поверни телефон */
#rotate{position:absolute;inset:0;z-index:50;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:22px;
  background:rgba(8,5,3,.96)}
#rotate.hidden{display:none}
.rot-phone{width:86px;height:150px;border:5px solid #ffd479;border-radius:16px;
  box-shadow:0 0 30px rgba(255,190,60,.5);animation:rot 2.2s ease-in-out infinite}
@keyframes rot{0%,20%{transform:rotate(0)}50%,80%{transform:rotate(90deg)}100%{transform:rotate(0)}}
.rot-text{font-size:26px;font-weight:800;color:#ffe9c2;letter-spacing:1px;text-align:center;max-width:70%}

/* ===== Торпедка: покупка фриспинов ===== */
#torpedo{position:absolute;inset:0;background:rgba(0,0,0,.78);display:flex;align-items:center;justify-content:center;z-index:33}
#torpedo.hidden{display:none}
#torpedo-grid{display:grid;grid-template-columns:1fr;gap:10px;margin:12px 0}
#torpedo .shop-item{width:100%}
#torpedo .si-price{position:absolute;right:12px;bottom:10px;font-size:20px;font-weight:900;color:#ffd479}
#torpedo .si-price::after{content:" жет.";font-size:12px;font-weight:700;color:#c8a877}
#torpedo .si-tag{background:#ffd479}

#side .btn{padding:12px 12px;font-size:15px;letter-spacing:.3px}
