#kmSpinFab{position:fixed;left:auto;top:auto;right:12px;bottom:145px;width:68px;height:68px;border-radius:50%;z-index:99990;border:2px solid rgba(255,255,255,.8);background:linear-gradient(145deg,#7c3aed,#ec4899);box-shadow:0 12px 35px rgba(124,58,237,.45),0 0 0 5px rgba(255,255,255,.10);display:none;align-items:center;justify-content:center;cursor:grab;touch-action:none;user-select:none;-webkit-user-select:none;animation:kmPulse 2s infinite;color:#fff;font-weight:900;text-align:center;font-size:11px;line-height:1.05}
#kmSpinFab .kmGift{font-size:27px;display:block}#kmSpinFab .kmSpinText{display:block;letter-spacing:.4px}.kmSpinShade{position:fixed;inset:0;background:rgba(6,7,18,.72);backdrop-filter:blur(12px);z-index:99991;display:none;align-items:center;justify-content:center;padding:14px}.kmSpinModal{width:min(520px,100%);max-height:94vh;overflow:auto;border-radius:30px;background:linear-gradient(180deg,#16152b,#090914);border:1px solid rgba(255,255,255,.14);box-shadow:0 30px 100px rgba(0,0,0,.55);color:#fff;padding:18px}.kmSpinHead{display:flex;justify-content:space-between;align-items:center}.kmSpinTitle{font-size:20px;font-weight:900}.kmSpinSub{font-size:11px;color:#a7a7bb;margin-top:3px}.kmSpinClose{width:38px;height:38px;border-radius:50%;border:1px solid rgba(255,255,255,.12);background:#24233b;color:#fff;font-size:20px}.kmBalance{margin:15px 0;padding:14px 16px;border-radius:18px;background:linear-gradient(135deg,#25213f,#17172b);border:1px solid rgba(255,255,255,.10);display:flex;justify-content:space-between;align-items:center}.kmBalance b{font-size:21px;color:#f5d77a}.kmWheelWrap{position:relative;width:min(292px,70vw);height:min(292px,70vw);margin:8px auto}.kmWheel{width:100%;height:100%;border-radius:50%;border:10px solid #f4d37a;box-shadow:0 0 0 5px #33234d,0 20px 55px rgba(0,0,0,.45);position:relative;overflow:hidden;transition:transform 4.6s cubic-bezier(.12,.75,.15,1);background:conic-gradient(#7c3aed 0 11.11%,#ec4899 11.11% 22.22%,#2563eb 22.22% 33.33%,#14b8a6 33.33% 44.44%,#f59e0b 44.44% 55.55%,#ef4444 55.55% 66.66%,#8b5cf6 66.66% 77.77%,#06b6d4 77.77% 88.88%,#f43f5e 88.88% 100%)}.kmWheelLabels{position:absolute;inset:0}.kmWheelLabels span{position:absolute;left:50%;top:50%;width:43%;text-align:right;transform-origin:0 50%;font-size:12px;font-weight:900;color:#fff;text-shadow:0 2px 4px rgba(0,0,0,.55)}.kmPointer{position:absolute;top:-2px;left:50%;transform:translateX(-50%);z-index:4;width:0;height:0;border-left:13px solid transparent;border-right:13px solid transparent;border-top:30px solid #fff;filter:drop-shadow(0 3px 4px rgba(0,0,0,.5))}.kmCenter{position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%);width:76px;height:76px;border-radius:50%;background:radial-gradient(circle,#fff 0,#f5d77a 45%,#b77b13 100%);color:#211530;border:5px solid #fff;display:flex;align-items:center;justify-content:center;font-weight:1000;font-size:15px;box-shadow:0 10px 25px rgba(0,0,0,.4);z-index:3}.kmControls{display:flex;gap:8px;align-items:center;justify-content:center;margin:7px 0}.kmAmtBtn,.kmQuick{border:1px solid rgba(255,255,255,.12);background:#211f36;color:#fff;border-radius:12px;font-weight:900}.kmAmtBtn{width:48px;height:44px;font-size:22px}.kmCost{min-width:135px;text-align:center;padding:9px 12px;border-radius:13px;background:#2a2644}.kmCost b{color:#f5d77a;font-size:19px}.kmQuickRow{display:flex;gap:6px;overflow:auto;padding:4px 0 8px}.kmQuick{padding:8px 12px;white-space:nowrap}.kmQuick.active{background:linear-gradient(135deg,#7c3aed,#ec4899);border-color:transparent}.kmSpinBtn{width:100%;padding:15px;border:0;border-radius:16px;background:linear-gradient(135deg,#f5d77a,#c58a21);color:#211530;font-weight:1000;font-size:15px;box-shadow:0 10px 25px rgba(197,138,33,.25)}.kmSpinBtn:disabled{opacity:.5}.kmHistory{margin-top:14px;border-top:1px solid rgba(255,255,255,.08);padding-top:12px}.kmHistoryTitle{font-weight:900;margin-bottom:8px}.kmHistoryRow{display:grid;grid-template-columns:1fr 1fr 1fr 1.3fr;gap:5px;padding:9px 0;border-bottom:1px solid rgba(255,255,255,.06);font-size:11px}.kmWin{color:#7cf0b1;font-weight:900}.kmLoss{color:#ff8796}.kmResult{display:none;text-align:center;padding:15px;margin-top:10px;border-radius:20px;background:linear-gradient(135deg,rgba(124,58,237,.28),rgba(236,72,153,.18));border:1px solid rgba(255,255,255,.12)}.kmResult .big{font-size:38px}.kmResult b{font-size:28px;color:#f5d77a}.kmNote{font-size:10px;color:#8f8fa8;text-align:center;margin-top:8px}@keyframes kmPulse{0%,100%{transform:scale(1)}50%{transform:scale(1.06)}}

#kmSpinFab.dragging{cursor:grabbing;animation:none;transform:scale(1.04);box-shadow:0 16px 42px rgba(124,58,237,.58),0 0 0 6px rgba(255,255,255,.14)}
#kmSpinFab.dragging .kmSpinText{opacity:.85}

/* Daily demo reward redesign */
.kmControls,.kmQuickRow,.kmHistory,.kmNote{display:none!important}
.kmSpinModal{padding-bottom:20px}
.kmWheelWrap{margin-bottom:4px}
.kmResult{position:absolute;left:50%;bottom:8px;transform:translateX(-50%);width:min(250px,72%);margin:0;padding:10px 12px;z-index:8;backdrop-filter:blur(12px);background:linear-gradient(135deg,rgba(35,18,65,.96),rgba(16,12,34,.96));border:1px solid rgba(245,215,122,.55);box-shadow:0 14px 38px rgba(0,0,0,.55)}
.kmResult .big{font-size:28px}.kmResult b{font-size:25px}.kmResultTitle{font-weight:1000;font-size:13px;letter-spacing:.5px;color:#f5d77a}.kmResult.win{animation:kmResultIn .35s ease-out}
.kmSpinBtn{margin-top:10px}.kmDailyNote{text-align:center;color:#9f9fb4;font-size:11px;margin-top:8px}.kmSpinBtn:disabled{opacity:.72}
@keyframes kmResultIn{from{opacity:0;transform:translateY(12px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}
@media(max-width:420px){.kmWheelWrap{width:74vw;height:74vw}.kmSpinModal{padding:14px}.kmWheelLabels span{font-size:11px}.kmResult{bottom:5px;width:68%}}

/* FINAL MOBILE/COMPACT WHEEL FIX */
.kmWheelWrap{width:min(220px,62vw)!important;height:min(220px,62vw)!important;margin:10px auto 8px!important}
.kmWheel{border-width:7px!important}
.kmWheelLabels span{font-size:10px!important}
.kmPointer{border-left-width:10px!important;border-right-width:10px!important;border-top-width:24px!important;top:-1px!important}
.kmCenter{width:58px!important;height:58px!important;border-width:4px!important;font-size:13px!important}
.kmResult{position:static!important;width:100%!important;box-sizing:border-box!important;margin:6px 0 0!important;padding:9px 10px!important}
.kmResult .big{font-size:24px!important}.kmResult b{font-size:21px!important}.kmResultTitle{font-size:12px!important}
.kmSpinBtn{display:block!important;margin:9px 0 0!important;min-height:50px!important;padding:12px!important;position:relative!important;z-index:10!important}
.kmSpinModal{max-height:92vh!important;overflow-y:auto!important}
@media(max-width:420px){.kmWheelWrap{width:min(210px,60vw)!important;height:min(210px,60vw)!important}.kmSpinModal{padding:13px!important;border-radius:24px!important}.kmBalance{margin:10px 0!important;padding:11px 13px!important}.kmBalance b{font-size:18px!important}.kmSpinTitle{font-size:18px!important}.kmSpinBtn{min-height:48px!important}}
@media(max-height:700px){.kmWheelWrap{width:min(190px,54vw)!important;height:min(190px,54vw)!important}.kmSpinModal{padding:11px!important}.kmBalance{margin:8px 0!important;padding:9px 11px!important}.kmSpinBtn{min-height:46px!important}}

/* FINAL PROFESSIONAL MOBILE LAYOUT */
.kmSpinModal{box-sizing:border-box!important;padding:16px!important}
.kmWheelWrap{width:230px!important;height:230px!important;margin:14px auto 18px!important;flex:none!important}
.kmWheel{width:230px!important;height:230px!important}
.kmSpinBtn{margin:16px 0 0!important;min-height:52px!important;border-radius:15px!important}
.kmDailyNote{margin-top:9px!important}
@media(max-width:420px){
  .kmSpinModal{width:min(100%,390px)!important;padding:14px!important;border-radius:25px!important}
  .kmWheelWrap{width:220px!important;height:220px!important;margin:14px auto 20px!important}
  .kmWheel{width:220px!important;height:220px!important}
  .kmCenter{width:60px!important;height:60px!important}
  .kmSpinBtn{margin-top:16px!important;min-height:52px!important}
}
@media(max-width:360px){
  .kmWheelWrap{width:205px!important;height:205px!important}
  .kmWheel{width:205px!important;height:205px!important}
}


/* FINAL UI PATCH — compact wheel, result directly below wheel, clear spin button */
.kmSpinModal{display:flex!important;flex-direction:column!important;align-items:stretch!important;box-sizing:border-box!important;overflow-y:auto!important;overflow-x:hidden!important;}
.kmWheelWrap{width:190px!important;height:190px!important;margin:12px auto 12px!important;flex:0 0 190px!important;}
.kmWheel{width:190px!important;height:190px!important;border-width:6px!important;}
.kmPointer{border-left-width:9px!important;border-right-width:9px!important;border-top-width:22px!important;top:-1px!important;}
.kmCenter{width:54px!important;height:54px!important;border-width:3px!important;font-size:12px!important;}
.kmWheelLabels span{font-size:9px!important;}
.kmResult{position:relative!important;left:auto!important;bottom:auto!important;transform:none!important;width:100%!important;box-sizing:border-box!important;margin:2px 0 12px!important;order:0!important;flex:0 0 auto!important;}
.kmSpinBtn{position:relative!important;left:auto!important;bottom:auto!important;order:1!important;width:100%!important;min-height:56px!important;margin:0!important;padding:14px 18px!important;font-size:17px!important;line-height:1.2!important;z-index:20!important;}
.kmDailyNote{order:2!important;margin:9px 0 0!important;}
@media(max-width:420px){
 .kmSpinShade{padding:8px!important;}
 .kmSpinModal{width:min(100%,380px)!important;max-height:94vh!important;padding:12px!important;border-radius:24px!important;}
 .kmSpinHead{flex:0 0 auto!important;}
 .kmBalance{margin:9px 0 7px!important;padding:10px 12px!important;}
 .kmBalance b{font-size:18px!important;}
 .kmWheelWrap{width:190px!important;height:190px!important;flex-basis:190px!important;margin:10px auto 12px!important;}
 .kmWheel{width:190px!important;height:190px!important;}
 .kmCenter{width:54px!important;height:54px!important;}
 .kmResult{margin:0 0 12px!important;padding:10px!important;}
 .kmSpinBtn{min-height:56px!important;font-size:17px!important;}
}
@media(max-width:360px){
 .kmWheelWrap,.kmWheel{width:176px!important;height:176px!important;}
 .kmWheelWrap{flex-basis:176px!important;}
 .kmCenter{width:50px!important;height:50px!important;font-size:11px!important;}
 .kmWheelLabels span{font-size:8px!important;}
}


/* FINAL V3 — result must stay inside modal; no horizontal translate */
.kmSpinModal{box-sizing:border-box!important;overflow-x:hidden!important;overflow-y:auto!important;}
.kmWheelWrap{box-sizing:border-box!important;width:184px!important;height:184px!important;flex:0 0 184px!important;margin:10px auto 16px!important;position:relative!important;}
.kmWheel{box-sizing:border-box!important;width:184px!important;height:184px!important;}
.kmResult{box-sizing:border-box!important;position:relative!important;left:auto!important;right:auto!important;bottom:auto!important;top:auto!important;transform:none!important;width:100%!important;max-width:100%!important;margin:0 0 14px!important;order:0!important;align-self:stretch!important;}
.kmSpinBtn{box-sizing:border-box!important;position:relative!important;left:auto!important;right:auto!important;bottom:auto!important;width:100%!important;max-width:100%!important;order:1!important;margin:0!important;min-height:56px!important;z-index:30!important;}
.kmDailyNote{order:2!important;}
@media(max-width:420px){.kmSpinShade{padding:8px!important}.kmSpinModal{width:min(100%,380px)!important;padding:12px!important}.kmWheelWrap,.kmWheel{width:184px!important;height:184px!important}.kmWheelWrap{flex-basis:184px!important;margin-bottom:16px!important}.kmResult{margin-bottom:14px!important}.kmSpinBtn{min-height:56px!important}}
@media(max-width:360px){.kmWheelWrap,.kmWheel{width:170px!important;height:170px!important}.kmWheelWrap{flex-basis:170px!important}.kmCenter{width:50px!important;height:50px!important;font-size:11px!important}.kmWheelLabels span{font-size:8px!important}}


/* VIP FREE SPIN PREMIUM VISUAL UPGRADE V1
   CSS-only visual layer. Spin API, reward selection, rotation calculations, limits,
   balance updates, and event handlers remain untouched. */
#kmSpinFab{
  width:76px!important;height:76px!important;
  border:2px solid rgba(255,246,198,.98)!important;
  border-radius:50%!important;
  padding:4px!important;
  background:
    radial-gradient(circle at 28% 18%,rgba(255,255,255,.55),transparent 24%),
    conic-gradient(from 12deg,#fff0a8,#d99516,#fff1a6,#f5bd32,#fff7cf,#b9780b,#ffe58a)!important;
  box-shadow:
    0 0 0 3px rgba(255,213,91,.20),
    0 0 0 7px rgba(0,208,180,.11),
    0 10px 28px rgba(0,0,0,.28),
    0 0 24px rgba(255,201,61,.55),
    inset 0 1px 2px rgba(255,255,255,.95)!important;
  color:#fff!important;
  animation:kmVipFabFloat 3s ease-in-out infinite,kmVipFabGlow 2.4s ease-in-out infinite!important;
  overflow:visible!important;
  font-size:10px!important;
  line-height:1!important;
}
#kmSpinFab::before{
  content:"";position:absolute;inset:5px;border-radius:50%;
  border:1px solid rgba(255,255,255,.82);
  background:
    radial-gradient(circle at 30% 20%,rgba(255,255,255,.22),transparent 30%),
    linear-gradient(145deg,#087e72 0%,#064c50 52%,#101a37 100%);
  box-shadow:inset 0 2px 7px rgba(0,0,0,.32),inset 0 0 12px rgba(0,255,218,.15);
  z-index:0;pointer-events:none;
}
#kmSpinFab::after{
  content:"";position:absolute;inset:-5px;border-radius:50%;
  border:2px solid rgba(255,221,119,.60);
  box-shadow:0 0 12px rgba(255,208,73,.48);
  animation:kmVipFabRing 3.6s linear infinite;
  pointer-events:none;
}
#kmSpinFab>span{position:relative;z-index:1;display:flex!important;flex-direction:column;align-items:center;justify-content:center;gap:3px;width:100%;height:100%}
#kmSpinFab .kmGift{
  display:flex!important;align-items:center;justify-content:center;
  width:35px;height:35px;border-radius:50%;
  font-size:25px!important;line-height:1!important;
  background:radial-gradient(circle at 30% 20%,#fff9dc,#ffce4b 46%,#bd7408 100%);
  border:1px solid rgba(255,255,255,.8);
  box-shadow:0 2px 9px rgba(255,193,39,.32),inset 0 1px 2px #fff;
  filter:drop-shadow(0 2px 2px rgba(0,0,0,.3));
}
#kmSpinFab .kmSpinText{
  display:block!important;
  padding:3px 5px 2px;border-radius:10px;
  background:linear-gradient(90deg,#fff1a8,#ffcf45,#fff0a4);
  color:#432a08!important;
  font-size:8px!important;font-weight:1000!important;letter-spacing:.7px!important;
  text-shadow:0 1px 0 rgba(255,255,255,.65);
  box-shadow:0 1px 4px rgba(0,0,0,.2);
}
#kmSpinFab.dragging{animation:none!important;cursor:grabbing!important}
#kmSpinFab.dragging::after{animation:none!important;border-color:#fff1a8!important}
.kmSpinShade{
  background:radial-gradient(ellipse at 50% 25%,rgba(0,196,167,.15),transparent 48%),rgba(3,9,20,.80)!important;
  backdrop-filter:blur(15px) saturate(1.18)!important;
}
.kmSpinModal{
  background:
    radial-gradient(ellipse at 50% -12%,rgba(0,211,182,.14),transparent 42%),
    radial-gradient(ellipse at 100% 100%,rgba(236,72,153,.08),transparent 36%),
    linear-gradient(160deg,#171a30 0%,#101323 55%,#080b16 100%)!important;
  border:1px solid rgba(255,220,125,.42)!important;
  box-shadow:0 28px 90px rgba(0,0,0,.65),0 0 0 1px rgba(0,209,181,.12),0 0 36px rgba(0,190,170,.10),inset 0 1px 0 rgba(255,255,255,.10)!important;
  position:relative!important;
}
.kmSpinHead{gap:10px!important;align-items:center!important}
.kmSpinTitle{
  color:#fff3c4!important;font-size:21px!important;font-weight:950!important;
  letter-spacing:.15px!important;text-shadow:0 2px 15px rgba(255,205,79,.16)!important;
}
.kmSpinSub{color:#b9c6d1!important;font-size:12px!important}
.kmSpinClose{
  flex:0 0 42px!important;width:42px!important;height:42px!important;
  border:1px solid rgba(255,231,161,.38)!important;
  background:linear-gradient(145deg,#292d47,#171b30)!important;
  box-shadow:0 5px 14px rgba(0,0,0,.25),inset 0 1px 0 rgba(255,255,255,.10)!important;
  font-size:24px!important;
}
.kmBalance{
  border:1px solid rgba(255,220,125,.30)!important;
  background:linear-gradient(110deg,rgba(0,121,107,.30),rgba(30,35,59,.94) 60%,rgba(109,74,19,.18))!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 7px 20px rgba(0,0,0,.14)!important;
}
.kmBalance span{color:#f4f5fb!important;font-weight:650!important}
.kmBalance b{
  color:#ffdf83!important;
  text-shadow:0 0 14px rgba(255,207,85,.22)!important;
}
.kmWheelWrap{
  filter:drop-shadow(0 12px 16px rgba(0,0,0,.32))!important;
}
.kmWheel{
  border:7px solid #f8d878!important;
  outline:3px solid rgba(255,255,255,.75)!important;
  outline-offset:2px!important;
  background:conic-gradient(
    #ff315e 0 11.11%,
    #8a4dff 11.11% 22.22%,
    #00c5dc 22.22% 33.33%,
    #ff3f69 33.33% 44.44%,
    #8e3bff 44.44% 55.55%,
    #0877ff 55.55% 66.66%,
    #08c8aa 66.66% 77.77%,
    #ffae13 77.77% 88.88%,
    #ff315e 88.88% 100%)!important;
  box-shadow:
    0 0 0 5px #302447,
    0 0 0 8px rgba(255,217,112,.72),
    0 0 26px rgba(255,193,53,.28),
    inset 0 0 0 2px rgba(255,255,255,.35),
    inset 0 0 24px rgba(255,255,255,.10)!important;
}
.kmWheelLabels span{
  color:#fff!important;font-weight:1000!important;
  text-shadow:0 1px 3px rgba(0,0,0,.85),0 0 5px rgba(0,0,0,.55)!important;
}
.kmPointer{
  border-left-color:transparent!important;border-right-color:transparent!important;
  border-top-color:#fff8d8!important;
  filter:drop-shadow(0 2px 2px rgba(0,0,0,.65)) drop-shadow(0 0 5px rgba(255,211,78,.7))!important;
}
.kmCenter{
  background:radial-gradient(circle at 32% 24%,#fffde7 0%,#ffe995 30%,#e9ad2f 66%,#98600a 100%)!important;
  border:4px solid #fff9dc!important;
  color:#28203b!important;
  box-shadow:0 0 0 3px rgba(255,213,91,.65),0 0 18px rgba(255,205,74,.52),inset 0 2px 5px rgba(255,255,255,.85),0 7px 16px rgba(0,0,0,.42)!important;
  text-shadow:0 1px 0 rgba(255,255,255,.55)!important;
}
.kmSpinBtn{
  background:linear-gradient(110deg,#ffe78b 0%,#ffc83f 38%,#e5a20a 72%,#ffda64 100%)!important;
  border:1px solid rgba(255,248,204,.96)!important;
  color:#2a1b09!important;
  font-size:17px!important;font-weight:1000!important;letter-spacing:.35px!important;
  text-shadow:0 1px 0 rgba(255,255,255,.38)!important;
  box-shadow:0 9px 24px rgba(224,160,15,.23),0 0 0 3px rgba(255,210,78,.09),inset 0 1px 0 rgba(255,255,255,.8)!important;
  transition:transform .16s ease,filter .16s ease,box-shadow .16s ease!important;
}
.kmSpinBtn:active:not(:disabled){transform:translateY(1px) scale(.99)!important;filter:brightness(.97)!important}
.kmSpinBtn:disabled{filter:saturate(.7)!important;box-shadow:none!important}
.kmDailyNote{color:#bdc4d2!important;font-size:12px!important}
.kmResult{
  border:1px solid rgba(255,218,112,.48)!important;
  box-shadow:0 12px 30px rgba(0,0,0,.38),0 0 18px rgba(255,205,73,.08)!important;
}
@keyframes kmVipFabFloat{0%,100%{transform:translateY(0) scale(1)}50%{transform:translateY(-3px) scale(1.025)}}
@keyframes kmVipFabGlow{0%,100%{filter:brightness(1)}50%{filter:brightness(1.10)}}
@keyframes kmVipFabRing{0%{transform:rotate(0deg);opacity:.8}50%{opacity:.35}100%{transform:rotate(360deg);opacity:.8}}
@media(prefers-reduced-motion:reduce){
 #kmSpinFab,#kmSpinFab::after{animation:none!important}
 .kmSpinBtn{transition:none!important}
}


/* V2 refinements: compact floating launcher and dynamic reward-segment wheel support. */
#kmSpinFab{
  width:60px!important;height:60px!important;
  min-width:60px!important;min-height:60px!important;
  padding:3px!important;
}
#kmSpinFab::before{inset:4px!important}
#kmSpinFab::after{inset:-4px!important}
#kmSpinFab .kmGift{
  width:27px!important;height:27px!important;
  font-size:20px!important;
}
#kmSpinFab .kmSpinText{
  font-size:7px!important;letter-spacing:.45px!important;
  padding:2px 4px 2px!important;
}
.kmWheelLabels span{
  width:43%!important;
  font-weight:1000!important;
  text-shadow:0 1px 3px rgba(0,0,0,.9),0 0 5px rgba(0,0,0,.55)!important;
}
.kmWheel{will-change:transform}
@media(max-width:380px){
  #kmSpinFab{width:58px!important;height:58px!important;min-width:58px!important;min-height:58px!important}
  #kmSpinFab .kmGift{width:25px!important;height:25px!important;font-size:18px!important}
}
