*{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent}
html,body{height:100%;background:#0e1a24;overflow:hidden;font-family:Roboto,"Helvetica Neue",Arial,sans-serif;color:#fff;user-select:none;-webkit-user-select:none}
#root{position:absolute;left:0;top:0;transform-origin:0 0}
#app{width:390px;position:relative;display:flex;flex-direction:column;overflow:hidden;
  background:radial-gradient(ellipse 120% 60% at 50% 0%,#1d3446 0%,#1a2f40 40%,#172a39 70%,#15263a 100%)}
#app:before{z-index:0;content:"";position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(circle at 85% 55%,rgba(255,255,255,.035) 0 60px,transparent 61px),radial-gradient(circle at 15% 40%,rgba(255,255,255,.03) 0 90px,transparent 91px)}
.top{display:flex;align-items:center;padding:0 10px;height:30px;margin-top:6px;position:relative;z-index:3}
.ib{width:24px;height:24px;border-radius:50%;background:#c3ccd8;display:flex;align-items:center;justify-content:center;margin-right:10px;cursor:pointer;flex:none;box-shadow:inset 0 -2px 0 rgba(0,0,0,.18)}
.ib svg{width:16px;height:16px}
.ib.plain{background:none;box-shadow:none}
.ib.plain svg{width:24px;height:24px}
.ib:active{transform:scale(.9)}
.gcoin{width:22px;height:22px;border-radius:50%;background:radial-gradient(circle at 40% 35%,#ffe680,#f7b915 60%,#d98e00);border:1.5px solid #ffdb5a;display:flex;align-items:center;justify-content:center;color:#b06c00;font-weight:900;font-size:12px;font-family:Arial;flex:none;position:relative;z-index:2}
.balpill{margin-left:-10px;width:118px;height:20px;background:#1b2836;border-radius:0 10px 10px 0;display:flex;align-items:center;justify-content:center;font-size:12.5px;color:#e9eef4;padding-left:6px}
.plusc{width:22px;height:22px;border-radius:50%;background:#bfe0f5;display:flex;align-items:center;justify-content:center;margin-left:-6px;cursor:pointer;position:relative;z-index:2}
.plusc:after{content:"";position:absolute;width:12px;height:3px;background:#2f88cf;border-radius:2px}
.plusc:before{content:"";position:absolute;width:3px;height:12px;background:#2f88cf;border-radius:2px}
.ping{display:flex;align-items:center;margin-left:6px;font-size:12.5px;font-weight:700;color:#ffc928}
.ping svg{width:16px;height:14px;margin-right:2px}
.rid{font-size:11px;color:#7e98ab;font-weight:700;padding-left:12px;height:14px;line-height:14px;position:relative;z-index:3}
#stageWrap{position:relative;flex:1;min-height:200px}
#scene{position:absolute;left:0;top:-48px;width:100%;height:calc(100% + 48px);z-index:0}
#scene canvas{display:block}
#ov{position:absolute;left:0;top:-48px;width:100%;height:calc(100% + 48px);pointer-events:none;z-index:1;overflow:hidden}
#plist{position:absolute;left:12px;top:4px;width:122px;font-size:11px;pointer-events:none;z-index:2}
#plist div{display:flex;justify-content:space-between;height:21px;line-height:21px}
#plist .n{max-width:66px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;color:#eef2f6}
#plist .v{color:#7f8eff}
#plist div:first-child .v{color:#f6e2a6}
#plist .esc .v{color:#4fe0a0}
#plist .me .n{color:#ffe07a}
#snd{position:absolute;right:46px;bottom:6px;width:28px;height:28px;border-radius:6px;background:linear-gradient(#b8dcf4,#86bde6);display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:2;box-shadow:inset 0 -2px 0 rgba(0,0,0,.15)}
#snd svg{width:18px;height:18px}
.hisRow{display:flex;align-items:center;height:24px;padding:0 8px 0 10px;position:relative;z-index:2}
.hisRow .lab{font-size:12px;color:#8ba3b6;margin-right:6px;font-weight:600}
#his{display:flex;gap:6px;flex:1;overflow:visible}
.pill{height:16px;line-height:13px;font-size:10px;padding:0 6px;border-radius:8px;border:1.5px solid;background:#122434;flex:none;min-width:38px;text-align:center;position:relative}
.pill.g{border-color:#3db99a;color:#7fe6c8}.pill.b{border-color:#3b9ad6;color:#8ccaf2}
.pill .nw{position:absolute;right:-7px;top:-9px;background:#e8364a;color:#fff;font-size:7px;line-height:11px;height:11px;padding:0 2px;border-radius:6px;font-style:italic}
.allb{height:18px;border-radius:5px;background:#3a6c8e;border:1px solid #8cb8d6;display:flex;align-items:center;gap:3px;padding:0 6px 0 4px;font-size:11px;cursor:pointer;flex:none;margin-left:4px}
.allb svg{width:11px;height:11px}
#panels{display:flex;gap:4px;padding:2px 0 0 10px;align-items:flex-start}
.panel{flex:1;background:#2a3544;border-radius:9px;padding:8px 10px 6px;position:relative;min-width:0;box-shadow:inset 0 1px 0 rgba(255,255,255,.04)}
.closex{position:absolute;top:-17px;right:-6px;width:20px;height:20px;border-radius:50%;background:#e2263a;cursor:pointer;z-index:3;display:flex;align-items:center;justify-content:center}
.closex svg{width:10px;height:10px}
.addp{width:20px;height:46px;margin-top:20px;border-radius:5px 0 0 5px;background:#2c4f6c;display:flex;align-items:center;justify-content:center;cursor:pointer;flex:none}
.addp svg{width:14px;height:14px}
.stripe{background:repeating-linear-gradient(-45deg,#cc9a1f 0 11px,#1d1c19 11px 22px);border:2px solid #14181d;border-radius:4px;position:relative;box-shadow:inset 0 0 0 1px rgba(0,0,0,.4)}
.betbar{height:30px;display:flex;align-items:center;justify-content:center}
.betbar .inner{width:62%;height:22px;background:rgba(22,26,32,.88);border-radius:3px;display:flex;align-items:center;justify-content:center;gap:28px;font-size:13px}
.betbar .inner svg{width:13px;height:16px}
.betbar .clr{position:absolute;right:6px;top:5px;width:16px;height:16px;border-radius:50%;background:#e2263a;display:flex;align-items:center;justify-content:center;cursor:pointer}
.betbar .clr svg{width:8px;height:8px}
.chips{display:flex;align-items:flex-end;gap:10px;margin-top:6px;height:40px}
.chip{width:42px;height:40px;position:relative;cursor:pointer;flex:none}
.chip svg{position:absolute;inset:0;width:100%;height:100%}
.chip span{position:absolute;left:0;right:0;bottom:5px;text-align:center;font-size:12.5px;font-weight:500;color:#fff;text-shadow:0 0 2px rgba(0,0,0,.6),0 1px 1px rgba(0,0,0,.5)}
.chip:active{transform:scale(.9)}
.autob{width:42px;height:36px;margin-left:auto;margin-right:12px;border-radius:6px;background:linear-gradient(#ffd34a,#f0a91a);box-shadow:inset 0 -3px 0 rgba(160,90,0,.45),inset 0 1px 0 #ffe9a0;display:flex;align-items:center;justify-content:center;text-align:center;font-size:9.5px;line-height:10px;color:#fff3c8;font-weight:500;cursor:pointer}
.autob.on{background:linear-gradient(#7fe08a,#2fae4a);box-shadow:inset 0 -3px 0 rgba(0,90,30,.45),inset 0 1px 0 #c8ffd0;color:#fff}
.wait{height:76px;display:flex;flex-direction:column;align-items:center;justify-content:center}
.wait .ban{width:26px;height:26px}
.wait .t{font-size:13.5px;color:#ffd84a;margin-top:2px;text-shadow:0 1px 2px #000}
.escape{height:76px;border-radius:6px;background:linear-gradient(#5fe07a,#22a94a);border:2px solid #14381e;box-shadow:inset 0 -4px 0 rgba(0,70,20,.4),inset 0 2px 0 rgba(255,255,255,.35);display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:pointer}
.escape b{font-size:20px;font-style:italic;letter-spacing:1px;text-shadow:0 2px 0 rgba(0,60,20,.55)}
.escape span{font-size:13px;color:#fffbd0}
.escape.off{filter:saturate(.3) brightness(.8)}
.escape:active{transform:translateY(1px)}
.result{height:76px;display:flex;flex-direction:column;align-items:center;justify-content:center}
.result b{font-size:16px;text-shadow:0 1px 2px #000;background:rgba(15,18,24,.85);padding:0 10px;border-radius:3px}
.result span{font-size:12.5px;margin-top:3px;background:rgba(15,18,24,.85);padding:0 8px;border-radius:3px}
.aesc{display:flex;align-items:center;justify-content:center;margin-top:6px;height:20px}
.aesc .l{font-size:10.5px;color:#8a9bab;margin-right:6px}
.tog{width:34px;height:12px;border-radius:6px;background:#4e5b69;position:relative;cursor:pointer;margin-right:12px}
.tog:after{content:"";position:absolute;width:16px;height:16px;border-radius:50%;background:#f2f4f7;top:-2px;left:-2px;transition:.15s;box-shadow:0 1px 2px rgba(0,0,0,.4)}
.tog.on{background:#3cbf7a}.tog.on:after{left:20px}
.aval{height:20px;min-width:52px;background:#1e2833;border-radius:4px;font-size:13px;color:#fff;display:flex;align-items:center;justify-content:center;padding:0 6px;cursor:pointer}
.panel.two{padding:6px 7px 6px}
.panel.two .chips{gap:4px}
.panel.two .chip{width:28px;height:28px}
.panel.two .chip span{font-size:9px;bottom:3px}
.panel.two .autob{width:28px;height:26px;font-size:7px;line-height:8px;margin-right:0}
.panel.two .betbar .inner{width:76%;gap:14px}
.panel.two .wait,.panel.two .escape,.panel.two .result{height:64px}
.panel.two .tog{margin-right:8px}
.bottom{height:12px;flex:none}
#login{position:absolute;inset:0;display:none;align-items:center;justify-content:center;flex-direction:column;z-index:4}
#login.show{display:flex}
#login .lt{font-size:14px;font-weight:700;margin-top:8px}
.ripple{position:relative;width:110px;height:80px;display:flex;align-items:center;justify-content:center}
.ripple i{position:absolute;bottom:4px;left:50%;width:40px;height:12px;margin-left:-20px;border:2px solid #4fb8f0;border-radius:50%;animation:rp 1.6s infinite;opacity:0}
.ripple i:nth-child(2){animation-delay:.5s}.ripple i:nth-child(3){animation-delay:1s}
@keyframes rp{0%{transform:scale(.6);opacity:1}100%{transform:scale(2.4);opacity:0}}
.ripple svg{width:36px;height:64px;position:relative;z-index:1;margin-bottom:12px}
#app.loading .chips,#app.loading .betbar,#app.loading .autob{filter:grayscale(.35) brightness(.55)}
#app.loading .balpill span{visibility:hidden}
.mask{position:absolute;inset:0;background:rgba(5,10,16,.35);display:none;z-index:10}
.mask.show{display:block}
.box{position:absolute;left:12px;right:12px;bottom:12px;background:#1d2a3b;border-radius:10px;box-shadow:0 4px 20px rgba(0,0,0,.5);display:flex;flex-direction:column;overflow:hidden}
.box .hd{height:46px;flex:none;display:flex;align-items:center;justify-content:center;font-size:19px;color:#d6dde6;letter-spacing:.5px;position:relative;background:#1f2c3e}
.box .hd .x{position:absolute;right:14px;top:12px;width:22px;height:22px;cursor:pointer}
.box .bd{flex:1;overflow:auto;padding:4px 10px 12px 10px;font-size:14.5px;line-height:17px;color:#e6ebf1}
.box .bd p{margin:6px 0 10px}
#mHelp .box{top:64px;left:22px;right:22px;bottom:38px}
#mLb .box,#mRec .box,#mAll .box{top:58px;left:0;right:0;bottom:0;border-radius:10px 10px 0 0}
.tabs{display:flex;gap:6px;padding:0 22px 8px;flex:none}
.tabs div{flex:1;height:34px;display:flex;align-items:center;justify-content:center;font-size:15px;cursor:pointer;color:#a7c3dc;background:linear-gradient(135deg,#4a86b2,#3a6f99);position:relative;overflow:hidden}
.tabs div.on{background:linear-gradient(135deg,#f4c535,#e2a516);color:#fff}
.tabs div:before{content:"";position:absolute;left:10%;top:-30%;width:40%;height:160%;background:rgba(255,255,255,.08);transform:skewX(-25deg)}
.lbl{padding:0 22px 52px;overflow:auto;flex:1}
.lr{display:flex;align-items:center;height:48px;margin-bottom:4px;background:#22324a;font-size:13px}
.rk{width:44px;height:52px;align-self:flex-start;margin-top:-2px;display:flex;align-items:center;justify-content:center;font-size:17px;font-weight:700;clip-path:polygon(0 0,100% 0,100% 82%,50% 100%,0 82%);flex:none}
.rk.r1{background:linear-gradient(#f7cb3c,#d9a116)}.rk.r2{background:linear-gradient(#7cc4f0,#3e8dc6)}.rk.r3{background:linear-gradient(#e2a35f,#b8722e)}
.rk.rn{background:linear-gradient(#3f6a96,#2c4e74);height:48px;clip-path:none;margin-top:0}
.av{width:30px;height:30px;border-radius:50%;background:#dcdcdc;margin:0 8px 0 18px;flex:none;position:relative;overflow:hidden}
.av:before{content:"";position:absolute;left:9px;top:5px;width:12px;height:12px;border-radius:50%;background:#fff}
.av:after{content:"";position:absolute;left:4px;top:19px;width:22px;height:16px;border-radius:50%;background:#fff}
.lr .nm{flex:1;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.lr .sc{display:flex;align-items:center;gap:4px;width:110px;font-size:15px}
.lr .sc .gcoin{width:18px;height:18px;font-size:10px}
.meRow{position:absolute;left:10px;right:10px;bottom:0;height:46px;background:linear-gradient(#d6a632,#b78819);display:flex;align-items:center;font-size:13px;font-family:Georgia,serif;letter-spacing:.3px}
.meRow .rk{background:linear-gradient(#f2c23a,#d79d14);height:56px;margin:0 0 0 12px;align-self:flex-start;margin-top:-6px}
.spin{width:34px;height:34px;margin:60px auto;position:relative;animation:sp 1s steps(8) infinite}
@keyframes sp{to{transform:rotate(360deg)}}
.spin i{position:absolute;left:14px;top:0;width:7px;height:7px;border-radius:50%;background:#f7c64a;transform-origin:3px 17px}
.empty{display:flex;justify-content:center;padding-top:70px}
.empty svg{width:52px;height:46px}
table{width:100%;border-collapse:collapse;font-size:12px}
th,td{padding:7px 2px;text-align:center;border-bottom:1px solid #2b3c52}
th{color:#8aa0b6;font-weight:500}
.pos{color:#4fe0a0}.neg{color:#ff7a7a}
.hisgrid{display:flex;flex-wrap:wrap;gap:8px;padding:4px 6px}
.dlg{position:absolute;inset:0;background:rgba(0,0,0,.5);display:none;z-index:20;align-items:center;justify-content:center}
.dlg.show{display:flex}
.dlg .db{width:260px;background:#2b3138;border-radius:8px;padding:12px 18px 18px;text-align:center}
.dlg h4{font-size:16px;font-weight:700;margin-bottom:16px}
.dlg .m{font-size:15px;color:#d8dde3;margin-bottom:20px}
.dlg .bs{display:flex;gap:14px}
.dlg button{flex:1;height:32px;border:none;border-radius:16px;font-size:15px;cursor:pointer}
.bc{background:#9aa6af;color:#e4e9ed}.be{background:#4cc6c0;color:#e8fffe}
#editV .db input{width:100%;height:34px;border-radius:6px;border:1px solid #4a5560;background:#1e2833;color:#fff;font-size:16px;text-align:center;margin-bottom:18px}
#toast{position:absolute;left:50%;top:42%;transform:translateX(-50%);background:rgba(0,0,0,.78);padding:7px 16px;border-radius:16px;font-size:13px;display:none;z-index:30;white-space:nowrap}

.chip svg{filter:drop-shadow(0 3px 0 rgba(0,0,0,.45)) drop-shadow(0 5px 4px rgba(0,0,0,.35))}
.chip{transition:transform .08s}
.chip:active{transform:translateY(3px) scale(.96)}.chip:active svg{filter:drop-shadow(0 1px 0 rgba(0,0,0,.45))}
.autob{box-shadow:inset 0 -3px 0 rgba(160,90,0,.45),inset 0 1px 0 #ffe9a0,0 4px 0 #9a5c00,0 6px 6px rgba(0,0,0,.4);transition:transform .08s}
.autob:active{transform:translateY(3px);box-shadow:inset 0 -2px 0 rgba(160,90,0,.45),0 1px 0 #9a5c00}
.autob.on{box-shadow:inset 0 -3px 0 rgba(0,90,30,.45),inset 0 1px 0 #c8ffd0,0 4px 0 #1a6a2a,0 6px 6px rgba(0,0,0,.4)}
.escape{box-shadow:inset 0 -4px 0 rgba(0,70,20,.4),inset 0 2px 0 rgba(255,255,255,.45),0 5px 0 #0f5a26,0 8px 10px rgba(0,0,0,.45);transition:transform .08s;animation:pulse 1s ease-in-out infinite}
.escape:active{transform:translateY(4px);box-shadow:inset 0 -2px 0 rgba(0,70,20,.4),0 1px 0 #0f5a26}
@keyframes pulse{50%{filter:brightness(1.12)}}
.escape b{text-shadow:0 1px 0 #1a7a3a,0 2px 0 #157034,0 3px 0 #10602c,0 4px 4px rgba(0,0,0,.5)}
.stripe{box-shadow:inset 0 2px 3px rgba(0,0,0,.6),inset 0 -1px 0 rgba(255,255,255,.15),0 1px 0 rgba(255,255,255,.06)}
.betbar .inner{box-shadow:inset 0 2px 3px rgba(0,0,0,.7)}
.panel{box-shadow:inset 0 1px 0 rgba(255,255,255,.07),0 3px 0 #1a222d,0 6px 10px rgba(0,0,0,.35)}
.ib{box-shadow:inset 0 -2px 0 rgba(0,0,0,.22),inset 0 1px 0 #fff,0 2px 3px rgba(0,0,0,.4)}
.gcoin,.plusc{box-shadow:inset 0 -2px 0 rgba(0,0,0,.18),0 2px 3px rgba(0,0,0,.4)}
#snd{box-shadow:inset 0 -3px 0 rgba(0,0,0,.18),inset 0 1px 0 #e8f6ff,0 3px 0 #4a7aa0,0 5px 5px rgba(0,0,0,.35)}
#snd:active{transform:translateY(2px)}
.pill{box-shadow:inset 0 1px 2px rgba(0,0,0,.5),0 1px 0 rgba(255,255,255,.06)}
.allb{box-shadow:0 2px 0 #1f4560,inset 0 1px 0 rgba(255,255,255,.3)}
.tabs div{box-shadow:inset 0 -3px 0 rgba(0,0,0,.2),inset 0 1px 0 rgba(255,255,255,.3)}
.rk{text-shadow:0 2px 0 rgba(0,0,0,.3)}
.lr{box-shadow:0 2px 0 #18243a}
.box{box-shadow:0 0 0 1px rgba(255,255,255,.05),0 10px 30px rgba(0,0,0,.6)}
.box,.dlg .db{animation:pop .22s cubic-bezier(.2,1.4,.4,1)}
@keyframes pop{from{transform:perspective(600px) rotateX(18deg) translateY(30px) scale(.94);opacity:0}}
.dlg button{box-shadow:inset 0 -3px 0 rgba(0,0,0,.15),0 3px 0 rgba(0,0,0,.3)}
.dlg button:active{transform:translateY(2px)}

/* ---------- 3D overlay labels ---------- */
.lbl3{position:absolute;left:0;top:0;will-change:transform;text-align:center;white-space:nowrap}
.lbl3>*{display:block;transform:translateX(-50%);width:max-content}
.t3d{position:relative;display:inline-block;font-family:"Arial Black",Arial,sans-serif;font-style:italic;font-weight:900;line-height:1}
.t3d .bk{position:absolute;left:0;top:0;color:#5a2200;-webkit-text-stroke:4px #4a1800;
  text-shadow:1px 1px 0 #6a2a00,2px 2px 0 #5e2400,3px 3px 0 #521e00,4px 4px 0 #461800,5px 6px 6px rgba(0,0,0,.55)}
.t3d .fr{position:relative;background:linear-gradient(#fffde0 0%,#ffe94a 32%,#ffb51a 62%,#ff7300 100%);-webkit-background-clip:text;background-clip:text;color:transparent}
.moonTxt{margin-top:-14px}
.moonTxt{margin-top:-16px}.moonTxt .big{font-size:25px;margin:0 auto}
.moonTxt.long .big{font-size:19px}
.moonTxt .fh{display:block;font:900 11px Arial;color:#ffb52e;-webkit-text-stroke:2.4px #7a3a00;paint-order:stroke fill;margin-top:3px;letter-spacing:.2px;text-shadow:0 1px 0 #5a2200}
.countTxt .cd{font-size:31px}
.countTxt .soon{font:700 9px Arial;color:rgba(170,130,50,.85);margin-top:4px}
.joinTxt .join{font:900 31px Arial;color:#6fe0c2;text-shadow:0 -1px 0 #c8fff0,0 1px 0 #1d7a66,0 2px 0 #1a6e5c,0 3px 0 #156050,0 4px 0 #11543f,0 8px 10px rgba(0,0,0,.55),0 0 18px rgba(90,230,200,.35)}
.fly .fn{font:10px Arial;color:#f2f6fa;text-shadow:0 1px 2px #000;position:absolute;left:-30px;top:-46px}
.fly .fa{font-size:17px;position:absolute;left:44px;top:0;transform:none}
.chuteLbl{font:12px Arial;color:#fff;text-shadow:0 1px 2px #000}
.podLbl .pm{font-size:16px}
.podLbl .pn{font:10px Arial;color:#fff;text-shadow:0 1px 2px #000;margin-top:2px}
.podLbl .pn.me{color:#ffe07a}
/* status badges */
#offline,#net{position:absolute;right:10px;top:36px;z-index:5;font-size:10px;padding:2px 8px;border-radius:9px;display:none;white-space:nowrap}
#offline{background:rgba(255,200,40,.16);color:#ffd45a;border:1px solid rgba(255,200,40,.35)}
#net{background:rgba(230,50,60,.85);color:#fff}
#offline.show,#net.show{display:block}
#ridBox{cursor:pointer}
#ridBox:after{content:" ⓘ";opacity:.6}
#mFair .box{top:90px}
#mFair code{display:block;word-break:break-all;font-size:10.5px;color:#9fd8ff;background:#14202e;padding:4px 6px;border-radius:4px;margin:3px 0}
#mFair .dim{font-size:11px;color:#8aa0b6}
.nmRow{display:flex;gap:8px;margin-top:8px}
.nmRow input{flex:1;height:32px;border-radius:6px;border:1px solid #4a5560;background:#14202e;color:#fff;padding:0 8px;font-size:14px}
.nmRow button{border:none;border-radius:16px;padding:0 16px;background:#4cc6c0;color:#062f2e;font-weight:700}
#login{z-index:3}
#toast{opacity:0;transition:opacity .2s;display:block!important;pointer-events:none}
#toast.show{opacity:1}
.escape.dim{filter:saturate(.3) brightness(.8)}
#plist,#snd,.hisRow{position:relative;z-index:2}
#plist{position:absolute}
#snd{position:absolute}
.axis{position:absolute;right:6px;top:0;bottom:30px;z-index:1;pointer-events:none;display:flex;flex-direction:column;justify-content:space-between;padding:18px 0 34px;font-size:11px;color:rgba(150,170,190,.55)}

.axl{position:absolute;left:0;top:0;font-size:11px;color:rgba(150,170,190,.6);transform-origin:right center;margin-top:-7px;white-space:nowrap}
.axl{translate:-100% 0}

/* ---------- win popup ---------- */
#winPop{position:absolute;left:0;right:0;top:30%;display:flex;justify-content:center;z-index:6;pointer-events:none;opacity:0;transform:scale(.6);transition:opacity .18s,transform .18s}
#winPop.show{opacity:1;transform:scale(1);pointer-events:auto;animation:winIn .5s cubic-bezier(.2,1.6,.4,1)}
@keyframes winIn{0%{transform:perspective(500px) rotateX(35deg) scale(.4);opacity:0}100%{transform:none;opacity:1}}
#winPop .rays{position:absolute;left:50%;top:50%;width:420px;height:420px;margin:-210px 0 0 -210px;border-radius:50%;
  background:repeating-conic-gradient(from 0deg,rgba(255,214,90,.22) 0 9deg,rgba(255,214,90,0) 9deg 22deg);
  -webkit-mask:radial-gradient(circle,#000 0 30%,transparent 68%);mask:radial-gradient(circle,#000 0 30%,transparent 68%);animation:spin 9s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
#winPop .wcard{position:relative;min-width:230px;padding:14px 22px 12px;border-radius:16px;text-align:center;
  background:linear-gradient(160deg,rgba(64,44,120,.95),rgba(30,26,70,.95));border:2px solid #ffd45a;
  box-shadow:0 0 0 3px rgba(120,70,0,.6),0 0 26px rgba(255,200,60,.55),inset 0 2px 0 rgba(255,255,255,.25),inset 0 -6px 14px rgba(0,0,0,.35),0 14px 30px rgba(0,0,0,.5)}
#winPop .wcard:before{content:"";position:absolute;inset:0;border-radius:14px;background:linear-gradient(115deg,transparent 30%,rgba(255,255,255,.22) 45%,transparent 60%);background-size:250% 100%;animation:shine 1.6s ease-out .2s 1 both}
@keyframes shine{from{background-position:120% 0}to{background-position:-60% 0}}
#winPop .wt{font-size:20px;display:block;width:max-content;margin:0 auto}
#winPop .wa{font-size:40px;display:block;width:max-content;margin:8px auto 4px}
#winPop .wa .bk{-webkit-text-stroke:6px #4a1800}
#winPop .wm{display:flex;justify-content:center;gap:10px;font-size:12px;color:#e8dcff}
#winPop .wm span:first-child{background:#ffcf3a;color:#5a2a00;font-weight:900;border-radius:9px;padding:1px 8px;box-shadow:0 2px 0 #a86a00}
#winPop .wm span:last-child{opacity:.8;padding-top:1px}
#winPop.big .wcard{background:linear-gradient(160deg,rgba(150,30,60,.95),rgba(70,14,40,.95));border-color:#fff0a0}
#winPop.big .wt{font-size:26px}
#winPop.big .rays{background:repeating-conic-gradient(from 0deg,rgba(255,120,80,.28) 0 9deg,rgba(255,214,90,.12) 9deg 22deg)}
.flycoin{position:absolute;left:-11px;top:-11px;width:22px;height:22px;border-radius:50%;z-index:9;pointer-events:none;
  background:radial-gradient(circle at 40% 35%,#fff0a0,#f7b915 60%,#c47e00);border:1.5px solid #ffe07a;color:#9a5c00;font:900 12px Arial;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 4px rgba(0,0,0,.4)}
#balBox.bump{animation:bump .5s}
@keyframes bump{30%{transform:scale(1.12);box-shadow:0 0 12px rgba(255,210,70,.8)}}
#balBox{transition:color .3s}

/* ---------- launch screen ---------- */
#splash{position:fixed;inset:0;z-index:100;overflow:hidden;font-family:Roboto,Arial,sans-serif;color:#fff;transition:opacity .6s ease,filter .6s ease}
#splash.out{opacity:0;filter:brightness(2.2) blur(2px);pointer-events:none}
.sp-sky{position:absolute;inset:0;background:
  radial-gradient(ellipse 120% 55% at 50% 100%,rgba(255,150,80,.55) 0%,rgba(220,90,140,.35) 30%,rgba(90,60,160,.0) 62%),
  radial-gradient(ellipse 90% 60% at 50% 70%,rgba(80,200,230,.18),transparent 70%),
  linear-gradient(#070d22 0%,#121a44 35%,#2a2466 62%,#4a2a6e 82%,#2a1c4a 100%)}
.sp-stars{position:absolute;inset:0;opacity:.8;background-image:
  radial-gradient(1.4px 1.4px at 12% 18%,#fff,transparent),radial-gradient(1px 1px at 32% 8%,#fff,transparent),radial-gradient(1.6px 1.6px at 58% 22%,#fff,transparent),
  radial-gradient(1px 1px at 78% 12%,#fff,transparent),radial-gradient(1.2px 1.2px at 88% 34%,#fff,transparent),radial-gradient(1px 1px at 6% 40%,#fff,transparent),
  radial-gradient(1.3px 1.3px at 44% 36%,#fff,transparent),radial-gradient(1px 1px at 68% 44%,#fff,transparent);animation:twk 3s ease-in-out infinite alternate}
@keyframes twk{to{opacity:.45}}
#splash3d{position:absolute;inset:0;opacity:0;transition:opacity .8s}
#splash3d.on{opacity:1}
#splash3d canvas{display:block}
.sp-title{position:absolute;left:0;right:0;top:15%;text-align:center;pointer-events:none;animation:titleIn 1s cubic-bezier(.2,1.4,.4,1) both}
@keyframes titleIn{from{transform:perspective(600px) rotateX(50deg) translateY(-30px) scale(.7);opacity:0}}
.sp-logo{position:relative;display:inline-block;font:italic 900 min(17vw,78px)/1 "Arial Black",Arial,sans-serif;letter-spacing:2px}
.sp-logo .bk{position:absolute;left:0;top:0;color:#3a1060;-webkit-text-stroke:8px #2a0a48;
  text-shadow:1px 1px 0 #4a1878,2px 2px 0 #44166e,3px 3px 0 #3e1464,4px 4px 0 #38125a,5px 5px 0 #321050,6px 6px 0 #2c0e46,7px 8px 0 #260c3c,8px 12px 18px rgba(0,0,0,.6)}
.sp-logo .fr{position:relative;background:linear-gradient(#ffffff 0%,#fff6c8 22%,#ffd84a 45%,#ff9a1a 70%,#ff5a2a 100%);-webkit-background-clip:text;background-clip:text;color:transparent}
.sp-logo:after{content:"";position:absolute;inset:-10% -20%;background:linear-gradient(110deg,transparent 40%,rgba(255,255,255,.55) 50%,transparent 60%);
  -webkit-mask:linear-gradient(#000,#000);mix-blend-mode:overlay;background-size:300% 100%;animation:logoShine 3.2s ease-in-out 1s infinite}
@keyframes logoShine{0%{background-position:150% 0}45%,100%{background-position:-60% 0}}
.sp-sub{margin-top:12px;font:700 min(3.2vw,13px) Arial;letter-spacing:min(1.4vw,6px);color:#bfe8ff;text-shadow:0 0 10px rgba(90,200,255,.7),0 2px 2px rgba(0,0,0,.6)}
.sp-bottom{position:absolute;left:50%;bottom:4%;transform:translateX(-50%);width:min(84vw,380px);text-align:center}
.sp-bar{position:relative;height:16px;border-radius:9px;background:linear-gradient(#0c0a22,#1d1840);box-shadow:inset 0 2px 4px rgba(0,0,0,.8),0 0 0 2px rgba(255,255,255,.14),0 0 0 3px rgba(0,0,0,.5),0 6px 14px rgba(0,0,0,.45)}
.sp-fill{position:absolute;left:2px;top:2px;bottom:2px;width:0;max-width:calc(100% - 4px);border-radius:7px;
  background:repeating-linear-gradient(-45deg,rgba(255,255,255,.22) 0 8px,rgba(255,255,255,0) 8px 16px),linear-gradient(#fff3a0,#ffc82a 45%,#ff8a10);
  background-size:22.6px 22.6px,100% 100%;animation:stripes .6s linear infinite;box-shadow:0 0 12px rgba(255,190,50,.8),inset 0 1px 0 rgba(255,255,255,.8)}
@keyframes stripes{to{background-position:22.6px 0,0 0}}
.sp-rkt{position:absolute;top:50%;left:0;width:38px;height:20px;margin:-10px 0 0 -26px;filter:drop-shadow(0 0 6px rgba(255,180,60,.9));animation:rk .25s ease-in-out infinite alternate}
.sp-rkt svg{width:100%;height:100%;overflow:visible}
@keyframes rk{to{transform:translateY(-1.5px)}}
.sp-info{margin-top:10px;font:700 13px Arial;text-shadow:0 1px 3px #000}
.sp-tip{margin-top:6px;font:600 12px Arial;color:#fff;opacity:1;transition:opacity .25s;min-height:15px;text-shadow:0 1px 2px #000,0 0 6px rgba(30,10,60,.9)}
.sp-foot{display:flex;justify-content:space-between;margin-top:14px;font:10px Arial;color:rgba(240,240,255,.75);text-shadow:0 1px 2px rgba(0,0,0,.8)}
#spStart{display:none;margin:0 auto 22px;padding:11px 34px;border:none;border-radius:26px;font:italic 900 18px Arial;letter-spacing:1px;color:#fff;cursor:pointer;
  background:linear-gradient(#ffd34a,#ff9a14);text-shadow:0 2px 0 #a8500a;box-shadow:inset 0 2px 0 rgba(255,255,255,.6),inset 0 -4px 0 rgba(150,60,0,.4),0 5px 0 #9a4c00,0 0 24px rgba(255,180,50,.7);animation:pulse2 1.1s ease-in-out infinite}
#spStart:active{transform:translateY(4px);box-shadow:inset 0 2px 0 rgba(255,255,255,.6),0 1px 0 #9a4c00}
@keyframes pulse2{50%{transform:scale(1.06)}}
#splash.ready #spStart{display:block}
#splash.ready .sp-bar,#splash.ready .sp-info{opacity:.0;height:0;margin:0;transition:opacity .3s}
#splash.go #spStart{opacity:0;transform:scale(.8);transition:opacity .25s,transform .25s;animation:none}
