:root{--bg:#05070a;--bg2:#0a0e13;--surface:#0d1218;--surface2:#11171f;--line:#1b2530;--line2:#243140;--ice:#eef4f8;--muted:#5f6f7e;--accent:#39f6c4;--accent2:#1fd4a8;--accentdim:#39f6c41f;--gold:#ffcf5c;--danger:#ff5d6c;--mono:"JetBrains Mono",ui-monospace,Menlo,monospace;--sans:"Space Grotesk","Inter",system-ui,sans-serif}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%}body{background:radial-gradient(1200px 600px at 50% -10%, #39f6c40f, transparent 60%), radial-gradient(800px 500px at 90% 110%, #1fd4a80d, transparent 55%), var(--bg);color:var(--ice);font-family:var(--sans);-webkit-font-smoothing:antialiased;min-height:100vh}.app{z-index:1;max-width:1080px;margin:0 auto;padding:24px 20px 60px;position:relative}.grid-bg{pointer-events:none;opacity:.4;z-index:0;background-image:linear-gradient(#2431402e 1px,#0000 1px),linear-gradient(90deg,#2431402e 1px,#0000 1px);background-size:46px 46px;position:fixed;top:0;bottom:0;left:0;right:0;-webkit-mask-image:radial-gradient(circle at 50% 30%,#000 30%,#0000 78%);mask-image:radial-gradient(circle at 50% 30%,#000 30%,#0000 78%)}.topbar{justify-content:space-between;align-items:center;margin-bottom:24px;display:flex}.brand{align-items:center;gap:12px;display:flex}.brand-name{letter-spacing:.5px;font-size:17px;font-weight:700}.brand-sub{font-family:var(--mono);color:var(--muted);letter-spacing:3px;margin-top:1px;font-size:9px}.wallet{align-items:center;gap:10px;display:flex}.chip{background:var(--surface);border:1px solid var(--line);border-radius:12px;align-items:center;gap:9px;padding:9px 14px;display:flex}.chip-lbl{color:var(--muted);letter-spacing:1.6px;text-transform:uppercase;font-size:8px;font-weight:500}.chip-val{font-family:var(--mono);font-size:14px;font-weight:600}.chip-val.accent{color:var(--accent)}.chip-val.gold{color:var(--gold)}.refresh{-webkit-appearance:none;appearance:none;border:1px solid var(--line);background:var(--surface);cursor:pointer;border-radius:10px;justify-content:center;align-items:center;width:36px;height:36px;transition:all .15s;display:flex}.refresh:hover{border-color:var(--accent)}.refresh.spin svg{animation:1s linear infinite rot}@keyframes rot{to{transform:rotate(360deg)}}.topup-btn{-webkit-appearance:none;appearance:none;cursor:pointer;font-family:var(--sans);background:linear-gradient(180deg,var(--accent),var(--accent2));color:#04130e;border:0;border-radius:10px;height:36px;padding:0 16px;font-size:13px;font-weight:700;transition:all .15s;box-shadow:0 4px 14px #39f6c433}.topup-btn:hover{transform:translateY(-1px)}.modal-bg{z-index:60;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#05070acc;justify-content:center;align-items:center;padding:20px;animation:.2s fade;display:flex;position:fixed;top:0;bottom:0;left:0;right:0}.modal{background:linear-gradient(180deg,var(--surface),var(--bg2));border:1px solid var(--line);border-radius:18px;width:100%;max-width:420px;padding:26px;position:relative;overflow:hidden}.modal:before{content:"";background:linear-gradient(90deg,#0000,#39f6c499,#0000);height:1px;position:absolute;top:0;left:0;right:0}.modal-head{justify-content:space-between;align-items:center;margin-bottom:6px;display:flex}.modal-head h3{font-size:18px;font-weight:700}.modal-x{-webkit-appearance:none;appearance:none;color:var(--muted);cursor:pointer;background:0 0;border:0;font-size:24px;line-height:1}.modal-x:hover{color:var(--ice)}.modal-sub{color:var(--muted);margin-bottom:18px;font-size:12px;line-height:1.6}.modal-steps{flex-direction:column;gap:8px;margin-bottom:18px;display:flex}.mstep{color:var(--ice);align-items:center;gap:10px;font-size:12.5px;display:flex}.mnum{background:var(--accentdim);width:20px;height:20px;color:var(--accent);font-family:var(--mono);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:11px;font-weight:600;display:flex}.modal-input{gap:10px;display:flex}.modal-input input{background:var(--surface2);border:1px solid var(--line2);color:var(--ice);font-family:var(--mono);border-radius:11px;outline:none;flex:1;padding:12px 14px;font-size:13px;transition:all .15s}.modal-input input:focus{border-color:var(--accent)}.modal-status{border-radius:11px;flex-direction:column;gap:6px;margin-top:16px;padding:12px 14px;font-size:12.5px;line-height:1.6;display:flex}.modal-status.ok{background:var(--accentdim);color:var(--accent);border:1px solid #39f6c44d}.modal-status.err{color:#ff8a95;background:#ff5d6c1a;border:1px solid #ff5d6c4d}.modal-status a{color:var(--accent);text-underline-offset:2px;font-size:12px;text-decoration:underline}.tabs{border:1px solid var(--line);background:var(--surface);border-radius:14px;gap:6px;width:-moz-fit-content;width:fit-content;margin-bottom:20px;padding:5px;display:flex}.tab{-webkit-appearance:none;appearance:none;color:var(--muted);font-family:var(--sans);cursor:pointer;background:0 0;border:0;border-radius:10px;align-items:center;gap:8px;padding:9px 20px;font-size:13px;font-weight:600;transition:all .18s;display:flex}.tab:hover{color:var(--ice)}.tab.active{background:var(--accentdim);color:var(--accent);box-shadow:inset 0 0 0 1px #39f6c440}.stage{background:linear-gradient(180deg, var(--surface), var(--bg2));border:1px solid var(--line);border-radius:20px;min-height:460px;padding:30px;position:relative;overflow:hidden}.stage:before{content:"";background:linear-gradient(90deg,#0000,#39f6c480,#0000);height:1px;position:absolute;top:0;left:0;right:0}.game{animation:.35s fade}@keyframes fade{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.game-head{justify-content:space-between;align-items:baseline;margin-bottom:22px;display:flex}.game-head h2{font-size:20px;font-weight:700}.odds{font-family:var(--mono);color:var(--muted);font-size:10px}.odds b{color:var(--accent)}.btn-primary,.btn-ghost{-webkit-appearance:none;appearance:none;cursor:pointer;font-family:var(--sans);letter-spacing:.5px;border:0;border-radius:13px;align-items:center;gap:9px;padding:14px 30px;font-size:14px;font-weight:700;transition:all .16s;display:inline-flex}.btn-primary{background:linear-gradient(180deg, var(--accent), var(--accent2));color:#04130e;box-shadow:0 6px 22px #39f6c438,inset 0 1px #ffffff4d}.btn-primary:hover{transform:translateY(-1px);box-shadow:0 9px 28px #39f6c452}.btn-primary:active{transform:translateY(0)}.btn-ghost{background:var(--surface2);color:var(--ice);box-shadow:inset 0 0 0 1px var(--line2)}.btn-ghost:hover{box-shadow:inset 0 0 0 1px var(--accent)}.btn-primary:disabled,.btn-ghost:disabled{opacity:.45;cursor:not-allowed;box-shadow:none;transform:none}.playbar{flex-wrap:wrap;justify-content:center;align-items:center;gap:14px;margin-top:26px;display:flex}.cost{font-family:var(--mono);opacity:.7;font-size:11px}.cost b{color:#04130e}.result{text-align:center;font-family:var(--mono);min-height:22px;color:var(--muted);margin-top:18px;font-size:13px;transition:all .2s}.result.win{color:var(--accent)}.result.key{color:var(--gold);font-size:15px;font-weight:600}.result.lose{color:var(--muted)}.reels{justify-content:center;gap:14px;display:flex}.reel{border:1px solid var(--line2);background:linear-gradient(#0b1016,#060a0e);border-radius:16px;width:118px;height:140px;position:relative;overflow:hidden;box-shadow:inset 0 14px 24px #0009,inset 0 -14px 24px #0009}.reel:after{content:"";pointer-events:none;border-top:1px solid #39f6c440;border-bottom:1px solid #39f6c440;height:46px;position:absolute;top:50%;left:8px;right:8px;transform:translateY(-50%)}.strip{flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;top:0;bottom:0;left:0;right:0}.sym{justify-content:center;align-items:center;width:100%;height:46px;font-size:30px;display:flex}.reel.spinning .strip{animation:.4s linear infinite spin}@keyframes spin{0%{transform:translateY(0)}to{transform:translateY(-46px)}}.plinko-board{background:radial-gradient(circle at 50% 0,#39f6c40d,#0000 60%);width:340px;height:300px;margin:0 auto;position:relative}.peg{background:var(--line2);border-radius:50%;width:7px;height:7px;position:absolute;box-shadow:0 0 6px #39f6c426}.ball{background:radial-gradient(circle at 35% 30%, #fff, var(--accent));z-index:3;border-radius:50%;width:14px;height:14px;transition:top .12s linear,left .12s linear;position:absolute;box-shadow:0 0 12px #39f6c4b3}.slots-row{gap:3px;display:flex;position:absolute;bottom:0;left:0;right:0}.pslot{text-align:center;font-family:var(--mono);background:var(--surface2);border:1px solid var(--line);color:var(--muted);border-radius:7px 7px 0 0;flex:1;padding:8px 0;font-size:10px;font-weight:600;transition:all .15s}.pslot.hot{color:var(--accent);border-color:#39f6c466}.pslot.jackpot{color:var(--gold);border-color:#ffcf5c66}.pslot.flash{background:var(--accentdim);transform:translateY(-3px)}.felt{flex-direction:column;align-items:center;gap:20px;display:flex}.bj-hand{text-align:center}.who{font-family:var(--mono);color:var(--muted);letter-spacing:2px;text-transform:uppercase;margin-bottom:10px;font-size:10px}.cards{justify-content:center;gap:10px;min-height:96px;display:flex}.card{color:#0b1016;background:linear-gradient(160deg,#f4f7fa,#dde6ee);border-radius:10px;flex-direction:column;justify-content:space-between;width:66px;height:92px;padding:8px 9px;font-weight:700;animation:.35s cubic-bezier(.2,.9,.3,1.2) deal;display:flex;box-shadow:0 6px 16px #00000073}@keyframes deal{0%{opacity:0;transform:translateY(-30px)rotate(-8deg)}to{opacity:1;transform:none}}.card.red{color:#c0392b}.card.back{border:1px solid var(--line2);background:repeating-linear-gradient(45deg,#0d1218,#0d1218 6px,#11171f 6px 12px)}.card-ghost{border:1px dashed var(--line2);opacity:.4;border-radius:10px;width:66px;height:92px}.cr{font-size:17px;line-height:1}.cs{align-self:center;font-size:22px}.cr.bot{align-self:flex-end;transform:rotate(180deg)}.bj-score{font-family:var(--mono);color:var(--accent);min-height:16px;margin-top:8px;font-size:12px}.betrow{justify-content:center;align-items:center;gap:8px;margin-top:20px;display:flex}.betlbl{font-family:var(--mono);color:var(--muted);letter-spacing:2px;font-size:10px}.betcoins{font-family:var(--mono);color:var(--muted);font-size:10px}.betchip{-webkit-appearance:none;appearance:none;border:1px solid var(--line2);background:var(--surface2);color:var(--muted);font-family:var(--mono);cursor:pointer;border-radius:9px;padding:7px 13px;font-size:12px;font-weight:600;transition:all .15s}.betchip:hover{color:var(--ice)}.betchip.active{background:var(--accentdim);color:var(--accent);border-color:#39f6c466}.redeem{border:1px dashed var(--line2);border-radius:14px;flex-wrap:wrap;justify-content:center;align-items:center;gap:14px;margin-top:24px;padding:14px;display:flex}.redeem-meter{font-family:var(--mono);color:var(--muted);font-size:11px}.redeem-meter b{color:var(--accent)}.bar{background:var(--surface2);border-radius:4px;width:180px;height:6px;overflow:hidden}.bar>i{background:linear-gradient(90deg,var(--accent2),var(--accent));height:100%;transition:all .4s;display:block}.hint{font-family:var(--mono);color:var(--muted);text-align:center;margin-top:20px;font-size:10.5px;line-height:1.7}.hint b{color:var(--accent)}.prov{color:var(--accent);cursor:pointer;text-underline-offset:3px;text-decoration:underline}.foot{text-align:center;font-family:var(--mono);color:var(--muted);letter-spacing:1.5px;margin-top:26px;font-size:9px}.auth-screen{z-index:1;justify-content:center;align-items:center;min-height:100vh;padding:20px;display:flex;position:relative}.auth-card{background:linear-gradient(180deg, var(--surface), var(--bg2));border:1px solid var(--line);text-align:center;border-radius:22px;width:100%;max-width:380px;padding:44px 38px;position:relative;overflow:hidden}.auth-card:before{content:"";background:linear-gradient(90deg,#0000,#39f6c499,#0000);height:1px;position:absolute;top:0;left:0;right:0}.auth-logo{justify-content:center;margin-bottom:18px;display:flex}.auth-title{letter-spacing:1px;font-size:24px;font-weight:700}.auth-sub{color:var(--muted);margin-top:8px;margin-bottom:26px;font-size:13px}.auth-verified{font-family:var(--mono);color:var(--accent);background:var(--accentdim);border:1px solid #39f6c440;border-radius:12px;justify-content:center;align-items:center;gap:8px;margin-bottom:18px;padding:11px;font-size:12px;display:flex}.btn-discord{color:#fff;font-family:var(--sans);background:#5865f2;border-radius:13px;justify-content:center;align-items:center;gap:10px;padding:14px;font-size:14px;font-weight:700;text-decoration:none;transition:all .16s;display:flex}.btn-discord:hover{filter:brightness(1.1)}.auth-card .btn-primary{justify-content:center;width:100%}.auth-meta{font-family:var(--mono);color:var(--muted);letter-spacing:1px;justify-content:center;align-items:center;gap:10px;margin-top:22px;font-size:9px;display:flex}.auth-meta .dot{background:var(--line2);border-radius:50%;width:3px;height:3px}.jackpot-fx{z-index:50;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:radial-gradient(circle,#ffcf5c1f,#05070aeb);justify-content:center;align-items:center;animation:.3s fade;display:flex;position:fixed;top:0;bottom:0;left:0;right:0}.jackpot-card{text-align:center;position:relative}.jackpot-big{letter-spacing:1px;color:var(--gold);text-shadow:0 0 30px #ffcf5c80;font-size:40px;font-weight:700}.jackpot-key{font-family:var(--mono);color:var(--ice);letter-spacing:2px;background:var(--surface);border:1px solid var(--gold);border-radius:12px;margin-top:14px;padding:12px 20px;font-size:18px;display:inline-block}.jackpot-sub{font-family:var(--mono);color:var(--muted);letter-spacing:1px;margin-top:16px;font-size:11px}.spark{background:var(--gold);pointer-events:none;border-radius:50%;width:6px;height:6px;position:absolute}@media (max-width:560px){.app{padding:18px 14px 50px}.topbar{flex-direction:column;align-items:stretch;gap:14px}.wallet{justify-content:center}.stage{padding:22px 16px}.reel{width:92px;height:120px}.plinko-board{width:300px}.tabs{justify-content:center;width:100%}}@media (prefers-reduced-motion:reduce){*{transition-duration:.01ms!important;animation-duration:.01ms!important}}
