.menu-screen {
  position: fixed;
  inset: 0;
  z-index: 5000;
  display: flex;
  align-items: center;
  justify-content: center;
}

.menu-bg {
  position: absolute;
  inset: 0;
  background: linear-gradient(160deg, #080812 0%, #0e1228 40%, #0a1a2a 100%);
}

.menu-content {
  position: relative;
  text-align: center;
  max-width: 420px;
  width: 90%;
  z-index: 1;
}

.menu-buttons {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin-top: 1.5rem;
}

.menu-btn {
  background: rgba(20, 25, 45, 0.9);
  border: 1px solid rgba(0, 212, 255, 0.25);
  color: #e0e4f0;
  padding: 14px 24px;
  font-size: 0.95rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  border-radius: 8px;
  cursor: pointer;
  transition: all 0.2s;
  pointer-events: auto;
}

.menu-btn:hover, .menu-btn:focus {
  background: rgba(0, 212, 255, 0.15);
  border-color: #00d4ff;
  color: #fff;
  transform: translateY(-1px);
}

.menu-btn.primary {
  background: linear-gradient(90deg, #00a0c8, #6a4cff);
  border-color: transparent;
  color: #fff;
}

.menu-btn.primary:hover {
  background: linear-gradient(90deg, #00c0e8, #7b5cff);
}

.menu-overlay {
  position: fixed;
  inset: 0;
  background: rgba(5, 8, 18, 0.85);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 4000;
  pointer-events: auto;
}

.overlay-content {
  background: rgba(12, 16, 32, 0.98);
  border: 1px solid rgba(0, 212, 255, 0.3);
  border-radius: 16px;
  padding: 32px 40px;
  text-align: center;
  min-width: 280px;
  max-width: 90vw;
}

.overlay-content h2 {
  margin-bottom: 24px;
  font-size: 1.6rem;
  letter-spacing: 0.1em;
  color: #00d4ff;
}

.overlay-content .menu-btn {
  width: 100%;
  margin-bottom: 8px;
}

/* Panel system for Garage, Dealership, etc. */
.panel {
  position: fixed;
  inset: 0;
  background: rgba(5, 8, 18, 0.92);
  z-index: 3000;
  display: flex;
  flex-direction: column;
  pointer-events: auto;
  overflow: hidden;
}

.panel-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 16px 24px;
  border-bottom: 1px solid rgba(0, 212, 255, 0.2);
  background: rgba(10, 14, 28, 0.95);
}

.panel-header h2 {
  font-size: 1.3rem;
  letter-spacing: 0.08em;
  color: #00d4ff;
}

.menu-btn.selected, .vehicle-card.selected {
  border-color: #00d4ff;
  box-shadow: 0 0 0 1px rgba(0, 212, 255, 0.4);
}

.panel-close {
  background: transparent;
  border: 1px solid rgba(255,255,255,0.2);
  color: #aaa;
  width: 36px;
  height: 36px;
  border-radius: 8px;
  font-size: 1.2rem;
  cursor: pointer;
}

.panel-close:hover {
  border-color: #ff4d6a;
  color: #ff4d6a;
}

.panel-body {
  flex: 1;
  overflow-y: auto;
  padding: 20px;
}

.vehicle-card {
  background: rgba(20, 25, 45, 0.8);
  border: 1px solid rgba(0, 212, 255, 0.15);
  border-radius: 12px;
  padding: 16px;
  margin-bottom: 12px;
  cursor: pointer;
  transition: border-color 0.2s;
}

.vehicle-card:hover, .vehicle-card.selected {
  border-color: #00d4ff;
}

.vehicle-card h3 {
  font-size: 1.1rem;
  margin-bottom: 4px;
}

.vehicle-card .price {
  color: #00ff9d;
  font-weight: 700;
}

.vehicle-card .stats {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 4px 12px;
  font-size: 0.8rem;
  color: #9aa;
  margin-top: 8px;
}

.stat-bar {
  height: 4px;
  background: rgba(255,255,255,0.1);
  border-radius: 2px;
  margin-top: 2px;
}

.stat-bar div {
  height: 100%;
  background: #00d4ff;
  border-radius: 2px;
}

.dealer-hero{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;margin-bottom:14px;border:1px solid rgba(0,212,255,.28);border-radius:12px;background:linear-gradient(135deg,rgba(0,212,255,.12),rgba(123,92,255,.10));}.dealer-hero strong{font-size:1.15rem;color:#fff;letter-spacing:.08em}.dealer-hero span{color:#9fb0c8;font-size:.8rem}.vehicle-card{box-shadow:0 8px 22px rgba(0,0,0,.18)}.vehicle-card h3{color:#fff}.vehicle-card .price{font-size:.9rem}
.mission-brief{display:flex;flex-direction:column;gap:5px;padding:14px 16px;margin-bottom:14px;border:1px solid rgba(0,255,157,.3);border-radius:12px;background:linear-gradient(135deg,rgba(0,255,157,.10),rgba(0,212,255,.07))}.mission-brief strong{color:#00ff9d;letter-spacing:.1em}.mission-brief span{color:#aab8c9;font-size:.86rem}.mission-card{position:relative}.mission-number{display:inline-block;font-size:.68rem;font-weight:800;color:#00d4ff;letter-spacing:.12em;margin-bottom:5px}.mission-steps{font-size:.72rem;color:#7f91a8;line-height:1.7}.mission-steps b{color:#fff;background:rgba(0,212,255,.16);border-radius:4px;padding:2px 5px}

/* Main menu — compact landscape dashboard so the complete first page is visible */
#main-menu .menu-content {
  width: min(1120px, 94vw);
  max-width: 1120px;
  max-height: 94vh;
  overflow-y: auto;
  padding: clamp(14px, 2.2vh, 28px) clamp(16px, 3vw, 40px);
  border: 1px solid rgba(0,212,255,.16);
  border-radius: 22px;
  background: rgba(7, 11, 25, .58);
  backdrop-filter: blur(14px);
  box-shadow: 0 24px 70px rgba(0,0,0,.38), inset 0 1px 0 rgba(255,255,255,.04);
}

#main-menu .logo {
  font-size: clamp(2rem, 5vw, 3.2rem);
  margin-bottom: .15rem;
}

#main-menu .tagline {
  margin-bottom: clamp(.65rem, 1.5vh, 1.2rem);
  font-size: .72rem;
}

#main-menu .menu-buttons {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 9px;
  margin-top: 0;
}

#main-menu .menu-btn {
  min-height: 48px;
  padding: 10px 12px;
  font-size: .78rem;
  letter-spacing: .055em;
  white-space: nowrap;
}

#main-menu .menu-btn.primary {
  box-shadow: 0 8px 22px rgba(0,160,200,.12);
}

@media (max-width: 760px) {
  #main-menu .menu-content { width: 94vw; }
  #main-menu .menu-buttons { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-height: 560px) and (orientation: landscape) {
  #main-menu .menu-content {
    width: 96vw;
    max-height: 96vh;
    padding: 8px 18px 12px;
    border-radius: 16px;
  }
  #main-menu .logo { font-size: 1.8rem; }
  #main-menu .tagline { font-size: .58rem; margin-bottom: .5rem; }
  #main-menu .menu-buttons {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 6px;
  }
  #main-menu .menu-btn {
    min-height: 38px;
    padding: 7px 8px;
    font-size: .68rem;
    border-radius: 7px;
  }
}

/* Redesigned first page: real vehicle showroom / choose-and-drive */
.vehicle-selection-mode #game-container { display:block !important; }
.vehicle-selection-mode #ui-panels { z-index: 6000; }
.vehicle-select-screen { position:fixed; inset:0; display:flex; flex-direction:column; padding:clamp(18px,3vw,42px); color:#fff; background:linear-gradient(90deg,rgba(4,7,16,.92) 0%,rgba(4,7,16,.78) 43%,rgba(4,7,16,.18) 72%,rgba(4,7,16,.48) 100%); backdrop-filter:blur(2px); overflow:hidden; }
.vehicle-select-top { display:flex; justify-content:space-between; align-items:flex-start; gap:20px; max-width:1450px; width:100%; margin:0 auto; }
.vehicle-select-top .eyebrow { color:#00d4ff; font-weight:900; letter-spacing:.2em; font-size:.72rem; }
.vehicle-select-top h1 { margin:.2rem 0 .1rem; font-size:clamp(2rem,4.5vw,4rem); letter-spacing:.05em; }
.vehicle-select-top p { margin:0; color:#a9b5c7; }
.select-wallet { min-width:130px; text-align:right; font-size:1.3rem; font-weight:900; color:#00ff9d; }
.select-wallet small { display:block; color:#8190a5; font-size:.62rem; letter-spacing:.14em; margin-top:3px; }
.vehicle-select-layout { flex:1; min-height:0; display:grid; grid-template-columns:minmax(280px, .75fr) minmax(440px, 1.25fr); gap:28px; align-items:end; max-width:1450px; width:100%; margin:0 auto; }
.vehicle-preview-copy { max-width:470px; padding:25px; border:1px solid rgba(0,212,255,.24); border-radius:20px; background:rgba(7,12,27,.72); box-shadow:0 20px 60px rgba(0,0,0,.3); }
.vehicle-preview-copy h2 { font-size:clamp(2rem,4vw,3.6rem); margin:.25rem 0 .45rem; }
.vehicle-preview-copy p { color:#aeb9c8; line-height:1.5; }
.big-stats { display:flex; gap:20px; margin:18px 0; }
.big-stats div { min-width:72px; }.big-stats b { display:block; font-size:1.35rem; }.big-stats small { color:#78869a; font-size:.58rem; letter-spacing:.1em; }
.drive-now { width:100%; padding:17px 20px; }
.vehicle-list { min-height:0; max-height:57vh; overflow:auto; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; padding-right:4px; }
.vehicle-select-footer { display:flex; justify-content:space-between; max-width:1450px; width:100%; margin:16px auto 0; color:#6f8097; font-size:.62rem; letter-spacing:.12em; }
@media (max-width:800px) { .vehicle-select-screen{padding:15px}.vehicle-select-layout{grid-template-columns:1fr;align-items:stretch;overflow:auto}.vehicle-preview-copy{max-width:none}.vehicle-list{max-height:36vh;grid-template-columns:repeat(2,minmax(0,1fr))}.vehicle-select-footer{display:none}.select-wallet{font-size:1rem}.vehicle-select-top h1{font-size:2rem} }
@media (max-width:520px) { .vehicle-list{grid-template-columns:1fr}.vehicle-preview-copy{padding:18px}.big-stats{gap:12px} }

.starting-cash{display:flex;align-items:center;justify-content:flex-end;gap:5px;margin-top:8px}.starting-cash>span{font-size:.55rem;color:#8190a5;letter-spacing:.1em;margin-right:2px}.cash-choice{border:1px solid rgba(255,255,255,.14);background:rgba(10,16,31,.82);color:#b9c7d8;border-radius:7px;padding:5px 8px;font-weight:900;font-size:.62rem;cursor:pointer}.cash-choice:hover,.cash-choice.active{border-color:#00ff9d;color:#00ff9d;background:rgba(0,255,157,.1)}
@media(max-width:600px){.starting-cash{justify-content:flex-start;flex-wrap:wrap}.select-wallet{text-align:left}.starting-cash>span{width:100%}}

/* ═══════════════════════════════════════════════════════════════════════
   CITY DRIVE — WOW SHOWROOM / FIRST PAGE
   ═══════════════════════════════════════════════════════════════════════ */
.vehicle-selection-mode #game-container{background:#05070d}
.vehicle-selection-mode #game-canvas{filter:saturate(1.16) contrast(1.06) brightness(.9)}
.vehicle-select-screen{position:fixed;inset:0;z-index:6000;overflow:hidden;color:#fff;padding:24px 38px 26px;background:radial-gradient(circle at 67% 44%,rgba(0,212,255,.10),transparent 28%),linear-gradient(90deg,rgba(3,6,14,.94) 0%,rgba(3,6,14,.68) 36%,rgba(3,6,14,.08) 68%,rgba(3,6,14,.40) 100%);backdrop-filter:blur(1.5px)}
.vehicle-select-screen:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(0,0,0,.5),transparent 20%,transparent 66%,rgba(0,0,0,.76));box-shadow:inset 0 0 140px rgba(0,0,0,.72)}
.showroom-glow{position:absolute;width:46vw;height:46vw;right:8%;top:10%;border-radius:50%;background:radial-gradient(circle,rgba(0,212,255,.12),rgba(123,92,255,.045) 35%,transparent 68%);filter:blur(8px);animation:showroomPulse 4.5s ease-in-out infinite;pointer-events:none}
@keyframes showroomPulse{0%,100%{transform:scale(.96);opacity:.72}50%{transform:scale(1.05);opacity:1}}
.showroom-header,.showroom-hero-copy,.showroom-vehicle-name,.showroom-bottom{position:relative;z-index:2}
.showroom-header{height:60px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:20px;max-width:1600px;margin:0 auto}
.showroom-brand{display:flex;align-items:center;gap:10px}.brand-mark{width:35px;height:35px;display:grid;place-items:center;border:1px solid rgba(0,212,255,.65);background:rgba(0,212,255,.08);color:#00d4ff;font-size:.7rem;font-weight:1000;letter-spacing:-.08em;box-shadow:0 0 22px rgba(0,212,255,.18)}.showroom-brand b{display:block;letter-spacing:.18em;font-size:.85rem}.showroom-brand small{display:block;color:#63758d;font-size:.5rem;letter-spacing:.2em;margin-top:2px}
.showroom-status{font-size:.56rem;letter-spacing:.18em;color:#a8b4c5;white-space:nowrap}.showroom-status i{display:inline-block;width:3px;height:3px;border-radius:50%;background:#4f6077;margin:0 9px}.live-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:#00ff9d;box-shadow:0 0 10px #00ff9d;margin-right:7px;animation:liveBlink 1.4s infinite}@keyframes liveBlink{50%{opacity:.35}}
.showroom-wallet{text-align:right}.showroom-wallet small{display:block;color:#63758d;font-size:.48rem;letter-spacing:.18em}.showroom-wallet strong{display:block;color:#00ff9d;font-size:1.15rem;letter-spacing:.04em;text-shadow:0 0 16px rgba(0,255,157,.2)}
.showroom-hero-copy{position:absolute;left:clamp(38px,6vw,105px);top:18%;width:min(510px,38vw)}.hero-kicker{display:inline-flex;align-items:center;gap:9px;color:#00d4ff;font-size:.62rem;font-weight:900;letter-spacing:.25em}.hero-kicker:before{content:"";width:28px;height:1px;background:#00d4ff;box-shadow:0 0 9px #00d4ff}.showroom-hero-copy h1{font-size:clamp(3.5rem,7vw,7rem);line-height:.84;letter-spacing:-.055em;margin:13px 0 20px;font-weight:950;text-shadow:0 15px 50px rgba(0,0,0,.55)}.showroom-hero-copy h1 em{font-style:normal;background:linear-gradient(90deg,#00d4ff,#7b5cff,#ff4d8d);-webkit-background-clip:text;color:transparent}.showroom-hero-copy p{max-width:390px;color:#a9b7ca;font-size:.86rem;line-height:1.65}
.showroom-vehicle-name{position:absolute;right:clamp(25px,6vw,100px);top:19%;width:min(360px,30vw);text-align:right}.showroom-vehicle-name span{color:#00d4ff;font-size:.58rem;font-weight:900;letter-spacing:.2em}.showroom-vehicle-name h2{font-size:clamp(2rem,4vw,4.4rem);line-height:.9;margin:7px 0;text-shadow:0 8px 35px #000;letter-spacing:-.04em}.showroom-vehicle-name small{color:#9aaabd;font-size:.65rem;letter-spacing:.1em}
.showroom-bottom{position:absolute;left:38px;right:38px;bottom:25px;display:grid;grid-template-columns:minmax(320px,470px) minmax(500px,1fr);gap:42px;align-items:end;max-width:1600px;margin:auto}
.showroom-detail{padding:19px 21px;border:1px solid rgba(255,255,255,.12);border-radius:16px;background:linear-gradient(145deg,rgba(7,13,27,.82),rgba(7,10,19,.56));box-shadow:0 18px 60px rgba(0,0,0,.32),inset 0 1px rgba(255,255,255,.04);backdrop-filter:blur(10px)}.detail-line{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid rgba(255,255,255,.08);padding-bottom:10px}.detail-line span,.showroom-bars span{font-size:.53rem;color:#73849a;letter-spacing:.17em}.detail-line b{font-size:1.15rem}.showroom-bars{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:12px 0}.showroom-bars i{display:block;height:3px;margin-top:6px;background:rgba(255,255,255,.09);overflow:hidden}.showroom-bars i b{display:block;height:100%;background:linear-gradient(90deg,#00d4ff,#7b5cff);box-shadow:0 0 8px rgba(0,212,255,.6)}.showroom-detail p{color:#8e9eb2;font-size:.68rem;line-height:1.45;margin:8px 0 13px}.drive-now{width:100%;padding:14px 18px;border-radius:10px;font-weight:950;letter-spacing:.12em;box-shadow:0 12px 32px rgba(0,160,200,.22)}.drive-now span{font-size:.72rem}.drive-hint{text-align:center;color:#65768c;font-size:.47rem;letter-spacing:.15em;margin-top:9px}.drive-hint span{color:#00d4ff;margin:0 7px}
.starting-cash{display:flex;align-items:center;justify-content:flex-end;gap:4px;margin-top:5px}.starting-cash>span{font-size:.43rem;color:#6f8097;letter-spacing:.12em;margin-right:3px}.cash-choice{border:1px solid rgba(255,255,255,.14);background:rgba(10,16,31,.82);color:#b9c7d8;border-radius:5px;padding:3px 6px;font-weight:900;font-size:.48rem;cursor:pointer}.cash-choice:hover,.cash-choice.active{border-color:#00ff9d;color:#00ff9d;background:rgba(0,255,157,.1)}

/* WOW showroom ride thumbnails */
.selected-ride-flag{display:inline-block;margin-bottom:7px;padding:5px 8px;border-radius:999px;background:rgba(0,212,255,.12);border:1px solid rgba(0,212,255,.35);font-size:.58rem;font-weight:950;letter-spacing:.1em;color:#70e8ff}
.showroom-status b{margin-left:6px;color:#00ff9d}

.shop-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:10px;max-height:60vh;overflow:auto;padding-right:4px}.shop-card{min-height:145px}.rank-hero{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:14px;border:1px solid #2d5870;background:linear-gradient(135deg,#0d1d2a,#11182b);border-radius:12px}.rank-hero strong{font-size:1.15rem;color:#ffd34d}.rank-hero span{color:#9ad}.rank-note{margin:10px 0;padding:10px;border-left:3px solid #00d4ff;background:#09151e;color:#9aa;font-size:.82rem}.rank-list{display:flex;flex-direction:column;gap:5px;max-height:48vh;overflow:auto}.rank-row{display:grid;grid-template-columns:42px 1fr 100px 55px;gap:8px;align-items:center;padding:9px 10px;border:1px solid #26394a;background:#0c141d;border-radius:8px;color:#dce8f2}.rank-row span:nth-child(3){text-align:right;color:#00d4ff}.rank-row small{color:#8798a8;text-align:right}.rank-you{border-color:#00d4ff;background:#102331}.rank-you b{color:#00ff9d}@media(max-width:600px){.rank-row{grid-template-columns:35px 1fr 80px}.rank-row small{display:none}.rank-hero{flex-direction:column;align-items:flex-start}}

/* Clean global first-page presentation: one premium cash display, no mini vehicle cards. */
.modern-cash-display{display:flex;align-items:center;gap:11px;justify-content:flex-end;min-width:230px;padding:8px 12px;border:1px solid rgba(255,255,255,.12);border-radius:14px;background:linear-gradient(135deg,rgba(12,20,36,.88),rgba(5,10,20,.72));box-shadow:0 10px 35px rgba(0,0,0,.28),inset 0 1px rgba(255,255,255,.06);backdrop-filter:blur(14px)}
.modern-cash-display .cash-icon{width:30px;height:30px;border-radius:10px;display:grid;place-items:center;background:linear-gradient(135deg,#00ff9d,#00d4ff);color:#04100d;font-weight:1000;font-size:.9rem;box-shadow:0 0 22px rgba(0,255,157,.22)}
.modern-cash-display small{display:block;color:#708198;font-size:.46rem;letter-spacing:.18em;font-weight:900}.modern-cash-display strong{display:block;color:#fff;font-size:1.05rem;letter-spacing:.02em;margin-top:2px}.modern-cash-display .starting-cash{margin:0 0 0 5px;padding-left:10px;border-left:1px solid rgba(255,255,255,.1)}
.showroom-picker{display:flex;flex-direction:column;align-items:flex-end}.clean-browse{display:flex;align-items:center;justify-content:flex-end;gap:12px;width:min(420px,100%);padding:12px 0}.clean-browse>div{text-align:center;min-width:180px}.clean-browse span{display:block;color:#63758d;font-size:.47rem;letter-spacing:.18em;font-weight:900}.clean-browse strong{display:block;font-size:1rem;margin-top:4px}.clean-browse small{display:block;color:#718198;font-size:.52rem;margin-top:4px}.browse-arrow{width:42px;height:42px;border:1px solid rgba(255,255,255,.13);border-radius:12px;background:rgba(8,14,27,.75);color:#fff;font-size:1.7rem;line-height:1;cursor:pointer;transition:.2s}.browse-arrow:hover{border-color:#00d4ff;color:#00d4ff;transform:translateY(-2px);box-shadow:0 8px 24px rgba(0,0,0,.25)}
@media(max-width:760px){.modern-cash-display{min-width:0;padding:6px 9px;gap:7px}.modern-cash-display .cash-icon{width:26px;height:26px}.modern-cash-display strong{font-size:.9rem}.modern-cash-display .starting-cash{padding-left:6px;margin-left:2px}.showroom-picker{align-items:stretch}.clean-browse{width:100%;justify-content:center}.clean-browse>div{min-width:150px}.browse-arrow{width:38px;height:38px}}
