/* ════════════════════════════════════════════════════
   LOBBY — Premium Mobile-First Design
   Original dark theme + Gold accents
════════════════════════════════════════════════════ */

/* ── Base ────────────────────────────────────────── */
.lobby-page{min-height:100vh;display:flex;flex-direction:column;background:radial-gradient(circle at center,#1a1a1a 0%,#080808 100%)}


/* ── Topbar ─────────────────────────────────────── */
.topbar{
  height:60px;
  background:rgba(8,8,8,0.97);
  backdrop-filter:blur(16px);
  -webkit-backdrop-filter:blur(16px);
  border-bottom:1px solid rgba(255,255,255,0.08);
  display:flex;align-items:center;justify-content:space-between;
  padding:0 16px;
  position:sticky;top:0;z-index:100;
  box-shadow:0 2px 20px rgba(0,0,0,0.7);
}
.topbar-logo{
  font-size:1.35rem;font-weight:900;
  color:#f0c040;letter-spacing:0.04em;
}
.topbar-logo span{margin-right:4px}
.topbar-right{display:flex;align-items:center;gap:10px}
.balance-chip{
  display:flex;align-items:center;gap:6px;
  background:rgba(240,192,64,0.12);
  border:1px solid rgba(240,192,64,0.25);
  border-radius:100px;padding:6px 14px;
  font-size:.9rem;font-weight:800;color:#f0c040;
  cursor:pointer;white-space:nowrap;
  transition:background .2s;
}
.balance-chip:hover{background:rgba(240,192,64,0.2)}
.balance-chip .bal-icon{font-size:.85rem;opacity:.8}
.topbar-icon-btn{
  position:relative;
  width:38px;height:38px;border-radius:50%;
  background:rgba(255,255,255,0.06);
  border:1px solid rgba(255,255,255,0.08);
  display:flex;align-items:center;justify-content:center;
  cursor:pointer;font-size:1.1rem;
  transition:background .2s;
}
.topbar-icon-btn:hover{background:rgba(255,255,255,0.12)}
.topbar-badge{
  position:absolute;top:-2px;right:-2px;
  min-width:16px;height:16px;border-radius:8px;
  background:#ef4444;color:#fff;
  font-size:.6rem;font-weight:800;
  display:flex;align-items:center;justify-content:center;
  padding:0 3px;border:2px solid #000;
}

/* ── Auth screen ─────────────────────────────────── */
.auth-screen{flex:1;display:flex;align-items:center;justify-content:center;padding:24px 16px;background:radial-gradient(ellipse at 50% 0%,rgba(240,192,64,0.12) 0%,transparent 65%)}
.auth-screen.auth-overlay{position:fixed;inset:0;z-index:300;flex:none;background:rgba(0,0,0,0.88);backdrop-filter:blur(6px)}
.auth-box{position:relative;width:min(400px,100%);background:#111111;border:1px solid rgba(240,192,64,0.12);border-radius:20px;padding:32px;box-shadow:0 20px 60px rgba(0,0,0,0.8)}

.auth-hero{text-align:center;margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid rgba(255,255,255,0.07)}
.auth-hero-title{font-size:1.1rem;font-weight:800;color:#f0c040;margin-bottom:6px}
.auth-hero-sub{font-size:.88rem;color:rgba(255,255,255,0.5);line-height:1.5}
.auth-hero-sub strong{color:#f0c040;font-weight:800}
.auth-box h2{font-size:1.5rem;font-weight:800;margin-bottom:4px;color:#fff}
.auth-box p{color:rgba(255,255,255,0.5);font-size:.85rem;margin-bottom:20px}
.form-group{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}
.form-group label{font-size:.8rem;font-weight:600;color:rgba(255,255,255,0.5)}
.auth-switch{margin-top:16px;text-align:center;font-size:.83rem;color:rgba(255,255,255,0.5)}
.auth-switch a{color:#f0c040;cursor:pointer;font-weight:600;text-decoration:none}
.auth-error{background:rgba(239,68,68,.15);border:1px solid rgba(239,68,68,.4);color:#fca5a5;border-radius:10px;padding:10px 14px;font-size:.84rem;margin-bottom:14px;display:none;line-height:1.5}
@keyframes regErrShake{0%,100%{transform:translateX(0)}20%{transform:translateX(-6px)}40%{transform:translateX(6px)}60%{transform:translateX(-4px)}80%{transform:translateX(4px)}}

/* ── Hero Banner ─────────────────────────────────── */
.lobby-hero{
  position:relative;overflow:hidden;
  margin:0 12px 16px;
  border-radius:18px;
  background:linear-gradient(135deg,#1a1100 0%,#0f0f0f 60%,#080808 100%);
  border:1px solid rgba(240,192,64,0.2);
  box-shadow:0 8px 32px rgba(0,0,0,0.6);
}
.lobby-hero::before{
  content:'';position:absolute;
  top:-60px;left:-60px;width:200px;height:200px;
  background:radial-gradient(circle,rgba(240,192,64,0.15) 0%,transparent 70%);
  pointer-events:none;
}
.hero-top{
  position:relative;z-index:1;
  padding:22px 20px 20px 22px;
  display:flex;align-items:center;justify-content:space-between;
  min-height:110px;
}
.hero-text{position:relative;z-index:1}
.hero-title{font-size:1.3rem;font-weight:900;color:#fff;line-height:1.2;margin-bottom:4px}
.hero-title span{color:#f0c040;display:block}
.hero-sub{font-size:.78rem;color:rgba(255,255,255,0.5);margin-bottom:14px}
.hero-rules-btn{
  display:inline-flex;align-items:center;gap:6px;
  background:rgba(255,255,255,0.08);border:1px solid rgba(255,255,255,0.12);
  color:rgba(255,255,255,0.7);border-radius:20px;
  padding:6px 14px;font-size:.78rem;font-weight:600;cursor:pointer;
  transition:all .2s;font-family:inherit;
}
.hero-rules-btn:hover{background:rgba(240,192,64,0.15);border-color:rgba(240,192,64,0.3);color:#f0c040}
.hero-img{flex-shrink:0;position:relative;width:110px;height:90px}

/* 3 Ace cards — flex fan layout */
.hero-cards{
  display:flex;
  align-items:flex-end;
  justify-content:center;
  flex-shrink:0;
  gap:3px;
  width:150px;
  height:100px;
  position:relative;
  overflow:visible;
}
.hcard-img{
  width:44px;
  height:62px;
  border-radius:5px;
  box-shadow:0 6px 18px rgba(0,0,0,0.8),0 1px 3px rgba(0,0,0,0.5);
  object-fit:cover;
  object-position:center top;
  background:#fff;
  position:relative;
  animation:cardFloat 2.8s ease-in-out infinite;
  flex-shrink:0;
}
.hcard-img:nth-child(1){animation-delay:0s;}
.hcard-img:nth-child(2){animation-delay:.55s;}
.hcard-img:nth-child(3){animation-delay:1.1s;}
@keyframes cardFloat{
  0%,100%{transform:var(--base-rot,rotate(0deg)) translateY(0);}
  50%     {transform:var(--base-rot,rotate(0deg)) translateY(-7px);}
}
.hcard-img:nth-child(1){--base-rot:rotate(-13deg);}
.hcard-img:nth-child(3){--base-rot:rotate(13deg);}
.hcard-img:hover{transform:translateY(-12px) scale(1.06) !important;
  box-shadow:0 12px 28px rgba(0,0,0,0.9);z-index:2;}

/* ── Casino strip (bottom half of the hero) — same gold/dark theme as the rest of the hero ─── */
.hero-casino-strip{
  position:relative;z-index:1;
  display:flex;align-items:center;gap:10px;
  margin:0 8px 8px;
  padding:10px 14px;
  border-radius:13px;
  text-decoration:none;
  background:linear-gradient(90deg,rgba(240,192,64,.12) 0%,rgba(255,255,255,.04) 60%,rgba(255,255,255,.02) 100%);
  border:1px solid rgba(240,192,64,.28);
  overflow:hidden;
  transition:transform .18s,border-color .18s,background .18s;
}
.hero-casino-strip::before{
  content:'';position:absolute;inset:0;
  background:linear-gradient(100deg,transparent 0%,rgba(255,255,255,.08) 45%,transparent 55%);
  transform:translateX(-120%);
  animation:hcsShine 4.5s ease-in-out infinite;
  pointer-events:none;
}
@keyframes hcsShine{
  0%,55%{transform:translateX(-120%);}
  85%,100%{transform:translateX(120%);}
}
.hero-casino-strip:active{transform:scale(.98)}
.hero-casino-strip:hover{border-color:rgba(240,192,64,.5);background:linear-gradient(90deg,rgba(240,192,64,.18) 0%,rgba(255,255,255,.05) 60%,rgba(255,255,255,.03) 100%)}
.hcs-thumbs{flex-shrink:0;display:flex;position:relative;z-index:1}
.hcs-thumb{
  width:32px;height:32px;
  border-radius:9px;
  overflow:hidden;
  position:relative;
  flex-shrink:0;
  background:linear-gradient(135deg,#2a2a2a,#141414);
  border:1.5px solid rgba(240,192,64,.35);
  box-shadow:0 3px 10px rgba(0,0,0,.5);
  margin-left:-10px;
}
.hcs-thumb:first-child{margin-left:0}
.hcs-thumb:nth-child(1){z-index:3}
.hcs-thumb:nth-child(2){z-index:2}
.hcs-thumb:nth-child(3){z-index:1}
.hcs-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.hcs-thumb-fallback{
  display:none;width:100%;height:100%;
  align-items:center;justify-content:center;
  font-size:1rem;
}
.hcs-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px;position:relative;z-index:1}
.hcs-title{font-size:.86rem;font-weight:800;color:#fff;display:flex;align-items:center;gap:6px}
.hcs-badge{
  font-size:.6rem;font-weight:900;letter-spacing:.04em;
  background:#f0c040;color:#1a1100;border-radius:5px;padding:1px 6px;
  animation:hcsBadgePulse 1.8s ease-in-out infinite;
}
@keyframes hcsBadgePulse{0%,100%{opacity:1}50%{opacity:.55}}
.hcs-sub{font-size:.72rem;color:rgba(255,255,255,.5);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hcs-cta{
  flex-shrink:0;position:relative;z-index:1;
  display:flex;align-items:center;gap:2px;
  font-size:.78rem;font-weight:800;color:#1a1100;
  background:linear-gradient(135deg,#f0c040,#d4a017);
  border:1px solid rgba(240,192,64,.6);
  border-radius:20px;padding:6px 12px;
}
.hcs-arrow{font-size:.95rem;line-height:1}

.hcard{
  width:50px;height:68px;
  background:#fff;
  border-radius:6px;
  box-shadow:0 4px 14px rgba(0,0,0,0.75),0 1px 3px rgba(0,0,0,0.5);
  display:flex;flex-direction:column;
  align-items:center;justify-content:center;
  font-family:'Georgia',serif;
  font-weight:900;
  position:absolute;bottom:0;
  border:1px solid #ddd;
}
.hcard-inner{display:flex;flex-direction:column;align-items:center;line-height:1.1}
.hcard-rank{font-size:1.1rem;font-weight:900;line-height:1}
.hcard-suit{font-size:.95rem;line-height:1}
.hcard-corner{
  position:absolute;font-size:.52rem;font-weight:900;line-height:1.1;
}
.hcard-corner.tl{top:3px;left:4px}
.hcard-corner.br{bottom:3px;right:4px;transform:rotate(180deg)}

/* Red suits */
.hcard.red .hcard-rank,.hcard.red .hcard-suit,.hcard.red .hcard-corner{color:#cc0000}
/* Black suits */
.hcard.blk .hcard-rank,.hcard.blk .hcard-suit,.hcard.blk .hcard-corner{color:#111111}

/* Fan positions */
.hcard:nth-child(1){
  left:2px;
  transform:rotate(-20deg);
  transform-origin:bottom center;
  z-index:1;
  animation:cf1 3.2s ease-in-out infinite;
}
.hcard:nth-child(2){
  left:50%;margin-left:-25px;
  transform:rotate(0deg);
  transform-origin:bottom center;
  z-index:3;
  animation:cf2 3s ease-in-out infinite;
}
.hcard:nth-child(3){
  right:2px;
  transform:rotate(20deg);
  transform-origin:bottom center;
  z-index:2;
  animation:cf3 3.4s ease-in-out infinite;
}
@keyframes cf1{0%,100%{transform:rotate(-20deg) translateY(0)}50%{transform:rotate(-20deg) translateY(-6px)}}
@keyframes cf2{0%,100%{transform:rotate(0deg) translateY(0)}50%{transform:rotate(0deg) translateY(-8px)}}
@keyframes cf3{0%,100%{transform:rotate(20deg) translateY(0)}50%{transform:rotate(20deg) translateY(-6px)}}



/* ── Section header ──────────────────────────────── */
.section-header{
  display:flex;align-items:center;justify-content:space-between;
  padding:0 16px;margin-bottom:14px;
}
.section-title{
  display:flex;align-items:center;gap:8px;
  font-size:1rem;font-weight:800;color:#fff;
  letter-spacing:0.02em;
}
.section-title svg{color:#f0c040}
.live-badge{
  display:inline-flex;align-items:center;gap:5px;
  background:rgba(74,222,128,0.1);border:1px solid rgba(74,222,128,0.25);
  border-radius:20px;padding:3px 10px;
  font-size:.7rem;font-weight:700;color:#4ade80;
}
.live-dot{
  width:6px;height:6px;border-radius:50%;background:#4ade80;
  animation:livePulse 2s ease-in-out infinite;
  flex-shrink:0;
}
@keyframes livePulse{0%,100%{box-shadow:0 0 0 0 rgba(74,222,128,.4);opacity:1}50%{box-shadow:0 0 0 5px rgba(74,222,128,0);opacity:.8}}
.filter-btn{
  display:flex;align-items:center;gap:6px;
  background:rgba(255,255,255,0.05);border:1px solid rgba(255,255,255,0.08);
  color:rgba(255,255,255,0.6);border-radius:20px;
  padding:5px 12px;font-size:.75rem;font-weight:600;cursor:pointer;
  font-family:inherit;transition:all .2s;
}
.filter-btn:hover{background:rgba(240,192,64,0.1);border-color:rgba(240,192,64,0.2);color:#f0c040}

/* ── Filter tabs ─────────────────────────────────── */
.lobby-filter-tabs{
  display:flex;gap:8px;padding:0 16px;margin-bottom:14px;
  overflow-x:auto;scrollbar-width:none;
}
.lobby-filter-tabs::-webkit-scrollbar{display:none}
.ftab{
  flex-shrink:0;padding:7px 16px;border-radius:20px;
  font-size:.8rem;font-weight:700;cursor:pointer;
  border:1px solid rgba(255,255,255,0.08);
  background:rgba(255,255,255,0.04);
  color:rgba(255,255,255,0.5);
  font-family:inherit;transition:all .2s;
}
.ftab:hover{color:#fff;border-color:rgba(255,255,255,0.15)}
.ftab.active{background:#f0c040;color:#0b0d14;border-color:#f0c040}

/* ── Main lobby ──────────────────────────────────── */
.lobby-main{flex:1;padding:20px 0 0;max-width:600px;margin:0 auto;width:100%}
.lobby-header{display:flex;align-items:flex-start;justify-content:space-between;padding:0 16px;margin-bottom:16px;flex-wrap:wrap;gap:10px}
.lobby-header h1{font-size:1.2rem;font-weight:800;margin:0;display:flex;align-items:center;gap:8px;color:#fff}

/* ── Room list (vertical cards) ──────────────────── */
.rooms-grid{display:flex;flex-direction:column;gap:10px;padding:0 12px}

.room-card{
  background:#181818;
  border:1px solid rgba(255,255,255,0.07);
  border-radius:16px;padding:14px 16px;
  cursor:pointer;
  display:flex;align-items:center;gap:14px;
  transition:transform .2s,border-color .2s,box-shadow .2s;
  position:relative;overflow:hidden;
  animation:cardIn .3s ease both;
}
.room-card::before{content:'';position:absolute;inset:0;background:linear-gradient(135deg,rgba(240,192,64,0.04),transparent 60%);pointer-events:none}
.room-card:hover{transform:translateY(-2px);border-color:rgba(240,192,64,0.3);box-shadow:0 8px 28px rgba(0,0,0,0.5)}
@keyframes cardIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
.rooms-grid .room-card:nth-child(2){animation-delay:.05s}
.rooms-grid .room-card:nth-child(3){animation-delay:.10s}
.rooms-grid .room-card:nth-child(4){animation-delay:.15s}
.rooms-grid .room-card:nth-child(5){animation-delay:.20s}
.rooms-grid .room-card:nth-child(6){animation-delay:.25s}

/* Avatar icon */
.room-avatar{
  width:44px;height:44px;border-radius:50%;flex-shrink:0;
  background:linear-gradient(135deg,#1f1f1f,#2a2a2a);
  border:1px solid rgba(240,192,64,0.2);
  display:flex;align-items:center;justify-content:center;
  font-size:1.2rem;
}

/* Room info */
.room-info{flex:1;min-width:0}
.room-card-name{
  font-size:.9rem;font-weight:700;color:#fff;
  display:flex;align-items:center;gap:6px;margin-bottom:3px;
}
.room-crown{font-size:.8rem}
.room-card-sub{font-size:.75rem;color:rgba(255,255,255,0.45);display:flex;align-items:center;gap:6px}
.room-status-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0}
.room-status-dot.playing{background:#f0c040}
.room-status-dot.waiting{background:#4ade80}
.room-status-dot.empty{background:rgba(255,255,255,0.3)}

/* Progress bar */
.room-progress{
  height:3px;background:rgba(255,255,255,0.06);border-radius:2px;
  margin-top:8px;overflow:hidden;
}
.room-progress-fill{height:100%;border-radius:2px;background:linear-gradient(90deg,#f0c040,#e3a936);transition:width .4s}

/* Bet badge + join button on right */
.room-right{display:flex;flex-direction:column;align-items:flex-end;gap:8px;flex-shrink:0}
.room-bet-badge{
  font-size:.8rem;font-weight:800;color:rgba(255,255,255,0.7);
  white-space:nowrap;
}
.room-join-btn{
  background:#f0c040;color:#0b0d14;
  border:none;border-radius:10px;
  padding:7px 18px;font-size:.8rem;font-weight:800;
  cursor:pointer;font-family:inherit;
  transition:transform .15s,background .15s;
  white-space:nowrap;
}
.room-join-btn:hover{background:#ffd057;transform:scale(1.04)}
.room-join-btn:disabled,.room-join-btn.full{background:rgba(255,255,255,0.08);color:rgba(255,255,255,0.3);cursor:not-allowed;transform:none}

/* Tags */
.room-svara-tag{position:absolute;top:10px;right:90px;background:#f0c040;color:#0b0d14;font-size:.62rem;font-weight:800;padding:2px 7px;border-radius:10px}
.room-bots-tag{position:absolute;top:10px;left:10px;background:rgba(74,222,128,0.15);border:1px solid rgba(74,222,128,0.25);color:#4ade80;font-size:.62rem;font-weight:700;padding:2px 7px;border-radius:10px}
.room-full{opacity:.65}

/* Rooms empty */
.rooms-empty{text-align:center;padding:60px 0;color:rgba(255,255,255,0.3)}
.rooms-empty .big-icon{font-size:2.8rem;margin-bottom:10px}

/* ── Create room card ────────────────────────────── */
.create-room-card{
  margin:10px 12px 0;
  background:rgba(240,192,64,0.04);
  border:1.5px dashed rgba(240,192,64,0.2);
  border-radius:16px;padding:16px;
  display:flex;align-items:center;gap:14px;
  cursor:pointer;transition:all .2s;
}
.create-room-card:hover{background:rgba(240,192,64,0.08);border-color:rgba(240,192,64,0.35)}
.create-icon{
  width:44px;height:44px;border-radius:50%;
  background:rgba(240,192,64,0.1);border:1.5px dashed rgba(240,192,64,0.3);
  display:flex;align-items:center;justify-content:center;
  font-size:1.3rem;color:#f0c040;flex-shrink:0;
}
.create-text-title{font-size:.9rem;font-weight:700;color:#fff;margin-bottom:2px}
.create-text-sub{font-size:.75rem;color:rgba(255,255,255,0.4)}
.create-arrow{margin-left:auto;color:rgba(255,255,255,0.25);font-size:1rem}

/* ── TG banner ───────────────────────────────────── */
#tg-banner{
  position:relative;overflow:hidden;
  display:flex;align-items:center;gap:12px;
  background:linear-gradient(135deg,rgba(20,28,40,.9),rgba(10,14,22,.95));
  border:1px solid rgba(41,182,246,.22);
  border-radius:14px;padding:12px 14px;
  margin:12px 12px 0;
  text-decoration:none;cursor:pointer;
  box-shadow:0 6px 20px rgba(0,0,0,.35);
  transition:border-color .18s,transform .15s,box-shadow .18s;
}
#tg-banner::before{
  content:'';position:absolute;inset:0;
  background:radial-gradient(140px 80px at 0% 50%,rgba(41,182,246,.14),transparent 70%);
  pointer-events:none;
}
#tg-banner:hover{border-color:rgba(41,182,246,.4);box-shadow:0 8px 24px rgba(41,182,246,.15)}
#tg-banner:active{transform:scale(.985)}
.tg-banner-icon{
  position:relative;z-index:1;flex-shrink:0;
  width:38px;height:38px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  background:linear-gradient(135deg,#29b6f6,#0288d1);
  color:#fff;
  box-shadow:0 3px 10px rgba(41,182,246,.45);
}
.tg-banner-text{position:relative;z-index:1;flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.tg-banner-title{font-size:.86rem;font-weight:800;color:#fff}
.tg-banner-sub{font-size:.72rem;color:rgba(255,255,255,.5);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tg-banner-cta{
  position:relative;z-index:1;flex-shrink:0;
  font-size:.78rem;font-weight:800;color:#fff;
  background:linear-gradient(135deg,#29b6f6,#0288d1);
  border-radius:20px;padding:7px 15px;
  box-shadow:0 3px 10px rgba(41,182,246,.35);
}

/* ── Create room modal ───────────────────────────── */
.create-form label{font-size:.8rem;font-weight:600;color:rgba(255,255,255,0.5)}
.create-form select,.select-input{width:100%;padding:12px 16px;background:#111111;border:1px solid rgba(255,255,255,0.1);border-radius:12px;color:#fff;font-family:inherit;font-size:.9rem;outline:none;transition:border-color .2s}
.create-form select:focus{border-color:rgba(240,192,64,0.5)}
.create-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:12px}

/* ── Modern Luxury Bottom Navigation ──────────────── */
.bottom-nav {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  width: 100%;
  height: 68px;
  background: linear-gradient(180deg, rgba(16, 17, 24, 0.94) 0%, rgba(9, 10, 14, 0.98) 100%);
  -webkit-backdrop-filter: blur(20px) saturate(180%);
  backdrop-filter: blur(20px) saturate(180%);
  border-top: 1px solid rgba(212, 175, 55, 0.22);
  box-shadow: 0 -8px 32px rgba(0, 0, 0, 0.65), 0 -1px 0 rgba(255, 255, 255, 0.04) inset;
  display: flex;
  align-items: center;
  justify-content: space-around;
  z-index: 1000;
  padding: 0 4px;
  padding-bottom: env(safe-area-inset-bottom, 0px);
}

.bottom-nav .nav-item {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  height: 100%;
  color: rgba(255, 255, 255, 0.45);
  text-decoration: none;
  gap: 4px;
  transition: all 0.22s cubic-bezier(0.4, 0, 0.2, 1);
  position: relative;
  padding: 6px 0 8px;
  -webkit-tap-highlight-color: transparent;
}

.bottom-nav .nav-item .icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 32px;
  border-radius: 10px;
  transition: all 0.22s ease;
  position: relative;
}

.bottom-nav .nav-item .icon svg {
  width: 24px;
  height: 24px;
  transition: transform 0.22s cubic-bezier(0.34, 1.56, 0.64, 1), stroke 0.22s ease;
}

.bottom-nav .nav-item .nav-text {
  font-size: 0.72rem;
  font-weight: 600;
  letter-spacing: 0.025em;
  line-height: 1.1;
  transition: color 0.22s ease, font-weight 0.22s ease;
  white-space: nowrap;
}

/* Hover */
.bottom-nav .nav-item:hover:not(.disabled) {
  color: rgba(255, 255, 255, 0.85);
}

.bottom-nav .nav-item:hover:not(.disabled) .icon svg {
  transform: translateY(-2px);
}

/* Active */
.bottom-nav .nav-item.active {
  color: #f7cb53;
}

.bottom-nav .nav-item.active::before {
  content: '';
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 32px;
  height: 3px;
  background: linear-gradient(90deg, #d4af37, #f7cb53, #fff1a8);
  border-radius: 0 0 4px 4px;
  box-shadow: 0 2px 12px rgba(247, 203, 83, 0.75);
}

.bottom-nav .nav-item.active .icon {
  background: rgba(247, 203, 83, 0.12);
  box-shadow: 0 0 16px rgba(247, 203, 83, 0.18);
}

.bottom-nav .nav-item.active .icon svg {
  transform: scale(1.08);
  stroke: #f7cb53;
}

.bottom-nav .nav-item.active .nav-text {
  font-weight: 700;
  color: #f7cb53;
  text-shadow: 0 0 12px rgba(247, 203, 83, 0.35);
}

/* Kazino special center accent */
.bottom-nav .nav-item#nav-casino:not(.active) .icon {
  color: rgba(247, 203, 83, 0.8);
}

.bottom-nav .nav-item#nav-casino:hover .icon {
  background: rgba(247, 203, 83, 0.12);
}

.bottom-nav .nav-item.disabled {
  opacity: .35;
  cursor: not-allowed;
  pointer-events: none;
}

.nav-soon-badge {
  position: absolute;
  top: 4px;
  right: calc(50% - 26px);
  background: rgba(255, 255, 255, 0.12);
  color: rgba(255, 255, 255, 0.5);
  font-size: .48rem;
  font-weight: 700;
  padding: 1px 5px;
  border-radius: 5px;
  letter-spacing: 0.02em;
  white-space: nowrap;
}

body {
  padding-bottom: calc(76px + env(safe-area-inset-bottom, 0px)) !important;
}

/* ── Responsive ──────────────────────────────────── */
@media(max-width:480px){
  .lobby-hero{margin:0 8px 14px}
  .hero-top{padding:18px 14px 16px}
  .hcs-sub{display:none}
  .hero-title{font-size:1.15rem}
  .rooms-grid{padding:0 8px}
  .lobby-filter-tabs{padding:0 8px}
  .section-header{padding:0 12px}
  #tg-banner{margin:10px 8px 0}
  .create-room-card{margin:10px 8px 0}
}
@media(min-width:600px){
  .rooms-grid{padding:0 16px;gap:12px}
  .room-card{padding:16px 20px}
}


@keyframes pulse-dot{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.7)}}
