:root{
  --gold1:#FFF2B2; --gold2:#FFD54a; --gold3:#FFC83B; --gold4:#B37D14; --gold5:#734800;
  --navy0:#020612; --navy1:#060b1e; --navy2:#0b1430; --navy3:#13204a;
  --green:#1ee05a; --green2:#0fa53e; --cyan:#35c8ff;
  --goldgrad:linear-gradient(180deg,#FFF2B2 0%,#FFD54a 40%,#FFC83B 60%,#B37D14 100%);
  --goldtext:linear-gradient(180deg,#fff6c9 0%,#ffdf7a 45%,#f4b73c 70%,#b9801a 100%);
}
*{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent}
html,body{height:100%}
body{
  font-family:'Montserrat',sans-serif;color:#fff;background:#000;
  overflow-x:hidden;
}
body{background:radial-gradient(ellipse at 50% -10%, #12204e 0%, #070d22 45%, #01030a 100%)}
#app{min-height:100vh;max-width:760px;margin:0 auto;position:relative;
  background:radial-gradient(ellipse at 50% 0%, #0a1535 0%, #050a1c 45%, #01030a 100%);
  box-shadow:0 0 60px rgba(0,0,0,.6);
}
@media(min-width:900px){
  #app{max-width:960px;border-left:1px solid rgba(255,200,60,.15);border-right:1px solid rgba(255,200,60,.15)}
}
.bg-stars{position:fixed;inset:0;left:0;transform:none;width:100%;
  background-image:radial-gradient(1px 1px at 20% 30%, #fff 50%, transparent),
    radial-gradient(1px 1px at 70% 60%, #cfe3ff 50%, transparent),
    radial-gradient(1.5px 1.5px at 40% 80%, #fff 50%, transparent),
    radial-gradient(1px 1px at 85% 25%, #fff 50%, transparent),
    radial-gradient(1px 1px at 10% 70%, #9fc2ff 50%, transparent);
  background-size:400px 400px;opacity:.5;pointer-events:none;z-index:0}

/* Gold text helper */
.gold-text{background:var(--goldtext);-webkit-background-clip:text;background-clip:text;color:transparent;
  -webkit-text-fill-color:transparent;text-shadow:0 1px 0 rgba(0,0,0,.4)}
.gold-border{border:1.5px solid transparent;
  background:linear-gradient(var(--navy2),var(--navy2)) padding-box, var(--goldgrad) border-box;}

/* ============ LOADING SCREEN ============ */
.loading-screen{position:fixed;inset:0;z-index:100;display:flex;flex-direction:column;align-items:center;justify-content:center;
  background:radial-gradient(ellipse at 50% 85%, #1a2f8a 0%, #0a1440 35%, #02030f 75%);
  transition:opacity .6s}
.loading-screen.hide{opacity:0;pointer-events:none}
.loading-logo{width:74%;max-width:330px;filter:drop-shadow(0 0 30px rgba(255,200,60,.55));animation:floaty 3s ease-in-out infinite}
@keyframes floaty{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}
.loading-bar-wrap{width:72%;max-width:300px;margin-top:34px;height:20px;border-radius:20px;
  background:#05102b;border:2px solid var(--gold4);box-shadow:0 0 14px rgba(255,200,60,.4) inset,0 0 10px rgba(0,0,0,.6);overflow:hidden;position:relative}
.loading-bar{height:100%;width:0;border-radius:20px;background:linear-gradient(90deg,#1b7cff,#35c8ff,#8ae4ff);
  box-shadow:0 0 14px #35c8ff;transition:width .2s}
.loading-text{margin-top:16px;font-weight:800;letter-spacing:2px;font-size:15px}
.loading-sub{margin-top:8px;font-size:12px;letter-spacing:3px;font-weight:700}
.loading-sub .st{color:var(--gold3)}

/* ============ AUTH ============ */
.auth-wrap{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:26px;position:relative;z-index:2}
.auth-logo{width:62%;max-width:250px;margin-bottom:10px;filter:drop-shadow(0 0 22px rgba(255,200,60,.5))}
.auth-card{width:100%;max-width:360px;border-radius:18px;padding:22px 20px 26px;
  background:linear-gradient(180deg,rgba(14,22,52,.96),rgba(6,11,30,.98));
  border:1.5px solid rgba(255,200,60,.55);box-shadow:0 0 30px rgba(255,200,60,.18),0 14px 40px rgba(0,0,0,.6)}
.auth-tabs{display:flex;gap:8px;margin-bottom:18px}
.auth-tab{flex:1;text-align:center;padding:11px 0;border-radius:12px;font-weight:800;font-size:14px;cursor:pointer;
  background:#0a1430;color:#9fb0d8;border:1px solid rgba(255,200,60,.2);transition:.2s}
.auth-tab.active{background:var(--goldgrad);color:#4a2c00;box-shadow:0 4px 14px rgba(255,200,60,.4)}
.field{margin-bottom:13px}
.field label{display:block;font-size:12px;color:var(--gold3);margin-bottom:6px;font-weight:700;letter-spacing:.5px}
.field .inp{position:relative}
.field .inp i{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:var(--gold4)}
.field input{width:100%;padding:13px 14px 13px 40px;border-radius:12px;background:#060d24;color:#fff;
  border:1.5px solid rgba(255,200,60,.28);font-size:14px;font-family:inherit;outline:none;transition:.2s}
.field input:focus{border-color:var(--gold3);box-shadow:0 0 0 3px rgba(255,200,60,.12)}
.btn-gold{width:100%;padding:14px;border:none;border-radius:13px;background:var(--goldgrad);color:#4a2c00;
  font-weight:900;font-size:16px;letter-spacing:1px;cursor:pointer;box-shadow:0 6px 18px rgba(255,200,60,.4);transition:.15s;margin-top:4px}
.btn-gold:active{transform:scale(.97)}
.auth-msg{min-height:18px;color:#ff6a7a;font-size:12.5px;text-align:center;margin-top:10px;font-weight:600}
.auth-foot{margin-top:16px;text-align:center;font-size:11.5px;letter-spacing:2px;color:var(--gold3);font-weight:700}

/* ============ LOBBY ============ */
.lobby{position:relative;z-index:2;min-height:100vh;padding-bottom:70px}
.topbar{display:flex;align-items:center;gap:8px;padding:10px 12px;
  background:linear-gradient(180deg,rgba(9,16,40,.95),rgba(6,11,28,.8));border-bottom:1px solid rgba(255,200,60,.25);
  position:sticky;top:0;z-index:20;backdrop-filter:blur(6px)}
.user-chip{display:flex;align-items:center;gap:8px}
.avatar{width:38px;height:38px;border-radius:50%;object-fit:cover;border:2px solid var(--gold3);box-shadow:0 0 8px rgba(255,200,60,.5);background:#13204a}
.user-chip .uname{font-weight:800;font-size:13px;line-height:1.1}
.user-chip .uid{font-size:10px;color:#9fb0d8}
.coin-chip{display:flex;align-items:center;gap:6px;margin-left:4px;padding:5px 7px 5px 8px;border-radius:20px;
  background:#060d24;border:1.3px solid rgba(255,200,60,.5)}
.coin-chip .ci{color:var(--gold3);font-size:15px}
.coin-chip .bal{font-weight:800;font-size:13px}
.coin-chip .plus{width:22px;height:22px;border-radius:50%;background:var(--green);color:#063d16;display:grid;place-items:center;
  font-size:13px;box-shadow:0 0 8px rgba(30,224,90,.6);border:none;cursor:pointer}
.top-icons{margin-left:auto;display:flex;gap:14px}
.top-icons .ti{display:flex;flex-direction:column;align-items:center;gap:2px;cursor:pointer;color:var(--gold2)}
.top-icons .ti i{font-size:18px;filter:drop-shadow(0 1px 2px rgba(0,0,0,.5))}
.top-icons .ti span{font-size:9px;color:#cdd8f2}

.lobby-body{display:flex;gap:10px;padding:10px}
.sidebar{width:92px;flex:0 0 92px;display:flex;flex-direction:column;gap:8px}
.side-item{display:flex;align-items:center;gap:7px;padding:9px 8px;border-radius:12px;cursor:pointer;
  background:rgba(10,20,48,.7);border:1px solid rgba(255,200,60,.18);font-size:11px;font-weight:700;color:#e6ecff;transition:.15s}
.side-item i{color:var(--gold3);font-size:14px;width:16px;text-align:center}
.side-item.active{background:var(--goldgrad);color:#4a2c00;box-shadow:0 4px 12px rgba(255,200,60,.4)}
.side-item.active i{color:#5a3700}
.side-item .arr{margin-left:auto;font-size:10px}

.main-col{flex:1;min-width:0;display:flex;flex-direction:column;gap:10px}
.hero{border-radius:14px;overflow:hidden;border:1.5px solid rgba(255,200,60,.5);box-shadow:0 0 18px rgba(255,200,60,.2);position:relative;aspect-ratio:16/8.4}
.hero img{width:100%;height:100%;object-fit:cover;display:block}

.cat-row{display:grid;grid-template-columns:repeat(5,1fr);gap:6px}
.cat{cursor:pointer;border-radius:11px;overflow:hidden;border:1.4px solid rgba(255,200,60,.5);background:#0a1430;position:relative;
  background:#0a1430;box-shadow:0 3px 10px rgba(0,0,0,.4);transition:.15s}
.cat:active{transform:scale(.96)}
.cat .thumb{width:100%;aspect-ratio:1/1;object-fit:cover;display:block}
.cat .lbl{position:absolute;bottom:0;left:0;right:0;text-align:center;font-size:8px;font-weight:900;padding:3px 0;
  background:linear-gradient(180deg,transparent,rgba(0,0,0,.85));color:var(--gold2);letter-spacing:.3px}

/* bonus bar */
.bonus-bar{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:6px;padding:0 10px}
.bonus-main{display:flex;align-items:center;gap:6px;padding:8px;border-radius:12px;
  background:linear-gradient(90deg,#2a0b3a,#4a0f2f);border:1.3px solid rgba(255,200,60,.55)}
.bonus-main .gift{font-size:24px}
.bonus-main .bt{font-size:9px;font-weight:800;color:#fff}
.bonus-main .bv{font-size:13px;font-weight:900;color:#ffd54a;font-style:italic}
.bonus-pill{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:7px 2px;border-radius:12px;
  background:#0a1430;border:1.2px solid rgba(255,200,60,.5);text-align:center}
.bonus-pill i{color:var(--gold3);font-size:14px;margin-bottom:2px}
.bonus-pill .pt{font-size:7.5px;color:#cdd8f2;font-weight:700}
.bonus-pill .pv{font-size:13px;font-weight:900;color:#ffd54a}

.sec-title{padding:4px 12px 0;font-weight:800;font-size:13px}
.sec-title i{color:var(--gold3);margin-right:6px}
.games-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;padding:6px 10px}
.game-tile{border-radius:12px;overflow:hidden;border:1.4px solid rgba(255,200,60,.5);cursor:pointer;position:relative;background:#0a1430;transition:.15s}
.game-tile:active{transform:scale(.96)}
.game-tile img{width:100%;aspect-ratio:1/1;object-fit:cover;display:block}
.game-tile .gt-lbl{text-align:center;font-size:9.5px;font-weight:800;padding:4px 2px;background:#0a1430;color:var(--gold2)}
.game-tile .hot{position:absolute;top:4px;right:4px;background:#ff2d55;color:#fff;font-size:7px;font-weight:900;padding:2px 5px;border-radius:6px}

/* bottom nav */
.bottom-nav{position:fixed;bottom:0;left:50%;transform:translateX(-50%);width:100%;max-width:760px;
  display:flex;justify-content:space-around;padding:8px 4px 10px;z-index:30;
  background:linear-gradient(180deg,rgba(6,11,28,.6),rgba(3,6,16,.98));border-top:1.5px solid rgba(255,200,60,.4)}
.bn-item{display:flex;flex-direction:column;align-items:center;gap:2px;font-size:9px;color:#9fb0d8;font-weight:700;cursor:pointer;flex:1}
.bn-item i{font-size:18px}
.bn-item.active{color:var(--gold2)}
.bn-item.active i{filter:drop-shadow(0 0 6px rgba(255,200,60,.7))}

/* ============ DRAWER ============ */
.drawer-mask{position:fixed;inset:0;max-width:760px;left:50%;transform:translateX(-50%);background:rgba(0,0,0,.6);z-index:40;opacity:0;pointer-events:none;transition:.25s}
.drawer-mask.open{opacity:1;pointer-events:auto}
.drawer{position:fixed;top:0;bottom:0;left:50%;margin-left:-240px;width:280px;max-width:78%;z-index:41;
  transform:translateX(-120%);transition:.28s;
  background:linear-gradient(180deg,#0a1430,#060b1e);background:linear-gradient(180deg,#0b1430,#060b1e);
  background:linear-gradient(180deg,#0b1430,#04081a);border-right:1.5px solid rgba(255,200,60,.4);
  padding:14px;overflow-y:auto}
.drawer.open{transform:translateX(0)}
.drawer-head{display:flex;align-items:center;gap:10px;padding:8px;border-radius:12px;background:rgba(255,200,60,.08);border:1px solid rgba(255,200,60,.3);margin-bottom:12px}
.drawer-head .avatar{width:44px;height:44px}
.drawer-head .uname{font-weight:800;font-size:14px}
.drawer-head .uid{font-size:10px;color:#9fb0d8}
.menu-item{display:flex;align-items:center;gap:12px;padding:12px;border-radius:12px;margin-bottom:7px;cursor:pointer;
  font-weight:700;font-size:13px;color:#e6ecff;border:1px solid rgba(255,200,60,.14);background:rgba(10,20,48,.5);transition:.15s}
.menu-item i{color:var(--gold3);font-size:16px;width:20px;text-align:center}
.menu-item .arr{margin-left:auto;color:var(--gold4);font-size:11px}
.menu-item.active{background:var(--goldgrad);color:#4a2c00}
.menu-item.active i{color:#5a3700}

/* ============ GENERIC PANEL / PROFILE ============ */
.panel{position:relative;z-index:2;min-height:100vh;padding:0 0 30px}
.panel-head{display:flex;align-items:center;gap:12px;padding:14px 14px;border-bottom:1px solid rgba(255,200,60,.25);position:sticky;top:0;background:rgba(6,11,28,.95);z-index:10;backdrop-filter:blur(6px)}
.panel-head .back{font-size:20px;color:var(--gold2);cursor:pointer}
.panel-head .title{font-weight:800;font-size:16px;flex:1;text-align:center}
.panel-head .title.left{text-align:left}
.panel-body{padding:16px 14px}
.profile-card{display:flex;align-items:center;gap:14px;padding:16px;border-radius:16px;margin-bottom:16px;
  background:linear-gradient(135deg,rgba(255,200,60,.1),rgba(10,20,48,.6));border:1.4px solid rgba(255,200,60,.45)}
.profile-card .avatar{width:64px;height:64px}
.profile-card .pname{font-weight:900;font-size:18px}
.profile-card .pid{font-size:11px;color:#9fb0d8;margin:2px 0 6px}
.vip-badge{display:inline-flex;align-items:center;gap:4px;background:var(--goldgrad);color:#4a2c00;font-weight:900;font-size:10px;padding:3px 8px;border-radius:10px}
.bal-module{display:flex;align-items:center;gap:10px;padding:13px 14px;border-radius:14px;margin-bottom:14px;
  background:#060d24;border:1.4px solid rgba(255,200,60,.5)}
.bal-module .ci{color:var(--gold3);font-size:24px}
.bal-module .bl{font-size:10px;color:#9fb0d8}
.bal-module .bv{font-size:19px;font-weight:900}
.bal-module .plus{margin-left:auto;width:30px;height:30px;border-radius:50%;background:var(--green);color:#063d16;border:none;font-size:16px;cursor:pointer;box-shadow:0 0 10px rgba(30,224,90,.6)}
.list-row{display:flex;align-items:center;gap:13px;padding:14px;border-radius:13px;margin-bottom:9px;cursor:pointer;
  background:rgba(10,20,48,.55);border:1.2px solid rgba(255,200,60,.22);font-weight:700;font-size:13.5px}
.list-row i.lead{color:var(--gold3);font-size:17px;width:22px;text-align:center}
.list-row .val{margin-left:auto;color:#9fb0d8;font-size:12px;font-weight:600}
.list-row .arr{color:var(--gold4);font-size:12px}
.list-row .val + .arr{margin-left:8px}

/* modal */
.modal-mask{position:fixed;inset:0;max-width:760px;left:50%;transform:translateX(-50%);background:rgba(0,0,0,.7);z-index:60;display:none;align-items:center;justify-content:center;padding:24px}
.modal-mask.open{display:flex}
.modal{width:100%;max-width:340px;border-radius:18px;padding:22px;background:linear-gradient(180deg,#0e1a3f,#060b1e);
  background:linear-gradient(180deg,#101a3f,#060b1e);border:1.5px solid rgba(255,200,60,.55);box-shadow:0 0 30px rgba(255,200,60,.2)}
.modal h3{text-align:center;margin-bottom:14px;font-size:17px}
.modal h3 i{color:var(--gold3);margin-right:6px}
.tx-item{display:flex;justify-content:space-between;padding:10px 0;border-bottom:1px solid rgba(255,255,255,.07);font-size:12.5px}
.tx-item .amt.pos{color:var(--green)}
.tx-item .amt.neg{color:#ff6a7a}

.toast{position:fixed;top:14px;left:50%;transform:translateX(-50%);z-index:100;background:#101a3f;border:1.4px solid var(--gold3);
  color:#fff;padding:11px 18px;border-radius:12px;font-weight:700;font-size:13px;box-shadow:0 8px 24px rgba(0,0,0,.5);opacity:0;transition:.3s;pointer-events:none}
.toast.show{opacity:1;top:24px}

.empty{text-align:center;color:#6c7aa0;padding:30px;font-size:13px}
.spacer{height:10px}

/* ===== DESKTOP FULL-SCREEN LOBBY ===== */
@media(min-width:900px){
  .bottom-nav{max-width:960px}
  .drawer-mask,.modal-mask{max-width:960px}
  .drawer{margin-left:-480px}
  .topbar{padding:14px 20px}
  .avatar{width:44px;height:44px}
  .user-chip .uname{font-size:15px}
  .coin-chip .bal{font-size:15px}
  .top-icons .ti i{font-size:22px}
  .top-icons .ti span{font-size:11px}
  .lobby-body{gap:16px;padding:16px}
  .sidebar{width:150px;flex:0 0 150px;gap:10px}
  .side-item{font-size:14px;padding:13px 14px}
  .side-item i{font-size:17px}
  .cat-row{gap:10px}
  .cat .lbl{font-size:11px;padding:5px 0}
  .bonus-bar{padding:0 16px;gap:10px}
  .bonus-main .bt{font-size:12px}.bonus-main .bv{font-size:17px}.bonus-main .gift{font-size:34px}
  .bonus-pill i{font-size:18px}.bonus-pill .pt{font-size:10px}.bonus-pill .pv{font-size:17px}
  .sec-title{font-size:16px;padding:8px 16px 0}
  .games-grid{grid-template-columns:repeat(4,1fr);gap:12px;padding:10px 16px}
  .game-tile .gt-lbl{font-size:12px}
  .lobby{padding-bottom:80px}
}
@media(min-width:900px){
  .panel,.auth-wrap{max-width:560px;margin:0 auto}
}
