/* ══════════════════════════════════════════════════════
   BetEmpireElite — Premium Black & Gold Theme
══════════════════════════════════════════════════════ */
:root {
  --gold:        #c9a227;
  --gold-light:  #f0d060;
  --gold-bright: #ffd700;
  --gold-dark:   #8b6914;
  --gold-glow:   rgba(201,162,39,0.45);
  --gold-glow-s: rgba(201,162,39,0.18);
  --bg:          #080808;
  --panel:       #0d0d11;
  --panel-alt:   #101016;
  --panel-card:  #0a0a0f;
  --border-gold: rgba(201,162,39,0.18);
  --border-sub:  rgba(255,255,255,0.04);
  --text:        #e8e0d0;
  --text-dim:    rgba(232,224,208,0.42);
  --red:         #ff4f6b;
  --green:       #00e676;
}

*{margin:0;padding:0;box-sizing:border-box;}
html,body{height:100%;overflow:hidden;}
body{
  font-family:'Inter',Arial,sans-serif;
  background:var(--bg);
  color:var(--text);
}

/* ══════════════════════════════════════════════════════
   SITE HEADER — logo bar
══════════════════════════════════════════════════════ */
.site-header{
  height:56px;
  display:flex;align-items:center;gap:12px;
  padding:0 18px;
  background:linear-gradient(180deg,#110f08 0%,#0a0a0c 100%);
  border-bottom:1px solid var(--border-gold);
  box-shadow:0 2px 24px rgba(0,0,0,.7),
             0 1px 0 rgba(201,162,39,.08) inset;
  position:relative;z-index:50;
  flex-shrink:0;
}

/* Subtle gold shimmer line at very top of header */
.site-header::before{
  content:'';
  position:absolute;top:0;left:0;right:0;height:1px;
  background:linear-gradient(90deg,
    transparent 0%,
    var(--gold) 30%,
    var(--gold-bright) 50%,
    var(--gold) 70%,
    transparent 100%);
  opacity:.6;
}

.site-logo-link{
  display:flex;align-items:center;
  cursor:pointer;
  text-decoration:none;
  flex-shrink:0;
}

.site-logo{
  height:44px;
  width:auto;
  border-radius:6px;
  transition:transform .3s cubic-bezier(.34,1.56,.64,1),
             filter .3s ease,
             box-shadow .3s ease;
  will-change:transform,filter;
}

.site-logo-link:hover .site-logo{
  transform:scale(1.07);
  filter:brightness(1.12) drop-shadow(0 0 14px rgba(201,162,39,.75));
}

.header-brand{
  display:flex;flex-direction:column;justify-content:center;gap:1px;
}
.brand-name{
  font-size:16px;font-weight:900;letter-spacing:.5px;
  color:#e8d090;
  line-height:1;
}
.brand-elite{
  color:var(--gold-bright);
  text-shadow:0 0 12px rgba(255,215,0,.4);
}
.brand-tag{
  font-size:10px;font-weight:500;letter-spacing:2px;
  text-transform:uppercase;
  color:var(--gold);
  opacity:.7;
  line-height:1;
}

.header-spacer{flex:1;}

/* Top-right live balance — mirrors the balance widget used in the other game navs */
.header-balance-wrap{text-align:right;margin-left:14px;margin-right:14px;}
.header-bal-label{font-size:9px;letter-spacing:.2em;color:var(--gold-dim,#8a7326);font-weight:600;}
.header-bal-val{font-size:15px;font-weight:700;color:var(--gold,#c9a227);}

/* ══════════════════════════════════════════════════════
   APP LAYOUT
══════════════════════════════════════════════════════ */
#app{
  display:flex;
  height:calc(100vh - 56px);
  width:100vw;
  overflow:hidden;
}

/* ══════════════════════════════
   LEFT PANEL
══════════════════════════════ */
.left-panel{
  width:256px;min-width:256px;
  background:var(--panel);
  border-right:1px solid var(--border-gold);
  display:flex;flex-direction:column;gap:0;
  overflow-y:auto;overflow-x:hidden;
  padding:16px 14px 24px;
}
.left-panel::-webkit-scrollbar{width:3px;}
.left-panel::-webkit-scrollbar-thumb{background:rgba(201,162,39,.15);}

/* Balance */
.balance-card{
  background:var(--panel-card);
  border:1px solid rgba(201,162,39,.22);
  border-radius:14px;padding:14px 16px;margin-bottom:14px;
  box-shadow:0 0 20px rgba(201,162,39,.06),
             inset 0 1px 0 rgba(255,215,0,.06);
  position:relative;overflow:hidden;
}
.balance-card::before{
  content:'';position:absolute;top:0;left:0;right:0;height:1px;
  background:linear-gradient(90deg,transparent,var(--gold),transparent);
  opacity:.4;
}
.balance-label{
  font-size:11px;text-transform:uppercase;letter-spacing:1px;
  color:var(--gold);opacity:.6;margin-bottom:4px;
}
.balance-amount{font-size:24px;font-weight:800;color:#fff;line-height:1;}
.balance-pl{font-size:12px;font-weight:600;margin-top:5px;color:rgba(255,255,255,.38);}
.balance-pl.pos{color:var(--green);}
.balance-pl.neg{color:var(--red);}

/* Mode tabs */
.mode-tabs{
  display:flex;gap:4px;
  background:var(--panel-card);
  border:1px solid var(--border-gold);
  border-radius:10px;padding:4px;
  margin-bottom:14px;
}
.mode-tab{
  flex:1;padding:8px;border:none;background:transparent;
  color:rgba(255,255,255,.38);font-size:13px;font-weight:600;
  border-radius:7px;cursor:pointer;transition:.15s;font-family:inherit;
}
.mode-tab.active{
  background:rgba(201,162,39,.15);
  color:var(--gold-light);
  box-shadow:0 0 8px rgba(201,162,39,.12);
}

/* Controls */
.control-group{margin-bottom:14px;}
.ctrl-label{
  font-size:11px;text-transform:uppercase;letter-spacing:.8px;
  color:var(--text-dim);display:block;margin-bottom:6px;
}

/* Bet input */
.bet-input-wrap{position:relative;margin-bottom:8px;}
.insufficient-shake{animation:insufficientShake 0.5s ease;}
#bet.insufficient-shake{border-color:#ff5555 !important;}
#balance.insufficient-shake{color:#ff5555;}
@keyframes insufficientShake{
  0%,100%{transform:translateX(0);}
  20%{transform:translateX(-4px);}
  40%{transform:translateX(4px);}
  60%{transform:translateX(-3px);}
  80%{transform:translateX(3px);}
}
.currency{
  position:absolute;left:12px;top:50%;transform:translateY(-50%);
  color:var(--gold);opacity:.6;font-size:14px;
}
#bet{
  width:100%;padding:11px 12px 11px 26px;
  background:var(--panel-card);
  border:1px solid rgba(201,162,39,.18);
  color:white;font-size:16px;font-weight:700;
  border-radius:10px;outline:none;transition:.15s;
  font-family:inherit;
}
#bet:focus{border-color:rgba(201,162,39,.55);box-shadow:0 0 0 3px rgba(201,162,39,.1);}

/* Quick bet buttons */
.bet-quick{display:flex;gap:5px;}
.qbtn{
  flex:1;padding:7px 4px;font-size:12px;font-weight:700;
  background:var(--panel-card);border:1px solid rgba(201,162,39,.14);
  color:rgba(255,255,255,.5);border-radius:8px;cursor:pointer;transition:.15s;
  font-family:inherit;
}
.qbtn:hover{
  background:rgba(201,162,39,.12);
  color:var(--gold-light);
  border-color:rgba(201,162,39,.35);
}

/* Risk selector */
.risk-select-row{display:flex;gap:5px;}
.risk-btn{
  flex:1;padding:8px 4px;font-size:12px;font-weight:700;
  background:var(--panel-card);border:1px solid rgba(201,162,39,.12);
  color:rgba(255,255,255,.45);border-radius:9px;cursor:pointer;transition:.15s;
  font-family:inherit;
}
.risk-btn:hover{color:#fff;border-color:rgba(201,162,39,.3);}
.risk-btn.active[data-risk="low"]{
  background:rgba(0,160,80,.12);color:#00e676;
  border-color:#00c864;box-shadow:0 0 10px rgba(0,230,118,.18);
}
.risk-btn.active[data-risk="medium"]{
  background:rgba(201,162,39,.14);color:var(--gold-light);
  border-color:var(--gold);box-shadow:0 0 10px rgba(201,162,39,.22);
}
.risk-btn.active[data-risk="high"]{
  background:#2a0018;color:#ff4f6b;
  border-color:#ff4f6b;box-shadow:0 0 10px rgba(255,79,107,.2);
}

/* Sliders */
.slider-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px;}
.slider-val{font-size:13px;font-weight:700;color:var(--gold);}

input[type=range]{
  -webkit-appearance:none;width:100%;height:4px;
  background:rgba(201,162,39,.15);border-radius:2px;outline:none;cursor:pointer;
}
input[type=range]::-webkit-slider-thumb{
  -webkit-appearance:none;width:16px;height:16px;
  background:radial-gradient(circle,var(--gold-light),var(--gold));
  border-radius:50%;cursor:pointer;
  box-shadow:0 0 8px var(--gold-glow);
}
input[type=range]::-moz-range-thumb{
  width:16px;height:16px;
  background:var(--gold);
  border-radius:50%;cursor:pointer;border:none;
}

.hint{font-size:10px;color:rgba(255,255,255,.3);margin-top:3px;}

/* BET button — luxury gold gradient */
.btn-bet{
  width:100%;padding:14px;margin-top:4px;
  background:linear-gradient(135deg,var(--gold-light) 0%,var(--gold) 45%,var(--gold-dark) 100%);
  border:none;border-radius:12px;
  color:#0a0800;font-size:15px;font-weight:900;
  cursor:pointer;transition:.18s;font-family:inherit;
  box-shadow:0 4px 20px rgba(201,162,39,.35),
             inset 0 1px 0 rgba(255,255,255,.25);
  letter-spacing:2px;text-transform:uppercase;
  position:relative;overflow:hidden;
}
.btn-bet::after{
  content:'';position:absolute;
  top:-50%;left:-60%;width:40%;height:200%;
  background:rgba(255,255,255,.18);
  transform:skewX(-20deg);
  transition:left .5s ease;
}
.btn-bet:hover::after{left:120%;}
.btn-bet:hover{
  transform:translateY(-1px);
  box-shadow:0 8px 28px rgba(201,162,39,.55),
             inset 0 1px 0 rgba(255,255,255,.3);
}
.btn-bet:active{transform:translateY(0);}
.btn-bet:disabled{opacity:.4;cursor:not-allowed;transform:none;box-shadow:none;}

.btn-stop{
  width:100%;padding:12px;margin-top:6px;
  background:#1a0010;border:1px solid rgba(255,79,107,.35);
  border-radius:12px;color:#ff4f6b;font-size:14px;font-weight:700;
  cursor:pointer;transition:.15s;font-family:inherit;
}
.btn-stop:hover{background:#2a0018;}

.hidden{display:none!important;}

/* Session stats */
.divider{height:1px;background:var(--border-gold);margin:14px 0;}

.session-stats{display:flex;flex-direction:column;gap:6px;margin-bottom:12px;}
.ss-row{
  display:flex;justify-content:space-between;
  font-size:12px;padding:5px 0;
  border-bottom:1px solid var(--border-sub);
}
.ss-row span:first-child{color:var(--text-dim);}
.ss-row span:last-child{font-weight:700;}
.ss-row .pos{color:var(--green);}
.ss-row .neg{color:var(--red);}
.ss-row .neutral{color:rgba(255,255,255,.55);}

.btn-clear{
  width:100%;padding:8px;background:transparent;
  border:1px solid rgba(201,162,39,.15);border-radius:8px;
  color:rgba(255,255,255,.3);font-size:12px;cursor:pointer;
  font-family:inherit;transition:.15s;
}
.btn-clear:hover{border-color:rgba(255,79,107,.3);color:var(--red);}

/* ══════════════════════════════
   CENTER BOARD
══════════════════════════════ */
.center{
  flex:1;display:flex;flex-direction:column;
  align-items:center;justify-content:center;
  overflow:hidden;padding:12px 0;
  background:radial-gradient(ellipse at 50% 0%,
    rgba(201,162,39,.04) 0%,
    transparent 60%);
}

.board-wrap{
  position:relative;display:inline-block;
}

#world{
  display:block;
  max-width:100%;
  max-height:calc(100vh - 56px - 24px);
}

/* Win popup */
.win-popup{
  position:absolute;top:50%;left:50%;
  transform:translate(-50%,-50%);
  background:rgba(5,4,2,.95);
  border:2px solid var(--gold);
  border-radius:22px;
  padding:18px 40px;text-align:center;
  z-index:100;pointer-events:none;
  box-shadow:0 0 50px var(--gold-glow),
             0 0 100px rgba(201,162,39,.15),
             inset 0 0 30px rgba(201,162,39,.04);
}
.win-popup.show{animation:popIn .2s cubic-bezier(.34,1.56,.64,1);}
.win-popup.fade-out{animation:popOut .3s ease forwards;}

.popup-mult{font-size:46px;font-weight:900;line-height:1;}
.popup-mult.green{color:var(--green);text-shadow:0 0 20px rgba(0,230,118,.6);}
.popup-mult.yellow{color:var(--gold-bright);text-shadow:0 0 20px rgba(255,215,0,.7);}
.popup-mult.red{color:var(--red);text-shadow:0 0 20px rgba(255,79,107,.6);}
.popup-win{font-size:20px;font-weight:700;color:rgba(255,255,255,.85);margin-top:4px;}

@keyframes popIn{
  from{opacity:0;transform:translate(-50%,-50%) scale(.5)}
  to{opacity:1;transform:translate(-50%,-50%) scale(1)}
}
@keyframes popOut{
  to{opacity:0;transform:translate(-50%,-50%) scale(1.15)}
}

/* ══════════════════════════════
   RIGHT PANEL
══════════════════════════════ */
.right-panel{
  width:268px;min-width:268px;
  background:var(--panel);
  border-left:1px solid var(--border-gold);
  display:flex;flex-direction:column;gap:0;
  overflow-y:auto;overflow-x:hidden;
  padding:18px 14px;
}
.right-panel::-webkit-scrollbar{width:3px;}
.right-panel::-webkit-scrollbar-thumb{background:rgba(201,162,39,.15);}

.rp-section{margin-bottom:20px;}
.rp-title{
  font-size:11px;text-transform:uppercase;letter-spacing:.8px;
  color:var(--gold);opacity:.6;margin-bottom:8px;
}

/* Payout preview */
.payout-preview{
  display:flex;flex-wrap:wrap;gap:4px;justify-content:center;
  padding:4px 0;
}
.payout-box{
  display:flex;align-items:center;justify-content:center;
  min-width:30px;padding:0 5px;height:26px;
  border-radius:7px;
  font-size:10.5px;font-weight:800;
  color:#fff;letter-spacing:.2px;
  cursor:default;
  text-shadow:0 1px 3px rgba(0,0,0,.55);
  box-shadow:0 2px 8px rgba(0,0,0,.45),
             inset 0 1px 0 rgba(255,255,255,.22),
             inset 0 -1px 0 rgba(0,0,0,.25);
  transition:transform .15s cubic-bezier(.34,1.56,.64,1),
             box-shadow .15s ease;
  position:relative;
}
.payout-box:hover{
  transform:translateY(-3px) scale(1.14);
  box-shadow:0 6px 18px rgba(0,0,0,.55),
             0 0 14px color-mix(in srgb,var(--bg) 55%,transparent),
             inset 0 1px 0 rgba(255,255,255,.3);
  z-index:10;
}

/* Recent results */
.recent-list{
  display:flex;flex-direction:column;gap:4px;
  max-height:220px;overflow-y:auto;
}
.recent-list::-webkit-scrollbar{width:2px;}
.recent-list::-webkit-scrollbar-thumb{background:rgba(201,162,39,.15);}

.no-results{
  font-size:12px;color:rgba(255,255,255,.22);
  text-align:center;padding:16px 0;
}

.res-item{
  display:flex;align-items:center;justify-content:space-between;
  padding:6px 10px;border-radius:8px;font-size:12px;
  background:var(--panel-card);
  border:1px solid var(--border-sub);
}
.res-mult{font-weight:800;min-width:50px;}
.res-delta{font-weight:600;}
.res-time{color:rgba(255,255,255,.28);font-size:10px;}
