:root{
  --main:#64748b;
  --accent:#94a3b8;
  --bg:#f1f5f9;
  --text:#1e293b;
  --border-color:#cbd5e1;
  --font-mono: 'SFMono-Regular', 'JetBrains Mono', 'Courier New', monospace;
}
*{box-sizing:border-box;}
body{
  background:var(--bg);
  color:var(--text);
  font-family:'Inter',system-ui,-apple-system,BlinkMacSystemFont,sans-serif;
  font-weight:400;
  font-size:0.95rem;
  line-height:1.7;
  letter-spacing:0.01em;
  margin:0;
  padding:0;
}
/* 细微噪点纹理 */
body::before{
  content:"";
  position:fixed;
  top:0;left:0;width:100vw;height:100vh;
  pointer-events:none;
  opacity:0.03;
  z-index:9999;
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 250 250' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}
/* 滚动进度条 */
#progress-bar{
  position:fixed;
  top:0;left:0;
  height:3px;
  width:0%;
  background:var(--main);
  z-index:10000;
  transition:width 0.2s ease-out;
}
/* 导航栏 */
.navbar{
  background:rgba(241,245,249,0.8);
  backdrop-filter:blur(8px);
  border-bottom:1px solid var(--border-color);
  padding:0.7rem 0;
  font-weight:500;
  letter-spacing:0.02em;
}
.navbar-brand{
  font-weight:900;
  font-size:1.4rem;
  color:var(--text);
  display:flex;
  align-items:center;
}
.navbar-brand i{
  color:var(--main);
  margin-right:8px;
}
.navbar .nav-link{
  color:var(--text);
  margin:0 0.5rem;
  font-size:0.9rem;
  border-bottom:2px solid transparent;
}
.navbar .nav-link:hover{
  border-bottom-color:var(--main);
  color:var(--main);
}
.navbar-toggler{
  border:1px solid var(--border-color);
}
/* 通用单色描边图标 */
.icon-outline{
  width:2.2rem;height:2.2rem;
  border:1.5px solid var(--main);
  border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  color:var(--main);
  background:transparent;
}
/* hero区 */
.hero{
  padding:5rem 0 4rem;
  text-align:center;
}
.typewriter{
  font-size:clamp(2.2rem, 8vw, 4.5rem);
  font-weight:900;
  line-height:1.2;
  letter-spacing:-0.02em;
  min-height:3.5em;
  color:var(--text);
  display:inline-block;
}
.typewriter::after{
  content:"|";
  color:var(--main);
  animation:blink 1.1s steps(2) infinite;
}
@keyframes blink{50%{opacity:0}}
.hero-sub{
  max-width:640px;
  margin:1.8rem auto 0;
  color:var(--main);
  font-weight:400;
  font-size:1rem;
  border-top:1px solid var(--border-color);
  border-bottom:1px solid var(--border-color);
  padding:0.8rem 0;
}
/* 数据统计 */
.stats-section{
  padding:2rem 0 1rem;
  border-top:1px solid var(--border-color);
  border-bottom:1px solid var(--border-color);
}
.stat-number{
  font-family:var(--font-mono);
  font-size:2.4rem;
  font-weight:600;
  color:var(--text);
  line-height:1.1;
}
.stat-label{
  font-size:0.75rem;
  letter-spacing:0.12em;
  text-transform:uppercase;
  color:var(--main);
  margin-top:0.4rem;
}
/* 通用区块标题 */
.section-title{
  font-weight:900;
  font-size:2rem;
  letter-spacing:-0.01em;
  margin:2.5rem 0 1.8rem;
  display:flex;
  align-items:center;
  gap:0.8rem;
}
.section-title i{
  color:var(--main);
}
/* 使用说明-时间线 */
.timeline{
  border-left:2px solid var(--border-color);
  padding-left:1.8rem;
  position:relative;
  margin:1.5rem 0;
}
.timeline-item{
  position:relative;
  margin-bottom:2.4rem;
}
.timeline-item::before{
  content:"";
  width:12px;height:12px;
  background:var(--bg);
  border:2px solid var(--main);
  border-radius:50%;
  position:absolute;
  left:-2.2rem;
  top:0.3rem;
}
.timeline-year{
  font-family:var(--font-mono);
  font-size:0.8rem;
  letter-spacing:0.1em;
  color:var(--main);
  font-weight:600;
}
.timeline-title{
  font-weight:700;
  font-size:1.2rem;
}
.timeline-text{
  font-size:0.9rem;
  color:var(--text);
  opacity:0.85;
}
/* 特色标签页 */
.nav-pills .nav-link{
  border:1px solid var(--border-color);
  border-radius:0;
  margin:0 0.4rem 0.4rem 0;
  color:var(--text);
  background:transparent;
  font-size:0.85rem;
  padding:0.4rem 1rem;
}
.nav-pills .nav-link.active{
  background:var(--main);
  border-color:var(--main);
  color:#fff;
}
.tab-pane{
  padding:1.5rem 0.5rem;
  border-bottom:1px solid var(--border-color);
}
.feature-card{
  border:1px solid var(--border-color);
  padding:1.5rem;
  margin-bottom:1rem;
  background:rgba(255,255,255,0.3);
}
.feature-card i{
  font-size:2rem;
  color:var(--main);
  margin-bottom:1rem;
}
.feature-card h5{
  font-weight:800;
}
/* hover 图片放大+文字遮罩 */
.image-hover-wrapper{
  overflow:hidden;
  position:relative;
  border:1px solid var(--border-color);
  background:var(--accent);
  min-height:180px;
  display:flex;
  align-items:center;
  justify-content:center;
}
.image-hover-wrapper img{
  width:100%;
  height:auto;
  transition:transform 0.5s cubic-bezier(0.2,0.8,0.2,1);
}
.image-hover-wrapper:hover img{
  transform:scale(1.06);
}
.hover-cover{
  position:absolute;
  top:0;left:0;width:100%;height:100%;
  background:rgba(30,41,59,0.25);
  display:flex;
  align-items:flex-end;
  padding:1rem;
  opacity:0;
  transition:opacity 0.3s ease;
}
.image-hover-wrapper:hover .hover-cover{
  opacity:1;
}
.hover-cover span{
  color:white;
  font-weight:600;
  font-size:0.9rem;
  background:var(--main);
  padding:0.3rem 0.8rem;
}
/* FAQ */
.accordion-item{
  background:transparent;
  border:1px solid var(--border-color);
  margin-bottom:0.8rem;
}
.accordion-button{
  background:transparent;
  font-weight:600;
  color:var(--text);
  border-bottom:1px solid var(--border-color);
  padding:1rem 1.2rem;
}
.accordion-button:not(.collapsed){
  background:rgba(100,116,139,0.08);
  color:var(--text);
}
/* 回到顶部按钮 */
#back-top{
  position:fixed;
  bottom:2rem;right:2rem;
  width:2.8rem;height:2.8rem;
  border-radius:50%;
  background:var(--main);
  color:white;
  border:none;
  display:flex;align-items:center;justify-content:center;
  opacity:0;
  visibility:hidden;
  transition:0.2s ease;
  cursor:pointer;
  z-index:1000;
}
#back-top.show{
  opacity:1;
  visibility:visible;
}
#back-top:hover{
  background:var(--text);
}
/* 友情链接 */
.friend-links{
  border-top:1px solid var(--border-color);
  padding:1.8rem 0;
  margin-top:2rem;
  font-size:0.9rem;
}
.friend-links h6{
  font-weight:800;
  margin-bottom:1rem;
  letter-spacing:0.03em;
}
/* 页脚 */
footer{
  border-top:1px solid var(--border-color);
  padding:2rem 0 3rem;
  color:var(--main);
  font-size:0.85rem;
}
footer a{
  color:var(--text);
  text-decoration:none;
  border-bottom:1px solid var(--accent);
}
/* 极简无阴影 */
*{box-shadow:none !important;}

/* --- 子页面追加 --- */
.about-hero {
            background: linear-gradient(135deg, var(--bg) 0%, #e2e8f0 100%);
            padding: 80px 0 60px;
            border-bottom: 1px solid var(--border-color);
            position: relative;
            overflow: hidden;
        }
.about-hero::after {
            content: '';
            position: absolute;
            right: -100px;
            top: -100px;
            width: 300px;
            height: 300px;
            background: radial-gradient(circle, rgba(100,116,139,0.1) 0%, transparent 70%);
            border-radius: 50%;
        }
.about-hero h1 {
            font-weight: 900;
            color: var(--text);
            font-size: 2.5rem;
            margin-bottom: 20px;
            position: relative;
            z-index: 1;
        }
.about-hero p {
            color: var(--main);
            font-size: 1.2rem;
            max-width: 700px;
            line-height: 1.8;
            position: relative;
            z-index: 1;
        }
.about-section {
            padding: 60px 0;
            border-bottom: 1px solid var(--border-color);
        }
.about-section h2 {
            color: var(--text);
            font-weight: 800;
            font-size: 2rem;
            margin-bottom: 30px;
            position: relative;
            padding-bottom: 15px;
        }
.about-section h2::after {
            content: '';
            position: absolute;
            bottom: 0;
            left: 0;
            width: 50px;
            height: 3px;
            background: var(--accent);
        }
.about-section p {
            color: var(--main);
            line-height: 2;
            font-size: 1.05rem;
            margin-bottom: 20px;
        }
.about-card {
            background: #fff;
            border: 1px solid var(--border-color);
            border-radius: 8px;
            padding: 25px;
            height: 100%;
            transition: transform 0.3s ease, box-shadow 0.3s ease;
        }
.about-card:hover {
            transform: translateY(-5px);
            box-shadow: 0 10px 30px rgba(0,0,0,0.1);
        }
.about-card i {
            font-size: 2rem;
            color: var(--accent);
            margin-bottom: 15px;
        }
.about-card h3 {
            color: var(--text);
            font-weight: 700;
            font-size: 1.2rem;
            margin-bottom: 12px;
        }
.about-card p {
            color: var(--main);
            font-size: 0.95rem;
            line-height: 1.8;
            margin-bottom: 0;
        }
.about-number {
            font-size: 3rem;
            font-weight: 900;
            color: var(--accent);
            line-height: 1;
            margin-bottom: 10px;
            font-family: var(--font-mono);
        }
.about-label {
            color: var(--main);
            font-size: 0.9rem;
            text-transform: uppercase;
            letter-spacing: 1px;
        }
.about-quote {
            background: #fff;
            border-left: 4px solid var(--accent);
            padding: 20px 30px;
            margin: 30px 0;
            border-radius: 0 8px 8px 0;
            font-style: italic;
            color: var(--text);
            font-size: 1.1rem;
            line-height: 1.8;
        }
.about-badge {
            display: inline-block;
            background: var(--bg);
            border: 1px solid var(--border-color);
            padding: 8px 20px;
            border-radius: 50px;
            color: var(--text);
            font-weight: 600;
            margin: 5px;
            font-size: 0.9rem;
            transition: all 0.3s ease;
        }
.about-badge:hover {
            background: var(--accent);
            color: #fff;
            border-color: var(--accent);
        }
.about-stats-row {
            background: var(--bg);
            border-radius: 12px;
            padding: 30px;
            margin: 20px 0;
        }

/* --- 子页面追加 --- */
.privacy-section {
      padding: 60px 0;
      border-bottom: 1px solid var(--border-color);
    }
.privacy-section:last-child {
      border-bottom: none;
    }
.privacy-card {
      background: rgba(255,255,255,0.6);
      border: 1px solid var(--border-color);
      border-radius: 12px;
      padding: 28px;
      margin-bottom: 24px;
      transition: transform 0.2s ease, box-shadow 0.2s ease;
    }
.privacy-card:hover {
      transform: translateY(-2px);
      box-shadow: 0 8px 24px rgba(100, 116, 139, 0.1);
    }
.privacy-card h3 {
      color: var(--main);
      font-size: 1.35rem;
      font-weight: 700;
      margin-bottom: 16px;
      display: flex;
      align-items: center;
      gap: 10px;
    }
.privacy-card h3 i {
      color: var(--accent);
      font-size: 1.2rem;
    }
.privacy-card p, .privacy-card li {
      color: var(--text);
      font-size: 0.95rem;
      line-height: 1.8;
    }
.privacy-card ul {
      padding-left: 20px;
      margin-bottom: 12px;
    }
.privacy-card li {
      margin-bottom: 6px;
    }
.highlight-box {
      background: rgba(100, 116, 139, 0.08);
      border-left: 4px solid var(--main);
      padding: 16px 20px;
      border-radius: 0 8px 8px 0;
      margin: 20px 0;
    }
.highlight-box p {
      margin-bottom: 0;
      font-size: 0.95rem;
    }
.last-updated {
      font-family: var(--font-mono);
      font-size: 0.85rem;
      color: var(--accent);
      margin-bottom: 40px;
      display: inline-block;
      background: rgba(148, 163, 184, 0.1);
      padding: 6px 14px;
      border-radius: 20px;
    }
.privacy-hero {
      padding: 80px 0 40px;
      text-align: center;
    }
.privacy-hero h1 {
      font-size: 2.5rem;
      font-weight: 800;
      color: var(--text);
      margin-bottom: 20px;
    }
.privacy-hero p {
      font-size: 1.1rem;
      color: var(--accent);
      max-width: 700px;
      margin: 0 auto;
    }
.table-of-contents {
      background: rgba(255,255,255,0.7);
      border: 1px solid var(--border-color);
      border-radius: 12px;
      padding: 24px;
      margin: 40px 0;
    }
.table-of-contents h4 {
      font-weight: 700;
      color: var(--text);
      margin-bottom: 16px;
      font-size: 1.1rem;
    }
.table-of-contents a {
      color: var(--main);
      text-decoration: none;
      font-size: 0.95rem;
      display: block;
      padding: 6px 0;
      border-bottom: 1px dashed var(--border-color);
      transition: color 0.2s ease, padding-left 0.2s ease;
    }
.table-of-contents a:last-child {
      border-bottom: none;
    }
.table-of-contents a:hover {
      color: var(--accent);
      padding-left: 8px;
    }
.privacy-hero h1 {
        font-size: 2rem;
      }
.privacy-card {
        padding: 20px;
      }

/* --- 子页面追加 --- */
/* 页面专属补充样式 */
        .disclaimer-hero {
            padding: 4rem 0 3rem;
            border-bottom: 1px solid var(--border-color);
            margin-bottom: 2rem;
        }
.disclaimer-hero h1 {
            font-family: var(--font-mono);
            font-weight: 800;
            font-size: 2.5rem;
            color: var(--text);
            margin-bottom: 0.75rem;
        }
.disclaimer-hero .hero-sub {
            color: var(--accent);
            font-size: 1.15rem;
            max-width: 780px;
            line-height: 1.8;
        }
.disclaimer-body {
            padding-bottom: 3rem;
        }
.disclaimer-body h2 {
            font-family: var(--font-mono);
            font-weight: 700;
            font-size: 1.75rem;
            color: var(--main);
            margin-top: 2.5rem;
            margin-bottom: 1rem;
            padding-bottom: 0.5rem;
            border-bottom: 2px solid var(--border-color);
            display: flex;
            align-items: center;
            gap: 0.5rem;
        }
.disclaimer-body h2 i {
            font-size: 1.4rem;
            color: var(--accent);
        }
.disclaimer-body h3 {
            font-family: var(--font-mono);
            font-weight: 600;
            font-size: 1.2rem;
            color: var(--text);
            margin-top: 1.5rem;
            margin-bottom: 0.5rem;
        }
.disclaimer-body p {
            font-size: 1rem;
            line-height: 1.9;
            color: var(--text);
            margin-bottom: 1.2rem;
        }
.disclaimer-body ul, .disclaimer-body ol {
            margin-bottom: 1.2rem;
            padding-left: 1.5rem;
            color: var(--text);
            line-height: 1.9;
        }
.disclaimer-body li {
            margin-bottom: 0.4rem;
        }
.disclaimer-body .note-box {
            background: rgba(100, 116, 139, 0.08);
            border-left: 4px solid var(--accent);
            padding: 1.2rem 1.5rem;
            border-radius: 0 8px 8px 0;
            margin: 1.5rem 0;
            color: var(--text);
        }
.disclaimer-body .note-box i {
            color: var(--main);
            margin-right: 0.5rem;
        }
.back-home {
            margin-top: 2rem;
        }
.back-home a {
            color: var(--main);
            text-decoration: none;
            font-weight: 600;
            transition: color 0.2s;
        }
.back-home a:hover {
            color: var(--accent);
        }
.back-home i {
            margin-right: 0.3rem;
        }

/* --- Bootstrap 组件配色适配(程序自动补,避免白底黑字) --- */
.accordion-body { background:transparent !important; color:#1e293b !important; }
.accordion-header { background:transparent !important; }
