/* === 全局重置 & 明亮风变量 === */
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
:root{
  --blue:#3b82f6;
  --purple:#8b5cf6;
  --green:#10b981;
  --bg:#f8fafc;
  --bg-card:#ffffff;
  --border:#e2e8f0;
  --border-blue:rgba(59,130,246,0.2);
  --text-primary:#1e293b;
  --text-secondary:#475569;
  --text-tertiary:#64748b;
  --shadow-sm:0 1px 4px rgba(0,0,0,0.04);
  --shadow-md:0 4px 16px rgba(0,0,0,0.06),0 2px 8px rgba(0,0,0,0.03);
  --shadow-lg:0 12px 32px rgba(0,0,0,0.08),0 4px 12px rgba(59,130,246,0.06);
}
body{
  font-family:'Segoe UI',-apple-system,BlinkMacSystemFont,'PingFang SC','Microsoft YaHei',sans-serif;
  background:var(--bg);
  color:var(--text-primary);
  min-height:100vh;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}

#app{position:relative;z-index:1}

/* === 导航栏 === */
#navbar{
  position:fixed;top:0;left:0;width:100%;z-index:100;
  display:flex;align-items:center;justify-content:space-between;
  padding:0 24px;height:56px;
  background:rgba(255,255,255,0.85);
  backdrop-filter:blur(16px);
  border-bottom:1px solid var(--border);
  box-shadow:var(--shadow-sm);
}
#navbar .logo{
  font-size:20px;font-weight:800;
  background:linear-gradient(135deg,var(--blue),var(--purple));
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;
  background-clip:text;
  text-decoration:none;letter-spacing:0.5px;
}
.nav-links{display:flex;gap:6px}
.nav-links a{
  color:var(--text-secondary);text-decoration:none;
  padding:6px 14px;border-radius:8px;font-size:14px;font-weight:500;
  transition:all 0.25s;
}
.nav-links a:hover,.nav-links a.active{
  color:var(--blue);
  background:rgba(59,130,246,0.08);
}

/* === Hero 区域 === */
#hero{
  text-align:center;padding:120px 20px 60px;
  background:linear-gradient(180deg,#eff6ff 0%,#f0f9ff 40%,var(--bg) 100%);
  position:relative;
}
#hero h1{
  font-size:44px;font-weight:800;color:var(--text-primary);margin-bottom:10px;letter-spacing:2px;
}
#hero p{font-size:18px;color:var(--text-tertiary);margin-bottom:24px}
.hero-stats{display:flex;justify-content:center;gap:24px;flex-wrap:wrap}
.hero-stats span{
  font-size:14px;color:var(--text-secondary);
  padding:8px 18px;
  background:rgba(59,130,246,0.06);
  border:1px solid rgba(59,130,246,0.12);
  border-radius:24px;
  transition:all 0.3s;
}
.hero-stats span:hover{
  border-color:var(--border-blue);
  background:rgba(59,130,246,0.1);
}
.hero-stats strong{color:var(--blue);font-weight:700}

/* === 游戏网格容器 === */
#games-grid{
  max-width:1200px;margin:0 auto;padding:20px 24px 40px;
}

/* === 模型分区 === */
.model-zone{margin-bottom:40px}
.model-zone.zone-upcoming{opacity:0.7;margin-top:30px;padding-top:30px;border-top:1px dashed var(--border)}
.zone-title{
  font-size:22px;font-weight:700;color:var(--text-primary);
  display:flex;align-items:center;gap:8px;
  margin-bottom:20px;padding-bottom:14px;
  position:relative;
}
.zone-title em{font-weight:400;color:var(--text-tertiary);font-style:normal;font-size:16px}
.zone-icon{font-size:26px}
.zone-line{
  flex:1;height:1px;
  background:linear-gradient(90deg,var(--blue),transparent 80%);
  margin-left:12px;min-width:60px;
}
.zone-upcoming .zone-line{background:linear-gradient(90deg,var(--text-tertiary),transparent 80%)}
.zone-upcoming .zone-title{color:var(--text-tertiary)}
.zone-cards{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(340px,1fr));
  gap:24px;
}

/* === 游戏卡片 === */
.game-card{
  display:flex;flex-direction:column;
  background:var(--bg-card);
  border-radius:16px;overflow:hidden;
  border:1px solid var(--border);
  text-decoration:none;color:inherit;
  transition:all 0.35s cubic-bezier(0.4,0,0.2,1);
  cursor:pointer;
  position:relative;
  box-shadow:var(--shadow-sm);
}
.game-card:hover{
  transform:translateY(-6px);
  border-color:var(--border-blue);
  box-shadow:var(--shadow-lg);
}

/* 占位卡 */
.placeholder-card{opacity:0.45;cursor:default;pointer-events:none}
.placeholder-card:hover{transform:none;box-shadow:var(--shadow-sm);border-color:var(--border)}

/* 卡片缩略图 */
.card-thumb{position:relative;width:100%;aspect-ratio:16/9;overflow:hidden}
.thumb-placeholder{
  width:100%;height:100%;display:flex;align-items:center;justify-content:center;
  position:relative;
}
.battlefield-bg{
  background:linear-gradient(135deg,#dbeafe 0%,#bfdbfe 50%,#93c5fd 100%);
}
.slapfight-bg{
  background:linear-gradient(135deg,#fce7f3 0%,#fbcfe8 50%,#f9a8d4 100%);
}
.worldbox-bg{
  background:linear-gradient(135deg,#0891b2 0%,#06b6d4 30%,#3b82f6 60%,#1e3a5f 100%);
  position:relative;
}
.worldbox-bg::before{
  content:'';position:absolute;inset:0;
  background:
    radial-gradient(circle at 30% 40%, rgba(255,255,255,0.08) 0%, transparent 50%),
    radial-gradient(circle at 70% 60%, rgba(255,255,255,0.06) 0%, transparent 50%),
    radial-gradient(circle at 50% 80%, rgba(255,255,255,0.04) 0%, transparent 40%);
}
.upcoming-bg{
  background:linear-gradient(135deg,#e5e7eb 0%,#d1d5db 50%,#e5e7eb 100%);
}
.stock-bg{
  background:linear-gradient(135deg,#f7e08a 0%,#C9A227 40%,#1d5c38 100%);
  position:relative;
}
.stock-bg::before{
  content:'';position:absolute;inset:0;
  background:
    radial-gradient(circle at 25% 30%, rgba(255,255,255,0.15) 0%, transparent 45%),
    radial-gradient(circle at 75% 70%, rgba(255,255,255,0.10) 0%, transparent 40%);
}
.conquest-bg{
  background:linear-gradient(135deg,#2d1b0e 0%,#5c3a1e 40%,#0e3320 100%);
  position:relative;
}
.conquest-bg::before{
  content:'';position:absolute;inset:0;
  background:
    radial-gradient(circle at 30% 25%, rgba(255,152,0,0.12) 0%, transparent 40%),
    radial-gradient(circle at 70% 75%, rgba(76,175,80,0.08) 0%, transparent 35%);
}
.rlsn-bg{
  background:linear-gradient(135deg,#fef3c7 0%,#f59e0b 35%,#b91c1c 100%);
  position:relative;
}
.rlsn-bg::before{
  content:'';position:absolute;inset:0;
  background:
    radial-gradient(circle at 25% 30%, rgba(255,255,255,0.25) 0%, transparent 45%),
    radial-gradient(circle at 75% 70%, rgba(255,255,255,0.12) 0%, transparent 40%);
}
.thumb-emoji{font-size:64px;z-index:1}

/* 徽章 */
.card-badge{
  position:absolute;padding:4px 12px;border-radius:20px;
  color:#fff;font-size:11px;font-weight:700;z-index:2;
}
.ai-badge{
  top:12px;left:12px;
  background:linear-gradient(135deg,var(--green),#059669);
  box-shadow:0 2px 10px rgba(16,185,129,0.25);
}
.hot-badge{
  top:12px;right:12px;
  background:linear-gradient(135deg,#f59e0b,#ef4444);
  box-shadow:0 2px 10px rgba(245,158,11,0.25);
}
.new-badge{
  top:12px;right:12px;
  background:linear-gradient(135deg,var(--purple),#6366f1);
  box-shadow:0 2px 10px rgba(139,92,246,0.25);
}

/* 卡片内容 */
.card-body{padding:18px 20px 20px;flex:1;display:flex;flex-direction:column;position:relative;z-index:1}
.card-body h2{font-size:18px;font-weight:700;color:var(--text-primary);margin-bottom:6px;letter-spacing:0.5px}
.card-desc{font-size:13px;color:var(--text-tertiary);line-height:1.65;flex:1;margin-bottom:4px}
.card-tags{display:flex;gap:6px;flex-wrap:wrap;margin:10px 0 6px}
.tag{
  padding:4px 12px;border-radius:14px;font-size:11px;font-weight:600;
  background:rgba(59,130,246,0.06);color:var(--blue);
  border:1px solid rgba(59,130,246,0.12);
}
.tag:hover{background:rgba(59,130,246,0.12);border-color:rgba(59,130,246,0.2)}
.card-meta{
  display:flex;gap:14px;font-size:11px;color:var(--text-tertiary);
  margin-top:6px;
}

/* === 关于 === */
#about{
  max-width:700px;margin:0 auto;padding:50px 24px 40px;
  text-align:center;position:relative;
}
#about h2{font-size:24px;font-weight:700;color:var(--text-primary);margin-bottom:14px}
#about p{font-size:14px;color:var(--text-tertiary);margin-bottom:6px}
.tech-stack{display:flex;justify-content:center;gap:14px;flex-wrap:wrap;margin-top:18px}
.tech-stack span{
  font-size:12px;padding:6px 16px;border-radius:14px;
  background:rgba(139,92,246,0.06);
  border:1px solid rgba(139,92,246,0.1);
  color:var(--text-secondary);
  transition:all 0.25s;
}
.tech-stack span:hover{
  background:rgba(139,92,246,0.12);
  border-color:rgba(139,92,246,0.2);
  color:var(--purple);
}

/* === 页脚 === */
footer{
  text-align:center;padding:28px 20px;
  border-top:1px solid var(--border);
  margin-top:10px;
}
footer p{font-size:12px;color:var(--text-tertiary);letter-spacing:0.5px}

/* === 响应式 === */
@media(max-width:860px){
  #hero h1{font-size:30px}
  #hero p{font-size:15px}
  .hero-stats{gap:10px}
  .hero-stats span{font-size:12px;padding:6px 14px}
  .zone-cards{grid-template-columns:1fr;gap:16px}
  .zone-title{font-size:18px}
  .card-body{padding:14px 16px}
}
@media(max-width:500px){
  #navbar{padding:0 12px}
  #navbar .logo{font-size:15px}
  #hero{padding:90px 14px 40px}
  #hero h1{font-size:22px;letter-spacing:1px}
  #hero p{font-size:14px}
  #games-grid{padding:10px 10px 30px}
  .zone-cards{gap:12px}
  .thumb-emoji{font-size:44px}
  .card-body h2{font-size:15px}
  .ai-badge{top:8px;left:8px;font-size:10px;padding:3px 10px}
  .hot-badge,.new-badge{top:8px;right:8px;font-size:10px;padding:3px 10px}
  .zone-icon{font-size:22px}
  .zone-title em{font-size:14px}
  #about{padding:36px 16px 30px}
}
