:root{--pink:#ff65dd;--hot:#ff38c6;--purple:#8c37ff;--blue:#43b8ff;--gold:#ffd872;--ink:#07020b;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#fff}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{height:100%;margin:0;background:#000;overflow:hidden}button{font:inherit;color:inherit;border:0;background:none;cursor:pointer}.phone{position:relative;min-height:100dvh;max-width:430px;margin:0 auto;background:#000;overflow:hidden}.statusbar{height:37px;padding:14px 23px 0;display:flex;justify-content:space-between;align-items:flex-start;font-size:14px;font-weight:900;color:#fff}.status-icons{display:flex;gap:7px;align-items:center}.status-icons b{font-size:11px;background:#fff;color:#000;border-radius:5px;padding:1px 4px}.bars{width:19px;height:14px;display:inline-block;background:linear-gradient(90deg,#fff 0 4px,transparent 4px 6px,#fff 6px 10px,transparent 10px 12px,#fff 12px 16px,transparent 16px);border-radius:2px;clip-path:polygon(0 60%,20% 60%,20% 100%,0 100%,28% 40%,48% 40%,48% 100%,28% 100%,56% 20%,76% 20%,76% 100%,56% 100%,84% 0,100% 0,100% 100%,84% 100%)}.wifi{font-size:24px;line-height:12px;transform:rotate(-36deg)}.miniapp-sheet{position:absolute;left:0;right:0;top:37px;bottom:0;border-radius:10px 10px 0 0;background:#ececf1;overflow:hidden}.grabber{position:absolute;left:16px;right:16px;top:0;height:16px;border-radius:10px 10px 0 0;background:#b6b6b7}.mini-header{height:56px;margin-top:10px;background:#f7f7fb;color:#111;display:grid;grid-template-columns:90px 1fr 62px;align-items:center;padding:0 16px;border-radius:10px 10px 0 0}.mini-header .close{font-size:20px;color:#4d82db;text-align:left}.mini-header h1{margin:2px 0 0;font-size:18px;line-height:1.22;text-align:center;font-weight:900;letter-spacing:.3px}.mini-header p{margin:6px 0 0;text-align:center;color:#7c7c84;font-size:15px;font-weight:700}.more{justify-self:end;width:27px;height:27px;border-radius:50%;border:2px solid #4d82db;color:#4d82db;font-size:16px;line-height:10px;font-weight:900;letter-spacing:-2px}.game{position:absolute;inset:66px 0 0;overflow:hidden;background:#090210}.stage-bg{position:absolute;inset:0;background:radial-gradient(ellipse at 50% 30%,rgba(236,64,255,.42),transparent 34%),radial-gradient(ellipse at 50% 58%,rgba(188,40,255,.32),transparent 28%),linear-gradient(108deg,transparent 0 10%,rgba(180,64,255,.42) 11%,transparent 15% 28%,rgba(176,67,255,.38) 30%,transparent 36% 64%,rgba(176,67,255,.38) 70%,transparent 76% 85%,rgba(180,64,255,.42) 89%,transparent 92%),repeating-radial-gradient(circle at 50% 15%,rgba(255,154,242,.7) 0 2px,transparent 3px 38px),linear-gradient(180deg,#05020f 0%,#22083b 38%,#160522 78%,#07020c 100%);filter:saturate(1.22) contrast(1.08);transform:scale(1.02);transform-origin:center top}.stage-vignette{position:absolute;inset:0;background:radial-gradient(circle at 50% 40%,rgba(255,50,232,.18),transparent 37%),linear-gradient(180deg,rgba(0,0,0,0) 0,rgba(4,0,9,.55) 90%)}.game>*:not(.stage-bg):not(.stage-vignette):not(.confetti){position:relative;z-index:2}.hud{height:47px;background:rgba(10,5,32,.88);border:1px solid rgba(119,57,174,.75);border-left:0;border-right:0;border-radius:0 0 23px 23px;box-shadow:0 3px 8px rgba(0,0,0,.35),inset 0 -1px 0 rgba(255,89,233,.18);display:grid;grid-template-columns:1.42fr 1.18fr 1.07fr 44px;gap:8px;align-items:center;padding:6px 8px 6px 15px}.profile{display:flex;align-items:center;gap:10px;min-width:0}.avatar-k{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;font-size:34px;font-weight:900;color:#ffd0ff;text-shadow:0 0 10px var(--pink);border:2px solid #d444ff;background:radial-gradient(circle,#56186e,#10031a 65%);box-shadow:0 0 15px rgba(248,66,255,.65),inset 0 0 16px #000}.profile-copy{min-width:0;flex:1}.name-row{display:flex;align-items:center;gap:8px;font-size:15px}.name-row span{font-size:12px;font-weight:900;padding:3px 8px;border-radius:12px;background:linear-gradient(#7ec1ff,#3852bc);box-shadow:0 0 8px #6eb3ff}.xp{height:5px;margin-top:8px;border-radius:10px;background:#171229;border:1px solid #71608b}.xp i{display:block;width:55%;height:100%;border-radius:10px;background:linear-gradient(90deg,#ff76e6,#c856ff)}.balance{height:34px;border-radius:18px;display:flex;align-items:center;gap:7px;padding:0 4px 0 8px;background:rgba(16,10,36,.9);border:1px solid #754eaa;box-shadow:inset 0 0 12px rgba(255,88,221,.12),0 0 10px rgba(122,53,255,.2)}.balance i{font-style:normal;font-size:20px}.balance strong{font-size:17px;letter-spacing:.5px;white-space:nowrap}.balance button{margin-left:auto;width:26px;height:26px;border-radius:50%;background:#261d38;border:2px solid #a48ac8;font-size:22px;line-height:19px}.hamb{width:37px;height:37px;border-radius:50%;background:#1b1430;border:1px solid #654898;display:grid;place-content:center;gap:4px}.hamb span{width:21px;height:3px;border-radius:4px;background:#eee}.logo{text-align:center;margin-top:0;height:96px;padding-top:6px;text-shadow:0 0 10px #ff5be9,0 0 22px #ff5be9}.starline{font-size:47px;font-weight:900;line-height:.95;letter-spacing:2px;color:#ffc0ef;-webkit-text-stroke:1px #ff5bd8}.logo .idol{font-size:29px;font-weight:900;font-style:italic;letter-spacing:2px;color:#ffb2e7;-webkit-text-stroke:.5px #fff}.side-card{position:absolute;top:106px;width:54px;height:54px;border-radius:12px;background:linear-gradient(145deg,#933cea,#20082e);border:1px solid #df74ff;box-shadow:0 0 18px rgba(233,67,255,.65),inset 0 0 15px rgba(255,255,255,.14);display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:4}.side-card i{font-style:normal;font-size:31px;line-height:25px}.side-card strong{font-size:11px;line-height:12px;text-shadow:0 2px 3px #000}.gift{left:10px}.mission{right:10px;background:linear-gradient(145deg,#6267ee,#130b2c);border-color:#72a7ff}.mission em{position:absolute;right:-8px;top:-9px;width:25px;height:25px;border-radius:50%;background:#d9554b;border:1px solid #fff;font-style:normal;font-weight:900;line-height:23px}.jackpot{width:226px;height:54px;margin:-8px auto 8px;border-radius:28px;background:#1a0925;border:3px solid #ffb36e;box-shadow:0 0 17px rgba(255,88,212,.95),inset 0 0 14px #000;display:grid;place-items:center;position:relative;z-index:3}.jackpot:after,.bulbs:after{content:"";position:absolute;inset:4px;border-radius:inherit;background:repeating-conic-gradient(from 0deg,#fff2bd 0 7deg,transparent 7deg 17deg);mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);padding:7px;opacity:.9;animation:bulbs 1.3s linear infinite}.jackpot span{font-size:15px;font-weight:900;color:#ffd47d;margin-top:-8px;text-shadow:0 0 7px #ff4bbf}.jackpot strong{font-size:30px;color:#ffde78;letter-spacing:1px;text-shadow:0 2px #7b4a17,0 0 12px #ff7e4c;margin-top:-18px}.machine{width:calc(100% - 18px);height:270px;margin:0 auto;border-radius:23px;padding:13px;background:linear-gradient(90deg,#ffb377,#ff65da 22%,#a34cff 52%,#ffb86d 100%);box-shadow:0 0 26px rgba(255,76,221,.8),inset 0 0 15px rgba(255,255,255,.75);position:relative}.bulbs{position:absolute;inset:0;border-radius:23px;pointer-events:none}.reel-window{height:100%;border-radius:15px;background:rgba(4,2,10,.93);display:grid;grid-template-columns:repeat(5,1fr);overflow:hidden;border:1px solid rgba(255,115,239,.95)}.reel{position:relative;overflow:hidden;border-right:2px solid rgba(249,75,230,.72);background:linear-gradient(180deg,rgba(68,19,105,.45),rgba(9,3,18,.8) 35%,rgba(18,8,37,.9))}.reel:last-child{border-right:0}.strip{position:absolute;left:0;right:0;top:0;height:100%;display:flex;flex-direction:column;transition:transform cubic-bezier(.16,.85,.18,1);will-change:transform}.symbol{flex:0 0 33.333%;height:33.333%;display:grid;place-items:center;padding:4px 3px}.symbol-card{width:100%;height:100%;border-radius:7px;display:grid;place-items:center;font-weight:900;font-size:45px;text-shadow:0 0 12px currentColor,0 0 22px currentColor;background:radial-gradient(circle at 50% 22%,rgba(255,255,255,.12),rgba(0,0,0,.25) 62%);border:1px solid currentColor;box-shadow:inset 0 0 14px rgba(255,255,255,.08),0 0 12px currentColor}.idol-card{background-image:var(--crop),linear-gradient(145deg,#190821,#09030d);background-size:768px 512px,auto;background-position:var(--pos),center;border:2px solid var(--edge);box-shadow:0 0 11px var(--edge),inset 0 0 18px rgba(0,0,0,.28)}.idol-card span{display:none}.scatter{font-size:28px;color:#ff75e8;text-align:center;line-height:1}.scatter small{font-size:13px;color:#fff;text-shadow:0 0 8px #ff4ed7}.wild{color:#ffd56b}.a{color:#ff5b9d}.k{color:#52bdff}.q{color:#79ff8b}.ten{color:#aa62ff}.paylines{position:absolute;inset:13px;pointer-events:none;z-index:5}.paylines i{position:absolute;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,#fff3a3,transparent);opacity:0;box-shadow:0 0 13px #fff}.paylines i:nth-child(1){top:16.6%}.paylines i:nth-child(2){top:50%}.paylines i:nth-child(3){top:83.3%}.win .paylines i{animation:payline .9s ease 3}.win-display{width:calc(100% - 66px);height:51px;margin:-2px auto 14px;border-radius:0 0 15px 15px;background:linear-gradient(180deg,#200731,#13051d);border:2px solid rgba(236,82,255,.85);box-shadow:0 0 18px rgba(238,65,255,.7),inset 0 0 14px rgba(255,255,255,.08);display:flex;align-items:center;justify-content:center;gap:52px}.win-display span{font-size:16px;font-weight:900;color:#ffc98a}.win-display strong{font-size:36px;color:#ffdc72;text-shadow:0 2px #7b4a17,0 0 11px #ff7642}.controls{display:grid;grid-template-columns:1.6fr 1.55fr .68fr .68fr;gap:12px;align-items:center;padding:0 14px}.bet{height:56px;border-radius:29px;background:rgba(22,13,38,.92);border:1px solid #543473;box-shadow:inset 0 0 16px rgba(255,255,255,.05),0 0 12px rgba(118,40,255,.25);display:grid;grid-template-columns:42px 1fr 42px;align-items:center;padding:0 8px;text-align:center}.bet button{width:35px;height:35px;border-radius:50%;background:#2b2342;border:1px solid #4d3c6c;font-size:30px;line-height:26px}.bet small{font-size:11px;color:#cfc6d8;font-weight:900}.bet strong{display:block;font-size:22px;line-height:22px}.spin{height:76px;border-radius:32px;background:linear-gradient(180deg,#f47beb,#bd3bd7 52%,#8425ba);border:4px solid #2a123c;box-shadow:0 0 0 2px #be78ff,inset 0 6px 14px rgba(255,255,255,.38),0 0 25px rgba(255,73,229,.78);display:flex;flex-direction:column;align-items:center;justify-content:center;animation:pulse 1.6s ease-in-out infinite}.spin strong{font-size:32px;line-height:1;text-shadow:0 2px 0 rgba(0,0,0,.25)}.spin small{font-size:12px;font-weight:900}.spin:disabled{filter:grayscale(.35);animation:none}.mini{height:56px;border-radius:20px;background:rgba(28,18,45,.95);border:1px solid #694282;box-shadow:inset 0 0 13px rgba(255,255,255,.07),0 0 12px rgba(147,52,255,.28);font-size:14px;font-weight:900;line-height:16px;color:#d8cce5}.toast{position:absolute;left:50%;bottom:114px;transform:translate(-50%,20px);background:rgba(0,0,0,.82);border:1px solid #ff73dd;border-radius:999px;padding:10px 18px;opacity:0;z-index:8;font-weight:900;box-shadow:0 0 20px #bb38ff}.toast.show{animation:toast 1.6s ease}.confetti{position:absolute;inset:0;pointer-events:none;z-index:6;overflow:hidden}.confetti b{position:absolute;top:-20px;width:8px;height:14px;background:var(--c);box-shadow:0 0 10px var(--c);animation:fall 1.6s linear forwards}.shake{animation:shake .35s ease}.bigwin{animation:bigwin .75s ease 2}
@keyframes bulbs{to{transform:rotate(1turn)}}@keyframes pulse{50%{transform:scale(1.035);filter:brightness(1.1)}}@keyframes payline{50%{opacity:1}}@keyframes toast{0%,100%{opacity:0;transform:translate(-50%,20px)}15%,85%{opacity:1;transform:translate(-50%,0)}}@keyframes fall{to{transform:translateY(110dvh) rotate(480deg);opacity:.1}}@keyframes shake{25%{transform:translateX(-4px)}50%{transform:translateX(4px)}75%{transform:translateX(-2px)}}@keyframes bigwin{50%{transform:scale(1.08);filter:brightness(1.25)}}
@media (max-height:760px){.statusbar{height:29px;padding-top:7px}.miniapp-sheet{top:29px}.mini-header{height:48px;margin-top:8px}.game{inset:56px 0 0}.hud{height:41px}.avatar-k{width:36px;height:36px}.logo{height:70px}.starline{font-size:34px}.logo .idol{font-size:22px}.side-card{top:84px;width:46px;height:46px}.side-card i{font-size:26px}.jackpot{width:214px;height:42px;margin:-5px auto 5px}.jackpot strong{font-size:25px}.jackpot span{font-size:13px}.machine{height:210px;padding:11px}.win-display{height:39px;margin-bottom:8px}.win-display strong{font-size:30px}.controls{gap:7px;padding:0 10px}.spin{height:58px;border-radius:26px}.bet,.mini{height:47px}.spin strong{font-size:25px}.spin small{font-size:10px}.bet strong{font-size:20px}.symbol-card{font-size:37px}.scatter{font-size:23px}.scatter small{font-size:11px}}
@media (min-width:700px){body{display:grid;place-items:center}.phone{height:932px;min-height:932px;border-radius:34px;box-shadow:0 0 50px #000}}
/* Keep light frames clean in the constrained in-app browser renderer. */
.jackpot:after,.bulbs:after{content:none!important}
.jackpot{outline:2px dotted rgba(255,238,166,.95);outline-offset:-8px}
.machine{outline:2px dotted rgba(255,238,166,.85);outline-offset:-8px}
.mini-header h1{margin-top:6px}.mini-header p{margin-top:2px}

/* Telegram MiniApp chrome is external; the game itself starts at the HUD. */
.phone{min-height:100dvh;background:#090210}
.game{position:absolute!important;inset:0!important;border-radius:0;overflow:hidden}
.statusbar,.miniapp-sheet,.grabber,.mini-header{display:none!important}
@media (min-width:700px){.phone{height:932px;min-height:932px;border-radius:0}}
/* Give the in-game HUD its own breathing room now that Telegram chrome is not drawn. */
.hud{height:52px;padding-top:7px;padding-bottom:7px}
@media (max-height:760px){.hud{height:48px;padding-top:6px;padding-bottom:6px}.logo{height:66px}.side-card{top:88px}.jackpot{margin:-8px auto 5px}}

/* Layout rebuild: stable Telegram MiniApp content area */
.game{
  display:flex!important;
  flex-direction:column!important;
  gap:8px!important;
  padding:0 10px max(12px, env(safe-area-inset-bottom))!important;
}
.stage-bg,.stage-vignette{left:-10px!important;right:-10px!important}
.hud{
  flex:0 0 56px!important;
  width:calc(100% + 20px)!important;
  margin:0 -10px!important;
  height:56px!important;
  display:grid!important;
  grid-template-columns:minmax(104px,1fr) 124px 104px 42px!important;
  gap:6px!important;
  padding:6px 8px!important;
  align-items:center!important;
  border-radius:0 0 22px 22px!important;
}
.avatar-k{width:43px!important;height:43px!important;font-size:34px!important;flex:0 0 auto!important}
.profile{gap:7px!important;overflow:hidden!important}
.profile-copy{overflow:hidden!important}.name-row{font-size:14px!important;gap:5px!important;white-space:nowrap!important}.name-row span{font-size:11px!important;padding:2px 6px!important}.xp{margin-top:6px!important;width:92px!important;max-width:100%!important}
.balance{height:38px!important;min-width:0!important;padding:0 4px 0 7px!important;gap:5px!important;border-radius:20px!important}.balance i{font-size:19px!important}.balance strong{font-size:20px!important;letter-spacing:0!important}.balance button{width:30px!important;height:30px!important;font-size:25px!important;line-height:22px!important;flex:0 0 auto!important}.gem-pill strong{font-size:20px!important}.hamb{width:38px!important;height:38px!important}.hamb span{width:21px!important;height:3px!important}
.logo{
  flex:0 0 86px!important;
  height:86px!important;
  padding-top:8px!important;
  margin:0!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
}
.starline{font-size:43px!important;line-height:.88!important;letter-spacing:1px!important}.logo .idol{font-size:29px!important;line-height:1!important}
.side-card{top:178px!important;width:50px!important;height:56px!important}.gift{left:12px!important}.mission{right:12px!important}.side-card i{font-size:27px!important}.side-card strong{font-size:12px!important}.mission em{width:24px!important;height:24px!important;line-height:22px!important}
.jackpot{
  flex:0 0 52px!important;
  width:min(260px,64vw)!important;
  height:52px!important;
  margin:0 auto!important;
  z-index:4!important;
}
.jackpot span{font-size:15px!important;margin-top:-7px!important}.jackpot strong{font-size:31px!important;margin-top:-18px!important}
.machine{
  flex:1 1 auto!important;
  width:100%!important;
  min-height:292px!important;
  max-height:390px!important;
  height:auto!important;
  margin:0 auto!important;
  padding:13px!important;
  border-radius:22px!important;
}
.reel-window{border-radius:14px!important}.symbol{padding:5px 4px!important}.symbol-card{border-radius:8px!important;font-size:clamp(38px,12vw,56px)!important}.scatter{font-size:clamp(24px,8vw,36px)!important}.scatter small{font-size:clamp(11px,3.2vw,15px)!important}.idol-card{background-size:768px 512px,auto!important}
.win-display{
  flex:0 0 54px!important;
  width:calc(100% - 48px)!important;
  height:54px!important;
  margin:-6px auto 0!important;
  gap:46px!important;
  border-radius:0 0 16px 16px!important;
}
.win-display span{font-size:18px!important}.win-display strong{font-size:38px!important}
.controls{
  flex:0 0 86px!important;
  margin-top:auto!important;
  width:100%!important;
  display:grid!important;
  grid-template-columns:1.45fr 1.55fr .68fr .68fr!important;
  gap:9px!important;
  padding:0!important;
  align-items:center!important;
}
.bet{height:62px!important;grid-template-columns:42px 1fr 42px!important;padding:0 7px!important}.bet button{width:36px!important;height:36px!important}.bet small{font-size:12px!important}.bet strong{font-size:27px!important;line-height:27px!important}.spin{height:78px!important;border-radius:34px!important}.spin strong{font-size:33px!important}.spin small{font-size:12px!important}.mini{height:62px!important;border-radius:19px!important;font-size:15px!important;line-height:17px!important}
@media (max-height:760px){
  .game{gap:6px!important;padding-left:10px!important;padding-right:10px!important;padding-bottom:10px!important}
  .hud{flex-basis:52px!important;height:52px!important;grid-template-columns:minmax(98px,1fr) 118px 98px 40px!important;gap:5px!important;padding:5px 7px!important}
  .avatar-k{width:40px!important;height:40px!important;font-size:31px!important}.name-row{font-size:13px!important}.name-row span{font-size:10px!important}.xp{width:84px!important}.balance{height:35px!important}.balance strong{font-size:19px!important}.balance button{width:28px!important;height:28px!important}.hamb{width:36px!important;height:36px!important}
  .logo{flex-basis:72px!important;height:72px!important;padding-top:4px!important}.starline{font-size:37px!important}.logo .idol{font-size:25px!important}
  .side-card{top:145px!important;width:45px!important;height:50px!important}.side-card i{font-size:24px!important}.side-card strong{font-size:11px!important}
  .jackpot{flex-basis:44px!important;height:44px!important;width:min(230px,62vw)!important}.jackpot span{font-size:13px!important}.jackpot strong{font-size:27px!important}
  .machine{min-height:286px!important;padding:12px!important}.symbol{padding:4px 3px!important}.symbol-card{font-size:42px!important}.scatter{font-size:25px!important}.scatter small{font-size:11px!important}
  .win-display{flex-basis:48px!important;height:48px!important;width:calc(100% - 56px)!important}.win-display strong{font-size:34px!important}.win-display span{font-size:16px!important}
  .controls{flex-basis:76px!important;grid-template-columns:1.35fr 1.5fr .65fr .65fr!important;gap:7px!important}.bet{height:54px!important;grid-template-columns:35px 1fr 35px!important}.bet button{width:32px!important;height:32px!important}.bet small{font-size:11px!important}.bet strong{font-size:24px!important}.spin{height:68px!important}.spin strong{font-size:29px!important}.spin small{font-size:10px!important}.mini{height:54px!important;font-size:13px!important;line-height:15px!important}
}
@media (max-width:390px){
  .hud{grid-template-columns:minmax(92px,1fr) 112px 92px 36px!important}.balance strong{font-size:17px!important}.balance i{font-size:17px!important}.balance button{width:26px!important;height:26px!important}.hamb{width:34px!important;height:34px!important}.name-row{font-size:12px!important}.avatar-k{width:38px!important;height:38px!important}.controls{gap:6px!important}.mini{font-size:12px!important}.spin strong{font-size:27px!important}
}
.idol-card{background-repeat:no-repeat!important;background-origin:border-box!important;background-clip:padding-box!important}
/* Fine tune HUD so pills do not squeeze into each other. */
.hud{grid-template-columns:minmax(112px,1fr) 116px 94px 40px!important;gap:5px!important}.balance strong{font-size:18px!important}.balance button{width:28px!important;height:28px!important}.gem-pill{padding-left:5px!important}.coin-pill{padding-left:5px!important}.profile{gap:6px!important}.avatar-k{width:40px!important;height:40px!important;font-size:31px!important}.xp{width:88px!important}
@media (max-height:760px){.hud{grid-template-columns:minmax(104px,1fr) 112px 90px 38px!important}.balance strong{font-size:17px!important}.balance i{font-size:17px!important}.balance button{width:26px!important;height:26px!important}.avatar-k{width:38px!important;height:38px!important;font-size:30px!important}.xp{width:80px!important}}

/* Requested fixes: top HUD spacing and jackpot text separation */
.hud{
  grid-template-columns:minmax(142px,1fr) minmax(104px,118px) minmax(84px,96px) 42px!important;
  gap:10px!important;
  padding-left:14px!important;
  padding-right:14px!important;
  overflow:hidden!important;
}
.balance{position:relative!important;overflow:visible!important;padding-right:36px!important;justify-content:flex-start!important}
.balance button{position:absolute!important;right:5px!important;top:50%!important;transform:translateY(-50%)!important;margin:0!important;z-index:2!important;background:#241a36!important}
.coin-pill strong{font-size:18px!important}.gem-pill strong{font-size:18px!important}.balance i{flex:0 0 auto!important}.hamb{justify-self:end!important;flex:0 0 auto!important}
.profile{min-width:0!important}.profile-copy{min-width:86px!important}.name-row span{flex:0 0 auto!important}
.jackpot{display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:0!important;padding-top:2px!important}
.jackpot span{display:block!important;margin:0!important;line-height:14px!important;font-size:14px!important;transform:translateY(-3px)!important;z-index:2!important}
.jackpot strong{display:block!important;margin:0!important;line-height:30px!important;font-size:30px!important;transform:translateY(1px)!important;z-index:1!important}
@media (max-height:760px){
  .hud{grid-template-columns:minmax(134px,1fr) minmax(100px,112px) minmax(80px,90px) 40px!important;gap:8px!important;padding-left:12px!important;padding-right:12px!important}
  .balance{padding-right:32px!important}.balance button{right:4px!important}.coin-pill strong,.gem-pill strong{font-size:17px!important}
  .jackpot span{font-size:13px!important;line-height:12px!important;transform:translateY(-2px)!important}.jackpot strong{font-size:27px!important;line-height:27px!important;transform:translateY(1px)!important}
}
@media (max-width:390px){
  .hud{grid-template-columns:minmax(122px,1fr) minmax(96px,106px) minmax(76px,84px) 36px!important;gap:6px!important;padding-left:8px!important;padding-right:8px!important}.coin-pill strong,.gem-pill strong{font-size:16px!important}.balance{padding-right:29px!important}.balance button{width:25px!important;height:25px!important;right:3px!important}.balance i{font-size:16px!important}.name-row{font-size:12px!important}.name-row span{font-size:10px!important;padding:2px 5px!important}.xp{width:74px!important}
}

/* Final correction for the two marked areas */
.hud{
  grid-template-columns:108px 128px 94px 38px!important;
  gap:7px!important;
  justify-content:center!important;
  padding-left:9px!important;
  padding-right:9px!important;
}
.profile{gap:6px!important}.avatar-k{width:38px!important;height:38px!important;font-size:30px!important}.profile-copy{min-width:0!important}.name-row{font-size:13px!important}.name-row span{font-size:10px!important;padding:2px 6px!important}.xp{width:78px!important;margin-top:5px!important}
.balance{height:36px!important;padding-left:6px!important;padding-right:34px!important;gap:5px!important}.balance i{font-size:17px!important}.balance strong{font-size:19px!important;line-height:1!important}.balance button{width:28px!important;height:28px!important;right:4px!important}.gem-pill strong{font-size:19px!important}.hamb{width:36px!important;height:36px!important}.hamb span{width:20px!important}
.jackpot{position:relative!important;display:block!important;height:50px!important;min-height:50px!important;padding:0!important;overflow:visible!important}
.jackpot span{position:absolute!important;left:0!important;right:0!important;top:4px!important;margin:0!important;line-height:13px!important;font-size:14px!important;transform:none!important;text-align:center!important;z-index:3!important}
.jackpot strong{position:absolute!important;left:0!important;right:0!important;bottom:5px!important;margin:0!important;line-height:31px!important;font-size:31px!important;transform:none!important;text-align:center!important;z-index:2!important}
@media (max-height:760px){
  .hud{grid-template-columns:108px 128px 94px 38px!important;gap:7px!important;padding-left:9px!important;padding-right:9px!important}
  .balance{height:36px!important;padding-right:34px!important}.balance strong,.coin-pill strong,.gem-pill strong{font-size:19px!important}.balance i{font-size:17px!important}.balance button{width:28px!important;height:28px!important;right:4px!important}.hamb{width:36px!important;height:36px!important}.avatar-k{width:38px!important;height:38px!important;font-size:30px!important}.xp{width:78px!important}
  .jackpot{height:50px!important;min-height:50px!important;flex-basis:50px!important;width:238px!important}.jackpot span{top:4px!important;font-size:14px!important;line-height:13px!important}.jackpot strong{bottom:5px!important;font-size:31px!important;line-height:31px!important}
}
@media (max-width:390px){
  .hud{grid-template-columns:96px 118px 84px 34px!important;gap:5px!important;padding-left:6px!important;padding-right:6px!important}.avatar-k{width:34px!important;height:34px!important;font-size:27px!important}.name-row{font-size:11px!important}.name-row span{font-size:9px!important}.xp{width:66px!important}.balance{height:34px!important;padding-left:5px!important;padding-right:30px!important}.balance strong,.coin-pill strong,.gem-pill strong{font-size:16px!important}.balance button{width:25px!important;height:25px!important}.hamb{width:34px!important;height:34px!important}
}

/* Nudge profile wider and separate jackpot label/value completely. */
.hud{grid-template-columns:116px 124px 88px 36px!important;gap:7px!important;padding-left:10px!important;padding-right:10px!important}.name-row{gap:4px!important}.name-row span{font-size:10px!important;padding:2px 5px!important}.xp{width:82px!important}.balance{padding-right:31px!important}.balance button{width:27px!important;height:27px!important;right:3px!important}.balance strong,.coin-pill strong,.gem-pill strong{font-size:18px!important}.hamb{width:35px!important;height:35px!important}.hamb span{width:19px!important}
.jackpot{height:56px!important;min-height:56px!important;flex-basis:56px!important}.jackpot span{top:5px!important;font-size:14px!important;line-height:14px!important}.jackpot strong{bottom:3px!important;font-size:31px!important;line-height:31px!important}
@media (max-height:760px){.hud{grid-template-columns:116px 124px 88px 36px!important;gap:7px!important;padding-left:10px!important;padding-right:10px!important}.balance{padding-right:31px!important}.balance button{width:27px!important;height:27px!important;right:3px!important}.balance strong,.coin-pill strong,.gem-pill strong{font-size:18px!important}.jackpot{height:56px!important;min-height:56px!important;flex-basis:56px!important;width:246px!important}.jackpot span{top:5px!important;font-size:14px!important;line-height:14px!important}.jackpot strong{bottom:3px!important;font-size:31px!important;line-height:31px!important}}

/* Align balance plus buttons precisely inside each pill. */
.balance{
  padding-right:39px!important;
  overflow:hidden!important;
}
.balance button{
  width:32px!important;
  height:32px!important;
  right:3px!important;
  top:50%!important;
  transform:translateY(-50%)!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:0!important;
  line-height:1!important;
  font-size:28px!important;
  font-weight:800!important;
  border-radius:50%!important;
  box-sizing:border-box!important;
  background:#211831!important;
  border:2px solid #b99bdb!important;
}
.balance strong{display:block!important;min-width:0!important}
.coin-pill{width:124px!important}.gem-pill{width:88px!important}
@media (max-height:760px){
  .balance{padding-right:38px!important}.balance button{width:31px!important;height:31px!important;right:3px!important;font-size:27px!important}.coin-pill{width:124px!important}.gem-pill{width:88px!important}
}
@media (max-width:390px){
  .balance{padding-right:34px!important}.balance button{width:28px!important;height:28px!important;right:3px!important;font-size:24px!important}.coin-pill{width:112px!important}.gem-pill{width:80px!important}
}

/* Keep side action icons fully visible; they were being pulled into flex flow. */
.side-card{
  position:absolute!important;
  z-index:12!important;
  top:206px!important;
  flex:none!important;
}
.gift{left:12px!important}.mission{right:12px!important}
@media (max-height:760px){.side-card{top:188px!important}}
@media (max-width:390px){.side-card{top:184px!important;width:42px!important;height:46px!important}.side-card i{font-size:22px!important}.side-card strong{font-size:10px!important}}

/* Place side icons beside the jackpot, not on the reel frame. */
.side-card{top:138px!important;width:46px!important;height:50px!important}
.side-card i{font-size:24px!important}.side-card strong{font-size:10px!important;line-height:11px!important}.mission em{width:21px!important;height:21px!important;line-height:19px!important;font-size:13px!important;right:-7px!important;top:-7px!important}
@media (max-height:760px){.side-card{top:136px!important;width:42px!important;height:46px!important}.side-card i{font-size:21px!important}.side-card strong{font-size:9px!important;line-height:10px!important}}

/* Idol symbols use cropped portrait assets so one idol occupies exactly one slot cell. */
.idol-card{
  background-image:linear-gradient(180deg,rgba(255,255,255,.06),rgba(0,0,0,.05)),var(--portrait)!important;
  background-size:cover!important;
  background-position:center!important;
  background-repeat:no-repeat!important;
}

/* Slot cells should show portrait art only; labels from source sheet stay out of the reels. */
.idol-card span,.idol-card small{display:none!important}

/* Rich neon background effects */
.game::before,
.game::after{
  content:"";
  position:absolute;
  pointer-events:none;
  z-index:1;
}
.game::before{
  left:-28%;
  right:-28%;
  top:36px;
  height:58%;
  background:
    conic-gradient(from 0deg at 50% 42%, transparent 0 7%, rgba(255,77,238,.26) 8% 10%, transparent 11% 24%, rgba(106,207,255,.18) 25% 27%, transparent 28% 43%, rgba(255,216,112,.15) 44% 46%, transparent 47% 100%),
    radial-gradient(circle at 50% 42%, transparent 0 23%, rgba(255,86,239,.24) 24% 25%, transparent 26% 39%, rgba(138,73,255,.25) 40% 41%, transparent 42% 56%, rgba(255,86,239,.18) 57% 58%, transparent 59%);
  filter:blur(.2px) saturate(1.25);
  animation:neonRotate 18s linear infinite;
  opacity:.95;
}
.game::after{
  inset:0;
  background:
    radial-gradient(ellipse at 50% 86%, rgba(255,58,221,.34), transparent 33%),
    radial-gradient(ellipse at 22% 72%, rgba(93,73,255,.22), transparent 28%),
    radial-gradient(ellipse at 78% 72%, rgba(44,191,255,.16), transparent 28%),
    linear-gradient(72deg, transparent 0 16%, rgba(190,65,255,.22) 17%, transparent 20% 35%, rgba(255,78,224,.2) 36%, transparent 39% 100%),
    linear-gradient(108deg, transparent 0 9%, rgba(122,72,255,.22) 10%, transparent 13% 70%, rgba(255,198,91,.13) 71%, transparent 74%);
  mix-blend-mode:screen;
  animation:beamSweep 5.5s ease-in-out infinite alternate;
}
.stage-bg::before,
.stage-bg::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
}
.stage-bg::before{
  background-image:
    radial-gradient(circle, rgba(255,255,255,.95) 0 1.4px, transparent 1.8px),
    radial-gradient(circle, rgba(255,94,236,.8) 0 1.5px, transparent 2px),
    radial-gradient(circle, rgba(101,204,255,.7) 0 1.2px, transparent 1.8px);
  background-size:72px 86px, 96px 120px, 120px 90px;
  background-position:12px 8px, 50px 30px, 90px 55px;
  animation:starDrift 9s linear infinite;
  opacity:.55;
}
.stage-bg::after{
  background:
    repeating-linear-gradient(90deg, transparent 0 46px, rgba(255,93,232,.1) 47px, transparent 49px),
    radial-gradient(circle at 18% 18%, rgba(255,92,235,.38), transparent 12%),
    radial-gradient(circle at 82% 22%, rgba(87,185,255,.28), transparent 13%);
  animation:neonPulse 2.8s ease-in-out infinite;
  mix-blend-mode:screen;
}
.logo{filter:drop-shadow(0 0 8px rgba(255,76,232,.9)) drop-shadow(0 0 22px rgba(143,61,255,.6))}
.jackpot{box-shadow:0 0 18px rgba(255,91,231,.95),0 0 34px rgba(255,189,87,.35),inset 0 0 18px #000!important}
.machine{box-shadow:0 0 28px rgba(255,76,221,.88),0 0 55px rgba(131,55,255,.38),inset 0 0 15px rgba(255,255,255,.75)!important}
.controls{filter:drop-shadow(0 -10px 30px rgba(255,66,224,.22))}
@keyframes neonRotate{to{transform:rotate(360deg)}}
@keyframes beamSweep{0%{opacity:.55;transform:translateX(-12px) skewX(-3deg)}100%{opacity:.95;transform:translateX(12px) skewX(3deg)}}
@keyframes starDrift{to{background-position:12px 94px, 50px 150px, 90px 145px}}
@keyframes neonPulse{0%,100%{opacity:.45;filter:hue-rotate(0deg)}50%{opacity:.9;filter:hue-rotate(28deg)}}

/* In-game announcement modal, controlled by backend announcements. */
.announcement-modal{position:absolute!important;inset:0!important;z-index:30!important;display:none!important;align-items:center!important;justify-content:center!important;background:radial-gradient(circle at 50% 45%,rgba(255,72,232,.2),rgba(0,0,0,.72) 58%)!important;backdrop-filter:blur(5px)!important;padding:24px!important}
.announcement-modal.show{display:flex!important}.announce-card{width:min(340px,92vw);border-radius:28px;padding:24px 22px 20px;text-align:center;background:linear-gradient(180deg,rgba(44,13,66,.96),rgba(13,4,25,.96));border:2px solid #ff8eea;box-shadow:0 0 24px rgba(255,76,232,.85),0 0 60px rgba(128,68,255,.45),inset 0 0 22px rgba(255,255,255,.08)}.announce-stars{font-size:26px;color:#ffd2ff;text-shadow:0 0 14px #ff64dd;letter-spacing:8px}.announce-title{margin:8px 0 10px;font-size:25px;color:#ffe27c;text-shadow:0 0 12px #ff6bdc}.announce-body{margin:0 0 18px;font-size:15px;line-height:1.55;color:#fff}.announce-ok{min-width:150px;height:48px;border-radius:999px;background:linear-gradient(180deg,#ff82ee,#a12bd1);border:2px solid #ffc6fb;box-shadow:0 0 18px rgba(255,92,232,.75);font-weight:900;font-size:18px}
.demo-panel{display:none;align-items:center;justify-content:center;gap:10px;height:34px;margin:-4px auto 0;padding:0 10px;border-radius:999px;background:rgba(255,216,109,.12);border:1px solid rgba(255,216,109,.65);box-shadow:0 0 16px rgba(255,216,109,.25);font-size:12px;font-weight:900;color:#ffe48a}.demo-panel.show{display:flex}.demo-panel strong{color:#fff;text-shadow:0 0 8px #ff65dd}.demo-panel button{height:24px;border-radius:999px;padding:0 10px;background:linear-gradient(180deg,#ffd86d,#b66b1d);font-size:11px;color:#1b0b18}
@media(max-height:760px){.demo-panel{height:30px;font-size:11px}.demo-panel button{height:22px;font-size:10px}.controls{flex-basis:70px!important}}
