:root{--bg:#05010a;--p:#ff41c8;--p2:#ff8fe3;--c:#48e6ff;--g:#54ff8d;--r:#ff365f;--y:#ffd45c;--t:#fff5ff;--m:#d8b4e6;--deep:#07020d}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{margin:0;min-height:100%;background:var(--bg);color:var(--t);font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;overflow-x:hidden}body:before{content:"";position:fixed;inset:0;background:radial-gradient(circle at 20% 0%,#ff41c855,transparent 30%),radial-gradient(circle at 100% 20%,#48e6ff30,transparent 28%),radial-gradient(circle at 50% 100%,#54ff8d16,transparent 38%),repeating-linear-gradient(0deg,#ffffff0a 0 1px,transparent 1px 7px);pointer-events:none;z-index:-3}body:after{content:"";position:fixed;inset:-100px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.7' numOctaves='3'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)' opacity='.45'/%3E%3C/svg%3E");opacity:.12;mix-blend-mode:screen;pointer-events:none;z-index:-2}button{font:inherit;color:inherit;border:0;background:none;cursor:pointer}.hidden{display:none!important}.phone{max-width:540px;margin:auto;min-height:100dvh;padding:10px 12px 100px;position:relative}.topbar{height:62px;display:flex;align-items:center;justify-content:space-between;gap:10px;position:sticky;top:0;z-index:20;background:linear-gradient(180deg,#05010af5,#05010a99);backdrop-filter:blur(15px)}.brand{display:flex;align-items:center;gap:9px}.brand img{width:48px;height:42px;object-fit:contain;filter:drop-shadow(0 0 14px #ff41c8)}.brand b{display:block;font-size:20px;font-weight:1000}.brand span{display:block;color:var(--m);font-weight:800;font-size:11px}.btn-glass{border:1px solid #ffffff26;background:linear-gradient(145deg,#ffffff24,#ffffff08);box-shadow:inset 0 1px #ffffff38,0 14px 28px #0007,0 0 22px #ff41c820;backdrop-filter:blur(12px)}.small{min-width:44px;height:42px;border-radius:14px;padding:0 10px;font-size:13px;font-weight:1000}.screen{display:none}.screen.active{display:block;animation:screenIn .28s ease both}@keyframes screenIn{from{opacity:0;transform:translateY(15px) scale(.985)}to{opacity:1;transform:none}}
.hub-hero,.game-tile,.slot-page,.modal-card{position:relative;border:2px solid #ff41c861;border-radius:32px;background:linear-gradient(145deg,#230731f5,#08030cfa);box-shadow:0 24px 70px #000a,0 0 55px #ff41c82e,inset 0 1px #ffffff1f;overflow:hidden}.hub-hero{min-height:535px}.hub-bg{position:absolute;inset:0;background:linear-gradient(180deg,#05010a20,#05010ac2 60%,#05010a),url("./assets/presentation-approved.png") center/cover;filter:saturate(1.35) contrast(1.06);opacity:.84}.daily{position:absolute;right:14px;top:14px;z-index:4;border-radius:21px;padding:11px 16px;background:linear-gradient(145deg,#ff8fe3,#ff41c8);font-weight:1000;box-shadow:0 8px 0 #75105c,0 0 35px #ff41c8aa,inset 0 2px #ffffff77;text-shadow:1px 2px #0004}.daily:disabled,.daily.claimed{opacity:.72;filter:saturate(.65)}.mini-daily{position:static;font-size:12px;padding:9px 12px}.hero-logo{position:absolute;z-index:3;left:26px;right:26px;top:115px;text-align:center}.hero-logo img{width:min(370px,90%);filter:drop-shadow(0 0 22px #ff41c8)}.hero-logo p{margin:-12px 0 0;font-weight:1000;color:#fff;text-shadow:2px 2px #000}.welcome-bubble{position:absolute;z-index:4;top:105px;left:52px;background:#fff;color:#000;padding:8px 12px;border-radius:16px 16px 16px 4px;font-weight:1000;box-shadow:4px 4px #000;transform:rotate(-7deg);font-size:14px}.profile-card{position:absolute;left:12px;right:12px;bottom:12px;z-index:4;display:grid;grid-template-columns:65px 1fr 85px;gap:10px;padding:13px;border-radius:23px;background:#05010aca;border:1px solid #ffffff29;backdrop-filter:blur(16px)}small{display:block;font-size:10px;letter-spacing:.11em;text-transform:uppercase;color:var(--m);font-weight:1000}.profile-card b,.stat b{font-size:24px}.xpbar{height:14px;border-radius:99px;background:#06020b;border:1px solid #ffffff29;overflow:hidden;box-shadow:inset 0 2px 9px #000d}.xpbar i{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--p),var(--c));box-shadow:0 0 18px var(--p);transition:.35s}.profile-card em,.stat em{font-style:normal;font-size:11px;color:#f5e2fb;font-weight:900}.game-tile{margin-top:13px;padding:16px;min-height:178px;display:grid;grid-template-columns:95px 1fr 72px;align-items:center;gap:10px;background:radial-gradient(circle at 80% 10%,#48e6ff3c,transparent 32%),linear-gradient(145deg,#ff41c846,#100417f2)}.tile-icon img{width:100%;filter:drop-shadow(0 0 18px #ff41c8)}.game-tile h2{font-size:30px;line-height:.88;margin:0;text-shadow:3px 3px #000}.game-tile p{margin:6px 0 0;font-weight:850;color:#eed6f4}.eyebrow{margin:0 0 5px;color:var(--c);font-weight:1000;font-size:10px;letter-spacing:.1em;text-transform:uppercase}.pink-gloss,.spin,.modebox button,.betbox button,.rescue-card button,.modal-card button:not(.small){border-radius:20px;background:linear-gradient(145deg,var(--p2),var(--p));font-weight:1000;text-transform:uppercase;box-shadow:0 8px 0 #75105c,0 0 30px #ff41c8aa,inset 0 2px #ffffff88;text-shadow:1px 2px #0004;position:relative;overflow:hidden}.pink-gloss:after,.spin:after,.modebox button:after,.betbox button:after,.rescue-card button:after{content:"";position:absolute;inset:3px 8px auto;height:30%;border-radius:99px;background:linear-gradient(#fff8,#fff0);pointer-events:none}.pink-gloss{height:62px;padding:0 12px}.pink-gloss:active,.spin:active,.modebox button:active,.betbox button:active,.rescue-card button:active,.modal-card button:not(.small):active{transform:translateY(5px);box-shadow:0 3px 0 #75105c,0 0 18px #ff41c8aa}.rule-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:13px 0}.rule-strip div,.future-games div,.rules-panel div{border-radius:18px;padding:8px;background:linear-gradient(145deg,#ffffff1a,#ffffff07);border:1px solid #ffffff24;box-shadow:inset 0 1px #ffffff14}.rule-strip img{width:52px;height:52px;display:block;margin:auto;object-fit:contain}.rule-strip b{display:block;text-align:center;font-size:15px}.rule-strip span,.future-games span,.rules-panel span{display:block;font-size:10px;color:#e9c7ef;font-weight:800;text-align:center}.future-games{display:grid;grid-template-columns:1fr 1fr;gap:10px}.future-games b{display:block;font-size:18px;text-align:center}.two-buttons{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:13px}.two-buttons button{border-radius:18px;padding:14px;font-weight:1000}.slot-page{padding:12px;min-height:calc(100dvh - 170px)}.city-bg{position:absolute;inset:0;background-image:linear-gradient(180deg,#05010a38,#05010ade 46%,#05010afa),url("./assets/presentation-approved.png");background-size:cover;background-position:center top;opacity:.50;filter:saturate(1.55) contrast(1.08)}.game-head{position:relative;z-index:2;display:grid;grid-template-columns:75px 1fr 82px;align-items:center;gap:8px;margin:0 0 8px}.game-head img{width:100%;max-height:85px;object-fit:contain;filter:drop-shadow(0 0 18px #ff41c8)}.status-row{position:relative;z-index:2;display:grid;grid-template-columns:62px 1fr 92px;gap:8px;margin-bottom:10px}.stat{border-radius:18px;padding:9px;background:#05010aa6}.mini{height:10px}
.machine{position:relative;z-index:1;border-radius:35px;padding:72px 16px 22px;min-height:344px;background:linear-gradient(145deg,#4b0c62,#120218 55%,#2b0639);border:3px solid var(--p);box-shadow:0 0 0 2px #ffffff2e,0 0 60px #ff41c8a6,inset 0 0 55px #000c;perspective:950px}.machine:before{content:"";position:absolute;inset:10px;border-radius:28px;border:2px solid #48e6ff59;box-shadow:inset 0 0 24px #48e6ff38;pointer-events:none}.cabinet-title{position:absolute;left:22px;right:22px;top:12px;text-align:center;line-height:1}.cabinet-title b{display:block;font-size:25px;color:#ff5ed1;text-shadow:3px 3px #000,0 0 20px #ff41c8}.cabinet-title span{display:block;font-weight:1000;font-style:italic;color:#fff;text-shadow:2px 2px #000}.marquee{position:absolute;left:22px;right:22px;top:50px;height:27px;border-radius:14px;background:linear-gradient(90deg,#ff41c847,#48e6ff40);border:1px solid #ffffff29;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:1000;color:#ffe7fb;letter-spacing:.06em}.bulbs{position:absolute;inset:8px;border-radius:28px;border:3px dotted #ffd45cdd;filter:drop-shadow(0 0 8px #ffd45c);animation:bulbs .55s steps(2) infinite}@keyframes bulbs{50%{opacity:.46;filter:drop-shadow(0 0 2px #ffd45c)}}.side-arrow{position:absolute;top:53%;transform:translateY(-50%);font-size:36px;color:var(--p);text-shadow:0 0 18px var(--p);z-index:3}.left{left:8px}.right{right:8px}.reels{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;min-height:218px}.reel{position:relative;border-radius:24px;background:linear-gradient(180deg,#ffe3f7,#ffd8f2 45%,#8969f7);border:3px solid #fff;box-shadow:inset 0 18px 26px #ffffffb8,inset 0 -20px 34px #370c626b,0 11px 0 #4d145e,0 0 24px #ff41c880;overflow:hidden;display:flex;align-items:center;justify-content:center;transform:rotateX(8deg)}.sym{width:100%;height:100%;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:0;animation:symPop .22s ease both}.sym img{width:106px;height:106px;object-fit:contain;filter:drop-shadow(0 7px 0 #0004)}.sym b{font-size:16px;color:#fff;text-shadow:2px 2px #000,0 0 10px var(--p);font-weight:1000;line-height:.9}.reel.rolling .sym{animation:roll .10s linear infinite}@keyframes roll{50%{transform:translateY(30px) scale(.92);filter:blur(2px)}}@keyframes symPop{from{transform:scale(.8);opacity:.6}to{transform:scale(1);opacity:1}}.lever{position:absolute;right:-19px;top:112px;width:30px;height:155px;border-radius:99px;background:linear-gradient(90deg,#524c5e,#fff0ff,#494052);box-shadow:0 0 25px var(--p)}.lever:before{content:"";position:absolute;top:-35px;left:-17px;width:64px;height:64px;border-radius:50%;background:radial-gradient(circle at 32% 28%,#fff,#ff76d8 36%,#72005b 78%);box-shadow:0 0 32px var(--p);border:3px solid #ffffff61}.machine.pull .lever{animation:lever .32s ease}.machine.win{animation:winPulse .7s ease}.machine.rekt{animation:shake .1s linear infinite;filter:hue-rotate(105deg) saturate(1.7)}@keyframes lever{50%{transform:translateY(52px) rotate(6deg)}}@keyframes winPulse{50%{transform:scale(1.018);box-shadow:0 0 90px var(--y),0 0 65px var(--p),inset 0 0 60px #ffffff29}}@keyframes shake{25%{transform:translateX(-5px) rotate(-.4deg)}50%{transform:translateX(5px) rotate(.4deg)}75%{transform:translateX(-2px)}}.quote{position:relative;z-index:1;margin:10px 0;padding:11px 12px;border-radius:19px;text-align:center;font-weight:1000;background:#05010ac2;border:1px solid #ffffff29;box-shadow:inset 0 1px #ffffff1a}.controls-card{position:relative;z-index:2;display:grid;gap:10px}.betbox,.modebox,.timer-row{display:grid;gap:8px}.betbox{grid-template-columns:58px 1fr 58px}.betbox>div{text-align:center;border-radius:18px;padding:7px;background:#05010ac2;border:1px solid #ffffff29}.betbox b{font-size:20px}.betbox button{font-size:27px;padding:8px;background:linear-gradient(145deg,#39204e,#150620);box-shadow:0 7px 0 #050208}.spin{height:82px;font-size:44px;letter-spacing:-.05em;border-radius:30px}.spin span{display:block;font-size:12px;letter-spacing:.05em;margin-top:-5px}.spin:disabled{opacity:.55;filter:grayscale(.35)}.modebox{grid-template-columns:1fr 1fr}.modebox button{height:54px;background:linear-gradient(145deg,#39204e,#150620);box-shadow:0 7px 0 #050208}.modebox .selected{background:linear-gradient(145deg,#19c9ff,#126dff);box-shadow:0 7px 0 #082e6d}.timer-row{grid-template-columns:repeat(3,1fr);margin-top:10px}.timer-row div{padding:10px;border-radius:18px;text-align:center}.timer-row b{font-size:22px}.drain-card{position:relative;z-index:1;margin-top:10px;border-radius:21px;padding:12px;background:linear-gradient(145deg,#ff365f2e,#05010ad1);border:1px solid #ffffff24;box-shadow:0 0 25px #ff365f26}.drain-head{display:flex;justify-content:space-between;font-weight:1000;color:#ffb4c4}.drainbar{height:17px;border-radius:99px;background:#1a0711;border:1px solid #ffffff29;overflow:hidden;margin-top:8px}.drainbar i{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--p),var(--r));box-shadow:0 0 25px var(--r);transition:.25s}.drain-card small{margin-top:6px;color:#ffd1dc}.rescue-card{display:none;grid-template-columns:64px 1fr;align-items:center;gap:10px;position:relative;z-index:2;margin-top:10px;border-radius:24px;padding:10px;background:linear-gradient(145deg,#48e6ff4d,#020c12eb);border:2px solid #48e6ff94;box-shadow:0 0 35px #48e6ff3d}.rescue-card.active{display:grid}.rescue-card img{width:64px;height:64px}.rescue-card b{display:block;color:#77f4ff;font-size:20px}.rescue-card span,.rescue-card em{display:block;color:#f2f9ff;font-weight:800;font-style:normal;font-size:12px}.rescue-card button{grid-column:1/3;background:linear-gradient(145deg,#69ff9c,#14db65);color:#06130b;box-shadow:0 7px 0 #087231;padding:14px}
.rules-panel{position:relative;z-index:1;margin-top:12px;border-radius:24px;padding:12px;background:#05010aa3;border:1px solid #ffffff24;display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.rules-panel h3{grid-column:1/3;text-align:center;margin:0 0 4px;color:var(--p);font-size:15px}.rules-panel div{display:grid;grid-template-columns:48px 1fr;gap:8px;align-items:center}.rules-panel img{width:48px;height:48px;object-fit:contain}.rules-panel div b{display:block;font-size:12px}.rules-panel div span{text-align:left;font-size:10px}.fx-layer{position:fixed;inset:0;z-index:80;pointer-events:none;overflow:hidden}.fx-text{position:absolute;left:50%;top:38%;transform:translate(-50%,-50%) rotate(-4deg);font-size:68px;line-height:.78;font-weight:1000;text-align:center;text-transform:uppercase;text-shadow:5px 5px #000,0 0 30px currentColor;animation:fxPop 1.3s ease both}.fx-text.win{color:var(--y)}.fx-text.rekt{color:var(--r)}.fx-sub{display:block;font-size:22px;color:#fff}.coin,.spark{position:absolute;top:-30px;font-size:26px;animation:fall 1.45s linear forwards}.spark{font-size:18px;color:var(--c)}@keyframes fall{to{transform:translateY(120dvh) rotate(780deg);opacity:.2}}@keyframes fxPop{0%{opacity:0;transform:translate(-50%,-50%) scale(.35) rotate(-12deg)}18%{opacity:1;transform:translate(-50%,-50%) scale(1.15) rotate(3deg)}100%{opacity:0;transform:translate(-50%,-70%) scale(.95) rotate(-4deg)}}.rekt-card{position:absolute;left:50%;top:48%;transform:translate(-50%,-50%);width:min(460px,90vw);border-radius:25px;background:linear-gradient(145deg,#ff365ff0,#0a0008f5);border:3px solid #ffb1c6;box-shadow:0 0 60px #ff365f8c;padding:18px;text-align:center;animation:rektIn 1.7s ease forwards}.rekt-card img{width:118px;height:98px;object-fit:contain}.rekt-card h2{font-size:56px;line-height:.8;margin:5px 0;color:#fff;text-shadow:4px 4px #000}.rekt-card p{font-weight:1000;margin:0}.rekt-card:before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(90deg,#ffffff1f 0 5px,transparent 5px 12px);mix-blend-mode:overlay;animation:scan .1s steps(2) infinite}@keyframes rektIn{0%{opacity:0;transform:translate(-50%,-45%) scale(.65)}15%,80%{opacity:1;transform:translate(-50%,-50%) scale(1)}100%{opacity:0;transform:translate(-50%,-55%) scale(.92)}}@keyframes scan{50%{transform:translateX(8px)}}.modal{display:none;position:fixed;inset:0;z-index:60;background:#000c;padding:22px 12px 105px;overflow:auto}.modal.active{display:block}.modal-card{max-width:520px;margin:auto;padding:22px}.modal-card #closeModal{position:absolute;right:12px;top:12px}.modal-card h2{font-size:37px;line-height:.9;margin:8px 0 12px}.modal-card p,.modal-card li{color:#f0d8f5;font-weight:800;line-height:1.45}.result-title{font-size:60px;line-height:.78;margin:0;color:var(--p);text-shadow:5px 5px #000,0 0 28px var(--p);font-weight:1000}.nav{position:fixed;left:50%;bottom:10px;transform:translateX(-50%);width:min(540px,calc(100% - 18px));z-index:50;display:grid;grid-template-columns:repeat(5,1fr);gap:6px;padding:8px;border-radius:27px;background:#05010adc;border:1px solid #ffffff26;box-shadow:0 -10px 36px #0008;backdrop-filter:blur(18px)}.nav button{height:62px;border-radius:20px;color:#d9b7e4;font-size:20px}.nav span{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.04em;font-weight:900}.nav .active{background:linear-gradient(145deg,#ff41c861,#48e6ff2e);color:white;box-shadow:inset 0 1px #ffffff26,0 0 18px #ff41c847}#desktopBlock{display:none}@media(min-width:761px){body:not(.preview) #desktopBlock{display:flex;position:fixed;inset:0;z-index:999;align-items:center;justify-content:center;text-align:center;padding:28px;background:#05010a}body:not(.preview) #desktopBlock h1{font-size:64px;line-height:.82;color:var(--p);text-shadow:4px 4px #000,0 0 35px var(--p)}body:not(.preview) #desktopBlock p{font-size:20px;color:#f1d5f4}body:not(.preview) .phone{filter:blur(7px);opacity:.22;pointer-events:none}}@media(max-width:405px){.hub-hero{min-height:510px}.hero-logo{top:130px}.hero-logo img{width:325px}.welcome-bubble{top:118px;left:35px}.game-tile{grid-template-columns:78px 1fr 58px}.game-tile h2{font-size:25px}.machine{min-height:315px;padding:72px 12px 18px}.reels{min-height:200px}.sym img{width:92px;height:92px}.rule-strip{grid-template-columns:repeat(2,1fr)}.rules-panel{grid-template-columns:1fr}.rules-panel h3{grid-column:1}.game-head{grid-template-columns:72px 1fr 72px}}

/* V4: clean transparent reel symbols, no text labels */
.reel{
  background:
    radial-gradient(circle at 50% 30%, rgba(255,255,255,.98), rgba(255,226,248,.90) 42%, rgba(139,105,247,.95) 100%) !important;
}

.sym.icon-only{
  width:100%;
  height:100%;
  display:flex;
  align-items:center;
  justify-content:center;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
}

.sym.icon-only img{
  width:118px;
  height:118px;
  max-width:92%;
  max-height:92%;
  object-fit:contain;
  filter:
    drop-shadow(0 7px 0 rgba(0,0,0,.22))
    drop-shadow(0 0 11px rgba(255,65,200,.55))
    drop-shadow(0 0 20px rgba(72,230,255,.28));
}

@media(max-width:405px){
  .sym.icon-only img{
    width:104px;
    height:104px;
  }
}


/* V5: desktop access allowed. Same Telegram account keeps same XP when opened inside Telegram Desktop. */
#desktopBlock{display:none!important}
.phone{filter:none!important;opacity:1!important;pointer-events:auto!important}

/* V5: hand-made transparent reel icons, no labels, no dirty crop background */
.sym.icon-only{
  width:100%;
  height:100%;
  display:flex;
  align-items:center;
  justify-content:center;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}
.sym.icon-only img{
  width:128px!important;
  height:128px!important;
  max-width:96%!important;
  max-height:96%!important;
  object-fit:contain;
  filter:
    drop-shadow(0 7px 0 rgba(0,0,0,.24))
    drop-shadow(0 0 12px rgba(255,65,200,.58))
    drop-shadow(0 0 25px rgba(72,230,255,.30));
}
.sym.icon-only b{display:none!important}
.reel{
  background:
    radial-gradient(circle at 50% 27%,rgba(255,255,255,.98),rgba(255,228,249,.92) 44%,rgba(149,111,255,.96) 100%)!important;
}
@media(max-width:405px){
  .sym.icon-only img{width:112px!important;height:112px!important}
}


/* V6 final: integrated glossy neon reels + symbols on matching aura backgrounds */
.reel{
  background:
    radial-gradient(circle at 50% 42%, rgba(255,120,230,.22), transparent 46%),
    linear-gradient(90deg, rgba(255,255,255,.08), rgba(255,255,255,.23) 18%, rgba(255,255,255,.08) 31%, transparent 52%, rgba(255,255,255,.16) 78%, rgba(255,255,255,.05)),
    linear-gradient(180deg, #2a1037 0%, #13071e 18%, #5c2a75 49%, #14061f 84%, #08020d 100%) !important;
  border: 2px solid rgba(255,210,248,.88) !important;
  box-shadow:
    inset 0 20px 30px rgba(255,255,255,.14),
    inset 0 -26px 42px rgba(0,0,0,.62),
    inset 18px 0 24px rgba(255,65,200,.16),
    inset -18px 0 24px rgba(72,230,255,.14),
    0 10px 0 #4d145e,
    0 0 30px rgba(255,65,200,.58) !important;
}
.reel:before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(90deg, transparent, rgba(255,255,255,.18), transparent);
  transform:translateX(-110%);
  animation:reelShine 3.5s ease-in-out infinite;
  pointer-events:none;
}
@keyframes reelShine{50%{transform:translateX(110%)}100%{transform:translateX(110%)}}
.sym.integrated{
  width:100%;
  height:100%;
  display:flex;
  align-items:center;
  justify-content:center;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}
.sym.integrated img{
  width:132px!important;
  height:132px!important;
  max-width:98%!important;
  max-height:98%!important;
  object-fit:contain;
  filter:
    drop-shadow(0 9px 0 rgba(0,0,0,.26))
    drop-shadow(0 0 12px rgba(255,65,200,.55))
    drop-shadow(0 0 24px rgba(72,230,255,.28));
}
.sym.integrated b{display:none!important}
.rule-strip img,.rules-panel img,.tile-icon img{
  border-radius:18px;
  background:radial-gradient(circle at center, rgba(255,65,200,.18), rgba(8,2,13,.18));
}
@media(max-width:405px){
  .sym.integrated img{width:114px!important;height:114px!important}
}


/* V7: final generated clean PNG icons. No rough crop, no labels, no square background. */
.reel{
  background:
    radial-gradient(circle at 50% 42%, rgba(255,120,230,.24), transparent 47%),
    linear-gradient(90deg, rgba(255,255,255,.08), rgba(255,255,255,.22) 18%, rgba(255,255,255,.08) 31%, transparent 52%, rgba(255,255,255,.16) 78%, rgba(255,255,255,.05)),
    linear-gradient(180deg, #30103d 0%, #140720 18%, #602d79 49%, #150720 84%, #08020d 100%) !important;
  border:2px solid rgba(255,225,250,.92)!important;
  box-shadow:
    inset 0 22px 32px rgba(255,255,255,.14),
    inset 0 -28px 44px rgba(0,0,0,.64),
    inset 18px 0 24px rgba(255,65,200,.17),
    inset -18px 0 24px rgba(72,230,255,.15),
    0 10px 0 #4d145e,
    0 0 30px rgba(255,65,200,.58)!important;
}

.sym.final-icon{
  width:100%;
  height:100%;
  display:flex;
  align-items:center;
  justify-content:center;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}

.sym.final-icon img{
  width:132px!important;
  height:132px!important;
  max-width:98%!important;
  max-height:98%!important;
  object-fit:contain;
  background:transparent!important;
  border:0!important;
  filter:
    drop-shadow(0 9px 0 rgba(0,0,0,.26))
    drop-shadow(0 0 14px rgba(255,65,200,.60))
    drop-shadow(0 0 26px rgba(72,230,255,.34));
}

.sym.final-icon b{display:none!important}

.rule-strip img,
.rules-panel img,
.tile-icon img{
  object-fit:contain;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  filter:
    drop-shadow(0 0 10px rgba(255,65,200,.45))
    drop-shadow(0 0 18px rgba(72,230,255,.20));
}

.tile-icon img{width:90px!important;height:90px!important}

@media(max-width:405px){
  .sym.final-icon img{width:114px!important;height:114px!important}
}


/* V8: final clean generated images inside reels only. */
.sym.reel-final-v8{
  width:100%;
  height:100%;
  display:flex;
  align-items:center;
  justify-content:center;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  overflow:visible!important;
}

.sym.reel-final-v8 img{
  width:172px!important;
  height:172px!important;
  max-width:118%!important;
  max-height:118%!important;
  object-fit:contain;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  filter:
    drop-shadow(0 8px 0 rgba(0,0,0,.20))
    drop-shadow(0 0 13px rgba(255,65,200,.62))
    drop-shadow(0 0 25px rgba(72,230,255,.34));
}

.sym.reel-final-v8 b{display:none!important}

.reel{
  background:
    radial-gradient(circle at 50% 44%, rgba(255,120,230,.20), transparent 48%),
    linear-gradient(90deg, rgba(255,255,255,.06), rgba(255,255,255,.20) 18%, rgba(255,255,255,.07) 31%, transparent 52%, rgba(255,255,255,.14) 78%, rgba(255,255,255,.05)),
    linear-gradient(180deg, #30103d 0%, #140720 18%, #602d79 49%, #150720 84%, #08020d 100%) !important;
}

@media(max-width:405px){
  .sym.reel-final-v8 img{
    width:148px!important;
    height:148px!important;
  }
}


/* V9 REAL FIX: generated images with black background removed + cache-busted app.js/css */
.sym.reel-v9{
  width:100%;
  height:100%;
  display:flex;
  align-items:center;
  justify-content:center;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  overflow:visible!important;
}

.sym.reel-v9 img{
  width:176px!important;
  height:176px!important;
  max-width:120%!important;
  max-height:120%!important;
  object-fit:contain!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  filter:
    drop-shadow(0 8px 0 rgba(0,0,0,.20))
    drop-shadow(0 0 15px rgba(255,65,200,.66))
    drop-shadow(0 0 28px rgba(72,230,255,.36))!important;
}

.sym.reel-v9 b,
.sym.reel-final-v8 b,
.sym.integrated b,
.sym.icon-only b{
  display:none!important;
}

.reel{
  background:
    radial-gradient(circle at 50% 44%, rgba(255,120,230,.22), transparent 48%),
    linear-gradient(90deg, rgba(255,255,255,.06), rgba(255,255,255,.20) 18%, rgba(255,255,255,.07) 31%, transparent 52%, rgba(255,255,255,.14) 78%, rgba(255,255,255,.05)),
    linear-gradient(180deg, #30103d 0%, #140720 18%, #602d79 49%, #150720 84%, #08020d 100%) !important;
}

@media(max-width:405px){
  .sym.reel-v9 img{
    width:152px!important;
    height:152px!important;
  }
}


/* V10 FINAL: reel icons use only the new generated images. */
.sym.reel-v10{
  width:100%;
  height:100%;
  display:flex;
  align-items:center;
  justify-content:center;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  overflow:visible!important;
}

.sym.reel-v10 img{
  width:176px!important;
  height:176px!important;
  max-width:122%!important;
  max-height:122%!important;
  object-fit:contain!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  filter:
    drop-shadow(0 8px 0 rgba(0,0,0,.20))
    drop-shadow(0 0 14px rgba(255,65,200,.64))
    drop-shadow(0 0 28px rgba(72,230,255,.34))!important;
}

.sym.reel-v10 b{display:none!important}

@media(max-width:405px){
  .sym.reel-v10 img{
    width:152px!important;
    height:152px!important;
  }
}


/* V11: PC / desktop access blocked again */
@media (min-width: 761px){
  body:not(.preview) #desktopBlock{
    display:flex!important;
    position:fixed!important;
    inset:0!important;
    z-index:9999!important;
    align-items:center!important;
    justify-content:center!important;
    text-align:center!important;
    padding:28px!important;
    background:#05010a!important;
  }

  body:not(.preview) #desktopBlock h1{
    font-size:64px!important;
    line-height:.82!important;
    color:#ff41c8!important;
    text-shadow:4px 4px #000,0 0 35px #ff41c8!important;
  }

  body:not(.preview) #desktopBlock p{
    font-size:20px!important;
    color:#f1d5f4!important;
  }

  body:not(.preview) .phone{
    filter:blur(7px)!important;
    opacity:.22!important;
    pointer-events:none!important;
  }
}

/* V11: bet starts at 1 XP and moves by 1 XP */


/* V13: clearer end-of-round results */
.result-title.round-over{
  color:#ffffff!important;
  text-shadow:5px 5px #000,0 0 28px rgba(255,255,255,.38)!important;
}
.result-title.good-run{
  color:#54ff8d!important;
  text-shadow:5px 5px #000,0 0 30px rgba(84,255,141,.68)!important;
}
.result-title.big-run{
  color:#ffd45c!important;
  text-shadow:5px 5px #000,0 0 30px rgba(255,212,92,.76)!important;
}
.result-title.degen-king{
  color:#ff41c8!important;
  text-shadow:5px 5px #000,0 0 35px rgba(255,65,200,.90),0 0 55px rgba(72,230,255,.48)!important;
}
.result-title.rekt{
  color:#ff365f!important;
  text-shadow:5px 5px #000,0 0 34px rgba(255,54,95,.85)!important;
}


/* V14: daily countdown button */
.daily.claimed,
.daily:disabled{
  opacity:.92!important;
  cursor:not-allowed!important;
  color:#ffe9fb!important;
  background:
    radial-gradient(circle at 30% 20%,rgba(255,255,255,.20),transparent 35%),
    linear-gradient(135deg,#30103d,#140720 55%,#08020d)!important;
  border-color:rgba(255,65,200,.55)!important;
  box-shadow:inset 0 0 24px rgba(255,65,200,.18),0 0 18px rgba(72,230,255,.20)!important;
}

.mini-daily.claimed,
.mini-daily:disabled{
  min-width:96px!important;
  font-size:12px!important;
  letter-spacing:.3px!important;
}


/* V15: validated home cover with tiny Still + no square overlay */
.hub-hero{
  min-height:680px!important;
}

.hub-bg{
  background:
    linear-gradient(180deg,rgba(5,1,10,.02),rgba(5,1,10,.04) 38%,rgba(5,1,10,.42) 72%,rgba(5,1,10,.88) 100%),
    url("./assets/home-v15.jpg") center top/cover no-repeat!important;
  opacity:1!important;
  filter:saturate(1.12) contrast(1.04)!important;
}

.hero-logo,
.welcome-bubble{
  display:none!important;
}

.hub-hero .profile-card{
  background:rgba(5,1,10,.80)!important;
  border:1px solid rgba(255,255,255,.20)!important;
  box-shadow:0 0 30px rgba(255,65,200,.25), inset 0 1px rgba(255,255,255,.10)!important;
}

/* V15: dedicated end result visuals */
.result-visual{
  position:relative;
  width:100%;
  margin:6px 0 14px;
  border-radius:22px;
  overflow:hidden;
  border:2px solid rgba(255,255,255,.22);
  box-shadow:0 0 30px rgba(255,65,200,.36), inset 0 1px rgba(255,255,255,.18);
  background:#08020d;
}

.result-visual img{
  display:block;
  width:100%;
  aspect-ratio:16/9;
  object-fit:cover;
}

.result-visual.result-rekt{
  border-color:rgba(255,54,95,.70);
  box-shadow:0 0 34px rgba(255,54,95,.52), inset 0 1px rgba(255,255,255,.18);
}

.result-visual.result-big-run{
  border-color:rgba(255,212,92,.78);
  box-shadow:0 0 34px rgba(255,212,92,.46),0 0 28px rgba(255,65,200,.36);
}

.result-visual.result-degen-king{
  border-color:rgba(255,212,92,.92);
  box-shadow:0 0 38px rgba(255,212,92,.56),0 0 34px rgba(255,65,200,.46);
}

.modal-card{
  max-width:560px!important;
}

@media(max-width:405px){
  .hub-hero{
    min-height:620px!important;
  }
  .result-visual{
    border-radius:18px;
    margin-top:18px;
  }
}


/* V18: two-line forced REKT subtitle */
.modal-card h2 span{
  display:block;
  margin-top:6px;
  font-size:.72em;
  opacity:.92;
  color:#f7d9ff;
}


/* Platform Foundation v1.1 */
.game-tile-bad .bad-icon img{
  object-fit:contain;
  filter:drop-shadow(0 0 12px rgba(255,61,190,.32));
}
.game-tile.locked{
  opacity:.55;
  filter:saturate(.55);
}
.game-tile.locked .pink-gloss{
  pointer-events:none;
}


/* =========================================================
   CN1 Games UI v1.2.2 — Visual Refresh / Telegram access gate
   Foundation backend remains v1.2.
   ========================================================= */
html.cn1-gate-pending body{visibility:hidden}
html.cn1-blocked body{overflow:hidden}
#telegramGate{display:none}
html.cn1-blocked #telegramGate{
  position:fixed;
  inset:0;
  z-index:10000;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  background:#040108;
}
html.cn1-blocked .phone,
html.cn1-blocked #fxLayer{display:none!important}
.gate-backdrop{
  position:absolute;
  inset:-45px;
  background:
    linear-gradient(#030007a8,#030007c2),
    url("./assets/cn1-games-telegram-gate-v122-medium.webp") center/cover no-repeat;
  filter:blur(26px) saturate(1.2);
  transform:scale(1.12);
  opacity:.82;
}
.gate-poster{
  position:relative;
  z-index:2;
  width:min(100vw,calc(100dvh * .5628),552px);
  aspect-ratio:941/1672;
  filter:drop-shadow(0 24px 70px #000d) drop-shadow(0 0 30px #ff41c84f);
}
.gate-poster picture,.gate-poster img{display:block;width:100%;height:100%}
.gate-poster img{object-fit:contain;user-select:none;-webkit-user-drag:none}
.gate-hit{
  position:absolute;
  z-index:4;
  display:block;
  border-radius:22px;
  cursor:pointer;
}
.gate-open-hit{left:24.0%;top:85.55%;width:52.0%;height:5.0%}
.gate-handle-hit{left:26.5%;top:91.75%;width:48.0%;height:3.9%}
.gate-hit:hover,.gate-hit:focus-visible{
  outline:2px solid #ffffffd9;
  box-shadow:0 0 32px #ff41c8cc,inset 0 0 24px #ffffff24;
  background:#ffffff08;
}
.gate-fallback{
  position:absolute;
  width:1px;height:1px;
  padding:0;margin:-1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  white-space:nowrap;
  border:0;
}

/* Generic multi-game hub artwork. Keep game cards as real UI below it. */
.hub-hero{
  min-height:620px;
  border-color:#ff41c87a;
  background:#09020f;
}
.hub-bg{
  background:
    linear-gradient(180deg,#05010a05 0%,#05010a10 52%,#05010a88 82%,#05010ad9 100%),
    url("./assets/cn1-games-hub-v122-mobile.webp") center top/cover no-repeat;
  filter:saturate(1.08) contrast(1.03);
  opacity:.96;
}
.profile-card{
  background:linear-gradient(145deg,#07020ee8,#05010af2);
  border-color:#48e6ff52;
  box-shadow:0 12px 32px #000b,0 0 22px #ff41c82b,inset 0 1px #ffffff22;
}
.daily{
  box-shadow:0 8px 0 #75105c,0 0 24px #ff41c87a,inset 0 2px #ffffff77;
}
@media(min-width:481px) and (min-resolution:1.5dppx){
  .hub-bg{
    background:
      linear-gradient(180deg,#05010a05 0%,#05010a10 52%,#05010a88 82%,#05010ad9 100%),
      url("./assets/cn1-games-hub-v122.webp") center top/cover no-repeat;
  }
}
@media(max-width:405px){
  .hub-hero{min-height:575px}
  .profile-card{grid-template-columns:56px 1fr 76px}
}


/* =========================================================
   v1.2.2 hotfix
   - Browser access blocked, Telegram clients allowed on any device.
   - Click targets aligned to artwork.
   - v122 asset names force Telegram WebView cache refresh.
   ========================================================= */


/* =========================================================
   CN1 Games UI v1.2.3 — Hub Home Image Fix
   Approved generic CN1 Games artwork.
   Full poster aspect ratio preserves the lower breathing room
   before the real game cards rendered below the hero.
   ========================================================= */
.hub-hero{
  min-height:0 !important;
  aspect-ratio:941 / 1672;
  border-color:#ff41c87a;
  background:#09020f;
}
.hub-bg{
  inset:0;
  background:
    linear-gradient(180deg,
      #05010a00 0%,
      #05010a00 58%,
      #05010a1c 72%,
      #05010a70 91%,
      #05010ab8 100%),
    url("./assets/cn1-games-hub-v123-mobile.webp") center top / cover no-repeat !important;
  filter:saturate(1.04) contrast(1.02) !important;
  opacity:1 !important;
}
@media (min-width:481px){
  .hub-bg{
    background:
      linear-gradient(180deg,
        #05010a00 0%,
        #05010a00 58%,
        #05010a1c 72%,
        #05010a70 91%,
        #05010ab8 100%),
      url("./assets/cn1-games-hub-v123.webp") center top / cover no-repeat !important;
  }
}
@media (max-width:405px){
  .hub-hero{
    min-height:0 !important;
    aspect-ratio:941 / 1672;
  }
}


/* =========================================================
   CN1 Games UI v1.2.4 — Hub Layout Polish
   Shorter hero, quicker access to games, scalable bottom nav.
   Backend remains Foundation v1.2.
   ========================================================= */

.hub-hero{
  min-height:0 !important;
  height:auto !important;
  max-height:56vh !important;
  aspect-ratio:941 / 1240 !important;
  overflow:hidden;
}

@media (max-width: 405px){
  .hub-hero{
    max-height:52vh !important;
    aspect-ratio:941 / 1180 !important;
  }
}

@media (min-width: 481px){
  .hub-hero{
    max-height:58vh !important;
    aspect-ratio:941 / 1260 !important;
  }
}

.hub-bg{
  background-position:center 10% !important;
  background-size:cover !important;
  background-repeat:no-repeat !important;
  background-image:
    linear-gradient(180deg,
      #05010a00 0%,
      #05010a00 46%,
      #05010a18 61%,
      #05010a78 84%,
      #05010ad9 100%),
    url("./assets/cn1-games-hub-v123-mobile.webp") !important;
}

@media (min-width:481px){
  .hub-bg{
    background-image:
      linear-gradient(180deg,
        #05010a00 0%,
        #05010a00 46%,
        #05010a18 61%,
        #05010a78 84%,
        #05010ad9 100%),
      url("./assets/cn1-games-hub-v123.webp") !important;
  }
}

/* Bring content closer to the hero */
.games-home,
.games-view,
.games-grid,
.games-list,
.hub-content{
  margin-top:12px !important;
}

.games-grid,
.games-list{
  position:relative;
  z-index:2;
}

.games-grid:first-child,
.games-list:first-child{
  margin-top:0 !important;
}

/* If the app uses a generic section/card wrapper below hero, pull it upward slightly. */
.section-games,
.home-games,
.game-cards,
.games-cards{
  margin-top:-6px !important;
}

/* Bottom nav polish: generic sections, no per-game slot tab. */
.bottom-nav,
.nav-bottom,
.tabbar{
  grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
}

.bottom-nav .nav-item,
.nav-bottom .nav-item,
.tabbar .nav-item{
  min-width:0;
}

.bottom-nav .nav-label,
.nav-bottom .nav-label,
.tabbar .nav-label{
  font-size:11px;
  line-height:1.1;
  letter-spacing:.02em;
}


/* =========================================================
   CN1 Games UI v1.2.5 — Alignment + Profile Hotfix
   ========================================================= */

/* Hero and game cards must share exactly the same content width.
   Do not let aspect-ratio shrink the hero horizontally. */
#hubScreen{
  width:100%;
  max-width:100%;
}
#hubScreen > .hub-hero,
#hubScreen > .game-tile{
  width:100% !important;
  max-width:100% !important;
  margin-left:0 !important;
  margin-right:0 !important;
  box-sizing:border-box !important;
}
.hub-hero{
  aspect-ratio:auto !important;
  height:clamp(350px, 54dvh, 500px) !important;
  min-height:350px !important;
  max-height:500px !important;
}
@media (max-height:700px){
  .hub-hero{
    height:350px !important;
    min-height:350px !important;
  }
}
@media (min-height:900px){
  .hub-hero{
    height:500px !important;
  }
}
.hub-bg{
  background-position:center 15% !important;
}

/* Profile modal */
.cn1-profile-modal{
  text-align:left;
}
.cn1-profile-head{
  display:flex;
  align-items:center;
  gap:13px;
  margin:2px 0 18px;
}
.cn1-profile-head img{
  width:64px;
  height:64px;
  object-fit:contain;
  border-radius:20px;
  border:1px solid #48e6ff66;
  background:#100417;
  box-shadow:0 0 24px #ff41c866;
}
.cn1-profile-head h2{
  margin:2px 0 1px;
  font-size:24px;
}
.cn1-profile-head span{
  color:#e9c7ef;
  font-size:12px;
  font-weight:800;
}
.cn1-profile-level{
  display:grid;
  grid-template-columns:72px 1fr;
  gap:10px;
  align-items:center;
  padding:12px;
  border-radius:20px;
  background:linear-gradient(145deg,#ff41c81d,#48e6ff12);
  border:1px solid #ffffff24;
}
.cn1-profile-level b{
  font-size:30px;
}
.cn1-profile-level em{
  display:block;
  margin-top:4px;
  color:#f5e2fb;
  font-style:normal;
  font-size:11px;
  font-weight:900;
}
.cn1-profile-stats{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
  margin-top:10px;
}
.cn1-profile-stats > div,
.cn1-profile-id{
  padding:12px;
  border-radius:18px;
  background:#ffffff0b;
  border:1px solid #ffffff20;
}
.cn1-profile-stats b{
  display:block;
  margin-top:3px;
  font-size:24px;
}
.cn1-profile-id{
  margin-top:10px;
}
.cn1-profile-id code{
  display:block;
  margin-top:4px;
  color:#48e6ff;
  font-size:12px;
  overflow-wrap:anywhere;
}
.cn1-profile-note{
  margin:13px 2px 0;
  color:#d9b7e4;
  font-size:11px;
  line-height:1.45;
}


/* =========================================================
   CN1 Games UI v1.2.6 — Asset Refresh
   - new brand icon for Home/Profile
   - new Game 02 card image using the approved CN1 face
   ========================================================= */

.app-brand img,
.topbar-brand img,
.profile-avatar img,
.cn1-profile-head img,
.header-brand img,
.logo-mini,
.logo-badge img{
  content: url("./assets/cn1-games-brand-icon-v126.png");
}

.game-card[data-game="bad-decisions"] .game-card-art,
.game-tile[data-game="bad-decisions"] .game-card-art,
.game-card.bad-decisions .game-card-art,
.game-tile.bad-decisions .game-card-art{
  background-image: url("./assets/bad-decisions-card-v127.png") !important;
  background-size: cover !important;
  background-position: center center !important;
}

.bad-decisions-card img,
.game2-card img,
img[data-game="bad-decisions"],
img[alt*="Bad Decisions"]{
  content: url("./assets/bad-decisions-card-v127.png");
}




/* CN1 Games UI v1.2.10 — exact minimal hub patch */
.game-tile-bad .bad-icon{
  overflow:visible;
  background:transparent !important;
}
.game-tile-bad .bad-icon img{
  width:90px !important;
  height:90px !important;
  object-fit:contain !important;
  object-position:center center !important;
  background:transparent !important;
  border:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
  filter:drop-shadow(0 0 10px rgba(255,65,200,.34)) !important;
}


/* =========================================================
   CN1 Games UI v1.2.11 — cutout + spacing polish
   Safe base: v1.2.10
   ========================================================= */

/* True transparent cutout for Game 02 */
.game-tile-bad .bad-icon{
  width:92px !important;
  height:92px !important;
  min-width:92px !important;
  display:grid !important;
  place-items:center !important;
  overflow:visible !important;
  background:transparent !important;
  box-shadow:none !important;
  border:0 !important;
}

.game-tile-bad .bad-icon img{
  width:92px !important;
  height:92px !important;
  object-fit:contain !important;
  object-position:center center !important;
  background:transparent !important;
  border:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
  filter:drop-shadow(0 0 10px rgba(255,65,200,.28)) !important;
}

/* Give breathing room before GAME 03 / GAME 04 cards */
.game-tile-bad{
  margin-bottom:14px !important;
}

.game-tile-bad + .grid-2,
.game-tile-bad + .mini-grid,
.game-tile-bad + .hub-grid,
.game-tile-bad + .cards-grid,
.game-tile-bad + .tile-grid,
.game-tile-bad + .games-grid{
  margin-top:10px !important;
}

/* Equal spacing for bottom tabs */
.bottom-nav,
.nav-bottom,
.tabbar,
.tabs-bottom{
  display:grid !important;
  grid-template-columns:repeat(5, minmax(0, 1fr)) !important;
  gap:0 !important;
  align-items:stretch !important;
  justify-items:stretch !important;
}

.bottom-nav button,
.nav-bottom button,
.tabbar button,
.tabs-bottom button,
.bottom-nav .nav-item,
.nav-bottom .nav-item,
.tabbar .nav-item,
.tabs-bottom .nav-item{
  width:100% !important;
  min-width:0 !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  gap:6px !important;
  padding:10px 4px !important;
  text-align:center !important;
}

.bottom-nav span,
.nav-bottom span,
.tabbar span,
.tabs-bottom span,
.bottom-nav .nav-label,
.nav-bottom .nav-label,
.tabbar .nav-label,
.tabs-bottom .nav-label{
  display:block !important;
  width:100% !important;
  text-align:center !important;
  font-size:11px !important;
  line-height:1.05 !important;
  letter-spacing:.02em !important;
}


/* =========================================================
   CN1 Games UI v1.2.12 — Final Hub Tuning
   - exact approved Bad Decisions portrait
   - extra breathing room before GAME 03 / GAME 04
   - evenly spaced 5-tab bottom nav
   ========================================================= */

.game-tile-bad .bad-icon{
  width:92px !important;
  height:92px !important;
  min-width:92px !important;
  display:grid !important;
  place-items:center !important;
  overflow:visible !important;
  background:transparent !important;
  box-shadow:none !important;
  border:0 !important;
}

.game-tile-bad .bad-icon img{
  width:92px !important;
  height:92px !important;
  object-fit:contain !important;
  object-position:center center !important;
  background:transparent !important;
  border:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
  filter:drop-shadow(0 0 10px rgba(255,65,200,.24)) !important;
}

/* Lower GAME 03 / GAME 04 a little more */
.game-tile-bad{
  margin-bottom:18px !important;
}

/* If the next block is a 2-column grid / cards row, push it slightly down */
.game-tile-bad + .grid-2,
.game-tile-bad + .mini-grid,
.game-tile-bad + .hub-grid,
.game-tile-bad + .cards-grid,
.game-tile-bad + .tile-grid,
.game-tile-bad + .games-grid,
.game-tile-bad + .quick-grid{
  margin-top:12px !important;
}

/* Even bottom nav spacing */
.bottom-nav,
.nav-bottom,
.tabbar,
.tabs-bottom{
  display:grid !important;
  grid-template-columns:repeat(5, minmax(0, 1fr)) !important;
  gap:0 !important;
  align-items:stretch !important;
  justify-items:stretch !important;
}

.bottom-nav button,
.nav-bottom button,
.tabbar button,
.tabs-bottom button,
.bottom-nav .nav-item,
.nav-bottom .nav-item,
.tabbar .nav-item,
.tabs-bottom .nav-item{
  width:100% !important;
  min-width:0 !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  gap:6px !important;
  padding:10px 4px !important;
  text-align:center !important;
}

.bottom-nav span,
.nav-bottom span,
.tabbar span,
.tabs-bottom span,
.bottom-nav .nav-label,
.nav-bottom .nav-label,
.tabbar .nav-label,
.tabs-bottom .nav-label{
  display:block !important;
  width:100% !important;
  text-align:center !important;
  font-size:11px !important;
  line-height:1.05 !important;
  letter-spacing:.02em !important;
}


/* =========================================================
   CN1 Games UI v1.2.13 — Exact Bad Decisions image fix
   ========================================================= */

.tile-icon.bad-icon,
.game-tile-bad .bad-icon{
  background:none !important;
  background-image:none !important;
  border:0 !important;
  box-shadow:none !important;
  overflow:visible !important;
}

.tile-icon.bad-icon img,
.game-tile-bad .bad-icon img{
  content: url("./assets/bad-decisions-exact-v1213.png") !important;
  width:92px !important;
  height:92px !important;
  object-fit:contain !important;
  object-position:center center !important;
  background:transparent !important;
  border:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
  filter:drop-shadow(0 0 10px rgba(255,65,200,.24)) !important;
}


/* =========================================================
   Eggplant Jackpot V19 — Shared XP Economy
   ========================================================= */

.cn1-profile-stats.v19{
  grid-template-columns:repeat(2,minmax(0,1fr));
}
.cn1-profile-stats.v19 b{
  font-size:20px;
}
.cn1-profile-stats.v19 small{
  color:#d9b7e4;
}
.rank-tabs{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px;
  margin:10px 0 14px;
}
.rank-tabs .btn-glass{
  min-width:0;
  padding:10px 5px;
  font-size:11px;
}
#playBtn:disabled{
  opacity:.45;
  filter:grayscale(.45);
  cursor:not-allowed;
}


/* =========================================================
   Jackpot V19.1 — Daily XP Play Limits
   ========================================================= */
.modebox .xp-play-limit{
  grid-column:1 / -1;
  display:block;
  margin-top:3px;
  padding:8px 10px;
  border-radius:12px;
  border:1px solid #ffffff1f;
  background:#07020dbd;
  color:#b9efff;
  font-size:10px;
  font-weight:1000;
  letter-spacing:.08em;
  text-align:center;
  text-transform:uppercase;
}
.modebox .xp-play-limit.limit-reached{
  color:#ff9fb5;
  border-color:#ff4c7440;
  background:#240611c9;
}
#playBtn:disabled{
  opacity:.48;
  filter:grayscale(.35);
  cursor:not-allowed;
}


/* =========================================================
   CN1 SHOP V1 — XP Shop Foundation
   ========================================================= */

.shop-launch-card{
  margin-top:18px;
  display:grid;
  grid-template-columns:54px 1fr auto;
  gap:10px;
  align-items:center;
  padding:12px;
  border-radius:20px;
  border:1px solid rgba(255,255,255,.16);
  background:linear-gradient(145deg,rgba(255,65,200,.18),rgba(72,230,255,.08));
}
.shop-launch-icon{font-size:34px;filter:drop-shadow(0 0 12px rgba(255,65,200,.7))}
.shop-launch-card b{display:block;font-size:18px}
.shop-launch-card small{display:block;margin-top:3px;color:#e6c7ee;font-weight:800;letter-spacing:0;text-transform:none}
.shop-launch-card button{min-height:48px;padding:0 14px}
.shop-footnote{font-size:11px!important;opacity:.72}

.shop-modal{padding-top:2px}
.shop-header{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  margin:0 34px 8px 0;
}
.shop-header h2{margin-top:2px}
.shop-balance{
  flex:0 0 auto;
  min-width:92px;
  padding:10px 12px;
  border-radius:18px;
  text-align:center;
  border:1px solid rgba(72,230,255,.35);
  background:linear-gradient(145deg,rgba(72,230,255,.15),rgba(255,65,200,.12));
  box-shadow:0 0 22px rgba(72,230,255,.12);
}
.shop-balance b{display:block;font-size:27px;line-height:1}
.shop-message{
  margin:10px 0 14px;
  padding:11px 13px;
  border-radius:16px;
  background:rgba(84,255,141,.12);
  border:1px solid rgba(84,255,141,.38);
  color:#dfffe8;
  font-weight:1000;
}

.shop-grid{display:grid;gap:11px;margin-top:14px}
.shop-item{
  display:grid;
  grid-template-columns:58px 1fr;
  gap:10px;
  padding:12px;
  border-radius:22px;
  border:1px solid rgba(255,255,255,.16);
  background:
    radial-gradient(circle at 100% 0%,rgba(72,230,255,.12),transparent 34%),
    linear-gradient(145deg,rgba(255,65,200,.16),rgba(8,3,12,.88));
  box-shadow:inset 0 1px rgba(255,255,255,.08);
}
.shop-item.owned{
  border-color:rgba(84,255,141,.38);
  background:
    radial-gradient(circle at 100% 0%,rgba(84,255,141,.12),transparent 34%),
    linear-gradient(145deg,rgba(255,65,200,.12),rgba(8,3,12,.88));
}
.shop-item-icon{
  width:58px;height:58px;
  display:grid;place-items:center;
  border-radius:18px;
  font-size:34px;
  background:#06020bbd;
  border:1px solid rgba(255,255,255,.14);
  box-shadow:0 0 20px rgba(255,65,200,.18);
}
.shop-item-copy h3{
  margin:1px 0 5px;
  font-size:20px;
  line-height:1;
}
.shop-item-copy p:not(.eyebrow){
  margin:0;
  font-size:12px;
  line-height:1.35;
}
.shop-buy-btn{
  grid-column:1/-1;
  min-height:48px;
}
.shop-buy-btn:disabled{
  opacity:.58;
  filter:saturate(.55);
  transform:none!important;
  box-shadow:0 4px 0 #44103a,0 0 13px rgba(255,65,200,.25)!important;
}
.shop-item.owned .shop-buy-btn:disabled{
  opacity:.85;
  color:#dfffe8;
  background:linear-gradient(145deg,#1d6d47,#0e422c);
  box-shadow:0 4px 0 #082619,0 0 15px rgba(84,255,141,.2)!important;
}

.shop-confirm{text-align:center;padding-top:8px}
.shop-confirm-icon{font-size:72px;filter:drop-shadow(0 0 22px rgba(255,65,200,.6))}
.shop-confirm-math{
  display:grid;
  grid-template-columns:1fr;
  gap:5px;
  margin:16px 0;
  padding:14px;
  border-radius:18px;
  background:#05010aa8;
  border:1px solid rgba(255,255,255,.15);
}
.shop-confirm-math span{font-size:16px;color:#e7d2ec;font-weight:800}
.shop-confirm-math b{font-size:23px;color:#ff8fe3}
.shop-confirm-math strong{font-size:17px;color:#54ff8d}
.shop-secondary-btn{
  margin-top:10px!important;
  background:linear-gradient(145deg,#372043,#14061a)!important;
  box-shadow:0 6px 0 #050208!important;
}

.profile-collection{
  margin-top:12px;
  padding:12px;
  border-radius:18px;
  background:#05010aa6;
  border:1px solid rgba(255,255,255,.13);
}
.profile-collection>div{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
  margin-top:7px;
}
.profile-collectible{
  display:inline-flex;
  align-items:center;
  gap:5px;
  padding:7px 9px;
  border-radius:999px;
  border:1px solid rgba(255,65,200,.36);
  background:rgba(255,65,200,.11);
  color:#fff;
  font-size:11px;
  font-weight:1000;
}
.profile-collection-empty{
  color:#cdb0d7;
  font-size:11px;
  font-weight:800;
}
.cn1-profile-modal.shop-profile-frame{
  margin:-5px;
  padding:14px;
  border-radius:24px;
  border:2px solid #ff41c8;
  box-shadow:
    0 0 16px rgba(255,65,200,.75),
    0 0 34px rgba(72,230,255,.24),
    inset 0 0 18px rgba(255,65,200,.14);
}
.cn1-profile-modal.shop-profile-frame .cn1-profile-head img{
  border-radius:18px;
  box-shadow:0 0 0 2px #ff41c8,0 0 22px rgba(255,65,200,.85);
}

@media(max-width:390px){
  .shop-launch-card{grid-template-columns:46px 1fr}
  .shop-launch-card button{grid-column:1/-1}
  .shop-header{align-items:center}
  .shop-balance{min-width:82px}
}

/* =========================================================
   CN1 Games Hub — LOWER ROOMS SOLO / MULTI
   Hub LR-MP 0.1 integration
   ========================================================= */
.game-tile-lower-rooms{
  grid-template-columns:95px minmax(0,1fr) 78px !important;
}
.lower-rooms-actions{
  display:grid;
  gap:9px;
  align-content:center;
  align-self:stretch;
  min-width:0;
}
.lower-rooms-actions .lr-action{
  width:100%;
  height:48px;
  min-width:0;
  padding:0 7px;
  border-radius:16px;
  font-size:11px;
  line-height:1;
  letter-spacing:.02em;
}
.lower-rooms-actions .lr-action-multi{
  background:linear-gradient(145deg,#86f3ff,#25b9e6);
  color:#041016;
  box-shadow:0 7px 0 #12617a,0 0 26px rgba(72,230,255,.55),inset 0 2px rgba(255,255,255,.72);
  text-shadow:none;
}
.lower-rooms-actions .lr-action-multi:active{
  box-shadow:0 2px 0 #12617a,0 0 16px rgba(72,230,255,.45);
}
.game-tile-lower-rooms.locked .lr-action{
  pointer-events:none;
  opacity:.58;
  filter:saturate(.45);
}
@media(max-width:405px){
  .game-tile-lower-rooms{
    grid-template-columns:78px minmax(0,1fr) 64px !important;
  }
  .lower-rooms-actions{
    gap:7px;
  }
  .lower-rooms-actions .lr-action{
    height:43px;
    padding:0 4px;
    border-radius:14px;
    font-size:10px;
  }
}

/* CN1_SLOTS_UI_CONSISTENCY_V1 */

/* ==========================================================
   GAME RULES — compact, readable, less wasted vertical space
   ========================================================== */

.rules-panel{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:6px!important;
  padding:9px!important;
  border-radius:20px!important;
}

.rules-panel h3{
  grid-column:1 / -1!important;
  margin:0 0 2px!important;
  font-size:13px!important;
  letter-spacing:.08em!important;
}

.rules-panel div{
  display:grid!important;
  grid-template-columns:34px minmax(0,1fr)!important;
  align-items:center!important;

  gap:6px!important;
  padding:7px!important;

  min-height:67px!important;

  border-radius:13px!important;
}

.rules-panel img{
  width:34px!important;
  height:34px!important;
  object-fit:contain!important;
}

.rules-panel div b{
  display:block!important;
  margin:0 0 2px!important;

  font-size:10px!important;
  line-height:1.05!important;

  letter-spacing:-.01em!important;
}

.rules-panel div span{
  display:block!important;

  margin:0!important;

  font-size:8px!important;
  line-height:1.18!important;

  text-align:left!important;
  font-weight:750!important;

  overflow-wrap:normal!important;
  word-break:normal!important;
}

/* ==========================================================
   NATIVE GAME NAV
   Visually aligned with presentation Home navigation.
   Position remains fixed because this is a game screen.
   ========================================================== */

.nav{
  left:50%!important;
  bottom:max(7px,env(safe-area-inset-bottom))!important;

  width:min(
    540px,
    calc(100% - 16px)
  )!important;

  grid-template-columns:repeat(5,1fr)!important;

  gap:2px!important;
  padding:4px!important;

  border:1px solid #aa4ca054!important;
  border-radius:17px!important;

  background:#0f0712f0!important;

  box-shadow:
    0 13px 35px #0008!important;

  backdrop-filter:blur(14px)!important;
  -webkit-backdrop-filter:blur(14px)!important;

  z-index:50!important;
}

.nav button{
  height:46px!important;

  padding:5px 1px!important;

  border-radius:13px!important;

  color:#a98ab9!important;

  font-size:14px!important;

  background:transparent!important;
}

.nav span{
  display:block!important;

  margin-top:1px!important;

  font-size:7px!important;
  line-height:1!important;

  letter-spacing:.02em!important;

  font-weight:900!important;
}

.nav .active{
  color:#fff!important;

  background:
    linear-gradient(
      #f635b761,
      #631a5a47
    )!important;

  border:1px solid #ee36b2b3!important;

  box-shadow:
    inset 0 1px #ffffff20!important;
}

/*
 * Keep enough space below Slots content so the fixed nav
 * never covers the last rule card.
 */
#slotsScreen .slot-page{
  padding-bottom:
    max(
      78px,
      calc(env(safe-area-inset-bottom) + 70px)
    )!important;
}

@media(max-width:405px){

  .rules-panel{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:5px!important;
    padding:7px!important;
  }

  .rules-panel h3{
    grid-column:1 / -1!important;
  }

  .rules-panel div{
    grid-template-columns:30px minmax(0,1fr)!important;

    min-height:62px!important;

    gap:5px!important;
    padding:6px!important;
  }

  .rules-panel img{
    width:30px!important;
    height:30px!important;
  }

  .rules-panel div b{
    font-size:9px!important;
  }

  .rules-panel div span{
    font-size:7.5px!important;
    line-height:1.15!important;
  }

  .nav{
    width:calc(100% - 14px)!important;
    padding:3px!important;
  }

  .nav button{
    height:43px!important;
    font-size:13px!important;
  }

  .nav span{
    font-size:6px!important;
  }
}

/* /CN1_SLOTS_UI_CONSISTENCY_V1 */

/* CN1_RULES_LAYOUT_V2 */

/*
 * GAME RULES
 * Goal:
 * - icon + title on first line
 * - description uses full width underneath
 * - bigger text, cleaner layout, less wasted width
 */

.rules-panel{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:7px!important;
  padding:9px!important;
  border-radius:20px!important;
}

.rules-panel h3{
  grid-column:1 / -1!important;
  margin:0 0 3px!important;
  font-size:13px!important;
  letter-spacing:.08em!important;
}

.rules-panel div{
  display:grid!important;
  grid-template-columns:34px minmax(0,1fr)!important;
  grid-template-areas:
    "icon title"
    "desc desc"!important;

  align-items:center!important;
  column-gap:7px!important;
  row-gap:4px!important;

  padding:8px!important;
  min-height:74px!important;

  border-radius:13px!important;
}

.rules-panel img{
  grid-area:icon!important;
  width:34px!important;
  height:34px!important;
  object-fit:contain!important;
  align-self:center!important;
  justify-self:center!important;
}

.rules-panel div b{
  grid-area:title!important;
  display:block!important;
  margin:0!important;

  font-size:11px!important;
  line-height:1.08!important;
  letter-spacing:-.01em!important;

  text-align:left!important;
  align-self:center!important;
}

.rules-panel div span{
  grid-area:desc!important;
  display:block!important;
  width:100%!important;

  margin:0!important;

  font-size:9px!important;
  line-height:1.2!important;
  font-weight:750!important;

  text-align:left!important;

  overflow-wrap:break-word!important;
  word-break:normal!important;
  hyphens:none!important;
}

/* Slightly tighter phones */
@media(max-width:405px){

  .rules-panel{
    gap:6px!important;
    padding:7px!important;
  }

  .rules-panel div{
    grid-template-columns:30px minmax(0,1fr)!important;
    column-gap:6px!important;
    row-gap:3px!important;

    min-height:69px!important;
    padding:7px!important;
  }

  .rules-panel img{
    width:30px!important;
    height:30px!important;
  }

  .rules-panel div b{
    font-size:10px!important;
  }

  .rules-panel div span{
    font-size:8.5px!important;
    line-height:1.16!important;
  }
}

/* /CN1_RULES_LAYOUT_V2 */

/* CN1_ROCKET_RUN_STYLE_V1 */

.rocket-bonus{
  position:relative;
  z-index:2;

  margin:10px 0;
  padding:9px 11px;

  display:grid;
  grid-template-columns:48px 1fr;
  align-items:center;
  gap:9px;

  border:1px solid #ff4ec8;
  border-radius:18px;

  background:
    linear-gradient(
      135deg,
      #391050ee,
      #10051aee
    );

  box-shadow:
    0 0 28px #ff41c84c,
    inset 0 1px #ffffff28;
}

.rocket-bonus[hidden]{
  display:none!important;
}

.rocket-bonus img{
  width:48px;
  height:48px;
  object-fit:contain;

  filter:
    drop-shadow(0 0 9px #ff41c8);
}

.rocket-bonus b{
  display:block;

  color:#fff;
  font-size:17px;
  line-height:1;

  text-shadow:
    0 0 12px #ff41c8;
}

.rocket-bonus span{
  display:block;

  margin-top:4px;

  color:#ffd9f7;
  font-size:10px;
  line-height:1.15;
  font-weight:900;
}

/* /CN1_ROCKET_RUN_STYLE_V1 */

/* CN1_OWNER_FORCE_ROCKET_STYLE_V1 */

.force-rocket-test{
  margin-top:4px;
  min-height:42px;
  border-radius:14px;
  border:1px dashed #ff5ed1;
  background:#1a071fee;
  color:#ff9ce4;
  font-size:10px;
  font-weight:1000;
  letter-spacing:.06em;
  box-shadow:0 0 18px #ff41c82e;
}

.force-rocket-test[hidden]{
  display:none!important;
}

.force-rocket-test:disabled{
  opacity:.7;
}

/* /CN1_OWNER_FORCE_ROCKET_STYLE_V1 */

/* CN1_WALLET_SAVED_FX_STYLE_V1 */

.wallet-saved-fx{
  position:absolute;
  left:50%;
  top:46%;
  transform:translate(-50%,-50%);

  width:min(410px,86vw);

  padding:22px 18px 20px;

  border-radius:26px;
  border:2px solid #6dffb1;

  background:
    radial-gradient(circle at 50% 0%,#50e7ff35,transparent 40%),
    linear-gradient(145deg,#071715f2,#07101af6);

  box-shadow:
    0 0 60px #50e7ff5f,
    0 0 34px #6dffb15a,
    inset 0 1px #ffffff38;

  text-align:center;

  animation:walletSavedIn 4.3s ease forwards;
}

.wallet-saved-fx img{
  width:92px;
  height:92px;
  object-fit:contain;

  filter:
    drop-shadow(0 0 14px #50e7ff)
    drop-shadow(0 0 22px #6dffb1);
}

.wallet-saved-fx h2{
  margin:2px 0 0;

  color:#ffffff;
  font-size:38px;
  line-height:.9;
  font-weight:1000;

  text-shadow:
    3px 3px #000,
    0 0 24px #6dffb1;
}

.wallet-saved-fx h3{
  margin:7px 0 5px;

  color:#6dffb1;
  font-size:19px;
  font-weight:1000;
  letter-spacing:.04em;

  text-shadow:
    0 0 16px #6dffb1;
}

.wallet-saved-fx p{
  margin:0;

  color:#d8fff1;
  font-size:12px;
  font-weight:900;
}

.wallet-saved-particle{
  position:absolute;
  z-index:82;

  color:#6dffb1;
  font-size:18px;

  text-shadow:
    0 0 10px #50e7ff;

  animation:walletSavedParticle 1.2s ease-out forwards;
}

@keyframes walletSavedIn{
  0%{
    opacity:0;
    transform:translate(-50%,-44%) scale(.72);
  }

  10%{
    opacity:1;
    transform:translate(-50%,-50%) scale(1.07);
  }

  78%{
    opacity:1;
    transform:translate(-50%,-50%) scale(1);
  }

  90%{
    opacity:1;
    transform:translate(-50%,-50%) scale(1);
  }

  100%{
    opacity:0;
    transform:translate(-50%,-57%) scale(.94);
  }
}

@keyframes walletSavedParticle{
  0%{
    opacity:0;
    transform:scale(.4);
  }

  20%{
    opacity:1;
  }

  100%{
    opacity:0;
    transform:
      translateY(-45px)
      scale(1.2);
  }
}

/* /CN1_WALLET_SAVED_FX_STYLE_V1 */

/* CN1_SPIN_HOLD_AUTO_STYLE_V1 */

#spinBtn,
#spinBtn *,
.spin,
.spin *{
  -webkit-user-select:none!important;
  user-select:none!important;
  -webkit-touch-callout:none!important;
  touch-action:manipulation;
}

#spinBtn.auto-active{
  box-shadow:
    0 8px 0 #75105c,
    0 0 42px #50e7ff,
    inset 0 2px #ffffff88;
}

#spinBtn.auto-active span{
  color:#9effff;
}

/* /CN1_SPIN_HOLD_AUTO_STYLE_V1 */

/* CN1_END_RUN_CARD_V1 */

.cn1-end-card{
  position:relative;
  overflow:hidden;

  margin:8px auto 0;
  padding:18px;

  border-radius:28px;
  border:1px solid #ffffff26;

  background:
    radial-gradient(circle at 50% -8%,#ff3ec933,transparent 37%),
    linear-gradient(160deg,#16051cf5,#08030df8 70%);

  box-shadow:
    0 20px 70px #000b,
    0 0 42px #ff41c82a,
    inset 0 1px #ffffff18;

  text-align:center;

  animation:
    cn1EndCardIn .52s cubic-bezier(.18,.8,.25,1.15) both;
}

.cn1-end-card:before{
  content:"";
  position:absolute;
  inset:0;

  pointer-events:none;

  background:
    linear-gradient(
      115deg,
      transparent 20%,
      #ffffff0d 48%,
      transparent 73%
    );

  transform:translateX(-90%);
  animation:cn1EndSweep 1.25s ease .12s both;
}

.cn1-end-visual{
  width:100%;
  max-height:160px;

  margin:0 auto 12px;

  border-radius:20px;
  overflow:hidden;

  border:1px solid #ffffff22;
}

.cn1-end-visual img{
  width:100%;
  height:150px;

  display:block;

  object-fit:cover;
  object-position:center;
}

.cn1-end-mark{
  width:92px;
  height:92px;

  margin:0 auto 10px;

  display:grid;
  place-items:center;

  border-radius:28px;

  border:1px solid #ff5ed17d;

  background:
    radial-gradient(circle,#ff4bc93e,transparent 65%),
    #0c0410;

  box-shadow:
    0 0 38px #ff41c84f;
}

.cn1-end-mark span{
  font-size:28px;
  font-weight:1000;
  letter-spacing:-.05em;

  color:#fff;

  text-shadow:
    2px 2px #000,
    0 0 18px #ff41c8;
}

.cn1-end-kicker{
  margin-top:3px;

  font-size:9px;
  font-weight:1000;
  letter-spacing:.14em;

  color:#cda6d6;
}

.cn1-end-title{
  margin-top:8px;

  font-size:46px;
  line-height:.83;

  font-weight:1000;
  letter-spacing:-.045em;

  color:#fff;

  text-shadow:
    4px 4px #000,
    0 0 25px #ff41c87a;
}

.cn1-end-punch{
  margin-top:10px;

  font-size:18px;
  line-height:1;

  font-weight:1000;

  color:#ff82dc;
}

.cn1-end-sub{
  min-height:16px;

  margin-top:5px;

  font-size:11px;
  font-weight:850;

  color:#e8cce9;
}

.cn1-end-stats{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));

  gap:8px;

  margin-top:16px;
}

.cn1-end-stat{
  min-width:0;

  padding:11px 5px 10px;

  border-radius:17px;

  border:1px solid #ffffff20;

  background:
    linear-gradient(145deg,#ffffff11,#ffffff05);

  box-shadow:
    inset 0 1px #ffffff12;
}

.cn1-end-stat small{
  display:block;

  font-size:7px;
  line-height:1.1;

  font-weight:1000;
  letter-spacing:.08em;

  color:#c8a9ce;
}

.cn1-end-stat b{
  display:block;

  margin-top:5px;

  font-size:22px;
  line-height:1;

  overflow-wrap:anywhere;
}

.cn1-end-stat b.positive{
  color:#70ffb7;
}

.cn1-end-stat b.negative{
  color:#ff6787;
}

.cn1-end-again{
  width:100%;
  min-height:58px;

  margin-top:14px;

  border:0;
  border-radius:19px;

  background:
    linear-gradient(145deg,#ff5bcf,#ed249f);

  color:#fff;

  font-size:18px;
  font-weight:1000;

  text-transform:uppercase;

  box-shadow:
    0 7px 0 #711053,
    0 0 28px #ff41c884,
    inset 0 2px #ffffff77;

  text-shadow:1px 2px #0005;
}

.cn1-end-again:active{
  transform:translateY(4px);

  box-shadow:
    0 3px 0 #711053,
    0 0 18px #ff41c86c;
}

.cn1-end-footer{
  margin-top:10px;

  font-size:8px;
  font-weight:900;
  letter-spacing:.08em;

  color:#7e6983;
}

/* ROUND */
.cn1-end-round{
  border-color:#ff4fc348;
}

/* GOOD */
.cn1-end-good{
  border-color:#5be7ff72;

  background:
    radial-gradient(circle at 50% -8%,#48dfff32,transparent 37%),
    linear-gradient(160deg,#08151cf5,#07040df8 70%);
}

.cn1-end-good .cn1-end-punch{
  color:#70eaff;
}

.cn1-end-good .cn1-end-mark{
  border-color:#70eaff88;
  box-shadow:0 0 38px #49dfff4f;
}

/* BIG */
.cn1-end-big{
  border-color:#ffcf596e;

  background:
    radial-gradient(circle at 50% -8%,#ffcf5938,transparent 37%),
    linear-gradient(160deg,#1d0e13f5,#09030df8 70%);
}

.cn1-end-big .cn1-end-punch{
  color:#ffd76e;
}

/* KING */
.cn1-end-king{
  border-color:#ffd7669e;

  background:
    radial-gradient(circle at 50% -5%,#ffd65b40,transparent 39%),
    radial-gradient(circle at 20% 20%,#ff40c52b,transparent 35%),
    linear-gradient(160deg,#1e0e18f8,#09030df8 70%);

  box-shadow:
    0 20px 80px #000c,
    0 0 55px #ffd95a4e,
    0 0 35px #ff41c848;
}

.cn1-end-king .cn1-end-title,
.cn1-end-king .cn1-end-punch{
  color:#ffe27a;
}

/* REKT */
.cn1-end-rekt{
  border-color:#ff567f92;

  background:
    radial-gradient(circle at 50% -8%,#ff35563d,transparent 40%),
    linear-gradient(160deg,#21050af7,#080207fa 70%);
}

.cn1-end-rekt .cn1-end-title,
.cn1-end-rekt .cn1-end-punch{
  color:#ff6687;
}

@keyframes cn1EndCardIn{
  0%{
    opacity:0;
    transform:translateY(22px) scale(.93);
  }

  100%{
    opacity:1;
    transform:translateY(0) scale(1);
  }
}

@keyframes cn1EndSweep{
  from{
    transform:translateX(-100%);
  }

  to{
    transform:translateX(120%);
  }
}

@media(max-width:390px){
  .cn1-end-title{
    font-size:39px;
  }

  .cn1-end-punch{
    font-size:16px;
  }

  .cn1-end-stat b{
    font-size:19px;
  }
}

/* /CN1_END_RUN_CARD_V1 */

/* CN1_END_EGGPLANT_V1 */

.cn1-end-eggplant{
  width:102px;
  height:102px;

  border-radius:30px;

  background:
    radial-gradient(
      circle at 50% 45%,
      #ff56cf42,
      #120617 68%
    );

  border:1px solid #ff63d28c;

  box-shadow:
    0 0 36px #ff42c760,
    inset 0 1px #ffffff24;
}

.cn1-end-eggplant img{
  width:88px;
  height:88px;

  display:block;
  margin:auto;

  object-fit:contain;

  filter:
    drop-shadow(0 0 8px #ff4ecb)
    drop-shadow(0 5px 5px #0009);
}

/* /CN1_END_EGGPLANT_V1 */

/* CN1_RACKET_RESCUE_HINT_STYLE_V1 */

.racket-rescue-hint{
  display:none;

  margin:14px 0 8px;
  padding:15px 12px 13px;

  text-align:center;

  border:2px solid #ff577d;
  border-radius:20px;

  background:
    radial-gradient(circle at 50% 0%,#ff4f7040,transparent 58%),
    linear-gradient(160deg,#2a0710f6,#0d0307f8);

  box-shadow:
    0 0 28px #ff40645e,
    inset 0 1px #ffffff22;

  transform-origin:center;

  overflow:hidden;
}

.racket-rescue-hint.active{
  display:block;

  animation:
    racketHintIn .34s cubic-bezier(.2,.8,.25,1.2) both,
    racketHintPulse 1s ease-in-out .34s 3;
}

.racket-rescue-warning{
  font-size:13px;
  font-weight:1000;
  letter-spacing:.16em;

  color:#ff7d98;
}

.racket-rescue-copy{
  margin-top:3px;

  font-size:28px;
  line-height:.95;

  font-weight:1000;

  color:#fff;

  text-shadow:
    3px 3px #000,
    0 0 18px #ff4c6b;
}

.racket-rescue-action{
  margin-top:8px;

  font-size:14px;
  line-height:1.05;

  font-weight:1000;

  color:#ffd7df;

  text-shadow:
    2px 2px #000;
}

.racket-rescue-arrow{
  margin-top:5px;

  font-size:30px;
  line-height:.8;

  font-weight:1000;

  color:#ff4f75;

  animation:racketArrowBounce .55s ease-in-out infinite alternate;
}

#rescueCard.rescue-attention{
  position:relative;

  border-color:#ff5578!important;

  box-shadow:
    0 0 0 2px #ff557840,
    0 0 34px #ff44696e,
    inset 0 1px #ffffff22!important;

  animation:rescueCardAttention .8s ease-in-out 3;
}

#rescueCard.rescue-attention #rescueBtn{
  animation:rescueButtonPulse .7s ease-in-out infinite alternate;
}

@keyframes racketHintIn{
  0%{
    opacity:0;
    transform:translateY(-10px) scale(.94);
  }

  100%{
    opacity:1;
    transform:translateY(0) scale(1);
  }
}

@keyframes racketHintPulse{
  50%{
    box-shadow:
      0 0 42px #ff40658f,
      inset 0 1px #ffffff28;
  }
}

@keyframes racketArrowBounce{
  from{
    transform:translateY(-2px);
  }

  to{
    transform:translateY(7px);
  }
}

@keyframes rescueCardAttention{
  50%{
    transform:scale(1.015);
  }
}

@keyframes rescueButtonPulse{
  from{
    filter:brightness(1);
  }

  to{
    filter:brightness(1.25);
  }
}

/* /CN1_RACKET_RESCUE_HINT_STYLE_V1 */
