:root{
  --primary:#6d5dfc;
  --accent:#22d3ee;
  --bg:#0f1020;
  --text:#e8eaf6;
  --card:#181a2f;
  --card-soft:#1e2140;
  --muted:#9aa0c3;
  --line:rgba(109,93,252,.25);
  --radius-card:16px;
  --radius-pill:999px;
  --shadow:0 10px 30px rgba(0,0,0,.45);
  --shadow-soft:0 6px 18px rgba(0,0,0,.3);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  background:var(--bg);
  color:var(--text);
  font-family:"Noto Sans SC","Inter",system-ui,-apple-system,"Segoe UI",sans-serif;
  font-weight:400;
  line-height:1.7;
  overflow-x:hidden;
}
h1,h2,h3,h4,.serif{font-family:"Noto Serif SC","Inter",serif;font-weight:700;letter-spacing:.5px}
a{text-decoration:none;color:inherit}
a:hover{color:var(--accent)}
::selection{background:var(--primary);color:#fff}

/* 全屏背景剧照 */
.bg-stage{
  position:fixed;
  inset:0;
  z-index:-2;
  background:
    radial-gradient(circle at 15% 12%, rgba(109,93,252,.35), transparent 45%),
    radial-gradient(circle at 85% 8%, rgba(34,211,238,.20), transparent 42%),
    radial-gradient(circle at 50% 100%, rgba(109,93,252,.25), transparent 55%),
    linear-gradient(180deg,#0f1020 0%,#12132a 60%,#0b0c19 100%);
}
.bg-stage::after{
  content:"";
  position:absolute;
  inset:0;
  background-image:
    radial-gradient(1.5px 1.5px at 20% 30%, rgba(255,255,255,.35), transparent),
    radial-gradient(1.5px 1.5px at 70% 15%, rgba(34,211,238,.5), transparent),
    radial-gradient(1px 1px at 40% 70%, rgba(255,255,255,.3), transparent),
    radial-gradient(1.5px 1.5px at 85% 60%, rgba(109,93,252,.6), transparent),
    radial-gradient(1px 1px at 10% 85%, rgba(255,255,255,.25), transparent);
  background-repeat:repeat;
  opacity:.5;
}

/* 导航 */
.site-nav{
  position:sticky;
  top:0;
  z-index:1000;
  background:rgba(15,16,32,.78);
  backdrop-filter:blur(14px);
  border-bottom:1px solid var(--line);
}
.nav-inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:12px 20px;
  max-width:1320px;
  margin:0 auto;
  gap:16px;
}
.brand-logo{
  font-family:"Noto Serif SC",serif;
  font-size:1.35rem;
  font-weight:900;
  color:#fff;
  display:flex;
  align-items:center;
  gap:8px;
  letter-spacing:1px;
  white-space:nowrap;
}
.brand-logo i{color:var(--accent);font-size:1.15rem}
.brand-logo:hover{color:var(--accent)}
.nav-links{
  display:flex;
  align-items:center;
  gap:4px;
  list-style:none;
  margin:0;
  padding:0;
  flex-wrap:wrap;
}
.nav-links a{
  display:inline-block;
  padding:7px 15px;
  border-radius:var(--radius-pill);
  font-size:.92rem;
  color:var(--text);
  transition:.25s;
  white-space:nowrap;
}
.nav-links a:hover,.nav-links a.active{
  background:var(--primary);
  color:#fff;
  box-shadow:0 6px 16px rgba(109,93,252,.5);
}
.nav-toggle{
  display:none;
  background:transparent;
  border:1px solid var(--line);
  color:var(--text);
  border-radius:12px;
  padding:6px 12px;
  font-size:1.1rem;
}
@media(max-width:991px){
  .nav-toggle{display:block}
  .nav-links{
    position:absolute;
    top:100%;
    left:0;
    right:0;
    flex-direction:column;
    align-items:stretch;
    background:rgba(18,19,42,.98);
    border-bottom:1px solid var(--line);
    padding:12px 16px;
    gap:6px;
    display:none;
  }
  .nav-links.open{display:flex}
  .nav-links a{padding:10px 14px}
}

/* Hero */
.hero{
  position:relative;
  padding:70px 20px 50px;
  max-width:1320px;
  margin:0 auto;
}
.hero-eyebrow{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:6px 18px;
  border-radius:var(--radius-pill);
  background:rgba(109,93,252,.16);
  border:1px solid var(--line);
  color:var(--accent);
  font-size:.85rem;
  margin-bottom:22px;
}
.hero h1{
  font-size:clamp(2rem,5vw,3.6rem);
  line-height:1.2;
  margin:0 0 16px;
  color:#fff;
}
.hero h1 em{
  font-style:normal;
  background:linear-gradient(90deg,var(--primary),var(--accent));
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
}
.hero-sub{
  color:var(--muted);
  max-width:640px;
  font-size:1.02rem;
  margin-bottom:36px;
}
.stat-row{
  display:flex;
  flex-wrap:wrap;
  gap:18px;
  margin-bottom:14px;
}
.stat-box{
  flex:1 1 150px;
  min-width:140px;
  padding:20px 22px;
  border-radius:var(--radius-card);
  background:linear-gradient(160deg,rgba(109,93,252,.14),rgba(34,211,238,.05));
  border:1px solid var(--line);
  box-shadow:var(--shadow-soft);
  transition:.3s;
}
.stat-box:hover{transform:translateY(-4px);border-color:var(--accent)}
.stat-num{
  font-family:"Inter","Noto Serif SC",serif;
  font-size:2.4rem;
  font-weight:900;
  line-height:1;
  color:#fff;
  letter-spacing:-1px;
}
.stat-num span{color:var(--accent);font-size:1.2rem;font-weight:700;margin-left:2px}
.stat-label{color:var(--muted);font-size:.85rem;margin-top:8px}

/* 通用区块 */
.section{
  max-width:1320px;
  margin:0 auto;
  padding:56px 20px;
}
.section-head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:20px;
  margin-bottom:34px;
  flex-wrap:wrap;
}
.section-title{
  font-size:clamp(1.5rem,3vw,2.1rem);
  margin:0;
  color:#fff;
  position:relative;
  padding-left:18px;
}
.section-title::before{
  content:"";
  position:absolute;
  left:0;
  top:.2em;
  bottom:.1em;
  width:6px;
  border-radius:6px;
  background:linear-gradient(180deg,var(--primary),var(--accent));
}
.section-desc{color:var(--muted);font-size:.95rem;margin:0}
.pill-tag{
  display:inline-block;
  padding:5px 16px;
  border-radius:var(--radius-pill);
  background:rgba(34,211,238,.12);
  color:var(--accent);
  font-size:.8rem;
  border:1px solid rgba(34,211,238,.3);
}

/* 榜单 */
.chart-list{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:14px;
}
.chart-item{
  display:flex;
  align-items:center;
  gap:16px;
  padding:14px 18px;
  border-radius:var(--radius-card);
  background:rgba(30,33,64,.6);
  border:1px solid var(--line);
  cursor:pointer;
  transition:.28s;
  box-shadow:var(--shadow-soft);
}
.chart-item:hover{
  transform:translateX(6px);
  background:rgba(109,93,252,.16);
  border-color:var(--accent);
}
.rank-badge{
  width:34px;
  height:34px;
  flex:0 0 34px;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  font-family:"Inter",serif;
  font-weight:900;
  font-size:.95rem;
  background:rgba(255,255,255,.08);
  color:var(--muted);
}
.rank-1{background:linear-gradient(135deg,#ffd76a,#e6a100);color:#2a2000;box-shadow:0 0 16px rgba(255,200,70,.55)}
.rank-2{background:linear-gradient(135deg,#e2e8f0,#9aa6b8);color:#1a1d2b;box-shadow:0 0 16px rgba(200,210,225,.45)}
.rank-3{background:linear-gradient(135deg,#f0a97a,#c96a34);color:#2a1500;box-shadow:0 0 16px rgba(230,140,80,.45)}
.chart-info{flex:1;min-width:0}
.chart-name{font-weight:700;color:#fff;font-size:.98rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.chart-meta{font-size:.78rem;color:var(--muted);margin-top:2px}
.chart-score{
  font-family:"Inter",serif;
  font-weight:800;
  font-size:1.25rem;
  color:var(--accent);
  letter-spacing:-.5px;
}
@media(max-width:767px){.chart-list{grid-template-columns:1fr}}

/* 海报卡片 */
.poster-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(180px,1fr));
  gap:22px;
}
@media(max-width:575px){.poster-grid{grid-template-columns:repeat(2,1fr);gap:14px}}
.poster-card{
  background:var(--card);
  border-radius:var(--radius-card);
  overflow:hidden;
  cursor:pointer;
  border:1px solid rgba(255,255,255,.06);
  box-shadow:var(--shadow-soft);
  transition:transform .3s,box-shadow .3s,border-color .3s;
  display:flex;
  flex-direction:column;
}
.poster-card:hover{
  transform:translateY(-8px);
  border-color:var(--primary);
  box-shadow:0 18px 40px rgba(109,93,252,.35);
}
.poster-thumb{
  position:relative;
  aspect-ratio:2/3;
  overflow:hidden;
  background:linear-gradient(135deg,#1e2140,#2a2d52);
}
.poster-thumb img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  transition:transform .5s;
}
.poster-card:hover .poster-thumb img{transform:scale(1.08)}
.poster-overlay{
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(15,16,32,0) 35%,rgba(15,16,32,.92) 100%);
  opacity:0;
  transition:opacity .35s;
  display:flex;
  align-items:flex-end;
  padding:12px;
}
.poster-card:hover .poster-overlay{opacity:1}
.poster-overlay p{
  margin:0;
  font-size:.76rem;
  color:#cfd3ec;
  line-height:1.5;
  display:-webkit-box;
  -webkit-line-clamp:4;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.score-badge{
  position:absolute;
  top:10px;
  right:10px;
  padding:3px 10px;
  border-radius:var(--radius-pill);
  background:rgba(109,93,252,.92);
  color:#fff;
  font-family:"Inter",serif;
  font-weight:800;
  font-size:.8rem;
  backdrop-filter:blur(4px);
}
.type-badge{
  position:absolute;
  top:10px;
  left:10px;
  padding:2px 10px;
  border-radius:var(--radius-pill);
  background:rgba(15,16,32,.75);
  color:var(--accent);
  font-size:.7rem;
  border:1px solid rgba(34,211,238,.35);
}
.poster-body{padding:12px 14px 14px}
.poster-name{
  font-weight:700;
  font-size:.95rem;
  color:#fff;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.poster-sub{
  font-size:.76rem;
  color:var(--muted);
  margin-top:4px;
  display:flex;
  justify-content:space-between;
  gap:8px;
}

/* 分类筛选 */
.filter-bar{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-bottom:28px;
}
.filter-btn{
  border:1px solid var(--line);
  background:rgba(30,33,64,.6);
  color:var(--text);
  padding:8px 22px;
  border-radius:var(--radius-pill);
  font-size:.88rem;
  cursor:pointer;
  transition:.25s;
}
.filter-btn:hover{border-color:var(--accent);color:var(--accent)}
.filter-btn.active{
  background:linear-gradient(90deg,var(--primary),var(--accent));
  color:#fff;
  border-color:transparent;
  box-shadow:0 8px 20px rgba(109,93,252,.45);
}

/* 特色卡片网格 */
.feature-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(250px,1fr));
  gap:20px;
}
.feature-card{
  padding:28px 24px;
  border-radius:var(--radius-card);
  background:linear-gradient(165deg,rgba(109,93,252,.14),rgba(34,211,238,.04));
  border:1px solid var(--line);
  box-shadow:var(--shadow-soft);
  transition:.3s;
}
.feature-card:hover{transform:translateY(-6px);border-color:var(--accent)}
.feature-icon{
  width:52px;
  height:52px;
  border-radius:14px;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:1.35rem;
  color:#fff;
  background:linear-gradient(135deg,var(--primary),var(--accent));
  margin-bottom:18px;
  box-shadow:0 8px 20px rgba(109,93,252,.4);
}
.feature-card h3{font-size:1.08rem;margin:0 0 10px;color:#fff}
.feature-card p{margin:0;color:var(--muted);font-size:.9rem;line-height:1.75}

/* 步骤条 */
.steps{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
  gap:20px;
  counter-reset:step;
}
.step{
  position:relative;
  padding:26px 22px 22px;
  border-radius:var(--radius-card);
  background:rgba(30,33,64,.55);
  border:1px solid var(--line);
  counter-increment:step;
  transition:.3s;
}
.step::before{
  content:counter(step,decimal-leading-zero);
  font-family:"Inter",serif;
  font-weight:900;
  font-size:2rem;
  color:transparent;
  -webkit-text-stroke:1.5px var(--primary);
  display:block;
  margin-bottom:8px;
  line-height:1;
}
.step:hover{border-color:var(--accent);transform:translateY(-4px)}
.step h4{font-size:1rem;margin:0 0 8px;color:#fff}
.step p{margin:0;color:var(--muted);font-size:.87rem;line-height:1.7}

/* 指南 */
.guide-wrap{
  background:rgba(30,33,64,.45);
  border:1px solid var(--line);
  border-radius:20px;
  padding:36px 32px;
  box-shadow:var(--shadow-soft);
}
.guide-wrap h3{color:#fff;font-size:1.3rem;margin:0 0 16px}
.guide-wrap p{color:#c3c8e6;font-size:.95rem;line-height:1.9;margin:0 0 14px}
.guide-wrap p:last-child{margin-bottom:0}
.guide-wrap strong{color:var(--accent);font-weight:600}

/* 专题 */
.topic-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
  gap:22px;
}
.topic-card{
  border-radius:var(--radius-card);
  padding:26px 24px;
  background:linear-gradient(150deg,rgba(34,211,238,.10),rgba(109,93,252,.12));
  border:1px solid var(--line);
  transition:.3s;
}
.topic-card:hover{transform:translateY(-6px);border-color:var(--accent)}
.topic-card h4{color:#fff;font-size:1.1rem;margin:0 0 10px}
.topic-card .from{color:var(--accent);font-size:.8rem;letter-spacing:1px;text-transform:uppercase;margin-bottom:8px}
.topic-card p{margin:0;color:var(--muted);font-size:.9rem;line-height:1.8}

/* 友链 */
.friend-links{
  max-width:1320px;
  margin:0 auto;
  padding:40px 20px;
  border-top:1px solid var(--line);
}
.friend-links h4{font-size:1rem;color:#fff;margin:0 0 16px;font-family:"Noto Serif SC",serif}
.friend-links p{color:var(--muted);font-size:.85rem;margin:0;word-break:break-all;line-height:2}

/* 页脚 */
.site-footer{
  border-top:1px solid var(--line);
  background:rgba(11,12,25,.7);
  padding:44px 20px 28px;
}
.footer-inner{max-width:1320px;margin:0 auto}
.footer-top{
  display:grid;
  grid-template-columns:1.4fr 1fr 1fr;
  gap:32px;
  margin-bottom:32px;
}
@media(max-width:767px){.footer-top{grid-template-columns:1fr;gap:24px}}
.footer-brand{
  font-family:"Noto Serif SC",serif;
  font-size:1.3rem;
  font-weight:900;
  color:#fff;
  margin-bottom:12px;
  display:flex;
  align-items:center;
  gap:8px;
}
.footer-brand i{color:var(--accent)}
.footer-brand:hover{color:var(--accent)}
.footer-desc{color:var(--muted);font-size:.87rem;line-height:1.9;margin:0}
.footer-col h5{font-size:.95rem;color:#fff;margin:0 0 14px;font-family:"Noto Serif SC",serif}
.footer-col ul{list-style:none;padding:0;margin:0}
.footer-col li{margin-bottom:9px}
.footer-col a{color:var(--muted);font-size:.87rem;transition:.2s}
.footer-col a:hover{color:var(--accent)}
.footer-bottom{
  border-top:1px solid var(--line);
  padding-top:20px;
  text-align:center;
  color:var(--muted);
  font-size:.82rem;
}

/* 弹窗 */
.modal-mask{
  position:fixed;
  inset:0;
  background:rgba(6,7,18,.82);
  backdrop-filter:blur(6px);
  z-index:2000;
  display:none;
  align-items:center;
  justify-content:center;
  padding:20px;
}
.modal-mask.show{display:flex}
.modal-card{
  position:relative;
  width:100%;
  max-width:820px;
  max-height:88vh;
  overflow-y:auto;
  background:#f5f6fb;
  border-radius:20px;
  box-shadow:0 30px 80px rgba(0,0,0,.6);
  display:grid;
  grid-template-columns:300px 1fr;
  animation:pop .3s ease;
}
@keyframes pop{from{opacity:0;transform:translateY(24px) scale(.97)}to{opacity:1;transform:none}}
@media(max-width:700px){
  .modal-card{grid-template-columns:1fr;max-height:90vh}
}
.modal-poster{background:#12132a;overflow:hidden}
.modal-poster img{width:100%;height:100%;object-fit:cover;display:block;min-height:100%}
@media(max-width:700px){.modal-poster img{max-height:260px}}
.modal-body{padding:30px 30px 32px;color:#1a1d33;position:relative}
.modal-close{
  position:absolute;
  top:12px;
  right:14px;
  width:36px;
  height:36px;
  border-radius:50%;
  border:none;
  background:#e3e5f0;
  color:#3a3f63;
  font-size:1.1rem;
  cursor:pointer;
  transition:.2s;
  display:flex;
  align-items:center;
  justify-content:center;
}
.modal-close:hover{background:var(--primary);color:#fff}
.modal-title{
  font-family:"Noto Serif SC",serif;
  font-size:1.5rem;
  margin:0 0 6px;
  color:#12132a;
  padding-right:36px;
}
.modal-score{
  display:inline-block;
  background:linear-gradient(90deg,var(--primary),var(--accent));
  color:#fff;
  padding:3px 14px;
  border-radius:var(--radius-pill);
  font-family:"Inter",serif;
  font-weight:800;
  font-size:.85rem;
  margin-bottom:18px;
}
.modal-meta{display:grid;grid-template-columns:1fr 1fr;gap:10px 18px;margin-bottom:18px}
.modal-meta div{font-size:.85rem;color:#4a4f70;line-height:1.6}
.modal-meta span{color:#8a8fae;display:block;font-size:.75rem;margin-bottom:2px}
.modal-plot{
  font-size:.9rem;
  line-height:1.9;
  color:#33385a;
  background:#e9ebf5;
  border-radius:12px;
  padding:16px 18px;
  margin:0;
}
.modal-plot b{color:var(--primary)}

/* 滚动动画 */
.reveal{opacity:0;transform:translateY(28px);transition:opacity .7s ease,transform .7s ease}
.reveal.in{opacity:1;transform:none}
.stagger>*{opacity:0;transform:translateY(24px);transition:opacity .6s ease,transform .6s ease}
.stagger.in>*{opacity:1;transform:none}

/* --- 子页面追加 --- */
/* 本页专属少量样式，复用站点变量与类名 */
    .guide-wrap { max-width: 1120px; margin: 0 auto; padding: 0 20px; }
.guide-toc {
      background: var(--card);
      border: 1px solid var(--line);
      border-radius: var(--radius-card);
      padding: 22px 26px;
      box-shadow: var(--shadow-soft);
    }
.guide-toc h3 {
      font-size: 1.05rem;
      margin: 0 0 14px;
      color: var(--text);
      display: flex; align-items: center; gap: 10px;
    }
.guide-toc h3 i { color: var(--accent); }
.guide-toc ol {
      margin: 0; padding-left: 20px;
      color: var(--muted); font-size: .93rem; line-height: 2;
    }
.guide-toc a { color: var(--muted); text-decoration: none; transition: .2s; }
.guide-toc a:hover { color: var(--accent); }
.step-grid {
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
      gap: 18px;
      margin-top: 26px;
    }
.step-card {
      background: var(--card);
      border: 1px solid var(--line);
      border-radius: var(--radius-card);
      padding: 24px 22px;
      box-shadow: var(--shadow-soft);
      transition: transform .25s ease, border-color .25s ease;
    }
.step-card:hover { transform: translateY(-4px); border-color: var(--primary); }
.step-num {
      display: inline-flex; align-items: center; justify-content: center;
      width: 38px; height: 38px; border-radius: 12px;
      background: linear-gradient(135deg, var(--primary), var(--accent));
      color: #fff; font-weight: 800; font-size: 1rem;
      margin-bottom: 14px;
    }
.step-card h4 {
      font-size: 1.05rem; color: var(--text); margin: 0 0 10px; font-weight: 700;
    }
.step-card p {
      color: var(--muted); font-size: .92rem; line-height: 1.75; margin: 0;
    }
.faq-list { margin-top: 26px; display: flex; flex-direction: column; gap: 14px; }
.faq-item {
      background: var(--card);
      border: 1px solid var(--line);
      border-radius: var(--radius-card);
      padding: 20px 24px;
      box-shadow: var(--shadow-soft);
    }
.faq-item h4 {
      font-size: 1rem; color: var(--text); margin: 0 0 10px;
      display: flex; align-items: flex-start; gap: 10px; font-weight: 700;
    }
.faq-item h4 i { color: var(--accent); margin-top: 3px; font-size: .9rem; }
.faq-item p { color: var(--muted); font-size: .92rem; line-height: 1.8; margin: 0; }
.tip-banner {
      margin-top: 34px;
      background: linear-gradient(135deg, rgba(109,93,252,.18), rgba(34,211,238,.12));
      border: 1px solid var(--line);
      border-radius: var(--radius-card);
      padding: 26px 28px;
      display: flex; gap: 18px; align-items: flex-start;
      box-shadow: var(--shadow-soft);
    }
.tip-banner i { color: var(--accent); font-size: 1.6rem; margin-top: 2px; }
.tip-banner div p { color: var(--muted); font-size: .93rem; line-height: 1.8; margin: 0; }
.tip-banner div strong { color: var(--text); }
.guide-hero { padding: 70px 0 40px; }
.guide-hero h1 {
      font-size: clamp(1.8rem, 4vw, 2.8rem);
      font-weight: 800; line-height: 1.3; margin: 14px 0 18px;
      color: var(--text);
    }
.guide-hero h1 span {
      background: linear-gradient(90deg, var(--primary), var(--accent));
      -webkit-background-clip: text; background-clip: text; color: transparent;
    }
.guide-hero p.hero-sub { max-width: 760px; color: var(--muted); font-size: 1rem; line-height: 1.9; }
.guide-section { padding: 26px 0 10px; }
.guide-section .section-title { margin-bottom: 6px; }
.link-inline { color: var(--accent); text-decoration: none; border-bottom: 1px dashed rgba(34,211,238,.5); }
.link-inline:hover { color: var(--primary); border-color: var(--primary); }
.guide-toc { padding: 18px; }
.tip-banner { flex-direction: column; gap: 12px; }

/* --- 子页面追加 --- */
/* 本页专属少量样式：关于页排版块，全部沿用站点配色变量 */
  .about-lead {
    max-width:820px;
    color:var(--muted);
    font-size:1.02rem;
    line-height:1.9;
    margin:0 auto;
    text-align:center;
  }
.about-grid {
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
    gap:22px;
    margin-top:38px;
  }
.about-card {
    background:var(--card);
    border:1px solid var(--line);
    border-radius:var(--radius-card);
    padding:26px 24px;
    box-shadow:var(--shadow-soft);
    transition:transform .25s ease, border-color .25s ease;
  }
.about-card:hover {
    transform:translateY(-4px);
    border-color:rgba(34,211,238,.45);
  }
.about-card .ico {
    width:46px;height:46px;
    display:flex;align-items:center;justify-content:center;
    border-radius:14px;
    background:linear-gradient(135deg,rgba(109,93,252,.85),rgba(34,211,238,.75));
    color:#fff;font-size:1.1rem;
    margin-bottom:16px;
  }
.about-card h3 {
    font-size:1.08rem;
    font-weight:700;
    color:var(--text);
    margin:0 0 10px;
  }
.about-card p {
    margin:0;
    color:var(--muted);
    font-size:.94rem;
    line-height:1.85;
  }
.about-block {
    background:var(--card-soft);
    border:1px solid var(--line);
    border-radius:var(--radius-card);
    padding:34px 32px;
    margin-top:30px;
    box-shadow:var(--shadow-soft);
  }
.about-block h3 {
    font-size:1.2rem;
    font-weight:700;
    color:var(--text);
    margin:0 0 16px;
    display:flex;
    align-items:center;
    gap:10px;
  }
.about-block h3 i {color:var(--accent);font-size:1rem;}
.about-block p {
    color:var(--muted);
    line-height:1.95;
    font-size:.96rem;
    margin:0 0 14px;
  }
.about-block p:last-child {margin-bottom:0;}
.about-block strong {color:var(--text);font-weight:600;}
.about-list {
    list-style:none;
    padding:0;margin:0;
  }
.about-list li {
    position:relative;
    padding-left:26px;
    color:var(--muted);
    font-size:.96rem;
    line-height:1.9;
    margin-bottom:12px;
  }
.about-list li::before {
    content:"\f00c";
    font-family:"Font Awesome 6 Free";
    font-weight:900;
    position:absolute;
    left:0;top:2px;
    color:var(--accent);
    font-size:.82rem;
  }
.about-list li strong {color:var(--text);font-weight:600;}
.about-stats {
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(150px,1fr));
    gap:18px;
    margin-top:34px;
  }
.about-stat {
    background:var(--card);
    border:1px solid var(--line);
    border-radius:var(--radius-card);
    padding:22px 18px;
    text-align:center;
  }
.about-stat .n {
    font-size:1.7rem;
    font-weight:800;
    background:linear-gradient(90deg,var(--primary),var(--accent));
    -webkit-background-clip:text;
    background-clip:text;
    color:transparent;
    line-height:1.2;
  }
.about-stat .l {
    color:var(--muted);
    font-size:.86rem;
    margin-top:6px;
  }
.about-note {
    margin-top:34px;
    padding:22px 24px;
    border-left:3px solid var(--accent);
    background:rgba(34,211,238,.06);
    border-radius:0 var(--radius-card) var(--radius-card) 0;
    color:var(--muted);
    font-size:.93rem;
    line-height:1.9;
  }
.about-note strong {color:var(--text);}
.about-block {padding:26px 20px;}
.about-card {padding:22px 20px;}

/* --- 子页面追加 --- */
.disc-hero { padding: 96px 0 40px; }
.disc-card {
    background: var(--card);
    border: 1px solid var(--line);
    border-radius: var(--radius-card);
    box-shadow: var(--shadow-soft);
    padding: 26px 26px 22px;
    height: 100%;
  }
.disc-card h3 {
    font-size: 1.05rem;
    font-weight: 700;
    color: var(--text);
    margin: 0 0 12px;
    display: flex;
    align-items: center;
    gap: 10px;
  }
.disc-card h3 i { color: var(--accent); font-size: .95rem; }
.disc-card p, .disc-card li {
    color: var(--muted);
    font-size: .93rem;
    line-height: 1.85;
    margin: 0;
  }
.disc-card ul { padding-left: 18px; margin: 0; }
.disc-card ul li { margin-bottom: 6px; }
.disc-card ul li:last-child { margin-bottom: 0; }
.disc-list-num {
    list-style: none;
    padding-left: 0;
    counter-reset: disc;
  }
.disc-list-num li {
    position: relative;
    padding-left: 40px;
    margin-bottom: 14px;
    color: var(--muted);
    font-size: .93rem;
    line-height: 1.85;
    counter-increment: disc;
  }
.disc-list-num li::before {
    content: counter(disc);
    position: absolute;
    left: 0; top: 2px;
    width: 26px; height: 26px;
    border-radius: 50%;
    background: rgba(109,93,252,.16);
    border: 1px solid var(--line);
    color: var(--accent);
    font-size: .78rem;
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: center;
  }
.disc-list-num li strong { color: var(--text); font-weight: 600; }
.disc-note {
    background: var(--card-soft);
    border: 1px solid var(--line);
    border-left: 3px solid var(--accent);
    border-radius: 10px;
    padding: 16px 18px;
    color: var(--muted);
    font-size: .9rem;
    line-height: 1.85;
    margin-top: 8px;
  }
.disc-note strong { color: var(--text); }
.disc-updated { color: var(--muted); font-size: .82rem; letter-spacing: .3px; }
.disc-hero { padding: 72px 0 24px; }
.disc-card { padding: 20px 18px; }

/* --- 子页面追加 --- */
.rank-hero {padding:120px 0 40px;}
.rule-grid {display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px;}
.rule-card {background:var(--card);border:1px solid var(--line);border-radius:var(--radius-card);padding:24px;box-shadow:var(--shadow-soft);}
.rule-card h3 {font-size:1.05rem;margin:0 0 10px;color:var(--text);display:flex;align-items:center;gap:10px;}
.rule-card h3 i {color:var(--accent);}
.rule-card p {margin:0;color:var(--muted);font-size:.94rem;line-height:1.75;}
.board-table {width:100%;border-collapse:collapse;background:var(--card);border-radius:var(--radius-card);overflow:hidden;box-shadow:var(--shadow-soft);}
.board-table th,.board-table td {padding:14px 16px;text-align:left;font-size:.92rem;border-bottom:1px solid var(--line);}
.board-table th {background:var(--card-soft);color:var(--text);font-weight:600;white-space:nowrap;}
.board-table td {color:var(--muted);}
.board-table tr:last-child td {border-bottom:none;}
.board-table td strong {color:var(--accent);font-weight:600;}
.faq-item h3 {margin:0 0 10px;font-size:1rem;color:var(--text);}
.note-box {background:linear-gradient(135deg,rgba(109,93,252,.16),rgba(34,211,238,.1));border:1px solid var(--line);border-radius:var(--radius-card);padding:22px 24px;color:var(--text);}
.note-box p {margin:0;color:var(--muted);font-size:.94rem;line-height:1.8;}
.note-box p strong {color:var(--accent);}
.board-table th,.board-table td {padding:10px 12px;font-size:.85rem;}
.rank-hero {padding:100px 0 30px;}