/* ===== 全局样式 ===== */
*, *::before, *::after {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

:root {
  --bg-primary: #0a0a0a;
  --bg-glass: rgba(255,255,255,0.25);
  --bg-glass-hover: rgba(255,255,255,0.30);
  --border-glass: 0.5px solid rgba(255,255,255,0.25);
  --border-glass-strong: 0.5px solid rgba(255,255,255,0.15);
  --text-primary: #ffffff;
  --text-secondary: rgba(255,255,255,0.7);
  --text-tertiary: rgba(255,255,255,0.35);
  --ios-blue: #007AFF;
  --theme-red: #FF4655;
  --ios-red: #FF3B30;
  --ios-orange: #FF9500;
  --ios-green: #34C759;
  --radius-sm: 12px;
  --radius-md: 16px;
  --radius-lg: 20px;
  --shadow-glass: 0 8px 40px rgba(0,0,0,0.5);
  --shadow-point: 0 0 12px rgba(0,122,255,0.5);
  --ease-ios: cubic-bezier(0.25, 0.1, 0.25, 1);
  --ease-ios-out: cubic-bezier(0, 0, 0.2, 1);
  --ease-ios-in: cubic-bezier(0.4, 0, 1, 1);
  --ease-bounce: cubic-bezier(0.34, 1.56, 0.64, 1);
  --nav-height: 52px;
  --tab-height: 44px;
  --transition-duration: 0.38s;
}

html, body {
  width: 100%;
  height: 100%;
  overflow: hidden;
  font-family: -apple-system, BlinkMacSystemFont, "PingFang SC", "Helvetica Neue", "Microsoft YaHei", sans-serif;
  background: var(--bg-primary);
  color: var(--text-primary);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  user-select: none;
  -webkit-user-select: none;
}

#app {
  width: 100%;
  height: 100%;
  position: relative;
  overflow: hidden;
}

/* ===== 页面切换 - 纯 class 驱动 ===== */
.page {
  position: absolute;
  top: 0; left: 0;
  width: 100%; height: 100%;
  will-change: transform, opacity;
  pointer-events: none;
}

/* --- 菜单 --- */
#page-menu {
  opacity: 1;
  z-index: 2;
  pointer-events: auto;
  transition: opacity 0.28s cubic-bezier(0.4, 0, 0.2, 1);
}

#page-menu.menu-hidden {
  opacity: 0;
  pointer-events: none;
}

/* --- 地图 --- */
#page-map {
  opacity: 0;
  z-index: 1;
  transition: opacity 0.28s cubic-bezier(0.4, 0, 0.2, 1);
}

#page-map.map-active {
  opacity: 1;
  pointer-events: auto;
  z-index: 3;
}

/* 地图退出（返回菜单时的方向） */
#page-map.map-exiting {
  opacity: 0;
  z-index: 3;
}

/* 抑制过渡（用于无痕清理） */
.no-transition {
  transition: none !important;
}

/* ===== 地图切换过渡 ===== */
.map-viewport.map-switching .map-world {
  opacity: 0;
  transition: opacity 0.18s var(--ease-ios-in);
}

.map-viewport .map-world {
  opacity: 1;
  transition: opacity 0.3s var(--ease-ios-out);
}

/* ===== 滚动条美化 ===== */
::-webkit-scrollbar {
  width: 4px;
}
::-webkit-scrollbar-track {
  background: transparent;
}
::-webkit-scrollbar-thumb {
  background: rgba(255,255,255,0.15);
  border-radius: 2px;
}

/* ===== 手机端全局优化 ===== */
@media (max-width: 480px) {
  :root {
    --nav-height: 44px;
    --tab-height: 38px;
    --transition-duration: 0.3s;
  }
}

