:root{
    --brand:#f472b6;
    --accent:#fbbf24;
    --bg:#fff5f7;
    --ink:#4a2530;
    --line:#f6dfe6;
    --soft:#fffafb;
    --muted:#9c6b7a;
    --radius:8px;
  }
  *{ -webkit-tap-highlight-color: transparent; }
  html{ scroll-behavior:smooth; }
  body{
    background:var(--bg);
    color:var(--ink);
    font-family:"Inter","Source Han Sans SC","Noto Sans SC","PingFang SC","Microsoft YaHei",sans-serif;
    font-size:16px;
    line-height:1.75;
    overflow-x:hidden;
  }
  h1,h2,h3,.serif{
    font-family:"Source Han Serif SC","Noto Serif SC","Songti SC",SimSun,serif;
    letter-spacing:.02em;
    font-weight:800;
    color:var(--ink);
  }
  a{ text-decoration:none; color:inherit; }
  a:hover{ color:var(--brand); }

  /* ---------- 导航 ---------- */
  .ph-nav{
    background:rgba(255,245,247,.92);
    backdrop-filter:blur(10px);
    border-bottom:1px solid var(--line);
    position:sticky; top:0; z-index:1040;
  }
  .navbar-brand{
    font-family:"Source Han Serif SC","Noto Serif SC",serif;
    font-weight:900; font-size:1.45rem; color:var(--ink); letter-spacing:.04em;
  }
  .navbar-brand:hover{ color:var(--brand); }
  .ph-nav .nav-link{
    color:var(--ink); font-weight:500; font-size:.95rem;
    padding:.4rem .8rem; border-radius:999px; transition:.2s;
  }
  .ph-nav .nav-link:hover{ background:#fde3ec; color:var(--brand); }
  .navbar-toggler{ border:1px solid var(--line); padding:.25rem .55rem; }
  .navbar-toggler:focus{ box-shadow:none; }

  /* ---------- Hero ---------- */
  .hero{
    position:relative;
    background:linear-gradient(140deg,#fff5f7 0%,#ffe9f0 48%,#fff8ea 100%);
    border-bottom:1px solid var(--line);
    overflow:hidden;
  }
  .hero::after{
    content:"";
    position:absolute; right:-140px; top:-140px;
    width:440px; height:440px; border-radius:50%;
    background:radial-gradient(circle,rgba(244,114,182,.28),rgba(244,114,182,0) 68%);
  }
  .hero-kicker{
    display:inline-flex; align-items:center; gap:.5rem;
    background:#fff; border:1px solid var(--line);
    color:var(--brand); font-weight:600; font-size:.82rem;
    padding:.34rem .95rem; border-radius:999px; margin-bottom:1.4rem;
  }
  .hero h1{
    font-size:clamp(2.1rem,5.4vw,4rem);
    line-height:1.16; margin-bottom:1.1rem;
  }
  .hero h1 em{
    font-style:normal; color:var(--brand);
    background:linear-gradient(transparent 62%,rgba(251,191,36,.55) 62%);
  }
  .hero-lead{ font-size:1.05rem; color:#6d4150; max-width:620px; }
  .stat-row{
    margin-top:2.2rem; border-top:1px solid var(--line); padding-top:1.6rem;
  }
  .stat-num{
    font-family:"Source Han Serif SC",serif;
    font-size:clamp(1.9rem,4.2vw,2.9rem);
    font-weight:900; color:var(--brand); line-height:1;
  }
  .stat-num i{ font-style:normal; font-size:1.1rem; }
  .stat-label{ font-size:.85rem; color:var(--muted); margin-top:.45rem; letter-spacing:.06em; }

  /* Hero 轮播 */
  .hero-carousel{ border-radius:var(--radius); overflow:hidden; box-shadow:0 10px 30px -18px rgba(74,37,48,.35); border:1px solid var(--line); background:#fff; }
  .hero-carousel .poster-mini{
    width:100%; aspect-ratio:16/10; object-fit:cover; display:block;
  }
  .hero-carousel .carousel-caption{
    position:static; text-align:left; padding:1rem 1.1rem 1.15rem; background:#fff;
  }
  .hero-carousel .carousel-caption h5{ font-size:1.05rem; font-weight:800; margin:0 0 .2rem; }
  .hero-carousel .carousel-caption p{ font-size:.84rem; color:var(--muted); margin:0; }
  .carousel-indicators{ margin-bottom:.4rem; }
  .carousel-indicators [data-bs-target]{ width:8px; height:8px; border-radius:50%; background:var(--brand); border:0; opacity:.35; }
  .carousel-indicators .active{ opacity:1; }
  .hero-tag{
    display:inline-block; font-size:.72rem; font-weight:700; letter-spacing:.08em;
    background:#fde3ec; color:var(--brand); border-radius:999px; padding:.1rem .6rem; margin-bottom:.5rem;
  }

  /* ---------- 通用区块 ---------- */
  .sec{ padding:4.2rem 0; border-bottom:1px solid var(--line); }
  .sec-head{ display:flex; flex-wrap:wrap; align-items:flex-end; gap:1rem; justify-content:space-between; margin-bottom:2.1rem; }
  .sec-title{ font-size:clamp(1.6rem,3.4vw,2.3rem); margin:0; }
  .sec-desc{ font-size:.92rem; color:var(--muted); margin:.6rem 0 0; max-width:680px; }
  .eyebrow{
    font-size:.76rem; font-weight:800; letter-spacing:.22em; color:var(--accent);
    text-transform:uppercase; display:block; margin-bottom:.5rem;
  }
  .pill{
    display:inline-block; font-size:.8rem; font-weight:600;
    border:1px solid var(--line); background:#fff; color:var(--ink);
    padding:.32rem .9rem; border-radius:999px; margin:0 .4rem .55rem 0;
    transition:.2s; cursor:pointer;
  }
  .pill:hover,.pill.on{ background:var(--brand); border-color:var(--brand); color:#fff; }

  /* ---------- 海报网格 ---------- */
  .poster-grid{ display:grid; gap:1.15rem; width:100%; grid-template-columns:repeat(2,minmax(0,1fr)); }
  @media(min-width:576px){ .poster-grid{ grid-template-columns:repeat(3,minmax(0,1fr)); } }
  @media(min-width:992px){ .poster-grid{ grid-template-columns:repeat(4,minmax(0,1fr)); } }
  @media(min-width:1400px){ .poster-grid{ grid-template-columns:repeat(6,minmax(0,1fr)); } }
  .poster-card{ position:relative; border-radius:var(--radius); overflow:hidden; background:#fff; border:1px solid var(--line); transition:.28s; }
  .poster-card:hover{ transform:translateY(-4px); box-shadow:0 16px 30px -20px rgba(74,37,48,.45); }
  .poster-figure{ position:relative; width:100%; aspect-ratio:2/3; overflow:hidden; margin:0; }
  .poster-figure img{ width:100%; height:100%; object-fit:cover; display:block; transition:transform .5s ease; }
  .poster-card:hover .poster-figure img{ transform:scale(1.08); }
  .poster-mask{
    position:absolute; inset:0;
    background:linear-gradient(to top,rgba(74,37,48,.86),rgba(74,37,48,.12) 55%,rgba(74,37,48,0));
    opacity:0; transition:opacity .32s ease;
    display:flex; flex-direction:column; justify-content:flex-end; padding:.8rem;
    color:#fff;
  }
  .poster-card:hover .poster-mask{ opacity:1; }
  .poster-mask .m-line{ font-size:.78rem; line-height:1.5; }
  .poster-mask .m-score{ font-weight:800; color:var(--accent); font-size:.92rem; }
  .poster-meta{ padding:.6rem .7rem .75rem; }
  .poster-meta h6{ font-size:.9rem; font-weight:700; margin:0 0 .15rem; line-height:1.4; }
  .poster-meta span{ font-size:.76rem; color:var(--muted); }
  .poster-badge{
    position:absolute; top:.55rem; left:.55rem; z-index:2;
    font-size:.7rem; font-weight:800; letter-spacing:.05em;
    background:rgba(255,255,255,.94); color:var(--brand);
    padding:.14rem .5rem; border-radius:999px;
  }

  /* ---------- 榜单 ---------- */
  .rank-item{
    display:flex; gap:1rem; align-items:center;
    background:#fff; border:1px solid var(--line); border-radius:var(--radius);
    padding:.85rem .95rem; margin-bottom:.85rem; transition:.25s;
  }
  .rank-item:hover{ border-color:var(--brand); transform:translateX(4px); }
  .rank-no{
    flex:0 0 42px; height:42px; border-radius:var(--radius);
    display:flex; align-items:center; justify-content:center;
    font-family:"Source Han Serif SC",serif; font-weight:900; font-size:1.12rem;
    background:#fde3ec; color:var(--brand);
  }
  .rank-no.gold{ background:linear-gradient(135deg,#fbbf24,#f59e0b); color:#fff; }
  .rank-no.silver{ background:linear-gradient(135deg,#e2e8ef,#b6c1cc); color:#fff; }
  .rank-no.bronze{ background:linear-gradient(135deg,#e8b58a,#c98a53); color:#fff; }
  .rank-thumb{ flex:0 0 54px; width:54px; aspect-ratio:2/3; border-radius:6px; object-fit:cover; }
  .rank-body{ flex:1 1 auto; min-width:0; }
  .rank-body h6{ margin:0 0 .18rem; font-size:.94rem; font-weight:700; }
  .rank-body p{ margin:0; font-size:.8rem; color:var(--muted); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
  .rank-score{ flex:0 0 auto; font-family:"Source Han Serif SC",serif; font-weight:900; color:var(--accent); font-size:1.1rem; }

  /* ---------- 筛选区 ---------- */
  .filter-box{
    background:#fff; border:1px solid var(--line); border-radius:var(--radius);
    padding:1.3rem 1.4rem; margin-bottom:1.6rem;
  }
  .filter-row{ display:flex; flex-wrap:wrap; align-items:center; gap:.5rem; padding:.42rem 0; }
  .filter-row + .filter-row{ border-top:1px dashed var(--line); }
  .filter-label{ font-size:.82rem; font-weight:700; color:var(--muted); min-width:64px; letter-spacing:.08em; }

  /* ---------- 表格 ---------- */
  .cmp-table{
    width:100%; border-collapse:separate; border-spacing:0;
    background:#fff; border:1px solid var(--line); border-radius:var(--radius);
    overflow:hidden; font-size:.9rem;
  }
  .cmp-table thead th{
    background:#fde3ec; color:#7a3348; font-weight:800;
    padding:.85rem 1rem; font-size:.86rem; letter-spacing:.06em;
    border-bottom:1px solid var(--line);
  }
  .cmp-table td{ padding:.85rem 1rem; border-bottom:1px solid var(--line); vertical-align:middle; }
  .cmp-table tbody tr:last-child td{ border-bottom:0; }
  .cmp-table tbody tr:hover{ background:var(--soft); }
  .cmp-table td:first-child{ font-weight:700; }

  /* ---------- 编号清单 ---------- */
  .step-list{ list-style:none; counter-reset:st; padding:0; margin:0; }
  .step-list li{
    counter-increment:st; position:relative; padding:1rem 1.1rem 1rem 3.4rem;
    background:#fff; border:1px solid var(--line); border-radius:var(--radius);
    margin-bottom:.8rem; font-size:.92rem;
  }
  .step-list li::before{
    content:counter(st,decimal-leading-zero);
    position:absolute; left:1rem; top:50%; transform:translateY(-50%);
    font-family:"Source Han Serif SC",serif; font-weight:900; font-size:1.05rem;
    color:var(--brand);
  }
  .step-list li strong{ display:block; font-size:.98rem; margin-bottom:.15rem; }
  .step-list li span{ color:var(--muted); font-size:.86rem; }

  /* ---------- 预告专区 ---------- */
  .trailer-card{
    background:#fff; border:1px solid var(--line); border-radius:var(--radius);
    overflow:hidden; transition:.25s;
  }
  .trailer-card:hover{ border-color:var(--brand); }
  .trailer-card img{ width:100%; aspect-ratio:16/9; object-fit:cover; display:block; transition:transform .5s; }
  .trailer-card:hover img{ transform:scale(1.05); }
  .trailer-body{ padding:.85rem 1rem 1rem; }
  .trailer-body h6{ font-size:.95rem; font-weight:800; margin:0 0 .3rem; }
  .trailer-body p{ font-size:.82rem; color:var(--muted); margin:0; }
  .trailer-date{ font-size:.74rem; font-weight:700; color:var(--brand); letter-spacing:.08em; }

  /* ---------- 友链 ---------- */
  .friend-links{ background:var(--soft); }
  .friend-links p{ font-size:.88rem; color:var(--muted); line-height:2; word-break:break-all; }

  /* ---------- 页脚 ---------- */
  footer{ background:#fff; border-top:1px solid var(--line); padding:2.6rem 0 1.6rem; }
  footer h6{ font-size:.86rem; font-weight:800; letter-spacing:.14em; color:var(--muted); margin-bottom:.9rem; }
  footer ul{ list-style:none; padding:0; margin:0; }
  footer ul li{ margin-bottom:.45rem; font-size:.88rem; }
  footer ul li a{ color:var(--ink); }
  footer ul li a:hover{ color:var(--brand); }
  .foot-brand{ font-family:"Source Han Serif SC",serif; font-weight:900; font-size:1.3rem; }
  .foot-bottom{ border-top:1px solid var(--line); margin-top:1.8rem; padding-top:1.2rem; font-size:.82rem; color:var(--muted); }

  /* ---------- 回到顶部 ---------- */
  #toTop{
    position:fixed; right:20px; bottom:24px; z-index:1050;
    width:46px; height:46px; border:0; border-radius:50%;
    background:var(--brand); color:#fff; font-size:1.05rem;
    box-shadow:0 10px 24px -12px rgba(244,114,182,.9);
    opacity:0; visibility:hidden; transform:translateY(14px);
    transition:.3s;
  }
  #toTop.show{ opacity:1; visibility:visible; transform:translateY(0); }
  #toTop:hover{ background:#e45aa3; }

  .divider-note{
    font-size:.82rem; color:var(--muted); border-left:3px solid var(--accent);
    padding-left:.85rem; margin:.4rem 0 1.6rem;
  }
  @media(max-width:575.98px){
    .sec{ padding:3rem 0; }
    .rank-thumb{ flex-basis:44px; width:44px; }
    .filter-label{ min-width:100%; }
  }

/* --- 子页面追加 --- */
.rank-board {background:var(--soft);border:1px solid var(--line);border-radius:var(--radius);padding:18px 18px 6px;margin-bottom:22px;}
.rank-board h3 {font-size:1.05rem;font-weight:800;color:var(--ink);margin:0 0 4px;display:flex;align-items:center;gap:8px;}
.rank-board h3 i {color:var(--brand);}
.rank-board .board-note {font-size:.82rem;color:var(--muted);margin:0 0 14px;}
.rank-item:last-child {border-bottom:none;}
.rank-item.top .rank-no {background:var(--accent);color:#4a2530;border-color:var(--accent);}
.rank-body .rt {font-weight:700;color:var(--ink);font-size:.98rem;display:flex;flex-wrap:wrap;align-items:center;gap:8px;}
.rank-body .rt a {color:var(--ink);text-decoration:none;}
.rank-body .rt a:hover {color:var(--brand);}
.rank-body .rm {font-size:.82rem;color:var(--muted);margin-top:3px;}
.rank-score span {font-size:.72rem;color:var(--muted);font-weight:500;}
.tab-bar {display:flex;flex-wrap:wrap;gap:10px;margin-bottom:24px;}
.tab-bar a {font-size:.86rem;padding:7px 16px;border-radius:999px;border:1px solid var(--line);background:var(--soft);color:var(--muted);text-decoration:none;font-weight:600;transition:.2s;}
.tab-bar a:hover,.tab-bar a.on {background:var(--brand);border-color:var(--brand);color:#fff;}
.rule-grid {display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;}
.rule-card {background:var(--soft);border:1px solid var(--line);border-radius:var(--radius);padding:18px;}
.rule-card h4 {font-size:.98rem;font-weight:800;color:var(--ink);margin:0 0 8px;}
.rule-card p {font-size:.86rem;color:var(--muted);line-height:1.7;margin:0;}
.mini-poster {width:52px;height:70px;flex:0 0 52px;border-radius:6px;object-fit:cover;background:var(--line);}
.rank-body .rt {font-size:.92rem;}
.mini-poster {width:44px;height:60px;flex:0 0 44px;}

/* --- 子页面追加 --- */
/* 本页专属少量样式，配色沿用站点变量 */
  .detail-hero {padding:38px 0 24px;}
.detail-hero-grid {display:grid;grid-template-columns:300px 1fr;gap:32px;align-items:start;}
.detail-poster {position:relative;border-radius:var(--radius);overflow:hidden;border:1px solid var(--line);background:var(--soft);box-shadow:0 14px 40px rgba(244,114,182,.14);}
.detail-poster img {width:100%;display:block;aspect-ratio:2/3;object-fit:cover;}
.detail-poster .score-tag {position:absolute;top:12px;left:12px;background:var(--accent);color:#4a2530;font-weight:800;font-size:.95rem;padding:4px 12px;border-radius:999px;}
.detail-title {font-size:2rem;font-weight:900;color:var(--ink);line-height:1.25;margin-bottom:10px;}
.detail-title span {color:var(--brand);}
.detail-subline {color:var(--muted);font-size:.95rem;margin-bottom:16px;}
.tag-row {display:flex;flex-wrap:wrap;gap:8px;margin-bottom:18px;}
.tag-row .pill {font-size:.82rem;}
.detail-meta-list {list-style:none;padding:0;margin:0 0 20px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 22px;}
.detail-meta-list li {font-size:.92rem;color:var(--ink);border-bottom:1px dashed var(--line);padding-bottom:8px;}
.detail-meta-list li b {color:var(--muted);font-weight:600;margin-right:8px;}
.action-row {display:flex;flex-wrap:wrap;gap:12px;}
.btn-brand {display:inline-flex;align-items:center;gap:8px;background:var(--brand);color:#fff;border:none;font-weight:700;padding:11px 24px;border-radius:999px;text-decoration:none;transition:.2s;}
.btn-brand:hover {background:#e35fa6;color:#fff;transform:translateY(-2px);}
.btn-ghost {display:inline-flex;align-items:center;gap:8px;background:var(--soft);color:var(--ink);border:1px solid var(--line);font-weight:600;padding:11px 24px;border-radius:999px;text-decoration:none;transition:.2s;}
.btn-ghost:hover {border-color:var(--brand);color:var(--brand);}
.syn-box {background:var(--soft);border:1px solid var(--line);border-radius:var(--radius);padding:20px 22px;}
.syn-box p {color:var(--ink);font-size:.96rem;line-height:1.9;margin:0 0 12px;}
.syn-box p:last-child {margin-bottom:0;}
.ep-grid {display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:10px;}
.ep-item {background:var(--soft);border:1px solid var(--line);border-radius:var(--radius);padding:12px 10px;text-decoration:none;color:var(--ink);transition:.2s;display:block;}
.ep-item:hover {border-color:var(--brand);color:var(--brand);transform:translateY(-2px);}
.ep-item .ep-no {font-weight:800;font-size:.95rem;display:block;}
.ep-item .ep-name {font-size:.76rem;color:var(--muted);display:block;margin-top:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.cast-row {display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:16px;}
.cast-card {background:var(--soft);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;text-align:center;}
.cast-card img {width:100%;aspect-ratio:1/1;object-fit:cover;display:block;}
.cast-card .cast-info {padding:12px 8px;}
.cast-card .cast-name {font-weight:700;color:var(--ink);font-size:.92rem;}
.cast-card .cast-role {font-size:.78rem;color:var(--muted);margin-top:4px;}
.info-block {background:var(--soft);border:1px solid var(--line);border-radius:var(--radius);padding:22px 24px;margin-bottom:18px;}
.info-block h3 {font-size:1.05rem;font-weight:800;color:var(--ink);margin-bottom:12px;display:flex;align-items:center;gap:8px;}
.info-block h3 i {color:var(--brand);}
.info-block p {color:var(--ink);font-size:.94rem;line-height:1.9;margin:0 0 10px;}
.info-block p:last-child {margin-bottom:0;}
.info-block ul {padding-left:20px;margin:0;}
.info-block ul li {color:var(--ink);font-size:.93rem;line-height:1.9;}
.highlight-strip {display:flex;flex-wrap:wrap;gap:10px;margin-top:6px;}
.highlight-strip span {background:rgba(244,114,182,.1);color:var(--brand);border:1px solid rgba(244,114,182,.25);font-size:.82rem;font-weight:600;padding:4px 12px;border-radius:999px;}
.detail-hero-grid {grid-template-columns:1fr;gap:22px;}
.detail-poster {max-width:260px;margin:0 auto;}
.detail-title {font-size:1.5rem;}
.detail-meta-list {grid-template-columns:1fr;}
.ep-grid {grid-template-columns:repeat(auto-fill,minmax(100px,1fr));}

/* --- 子页面追加 --- */
.about-lead-box {
    background:var(--soft);
    border:1px solid var(--line);
    border-radius:var(--radius);
    padding:26px 24px;
  }
.about-lead-box p {color:var(--muted);margin-bottom:10px;line-height:1.9}
.about-lead-box p:last-child {margin-bottom:0}
.value-item {
    display:flex;gap:14px;align-items:flex-start;
    background:var(--soft);border:1px solid var(--line);
    border-radius:var(--radius);padding:18px 18px;height:100%;
  }
.value-item i {
    color:var(--brand);font-size:1.25rem;line-height:1.4;flex:0 0 auto;
  }
.value-item h3 {
    font-size:1.02rem;font-weight:700;color:var(--ink);margin:0 0 6px;
  }
.value-item p {color:var(--muted);font-size:.93rem;line-height:1.75;margin:0}
.about-list {
    list-style:none;padding:0;margin:0;
  }
.about-list li {
    position:relative;padding:12px 0 12px 26px;
    border-bottom:1px dashed var(--line);
    color:var(--muted);line-height:1.8;font-size:.95rem;
  }
.about-list li:last-child {border-bottom:none}
.about-list li::before {
    content:"\f00c";font-family:"Font Awesome 6 Free";font-weight:900;
    color:var(--brand);position:absolute;left:0;top:13px;font-size:.8rem;
  }
.about-list li strong {color:var(--ink)}
.about-fact {
    background:var(--soft);border:1px solid var(--line);
    border-radius:var(--radius);padding:20px;text-align:center;height:100%;
  }
.about-fact .fn {
    font-size:1.7rem;font-weight:800;color:var(--brand);line-height:1.2;
  }
.about-fact .fl {
    font-size:.86rem;color:var(--muted);margin-top:6px;
  }
.about-note {
    background:var(--bg);border-left:3px solid var(--accent);
    border-radius:var(--radius);padding:16px 18px;color:var(--muted);
    font-size:.93rem;line-height:1.85;
  }
.about-note strong {color:var(--ink)}

/* --- 子页面追加 --- */
.ph-nav .navbar-brand {font-weight:800;color:var(--ink);}
.ph-nav .navbar-brand span {margin-right:6px;}
.ph-nav .nav-link:hover,.ph-nav .nav-link.active {color:var(--brand);}
.ph-nav .navbar-toggler {border-color:var(--line);color:var(--ink);}
.doc-wrap {max-width:900px;margin:0 auto;}
.doc-block {background:var(--soft);border:1px solid var(--line);border-radius:var(--radius);padding:26px 28px;margin-bottom:22px;}
.doc-block h2 {font-size:1.15rem;font-weight:800;color:var(--ink);margin-bottom:12px;display:flex;align-items:center;gap:10px;}
.doc-block h2 i {color:var(--brand);font-size:1rem;}
.doc-block h3 {font-size:1rem;font-weight:700;color:var(--ink);margin:16px 0 8px;}
.doc-block p,.doc-block li {color:var(--muted);font-size:.94rem;line-height:1.85;}
.doc-block ul {padding-left:20px;margin-bottom:6px;}
.doc-note {background:rgba(244,114,182,.08);border-left:3px solid var(--brand);border-radius:6px;padding:14px 16px;color:var(--ink);font-size:.9rem;line-height:1.8;}
.doc-toc {display:flex;flex-wrap:wrap;gap:8px;margin-bottom:26px;}
.doc-toc a {display:inline-block;padding:6px 14px;border:1px solid var(--line);border-radius:999px;font-size:.83rem;color:var(--muted);text-decoration:none;background:var(--soft);}
.doc-toc a:hover {color:var(--brand);border-color:var(--brand);}
.footer {background:var(--ink);color:#f4d9e1;padding:44px 0 26px;margin-top:50px;}
.footer a {color:#f4d9e1;text-decoration:none;opacity:.85;}
.footer a:hover {opacity:1;color:var(--accent);}
.footer h6 {color:#fff;font-weight:700;margin-bottom:14px;font-size:.95rem;}
.footer .f-bottom {border-top:1px solid rgba(255,255,255,.12);margin-top:26px;padding-top:18px;font-size:.82rem;opacity:.7;}

/* --- 子页面追加 --- */
.sitemap-wrap {max-width:1100px;margin:0 auto;}
.map-card {
    background:var(--soft);
    border:1px solid var(--line);
    border-radius:var(--radius);
    padding:22px 22px 18px;
    height:100%;
    box-shadow:0 2px 10px rgba(244,114,182,.06);
    transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease;
  }
.map-card:hover {transform:translateY(-4px);box-shadow:0 10px 26px rgba(244,114,182,.14);border-color:var(--brand);}
.map-card h3 {
    font-size:1.05rem;font-weight:800;margin:0 0 4px;color:var(--ink);
    display:flex;align-items:center;gap:8px;
  }
.map-card h3 i {color:var(--brand);}
.map-card .map-sub {font-size:.82rem;color:var(--muted);margin:0 0 14px;line-height:1.6;}
.map-list {list-style:none;padding:0;margin:0;}
.map-list li {margin-bottom:9px;}
.map-list li a {
    color:var(--ink);text-decoration:none;font-size:.9rem;font-weight:500;
    display:flex;align-items:flex-start;gap:8px;line-height:1.5;
    padding:5px 8px;border-radius:6px;transition:background .18s ease,color .18s ease;
  }
.map-list li a:hover {background:var(--line);color:var(--brand);}
.map-list li a i {color:var(--accent);font-size:.72rem;margin-top:5px;flex:0 0 auto;}
.map-list li a span.tag {
    margin-left:auto;font-size:.7rem;font-weight:700;color:var(--brand);
    background:var(--line);padding:1px 8px;border-radius:20px;white-space:nowrap;
  }
.anchor-nav {display:flex;flex-wrap:wrap;gap:10px;margin-top:18px;}
.anchor-nav a {
    display:inline-flex;align-items:center;gap:6px;
    font-size:.83rem;font-weight:600;color:var(--ink);text-decoration:none;
    background:var(--soft);border:1px solid var(--line);border-radius:20px;
    padding:6px 14px;transition:all .18s ease;
  }
.anchor-nav a:hover {background:var(--brand);color:#fff;border-color:var(--brand);}
.anchor-nav a i {color:var(--accent);font-size:.75rem;}
.anchor-nav a:hover i {color:#fff;}
.map-note {
    background:var(--soft);border:1px solid var(--line);border-left:4px solid var(--brand);
    border-radius:var(--radius);padding:16px 20px;font-size:.88rem;color:var(--muted);line-height:1.85;
  }
.map-note b {color:var(--ink);}