
.game-bg{min-height:calc(100vh - var(--topbar-h));min-height:calc(100dvh - var(--topbar-h));background:transparent;display:flex;align-items:center;justify-content:center;padding:24px;}
@media(min-width:901px){
  html.game-page .game-bg{
    height:calc(100vh - var(--topbar-h));
    height:calc(100dvh - var(--topbar-h));
    min-height:0;
  }
  html.game-page .game-window,
  html.game-page .game-window.wide{
    max-height:calc(100vh - var(--topbar-h) - 48px);
    max-height:calc(100dvh - var(--topbar-h) - 48px);
  }
}
.game-window{display:flex;width:100%;max-width:1050px;background:var(--bg2);border-radius:12px;overflow:hidden;box-shadow:var(--shadow-lg),0 0 0 1px var(--edge),var(--hl);min-height:min(651px,calc(100vh - var(--topbar-h) - 48px));min-height:min(651px,calc(100dvh - var(--topbar-h) - 48px));user-select:none;}
.game-window.wide{max-width:1197px;min-height:min(714px,calc(100vh - var(--topbar-h) - 48px));min-height:min(714px,calc(100dvh - var(--topbar-h) - 48px));}

.ctrl-panel{width:280px;flex-shrink:0;background:var(--bg3);display:flex;flex-direction:column;padding:16px;gap:14px;overflow-y:auto;box-shadow:1px 0 0 var(--edge);}
.back-link{display:inline-flex;align-items:center;gap:6px;color:var(--t2);font-size:13px;text-decoration:none;padding:7px 12px;border-radius:6px;background:var(--bgh);font-weight:700;transition:all .15s;width:fit-content;}
.back-link:hover{color:#fff;background:var(--bgh2);}
.ctrl-lbl{font-size:13px;color:var(--t2);margin-bottom:6px;font-weight:600;display:flex;justify-content:space-between;align-items:baseline;}
.ctrl-input{width:100%;background:var(--bg);border:2px solid var(--bgh);border-radius:6px;padding:9px 12px;color:#fff;font-size:14px;font-family:'Inter',sans-serif;font-weight:700;outline:none;transition:border-color .15s,box-shadow .15s;font-variant-numeric:tabular-nums;}
.ctrl-input:hover{border-color:var(--bgh2);}
.ctrl-input:focus{border-color:var(--pri-blue);box-shadow:0 0 0 3px rgba(124,92,255,.16);}
.bet-row{display:flex;gap:5px;margin-top:7px;}
.qbtn{flex:1;background:var(--bgh);border:none;border-radius:4px;color:#fff;padding:8px 4px;font-size:12px;font-weight:700;cursor:pointer;font-family:'Inter',sans-serif;transition:background .15s,transform .1s,box-shadow .1s;box-shadow:inset 0 1px 0 rgba(255,255,255,.2),inset 0 -1.5px 0 rgba(0,0,0,.18);}
.qbtn:hover{background:var(--bgh2);}
.qbtn:active{transform:translateY(1px) scale(.97);box-shadow:inset 0 1px 1px rgba(0,0,0,.2);}
.divider{height:1px;background:rgba(255,255,255,.07);}

.stat-row-2{display:grid;grid-template-columns:1fr 1fr;gap:8px;}
.stat-box{background:var(--bg);border-radius:6px;padding:12px;text-align:center;}
.stat-box .sl{font-size:11px;color:var(--t2);font-weight:600;}
.stat-box .sv{font-size:19px;font-weight:800;margin-top:3px;font-variant-numeric:tabular-nums;}
.sv.gold{color:var(--push);}.sv.green{color:var(--win);}

.btn-primary-main,.btn-bet-main,.btn-roll,
.btn-secondary-main,.btn-cashout-main{
  width:100%;border:none;cursor:pointer;font-weight:700;font-family:'Inter',sans-serif;
  transition:background .15s,filter .15s,transform .1s,box-shadow .1s;
  box-shadow:var(--shadow-md),inset 0 1px 0 rgba(255,255,255,.25),inset 0 -2px 0 rgba(0,0,0,.18);
}
.btn-primary-main:active:not(:disabled),.btn-bet-main:active:not(:disabled),.btn-roll:active:not(:disabled),
.btn-secondary-main:active:not(:disabled),.btn-cashout-main:active:not(:disabled){
  transform:translateY(1px) scale(.99);
  box-shadow:0 1px 2px rgba(0,0,0,.15),inset 0 1px 2px rgba(0,0,0,.2);
}

.btn-primary-main,.btn-bet-main,.btn-roll{padding:13px;font-size:15px;border-radius:6px;background:var(--accent);color:#04120b;}
.btn-primary-main:not(:disabled):not(.locked),.btn-bet-main:not(:disabled):not(.locked),.btn-roll:not(:disabled):not(.locked){
  box-shadow:0 8px 22px -10px rgba(0,231,1,.55),inset 0 1px 0 rgba(255,255,255,.25),inset 0 -2px 0 rgba(0,0,0,.18);}
.btn-primary-main:active:not(:disabled):not(.locked),.btn-bet-main:active:not(:disabled):not(.locked),.btn-roll:active:not(:disabled):not(.locked){
  box-shadow:0 1px 2px rgba(0,0,0,.15),inset 0 1px 2px rgba(0,0,0,.2);}
.btn-primary-main:hover:not(:disabled),.btn-bet-main:hover:not(:disabled),.btn-roll:hover:not(:disabled){background:var(--accent-hover);}
.btn-primary-main:disabled,.btn-bet-main:disabled,.btn-roll:disabled{background:var(--bgh);color:var(--t3);box-shadow:none;}

.btn-secondary-main{padding:12px;font-size:14px;border-radius:6px;background:var(--bgh);color:#fff;}
.btn-secondary-main:hover:not(:disabled){background:var(--bgh2);}
.btn-secondary-main:disabled{opacity:.4;box-shadow:none;}

.btn-cashout-main{padding:13px;font-size:15px;border-radius:6px;background:var(--gold);color:#241a00;}
.btn-cashout-main:hover:not(:disabled){filter:brightness(1.08);}
.btn-cashout-main:disabled{background:var(--bgh);color:var(--t3);filter:none;box-shadow:none;}
.btn-cashout-main.locked{background:var(--bgh);color:var(--t3);filter:none;
  box-shadow:var(--shadow-md),inset 0 1px 0 rgba(255,255,255,.08),inset 0 -2px 0 rgba(0,0,0,.28);}
.btn-cashout-main.locked:hover{filter:none;}

.btn-bet-main.locked{background:var(--bgh);color:var(--t3);filter:none;
  box-shadow:var(--shadow-md),inset 0 1px 0 rgba(255,255,255,.08),inset 0 -2px 0 rgba(0,0,0,.28);}
.btn-bet-main.locked:hover{background:var(--bgh);filter:none;}

.cover{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;z-index:10;background:rgba(6,9,18,.92);backdrop-filter:blur(3px);}
.cover.dis{background:var(--bg);backdrop-filter:none;}
.cover .cover-icon{width:64px;height:64px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:var(--bg3);}
.cover .cover-icon svg{width:30px;height:30px;stroke:var(--t2);}
.cover.dis .cover-icon{background:rgba(255,195,43,.1);}
.cover.dis .cover-icon svg{stroke:var(--gold);}
.cover h2{font-size:22px;font-weight:800;}
.cover.dis h2{color:var(--gold);}
.cover a{color:var(--pri-soft);text-decoration:none;font-weight:700;}
.cover p{color:var(--t2);font-size:14px;font-weight:500;}

.btn-spinner{display:inline-block;width:16px;height:16px;border:2px solid rgba(0,0,0,.25);border-top-color:currentColor;border-radius:50%;animation:btn-spin .6s linear infinite;vertical-align:-3px;margin-right:7px;}
@keyframes btn-spin{to{transform:rotate(360deg);}}

@media(max-width:900px){
  .game-bg{padding:12px;}
  .game-window,.game-window.wide{
    flex-direction:column-reverse;
    min-height:0;
    max-width:640px;
  }
  .ctrl-panel{width:100%;flex-shrink:1;overflow-y:visible;}

  .game-area,.bj-area,.tower-area,.dice-area,.cf-area,.crash-area{
    flex:1 0 auto;
    min-height:min(58vw,340px);
  }
  .ctrl-panel .back-link{align-self:flex-start;}
}

@media(max-width:420px){
  .game-bg{padding:8px;}
  .ctrl-panel{padding:12px;gap:11px;}
  .stat-box{padding:9px;}
  .stat-box .sv{font-size:17px;}
  .cover h2{font-size:19px;}
  .cover .cover-icon{width:52px;height:52px;}
  .cover .cover-icon svg{width:25px;height:25px;}
}

@media(hover:none){
  .qbtn:hover{background:var(--bgh);}
  .back-link:hover{color:var(--t2);background:var(--bgh);}
  .btn-primary-main:hover:not(:disabled),.btn-bet-main:hover:not(:disabled),.btn-roll:hover:not(:disabled){background:var(--accent);}
  .btn-secondary-main:hover:not(:disabled){background:var(--bgh);}
  .btn-cashout-main:hover:not(:disabled){filter:none;}
}
@media(pointer:coarse){
  .qbtn{padding:12px 4px;}
  .ctrl-input{padding:12px;
    font-size:16px;}
  .btn-primary-main,.btn-bet-main,.btn-roll,
  .btn-secondary-main,.btn-cashout-main{min-height:48px;}
}
