:root{
  --main:#f472b6;
  --accent:#fbbf24;
  --bg:#fff5f7;
  --text:#4a2530;
  --card:#ffffff;
  --main-soft:#fdd5e6;
  --shadow-sm:0 4px 12px rgba(244,114,182,.15);
  --shadow-md:0 10px 24px rgba(244,114,182,.22);
  --shadow-lg:0 18px 45px rgba(74,37,48,.20);
  --radius:18px;
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  background:
    radial-gradient(circle at 12% 8%, rgba(251,191,36,.12), transparent 42%),
    radial-gradient(circle at 88% 0%, rgba(244,114,182,.16), transparent 40%),
    var(--bg);
  color:var(--text);
  font-family:'Noto Sans SC','Inter',system-ui,-apple-system,'PingFang SC','Microsoft YaHei',sans-serif;
  font-weight:400;
  line-height:1.7;
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3,h4,.serif{
  font-family:'Noto Serif SC',Georgia,'Songti SC',serif;
  font-weight:900;
  letter-spacing:.5px;
  color:var(--text);
}
a{text-decoration:none;color:inherit;}
img{display:block;max-width:100%;}
.wrap{max-width:1280px;margin:0 auto;padding:0 22px;}

/* ===== Nav ===== */
.site-nav{
  position:sticky;top:0;z-index:1000;
  background:linear-gradient(180deg,#fffdfe 0%,#fff5f7 100%);
  box-shadow:0 6px 22px rgba(244,114,182,.16);
  border-bottom:2px solid rgba(244,114,182,.18);
}
.nav-inner{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 22px;max-width:1280px;margin:0 auto;}
.brand{
  display:flex;align-items:center;gap:10px;
  font-family:'Noto Serif SC',serif;font-weight:900;font-size:1.5rem;
  color:var(--text);
  padding:6px 14px;border-radius:14px;
  background:linear-gradient(135deg,rgba(244,114,182,.18),rgba(251,191,36,.14));
  box-shadow:inset 0 1px 0 #fff, 0 6px 16px rgba(244,114,182,.25);
  border:1px solid rgba(244,114,182,.25);
  white-space:nowrap;
}
.brand i{color:var(--main);font-size:1.35rem;filter:drop-shadow(0 2px 3px rgba(244,114,182,.5));}
.nav-links{display:flex;align-items:center;gap:6px;flex-wrap:wrap;list-style:none;margin:0;padding:0;}
.nav-links a{
  display:inline-block;padding:8px 15px;border-radius:999px;
  font-weight:500;font-size:.95rem;color:#6b3b48;
  transition:all .25s ease;white-space:nowrap;
}
.nav-links a:hover{
  background:linear-gradient(120deg,var(--main),var(--accent));
  color:#fff;box-shadow:0 6px 16px rgba(244,114,182,.4);
  transform:translateY(-2px);
}
.nav-toggle{
  display:none;background:linear-gradient(135deg,var(--main),#f9a8d4);
  border:none;color:#fff;width:44px;height:44px;border-radius:12px;
  font-size:1.15rem;box-shadow:var(--shadow-sm);cursor:pointer;
}
@media(max-width:960px){
  .nav-toggle{display:block;}
  .nav-links{
    position:absolute;left:0;right:0;top:100%;flex-direction:column;align-items:stretch;
    background:#fffdfe;padding:12px;gap:4px;
    box-shadow:0 16px 30px rgba(74,37,48,.15);
    border-bottom:2px solid rgba(244,114,182,.2);
    display:none;
  }
  .nav-links.open{display:flex;}
  .nav-links a{padding:11px 16px;border-radius:10px;}
}

/* ===== Hero ===== */
.hero{
  position:relative;overflow:hidden;padding:64px 0 40px;
}
.hero-slab{
  position:relative;border-radius:28px;overflow:hidden;
  background:linear-gradient(135deg,#fff 0%,#ffe9f1 55%,#fff3d6 100%);
  box-shadow:var(--shadow-lg), inset 0 2px 0 #fff;
  border:1px solid rgba(244,114,182,.22);
  padding:38px 34px 34px;
}
.hero-slab::after{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(circle at 82% 15%, rgba(251,191,36,.28), transparent 46%);
}
.hero-kicker{
  display:inline-flex;align-items:center;gap:8px;
  font-size:.82rem;font-weight:700;letter-spacing:2px;text-transform:uppercase;
  color:#fff;background:linear-gradient(120deg,var(--main),#f9a8d4);
  padding:7px 16px;border-radius:999px;box-shadow:var(--shadow-sm);
}
.hero h1{
  font-size:clamp(2.4rem,5.4vw,4rem);line-height:1.15;margin:20px 0 14px;
  text-shadow:0 2px 0 #fff,0 14px 30px rgba(244,114,182,.28);
}
.hero h1 .glow{
  background:linear-gradient(120deg,var(--main),var(--accent));
  -webkit-background-clip:text;background-clip:text;color:transparent;
}
.hero p.lead-txt{max-width:640px;font-size:1.05rem;color:#7a4c58;position:relative;z-index:2;}
.stats{display:flex;flex-wrap:wrap;gap:26px;margin-top:30px;position:relative;z-index:2;}
.stat{min-width:130px;}
.stat .num{
  font-family:'Noto Serif SC',serif;font-weight:900;
  font-size:clamp(2.1rem,4vw,3.1rem);line-height:1;
  background:linear-gradient(140deg,var(--main),var(--accent));
  -webkit-background-clip:text;background-clip:text;color:transparent;
  filter:drop-shadow(0 5px 10px rgba(244,114,182,.35));
}
.stat .lab{font-size:.88rem;color:#8a5a67;font-weight:500;margin-top:4px;}

/* Carousel */
.carousel-slide{position:relative;}
.slide-frame{
  display:grid;grid-template-columns:150px 1fr;gap:24px;align-items:center;
  background:linear-gradient(135deg,#fff,#fff7fa);
  border-radius:20px;padding:20px;border:1px solid rgba(244,114,182,.22);
  box-shadow:var(--shadow-md);
}
.slide-frame .poster{
  width:150px;height:212px;object-fit:cover;border-radius:14px;
  box-shadow:0 14px 26px rgba(74,37,48,.28);
  border:3px solid #fff;
}
.slide-frame h3{font-size:1.5rem;margin:0 0 8px;}
.slide-frame .meta{font-size:.88rem;color:#8a5a67;margin-bottom:10px;}
.slide-frame .quote{font-size:.96rem;color:#5f3340;}
.badge-soft{
  display:inline-block;padding:4px 12px;border-radius:999px;font-size:.76rem;font-weight:700;
  background:rgba(251,191,36,.22);color:#8a5a10;margin-right:6px;
}
@media(max-width:640px){
  .slide-frame{grid-template-columns:1fr;}
  .slide-frame .poster{width:100%;height:230px;}
}

/* ===== Section ===== */
section.block{padding:56px 0;}
.sec-head{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;flex-wrap:wrap;margin-bottom:30px;}
.sec-head h2{font-size:clamp(1.8rem,3.4vw,2.7rem);margin:0;position:relative;padding-left:18px;}
.sec-head h2::before{
  content:"";position:absolute;left:0;top:8px;bottom:8px;width:8px;border-radius:6px;
  background:linear-gradient(180deg,var(--main),var(--accent));
  box-shadow:0 4px 10px rgba(244,114,182,.5);
}
.sec-head .sub{color:#8a5a67;font-size:.95rem;max-width:520px;}
.chip-row{display:flex;gap:10px;flex-wrap:wrap;}
.chip{
  padding:7px 16px;border-radius:999px;font-size:.85rem;font-weight:600;
  background:#fff;border:1.5px solid rgba(244,114,182,.35);color:#a13a68;
  box-shadow:0 4px 10px rgba(244,114,182,.12);cursor:pointer;
  transition:all .25s ease;
}
.chip:hover,.chip.active{
  background:linear-gradient(120deg,var(--main),var(--accent));
  color:#fff;border-color:transparent;box-shadow:0 8px 18px rgba(244,114,182,.4);
  transform:translateY(-2px);
}

/* Grid & cards */
.poster-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(184px,1fr));gap:24px;}
.p-card{
  background:var(--card);border-radius:var(--radius);overflow:hidden;cursor:pointer;
  box-shadow:0 8px 20px rgba(74,37,48,.13), inset 0 1px 0 #fff;
  border:1px solid rgba(244,114,182,.16);
  transition:transform .3s ease, box-shadow .3s ease;
  display:flex;flex-direction:column;position:relative;
}
.p-card:hover{transform:translateY(-8px);box-shadow:0 22px 40px rgba(244,114,182,.32);}
.p-thumb{position:relative;aspect-ratio:2/3;overflow:hidden;background:linear-gradient(135deg,#ffe4ee,#fff2dd);}
.p-thumb img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease;}
.p-card:hover .p-thumb img{transform:scale(1.07);}
.p-score{
  position:absolute;top:10px;right:10px;
  background:linear-gradient(135deg,var(--accent),#f59e0b);
  color:#4a2530;font-weight:800;font-size:.85rem;
  padding:3px 9px;border-radius:8px;
  box-shadow:0 6px 14px rgba(251,191,36,.5);
  font-family:'Inter',sans-serif;
}
.p-body{padding:12px 13px 15px;}
.p-title{font-size:1rem;font-weight:700;line-height:1.35;margin:0 0 5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.p-sub{font-size:.79rem;color:#946470;display:flex;justify-content:space-between;gap:6px;}
.p-sub .tag{color:#b34f7e;font-weight:600;}

/* Rank list */
.rank-wrap{display:grid;grid-template-columns:1fr 1fr;gap:22px;}
@media(max-width:800px){.rank-wrap{grid-template-columns:1fr;}}
.rank-card{
  background:#fff;border-radius:16px;padding:14px 18px;
  display:flex;align-items:center;gap:16px;cursor:pointer;
  box-shadow:0 8px 20px rgba(74,37,48,.10);
  border:1px solid rgba(244,114,182,.16);
  transition:all .28s ease;
}
.rank-card:hover{transform:translateX(6px);box-shadow:0 14px 30px rgba(244,114,182,.3);}
.medal{
  flex:0 0 44px;width:44px;height:44px;border-radius:50%;
  display:grid;place-items:center;font-family:'Inter',sans-serif;
  font-weight:900;font-size:1.05rem;color:#fff;
  box-shadow:inset 0 2px 0 rgba(255,255,255,.6),0 6px 14px rgba(74,37,48,.22);
}
.m-gold{background:linear-gradient(145deg,#fde68a,#f59e0b);color:#5a3a05;}
.m-silver{background:linear-gradient(145deg,#e5e7eb,#9ca3af);color:#333;}
.m-bronze{background:linear-gradient(145deg,#fbcfa6,#c2703c);color:#44210a;}
.m-plain{background:linear-gradient(145deg,#fbcfe8,#f472b6);}
.rank-info{flex:1;min-width:0;}
.rank-info h4{margin:0;font-size:1rem;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.rank-info span{font-size:.79rem;color:#946470;}
.rank-score{font-family:'Inter',sans-serif;font-weight:800;color:#e0468a;font-size:1.05rem;}

/* Tabs (专题 特色) */
.tab-btns{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:26px;}
.tab-btn{
  padding:10px 22px;border-radius:999px;border:none;cursor:pointer;
  font-weight:700;font-size:.92rem;color:#a13a68;
  background:#fff;box-shadow:0 6px 16px rgba(244,114,182,.16);
  border:1.5px solid rgba(244,114,182,.3);transition:all .28s ease;
}
.tab-btn.active{
  background:linear-gradient(120deg,var(--main),var(--accent));color:#fff;
  border-color:transparent;box-shadow:0 10px 22px rgba(244,114,182,.42);
}
.tab-panel{display:none;}
.tab-panel.active{display:block;animation:fadeUp .45s ease;}
@keyframes fadeUp{from{opacity:0;transform:translateY(14px);}to{opacity:1;transform:translateY(0);}}

/* Timeline */
.timeline{position:relative;margin:10px 0 0;padding-left:34px;}
.timeline::before{
  content:"";position:absolute;left:11px;top:6px;bottom:6px;width:4px;border-radius:4px;
  background:linear-gradient(180deg,var(--main),var(--accent));
  box-shadow:0 0 0 4px rgba(244,114,182,.12);
}
.tl-item{position:relative;margin-bottom:30px;background:#fff;border-radius:16px;padding:18px 22px;
  box-shadow:0 8px 22px rgba(74,37,48,.1);border:1px solid rgba(244,114,182,.16);}
.tl-item::before{
  content:"";position:absolute;left:-31px;top:24px;width:18px;height:18px;border-radius:50%;
  background:linear-gradient(135deg,var(--main),var(--accent));
  border:4px solid #fff;box-shadow:0 4px 10px rgba(244,114,182,.5);
}
.tl-item h4{margin:0 0 6px;font-size:1.08rem;}
.tl-item p{margin:0;font-size:.92rem;color:#6b3b48;}

/* Topic cards */
.topic-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:24px;}
.topic-card{
  border-radius:22px;padding:28px 26px;color:#fff;position:relative;overflow:hidden;
  box-shadow:var(--shadow-md);
  transition:transform .3s ease, box-shadow .3s ease;
}
.topic-card:hover{transform:translateY(-6px);box-shadow:0 24px 44px rgba(244,114,182,.4);}
.topic-card.t1{background:linear-gradient(140deg,#f472b6,#fb7185);}
.topic-card.t2{background:linear-gradient(140deg,#fbbf24,#f59e0b);color:#4a2530;}
.topic-card.t3{background:linear-gradient(140deg,#a78bfa,#f472b6);}
.topic-card h3{color:inherit;font-size:1.3rem;margin:0 0 10px;}
.topic-card p{margin:0 0 14px;font-size:.92rem;opacity:.94;}
.topic-card .mini-tags{display:flex;gap:8px;flex-wrap:wrap;}
.topic-card .mini-tags span{
  background:rgba(255,255,255,.28);padding:3px 11px;border-radius:999px;font-size:.76rem;font-weight:600;
  backdrop-filter:blur(4px);
}
.topic-card.t2 .mini-tags span{background:rgba(255,255,255,.55);}

/* Picker widget */
.picker-box{
  background:linear-gradient(135deg,#fff,#fff4f8);
  border-radius:24px;padding:36px 30px;text-align:center;
  box-shadow:var(--shadow-lg),inset 0 2px 0 #fff;
  border:1px solid rgba(244,114,182,.22);
}
.picker-box h3{font-size:clamp(1.5rem,3vw,2rem);margin:0 0 12px;}
.picker-result{
  min-height:64px;display:grid;place-items:center;
  font-family:'Noto Serif SC',serif;font-weight:700;font-size:1.15rem;
  color:#a13a68;margin:18px 0;transition:all .3s ease;
}
.btn-gloss{
  position:relative;overflow:hidden;border:none;cursor:pointer;
  padding:14px 40px;border-radius:999px;font-weight:800;font-size:1rem;color:#fff;
  background:linear-gradient(120deg,var(--main),#f9a8d4,var(--accent));
  background-size:200% 200%;
  box-shadow:0 12px 26px rgba(244,114,182,.42),inset 0 2px 0 rgba(255,255,255,.5);
  transition:background-position .6s ease, transform .25s ease;
}
.btn-gloss:hover{background-position:100% 50%;transform:translateY(-3px);}
.btn-gloss::after{
  content:"";position:absolute;top:0;left:-120%;width:60%;height:100%;
  background:linear-gradient(100deg,transparent,rgba(255,255,255,.75),transparent);
  transform:skewX(-20deg);animation:shine 2.8s infinite;
}
@keyframes shine{0%{left:-120%;}55%{left:130%;}100%{left:130%;}}

/* FAQ */
.faq-item{
  background:#fff;border-radius:16px;padding:18px 22px;margin-bottom:14px;
  box-shadow:0 6px 18px rgba(74,37,48,.09);border:1px solid rgba(244,114,182,.16);
}
.faq-item h4{margin:0 0 8px;font-size:1.02rem;color:#a13a68;}
.faq-item p{margin:0;font-size:.92rem;color:#6b3b48;}

/* Friends */
.friends{
  background:linear-gradient(135deg,#fff,#fff6f9);border-radius:22px;padding:28px;
  box-shadow:var(--shadow-md);border:1px solid rgba(244,114,182,.18);
}
.friends h3{font-size:1.25rem;margin:0 0 14px;display:flex;align-items:center;gap:9px;}
.friends .linklist{font-size:.9rem;color:#8a5a67;line-height:2;word-break:break-all;}

/* Footer */
footer.site-foot{
  margin-top:40px;background:linear-gradient(180deg,#fff2f6,#ffe3ee);
  border-top:3px solid rgba(244,114,182,.35);
  padding:44px 0 26px;color:#6b3b48;
}
.foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:30px;margin-bottom:26px;}
@media(max-width:768px){.foot-grid{grid-template-columns:1fr;}}
.foot-grid h4{font-size:1.02rem;margin:0 0 12px;color:#a13a68;}
.foot-grid ul{list-style:none;padding:0;margin:0;}
.foot-grid li{margin-bottom:8px;font-size:.9rem;}
.foot-grid li a:hover{color:#e0468a;}
.copyright{text-align:center;font-size:.86rem;color:#946470;border-top:1px dashed rgba(244,114,182,.4);padding-top:18px;}

/* Back to top */
#backTop{
  position:fixed;right:22px;bottom:26px;z-index:1200;
  width:52px;height:52px;border-radius:50%;border:none;cursor:pointer;
  color:#fff;font-size:1.1rem;
  background:linear-gradient(135deg,var(--main),var(--accent));
  box-shadow:0 14px 28px rgba(244,114,182,.5),inset 0 2px 0 rgba(255,255,255,.5);
  opacity:0;pointer-events:none;transform:translateY(20px);
  transition:all .35s ease;
}
#backTop.show{opacity:1;pointer-events:auto;transform:translateY(0);}
#backTop:hover{transform:translateY(-4px) scale(1.05);}

/* Modal */
.modal-mask{
  position:fixed;inset:0;z-index:2000;
  background:rgba(74,37,48,.55);backdrop-filter:blur(6px);
  display:none;align-items:center;justify-content:center;padding:18px;
}
.modal-mask.open{display:flex;animation:fadeIn .25s ease;}
@keyframes fadeIn{from{opacity:0;}to{opacity:1;}}
.modal-card{
  background:#fff;border-radius:24px;max-width:860px;width:100%;
  max-height:90vh;overflow:auto;position:relative;
  display:grid;grid-template-columns:300px 1fr;gap:0;
  box-shadow:0 30px 70px rgba(74,37,48,.45);
  animation:popIn .3s cubic-bezier(.2,.9,.3,1.2);
}
@keyframes popIn{from{opacity:0;transform:scale(.92);}to{opacity:1;transform:scale(1);}}
.modal-card .m-poster{width:100%;height:100%;min-height:420px;object-fit:cover;}
.modal-card .m-left{background:linear-gradient(135deg,#ffe4ee,#fff2dd);overflow:hidden;}
.modal-card .m-right{padding:30px 28px;}
.modal-card .m-right h3{font-size:1.6rem;margin:0 0 6px;padding-right:34px;}
.m-meta{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px;}
.m-meta span{
  font-size:.78rem;font-weight:700;padding:4px 12px;border-radius:999px;
  background:rgba(244,114,182,.14);color:#a13a68;
}
.m-score{font-family:'Inter',sans-serif;font-weight:900;color:#f59e0b;font-size:1.15rem;}
.m-row{font-size:.9rem;margin-bottom:8px;color:#6b3b48;}
.m-row b{color:#4a2530;}
.m-plot{font-size:.93rem;line-height:1.8;color:#5f3340;margin-top:12px;}
.modal-close{
  position:absolute;top:14px;right:14px;width:38px;height:38px;border-radius:50%;
  border:none;cursor:pointer;background:rgba(244,114,182,.16);color:#a13a68;
  font-size:1.05rem;transition:all .25s ease;z-index:5;
}
.modal-close:hover{background:var(--main);color:#fff;transform:rotate(90deg);}
@media(max-width:700px){
  .modal-card{grid-template-columns:1fr;}
  .modal-card .m-poster{min-height:240px;max-height:300px;}
  .modal-card .m-right{padding:22px 20px;}
}

/* --- 子页面追加 --- */
.about-hero {
    padding:56px 0 30px;
  }
.about-hero h1 {
    font-size:clamp(26px,4vw,42px);
    font-weight:800;
    line-height:1.25;
    margin:14px 0 14px;
    letter-spacing:-.5px;
  }
.about-hero h1 em {
    font-style:normal;
    color:var(--main);
  }
.about-hero p.lead {
    font-size:clamp(15px,1.6vw,17px);
    line-height:1.9;
    max-width:760px;
    color:#6b3d4a;
  }
.about-section {
    padding:18px 0;
  }
.about-card {
    background:var(--card);
    border-radius:var(--radius);
    box-shadow:var(--shadow-sm);
    padding:26px 26px 24px;
    height:100%;
    border:1px solid rgba(244,114,182,.12);
    transition:box-shadow .25s ease, transform .25s ease;
  }
.about-card:hover {
    box-shadow:var(--shadow-md);
    transform:translateY(-3px);
  }
.about-card h3 {
    font-size:19px;
    font-weight:700;
    margin:0 0 12px;
    display:flex;
    align-items:center;
    gap:10px;
    line-height:1.4;
  }
.about-card h3 i {
    color:var(--main);
    font-size:17px;
  }
.about-card p {
    font-size:14.5px;
    line-height:1.9;
    color:#6b3d4a;
    margin:0 0 10px;
  }
.about-card p:last-child {margin-bottom:0;}
.about-block {
    background:var(--card);
    border-radius:var(--radius);
    box-shadow:var(--shadow-sm);
    padding:30px 30px;
    border:1px solid rgba(244,114,182,.12);
  }
.about-block h2 {
    font-size:clamp(20px,2.4vw,25px);
    font-weight:800;
    margin:0 0 16px;
    line-height:1.4;
  }
.about-block h2 span {
    color:var(--main);
  }
.about-block p {
    font-size:15px;
    line-height:1.95;
    color:#6b3d4a;
    margin:0 0 13px;
  }
.about-block p:last-child {margin-bottom:0;}
.mini-list {
    list-style:none;
    padding:0;
    margin:6px 0 0;
  }
.mini-list li {
    position:relative;
    padding:8px 0 8px 26px;
    font-size:14.5px;
    line-height:1.8;
    color:#6b3d4a;
    border-bottom:1px dashed rgba(244,114,182,.18);
  }
.mini-list li:last-child {border-bottom:none;}
.mini-list li::before {
    content:"\f00c";
    font-family:"Font Awesome 6 Free";
    font-weight:900;
    position:absolute;
    left:0;
    top:9px;
    font-size:12px;
    color:var(--accent);
  }
.about-quote {
    background:linear-gradient(135deg,var(--main-soft),#fff);
    border-radius:var(--radius);
    padding:26px 28px;
    box-shadow:var(--shadow-sm);
    border:1px solid rgba(244,114,182,.2);
  }
.about-quote p {
    font-size:15.5px;
    line-height:1.95;
    color:var(--text);
    margin:0;
    font-weight:500;
  }
.about-quote .quote-mark {
    color:var(--main);
    font-size:22px;
    margin-right:6px;
  }
.num-row {
    display:flex;
    flex-wrap:wrap;
    gap:14px;
    margin-top:6px;
  }
.num-item {
    flex:1 1 140px;
    background:var(--card);
    border-radius:14px;
    padding:18px 16px;
    text-align:center;
    box-shadow:var(--shadow-sm);
    border:1px solid rgba(244,114,182,.14);
  }
.num-item b {
    display:block;
    font-size:24px;
    font-weight:800;
    color:var(--main);
    line-height:1.2;
  }
.num-item span {
    font-size:13px;
    color:#8a5563;
    display:block;
    margin-top:4px;
  }
.about-cta {
    text-align:center;
    padding:14px 0 0;
  }
.about-cta .cta-btn {
    display:inline-block;
    background:var(--main);
    color:#fff;
    font-weight:700;
    font-size:15px;
    padding:13px 30px;
    border-radius:999px;
    text-decoration:none;
    box-shadow:var(--shadow-md);
    transition:transform .2s ease, background .2s ease;
    margin:6px;
  }
.about-cta .cta-btn:hover {
    transform:translateY(-2px);
    background:#ef5ba5;
  }
.about-cta .cta-btn.ghost {
    background:var(--card);
    color:var(--main);
    border:1.5px solid var(--main-soft);
    box-shadow:var(--shadow-sm);
  }
.about-cta .cta-btn.ghost:hover {
    background:var(--main-soft);
    color:var(--text);
  }
.about-foot-note {
    font-size:13px;
    color:#9a6b78;
    line-height:1.9;
    margin-top:14px;
  }
.about-card {padding:20px 18px;}
.about-block {padding:22px 18px;}
.about-hero {padding:36px 0 20px;}

/* --- 子页面追加 --- */
/* 导航 */
  .site-nav {
    position:sticky;top:0;z-index:50;
    background:rgba(255,245,247,.92);
    backdrop-filter:blur(12px);
    border-bottom:1px solid var(--main-soft);
    box-shadow:var(--shadow-sm);
  }
.brand:hover {color:var(--text);}
.nav-links a.active {background:var(--main);color:#fff;box-shadow:var(--shadow-sm);}
/* Hero */
  .hero {
    position:relative;overflow:hidden;
    background:linear-gradient(135deg,#ffeaf3 0%,#fff5f7 55%,#fff8e8 100%);
    padding:64px 0 56px;
    border-bottom:1px solid var(--main-soft);
  }
.hero::after {
    content:"";position:absolute;width:340px;height:340px;border-radius:50%;
    background:radial-gradient(circle,rgba(251,191,36,.28),transparent 70%);
    top:-110px;right:-80px;pointer-events:none;
  }
.hero-kicker i {color:var(--accent);}
.hero h1 em {font-style:normal;color:var(--main);}
.hero p {
    font-size:1.02rem;margin:0;color:#6d4550;max-width:680px;
  }
/* 内容区 */
  .page-body {padding:56px 0 72px;}
.doc-card {
    background:var(--card);
    border-radius:var(--radius);
    box-shadow:var(--shadow-sm);
    padding:34px clamp(20px,4vw,44px);
    margin-bottom:26px;
    border:1px solid rgba(253,213,230,.7);
  }
.doc-card h2 {
    font-size:1.28rem;font-weight:800;margin:0 0 14px;
    display:flex;align-items:center;gap:10px;line-height:1.5;
  }
.doc-card h2 .num {
    flex:0 0 auto;
    display:inline-flex;align-items:center;justify-content:center;
    width:32px;height:32px;border-radius:10px;
    background:var(--main-soft);color:#b93a78;
    font-size:.92rem;font-weight:800;
  }
.doc-card h2 i {color:var(--main);}
.doc-card h3 {
    font-size:1.02rem;font-weight:700;margin:20px 0 8px;color:#b93a78;
  }
.doc-card p {margin:0 0 13px;color:#5b3540;font-size:.97rem;}
.doc-card p:last-child {margin-bottom:0;}
.doc-card ul {margin:0 0 13px;padding-left:0;list-style:none;}
.doc-card ul li {
    position:relative;padding-left:22px;margin-bottom:9px;
    font-size:.96rem;color:#5b3540;
  }
.doc-card ul li::before {
    content:"";position:absolute;left:4px;top:.62em;
    width:7px;height:7px;border-radius:50%;
    background:var(--main);
  }
.doc-card strong {color:var(--text);font-weight:700;}
.tip-box {
    background:linear-gradient(135deg,#fff8e8,#fffaf0);
    border-left:4px solid var(--accent);
    border-radius:12px;
    padding:16px 20px;
    margin:18px 0 4px;
    font-size:.93rem;
    color:#6b4a1f;
  }
.tip-box i {color:var(--accent);margin-right:6px;}
.meta-row {
    display:flex;flex-wrap:wrap;gap:10px;margin-top:22px;
  }
.chip i {font-size:.78rem;}
.page-side {
    background:var(--card);border-radius:var(--radius);
    box-shadow:var(--shadow-sm);padding:24px;
    border:1px solid rgba(253,213,230,.7);
    position:sticky;top:92px;
  }
.page-side h4 {
    font-size:.9rem;font-weight:800;margin:0 0 14px;
    color:#b93a78;letter-spacing:.5px;
  }
.toc {list-style:none;margin:0;padding:0;}
.toc li {margin-bottom:4px;}
.toc a {
    display:block;padding:8px 12px;border-radius:10px;
    font-size:.9rem;color:#5b3540;transition:.2s;
  }
.toc a:hover {background:var(--main-soft);color:#b93a78;}
.side-note {
    margin-top:18px;padding-top:16px;border-top:1px dashed var(--main-soft);
    font-size:.84rem;color:#8a6672;
  }
/* 页脚 */
  .site-footer {
    background:#fff0f5;
    border-top:1px solid var(--main-soft);
    padding:44px 0 26px;
  }
.footer-grid {
    display:flex;flex-wrap:wrap;gap:32px;justify-content:space-between;
    padding-bottom:26px;
  }
.footer-brand {max-width:340px;}
.footer-brand .brand {margin-bottom:12px;}
.footer-brand p {font-size:.88rem;color:#7d5561;margin:0;}
.footer-col h5 {
    font-size:.85rem;font-weight:800;color:#b93a78;
    margin:0 0 12px;letter-spacing:.5px;
  }
.footer-col ul {list-style:none;margin:0;padding:0;}
.footer-col li {margin-bottom:8px;}
.footer-col a {font-size:.88rem;color:#5b3540;}
.footer-col a:hover {color:var(--main);}
.footer-bottom {
    border-top:1px solid var(--main-soft);
    padding-top:18px;font-size:.82rem;color:#8a6672;
    display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between;
  }
.footer-bottom span {display:inline-flex;align-items:center;gap:6px;}
.page-side {position:static;margin-bottom:26px;}
.page-body {padding:38px 0 52px;}

/* --- 子页面追加 --- */
.guide-hero {padding:56px 0 30px;}
.guide-hero h1 {font-size:clamp(1.7rem,4vw,2.6rem);font-weight:900;line-height:1.25;margin:14px 0 14px;}
.guide-hero h1 em {font-style:normal;color:var(--main);}
.guide-hero p {max-width:720px;color:rgba(74,37,48,.78);font-size:1.02rem;line-height:1.85;margin:0;}
.guide-toc {display:flex;flex-wrap:wrap;gap:10px;margin-top:22px;}
.guide-toc a {display:inline-flex;align-items:center;gap:7px;padding:8px 15px;border-radius:999px;background:var(--card);color:var(--text);font-size:.88rem;font-weight:600;text-decoration:none;box-shadow:var(--shadow-sm);border:1px solid var(--main-soft);transition:.2s;}
.guide-toc a:hover {background:var(--main);color:#fff;border-color:var(--main);transform:translateY(-2px);box-shadow:var(--shadow-md);}
.step-card {background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:26px 24px;height:100%;border:1px solid var(--main-soft);transition:.25s;}
.step-card:hover {transform:translateY(-4px);box-shadow:var(--shadow-md);}
.step-num {display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:13px;background:var(--main-soft);color:#a8336a;font-weight:900;font-size:1.05rem;margin-bottom:14px;}
.step-card h3 {font-size:1.08rem;font-weight:800;margin:0 0 10px;}
.step-card p {font-size:.93rem;line-height:1.8;color:rgba(74,37,48,.8);margin:0;}
.guide-sec {padding:38px 0 6px;}
.guide-sec h2 {font-size:clamp(1.3rem,2.6vw,1.7rem);font-weight:900;margin:0 0 8px;line-height:1.35;}
.guide-sec h2 span {color:var(--main);}
.guide-lead {color:rgba(74,37,48,.75);font-size:.96rem;line-height:1.85;margin:0 0 22px;max-width:820px;}
.tip-box h4 {font-size:.98rem;font-weight:800;margin:0 0 8px;display:flex;align-items:center;gap:8px;}
.tip-box h4 i {color:var(--accent);}
.tip-box p {font-size:.92rem;line-height:1.8;color:rgba(74,37,48,.82);margin:0;}
.faq-item h3 {font-size:1rem;font-weight:800;margin:0 0 9px;display:flex;gap:9px;align-items:flex-start;}
.faq-item h3 i {color:var(--main);margin-top:3px;font-size:.9rem;}
.score-legend {display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px;}
.legend-item {background:var(--card);border-radius:14px;padding:16px 18px;box-shadow:var(--shadow-sm);border:1px solid var(--main-soft);}
.legend-item .lg-score {display:inline-block;font-weight:900;font-size:1.15rem;color:var(--main);margin-bottom:6px;}
.legend-item p {font-size:.9rem;line-height:1.75;margin:0;color:rgba(74,37,48,.8);}
.cta-band {margin:44px 0 10px;background:linear-gradient(120deg,var(--main),#e75fa4);border-radius:22px;padding:34px 28px;color:#fff;box-shadow:var(--shadow-md);}
.cta-band h2 {font-size:1.4rem;font-weight:900;margin:0 0 10px;color:#fff;}
.cta-band p {font-size:.95rem;line-height:1.85;margin:0 0 18px;color:rgba(255,255,255,.94);max-width:640px;}
.cta-band .cta-links {display:flex;flex-wrap:wrap;gap:12px;}
.cta-band a {display:inline-flex;align-items:center;gap:8px;background:#fff;color:#a8336a;font-weight:700;font-size:.9rem;padding:11px 20px;border-radius:999px;text-decoration:none;transition:.2s;}
.cta-band a:hover {background:var(--accent);color:#4a2530;transform:translateY(-2px);}
footer.site-foot .foot-links {display:flex;flex-wrap:wrap;gap:8px 20px;justify-content:center;margin-bottom:14px;}
footer.site-foot .foot-links a {color:var(--text);font-size:.9rem;text-decoration:none;opacity:.8;}
footer.site-foot .foot-links a:hover {color:var(--main);opacity:1;}
footer.site-foot .foot-note {font-size:.82rem;color:rgba(74,37,48,.6);line-height:1.9;}

/* --- 子页面追加 --- */
.page-hero {padding:54px 0 30px;}
.page-hero h1 {font-size:clamp(26px,4vw,42px);font-weight:900;line-height:1.2;margin:14px 0 12px;letter-spacing:-.5px;}
.page-hero p.lead {max-width:760px;color:var(--text);opacity:.78;font-size:16px;line-height:1.85;margin:0;}
.doc-block {background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:28px 30px;margin-bottom:26px;border:1px solid var(--main-soft);}
.doc-block h2 {font-size:clamp(20px,2.6vw,26px);font-weight:800;margin:0 0 16px;line-height:1.35;display:flex;align-items:flex-start;gap:12px;}
.doc-block h2 .ico {flex:0 0 auto;width:38px;height:38px;border-radius:12px;background:var(--main-soft);color:var(--main);display:inline-flex;align-items:center;justify-content:center;font-size:16px;margin-top:2px;}
.doc-block h3 {font-size:17px;font-weight:700;margin:22px 0 10px;color:var(--text);}
.doc-block p {font-size:15px;line-height:1.9;margin:0 0 12px;opacity:.88;}
.doc-block ul,.doc-block ol {margin:0 0 12px;padding-left:22px;}
.doc-block li {font-size:15px;line-height:1.9;margin-bottom:7px;opacity:.88;}
.formula-row {display:flex;flex-wrap:wrap;gap:14px;margin:8px 0 4px;}
.formula-card {flex:1 1 210px;background:var(--bg);border-radius:14px;padding:18px 18px 16px;border:1px dashed var(--main-soft);}
.formula-card .f-label {font-size:13px;font-weight:700;color:var(--main);letter-spacing:.4px;margin-bottom:6px;display:block;}
.formula-card .f-value {font-size:15px;font-weight:600;line-height:1.7;}
.note-strip {background:linear-gradient(135deg,var(--main-soft),#fff);border-radius:var(--radius);padding:22px 26px;box-shadow:var(--shadow-sm);border-left:6px solid var(--main);margin-bottom:26px;}
.note-strip p {margin:0;font-size:15px;line-height:1.85;opacity:.92;}
.note-strip strong {color:var(--main);}
.rank-legend {display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:14px;margin-top:6px;}
.legend-item .lg-top {display:flex;align-items:center;gap:10px;font-weight:700;font-size:15px;margin-bottom:6px;}
.legend-item .lg-badge {width:30px;height:30px;border-radius:9px;background:var(--main);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-weight:800;font-size:13px;}
.legend-item:nth-child(2) .lg-badge {background:var(--accent);color:#4a2530;}
.legend-item:nth-child(3) .lg-badge {background:#7dd3fc;color:#0c4a6e;}
.faq-item:last-child {border-bottom:none;padding-bottom:0;}
.faq-item .q {font-weight:700;font-size:15.5px;margin-bottom:6px;color:var(--text);}
.faq-item .a {font-size:14.5px;line-height:1.85;opacity:.85;margin:0;}
.back-row {margin:6px 0 40px;}
.btn-main {display:inline-flex;align-items:center;gap:9px;background:var(--main);color:#fff;font-weight:700;font-size:15px;padding:12px 24px;border-radius:999px;box-shadow:var(--shadow-md);text-decoration:none;transition:.2s;}
.btn-main:hover {transform:translateY(-2px);box-shadow:var(--shadow-lg);color:#fff;}
.btn-ghost {display:inline-flex;align-items:center;gap:9px;background:var(--card);color:var(--main);font-weight:700;font-size:15px;padding:12px 24px;border-radius:999px;text-decoration:none;border:1.5px solid var(--main-soft);box-shadow:var(--shadow-sm);transition:.2s;margin-left:10px;}
.btn-ghost:hover {background:var(--main-soft);color:var(--text);}
.doc-block {padding:22px 18px;}
.page-hero {padding:36px 0 22px;}
.btn-ghost {margin-left:0;margin-top:10px;}