:root{
  --brand:#6d5dfc;
  --accent:#22d3ee;
  --bg:#0f1020;
  --bg-soft:#171834;
  --bg-card:#1c1d3d;
  --text:#e8eaf6;
  --text-dim:#a3a6cf;
  --radius:18px;
  --shadow:0 18px 40px -12px rgba(0,0,0,.75);
  --shadow-sm:0 8px 20px -8px rgba(0,0,0,.65);
  --highlight:linear-gradient(180deg,rgba(255,255,255,.16),rgba(255,255,255,0) 60%);
}
*{box-sizing:border-box;}
body{
  margin:0;
  background:var(--bg);
  color:var(--text);
  font-family:"Inter","PingFang SC","Microsoft YaHei",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  overflow-x:hidden;
}
a{text-decoration:none;color:inherit;}
/* ---------- 顶部阅读进度条 ---------- */
#readProgress{
  position:fixed;top:0;left:0;height:4px;width:0%;
  background:linear-gradient(90deg,var(--brand),var(--accent));
  z-index:2000;
  box-shadow:0 0 14px rgba(109,93,252,.9);
}
/* ---------- 导航 ---------- */
.nav-shell{
  position:sticky;top:0;z-index:1500;
  background:linear-gradient(180deg,#171834 0%,#12132a 100%);
  border-bottom:1px solid rgba(109,93,252,.35);
  box-shadow:0 10px 26px -14px rgba(0,0,0,.9);
}
.brand-mark{
  font-weight:900;
  font-size:1.35rem;
  letter-spacing:.5px;
  background:linear-gradient(120deg,#fff 10%,var(--accent) 60%,var(--brand) 100%);
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
  text-shadow:0 2px 18px rgba(109,93,252,.4);
}
.brand-sub{
  font-size:.68rem;color:var(--text-dim);letter-spacing:2px;display:block;margin-top:-2px;
}
.nav-link-top{
  color:var(--text-dim)!important;
  font-weight:600;
  font-size:.92rem;
  padding:.5rem .85rem!important;
  border-radius:999px;
  transition:.25s;
}
.nav-link-top:hover,.nav-link-top.active{
  color:#fff!important;
  background:linear-gradient(140deg,var(--brand),rgba(34,211,238,.85));
  box-shadow:0 8px 18px -8px rgba(109,93,252,.95);
}
.navbar-toggler{border:1px solid rgba(109,93,252,.5);}
.navbar-toggler-icon{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3E%3Cpath stroke='%23e8eaf6' stroke-width='2' stroke-linecap='round' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E");
}
/* ---------- Hero ---------- */
.hero{
  position:relative;
  padding:70px 0 60px;
  overflow:hidden;
  background:radial-gradient(120% 120% at 15% 0%,#252760 0%,#14152e 45%,#0f1020 100%);
  border-bottom:1px solid rgba(109,93,252,.22);
}
.hero-bg-layer{
  position:absolute;inset:-15% -10% -10% -10%;
  background:
    radial-gradient(45% 55% at 80% 20%,rgba(34,211,238,.28),transparent 70%),
    radial-gradient(40% 50% at 12% 80%,rgba(109,93,252,.35),transparent 70%);
  will-change:transform;
  z-index:0;
}
.hero-inner{position:relative;z-index:2;}
.hero-tagpill{
  display:inline-block;
  padding:.42rem 1.1rem;
  border-radius:999px;
  font-size:.8rem;
  font-weight:600;
  letter-spacing:1px;
  color:#dff8ff;
  background:linear-gradient(135deg,rgba(109,93,252,.55),rgba(34,211,238,.4));
  border:1px solid rgba(34,211,238,.5);
  box-shadow:0 10px 24px -12px rgba(34,211,238,.9),inset 0 1px 0 rgba(255,255,255,.25);
}
.hero h1{
  font-weight:900;
  font-size:clamp(2rem,4.6vw,3.4rem);
  line-height:1.16;
  margin:1.1rem 0 .9rem;
  text-shadow:0 6px 26px rgba(0,0,0,.6);
}
.hero h1 .grad{
  background:linear-gradient(100deg,var(--accent),var(--brand) 85%);
  -webkit-background-clip:text;background-clip:text;color:transparent;
}
.hero p.lead-x{color:var(--text-dim);font-size:1.03rem;max-width:640px;line-height:1.8;}
.stat-card{
  background:linear-gradient(170deg,#23244c,#171834);
  border:1px solid rgba(109,93,252,.4);
  border-radius:var(--radius);
  padding:1.1rem 1.25rem;
  box-shadow:var(--shadow);
  position:relative;
  overflow:hidden;
  height:100%;
}
.stat-card::after{content:"";position:absolute;inset:0;background:var(--highlight);pointer-events:none;}
.stat-num{
  font-size:2.3rem;font-weight:900;line-height:1;
  background:linear-gradient(120deg,#fff,var(--accent));
  -webkit-background-clip:text;background-clip:text;color:transparent;
  text-shadow:0 4px 20px rgba(34,211,238,.35);
}
.stat-label{font-size:.8rem;color:var(--text-dim);margin-top:.45rem;letter-spacing:1px;}
.btn-glow{
  background:linear-gradient(135deg,var(--brand),#8b7bff);
  color:#fff;font-weight:700;border:0;border-radius:999px;
  padding:.72rem 1.7rem;
  box-shadow:0 14px 30px -12px rgba(109,93,252,1),inset 0 1px 0 rgba(255,255,255,.3);
  transition:.25s;
}
.btn-glow:hover{transform:translateY(-2px);color:#fff;box-shadow:0 20px 38px -12px rgba(109,93,252,1);}
.btn-ghost{
  border:1px solid rgba(34,211,238,.55);
  color:var(--accent);font-weight:600;border-radius:999px;
  padding:.72rem 1.6rem;background:rgba(34,211,238,.06);
  transition:.25s;
}
.btn-ghost:hover{background:rgba(34,211,238,.16);color:#fff;}
/* ---------- 轮播 Banner ---------- */
.section{padding:62px 0;}
.sec-head{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;margin-bottom:1.8rem;flex-wrap:wrap;}
.sec-title{
  font-size:clamp(1.35rem,2.6vw,1.95rem);
  font-weight:800;margin:0;letter-spacing:.5px;
}
.sec-title i{color:var(--accent);margin-right:.5rem;}
.sec-desc{color:var(--text-dim);font-size:.92rem;margin:.35rem 0 0;}
.carousel-shell{
  border-radius:var(--radius);
  overflow:hidden;
  border:1px solid rgba(109,93,252,.35);
  box-shadow:var(--shadow);
  background:var(--bg-soft);
}
.carousel-item-x{position:relative;height:clamp(230px,38vw,420px);}
.carousel-item-x img{width:100%;height:100%;object-fit:cover;display:block;filter:saturate(1.05);}
.carousel-veil{
  position:absolute;inset:0;
  background:linear-gradient(90deg,rgba(15,16,32,.94) 8%,rgba(15,16,32,.55) 48%,rgba(15,16,32,.12) 100%);
  display:flex;flex-direction:column;justify-content:center;
  padding:clamp(1.2rem,4vw,3rem);
}
.carousel-veil h3{font-weight:900;font-size:clamp(1.3rem,3vw,2.2rem);text-shadow:0 4px 18px rgba(0,0,0,.7);}
.carousel-veil p{color:#c9cdf3;max-width:520px;font-size:.95rem;line-height:1.75;}
.chip{
  display:inline-block;font-size:.72rem;font-weight:700;letter-spacing:1px;
  padding:.28rem .8rem;border-radius:999px;margin-right:.45rem;margin-bottom:.55rem;
}
.chip-brand{background:rgba(109,93,252,.28);color:#cdc7ff;border:1px solid rgba(109,93,252,.6);}
.chip-cyan{background:rgba(34,211,238,.16);color:var(--accent);border:1px solid rgba(34,211,238,.5);}
.carousel-indicators [data-bs-target]{width:26px;height:5px;border-radius:99px;background:rgba(232,234,246,.45);}
.carousel-indicators .active{background:linear-gradient(90deg,var(--brand),var(--accent));}
/* ---------- 分类入口 ---------- */
.cat-card{
  display:block;height:100%;
  background:linear-gradient(165deg,#22234a,#171834);
  border:1px solid rgba(109,93,252,.32);
  border-radius:var(--radius);
  padding:1.3rem 1.2rem;
  box-shadow:var(--shadow-sm);
  position:relative;overflow:hidden;
  transition:.28s;
}
.cat-card::before{content:"";position:absolute;inset:0;background:var(--highlight);pointer-events:none;}
.cat-card:hover{transform:translateY(-6px);border-color:rgba(34,211,238,.65);box-shadow:0 22px 44px -16px rgba(34,211,238,.55);}
.cat-ico{
  width:46px;height:46px;border-radius:14px;display:flex;align-items:center;justify-content:center;
  font-size:1.15rem;color:#fff;
  background:linear-gradient(140deg,var(--brand),#8d7dff);
  box-shadow:0 10px 22px -10px rgba(109,93,252,1),inset 0 1px 0 rgba(255,255,255,.35);
  margin-bottom:.85rem;
}
.cat-card h3{font-size:1.05rem;font-weight:800;margin:0 0 .3rem;}
.cat-card p{color:var(--text-dim);font-size:.83rem;margin:0;line-height:1.65;}
.cat-pill{
  display:inline-block;font-size:.7rem;font-weight:700;color:var(--accent);
  background:rgba(34,211,238,.1);border:1px solid rgba(34,211,238,.35);
  border-radius:999px;padding:.16rem .62rem;margin:.6rem .35rem 0 0;
}
/* ---------- 海报墙 ---------- */
.poster-grid{
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:18px;width:100%;
}
@media(max-width:1199px){.poster-grid{grid-template-columns:repeat(4,minmax(0,1fr));}}
@media(max-width:767px){.poster-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;}}
@media(max-width:479px){.poster-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
.poster-card{
  position:relative;border-radius:14px;overflow:hidden;
  background:var(--bg-card);
  border:1px solid rgba(109,93,252,.28);
  box-shadow:var(--shadow-sm);
  transition:.3s;
}
.poster-card:hover{transform:translateY(-6px);border-color:rgba(34,211,238,.6);box-shadow:0 20px 40px -16px rgba(34,211,238,.5);}
.poster-thumb{position:relative;width:100%;aspect-ratio:2/3;overflow:hidden;}
.poster-thumb img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .45s ease;}
.poster-card:hover .poster-thumb img{transform:scale(1.12);}
.poster-mask{
  position:absolute;inset:auto 0 0 0;
  padding:1.1rem .7rem .7rem;
  background:linear-gradient(180deg,rgba(15,16,32,0),rgba(15,16,32,.94));
  opacity:0;transform:translateY(14px);transition:.32s;
}
.poster-card:hover .poster-mask{opacity:1;transform:translateY(0);}
.poster-mask span{font-size:.72rem;color:var(--accent);font-weight:600;}
.poster-info{padding:.6rem .65rem .7rem;}
.poster-info h4{
  font-size:.85rem;font-weight:700;margin:0;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.poster-info small{color:var(--text-dim);font-size:.72rem;}
.badge-rank{
  position:absolute;top:8px;left:8px;z-index:3;
  font-size:.7rem;font-weight:800;color:#0f1020;
  background:linear-gradient(135deg,var(--accent),#7fe6f7);
  border-radius:8px;padding:.14rem .45rem;
  box-shadow:0 6px 14px -6px rgba(34,211,238,.95);
}
.badge-hot{
  position:absolute;top:8px;right:8px;z-index:3;
  font-size:.68rem;font-weight:700;color:#fff;
  background:linear-gradient(135deg,#ff5d8f,var(--brand));
  border-radius:8px;padding:.14rem .45rem;
}
/* ---------- 排行榜 ---------- */
.rank-panel{
  background:linear-gradient(170deg,#1e1f45,#14152e);
  border:1px solid rgba(109,93,252,.35);
  border-radius:var(--radius);
  padding:1.4rem 1.3rem;
  box-shadow:var(--shadow);
  height:100%;
}
.rank-item{
  display:flex;align-items:center;gap:.9rem;
  padding:.72rem .6rem;border-radius:12px;
  transition:.25s;border:1px solid transparent;
}
.rank-item:hover{background:rgba(109,93,252,.14);border-color:rgba(109,93,252,.4);transform:translateX(5px);}
.medal{
  flex:0 0 34px;height:34px;width:34px;border-radius:10px;
  display:flex;align-items:center;justify-content:center;
  font-weight:900;font-size:.9rem;
}
.medal-1{background:linear-gradient(140deg,#ffd76a,#e0a021);color:#3b2600;box-shadow:0 8px 18px -8px rgba(255,215,106,.95);}
.medal-2{background:linear-gradient(140deg,#e2e8f5,#a3adc4);color:#282c3a;box-shadow:0 8px 18px -8px rgba(226,232,245,.9);}
.medal-3{background:linear-gradient(140deg,#e6a26b,#b26a2c);color:#2e1700;box-shadow:0 8px 18px -8px rgba(230,162,107,.9);}
.medal-other{background:rgba(109,93,252,.22);color:#c3bdff;}
.rank-name{font-weight:700;font-size:.92rem;margin:0;}
.rank-meta{color:var(--text-dim);font-size:.75rem;}
.rank-score{font-weight:900;color:var(--accent);font-size:1.02rem;}
/* ---------- 专题 & 图标列表 ---------- */
.feature-li{display:flex;gap:.9rem;padding:.85rem 0;border-bottom:1px dashed rgba(109,93,252,.28);}
.feature-li:last-child{border-bottom:0;}
.feature-ico{
  flex:0 0 40px;height:40px;border-radius:12px;
  display:flex;align-items:center;justify-content:center;
  background:linear-gradient(140deg,rgba(109,93,252,.9),rgba(34,211,238,.75));
  color:#fff;font-size:1rem;
  box-shadow:0 10px 20px -10px rgba(109,93,252,1),inset 0 1px 0 rgba(255,255,255,.3);
}
.feature-li h4{font-size:.96rem;font-weight:700;margin:0 0 .25rem;}
.feature-li p{color:var(--text-dim);font-size:.83rem;margin:0;line-height:1.7;}
.accordion-item{
  background:linear-gradient(165deg,#1e1f45,#161735);
  border:1px solid rgba(109,93,252,.32)!important;
  border-radius:14px!important;overflow:hidden;margin-bottom:.85rem;
  box-shadow:var(--shadow-sm);
}
.accordion-button{
  background:transparent;color:var(--text);font-weight:700;font-size:.95rem;
  box-shadow:none!important;
}
.accordion-button:not(.collapsed){color:var(--accent);background:rgba(109,93,252,.14);}
.accordion-button::after{filter:invert(85%) sepia(12%) saturate(1200%) hue-rotate(190deg);}
.accordion-body{color:var(--text-dim);font-size:.87rem;line-height:1.85;}
.topic-card{
  background:linear-gradient(160deg,#252657,#151632);
  border:1px solid rgba(34,211,238,.3);
  border-radius:var(--radius);
  padding:1.5rem 1.35rem;height:100%;
  box-shadow:var(--shadow-sm);position:relative;overflow:hidden;transition:.28s;
}
.topic-card:hover{transform:translateY(-5px);border-color:rgba(34,211,238,.7);}
.topic-card::after{content:"";position:absolute;inset:0;background:var(--highlight);pointer-events:none;}
.topic-card h3{font-size:1.08rem;font-weight:800;margin:0 0 .5rem;}
.topic-card p{color:var(--text-dim);font-size:.85rem;line-height:1.75;margin:0;}
.topic-num{font-size:2.1rem;font-weight:900;color:rgba(109,93,252,.55);line-height:1;}
/* ---------- 友链 & 页脚 ---------- */
.friend-box{
  background:linear-gradient(160deg,#1c1d3f,#14152e);
  border:1px solid rgba(109,93,252,.3);
  border-radius:var(--radius);
  padding:1.5rem 1.4rem;box-shadow:var(--shadow-sm);
}
footer.site-foot{
  background:linear-gradient(180deg,#14152e,#0b0c18);
  border-top:1px solid rgba(109,93,252,.3);
  padding:52px 0 26px;
  margin-top:20px;
}
.foot-title{font-size:.95rem;font-weight:800;margin-bottom:1rem;color:#fff;}
.foot-link{display:block;color:var(--text-dim);font-size:.85rem;padding:.26rem 0;transition:.22s;}
.foot-link:hover{color:var(--accent);transform:translateX(4px);}
.foot-note{color:#797d9f;font-size:.8rem;line-height:1.85;}
.to-top{
  position:fixed;right:20px;bottom:24px;z-index:1200;
  width:46px;height:46px;border-radius:14px;border:0;
  background:linear-gradient(140deg,var(--brand),#8b7bff);color:#fff;
  box-shadow:0 14px 30px -12px rgba(109,93,252,1);
  display:none;align-items:center;justify-content:center;font-size:1rem;
}
.to-top.show{display:flex;}
::selection{background:var(--brand);color:#fff;}

/* --- 子页面追加 --- */
.about-layout {display:grid;grid-template-columns:1.6fr 1fr;gap:28px;align-items:start;}
.about-card {background:var(--bg-card);border:1px solid rgba(255,255,255,.07);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:26px 24px;height:100%;}
.about-card h3 {margin:0 0 12px;font-size:1.12rem;font-weight:700;color:var(--text);}
.about-card p {color:var(--text-dim);line-height:1.85;margin:0 0 12px;font-size:.95rem;}
.about-card p:last-child {margin-bottom:0;}
.about-list {list-style:none;padding:0;margin:0;}
.about-list li {display:flex;gap:12px;padding:14px 0;border-bottom:1px dashed rgba(255,255,255,.09);}
.about-list li:last-child {border-bottom:none;}
.about-list i {color:var(--accent);font-size:1.05rem;margin-top:3px;flex:0 0 auto;}
.about-list strong {display:block;color:var(--text);font-weight:600;margin-bottom:4px;font-size:.96rem;}
.about-list span {color:var(--text-dim);font-size:.9rem;line-height:1.7;}
.value-grid {display:grid;grid-template-columns:repeat(3,1fr);gap:18px;}
.value-item {background:var(--bg-soft);border:1px solid rgba(255,255,255,.06);border-radius:var(--radius);padding:22px 20px;transition:.25s;}
.value-item:hover {transform:translateY(-4px);border-color:rgba(109,93,252,.55);box-shadow:var(--shadow);}
.value-item .vi-icon {width:46px;height:46px;border-radius:14px;display:flex;align-items:center;justify-content:center;font-size:1.1rem;background:linear-gradient(135deg,var(--brand),var(--accent));color:#fff;margin-bottom:14px;}
.value-item h4 {font-size:1rem;font-weight:700;color:var(--text);margin:0 0 8px;}
.value-item p {color:var(--text-dim);font-size:.88rem;line-height:1.75;margin:0;}
.timeline {position:relative;padding-left:26px;margin:0;}
.timeline::before {content:"";position:absolute;left:6px;top:6px;bottom:6px;width:2px;background:linear-gradient(180deg,var(--brand),var(--accent),transparent);}
.timeline-item {position:relative;padding-bottom:22px;}
.timeline-item:last-child {padding-bottom:0;}
.timeline-item::before {content:"";position:absolute;left:-26px;top:5px;width:14px;height:14px;border-radius:50%;background:var(--bg);border:2px solid var(--accent);}
.timeline-item h4 {margin:0 0 6px;font-size:.98rem;color:var(--text);font-weight:600;}
.timeline-item p {margin:0;color:var(--text-dim);font-size:.88rem;line-height:1.75;}
.faq-item {padding:16px 0;border-bottom:1px solid rgba(255,255,255,.08);}
.faq-item:last-child {border-bottom:none;padding-bottom:0;}
.faq-item h4 {margin:0 0 8px;font-size:.98rem;color:var(--text);font-weight:600;}
.faq-item p {margin:0;color:var(--text-dim);font-size:.9rem;line-height:1.8;}
.cta-band {background:linear-gradient(135deg,rgba(109,93,252,.22),rgba(34,211,238,.14));border:1px solid rgba(109,93,252,.35);border-radius:var(--radius);padding:30px 26px;display:flex;flex-wrap:wrap;gap:18px;align-items:center;justify-content:space-between;}
.cta-band h3 {margin:0 0 6px;font-size:1.2rem;color:var(--text);font-weight:800;}
.cta-band p {margin:0;color:var(--text-dim);font-size:.92rem;}
.about-layout {grid-template-columns:1fr;}
.value-grid {grid-template-columns:1fr;}

/* --- 子页面追加 --- */
/* 步骤卡片微调，颜色与站点变量一致 */
    .guide-step {
      background: var(--bg-card);
      border: 1px solid rgba(255, 255, 255, 0.06);
      border-radius: var(--radius);
      box-shadow: var(--shadow-sm);
      transition: transform 0.2s ease, border-color 0.2s ease;
    }
.guide-step:hover {
      transform: translateY(-4px);
      border-color: var(--brand);
    }
.guide-step .step-num {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      width: 42px;
      height: 42px;
      border-radius: 14px;
      background: linear-gradient(145deg, var(--brand), #4b3cd6);
      color: #fff;
      font-weight: 800;
      font-size: 1.25rem;
      box-shadow: 0 8px 18px -6px rgba(109, 93, 252, 0.5);
    }
.guide-step h3 {
      font-size: 1.15rem;
      font-weight: 700;
      color: var(--text);
      letter-spacing: -0.01em;
    }
.guide-step p, .guide-step li {
      color: var(--text-dim);
      font-size: 0.95rem;
      line-height: 1.7;
    }
.guide-step ul {
      padding-left: 1.1rem;
      margin-bottom: 0;
    }
.guide-step ul li::marker {
      color: var(--accent);
    }
/* 内置提示块 */
    .tip-box {
      background: rgba(34, 211, 238, 0.08);
      border-left: 4px solid var(--accent);
      border-radius: 12px;
      padding: 1rem 1.25rem;
      color: var(--text);
      font-size: 0.95rem;
      line-height: 1.7;
    }
.tip-box i {
      color: var(--accent);
      margin-right: 6px;
    }
/* FAQ 折叠区域，不用 Bootstrap accordion，自己实现简单样式 */
    .faq-item {
      background: var(--bg-soft);
      border: 1px solid rgba(255, 255, 255, 0.05);
      border-radius: 14px;
      padding: 1.25rem 1.5rem;
      transition: background 0.2s ease;
    }
.faq-item:hover {
      background: var(--bg-card);
    }
.faq-item .faq-q {
      font-weight: 700;
      color: var(--text);
      font-size: 1.05rem;
      display: flex;
      align-items: center;
      gap: 10px;
    }
.faq-item .faq-q i {
      color: var(--brand);
      font-size: 1.1rem;
    }
.faq-item .faq-a {
      color: var(--text-dim);
      font-size: 0.95rem;
      line-height: 1.7;
      margin-top: 0.6rem;
      padding-left: 1.9rem;
    }
/* 画质/功能对比小标签 */
    .chip-mini {
      display: inline-block;
      background: rgba(109, 93, 252, 0.15);
      border: 1px solid rgba(109, 93, 252, 0.35);
      color: var(--text);
      font-size: 0.78rem;
      font-weight: 600;
      padding: 0.25rem 0.8rem;
      border-radius: 40px;
      margin-right: 0.4rem;
      margin-bottom: 0.4rem;
    }
.chip-mini.accent {
      background: rgba(34, 211, 238, 0.12);
      border-color: rgba(34, 211, 238, 0.4);
      color: var(--accent);
    }
/* 页脚链接保持变量色 */
    .footer-links a {
      color: var(--text-dim);
      text-decoration: none;
      transition: color 0.2s ease;
    }
.footer-links a:hover {
      color: var(--accent);
    }
/* 确保导航高亮当前页 */
    .nav-link-top.active {
      color: var(--accent) !important;
      font-weight: 600;
    }
.guide-step {
        padding: 1.25rem !important;
      }
.faq-item .faq-a {
        padding-left: 0;
      }

/* --- 子页面追加 --- */
.legal-wrap {max-width:960px;margin:0 auto;}
.legal-card {background:var(--bg-card);border:1px solid rgba(255,255,255,.07);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:26px 26px 22px;}
.legal-card h3 {font-size:1.12rem;font-weight:700;color:var(--text);margin-bottom:12px;display:flex;align-items:center;gap:10px;}
.legal-card h3 i {color:var(--accent);font-size:1rem;}
.legal-card p,.legal-card li {color:var(--text-dim);line-height:1.85;font-size:.95rem;}
.legal-card ul {padding-left:1.1rem;margin-bottom:0;}
.legal-card li {margin-bottom:6px;}
.legal-card li::marker {color:var(--brand);}
.legal-note {background:linear-gradient(180deg,rgba(109,93,252,.16),rgba(34,211,238,.06));border:1px solid rgba(109,93,252,.35);border-radius:var(--radius);padding:16px 18px;color:var(--text);font-size:.93rem;line-height:1.8;}
.legal-note strong {color:var(--accent);}
.law-tag {display:inline-flex;align-items:center;gap:6px;background:rgba(34,211,238,.12);border:1px solid rgba(34,211,238,.3);color:var(--accent);border-radius:999px;padding:4px 12px;font-size:.78rem;font-weight:600;margin-bottom:14px;}
.law-idx {display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:8px;background:rgba(109,93,252,.22);color:var(--accent);font-size:.78rem;font-weight:800;flex:0 0 auto;}
.legal-anchor {display:block;position:relative;top:-90px;visibility:hidden;}
.toc-x {display:flex;flex-wrap:wrap;gap:8px;}
.toc-x a {display:inline-block;padding:7px 14px;border-radius:999px;background:var(--bg-soft);border:1px solid rgba(255,255,255,.08);color:var(--text-dim);font-size:.83rem;text-decoration:none;transition:.2s;}
.toc-x a:hover {color:var(--text);border-color:var(--brand);background:rgba(109,93,252,.18);}
.legal-updated {color:var(--text-dim);font-size:.84rem;display:flex;align-items:center;gap:8px;}
.legal-updated i {color:var(--brand);}

/* --- 子页面追加 --- */
/* 本页专属少量样式，仅用于站点地图卡片布局，配色沿用站点变量 */
  .map-card {
    background:var(--bg-card);
    border:1px solid rgba(255,255,255,.07);
    border-radius:var(--radius);
    box-shadow:var(--shadow-sm);
    padding:1.6rem 1.5rem 1.4rem;
    height:100%;
    position:relative;
    overflow:hidden;
    transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease;
  }
.map-card::before {
    content:"";
    position:absolute;inset:0;
    background:var(--highlight);
    pointer-events:none;
  }
.map-card:hover {
    transform:translateY(-6px);
    box-shadow:var(--shadow);
    border-color:rgba(109,93,252,.55);
  }
.map-card .map-icon {
    width:44px;height:44px;border-radius:12px;
    display:flex;align-items:center;justify-content:center;
    background:linear-gradient(135deg,var(--brand),var(--accent));
    color:#fff;font-size:1.05rem;margin-bottom:.9rem;
  }
.map-card h3 {
    font-size:1.06rem;font-weight:700;color:var(--text);
    margin:0 0 .45rem;letter-spacing:.2px;
  }
.map-card p {
    color:var(--text-dim);font-size:.88rem;line-height:1.72;margin:0 0 1rem;
  }
.map-link {
    display:inline-flex;align-items:center;gap:.45rem;
    font-size:.86rem;font-weight:600;color:var(--accent);
    text-decoration:none;transition:gap .2s ease,color .2s ease;
  }
.map-link:hover {gap:.7rem;color:var(--brand);}
.map-anchor-list {
    list-style:none;padding:0;margin:0;
    display:flex;flex-wrap:wrap;gap:.5rem;
  }
.map-anchor-list a {
    display:inline-block;
    font-size:.8rem;color:var(--text-dim);text-decoration:none;
    padding:.3rem .7rem;border-radius:999px;
    border:1px solid rgba(255,255,255,.09);
    background:rgba(255,255,255,.03);
    transition:all .2s ease;
  }
.map-anchor-list a:hover {
    color:var(--text);border-color:var(--accent);
    background:rgba(34,211,238,.1);
  }
.map-note {
    background:var(--bg-soft);
    border:1px solid rgba(255,255,255,.07);
    border-left:3px solid var(--accent);
    border-radius:var(--radius);
    padding:1.4rem 1.5rem;
    color:var(--text-dim);
    font-size:.9rem;line-height:1.85;
  }
.map-note strong {color:var(--text);}
.map-step {
    display:flex;gap:1rem;padding:1.1rem 0;
    border-bottom:1px dashed rgba(255,255,255,.08);
  }
.map-step:last-child {border-bottom:none;}
.map-step .num {
    flex:0 0 34px;height:34px;border-radius:50%;
    display:flex;align-items:center;justify-content:center;
    background:rgba(109,93,252,.16);
    border:1px solid rgba(109,93,252,.45);
    color:var(--accent);font-weight:700;font-size:.86rem;
  }
.map-step h3 {font-size:.98rem;font-weight:700;color:var(--text);margin:0 0 .3rem;}
.map-step p {margin:0;color:var(--text-dim);font-size:.86rem;line-height:1.75;}

/* --- 子页面追加 --- */
/* 本页专属补充样式 */
  .link-card {
    background:var(--bg-card);
    border:1px solid rgba(255,255,255,.07);
    border-radius:var(--radius);
    box-shadow:var(--shadow-sm);
    padding:26px 24px;
    height:100%;
    transition:transform .25s ease, border-color .25s ease, box-shadow .25s ease;
  }
.link-card:hover {transform:translateY(-4px);border-color:rgba(109,93,252,.5);box-shadow:var(--shadow);}
.link-card .lc-icon {
    width:46px;height:46px;border-radius:14px;
    display:flex;align-items:center;justify-content:center;
    background:linear-gradient(140deg,rgba(109,93,252,.35),rgba(34,211,238,.25));
    color:var(--accent);font-size:1.15rem;margin-bottom:16px;
  }
.link-card h3 {font-size:1.08rem;font-weight:700;margin-bottom:10px;}
.link-card p {color:var(--text-dim);font-size:.94rem;line-height:1.75;margin:0;}
.rule-list {list-style:none;padding:0;margin:0;}
.rule-list li {
    display:flex;gap:14px;align-items:flex-start;
    padding:16px 0;border-bottom:1px dashed rgba(255,255,255,.08);
  }
.rule-list li:last-child {border-bottom:none;}
.rule-list .rl-num {
    flex:0 0 auto;width:30px;height:30px;border-radius:10px;
    background:rgba(109,93,252,.18);color:var(--accent);
    display:flex;align-items:center;justify-content:center;
    font-weight:700;font-size:.9rem;
  }
.rule-list .rl-body strong {display:block;font-size:.98rem;margin-bottom:4px;}
.rule-list .rl-body span {color:var(--text-dim);font-size:.9rem;line-height:1.7;}
.apply-panel {
    background:var(--bg-soft);
    border:1px solid rgba(255,255,255,.07);
    border-radius:var(--radius);
    box-shadow:var(--shadow-sm);
    padding:30px 28px;
  }
.apply-panel .field-row {margin-bottom:18px;}
.apply-panel label {display:block;font-size:.88rem;font-weight:600;margin-bottom:8px;color:var(--text);}
.apply-panel label em {color:var(--accent);font-style:normal;margin-left:4px;}
.apply-panel input,
  .apply-panel select,
  .apply-panel textarea {
    width:100%;
    background:rgba(0,0,0,.35);
    color:var(--text);
    border:1px solid rgba(255,255,255,.12);
    border-radius:12px;
    padding:11px 14px;
    font-size:.94rem;
    font-family:inherit;
    outline:none;
    transition:border-color .2s ease, box-shadow .2s ease;
  }
.apply-panel input::placeholder,
  .apply-panel textarea::placeholder {color:rgba(163,166,207,.55);}
.apply-panel input:focus,
  .apply-panel select:focus,
  .apply-panel textarea:focus {border-color:var(--brand);box-shadow:0 0 0 3px rgba(109,93,252,.22);}
.apply-panel select option {background:var(--bg-card);color:var(--text);}
.partner-grid {display:flex;flex-wrap:wrap;gap:12px;}
.partner-chip {
    display:inline-flex;align-items:center;gap:8px;
    background:var(--bg-card);
    border:1px solid rgba(255,255,255,.08);
    border-radius:999px;
    padding:9px 18px;
    font-size:.9rem;color:var(--text-dim);
    text-decoration:none;
    transition:all .22s ease;
  }
.partner-chip:hover {color:var(--text);border-color:var(--brand);background:rgba(109,93,252,.16);}
.partner-chip i {color:var(--accent);font-size:.8rem;}
.faq-item h4 i {color:var(--accent);margin-top:3px;font-size:.85rem;}
.notice-bar {
    background:linear-gradient(100deg,rgba(109,93,252,.18),rgba(34,211,238,.12));
    border:1px solid rgba(109,93,252,.35);
    border-radius:var(--radius);
    padding:20px 24px;
    display:flex;gap:16px;align-items:flex-start;
  }
.notice-bar i {color:var(--accent);font-size:1.2rem;margin-top:2px;}
.notice-bar p {margin:0;color:var(--text-dim);font-size:.94rem;line-height:1.75;}
.notice-bar strong {color:var(--text);}
.apply-panel {padding:24px 18px;}
.link-card {padding:22px 18px;}

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