/* 玩物社区 - 主样式文件 hn33zg.cn */
:root {
  --primary: #1a6b3c;
  --primary-dark: #0f4a28;
  --primary-light: #2d9e5a;
  --accent: #f0a500;
  --accent-dark: #c88200;
  --bg-dark: #0d1117;
  --bg-card: #161b22;
  --bg-section: #0f1923;
  --text-primary: #e8eaf0;
  --text-secondary: #9ba3af;
  --text-muted: #6b7280;
  --border: #2d3748;
  --red: #e53e3e;
  --gradient-main: linear-gradient(135deg, #1a6b3c 0%, #0f4a28 50%, #0d1117 100%);
  --gradient-card: linear-gradient(180deg, #161b22 0%, #0d1117 100%);
  --shadow: 0 4px 20px rgba(0,0,0,0.4);
  --shadow-hover: 0 8px 30px rgba(26,107,60,0.3);
  --radius: 12px;
  --radius-sm: 8px;
  --transition: all 0.3s ease;
}

* { margin: 0; padding: 0; box-sizing: border-box; }

html { scroll-behavior: smooth; font-size: 16px; }

body {
  font-family: "PingFang SC", "Microsoft YaHei", "Helvetica Neue", Arial, sans-serif;
  background: var(--bg-dark);
  color: var(--text-primary);
  line-height: 1.7;
  overflow-x: hidden;
}

a { color: var(--primary-light); text-decoration: none; transition: var(--transition); }
a:hover { color: var(--accent); }

img { max-width: 100%; height: auto; display: block; }

/* ===== 滚动条 ===== */
::-webkit-scrollbar { width: 6px; }
::-webkit-scrollbar-track { background: var(--bg-dark); }
::-webkit-scrollbar-thumb { background: var(--primary); border-radius: 3px; }

/* ===== 顶部公告栏 ===== */
.top-bar {
  background: var(--primary-dark);
  padding: 6px 0;
  font-size: 13px;
  color: #a8d5b5;
  border-bottom: 1px solid rgba(26,107,60,0.3);
}
.top-bar .container { display: flex; justify-content: space-between; align-items: center; }
.top-bar-links a { color: #a8d5b5; margin-left: 16px; font-size: 12px; }
.top-bar-links a:hover { color: var(--accent); }

/* ===== 导航栏 ===== */
header {
  background: rgba(13,17,23,0.97);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border-bottom: 1px solid var(--border);
  position: sticky;
  top: 0;
  z-index: 1000;
  box-shadow: 0 2px 20px rgba(0,0,0,0.5);
}
.header-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 12px 0;
}
.logo {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 22px;
  font-weight: 800;
  color: var(--text-primary);
  letter-spacing: -0.5px;
}
.logo-icon {
  width: 42px;
  height: 42px;
  background: var(--gradient-main);
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 20px;
  font-weight: 900;
  color: #fff;
  border: 2px solid var(--primary-light);
  box-shadow: 0 0 15px rgba(26,107,60,0.4);
  flex-shrink: 0;
}
.logo-text { display: flex; flex-direction: column; }
.logo-text span:first-child { color: var(--text-primary); font-size: 20px; }
.logo-text span:last-child { font-size: 11px; color: var(--primary-light); font-weight: 400; letter-spacing: 1px; }

nav { display: flex; align-items: center; gap: 4px; }
nav a {
  color: var(--text-secondary);
  font-size: 14px;
  padding: 8px 14px;
  border-radius: var(--radius-sm);
  transition: var(--transition);
  font-weight: 500;
  white-space: nowrap;
}
nav a:hover, nav a.active {
  color: var(--text-primary);
  background: rgba(26,107,60,0.2);
}

.header-actions { display: flex; align-items: center; gap: 10px; }
.btn-login {
  background: transparent;
  border: 1px solid var(--primary);
  color: var(--primary-light);
  padding: 7px 16px;
  border-radius: 20px;
  font-size: 13px;
  cursor: pointer;
  transition: var(--transition);
}
.btn-login:hover { background: var(--primary); color: #fff; }
.btn-join {
  background: var(--primary);
  border: none;
  color: #fff;
  padding: 7px 16px;
  border-radius: 20px;
  font-size: 13px;
  cursor: pointer;
  transition: var(--transition);
  font-weight: 600;
}
.btn-join:hover { background: var(--primary-light); box-shadow: var(--shadow-hover); }

/* ===== 搜索框 ===== */
.search-bar {
  background: var(--bg-section);
  border-bottom: 1px solid var(--border);
  padding: 10px 0;
}
.search-inner {
  display: flex;
  align-items: center;
  max-width: 600px;
  margin: 0 auto;
  background: var(--bg-card);
  border: 1px solid var(--border);
  border-radius: 24px;
  overflow: hidden;
  transition: var(--transition);
}
.search-inner:focus-within { border-color: var(--primary); box-shadow: 0 0 0 3px rgba(26,107,60,0.15); }
.search-inner input {
  flex: 1;
  background: transparent;
  border: none;
  outline: none;
  padding: 10px 18px;
  color: var(--text-primary);
  font-size: 14px;
}
.search-inner input::placeholder { color: var(--text-muted); }
.search-inner button {
  background: var(--primary);
  border: none;
  color: #fff;
  padding: 10px 20px;
  cursor: pointer;
  font-size: 14px;
  transition: var(--transition);
}
.search-inner button:hover { background: var(--primary-light); }

/* ===== 容器 ===== */
.container { max-width: 1200px; margin: 0 auto; padding: 0 20px; }
.container-wide { max-width: 1400px; margin: 0 auto; padding: 0 20px; }

/* ===== 面包屑 ===== */
.breadcrumb {
  padding: 12px 0;
  font-size: 13px;
  color: var(--text-muted);
  border-bottom: 1px solid var(--border);
  background: var(--bg-section);
}
.breadcrumb a { color: var(--text-muted); }
.breadcrumb a:hover { color: var(--primary-light); }
.breadcrumb span { margin: 0 6px; }

/* ===== Hero Banner ===== */
.hero {
  position: relative;
  min-height: 560px;
  display: flex;
  align-items: center;
  overflow: hidden;
  background: var(--bg-dark);
}
.hero-bg {
  position: absolute;
  inset: 0;
  background-size: cover;
  background-position: center;
  filter: brightness(0.35);
  z-index: 0;
}
.hero-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(13,17,23,0.9) 0%, rgba(13,17,23,0.4) 60%, transparent 100%);
  z-index: 1;
}
.hero-content {
  position: relative;
  z-index: 2;
  max-width: 600px;
}
.hero-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: rgba(26,107,60,0.3);
  border: 1px solid var(--primary);
  color: var(--primary-light);
  padding: 5px 14px;
  border-radius: 20px;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 1px;
  margin-bottom: 16px;
}
.hero h1 {
  font-size: clamp(28px, 4vw, 52px);
  font-weight: 900;
  line-height: 1.2;
  margin-bottom: 16px;
  color: #fff;
}
.hero h1 em { color: var(--accent); font-style: normal; }
.hero p {
  font-size: 16px;
  color: #ccc;
  margin-bottom: 28px;
  line-height: 1.8;
}
.hero-btns { display: flex; gap: 12px; flex-wrap: wrap; }
.btn-primary {
  background: var(--primary);
  color: #fff;
  padding: 12px 28px;
  border-radius: 24px;
  font-size: 15px;
  font-weight: 600;
  border: none;
  cursor: pointer;
  transition: var(--transition);
  display: inline-flex;
  align-items: center;
  gap: 8px;
}
.btn-primary:hover { background: var(--primary-light); color: #fff; transform: translateY(-2px); box-shadow: var(--shadow-hover); }
.btn-secondary {
  background: transparent;
  color: var(--text-primary);
  padding: 12px 28px;
  border-radius: 24px;
  font-size: 15px;
  font-weight: 600;
  border: 1px solid rgba(255,255,255,0.3);
  cursor: pointer;
  transition: var(--transition);
  display: inline-flex;
  align-items: center;
  gap: 8px;
}
.btn-secondary:hover { border-color: var(--primary-light); color: var(--primary-light); }

.hero-stats {
  display: flex;
  gap: 32px;
  margin-top: 32px;
}
.hero-stat { text-align: left; }
.hero-stat .num { font-size: 28px; font-weight: 800; color: var(--accent); }
.hero-stat .label { font-size: 12px; color: var(--text-muted); margin-top: 2px; }

/* ===== 区块标题 ===== */
.section { padding: 60px 0; }
.section-alt { background: var(--bg-section); }
.section-title {
  text-align: center;
  margin-bottom: 40px;
}
.section-title h2 {
  font-size: clamp(22px, 3vw, 32px);
  font-weight: 800;
  color: var(--text-primary);
  margin-bottom: 10px;
}
.section-title h2 span { color: var(--primary-light); }
.section-title p { color: var(--text-secondary); font-size: 15px; max-width: 500px; margin: 0 auto; }
.section-title-line {
  width: 50px;
  height: 3px;
  background: var(--primary);
  margin: 12px auto 0;
  border-radius: 2px;
}

/* ===== 视频卡片 ===== */
.video-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
  gap: 20px;
}
.video-card {
  background: var(--bg-card);
  border-radius: var(--radius);
  overflow: hidden;
  border: 1px solid var(--border);
  transition: var(--transition);
  cursor: pointer;
}
.video-card:hover { transform: translateY(-4px); box-shadow: var(--shadow-hover); border-color: var(--primary); }
.video-thumb {
  position: relative;
  aspect-ratio: 16/9;
  overflow: hidden;
  background: #111;
}
.video-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.4s ease;
}
.video-card:hover .video-thumb img { transform: scale(1.05); }
.video-play-btn {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(0,0,0,0.3);
  opacity: 0;
  transition: var(--transition);
}
.video-card:hover .video-play-btn { opacity: 1; }
.play-icon {
  width: 54px;
  height: 54px;
  background: rgba(26,107,60,0.9);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 3px solid rgba(255,255,255,0.8);
  transform: scale(0.8);
  transition: transform 0.3s ease;
}
.video-card:hover .play-icon { transform: scale(1); }
.play-icon svg { width: 22px; height: 22px; fill: #fff; margin-left: 3px; }
.video-duration {
  position: absolute;
  bottom: 8px;
  right: 8px;
  background: rgba(0,0,0,0.8);
  color: #fff;
  font-size: 12px;
  padding: 2px 7px;
  border-radius: 4px;
}
.video-tag {
  position: absolute;
  top: 8px;
  left: 8px;
  background: var(--primary);
  color: #fff;
  font-size: 11px;
  padding: 2px 8px;
  border-radius: 4px;
  font-weight: 600;
}
.video-info { padding: 14px; }
.video-info h3 {
  font-size: 14px;
  font-weight: 600;
  color: var(--text-primary);
  margin-bottom: 8px;
  line-height: 1.5;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.video-meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-size: 12px;
  color: var(--text-muted);
}
.video-meta .views { display: flex; align-items: center; gap: 4px; }
.video-meta .likes { display: flex; align-items: center; gap: 4px; color: var(--accent); }

/* ===== 新闻卡片 ===== */
.news-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
  gap: 24px;
}
.news-card {
  background: var(--bg-card);
  border-radius: var(--radius);
  overflow: hidden;
  border: 1px solid var(--border);
  transition: var(--transition);
  display: flex;
  flex-direction: column;
}
.news-card:hover { transform: translateY(-4px); box-shadow: var(--shadow-hover); border-color: var(--primary); }
.news-img {
  aspect-ratio: 16/9;
  overflow: hidden;
}
.news-img img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.4s; }
.news-card:hover .news-img img { transform: scale(1.05); }
.news-body { padding: 18px; flex: 1; display: flex; flex-direction: column; }
.news-cat {
  display: inline-block;
  background: rgba(26,107,60,0.2);
  color: var(--primary-light);
  font-size: 11px;
  padding: 3px 10px;
  border-radius: 12px;
  margin-bottom: 10px;
  border: 1px solid rgba(26,107,60,0.3);
}
.news-body h3 { font-size: 16px; font-weight: 700; margin-bottom: 10px; line-height: 1.5; color: var(--text-primary); }
.news-body p { font-size: 13px; color: var(--text-secondary); line-height: 1.7; flex: 1; }
.news-footer {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 14px;
  padding-top: 12px;
  border-top: 1px solid var(--border);
  font-size: 12px;
  color: var(--text-muted);
}
.news-footer a { color: var(--primary-light); font-size: 13px; font-weight: 600; }
.news-footer a:hover { color: var(--accent); }

/* ===== 专家卡片 ===== */
.expert-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
  gap: 24px;
}
.expert-card {
  background: var(--bg-card);
  border-radius: var(--radius);
  padding: 24px;
  border: 1px solid var(--border);
  text-align: center;
  transition: var(--transition);
}
.expert-card:hover { border-color: var(--primary); box-shadow: var(--shadow-hover); }
.expert-avatar {
  width: 90px;
  height: 90px;
  border-radius: 50%;
  margin: 0 auto 14px;
  overflow: hidden;
  border: 3px solid var(--primary);
  box-shadow: 0 0 20px rgba(26,107,60,0.3);
}
.expert-avatar img { width: 100%; height: 100%; object-fit: cover; }
.expert-card h3 { font-size: 17px; font-weight: 700; margin-bottom: 4px; }
.expert-card .role { font-size: 13px; color: var(--primary-light); margin-bottom: 10px; }
.expert-card p { font-size: 13px; color: var(--text-secondary); line-height: 1.6; margin-bottom: 14px; }
.expert-tags { display: flex; flex-wrap: wrap; gap: 6px; justify-content: center; margin-bottom: 14px; }
.expert-tag {
  background: rgba(26,107,60,0.15);
  color: var(--primary-light);
  font-size: 11px;
  padding: 3px 10px;
  border-radius: 12px;
  border: 1px solid rgba(26,107,60,0.2);
}
.expert-btns { display: flex; gap: 8px; justify-content: center; }
.btn-sm {
  padding: 6px 14px;
  border-radius: 16px;
  font-size: 12px;
  font-weight: 600;
  cursor: pointer;
  transition: var(--transition);
  border: none;
}
.btn-sm-primary { background: var(--primary); color: #fff; }
.btn-sm-primary:hover { background: var(--primary-light); }
.btn-sm-outline { background: transparent; border: 1px solid var(--border); color: var(--text-secondary); }
.btn-sm-outline:hover { border-color: var(--primary); color: var(--primary-light); }

/* ===== 功能模块 ===== */
.features-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
  gap: 20px;
}
.feature-card {
  background: var(--bg-card);
  border-radius: var(--radius);
  padding: 24px 20px;
  border: 1px solid var(--border);
  text-align: center;
  transition: var(--transition);
}
.feature-card:hover { border-color: var(--primary); transform: translateY(-3px); box-shadow: var(--shadow-hover); }
.feature-icon {
  width: 56px;
  height: 56px;
  background: rgba(26,107,60,0.15);
  border-radius: 14px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 14px;
  font-size: 26px;
  border: 1px solid rgba(26,107,60,0.2);
}
.feature-card h3 { font-size: 15px; font-weight: 700; margin-bottom: 8px; }
.feature-card p { font-size: 13px; color: var(--text-secondary); line-height: 1.6; }

/* ===== 评价 ===== */
.reviews-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap: 20px;
}
.review-card {
  background: var(--bg-card);
  border-radius: var(--radius);
  padding: 20px;
  border: 1px solid var(--border);
  transition: var(--transition);
}
.review-card:hover { border-color: var(--primary); }
.review-stars { color: var(--accent); font-size: 16px; margin-bottom: 10px; }
.review-text { font-size: 14px; color: var(--text-secondary); line-height: 1.7; margin-bottom: 14px; }
.review-user { display: flex; align-items: center; gap: 10px; }
.review-avatar {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: var(--primary);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 14px;
  font-weight: 700;
  color: #fff;
  flex-shrink: 0;
}
.review-user-info .name { font-size: 14px; font-weight: 600; }
.review-user-info .date { font-size: 12px; color: var(--text-muted); }

/* ===== FAQ ===== */
.faq-list { max-width: 800px; margin: 0 auto; }
.faq-item {
  background: var(--bg-card);
  border-radius: var(--radius-sm);
  border: 1px solid var(--border);
  margin-bottom: 12px;
  overflow: hidden;
}
.faq-q {
  padding: 16px 20px;
  font-size: 15px;
  font-weight: 600;
  cursor: pointer;
  display: flex;
  justify-content: space-between;
  align-items: center;
  transition: var(--transition);
  color: var(--text-primary);
}
.faq-q:hover { background: rgba(26,107,60,0.1); color: var(--primary-light); }
.faq-q.open { color: var(--primary-light); background: rgba(26,107,60,0.1); }
.faq-q span { font-size: 18px; transition: transform 0.3s; }
.faq-q.open span { transform: rotate(45deg); }
.faq-a {
  display: none;
  padding: 0 20px 16px;
  font-size: 14px;
  color: var(--text-secondary);
  line-height: 1.8;
  border-top: 1px solid var(--border);
}
.faq-a.open { display: block; }

/* ===== 合作品牌 ===== */
.partners-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
  gap: 16px;
}
.partner-item {
  background: var(--bg-card);
  border: 1px solid var(--border);
  border-radius: var(--radius-sm);
  padding: 16px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 13px;
  font-weight: 600;
  color: var(--text-muted);
  transition: var(--transition);
  min-height: 64px;
}
.partner-item:hover { border-color: var(--primary); color: var(--primary-light); background: rgba(26,107,60,0.05); }

/* ===== 联系 ===== */
.contact-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 40px;
  align-items: start;
}
.contact-info h3 { font-size: 20px; font-weight: 700; margin-bottom: 20px; }
.contact-item {
  display: flex;
  align-items: flex-start;
  gap: 14px;
  margin-bottom: 20px;
}
.contact-icon {
  width: 44px;
  height: 44px;
  background: rgba(26,107,60,0.15);
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 20px;
  flex-shrink: 0;
  border: 1px solid rgba(26,107,60,0.2);
}
.contact-item .label { font-size: 12px; color: var(--text-muted); margin-bottom: 3px; }
.contact-item .value { font-size: 15px; font-weight: 600; color: var(--text-primary); }
.qr-codes { display: flex; gap: 20px; margin-top: 24px; }
.qr-item { text-align: center; }
.qr-box {
  width: 100px;
  height: 100px;
  background: var(--bg-card);
  border: 2px solid var(--border);
  border-radius: var(--radius-sm);
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 8px;
  font-size: 11px;
  color: var(--text-muted);
  overflow: hidden;
}
.qr-box svg { width: 80px; height: 80px; }
.qr-item p { font-size: 12px; color: var(--text-muted); }

/* ===== 社交分享 ===== */
.share-bar {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
  padding: 16px 0;
}
.share-label { font-size: 14px; color: var(--text-muted); }
.share-btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 7px 14px;
  border-radius: 20px;
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
  border: none;
  transition: var(--transition);
}
.share-wechat { background: #07c160; color: #fff; }
.share-weibo { background: #e6162d; color: #fff; }
.share-douyin { background: #000; color: #fff; border: 1px solid #333; }
.share-bilibili { background: #00a1d6; color: #fff; }
.share-btn:hover { opacity: 0.85; transform: translateY(-1px); }

/* ===== 底部 ===== */
footer {
  background: #080d12;
  border-top: 1px solid var(--border);
  padding: 50px 0 20px;
}
.footer-grid {
  display: grid;
  grid-template-columns: 2fr 1fr 1fr 1fr;
  gap: 40px;
  margin-bottom: 40px;
}
.footer-brand p { font-size: 13px; color: var(--text-muted); line-height: 1.8; margin-top: 14px; }
.footer-col h4 { font-size: 14px; font-weight: 700; color: var(--text-primary); margin-bottom: 16px; }
.footer-col ul { list-style: none; }
.footer-col ul li { margin-bottom: 10px; }
.footer-col ul li a { font-size: 13px; color: var(--text-muted); }
.footer-col ul li a:hover { color: var(--primary-light); }
.footer-bottom {
  border-top: 1px solid var(--border);
  padding-top: 20px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px;
  font-size: 12px;
  color: var(--text-muted);
}
.footer-bottom a { color: var(--text-muted); }
.footer-bottom a:hover { color: var(--primary-light); }

/* ===== 标签 ===== */
.tag {
  display: inline-block;
  background: rgba(26,107,60,0.15);
  color: var(--primary-light);
  font-size: 12px;
  padding: 3px 10px;
  border-radius: 12px;
  border: 1px solid rgba(26,107,60,0.2);
  margin: 3px;
}

/* ===== 内页通用 ===== */
.page-hero {
  background: var(--bg-section);
  padding: 40px 0;
  border-bottom: 1px solid var(--border);
  position: relative;
  overflow: hidden;
}
.page-hero::before {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse at 30% 50%, rgba(26,107,60,0.12) 0%, transparent 70%);
}
.page-hero .container { position: relative; z-index: 1; }
.page-hero h1 { font-size: clamp(24px, 3vw, 36px); font-weight: 800; margin-bottom: 10px; }
.page-hero p { font-size: 15px; color: var(--text-secondary); max-width: 600px; }

/* ===== 侧边栏布局 ===== */
.content-sidebar {
  display: grid;
  grid-template-columns: 1fr 300px;
  gap: 30px;
  align-items: start;
}
.sidebar-widget {
  background: var(--bg-card);
  border-radius: var(--radius);
  padding: 20px;
  border: 1px solid var(--border);
  margin-bottom: 20px;
}
.sidebar-widget h4 {
  font-size: 15px;
  font-weight: 700;
  margin-bottom: 14px;
  padding-bottom: 10px;
  border-bottom: 1px solid var(--border);
  color: var(--text-primary);
}
.sidebar-list { list-style: none; }
.sidebar-list li {
  padding: 8px 0;
  border-bottom: 1px solid var(--border);
  font-size: 13px;
}
.sidebar-list li:last-child { border-bottom: none; }
.sidebar-list li a { color: var(--text-secondary); display: flex; justify-content: space-between; }
.sidebar-list li a:hover { color: var(--primary-light); }
.sidebar-list li span { color: var(--text-muted); font-size: 12px; }

/* ===== 文章详情 ===== */
.article-content {
  background: var(--bg-card);
  border-radius: var(--radius);
  padding: 30px;
  border: 1px solid var(--border);
}
.article-content h1 { font-size: 24px; font-weight: 800; margin-bottom: 16px; line-height: 1.4; }
.article-meta {
  display: flex;
  gap: 16px;
  font-size: 13px;
  color: var(--text-muted);
  margin-bottom: 20px;
  padding-bottom: 16px;
  border-bottom: 1px solid var(--border);
  flex-wrap: wrap;
}
.article-body { font-size: 15px; line-height: 1.9; color: var(--text-secondary); }
.article-body h2 { font-size: 20px; color: var(--text-primary); margin: 24px 0 12px; }
.article-body h3 { font-size: 17px; color: var(--text-primary); margin: 20px 0 10px; }
.article-body p { margin-bottom: 16px; }
.article-body img { border-radius: var(--radius-sm); margin: 20px 0; width: 100%; }

/* ===== 评论区 ===== */
.comments-section {
  background: var(--bg-card);
  border-radius: var(--radius);
  padding: 24px;
  border: 1px solid var(--border);
  margin-top: 20px;
}
.comments-section h3 { font-size: 18px; font-weight: 700; margin-bottom: 20px; }
.comment-item {
  display: flex;
  gap: 14px;
  padding: 16px 0;
  border-bottom: 1px solid var(--border);
}
.comment-item:last-child { border-bottom: none; }
.comment-avatar {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: var(--primary);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 14px;
  font-weight: 700;
  color: #fff;
  flex-shrink: 0;
}
.comment-body .user { font-size: 14px; font-weight: 600; margin-bottom: 4px; }
.comment-body .text { font-size: 14px; color: var(--text-secondary); line-height: 1.7; }
.comment-body .date { font-size: 12px; color: var(--text-muted); margin-top: 6px; }
.comment-likes { font-size: 12px; color: var(--text-muted); margin-top: 6px; }

/* ===== 直播卡片 ===== */
.live-badge {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  background: var(--red);
  color: #fff;
  font-size: 11px;
  font-weight: 700;
  padding: 2px 8px;
  border-radius: 4px;
  letter-spacing: 1px;
}
.live-dot {
  width: 6px;
  height: 6px;
  background: #fff;
  border-radius: 50%;
  animation: blink 1s infinite;
}
@keyframes blink { 0%, 100% { opacity: 1; } 50% { opacity: 0; } }

/* ===== 统计数字 ===== */
.stats-row {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
}
.stat-card {
  background: var(--bg-card);
  border-radius: var(--radius);
  padding: 24px;
  text-align: center;
  border: 1px solid var(--border);
  transition: var(--transition);
}
.stat-card:hover { border-color: var(--primary); }
.stat-card .num { font-size: 32px; font-weight: 900; color: var(--accent); }
.stat-card .unit { font-size: 14px; color: var(--accent); }
.stat-card .label { font-size: 13px; color: var(--text-muted); margin-top: 6px; }

/* ===== 分页 ===== */
.pagination {
  display: flex;
  justify-content: center;
  gap: 8px;
  margin-top: 40px;
  flex-wrap: wrap;
}
.page-btn {
  width: 36px;
  height: 36px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: var(--radius-sm);
  font-size: 14px;
  background: var(--bg-card);
  border: 1px solid var(--border);
  color: var(--text-secondary);
  cursor: pointer;
  transition: var(--transition);
}
.page-btn:hover, .page-btn.active { background: var(--primary); border-color: var(--primary); color: #fff; }

/* ===== 手机汉堡菜单 ===== */
.hamburger {
  display: none;
  flex-direction: column;
  gap: 5px;
  cursor: pointer;
  padding: 4px;
}
.hamburger span {
  display: block;
  width: 24px;
  height: 2px;
  background: var(--text-primary);
  border-radius: 2px;
  transition: var(--transition);
}

/* ===== 响应式 ===== */
@media (max-width: 1024px) {
  .footer-grid { grid-template-columns: 1fr 1fr; }
  .contact-grid { grid-template-columns: 1fr; }
  .content-sidebar { grid-template-columns: 1fr; }
  .stats-row { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 768px) {
  nav { display: none; position: absolute; top: 100%; left: 0; right: 0; background: var(--bg-dark); border-top: 1px solid var(--border); flex-direction: column; padding: 16px; gap: 4px; z-index: 999; }
  nav.open { display: flex; }
  nav a { padding: 10px 16px; border-radius: var(--radius-sm); }
  .hamburger { display: flex; }
  .header-inner { position: relative; }
  .hero { min-height: 400px; }
  .hero h1 { font-size: 26px; }
  .hero-stats { gap: 20px; }
  .footer-grid { grid-template-columns: 1fr; gap: 24px; }
  .video-grid { grid-template-columns: repeat(2, 1fr); }
  .news-grid { grid-template-columns: 1fr; }
  .expert-grid { grid-template-columns: repeat(2, 1fr); }
  .features-grid { grid-template-columns: repeat(2, 1fr); }
  .reviews-grid { grid-template-columns: 1fr; }
  .stats-row { grid-template-columns: repeat(2, 1fr); }
  .section { padding: 40px 0; }
  .header-actions .btn-login { display: none; }
}

@media (max-width: 480px) {
  .video-grid { grid-template-columns: 1fr; }
  .expert-grid { grid-template-columns: 1fr; }
  .features-grid { grid-template-columns: 1fr; }
  .hero-btns { flex-direction: column; }
  .stats-row { grid-template-columns: repeat(2, 1fr); }
  .hero-stats { flex-wrap: wrap; }
}

/* ===== 懒加载 ===== */
img[data-src] { opacity: 0; transition: opacity 0.4s; }
img.loaded { opacity: 1; }

/* ===== 加载动画 ===== */
@keyframes fadeInUp { from { opacity: 0; transform: translateY(20px); } to { opacity: 1; transform: translateY(0); } }
.fade-in { animation: fadeInUp 0.6s ease forwards; }

/* ===== 高亮文字 ===== */
.highlight { color: var(--primary-light); font-weight: 700; }
.accent { color: var(--accent); }

/* ===== 分隔线 ===== */
.divider { height: 1px; background: var(--border); margin: 30px 0; }

/* ===== 提示标签 ===== */
.badge {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 3px 10px;
  border-radius: 12px;
  font-size: 11px;
  font-weight: 700;
}
.badge-green { background: rgba(26,107,60,0.2); color: var(--primary-light); border: 1px solid rgba(26,107,60,0.3); }
.badge-gold { background: rgba(240,165,0,0.15); color: var(--accent); border: 1px solid rgba(240,165,0,0.2); }
.badge-red { background: rgba(229,62,62,0.15); color: #fc8181; border: 1px solid rgba(229,62,62,0.2); }

/* ===== 视频详情页 ===== */
.video-player-wrap {
  background: #000;
  border-radius: var(--radius);
  overflow: hidden;
  aspect-ratio: 16/9;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  cursor: pointer;
}
.video-player-wrap img { width: 100%; height: 100%; object-fit: cover; opacity: 0.7; }
.video-player-overlay {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  gap: 12px;
}
.big-play-btn {
  width: 80px;
  height: 80px;
  background: rgba(26,107,60,0.9);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 4px solid rgba(255,255,255,0.8);
  transition: transform 0.3s;
}
.big-play-btn:hover { transform: scale(1.1); }
.big-play-btn svg { width: 36px; height: 36px; fill: #fff; margin-left: 5px; }

/* ===== 工具页 ===== */
.tools-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
  gap: 20px;
}
.tool-card {
  background: var(--bg-card);
  border-radius: var(--radius);
  padding: 24px;
  border: 1px solid var(--border);
  text-align: center;
  transition: var(--transition);
  cursor: pointer;
}
.tool-card:hover { border-color: var(--primary); transform: translateY(-3px); box-shadow: var(--shadow-hover); }
.tool-icon { font-size: 40px; margin-bottom: 12px; }
.tool-card h3 { font-size: 16px; font-weight: 700; margin-bottom: 8px; }
.tool-card p { font-size: 13px; color: var(--text-secondary); }
.tool-card .tool-badge { margin-top: 12px; }

/* ===== 表格 ===== */
.data-table { width: 100%; border-collapse: collapse; font-size: 14px; }
.data-table th { background: rgba(26,107,60,0.15); color: var(--primary-light); padding: 12px 16px; text-align: left; font-weight: 600; border-bottom: 1px solid var(--border); }
.data-table td { padding: 12px 16px; border-bottom: 1px solid var(--border); color: var(--text-secondary); }
.data-table tr:hover td { background: rgba(26,107,60,0.05); }

/* ===== 进度条 ===== */
.progress-bar { background: var(--border); border-radius: 4px; height: 6px; overflow: hidden; margin: 6px 0; }
.progress-fill { height: 100%; background: var(--primary); border-radius: 4px; transition: width 1s ease; }

:root{--bg-dark:#fff8f1;--bg-card:#ffffff;--bg-section:#fff0e6;--text-primary:#20243a;--text-secondary:#697084;--text-muted:#8c91a0;--border:#eaded4;--primary:#ef6c4d;--primary-dark:#c94f3b;--primary-light:#ef6c4d;--accent:#e9aa39;--gradient-main:linear-gradient(135deg,#ef6c4d,#f2b950);--gradient-card:linear-gradient(180deg,#fff,#fff7f1);--shadow:0 10px 30px rgba(73,45,33,.10);--shadow-hover:0 18px 42px rgba(239,108,77,.18)}
body{background:var(--bg-dark);color:var(--text-primary)}a{color:var(--primary-dark)}a:hover{color:var(--primary)}.top-bar{background:#242942;color:#e7e9f2}.top-bar-links a{color:#f1d8ca}header{background:rgba(255,248,241,.96);border-color:var(--border);box-shadow:0 4px 20px rgba(73,45,33,.08)}.logo-image{width:43px;height:43px}.logo-icon{background:var(--gradient-main);border-color:#f3b34b;box-shadow:0 0 18px rgba(239,108,77,.28)}.logo-text span:first-child{color:var(--text-primary)}.logo-text span:last-child{color:var(--primary)}nav a{color:var(--text-secondary)}nav a:hover,nav a.active{color:var(--primary-dark);background:#ffe3d5}.btn-join{background:var(--primary)}.btn-join:hover{background:var(--primary-dark)}.btn-login{border-color:#efc9bb;color:var(--primary-dark)}.search-bar,.breadcrumb,.section-alt{background:var(--bg-section);border-color:var(--border)}.search-inner{background:#fff;border-color:#efd9cd}.search-inner input{color:var(--text-primary)}.search-inner button{background:var(--navy)}.hero{background:#242942}.hero-bg{filter:brightness(.72) saturate(1.08)}.hero-overlay{background:linear-gradient(90deg,rgba(28,31,53,.88),rgba(28,31,53,.42) 60%,transparent)}.hero-badge{background:rgba(239,108,77,.24);border-color:#ef8d75;color:#ffd2c3}.hero h1{color:#fff}.hero h1 em{color:#ffc873}.hero p{color:#f5edf0}.btn-primary{background:var(--primary)}.btn-primary:hover{background:var(--primary-dark)}.btn-secondary{border-color:#e7b7a7;color:var(--primary-dark);background:#fff7f1}.btn-secondary:hover{border-color:var(--primary);color:var(--primary)}.section-title h2{color:var(--text-primary)}.section-title h2 span{color:var(--primary)}.section-title p,.feature-card p,.news-body p,.review-text,.page-hero p,.article-body,.sidebar-list li a,.contact-item .label{color:var(--text-secondary)}.feature-card,.video-card,.news-card,.expert-card,.review-card,.sidebar-widget,.article-content,.comments-section,.stat-card,.tool-card{background:var(--bg-card);border-color:var(--border);box-shadow:0 8px 24px rgba(73,45,33,.04)}.feature-card:hover,.video-card:hover,.expert-card:hover,.news-card:hover,.tool-card:hover{border-color:#e9a28e;box-shadow:var(--shadow-hover)}.feature-icon,.contact-icon{background:#fff0e6;border-color:#f0c6b6}.video-play-btn{background:rgba(36,41,66,.34)}.play-icon,.big-play-btn{background:rgba(239,108,77,.92)}.video-tag,.news-cat{background:var(--primary);color:#fff}.video-info h3,.news-body h3,.expert-card h3,.feature-card h3{color:var(--text-primary)}.video-meta{color:var(--text-muted)}.news-footer,.article-meta,.footer-bottom{border-color:var(--border);color:var(--text-muted)}.expert-avatar{border-color:var(--primary);box-shadow:0 0 20px rgba(239,108,77,.22)}.expert-role,.expert-card .role,.highlight{color:var(--primary-dark)}.expert-tag,.tag{background:#fff0e6;color:var(--primary-dark);border-color:#f0c6b6}.review-stars,.accent{color:var(--gold)}.review-avatar,.comment-avatar{background:var(--primary)}.faq-item,.faq-q,.faq-a{border-color:var(--border);background:var(--bg-card);color:var(--text-primary)}.faq-q:hover,.faq-q.open{background:#fff0e6;color:var(--primary-dark)}.partner-item{background:#fff;border-color:var(--border);color:var(--text-secondary)}.partner-item:hover{border-color:var(--primary);color:var(--primary-dark);background:#fff0e6}.contact-item .value{color:var(--text-primary)}.qr-box{background:#fff;border-color:var(--border)}footer{background:#242942;border-color:#3f4663;color:#f3eef0}.footer-brand p,.footer-col ul li a,.footer-bottom{color:#c7cada}.footer-col h4{color:#fff}.footer-col ul li a:hover{color:#ffb28e}.page-hero{background:var(--bg-section);border-color:var(--border)}.page-hero::before{background:radial-gradient(ellipse at 30% 50%,rgba(239,108,77,.12),transparent 70%)}.article-content h1,.article-body h2,.article-body h3,.comments-section h3{color:var(--text-primary)}.comment-body .text{color:var(--text-secondary)}.progress-bar{background:var(--border)}.progress-fill{background:var(--primary)}.fp-noise{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.btn-sm-primary{background:var(--primary)}
/* page-specific light live-video extensions */
.logo{color:var(--text-primary)}.btn-small{padding:7px 13px;font-size:12px}.live-layout,.about-grid,.film-feature,.ai-page-grid,.community-hero,.contest-lead,.campus-grid,.contact-grid,.join-split{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(260px,.8fr);gap:34px;align-items:start}.live-stage,.image-card,.film-feature>div,.ai-board,.community-hero,.contest-lead,.campus-grid,.contact-card{background:#fff;border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow)}.stage-image{position:relative;aspect-ratio:16/9}.stage-image img,.film-feature img,.community-hero>img,.contest-lead>img,.campus-grid>img,.contact-photo,.image-card img{width:100%;height:100%;object-fit:cover}.live-badge{position:absolute;left:16px;top:16px;background:#ef6c4d;color:#fff;border-radius:999px;padding:5px 10px;font-size:11px;font-weight:800}.stage-play{position:absolute;inset:0;margin:auto;width:70px;height:70px;border-radius:50%;border:3px solid #fff;background:#ef6c4d;color:#fff;font-size:25px;cursor:pointer}.stage-copy{padding:24px}.stage-copy h2,.film-feature h2,.community-copy h2,.contest-lead h2,.campus-grid h2,.contact-card h2{font-size:28px;line-height:1.3;margin:12px 0}.stage-copy p,.film-feature p,.community-copy p,.contest-lead p,.campus-grid p,.contact-card p{color:var(--text-secondary);font-size:14px}.sidebar-stack{display:flex;flex-direction:column;gap:16px}.side-panel{background:#fff;border:1px solid var(--border);border-radius:var(--radius-sm);padding:20px}.side-panel h3{font-size:16px;margin-bottom:12px}.side-panel a{display:flex;justify-content:space-between;gap:10px;border-bottom:1px solid var(--border);padding:9px 0;font-size:13px;color:var(--text-secondary)}.side-panel a:last-child{border-bottom:0}.side-panel p{font-size:13px;color:var(--text-secondary)}.feature-media{position:relative}.feature-media img{width:100%;border-radius:var(--radius)}.floating-label{position:absolute;left:18px;bottom:18px;background:rgba(36,41,66,.86);color:#fff;padding:10px 13px;border-radius:10px;display:flex;flex-direction:column;font-size:11px}.floating-label b{color:#ffc873}.section-dark .feature-copy p,.section-dark .feature-copy{color:#f1edf0}.feature-copy h2{font-size:32px;line-height:1.3;margin:12px 0 16px}.check-list{display:flex;flex-direction:column;gap:9px;margin:20px 0;color:var(--primary-dark);font-weight:700;font-size:13px}.section-dark .check-list{color:#ffc873}.expert-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.expert-card{overflow:hidden;border-radius:var(--radius);background:#fff}.expert-card>img{width:100%;height:210px;object-fit:cover}.expert-content{padding:18px}.expert-content h3{font-size:18px;margin:3px 0 8px}.expert-content p{font-size:13px;color:var(--text-secondary);line-height:1.7;min-height:66px}.expert-content small{color:var(--text-muted);display:block;margin:12px 0}.tag-row{display:flex;flex-wrap:wrap;gap:5px}.expert-actions{display:flex;gap:7px}.partner-wall{display:grid;grid-template-columns:repeat(5,1fr);gap:13px}.partner-logo{min-height:72px;background:#fff;border:1px solid var(--border);border-radius:12px;display:flex;align-items:center;justify-content:center;gap:8px;color:var(--text-secondary);font-size:13px}.partner-logo span{width:28px;height:28px;display:grid;place-items:center;border-radius:9px;background:#ffe1d3;color:var(--primary-dark);font-size:14px;font-weight:800}.partner-logo:hover{border-color:var(--primary);color:var(--primary-dark)}.app-band{display:grid;grid-template-columns:1fr .8fr;align-items:center;gap:30px}.app-band h2{font-size:34px;line-height:1.25;margin:10px 0 14px}.app-band p{max-width:580px;color:var(--text-secondary);font-size:14px}.phone-showcase{position:relative;display:flex;justify-content:center}.phone-showcase img{height:390px;width:auto;position:relative;z-index:1;filter:drop-shadow(0 24px 35px rgba(37,31,53,.25))}.phone-glow{position:absolute;width:220px;height:220px;border-radius:50%;background:rgba(239,108,77,.23);filter:blur(30px);top:75px}.review-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.review-card{padding:22px;border-radius:var(--radius)}.review-card p{color:var(--text-secondary);font-size:14px;line-height:1.8;min-height:82px}.review-user{display:grid;grid-template-columns:34px 1fr;column-gap:9px;align-items:center;margin-top:16px}.review-user>span{grid-row:span 2;width:34px;height:34px;display:grid;place-items:center;border-radius:50%;background:#ffe1d3;color:var(--primary-dark);font-weight:800}.review-user b{font-size:12px}.review-user small{font-size:11px;color:var(--text-muted)}.narrow{max-width:900px}.contact-cta{background:var(--navy);color:#fff}.cta-inner{display:flex;justify-content:space-between;align-items:center;gap:25px}.cta-inner p{color:#c7cada}.cta-actions{display:flex;gap:10px;flex-wrap:wrap}.cta-actions .btn-ghost{background:transparent;color:#fff;border-color:#67708d}.steps-grid,.workflow-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.step-card,.workflow-card{padding:23px;border:1px solid var(--border);border-radius:var(--radius);background:#fff}.step-card>b,.workflow-card>b{font-size:36px;color:#efc8b8;line-height:1}.step-card h3,.workflow-card h3{margin:15px 0 6px}.step-card p,.workflow-card p{font-size:13px;color:var(--text-secondary)}.ai-grid{display:grid;grid-template-columns:1.3fr .7fr;gap:20px}.ai-main{background:#fff;border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.ai-main img{width:100%;aspect-ratio:16/7;object-fit:cover}.ai-main>div{padding:20px}.ai-main p{font-size:13px;color:var(--text-secondary);margin:5px 0 10px}.ai-points{display:flex;flex-direction:column;gap:12px}.ai-points>div{background:#fff;border:1px solid var(--border);border-radius:14px;padding:16px;display:grid;grid-template-columns:38px 1fr;column-gap:12px}.ai-points b{font-size:24px;color:var(--primary)}.ai-points span{font-weight:800}.ai-points small{grid-column:2;color:var(--text-muted)}.progress{height:5px;background:#f1e6df;border-radius:6px;margin-top:15px}.progress i{height:100%;display:block;background:var(--primary);border-radius:6px}.board-caption{padding:14px 18px;display:flex;justify-content:space-between;color:var(--muted);font-size:12px}.board-caption b{color:var(--primary-dark)}.topic-pills,.contest-meta,.download-row,.qr-row,.contact-links{display:flex;gap:9px;flex-wrap:wrap;margin:18px 0}.topic-pills span,.contest-meta span,.campus-note{padding:7px 11px;border-radius:99px;background:#fff0e6;color:var(--primary-dark);font-size:12px}.campus-note{display:flex;justify-content:space-between;border-radius:10px;margin:10px 0}.campus-note b{color:var(--ink)}.contact-card{padding:26px}.contact-line{display:grid;grid-template-columns:90px 1fr;gap:10px;padding:12px 0;border-bottom:1px solid var(--border);font-size:13px}.contact-line:last-child{border-bottom:0}.contact-line b{color:var(--primary-dark)}.image-card figcaption,.image-caption{padding:10px 14px;color:var(--text-muted);font-size:11px}.contact-photo{border-radius:var(--radius)}.contact-bottom{display:flex;justify-content:space-between;gap:30px;align-items:center}.contact-links a{padding:12px 16px;background:#fff;border:1px solid var(--border);border-radius:12px;font-size:13px}.qr-panel{display:flex;gap:18px}.qr-panel div{display:flex;flex-direction:column;align-items:center;gap:7px;font-size:11px;color:var(--muted)}.qr-panel img,.qr-row img{width:108px;height:108px;border-radius:8px;border:5px solid #fff;box-shadow:0 7px 20px rgba(75,47,38,.1)}.qr-row{align-items:center;color:var(--muted);font-size:12px}.download-row{align-items:center;color:var(--muted);font-size:12px}.news-list,.qa-list{display:flex;flex-direction:column;gap:16px}.news-card{display:flex;overflow:hidden;border-radius:var(--radius);background:#fff}.news-card>img{width:230px;min-height:170px;object-fit:cover}.news-content{padding:19px;display:flex;flex-direction:column;flex:1}.news-content h2{font-size:18px;line-height:1.45;margin:6px 0}.news-content p{font-size:13px;line-height:1.7;color:var(--text-secondary);flex:1}.news-meta{border-top:1px solid var(--border);padding-top:10px;margin-top:12px;display:flex;justify-content:space-between;color:var(--text-muted);font-size:11px}.article-cover{width:100%;max-height:420px;object-fit:cover;border-radius:12px;margin:10px 0 20px}.article-body p{margin:0 0 17px;line-height:2}.article-body h2{font-size:23px;margin-bottom:13px}.article-body h3{font-size:18px;margin:22px 0 10px}.share-bar{display:flex;flex-wrap:wrap;gap:8px;align-items:center;border-top:1px solid var(--border);padding-top:17px;margin-top:20px;font-size:12px}.share-btn{border:0;border-radius:999px;padding:7px 12px;background:#fff0e6;color:var(--primary-dark);cursor:pointer}.comments-section{margin-top:18px;padding:23px;border-radius:var(--radius)}.comments-section h2{font-size:19px;margin-bottom:8px}.comment-item{display:flex;gap:12px;border-bottom:1px solid var(--border);padding:15px 0}.comment-item:last-child{border-bottom:0}.comment-avatar{width:36px;height:36px;display:grid;place-items:center;border-radius:50%;color:#fff;font-weight:800;flex:none}.comment-item b{font-size:13px}.comment-item p{font-size:13px;color:var(--text-secondary);margin:2px 0}.comment-item small{color:var(--text-muted);font-size:11px}.qa-grid{display:grid;grid-template-columns:minmax(0,1.6fr) 280px;gap:30px}.qa-card{display:grid;grid-template-columns:190px 1fr;gap:18px;padding:16px;background:#fff;border:1px solid var(--border);border-radius:var(--radius)}.qa-card>img{width:190px;height:140px;object-fit:cover;border-radius:10px}.qa-card h2{font-size:17px;line-height:1.45;margin:5px 0}.qa-card p{font-size:13px;color:var(--text-secondary);line-height:1.7}.video-modal{position:fixed;inset:0;background:rgba(25,28,46,.78);z-index:99;display:grid;place-items:center;padding:20px}.video-modal-card{width:min(680px,92vw);background:#fff8f1;border-radius:20px;padding:40px;text-align:center;position:relative;box-shadow:0 30px 90px rgba(0,0,0,.28)}.video-close{position:absolute;right:16px;top:12px;border:0;background:transparent;font-size:28px;color:var(--muted);cursor:pointer}.modal-play{width:80px;height:80px;margin:0 auto 18px;border-radius:50%;display:grid;place-items:center;background:var(--primary);color:#fff;font-size:30px}.video-modal-card h3{font-size:20px}.video-modal-card p{color:var(--muted);font-size:13px;margin-top:6px}
@media(max-width:1024px){.site-header nav a{padding:8px 7px;font-size:12px}.video-grid{grid-template-columns:repeat(3,1fr)}.expert-grid{grid-template-columns:repeat(2,1fr)}.intro-grid,.app-band{grid-template-columns:1fr 1fr}.partner-wall{grid-template-columns:repeat(4,1fr)}}
@media(max-width:768px){.top-bar-inner,.top-bar-links{display:block}.top-bar-links{margin-top:4px}.top-bar-links a{margin-right:12px}.header-inner{min-height:62px}.site-header nav{display:none;position:absolute;top:100%;left:0;right:0;background:#fff8f1;border-bottom:1px solid var(--border);padding:12px;flex-direction:column;align-items:stretch}.site-header nav.open{display:flex}.site-header nav a{padding:10px 13px}.hamburger{display:flex!important;flex-direction:column;gap:4px;background:none;border:0;padding:6px}.hamburger span,.hamburger i{width:23px;height:2px;background:var(--ink);display:block}.header-actions .btn-ghost{display:none}.hero{min-height:560px}.hero h1{font-size:42px}.hero-stats{gap:18px}.section{padding:52px 0}.intro-grid,.app-band,.live-layout,.about-grid,.film-feature,.ai-page-grid,.community-hero,.contest-lead,.campus-grid,.contact-grid,.join-split,.qa-grid{grid-template-columns:1fr}.service-grid,.review-grid{grid-template-columns:repeat(2,1fr)}.video-grid{grid-template-columns:repeat(2,1fr)}.steps-grid,.workflow-grid{grid-template-columns:repeat(2,1fr)}.partner-wall{grid-template-columns:repeat(3,1fr)}.cta-inner,.contact-bottom{display:block}.cta-actions{margin-top:20px}.news-card{display:block}.news-card>img{width:100%;height:190px}.qa-card{grid-template-columns:120px 1fr}.qa-card>img{width:120px;height:110px}}
@media(max-width:480px){.container{padding:0 16px}.logo-text small{display:none}.header-actions .btn-join{display:none}.hero h1{font-size:35px}.hero p{font-size:14px}.video-grid,.service-grid,.review-grid,.expert-grid{grid-template-columns:1fr}.steps-grid,.workflow-grid{grid-template-columns:1fr}.partner-wall{grid-template-columns:repeat(2,1fr)}.row-heading{display:block}.row-heading .text-link{display:inline-block;margin-top:13px}.section-heading h2{font-size:28px}.qa-card{grid-template-columns:1fr}.qa-card>img{width:100%;height:160px}.phone-showcase img{height:320px}.contact-line{grid-template-columns:75px 1fr}.top-bar{font-size:11px}}

/* domain fingerprint micro-tuning */
body.fp-a48f070a{--fp-primary-shift:4px;--fp-radius-shift:2px;--fp-soft-shift:3px}
body.fp-a48f070a .feature-card,body.fp-a48f070a .video-card{border-radius:calc(var(--radius) + var(--fp-radius-shift))}

.local-qr-strip{display:flex;gap:12px;margin:14px 0}.local-qr-strip img{width:72px;height:72px;border-radius:8px;border:4px solid #fff;box-shadow:0 5px 15px rgba(45,30,25,.12)}
