/* ===== 共享设计系统 ===== */
:root {
  --c-bg: #F8F7F4;
  --c-surface: #FFFFFF;
  --c-text: #1A1A1A;
  --c-text-secondary: #7C7C75;
  --c-text-tertiary: #A8A8A0;
  --c-border: #E5E3DD;
  --c-border-strong: #C4C1B6;
  --c-accent: #4F46E5;
  --c-accent-hover: #4338CA;
  --c-accent-light: #EEEDFE;
  --c-success: #155E2E;
  --c-success-bg: #E1F5EE;
  --c-warning: #BA6124;
  --c-warning-bg: #FAEEDA;
  --c-danger: #A32D2D;
  --c-danger-bg: #FCEBEB;
  --c-tier1: #FCEBEB;
  --c-tier1-text: #791F1F;
  --c-tier2: #E6F1FB;
  --c-tier2-text: #0C447C;
  --c-tier3: #EAF3DE;
  --c-tier3-text: #27500A;
  --c-au: #FAEEDA;
  --c-au-text: #633806;
  --radius-sm: 8px;
  --radius-md: 12px;
  --radius-lg: 16px;
  --shadow-sm: 0 1px 3px rgba(0,0,0,.06);
  --shadow-md: 0 4px 16px rgba(0,0,0,.08);
  --shadow-lg: 0 12px 40px rgba(0,0,0,.1);
  --font-sans: -apple-system, "PingFang SC", "Noto Sans SC", "Microsoft YaHei", sans-serif;
  --transition: .2s cubic-bezier(.4,0,.2,1);
  --breath-duration: 2.5s;
}

* { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { font-family:var(--font-sans); background:var(--c-bg); color:var(--c-text); line-height:1.6; -webkit-font-smoothing:antialiased; }

/* ===== 导航栏 ===== */
.nav-bar {
  background:var(--c-surface);
  border-bottom:0.5px solid var(--c-border);
  padding:0 24px;
  height:56px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  position:sticky;
  top:0;
  z-index:100;
}
.nav-logo {
  font-size:16px;
  font-weight:600;
  color:var(--c-text);
  text-decoration:none;
  display:flex;
  align-items:center;
  gap:8px;
}
.nav-logo .dot {
  display:inline-block;
  width:8px;height:8px;
  background:var(--c-accent);
  border-radius:50%;
}
.nav-links { display:flex; gap:4px; align-items:center; }
.nav-link {
  font-size:13px;
  color:var(--c-text-secondary);
  text-decoration:none;
  padding:6px 14px;
  border-radius:var(--radius-sm);
  transition:all var(--transition);
  font-weight:500;
}
.nav-link:hover { background:var(--c-accent-light); color:var(--c-accent); }
.nav-link.active { background:var(--c-accent); color:#fff; }

/* ===== 页面容器 ===== */
.page-container { max-width:1280px; margin:0 auto; padding:0 24px; }
.page-header {
  padding:40px 0 24px;
  text-align:center;
}
.page-header h1 {
  font-size:clamp(24px,5vw,36px);
  font-weight:700;
  color:var(--c-text);
  margin-bottom:8px;
}
.page-header .subtitle {
  font-size:14px;
  color:var(--c-text-secondary);
  max-width:600px;
  margin:0 auto;
}

/* ===== Hero区域 ===== */
.hero {
  padding:60px 0 48px;
  text-align:center;
  position:relative;
  overflow:hidden;
}
.hero::before {
  content:'';
  position:absolute;
  top:-50%;
  left:-50%;
  width:200%;
  height:200%;
  background:radial-gradient(ellipse at 50% 30%, var(--c-accent-light) 0%, transparent 60%),
             radial-gradient(ellipse at 80% 70%, #E1F5EE 0%, transparent 50%);
  opacity:0.5;
  z-index:0;
}
.hero-content { position:relative; z-index:1; }
.hero h1 {
  font-size:clamp(28px,7vw,48px);
  font-weight:800;
  color:var(--c-text);
  line-height:1.2;
  margin-bottom:12px;
  animation:fadeInUp .6s ease forwards;
}
.hero h1 .highlight { color:var(--c-accent); }
.hero .hero-sub {
  font-size:16px;
  color:var(--c-text-secondary);
  margin-bottom:32px;
  animation:fadeInUp .6s ease .15s forwards;
  opacity:0;
}
.hero .hero-badge {
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:6px 16px;
  border-radius:20px;
  font-size:13px;
  font-weight:500;
  background:var(--c-surface);
  border:0.5px solid var(--c-border);
  color:var(--c-text-secondary);
  animation:fadeInUp .6s ease .25s forwards;
  opacity:0;
}

/* ===== 统计卡片 ===== */
.stats-grid {
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(180px,1fr));
  gap:16px;
  margin-bottom:40px;
}
.stat-card {
  background:var(--c-surface);
  border-radius:var(--radius-lg);
  padding:20px;
  border:0.5px solid var(--c-border);
  transition:all var(--transition);
}
.stat-card:hover { box-shadow:var(--shadow-md); transform:translateY(-2px); }
.stat-card .stat-icon { font-size:28px; margin-bottom:8px; }
.stat-card .stat-value {
  font-size:28px;
  font-weight:700;
  color:var(--c-text);
  margin-bottom:4px;
}
.stat-card .stat-label {
  font-size:12px;
  color:var(--c-text-secondary);
  font-weight:500;
}
.stat-card .stat-detail {
  font-size:11px;
  color:var(--c-text-tertiary);
  margin-top:4px;
}

/* ===== 导航卡片网格 ===== */
.nav-cards {
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
  gap:20px;
  margin-bottom:48px;
}
.nav-card {
  background:var(--c-surface);
  border-radius:var(--radius-lg);
  padding:28px;
  border:0.5px solid var(--c-border);
  text-decoration:none;
  color:var(--c-text);
  transition:all var(--transition);
  position:relative;
  overflow:hidden;
}
.nav-card::after {
  content:'';
  position:absolute;
  top:0;left:0;right:0;
  height:3px;
  transition:all var(--transition);
}
.nav-card:hover {
  box-shadow:var(--shadow-lg);
  transform:translateY(-4px);
}
.nav-card:hover::after { height:4px; }
.nav-card.card-admission::after { background:var(--c-accent); }
.nav-card.card-rankings::after { background:var(--c-warning); }
.nav-card.card-insights::after { background:var(--c-success); }
.nav-card .card-icon { font-size:36px; margin-bottom:16px; }
.nav-card .card-title {
  font-size:20px;
  font-weight:700;
  margin-bottom:8px;
  transition:color var(--transition);
}
.nav-card:hover .card-title.card-admission-title { color:var(--c-accent); }
.nav-card:hover .card-title.card-rankings-title { color:var(--c-warning); }
.nav-card:hover .card-title.card-insights-title { color:var(--c-success); }
.nav-card .card-desc {
  font-size:13px;
  color:var(--c-text-secondary);
  line-height:1.7;
  margin-bottom:16px;
}
.nav-card .card-tags {
  display:flex;
  gap:6px;
  flex-wrap:wrap;
}
.card-tag {
  font-size:11px;
  padding:3px 10px;
  border-radius:12px;
  font-weight:500;
}
.card-tag.tag-accent { background:var(--c-accent-light); color:var(--c-accent); }
.card-tag.tag-warning { background:var(--c-warning-bg); color:var(--c-warning); }
.card-tag.tag-success { background:var(--c-success-bg); color:var(--c-success); }

/* ===== 关键发现小卡片 ===== */
.insights-strip {
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(240px,1fr));
  gap:12px;
  margin-bottom:48px;
}
.insight-card {
  background:var(--c-surface);
  border-radius:var(--radius-md);
  padding:16px;
  border:0.5px solid var(--c-border);
}
.insight-card .insight-num {
  font-size:24px;font-weight:700;color:var(--c-accent);margin-bottom:4px;
}
.insight-card .insight-text { font-size:13px;color:var(--c-text);line-height:1.6; }

/* ===== 页脚 ===== */
.footer {
  padding:24px;
  text-align:center;
  font-size:11px;
  color:var(--c-text-tertiary);
  border-top:0.5px solid var(--c-border);
  margin-top:40px;
}

/* ===== 动画 ===== */
@keyframes fadeInUp {
  from { opacity:0; transform:translateY(20px); }
  to { opacity:1; transform:translateY(0); }
}
@keyframes fadeIn {
  from { opacity:0; }
  to { opacity:1; }
}
@keyframes textBreath {
  0%,100% { transform:scale(1); }
  50% { transform:scale(1.02); }
}
.fade-in { opacity:0; transform:translateY(20px); transition:opacity .5s ease,transform .5s ease; }
.fade-in.visible { opacity:1; transform:translateY(0); }
.delay-1 { transition-delay:.1s; }
.delay-2 { transition-delay:.2s; }
.delay-3 { transition-delay:.3s; }
.delay-4 { transition-delay:.4s; }

/* ===== 返回按钮 ===== */
.back-link {
  display:inline-flex;
  align-items:center;
  gap:6px;
  font-size:13px;
  color:var(--c-accent);
  text-decoration:none;
  padding:6px 12px;
  border-radius:var(--radius-sm);
  background:var(--c-accent-light);
  font-weight:500;
  transition:all var(--transition);
  margin-bottom:16px;
}
.back-link:hover { background:var(--c-accent); color:#fff; }

/* ===== 响应式 ===== */
@media(max-width:768px) {
  .nav-bar { padding:0 16px; }
  .page-container { padding:0 16px; }
  .hero { padding:40px 0 32px; }
  .nav-link { font-size:11px; padding:4px 8px; }
  .nav-logo { font-size:14px; }
  .page-header { padding:28px 0 16px; }
  .stats-grid { grid-template-columns:repeat(2,1fr); }
  .nav-cards { grid-template-columns:1fr; }
}
