/* ============================================================
   khelaghor.sbs - Mobile-first Bangladeshi gaming portal
   All custom classes use the "vde0-" prefix.
   ============================================================ */

/* ---------- Design tokens ---------- */
:root {
  --vde0-bg-0: #0a0e1f;
  --vde0-bg-1: #111733;
  --vde0-bg-2: #1a2147;
  --vde0-bg-3: #232c5e;
  --vde0-card: #161d3d;
  --vde0-card-2: #1e2750;
  --vde0-gold: #f5c451;
  --vde0-gold-2: #e3a93b;
  --vde0-red: #e94d6f;
  --vde0-red-2: #c8324f;
  --vde0-green: #2fbf71;
  --vde0-blue: #3aa1ff;
  --vde0-purple: #8a6dff;
  --vde0-text: #f3f5ff;
  --vde0-text-dim: #aab2d6;
  --vde0-text-mute: #6f79a8;
  --vde0-border: rgba(255, 255, 255, 0.08);
  --vde0-border-2: rgba(245, 196, 81, 0.35);
  --vde0-shadow: 0 6px 24px rgba(0, 0, 0, 0.45);
  --vde0-radius: 14px;
  --vde0-radius-sm: 10px;
  --vde0-radius-lg: 20px;
  --vde0-maxw: 430px;
  --vde0-header-h: 58px;
  --vde0-nav-h: 64px;
}

/* ---------- Reset ---------- */
* { box-sizing: border-box; margin: 0; padding: 0; -webkit-tap-highlight-color: transparent; }
html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
body {
  font-family: "Hind Siliguri", "Noto Sans Bengali", "SolaimanLipi", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
  background: radial-gradient(1200px 600px at 50% -10%, #1a2347 0%, var(--vde0-bg-0) 60%);
  color: var(--vde0-text);
  font-size: 15px;
  line-height: 1.6;
  min-height: 100vh;
  overflow-x: hidden;
}
img { max-width: 100%; display: block; }
a { color: inherit; text-decoration: none; }
ul, ol { list-style: none; }
button { font-family: inherit; cursor: pointer; border: none; background: none; color: inherit; }
input, select, textarea { font-family: inherit; }

/* ---------- Mobile canvas wrapper ---------- */
.vde0-shell {
  width: 100%;
  max-width: var(--vde0-maxw);
  margin: 0 auto;
  background: linear-gradient(180deg, #0b1130 0%, #0a0e1f 40%);
  min-height: 100vh;
  position: relative;
  box-shadow: 0 0 60px rgba(0, 0, 0, 0.6);
  padding-bottom: calc(var(--vde0-nav-h) + 16px);
}

/* ============================================================
   Header
   ============================================================ */
.vde0-header {
  position: sticky;
  top: 0;
  z-index: 60;
  height: var(--vde0-header-h);
  background: linear-gradient(180deg, rgba(16, 22, 52, 0.98), rgba(11, 16, 38, 0.92));
  backdrop-filter: blur(10px);
  border-bottom: 1px solid var(--vde0-border);
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 12px;
}
.vde0-brand {
  display: flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
}
.vde0-brand-logo {
  width: 36px;
  height: 36px;
  border-radius: 10px;
  object-fit: cover;
  border: 1px solid var(--vde0-border-2);
  background: var(--vde0-bg-2);
  flex-shrink: 0;
}
.vde0-brand-name {
  display: flex;
  flex-direction: column;
  line-height: 1.1;
  min-width: 0;
}
.vde0-brand-name b {
  font-size: 17px;
  font-weight: 800;
  color: var(--vde0-gold);
  letter-spacing: 0.3px;
  white-space: nowrap;
}
.vde0-brand-name span {
  font-size: 10px;
  color: var(--vde0-text-mute);
  letter-spacing: 1.2px;
  text-transform: uppercase;
}
.vde0-header-actions {
  display: flex;
  align-items: center;
  gap: 7px;
}
.vde0-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 4px;
  padding: 8px 14px;
  border-radius: 999px;
  font-size: 13px;
  font-weight: 700;
  transition: transform 0.15s ease, box-shadow 0.15s ease, opacity 0.15s ease;
  white-space: nowrap;
  line-height: 1;
}
.vde0-btn:active { transform: scale(0.96); }
.vde0-btn-login {
  background: var(--vde0-bg-2);
  color: var(--vde0-text);
  border: 1px solid var(--vde0-border);
}
.vde0-btn-register {
  background: linear-gradient(135deg, var(--vde0-gold) 0%, var(--vde0-gold-2) 100%);
  color: #2a1a02;
  box-shadow: 0 4px 14px rgba(245, 196, 81, 0.4);
}
.vde0-menu-btn {
  width: 36px;
  height: 36px;
  border-radius: 10px;
  background: var(--vde0-bg-2);
  border: 1px solid var(--vde0-border);
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.vde0-menu-btn svg { width: 18px; height: 18px; stroke: var(--vde0-text); }

/* ============================================================
   Drawer / Slide-in menu
   ============================================================ */
.vde0-drawer-mask {
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.6);
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.25s ease;
  z-index: 70;
}
.vde0-drawer-mask.vde0-open { opacity: 1; visibility: visible; }
.vde0-drawer {
  position: fixed;
  top: 0;
  right: 0;
  width: 82%;
  max-width: 340px;
  height: 100%;
  background: linear-gradient(180deg, #131a3e, #0b1130);
  z-index: 71;
  transform: translateX(105%);
  transition: transform 0.28s ease;
  overflow-y: auto;
  padding: 18px 16px calc(var(--vde0-nav-h) + 24px);
  box-shadow: -10px 0 40px rgba(0, 0, 0, 0.6);
}
.vde0-drawer.vde0-open { transform: translateX(0); }
.vde0-drawer-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 16px;
}
.vde0-drawer-head b { color: var(--vde0-gold); font-size: 18px; }
.vde0-drawer-close {
  width: 34px; height: 34px;
  border-radius: 10px;
  background: var(--vde0-bg-2);
  color: var(--vde0-text);
  font-size: 18px;
  line-height: 1;
}
.vde0-drawer-cta {
  display: flex;
  gap: 8px;
  margin-bottom: 18px;
}
.vde0-drawer-cta .vde0-btn { flex: 1; padding: 11px 0; }
.vde0-drawer-section h4 {
  font-size: 12px;
  color: var(--vde0-text-mute);
  text-transform: uppercase;
  letter-spacing: 1.4px;
  margin: 16px 0 8px;
}
.vde0-drawer-link {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 11px 12px;
  border-radius: 10px;
  background: var(--vde0-card);
  margin-bottom: 7px;
  font-size: 14px;
  color: var(--vde0-text);
  border: 1px solid var(--vde0-border);
  transition: background 0.15s ease;
}
.vde0-drawer-link:active { background: var(--vde0-card-2); }
.vde0-drawer-link .vde0-dot {
  width: 8px; height: 8px; border-radius: 50%;
  background: var(--vde0-gold);
  flex-shrink: 0;
}

/* ============================================================
   Hero / Carousel
   ============================================================ */
.vde0-main { padding: 0 12px; }
.vde0-hero {
  margin-top: 12px;
  border-radius: var(--vde0-radius-lg);
  overflow: hidden;
  position: relative;
  box-shadow: var(--vde0-shadow);
  border: 1px solid var(--vde0-border);
}
.vde0-carousel { position: relative; }
.vde0-carousel-track {
  display: flex;
  transition: transform 0.5s ease;
}
.vde0-slide {
  min-width: 100%;
  position: relative;
}
.vde0-slide img {
  width: 100%;
  height: 180px;
  object-fit: cover;
}
.vde0-slide-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(10, 14, 31, 0) 35%, rgba(10, 14, 31, 0.88) 100%);
  padding: 14px;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
}
.vde0-slide-overlay b {
  font-size: 19px;
  color: var(--vde0-gold);
  font-weight: 800;
  margin-bottom: 4px;
  text-shadow: 0 2px 8px rgba(0,0,0,0.6);
}
.vde0-slide-overlay p {
  font-size: 12.5px;
  color: var(--vde0-text-dim);
  margin-bottom: 10px;
}
.vde0-slide-overlay .vde0-btn { align-self: flex-start; padding: 9px 16px; }
.vde0-carousel-dots {
  position: absolute;
  bottom: 10px;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  gap: 6px;
  z-index: 2;
}
.vde0-carousel-dots span {
  width: 7px; height: 7px; border-radius: 50%;
  background: rgba(255, 255, 255, 0.4);
  transition: background 0.2s ease, width 0.2s ease;
}
.vde0-carousel-dots span.vde0-active {
  background: var(--vde0-gold);
  width: 18px;
  border-radius: 999px;
}

/* ============================================================
   Quick stats strip
   ============================================================ */
.vde0-stats {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 8px;
  margin: 14px 0;
}
.vde0-stat {
  background: var(--vde0-card);
  border: 1px solid var(--vde0-border);
  border-radius: var(--vde0-radius-sm);
  padding: 10px 6px;
  text-align: center;
}
.vde0-stat b {
  display: block;
  font-size: 15px;
  color: var(--vde0-gold);
  font-weight: 800;
  line-height: 1.1;
}
.vde0-stat span {
  font-size: 10px;
  color: var(--vde0-text-mute);
  display: block;
  margin-top: 2px;
}

/* ============================================================
   Marquee / Notice
   ============================================================ */
.vde0-notice {
  display: flex;
  align-items: center;
  gap: 10px;
  background: linear-gradient(90deg, rgba(245, 196, 81, 0.12), rgba(245, 196, 81, 0));
  border: 1px solid var(--vde0-border-2);
  border-radius: 999px;
  padding: 7px 14px;
  margin: 12px 0;
  overflow: hidden;
}
.vde0-notice-tag {
  background: var(--vde0-gold);
  color: #2a1a02;
  font-size: 10px;
  font-weight: 800;
  padding: 3px 8px;
  border-radius: 999px;
  flex-shrink: 0;
  letter-spacing: 0.5px;
}
.vde0-notice-text {
  font-size: 12.5px;
  color: var(--vde0-text-dim);
  white-space: nowrap;
  overflow: hidden;
}
.vde0-notice-text b { color: var(--vde0-gold); }

/* ============================================================
   Section title
   ============================================================ */
.vde0-section-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin: 18px 0 12px;
}
.vde0-section-head h2 {
  font-size: 17px;
  font-weight: 800;
  color: var(--vde0-text);
  display: flex;
  align-items: center;
  gap: 8px;
}
.vde0-section-head h2::before {
  content: "";
  width: 4px;
  height: 18px;
  background: linear-gradient(180deg, var(--vde0-gold), var(--vde0-red));
  border-radius: 4px;
}
.vde0-section-head a {
  font-size: 12px;
  color: var(--vde0-gold);
}

/* ============================================================
   Category chips
   ============================================================ */
.vde0-cats {
  display: flex;
  gap: 8px;
  overflow-x: auto;
  padding: 4px 0 10px;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
}
.vde0-cats::-webkit-scrollbar { display: none; }
.vde0-chip {
  flex-shrink: 0;
  padding: 8px 14px;
  border-radius: 999px;
  background: var(--vde0-card);
  border: 1px solid var(--vde0-border);
  font-size: 12.5px;
  font-weight: 600;
  color: var(--vde0-text-dim);
  transition: all 0.18s ease;
}
.vde0-chip.vde0-active {
  background: linear-gradient(135deg, var(--vde0-gold), var(--vde0-gold-2));
  color: #2a1a02;
  border-color: transparent;
  box-shadow: 0 4px 12px rgba(245, 196, 81, 0.35);
}

/* ============================================================
   Game grid
   ============================================================ */
.vde0-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 9px;
}
@media (min-width: 360px) { .vde0-grid { grid-template-columns: repeat(3, 1fr); gap: 10px; } }
@media (min-width: 400px) { .vde0-grid { grid-template-columns: repeat(4, 1fr); } }

.vde0-card {
  background: var(--vde0-card);
  border: 1px solid var(--vde0-border);
  border-radius: var(--vde0-radius-sm);
  overflow: hidden;
  position: relative;
  transition: transform 0.18s ease, box-shadow 0.18s ease;
}
.vde0-card:active { transform: scale(0.97); }
.vde0-card-media {
  position: relative;
  aspect-ratio: 1 / 1;
  background: var(--vde0-bg-2);
  overflow: hidden;
}
.vde0-card-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.vde0-card-tag {
  position: absolute;
  top: 5px;
  left: 5px;
  background: rgba(233, 77, 111, 0.92);
  color: #fff;
  font-size: 9px;
  font-weight: 800;
  padding: 2px 6px;
  border-radius: 6px;
  letter-spacing: 0.4px;
  text-transform: uppercase;
}
.vde0-card-tag.vde0-hot { background: rgba(233, 77, 111, 0.92); }
.vde0-card-tag.vde0-new { background: rgba(47, 191, 113, 0.92); }
.vde0-card-tag.vde0-top { background: rgba(245, 196, 81, 0.92); color: #2a1a02; }
.vde0-card-play {
  position: absolute;
  inset: 0;
  background: rgba(10, 14, 31, 0.55);
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  transition: opacity 0.2s ease;
}
.vde0-card:hover .vde0-card-play,
.vde0-card:active .vde0-card-play { opacity: 1; }
.vde0-card-play span {
  width: 38px; height: 38px;
  border-radius: 50%;
  background: var(--vde0-gold);
  color: #2a1a02;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 14px;
}
.vde0-card-title {
  padding: 6px 7px 8px;
  font-size: 11.5px;
  font-weight: 600;
  color: var(--vde0-text);
  text-align: center;
  line-height: 1.25;
  min-height: 32px;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* ============================================================
   Promo banner block
   ============================================================ */
.vde0-promo {
  margin: 18px 0;
  border-radius: var(--vde0-radius);
  background: linear-gradient(135deg, #2a1248 0%, #4a1c3a 50%, #6e2330 100%);
  border: 1px solid var(--vde0-border-2);
  padding: 16px;
  position: relative;
  overflow: hidden;
}
.vde0-promo::after {
  content: "";
  position: absolute;
  right: -30px;
  top: -30px;
  width: 120px;
  height: 120px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(245, 196, 81, 0.25), transparent 70%);
}
.vde0-promo-tag {
  display: inline-block;
  background: var(--vde0-gold);
  color: #2a1a02;
  font-size: 10px;
  font-weight: 800;
  padding: 3px 9px;
  border-radius: 999px;
  letter-spacing: 0.5px;
  margin-bottom: 8px;
}
.vde0-promo h3 {
  font-size: 19px;
  font-weight: 800;
  color: var(--vde0-gold);
  margin-bottom: 5px;
}
.vde0-promo p {
  font-size: 12.5px;
  color: var(--vde0-text-dim);
  margin-bottom: 12px;
  max-width: 85%;
}
.vde0-promo .vde0-btn { padding: 10px 22px; }

/* ============================================================
   Feature columns (why choose us)
   ============================================================ */
.vde0-features {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 9px;
  margin: 6px 0 12px;
}
.vde0-feature {
  background: var(--vde0-card);
  border: 1px solid var(--vde0-border);
  border-radius: var(--vde0-radius-sm);
  padding: 13px 12px;
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.vde0-feature-ic {
  width: 34px; height: 34px;
  border-radius: 9px;
  background: linear-gradient(135deg, rgba(245, 196, 81, 0.2), rgba(233, 77, 111, 0.2));
  display: flex; align-items: center; justify-content: center;
  color: var(--vde0-gold);
}
.vde0-feature-ic svg { width: 18px; height: 18px; }
.vde0-feature b {
  font-size: 13.5px;
  color: var(--vde0-text);
  font-weight: 700;
}
.vde0-feature span {
  font-size: 11.5px;
  color: var(--vde0-text-dim);
  line-height: 1.45;
}

/* ============================================================
   SEO content article
   ============================================================ */
.vde0-article {
  background: var(--vde0-card);
  border: 1px solid var(--vde0-border);
  border-radius: var(--vde0-radius);
  padding: 16px;
  margin: 6px 0 12px;
}
.vde0-article h3 {
  font-size: 16px;
  font-weight: 800;
  color: var(--vde0-gold);
  margin-bottom: 8px;
}
.vde0-article p {
  font-size: 13px;
  color: var(--vde0-text-dim);
  margin-bottom: 8px;
  text-align: justify;
}
.vde0-article a {
  color: var(--vde0-gold);
  text-decoration: underline;
  text-underline-offset: 2px;
}
.vde0-article h4 {
  font-size: 14px;
  color: var(--vde0-text);
  margin: 12px 0 6px;
  font-weight: 700;
}
.vde0-article ul.bul {
  list-style: disc;
  padding-left: 18px;
  margin-bottom: 8px;
}
.vde0-article ul.bul li {
  font-size: 12.5px;
  color: var(--vde0-text-dim);
  margin-bottom: 4px;
}

/* ============================================================
   Steps
   ============================================================ */
.vde0-steps {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 8px;
  margin: 10px 0;
}
.vde0-step {
  background: var(--vde0-bg-2);
  border: 1px solid var(--vde0-border);
  border-radius: var(--vde0-radius-sm);
  padding: 12px 8px;
  text-align: center;
}
.vde0-step-n {
  width: 28px; height: 28px;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--vde0-gold), var(--vde0-gold-2));
  color: #2a1a02;
  font-weight: 800;
  font-size: 13px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 6px;
}
.vde0-step b {
  display: block;
  font-size: 12.5px;
  color: var(--vde0-text);
  margin-bottom: 3px;
}
.vde0-step span {
  font-size: 10.5px;
  color: var(--vde0-text-mute);
  line-height: 1.35;
}

/* ============================================================
   FAQ
   ============================================================ */
.vde0-faq-item {
  background: var(--vde0-card);
  border: 1px solid var(--vde0-border);
  border-radius: var(--vde0-radius-sm);
  margin-bottom: 8px;
  overflow: hidden;
}
.vde0-faq-q {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 13px 14px;
  font-size: 13.5px;
  font-weight: 600;
  color: var(--vde0-text);
  width: 100%;
  text-align: left;
}
.vde0-faq-q .vde0-faq-ic {
  flex-shrink: 0;
  width: 22px; height: 22px;
  border-radius: 50%;
  background: var(--vde0-bg-2);
  color: var(--vde0-gold);
  display: flex; align-items: center; justify-content: center;
  font-size: 16px;
  transition: transform 0.2s ease;
}
.vde0-faq-item.vde0-open .vde0-faq-ic { transform: rotate(45deg); }
.vde0-faq-a {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.3s ease, padding 0.3s ease;
  padding: 0 14px;
  font-size: 12.5px;
  color: var(--vde0-text-dim);
}
.vde0-faq-item.vde0-open .vde0-faq-a {
  max-height: 320px;
  padding: 0 14px 13px;
}

/* ============================================================
   Footer
   ============================================================ */
.vde0-footer {
  margin-top: 18px;
  background: #070b1d;
  border-top: 1px solid var(--vde0-border);
  padding: 18px 14px 14px;
}
.vde0-footer-brand {
  display: flex;
  align-items: center;
  gap: 9px;
  margin-bottom: 12px;
}
.vde0-footer-brand img {
  width: 32px; height: 32px;
  border-radius: 8px;
  border: 1px solid var(--vde0-border-2);
}
.vde0-footer-brand b {
  font-size: 16px;
  color: var(--vde0-gold);
  font-weight: 800;
}
.vde0-footer-cols {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 14px;
  margin-bottom: 14px;
}
.vde0-footer-col h5 {
  font-size: 12px;
  color: var(--vde0-gold);
  text-transform: uppercase;
  letter-spacing: 1px;
  margin-bottom: 8px;
}
.vde0-footer-col a {
  display: block;
  font-size: 12px;
  color: var(--vde0-text-dim);
  padding: 4px 0;
}
.vde0-footer-col a:active { color: var(--vde0-gold); }
.vde0-footer-desc {
  font-size: 11.5px;
  color: var(--vde0-text-mute);
  line-height: 1.55;
  margin-bottom: 12px;
}
.vde0-footer-pay {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-bottom: 12px;
}
.vde0-footer-pay span {
  background: var(--vde0-bg-2);
  border: 1px solid var(--vde0-border);
  color: var(--vde0-text-dim);
  font-size: 10.5px;
  padding: 4px 8px;
  border-radius: 6px;
  font-weight: 600;
}
.vde0-footer-warn {
  background: rgba(233, 77, 111, 0.1);
  border: 1px solid rgba(233, 77, 111, 0.3);
  border-radius: 10px;
  padding: 10px 12px;
  font-size: 11px;
  color: var(--vde0-text-dim);
  margin-bottom: 12px;
  line-height: 1.5;
}
.vde0-footer-copy {
  text-align: center;
  font-size: 11px;
  color: var(--vde0-text-mute);
  padding-top: 10px;
  border-top: 1px solid var(--vde0-border);
}

/* ============================================================
   Floating action button
   ============================================================ */
.vde0-fab {
  position: fixed;
  right: 14px;
  bottom: calc(var(--vde0-nav-h) + 14px);
  z-index: 50;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.vde0-fab a {
  width: 48px;
  height: 48px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.5);
  transition: transform 0.15s ease;
}
.vde0-fab a:active { transform: scale(0.92); }
.vde0-fab .vde0-fab-cs {
  background: linear-gradient(135deg, var(--vde0-green), #1f9c5c);
  color: #fff;
}
.vde0-fab .vde0-fab-tg {
  background: linear-gradient(135deg, #3aa1ff, #1f6fe0);
  color: #fff;
}
.vde0-fab a svg { width: 22px; height: 22px; }
.vde0-fab-pulse {
  position: absolute;
  inset: 0;
  border-radius: 50%;
  background: var(--vde0-green);
  opacity: 0.5;
  animation: vde0Pulse 2s ease-out infinite;
  z-index: -1;
}
@keyframes vde0Pulse {
  0% { transform: scale(1); opacity: 0.5; }
  100% { transform: scale(1.7); opacity: 0; }
}

/* ============================================================
   Mobile bottom navigation
   ============================================================ */
.vde0-bottomnav {
  position: fixed;
  left: 50%;
  transform: translateX(-50%);
  bottom: 0;
  width: 100%;
  max-width: var(--vde0-maxw);
  height: var(--vde0-nav-h);
  background: linear-gradient(180deg, rgba(17, 23, 51, 0.98), rgba(10, 14, 31, 1));
  backdrop-filter: blur(10px);
  border-top: 1px solid var(--vde0-border);
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  z-index: 65;
  padding-bottom: env(safe-area-inset-bottom, 0);
}
.vde0-navitem {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 3px;
  color: var(--vde0-text-mute);
  font-size: 10px;
  font-weight: 600;
  position: relative;
  padding: 6px 0;
  transition: color 0.18s ease;
}
.vde0-navitem svg { width: 21px; height: 21px; }
.vde0-navitem.vde0-active {
  color: var(--vde0-gold);
}
.vde0-navitem.vde0-active::before {
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 26px;
  height: 3px;
  border-radius: 0 0 4px 4px;
  background: var(--vde0-gold);
}
.vde0-navitem.vde0-nav-cta {
  position: relative;
}
.vde0-navitem.vde0-nav-cta .vde0-nav-ic {
  width: 42px;
  height: 42px;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--vde0-gold), var(--vde0-gold-2));
  color: #2a1a02;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: -18px;
  box-shadow: 0 4px 14px rgba(245, 196, 81, 0.5);
  border: 3px solid #0b1130;
}
.vde0-navitem.vde0-nav-cta .vde0-nav-ic svg { width: 22px; height: 22px; }
.vde0-navitem.vde0-nav-cta span { color: var(--vde0-gold); font-weight: 700; }
.vde0-nav-badge {
  position: absolute;
  top: 2px;
  right: 50%;
  margin-right: -22px;
  background: var(--vde0-red);
  color: #fff;
  font-size: 8px;
  font-weight: 800;
  padding: 1px 5px;
  border-radius: 999px;
  line-height: 1.2;
}

/* ============================================================
   Helpers
   ============================================================ */
.vde0-container-compact { padding: 0 12px; }
.vde0-row { display: flex; align-items: center; gap: 8px; }
.vde0-hide-mobile { display: none; }
.vde0-divider {
  height: 1px;
  background: var(--vde0-border);
  margin: 14px 0;
}

/* Larger screens: keep mobile canvas, just center */
@media (min-width: 480px) {
  body { background: #050813; }
  .vde0-shell { border-left: 1px solid var(--vde0-border); border-right: 1px solid var(--vde0-border); }
}
