:root{
    --primary:#2563eb;
    --accent:#06b6d4;
    --bg:#f4f8ff;
    --text:#0f1e3d;
    --line:#dbe6f7;
    --muted:#5a6b8c;
    --card:#ffffff;
  }
  *{box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  body{
    margin:0;
    background:var(--bg);
    color:var(--text);
    font-family:'Inter','PingFang SC','Microsoft YaHei',sans-serif;
    font-size:16px;
    line-height:1.85;
    -webkit-font-smoothing:antialiased;
  }
  a{text-decoration:none;color:inherit;}
  img{display:block;max-width:100%;}
  h1,h2,h3,h4{
    font-family:'Inter','PingFang SC','Microsoft YaHei',sans-serif;
    font-weight:900;
    letter-spacing:-.02em;
    line-height:1.3;
    color:var(--text);
  }
  .wrap{max-width:1220px;margin:0 auto;padding:0 20px;}
  .mono{font-family:'SFMono-Regular',ui-monospace,Menlo,Consolas,monospace;font-variant-numeric:tabular-nums;}

  /* 进度条 */
  #progressBar{
    position:fixed;top:0;left:0;height:3px;width:0%;
    background:linear-gradient(90deg,var(--primary),var(--accent));
    z-index:2000;transition:width .08s linear;
  }

  /* 导航 */
  .topnav{
    position:sticky;top:0;z-index:1500;
    background:rgba(244,248,255,.88);
    backdrop-filter:blur(12px);
    border-bottom:1px solid var(--line);
  }
  .nav-inner{
    display:flex;align-items:center;justify-content:space-between;
    height:68px;gap:16px;
  }
  .brand{
    font-weight:900;font-size:1.32rem;letter-spacing:-.03em;
    color:var(--text);display:inline-flex;align-items:center;gap:.45rem;
  }
  .brand i{color:var(--primary);font-size:1.1rem;}
  .nav-links{display:flex;align-items:center;gap:4px;list-style:none;margin:0;padding:0;}
  .nav-links a{
    display:inline-block;padding:9px 14px;border-radius:8px;
    font-size:.94rem;font-weight:500;color:var(--muted);
    transition:color .2s ease,background .2s ease;
    white-space:nowrap;
  }
  .nav-links a:hover{color:var(--primary);background:#e8f0ff;}
  .nav-links a.active{color:var(--primary);font-weight:700;}
  .nav-toggle{
    display:none;background:#fff;border:1px solid var(--line);
    border-radius:8px;width:42px;height:40px;color:var(--text);
    font-size:1rem;cursor:pointer;
  }
  .mobile-panel{display:none;border-top:1px solid var(--line);background:#fff;}
  .mobile-panel.open{display:block;}
  .mobile-panel ul{list-style:none;margin:0;padding:8px 20px 16px;}
  .mobile-panel li a{display:block;padding:11px 4px;border-bottom:1px dashed var(--line);font-size:.96rem;color:var(--text);}
  .mobile-panel li:last-child a{border-bottom:none;}

  /* Hero */
  .hero{
    position:relative;overflow:hidden;
    border-bottom:1px solid var(--line);
    background:
      radial-gradient(900px 380px at 82% -8%,rgba(6,182,212,.16),transparent 62%),
      radial-gradient(760px 340px at 8% 0%,rgba(37,99,235,.14),transparent 60%),
      linear-gradient(180deg,#0f1e3d 0%,#132a52 58%,#17365f 100%);
    color:#eaf2ff;
  }
  .hero .wrap{position:relative;z-index:2;padding-top:64px;padding-bottom:64px;}
  .hero-eyebrow{
    display:inline-flex;align-items:center;gap:.5rem;
    border:1px solid rgba(255,255,255,.24);border-radius:999px;
    padding:6px 14px;font-size:.8rem;letter-spacing:.08em;
    text-transform:uppercase;color:#bfe0ff;margin-bottom:22px;
  }
  .hero-eyebrow i{color:var(--accent);}
  .hero h1{
    font-size:clamp(2rem,4.6vw,3.5rem);
    color:#fff;margin:0 0 18px;max-width:16em;
  }
  .grad-text{
    background:linear-gradient(96deg,#7dd3fc 0%,#67e8f9 40%,#93c5fd 100%);
    -webkit-background-clip:text;background-clip:text;color:transparent;
  }
  .hero p.lead{
    font-size:1.06rem;color:#c6d8f2;max-width:640px;margin-bottom:30px;font-weight:400;
  }
  .hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:44px;}
  .btn-main{
    display:inline-flex;align-items:center;gap:.5rem;
    background:linear-gradient(90deg,var(--primary),var(--accent));
    color:#fff;padding:12px 26px;border-radius:10px;font-weight:700;font-size:.96rem;
    border:none;transition:transform .2s ease,opacity .2s ease;
  }
  .btn-main:hover{transform:translateY(-2px);opacity:.94;color:#fff;}
  .btn-ghost{
    display:inline-flex;align-items:center;gap:.5rem;
    border:1px solid rgba(255,255,255,.34);color:#e3efff;
    padding:12px 24px;border-radius:10px;font-weight:600;font-size:.96rem;
    transition:background .2s ease,border-color .2s ease;
  }
  .btn-ghost:hover{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.6);color:#fff;}
  .hero-stats{
    display:grid;grid-template-columns:repeat(4,1fr);gap:0;
    border-top:1px solid rgba(255,255,255,.18);
  }
  .hero-stats div{
    padding:22px 18px 0 0;border-right:1px solid rgba(255,255,255,.12);
  }
  .hero-stats div:last-child{border-right:none;}
  .hero-stats .num{
    font-size:1.7rem;font-weight:800;color:#fff;line-height:1.2;
  }
  .hero-stats .num span{color:var(--accent);}
  .hero-stats .lab{font-size:.82rem;color:#a9c2e4;letter-spacing:.04em;}
  .hero-float{
    position:absolute;border-radius:50%;pointer-events:none;z-index:1;
    border:1px solid rgba(125,211,252,.28);
  }
  .hf1{width:220px;height:220px;right:-60px;top:20px;background:radial-gradient(circle,rgba(6,182,212,.16),transparent 68%);animation:floatY 9s ease-in-out infinite;}
  .hf2{width:130px;height:130px;right:180px;bottom:-40px;background:radial-gradient(circle,rgba(37,99,235,.22),transparent 70%);animation:floatY 11s ease-in-out infinite reverse;}
  .hf3{width:70px;height:70px;left:6%;bottom:24px;border-color:rgba(147,197,253,.4);animation:floatY 7s ease-in-out infinite;}
  @keyframes floatY{0%,100%{transform:translateY(0);}50%{transform:translateY(-18px);}}

  /* 通用区块 */
  section.block{padding:64px 0;border-bottom:1px solid var(--line);}
  .sec-head{
    display:flex;align-items:flex-end;justify-content:space-between;
    gap:16px;margin-bottom:34px;flex-wrap:wrap;
  }
  .sec-head h2{font-size:clamp(1.35rem,2.4vw,1.85rem);margin:0;}
  .sec-head .sub{color:var(--muted);font-size:.94rem;margin:6px 0 0;font-weight:400;}
  .sec-head .more{
    font-size:.9rem;font-weight:600;color:var(--primary);
    display:inline-flex;align-items:center;gap:.4rem;
    border:1px solid var(--line);border-radius:999px;padding:7px 16px;background:#fff;
    transition:border-color .2s ease,background .2s ease;
  }
  .sec-head .more:hover{border-color:var(--primary);background:#eef4ff;}

  /* 海报网格 */
  .poster-grid{
    display:grid;gap:20px;width:100%;
    grid-template-columns:repeat(6,minmax(0,1fr));
  }
  .poster-card{
    width:100%;background:var(--card);border:1px solid var(--line);
    border-radius:12px;overflow:hidden;position:relative;
    transition:transform .25s ease,border-color .25s ease;
  }
  .poster-card:hover{transform:translateY(-4px);border-color:#b9d2f7;}
  .poster-thumb{
    position:relative;width:100%;aspect-ratio:2/3;overflow:hidden;background:#e6eefc;
  }
  .poster-thumb img{
    width:100%;height:100%;object-fit:cover;
    transition:transform .45s ease;
  }
  .poster-card:hover .poster-thumb img{transform:scale(1.07);}
  .poster-mask{
    position:absolute;inset:0;
    background:linear-gradient(180deg,rgba(15,30,61,0) 34%,rgba(15,30,61,.86) 100%);
    opacity:0;transition:opacity .3s ease;
    display:flex;flex-direction:column;justify-content:flex-end;
    padding:14px;
  }
  .poster-card:hover .poster-mask{opacity:1;}
  .poster-mask .tagline{font-size:.76rem;color:#cfe4ff;line-height:1.6;}
  .play-btn{
    position:absolute;top:50%;left:50%;transform:translate(-50%,-50%) scale(.86);
    width:48px;height:48px;border-radius:50%;
    background:rgba(255,255,255,.92);color:var(--primary);
    display:flex;align-items:center;justify-content:center;
    font-size:1rem;opacity:0;transition:opacity .3s ease,transform .3s ease;
  }
  .poster-card:hover .play-btn{opacity:1;transform:translate(-50%,-50%) scale(1);}
  .poster-info{padding:12px 13px 14px;}
  .poster-info .name{
    font-size:.93rem;font-weight:700;line-height:1.4;margin:0;
    display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden;
  }
  .poster-info .meta{
    font-size:.78rem;color:var(--muted);margin-top:5px;
    display:flex;align-items:center;justify-content:space-between;gap:6px;
  }
  .poster-info .meta .score{color:var(--primary);font-weight:700;}

  /* 正在热播：横向卡片网格 */
  .hot-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;}
  .hot-card{
    border:1px solid var(--line);border-radius:12px;overflow:hidden;background:#fff;
    transition:border-color .25s ease,transform .25s ease;
  }
  .hot-card:hover{border-color:#b9d2f7;transform:translateY(-3px);}
  .hot-card .thumb{position:relative;aspect-ratio:16/9;overflow:hidden;background:#e6eefc;}
  .hot-card .thumb img{width:100%;height:100%;object-fit:cover;transition:transform .45s ease;}
  .hot-card:hover .thumb img{transform:scale(1.07);}
  .hot-card .thumb .veil{
    position:absolute;inset:0;background:linear-gradient(180deg,rgba(15,30,61,0) 40%,rgba(15,30,61,.78) 100%);
  }
  .hot-card .thumb .rank{
    position:absolute;top:10px;left:10px;
    background:rgba(255,255,255,.94);color:var(--primary);
    font-weight:800;font-size:.78rem;padding:3px 9px;border-radius:6px;
  }
  .hot-card .thumb .pv{
    position:absolute;right:10px;bottom:10px;color:#fff;font-size:.86rem;
    width:34px;height:34px;border-radius:50%;background:rgba(37,99,235,.9);
    display:flex;align-items:center;justify-content:center;
  }
  .hot-card .body{padding:14px 15px 16px;}
  .hot-card .body h4{font-size:.98rem;margin:0 0 6px;}
  .hot-card .body p{font-size:.82rem;color:var(--muted);margin:0;line-height:1.65;}

  /* 分区 tab 说明 */
  .zone-note{
    border:1px dashed var(--line);border-radius:10px;padding:14px 18px;
    font-size:.88rem;color:var(--muted);margin-bottom:28px;background:#fff;
  }
  .zone-note strong{color:var(--text);}

  /* 周榜 */
  .chart-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--line);}
  .chart-list li{
    display:grid;grid-template-columns:52px 1fr auto;align-items:center;gap:16px;
    padding:16px 6px;border-bottom:1px solid var(--line);
    transition:background .2s ease,padding-left .2s ease;
  }
  .chart-list li:hover{background:#eef4ff;padding-left:14px;}
  .chart-list .idx{
    font-size:1.25rem;font-weight:800;color:#b9cbe8;
  }
  .chart-list li:nth-child(1) .idx{color:#e0a53a;}
  .chart-list li:nth-child(2) .idx{color:#8fa8bf;}
  .chart-list li:nth-child(3) .idx{color:#c08457;}
  .chart-list .t{font-weight:700;font-size:.98rem;}
  .chart-list .t small{display:block;font-weight:400;color:var(--muted);font-size:.8rem;margin-top:3px;}
  .chart-list .heat{
    font-size:.85rem;color:var(--primary);font-weight:700;
  }

  /* 步骤条 */
  .steps{
    display:grid;grid-template-columns:repeat(4,1fr);gap:0;
    border:1px solid var(--line);border-radius:12px;overflow:hidden;background:#fff;
  }
  .step{
    padding:26px 22px;border-right:1px solid var(--line);position:relative;
  }
  .step:last-child{border-right:none;}
  .step .sn{
    font-size:.76rem;letter-spacing:.14em;color:var(--accent);font-weight:700;
    text-transform:uppercase;
  }
  .step h4{font-size:1rem;margin:10px 0 8px;}
  .step p{font-size:.85rem;color:var(--muted);margin:0;line-height:1.75;}

  /* 即将上线 */
  .up-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;}
  .up-card{
    border:1px solid var(--line);border-radius:12px;padding:20px;background:#fff;
    display:flex;gap:16px;align-items:flex-start;
    transition:border-color .25s ease;
  }
  .up-card:hover{border-color:#b9d2f7;}
  .up-card .date{
    flex:0 0 auto;text-align:center;border:1px solid var(--line);border-radius:8px;
    padding:8px 10px;min-width:62px;
  }
  .up-card .date .d{font-size:1.2rem;font-weight:800;color:var(--primary);line-height:1.1;}
  .up-card .date .m{font-size:.7rem;color:var(--muted);letter-spacing:.06em;}
  .up-card h4{font-size:.95rem;margin:0 0 6px;}
  .up-card p{font-size:.82rem;color:var(--muted);margin:0;line-height:1.7;}

  /* FAQ */
  .faq-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;}
  .faq-item{
    border:1px solid var(--line);border-radius:10px;padding:20px 22px;background:#fff;
  }
  .faq-item h4{font-size:.96rem;margin:0 0 9px;display:flex;gap:.45rem;align-items:flex-start;}
  .faq-item h4 i{color:var(--accent);font-size:.85rem;margin-top:5px;flex:0 0 auto;}
  .faq-item p{font-size:.86rem;color:var(--muted);margin:0;line-height:1.8;}

  /* 友链 */
  .friend-links{
    border-top:1px solid var(--line);border-bottom:1px solid var(--line);
    padding:34px 0;background:#fff;
  }
  .friend-links .fl-title{
    font-size:.9rem;font-weight:700;letter-spacing:.08em;color:var(--muted);
    text-transform:uppercase;margin-bottom:14px;
  }
  .friend-links .fl-body{font-size:.88rem;color:var(--muted);line-height:2;word-break:break-all;}

  /* 页脚 */
  footer.site-foot{background:#0f1e3d;color:#c3d5ef;padding:56px 0 24px;}
  .foot-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:34px;margin-bottom:40px;}
  footer.site-foot h5{color:#fff;font-size:.95rem;margin:0 0 16px;font-weight:700;letter-spacing:.02em;}
  footer.site-foot p{font-size:.86rem;line-height:1.9;color:#9fb6d4;margin:0;}
  footer.site-foot ul{list-style:none;margin:0;padding:0;}
  footer.site-foot ul li{margin-bottom:10px;}
  footer.site-foot ul li a{font-size:.86rem;color:#9fb6d4;transition:color .2s ease;}
  footer.site-foot ul li a:hover{color:#7dd3fc;}
  .foot-brand{
    font-weight:900;font-size:1.24rem;color:#fff;display:inline-flex;align-items:center;gap:.45rem;
    margin-bottom:14px;
  }
  .foot-brand i{color:var(--accent);}
  .foot-bottom{
    border-top:1px solid rgba(255,255,255,.12);padding-top:20px;
    display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;
    font-size:.8rem;color:#7f97b6;
  }

  @media (max-width:1100px){
    .poster-grid{grid-template-columns:repeat(4,minmax(0,1fr));}
    .hot-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
    .steps{grid-template-columns:repeat(2,1fr);}
    .step:nth-child(2){border-right:none;}
    .step:nth-child(1),.step:nth-child(2){border-bottom:1px solid var(--line);}
    .up-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
    .foot-grid{grid-template-columns:1fr 1fr;}
  }
  @media (max-width:860px){
    .nav-links{display:none;}
    .nav-toggle{display:block;}
    .hero-stats{grid-template-columns:repeat(2,1fr);}
    .hero-stats div:nth-child(2){border-right:none;}
    .hero-stats div{padding-bottom:18px;}
    .faq-grid{grid-template-columns:1fr;}
  }
  @media (max-width:640px){
    .poster-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;}
    .hot-grid{grid-template-columns:1fr;}
    .steps{grid-template-columns:1fr;}
    .step{border-right:none;border-bottom:1px solid var(--line);}
    .step:last-child{border-bottom:none;}
    .up-grid{grid-template-columns:1fr;}
    .foot-grid{grid-template-columns:1fr;}
    section.block{padding:44px 0;}
    .hero .wrap{padding-top:42px;padding-bottom:44px;}
    .chart-list li{grid-template-columns:36px 1fr auto;gap:10px;}
    .chart-list .heat{font-size:.78rem;}
  }
  @media (max-width:400px){
    .poster-grid{grid-template-columns:1fr;}
  }

/* --- 子页面追加 --- */
.rank-page { padding: 48px 0 64px; }
.rank-lead { max-width: 760px; color: var(--muted); font-size: 16px; line-height: 1.85; margin: 0 auto 8px; }
.rank-tabs { display: flex; flex-wrap: wrap; gap: 10px; margin: 32px 0 8px; }
.rank-tabs button {
    font-family: inherit; cursor: pointer; border: 1px solid var(--line);
    background: var(--card); color: var(--muted); font-size: 14px; font-weight: 600;
    padding: 9px 20px; border-radius: 999px; transition: .2s;
  }
.rank-tabs button:hover { border-color: var(--primary); color: var(--primary); }
.rank-tabs button.on { background: var(--primary); color: #fff; border-color: var(--primary); box-shadow: 0 6px 18px rgba(37,99,235,.25); }
.rank-list { display: flex; flex-direction: column; gap: 14px; margin-top: 26px; }
.rank-row {
    display: grid; grid-template-columns: 56px 88px 1fr auto; gap: 18px; align-items: center;
    background: var(--card); border: 1px solid var(--line); border-radius: 16px;
    padding: 12px 20px 12px 12px; transition: .22s;
  }
.rank-row:hover { border-color: var(--primary); box-shadow: 0 10px 28px rgba(37,99,235,.10); transform: translateY(-2px); }
.rank-no {
    font-size: 26px; font-weight: 800; text-align: center; color: var(--line);
    font-variant-numeric: tabular-nums;
  }
.rank-row:nth-child(1) .rank-no { color: #f59e0b; }
.rank-row:nth-child(2) .rank-no { color: #94a3b8; }
.rank-row:nth-child(3) .rank-no { color: #c2703d; }
.rank-thumb {
    width: 88px; height: 118px; border-radius: 10px; overflow: hidden;
    background: linear-gradient(135deg, #dbe6f7, #eef4ff); position: relative;
  }
.rank-thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
.rank-info h3 { font-size: 17px; font-weight: 700; margin: 0 0 6px; color: var(--text); }
.rank-tags { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 8px; }
.rank-tags span {
    font-size: 12px; color: var(--muted); background: var(--bg);
    border: 1px solid var(--line); border-radius: 6px; padding: 2px 8px;
  }
.rank-tags span.tag-accent { color: var(--accent); border-color: rgba(6,182,212,.35); background: rgba(6,182,212,.08); }
.rank-desc { font-size: 13.5px; color: var(--muted); margin: 0; line-height: 1.7; }
.rank-score { text-align: right; min-width: 96px; }
.rank-score b { display: block; font-size: 22px; font-weight: 800; color: var(--primary); font-variant-numeric: tabular-nums; }
.rank-score small { font-size: 12px; color: var(--muted); }
.rank-heat { display: flex; align-items: center; justify-content: flex-end; gap: 6px; font-size: 12px; color: var(--muted); margin-top: 4px; }
.rank-heat i { color: #ef4444; }
.rank-score em { font-style: normal; display: inline-block; font-size: 12px; color: #ef4444; font-weight: 700; }
.rank-note { background: var(--card); border: 1px solid var(--line); border-radius: 16px; padding: 26px 28px; margin-top: 40px; }
.rank-note h2 { font-size: 20px; font-weight: 800; margin: 0 0 14px; color: var(--text); }
.rank-note p { font-size: 14.5px; color: var(--muted); line-height: 1.9; margin: 0 0 12px; }
.rank-note p:last-child { margin-bottom: 0; }
.rank-row { grid-template-columns: 46px 70px 1fr; gap: 14px; padding: 12px 16px 12px 10px; }
.rank-thumb { width: 70px; height: 96px; }
.rank-score { grid-column: 2 / 4; text-align: left; display: flex; align-items: baseline; gap: 10px; margin-top: -4px; }
.rank-score b { font-size: 17px; }
.rank-heat { margin-top: 0; }
.rank-no { font-size: 20px; }
.rank-info h3 { font-size: 15.5px; }

/* --- 子页面追加 --- */
/* ---------- 页面级补充样式（少量，仅本页用） ---------- */
  .about-hero {
    position:relative;overflow:hidden;
    padding:64px 0 56px;
    background:
      radial-gradient(900px 420px at 12% -10%, rgba(37,99,235,.16), transparent 60%),
      radial-gradient(700px 360px at 92% 0%, rgba(6,182,212,.18), transparent 62%),
      linear-gradient(180deg,#f8fbff 0%, var(--bg) 100%);
    border-bottom:1px solid var(--line);
  }
.about-hero h1 {font-size:clamp(1.7rem,4vw,2.9rem);font-weight:900;line-height:1.2;letter-spacing:-.02em;margin:14px 0 16px;}
.about-lead {color:var(--muted);font-size:1.02rem;line-height:1.85;max-width:720px;}
.about-hero .hero-stats {display:flex;flex-wrap:wrap;gap:28px;margin-top:34px;}
.about-hero .hero-stats .stat b {display:block;font-size:1.55rem;font-weight:900;color:var(--primary);}
.about-hero .hero-stats .stat span {font-size:.82rem;color:var(--muted);letter-spacing:.04em;}
.sec {padding:58px 0;}
.sec + .sec {border-top:1px solid var(--line);}
.sec-head .eyebrow {
    display:inline-flex;align-items:center;gap:8px;
    font-size:.76rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;
    color:var(--accent);background:rgba(6,182,212,.1);
    border:1px solid rgba(6,182,212,.25);
    padding:5px 12px;border-radius:999px;margin-bottom:12px;
  }
.sec-head p {color:var(--muted);line-height:1.85;margin:0;max-width:780px;}
/* 卡片：自定义类，不依赖 Bootstrap 组件 */
  .info-card {
    background:var(--card);border:1px solid var(--line);border-radius:16px;
    padding:26px 24px;height:100%;
    box-shadow:0 6px 22px rgba(37,99,235,.05);
    transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease;
  }
.info-card:hover {transform:translateY(-4px);box-shadow:0 14px 34px rgba(37,99,235,.12);border-color:#c6daf7;}
.info-card .ic {
    width:46px;height:46px;border-radius:12px;display:flex;align-items:center;justify-content:center;
    font-size:1.15rem;color:#fff;margin-bottom:16px;
    background:linear-gradient(135deg,var(--primary),var(--accent));
  }
.info-card h3 {font-size:1.05rem;font-weight:800;margin:0 0 10px;line-height:1.45;}
.info-card p {color:var(--muted);font-size:.92rem;line-height:1.8;margin:0;}
/* 时间线 / 更新节奏 */
  .rhythm {border-left:2px dashed var(--line);padding-left:22px;margin-left:6px;}
.rhythm-item {position:relative;padding-bottom:26px;}
.rhythm-item:last-child {padding-bottom:0;}
.rhythm-item::before {
    content:"";position:absolute;left:-29px;top:5px;width:12px;height:12px;border-radius:50%;
    background:#fff;border:3px solid var(--primary);
  }
.rhythm-item h4 {font-size:.98rem;font-weight:800;margin:0 0 6px;}
.rhythm-item p {color:var(--muted);font-size:.9rem;line-height:1.75;margin:0;}
/* 数据条 */
  .metric {
    background:var(--card);border:1px solid var(--line);border-radius:14px;
    padding:20px;text-align:center;
  }
.metric b {display:block;font-size:1.6rem;font-weight:900;color:var(--primary);line-height:1.2;}
.metric span {display:block;margin-top:6px;font-size:.82rem;color:var(--muted);}
/* 原则列表 */
  .rule-list {list-style:none;padding:0;margin:0;}
.rule-list li {
    display:flex;gap:14px;padding:16px 18px;background:var(--card);
    border:1px solid var(--line);border-radius:12px;margin-bottom:12px;
  }
.rule-list li i {color:var(--accent);font-size:1rem;margin-top:4px;flex:0 0 auto;}
.rule-list li b {display:block;margin-bottom:4px;font-size:.96rem;}
.rule-list li p {margin:0;color:var(--muted);font-size:.9rem;line-height:1.75;}
.cta-band {
    background:linear-gradient(135deg,rgba(37,99,235,.08),rgba(6,182,212,.12));
    border:1px solid var(--line);border-radius:18px;padding:36px 28px;text-align:center;
  }
.cta-band h2 {font-size:clamp(1.2rem,2.4vw,1.6rem);font-weight:900;margin:0 0 10px;}
.cta-band p {color:var(--muted);margin:0 auto 22px;max-width:600px;line-height:1.8;}
.about-hero {padding:44px 0 40px;}
.sec {padding:42px 0;}
.about-hero .hero-stats {gap:20px;}

/* --- 子页面追加 --- */
/* 本页专属少量样式，复用站点变量 */
    .guide-lead {
      color:var(--muted);
      font-size:1.06rem;
      line-height:1.9;
      max-width:820px;
    }
.guide-block {
      background:var(--card);
      border:1px solid var(--line);
      border-radius:18px;
      padding:30px 32px;
      margin-bottom:26px;
      box-shadow:0 8px 26px rgba(37,99,235,.06);
    }
.guide-block h2 {
      font-size:1.45rem;
      font-weight:800;
      color:var(--text);
      margin-bottom:14px;
      letter-spacing:-.2px;
    }
.guide-block h3 {
      font-size:1.08rem;
      font-weight:700;
      color:var(--text);
      margin:22px 0 8px;
    }
.guide-block p {
      color:var(--muted);
      line-height:1.95;
      margin-bottom:10px;
      font-size:.97rem;
    }
.guide-block strong {color:var(--text);font-weight:600;}
.step-list {
      list-style:none;
      padding:0;
      margin:16px 0 4px;
      counter-reset:step;
    }
.step-list li {
      position:relative;
      padding:0 0 0 46px;
      margin-bottom:16px;
      color:var(--muted);
      line-height:1.85;
      font-size:.96rem;
      counter-increment:step;
    }
.step-list li::before {
      content:counter(step);
      position:absolute;
      left:0;top:1px;
      width:30px;height:30px;
      border-radius:50%;
      background:linear-gradient(135deg,var(--primary),var(--accent));
      color:#fff;
      font-weight:800;
      font-size:.85rem;
      display:flex;align-items:center;justify-content:center;
      font-family:'Inter',sans-serif;
    }
.step-list li b {color:var(--text);font-weight:600;}
.tip-grid {
      display:grid;
      grid-template-columns:repeat(auto-fit,minmax(240px,1fr));
      gap:18px;
      margin-top:18px;
    }
.tip-card {
      background:linear-gradient(160deg,#f8fbff,#eef5ff);
      border:1px solid var(--line);
      border-radius:14px;
      padding:20px 20px 18px;
    }
.tip-card .ti-ico {
      width:38px;height:38px;
      border-radius:10px;
      background:rgba(37,99,235,.1);
      color:var(--primary);
      display:flex;align-items:center;justify-content:center;
      font-size:1rem;
      margin-bottom:12px;
    }
.tip-card h3 {
      font-size:1rem;
      font-weight:700;
      margin:0 0 8px;
      color:var(--text);
    }
.tip-card p {
      font-size:.9rem;
      line-height:1.8;
      margin:0;
      color:var(--muted);
    }
.faq-item:last-child {border-bottom:0;padding-bottom:0;}
.faq-item h3 {
      font-size:1rem;
      font-weight:700;
      color:var(--text);
      margin:0 0 8px;
      display:flex;
      gap:10px;
      align-items:flex-start;
    }
.faq-item h3 i {color:var(--accent);margin-top:3px;font-size:.9rem;}
.guide-cta {
      background:linear-gradient(135deg,rgba(37,99,235,.08),rgba(6,182,212,.1));
      border:1px solid var(--line);
      border-radius:18px;
      padding:30px 32px;
      display:flex;
      flex-wrap:wrap;
      align-items:center;
      justify-content:space-between;
      gap:18px;
    }
.guide-cta p {margin:0;color:var(--text);font-weight:600;font-size:1.02rem;}
.guide-block {padding:22px 20px;border-radius:14px;}
.guide-block h2 {font-size:1.22rem;}
.guide-cta {padding:22px 20px;}

/* --- 子页面追加 --- */
.doc-wrap {max-width:900px;margin:0 auto;}
.doc-card {
    background:var(--card);
    border:1px solid var(--line);
    border-radius:18px;
    padding:34px 34px 26px;
    box-shadow:0 10px 30px rgba(37,99,235,.06);
  }
.doc-card + .doc-card {margin-top:22px;}
.doc-card h2 {
    font-size:1.22rem;
    font-weight:800;
    color:var(--text);
    margin:0 0 14px;
    display:flex;
    align-items:center;
    gap:10px;
    letter-spacing:-.2px;
  }
.doc-card h2 i {color:var(--primary);font-size:1rem;}
.doc-card h3 {
    font-size:1.02rem;
    font-weight:700;
    color:var(--text);
    margin:20px 0 8px;
  }
.doc-card p, .doc-card li {
    color:var(--muted);
    font-size:.95rem;
    line-height:1.95;
  }
.doc-card p {margin:0 0 12px;}
.doc-card ul {padding-left:20px;margin:0 0 12px;}
.doc-card li {margin-bottom:6px;}
.doc-card strong {color:var(--text);font-weight:600;}
.doc-meta {
    display:flex;flex-wrap:wrap;gap:10px 22px;
    font-size:.82rem;color:var(--muted);
    margin-bottom:8px;
  }
.doc-meta span i {color:var(--accent);margin-right:6px;}
.doc-note {
    background:linear-gradient(135deg,rgba(37,99,235,.06),rgba(6,182,212,.07));
    border:1px dashed var(--line);
    border-radius:14px;
    padding:16px 18px;
    font-size:.9rem;
    color:var(--muted);
    line-height:1.9;
  }
.doc-toc {
    display:flex;flex-wrap:wrap;gap:10px;margin-top:6px;
  }
.doc-toc a {
    display:inline-block;
    padding:7px 14px;
    border-radius:999px;
    border:1px solid var(--line);
    background:var(--bg);
    color:var(--text);
    font-size:.84rem;
    font-weight:500;
    text-decoration:none;
    transition:.2s;
  }
.doc-toc a:hover {
    background:var(--primary);
    border-color:var(--primary);
    color:#fff;
  }
.doc-cta {
    text-align:center;
    padding:38px 20px;
    background:linear-gradient(135deg,var(--primary),var(--accent));
    border-radius:18px;
    color:#fff;
    margin-top:26px;
  }
.doc-cta h2 {color:#fff;justify-content:center;font-size:1.3rem;}
.doc-cta p {color:rgba(255,255,255,.9);max-width:560px;margin:0 auto 18px;}
.btn-main,.btn-ghost {display:inline-block;}
.doc-card {padding:24px 20px;}
.doc-card h2 {font-size:1.08rem;}

/* --- 子页面追加 --- */
.map-wrap {max-width:1180px;margin:0 auto;padding:0 20px;}
.map-hero {padding:56px 0 34px;}
.map-hero h1 {font-size:clamp(28px,4.2vw,44px);font-weight:900;letter-spacing:-.5px;line-height:1.18;margin:14px 0 14px;}
.map-hero p.lead {max-width:760px;color:var(--muted);font-size:16px;line-height:1.85;margin:0;}
.map-section {padding:26px 0 8px;}
.map-card {
    background:var(--card);
    border:1px solid var(--line);
    border-radius:16px;
    padding:24px 24px 18px;
    height:100%;
    transition:.22s ease;
  }
.map-card:hover {border-color:var(--primary);box-shadow:0 10px 30px rgba(37,99,235,.10);transform:translateY(-2px);}
.map-card h3 {
    font-size:19px;font-weight:800;color:var(--text);
    margin:0 0 6px;display:flex;align-items:center;gap:10px;
  }
.map-card h3 i {color:var(--accent);font-size:16px;}
.map-card .map-note {color:var(--muted);font-size:13.5px;line-height:1.75;margin:0 0 14px;}
.map-list {list-style:none;padding:0;margin:0;}
.map-list li {padding:7px 0;border-top:1px dashed var(--line);}
.map-list li:first-child {border-top:0;}
.map-list a {
    color:var(--text);text-decoration:none;font-size:14.5px;font-weight:500;
    display:flex;align-items:center;gap:9px;transition:.18s;
  }
.map-list a:hover {color:var(--primary);transform:translateX(3px);}
.map-list a i {font-size:11px;color:var(--accent);}
.map-list a .mono {margin-left:auto;font-size:12px;color:var(--muted);}
.map-badge {
    display:inline-flex;align-items:center;gap:8px;
    background:rgba(37,99,235,.08);color:var(--primary);
    border:1px solid rgba(37,99,235,.18);
    padding:5px 12px;border-radius:999px;font-size:12.5px;font-weight:600;
  }
.map-tip {
    background:linear-gradient(135deg,rgba(37,99,235,.06),rgba(6,182,212,.07));
    border:1px solid var(--line);border-radius:16px;padding:22px 24px;margin-top:8px;
  }
.map-tip h3 {font-size:18px;font-weight:800;margin:0 0 10px;color:var(--text);}
.map-tip p {color:var(--muted);font-size:14.5px;line-height:1.9;margin:0;}
.map-tip p + p {margin-top:10px;}
.map-foot-note {color:var(--muted);font-size:13px;line-height:1.8;margin-top:26px;padding-top:18px;border-top:1px solid var(--line);}
.foot-inner {max-width:1180px;margin:0 auto;padding:0 20px;display:flex;flex-wrap:wrap;gap:24px;justify-content:space-between;}
.foot-brand .brand {font-size:20px;}
.foot-brand p {color:var(--muted);font-size:13.5px;line-height:1.8;margin:10px 0 0;}
.foot-col h4 {font-size:14px;font-weight:700;color:var(--text);margin:0 0 12px;}
.foot-col ul {list-style:none;padding:0;margin:0;}
.foot-col li {margin-bottom:8px;}
.foot-col a {color:var(--muted);font-size:13.5px;text-decoration:none;transition:.18s;}
.foot-col a:hover {color:var(--primary);}
.map-hero {padding:38px 0 22px;}
.map-card {padding:20px 18px 14px;}