:root{
  --bg:#03040d;--panel:#090d20;--panel2:#0d1433;--line:rgba(150,161,255,.16);--text:#f7f9ff;--muted:#8793bd;
  --cyan:#55e7ff;--violet:#8f70ff;--orange:#ff713d;--gold:#ffc857;--green:#42e7a6;--red:#ff5577;
}
*{box-sizing:border-box}
html,body{margin:0;min-width:0;width:100%;min-height:100%;background:var(--bg);color:var(--text);font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
body{overflow-x:hidden;overscroll-behavior-x:none}
button,input{font:inherit}
button{cursor:pointer}
button:focus-visible,input:focus-visible{outline:2px solid rgba(85,231,255,.7);outline-offset:2px}
.app{width:100%;min-height:100svh;background:#03040d url('../assets/stars.svg') center/cover fixed;overflow:hidden}
.topbar{height:68px;display:flex;align-items:center;justify-content:space-between;padding:0 max(14px,calc((100vw - 1500px)/2 + 14px));background:rgba(3,4,13,.82);border-bottom:1px solid var(--line);backdrop-filter:blur(18px);position:sticky;top:0;z-index:20}
.topbar-left,.top-actions{display:flex;align-items:center;gap:8px;min-width:0}
.brand-btn{border:0;background:transparent;padding:0 2px;height:48px;min-width:0}
.brand-btn img{width:210px;height:52px;display:block;object-fit:contain}
.icon-btn{width:42px;height:42px;border-radius:13px;border:1px solid var(--line);background:#0b1028;color:#fff;display:grid;place-items:center;font-weight:900;font-size:21px;line-height:1}
.shell{width:min(1500px,100%);margin:auto;padding:16px;display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:16px}
.game-panel,.card{border:1px solid var(--line);background:linear-gradient(145deg,rgba(11,16,42,.92),rgba(4,7,20,.94));box-shadow:0 24px 80px rgba(0,0,0,.38),inset 0 1px rgba(255,255,255,.035);border-radius:22px}
.game-panel{min-height:calc(100svh - 100px);position:relative;overflow:hidden}
.space-bg{position:absolute;inset:0;background:radial-gradient(circle at 55% 58%,rgba(255,91,55,.13),transparent 24%),radial-gradient(circle at 55% 35%,rgba(82,75,255,.15),transparent 44%)}
.planet{position:absolute;width:340px;right:-130px;top:-110px;opacity:.42;pointer-events:none}
.topline{position:relative;z-index:5;display:flex;justify-content:space-between;align-items:flex-start;padding:17px 18px}
.eyebrow{display:block;font-size:11px;font-weight:900;letter-spacing:.14em;color:#dbe2ff}
.round{display:block;font-size:12px;color:var(--muted);margin-top:4px}
.fair-badge{font-size:10px;color:#a9b5e5;border:1px solid var(--line);padding:7px 9px;border-radius:999px;background:rgba(5,8,24,.62);white-space:nowrap}
.stage{position:absolute;left:18px;right:18px;top:74px;bottom:128px;overflow:hidden;border-radius:18px;background:radial-gradient(circle at 52% 58%,rgba(255,106,55,.10),transparent 20%),linear-gradient(180deg,rgba(7,10,31,.3),rgba(2,4,15,.74));border:1px solid rgba(143,112,255,.1);box-shadow:inset 0 0 80px rgba(81,79,255,.06);contain:layout paint}
.stage::before{content:"";position:absolute;inset:-20%;background:radial-gradient(circle at 30% 20%,rgba(74,226,255,.06),transparent 18%),radial-gradient(circle at 72% 35%,rgba(145,91,255,.08),transparent 22%);animation:nebulaDrift 14s ease-in-out infinite alternate;pointer-events:none}
.stage::after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 45% 72%,rgba(255,101,57,.12),transparent 24%);pointer-events:none}
.flight{position:absolute;inset:0;width:100%;height:100%;overflow:visible;z-index:1}
.grid-line{stroke:rgba(129,143,209,.10);stroke-width:1}
.flight-path{fill:none;stroke:url(#pathGrad);stroke-width:6;stroke-linecap:round;stroke-linejoin:round}
.flight-path.glow{stroke-width:18;opacity:.22;filter:url(#pathGlow)}
.axis-y{position:absolute;z-index:2;right:14px;top:0;bottom:0;width:38px;color:#66739f;font-size:9px;pointer-events:none}
.axis-y span{position:absolute;right:0;transform:translateY(-50%);white-space:nowrap}
.multiplier{position:absolute;z-index:4;left:50%;top:38%;transform:translate(-50%,-50%);font-size:clamp(58px,9vw,116px);font-weight:950;letter-spacing:-.06em;text-shadow:0 0 42px rgba(255,112,61,.26);white-space:nowrap}
.multiplier.crashed{color:var(--red);text-shadow:0 0 44px rgba(255,85,119,.45)}
.state-pill{position:absolute;z-index:4;left:50%;top:52%;transform:translateX(-50%);padding:8px 13px;border:1px solid var(--line);background:rgba(4,7,20,.72);border-radius:999px;color:#9da9d3;font-size:11px;white-space:nowrap;max-width:calc(100% - 36px);overflow:hidden;text-overflow:ellipsis}
.rocket-wrap{position:absolute;z-index:6;pointer-events:none;will-change:left,top;transition:filter .35s ease;width:100px;background:transparent!important;filter:drop-shadow(0 0 18px rgba(80,220,255,.20))}
.rocket{display:block;width:100%;height:auto;background:transparent!important;filter:drop-shadow(0 8px 20px rgba(0,0,0,.35)) drop-shadow(0 0 18px rgba(255,102,52,.18));transform-origin:50% 50%;transform:rotate(var(--rocket-angle,0deg));animation:enginePulse .42s ease-in-out infinite alternate;backface-visibility:hidden}
.rocket.flying{filter:drop-shadow(0 8px 20px rgba(0,0,0,.35)) drop-shadow(0 0 23px rgba(255,102,52,.28));animation:rocketFloat 1.8s ease-in-out infinite,enginePulse .42s ease-in-out infinite alternate}
.crash-flash{position:absolute;z-index:8;inset:0;background:radial-gradient(circle at var(--cx,50%) var(--cy,50%),rgba(255,72,89,.6),transparent 22%);opacity:0;pointer-events:none}
.crash-flash.show{animation:flash .75s ease-out}
.controls{position:absolute;z-index:7;left:18px;right:18px;bottom:51px;display:grid;grid-template-columns:1fr 1.35fr 1.35fr;gap:10px}
.bet-box{height:58px;border:1px solid var(--line);border-radius:15px;background:rgba(5,8,24,.9);padding:8px 12px;min-width:0}
.bet-box>span{font-size:9px;color:#7380aa;display:block;letter-spacing:.1em}
.bet-box div{display:flex;align-items:center;gap:6px;min-width:0}
.bet-box input{width:100%;min-width:0;border:0;outline:0;background:transparent;color:#fff;font-size:18px;font-weight:900}
.bet-box b{font-size:12px;color:#7f8dbd}
.main-btn,.cash-btn{height:58px;border-radius:15px;border:0;font-weight:950;min-width:0}
.main-btn{background:linear-gradient(135deg,#ff6638,#ffc451);color:#1c0e08;box-shadow:0 12px 32px rgba(255,106,60,.22)}
.main-btn:disabled{opacity:.5;cursor:not-allowed}
.cash-btn{background:#222a45;color:#737fa9}
.cash-btn.active{background:linear-gradient(135deg,#38e5a0,#52e4ff);color:#041315;box-shadow:0 12px 32px rgba(66,231,166,.18)}
.cash-btn:disabled{cursor:not-allowed}
.quick-bets{position:absolute;z-index:7;left:18px;right:18px;bottom:13px;display:flex;gap:6px;align-items:center;overflow:auto;scrollbar-width:none}
.quick-bets::-webkit-scrollbar{display:none}
.quick-bets button{border:1px solid var(--line);background:rgba(7,11,30,.84);color:#9aa8d5;border-radius:9px;padding:5px 9px;font-size:10px;white-space:nowrap;flex:0 0 auto}
.quick-bets .auto-badge{margin-left:auto;color:#7ce9ff;border-color:rgba(85,231,255,.2);background:rgba(31,74,93,.22)}
.sidebar{display:flex;flex-direction:column;gap:12px;min-width:0}
.card{padding:15px;min-width:0}
.card-head{display:flex;justify-content:space-between;align-items:center;color:#7784ad;font-size:10px;font-weight:800;letter-spacing:.1em}
.balance-card>strong{display:block;font-size:28px;margin:7px 0 4px}
.balance-sub{display:flex;align-items:center;justify-content:space-between;color:#7583ab;font-size:10px;margin-bottom:12px}
.balance-sub b{color:#65edbc}
.bonus-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px;border-radius:14px;background:linear-gradient(135deg,rgba(255,200,87,.1),rgba(143,112,255,.08));border:1px solid rgba(255,200,87,.14)}
.bonus-row span,.bonus-row small{display:block;color:#8b96bc;font-size:10px}.bonus-row b{display:block;margin-top:3px;font-size:14px}.bonus-row small{margin-top:4px;line-height:1.35}
.bonus-row button{border:0;background:var(--gold);color:#191005;font-weight:950;border-radius:10px;height:38px;padding:0 10px;white-space:nowrap}
.history{display:grid;grid-template-columns:repeat(5,1fr);gap:6px;margin-top:12px}.pill{font-size:10px;font-weight:900;text-align:center;padding:7px 3px;border-radius:8px;background:#151b39;color:#aeb9df}.pill.low{color:#ff8e98;background:rgba(255,85,119,.1)}.pill.mid{color:#ffd77b;background:rgba(255,200,87,.1)}.pill.high{color:#65edbc;background:rgba(66,231,166,.1)}
.stats-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:12px}.stats-grid>div{background:rgba(3,6,19,.52);border:1px solid rgba(255,255,255,.035);border-radius:11px;padding:10px}.stats-grid span{display:block;color:#69759d;font-size:9px}.stats-grid b{display:block;margin-top:4px;font-size:14px}
.stats-line{display:flex;justify-content:space-between;gap:8px;margin-top:9px;color:#7784aa;font-size:9px}.stats-line b{color:#aebbe4;font-size:10px}
.fairness-card strong{display:block;margin-top:9px;font-size:13px}.fairness-card p{font-size:9px;color:#717fa8;line-height:1.45;margin:6px 0 0;word-break:break-word}.dot{width:7px;height:7px;border-radius:50%;background:var(--green);box-shadow:0 0 12px var(--green)}
.secondary-btn{height:40px;border:1px solid var(--line);border-radius:11px;background:#101733;color:#bdc8ec;font-weight:900;font-size:10px;padding:0 12px}.fairness-card .secondary-btn{width:100%;margin-top:10px}
.toast{position:fixed;left:50%;bottom:22px;transform:translate(-50%,20px);opacity:0;z-index:100;background:#121936;border:1px solid var(--line);border-radius:12px;padding:11px 15px;font-size:12px;transition:.2s;pointer-events:none;max-width:min(92vw,520px);text-align:center}.toast.show{opacity:1;transform:translate(-50%,0)}
.modal{position:fixed;z-index:90;inset:0;background:rgba(2,4,12,.72);backdrop-filter:blur(12px);display:grid;place-items:center;padding:16px;opacity:0;transition:opacity .15s}.modal[hidden]{display:none}.modal.open{opacity:1}
.modal-card{width:min(560px,100%);max-height:min(90svh,760px);overflow:auto;border:1px solid var(--line);background:linear-gradient(145deg,rgba(13,18,46,.98),rgba(4,7,20,.98));border-radius:20px;box-shadow:0 30px 100px rgba(0,0,0,.5);padding:18px}
.modal-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.modal-head h2{margin:3px 0 0;font-size:22px}.close-btn{width:36px;height:36px;border:1px solid var(--line);border-radius:10px;background:#0d1330;color:#fff;font-size:22px}
.field{display:block;margin-top:16px}.field>span{display:block;font-size:10px;color:#7f8cb3;letter-spacing:.08em;margin-bottom:7px}.field input{width:100%;height:45px;border:1px solid var(--line);border-radius:11px;background:#080c20;color:#fff;padding:0 12px;outline:none;font-weight:800}.field-inline{display:grid;grid-template-columns:1fr auto;gap:6px;align-items:center}.field-inline input{width:100%}.field-inline b{color:#8ea0d3}.field small{display:block;margin-top:6px;color:#67759e;font-size:9px;line-height:1.4}
.toggle{display:flex;align-items:center;gap:10px;margin-top:14px;padding:11px;border:1px solid rgba(255,255,255,.04);background:rgba(4,7,20,.45);border-radius:12px;color:#b5c0e3;font-size:11px}.toggle input{accent-color:#55e7ff}
.modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:18px}.modal-actions .main-btn{height:42px;padding:0 16px}.proof-box{margin-top:12px;padding:11px;border:1px solid rgba(255,255,255,.05);border-radius:12px;background:#080c20}.proof-box span{display:block;color:#7180a8;font-size:9px;margin-bottom:6px}.proof-box code{display:block;color:#aebbe2;font-size:9px;line-height:1.45;word-break:break-all}.proof-box .secondary-btn{margin-top:8px}.modal-note{font-size:10px;color:#7683ab;line-height:1.55}.full{width:100%;margin-top:14px}
.reduce-motion *, .reduce-motion *::before, .reduce-motion *::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}
@keyframes nebulaDrift{from{transform:translate3d(-1%,0,0) scale(1)}to{transform:translate3d(2%,-1%,0) scale(1.04)}}
@keyframes enginePulse{from{filter:drop-shadow(0 8px 16px rgba(255,104,50,.18)) drop-shadow(0 0 15px rgba(80,220,255,.26))}to{filter:drop-shadow(0 8px 20px rgba(255,104,50,.32)) drop-shadow(0 0 26px rgba(80,220,255,.50))}}
@keyframes rocketFloat{0%,100%{transform:translate3d(0,1px,0) rotate(var(--rocket-angle,0deg))}50%{transform:translate3d(0,-2px,0) rotate(var(--rocket-angle,0deg))}}
@keyframes flash{0%{opacity:0}18%{opacity:1}100%{opacity:0}}
@media(max-width:980px){.shell{display:block;padding:10px}.sidebar{display:grid;grid-template-columns:1fr 1fr;margin-top:10px}.fairness-card{grid-column:1/-1}.game-panel{min-height:calc(100svh - 88px);border-radius:18px}.stage{top:67px;bottom:123px}.controls{left:10px;right:10px;bottom:46px}.quick-bets{left:10px;right:10px}.topline{padding:12px}.brand-btn img{width:175px}.planet{width:250px;right:-100px;top:-90px}.rocket-wrap{max-width:115px}}
@media(max-width:600px){
  .topbar{height:54px;padding:0 8px}.icon-btn{width:38px;height:38px}.brand-btn img{width:145px}.top-actions{gap:5px}
  .shell{padding:7px}.game-panel{min-height:calc(100svh - 68px)}
  .stage{left:8px;right:8px;top:59px;bottom:114px;border-radius:14px;clip-path:inset(0 round 14px)}
  .topline{padding:10px}.eyebrow{font-size:10px}.round{font-size:11px}.fair-badge{display:none}
  .multiplier{top:36%;font-size:clamp(42px,15vw,64px);max-width:85%;line-height:1}.state-pill{top:49%;max-width:84%;font-size:10px}.axis-y{right:8px;font-size:8px}
  .controls{left:8px;right:8px;bottom:39px;grid-template-columns:82px minmax(0,1fr) minmax(0,1fr);gap:5px}.bet-box,.main-btn,.cash-btn{height:50px}.bet-box{padding:7px 9px}.bet-box input{font-size:15px}.bet-box b{font-size:10px}.main-btn,.cash-btn{font-size:9px;padding:0 5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .quick-bets{left:8px;right:8px;bottom:8px;gap:4px}.quick-bets button{padding:5px 7px}.quick-bets .auto-badge{margin-left:0}.sidebar{grid-template-columns:1fr;gap:8px}.fairness-card{grid-column:auto}.card{border-radius:16px;padding:12px}.balance-card>strong{font-size:24px}.planet{width:210px;right:-90px;top:-75px}
}
@media(max-width:380px){.brand-btn img{width:120px}.topbar{height:50px}.icon-btn{width:35px;height:35px}.game-panel{min-height:calc(100svh - 60px)}.stage{top:54px;bottom:108px}.controls{grid-template-columns:68px minmax(0,1fr) minmax(0,1fr)}.main-btn,.cash-btn{font-size:8px}.bet-box input{font-size:14px}.rocket-wrap{max-width:60px}.state-pill{font-size:9px}}
@media(max-height:700px) and (max-width:600px){.game-panel{min-height:620px}.stage{min-height:330px}.sidebar{display:none}}
.test-badge{display:inline-block;margin-left:7px;padding:2px 6px;border:1px solid rgba(84,232,255,.35);border-radius:999px;font-size:9px;letter-spacing:.08em;color:#54e8ff;vertical-align:middle}
