:root{
    --primary:#9f1239;
    --accent:#e11d48;
    --bg:#fafafa;
    --ink:#3f0a1a;
    --card-shadow: 8px 10px 20px rgba(63,10,26,0.18), 0 2px 6px rgba(0,0,0,0.08);
    --noise-opacity:0.5;
  }
  *{box-sizing:border-box}
  body{
    background:var(--bg);
    color:var(--ink);
    font-family:'Inter','思源黑体',system-ui,-apple-system,sans-serif;
    font-size:14px; line-height:1.6;
    letter-spacing:0.01em;
  }
  /* 拟物 · 噪点纹理 */
  body::before{
    content:"";
    position:fixed; inset:0; pointer-events:none; z-index:9998;
    background-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="120" height="120"><filter id="n"><feTurbulence type="fractalNoise" baseFrequency="0.9" numOctaves="2"/><feColorMatrix type="saturate" values="0"/><feComponentTransfer><feFuncA type="linear" slope="0.06"/></feComponentTransfer></filter><rect width="100%" height="100%" filter="url(%23n)"/></svg>');
    opacity:var(--noise-opacity); mix-blend-mode:multiply;
  }
  h1,h2,h3,.font-song{font-family:'思源宋体','Source Han Serif SC',serif; font-weight:700; letter-spacing:0.02em;}
  .text-accent{color:var(--accent)!important}
  .text-primary{color:var(--primary)!important}
  .bg-primary{background:var(--primary)!important}
  .bg-accent{background:var(--accent)!important}
  .border-primary{border-color:var(--primary)!important}

  /* 左侧固定侧栏 */
  .sidebar-layout{
    display:flex; align-items:flex-start; max-width:1600px; margin:0 auto; padding:0 20px;
  }
  .sidebar{
    position:sticky; top:80px; flex:0 0 230px; margin-right:28px; padding:18px 16px;
    background:linear-gradient(145deg,#ffffff, #f1e9eb); border-radius:24px;
    box-shadow:var(--card-shadow); border:1px solid rgba(159,18,57,0.18);
    backdrop-filter:blur(2px);
  }
  .sidebar .nav-title{
    font-family:'思源宋体',serif; font-weight:800; color:var(--primary); font-size:1.2rem;
    border-bottom:2px solid var(--accent); padding-bottom:10px; margin-bottom:15px;
  }
  .sidebar ul.nav-list{list-style:none; padding:0; margin:0}
  .sidebar ul.nav-list li{margin:10px 0}
  .sidebar ul.nav-list a{
    color:var(--ink); text-decoration:none; font-weight:500; display:flex; align-items:center; gap:8px;
    padding:7px 10px; border-radius:40px; transition:0.2s;
  }
  .sidebar ul.nav-list a:hover{background:var(--accent); color:#fff; padding-left:14px;}
  .sidebar ul.nav-list i{width:22px; color:var(--accent)}
  .sidebar ul.nav-list a:hover i{color:#fff}

  .main-content{flex:1; min-width:0;}

  /* Hero 标签云 + 视差 */
  .hero-section{
    position:relative; overflow:hidden; border-radius:0 0 30px 30px;
    background:radial-gradient(circle at 20% 30%, #fdd3d6, #fafafa 60%);
    box-shadow: inset 0 -8px 20px rgba(159,18,57,0.08);
    padding: 42px 20px 52px; margin-bottom:30px;
  }
  .hero-parallax-layer{
    position:absolute; inset:-30% 0 -40% 0; z-index:0;
    background-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 200 200" opacity="0.15"><circle cx="30" cy="40" r="12" fill="%239f1239"/><circle cx="90" cy="100" r="20" fill="%23e11d48"/><circle cx="160" cy="30" r="25" fill="%239f1239"/><circle cx="40" cy="150" r="14" fill="%23e11d48"/><circle cx="170" cy="160" r="18" fill="%239f1239"/></svg>');
    background-size:300px 300px; will-change:transform;
    animation:parallax 25s ease-in-out infinite alternate;
  }
  @keyframes parallax{
    0%{transform:translate3d(0,-30px,0) scale(1.1)}
    100%{transform:translate3d(30px,40px,0) scale(1.2)}
  }
  .hero-content{position:relative; z-index:2}
  .tags-cloud{
    display:flex; flex-wrap:wrap; gap:8px 12px; justify-content:center; margin-bottom:20px;
  }
  .tag-chip{
    background:#fff; border:1px solid var(--primary); color:var(--primary); padding:6px 16px;
    border-radius:50px; font-weight:600; font-size:0.9rem; box-shadow:0 2px 8px rgba(159,18,57,0.1);
    backdrop-filter:blur(4px);
  }
  .tag-chip i{color:var(--accent); margin-right:4px}
  .hero-title{
    font-size:clamp(2rem, 5vw, 3.6rem); font-weight:900; color:var(--primary);
    text-shadow:0 6px 14px rgba(159,18,57,0.25);
  }
  .hero-sub{font-size:1.1rem; color:#5c2a3d; max-width:700px; margin:12px auto 24px}

  /* 卡片 & 瀑布流 */
  .masonry-grid{
    column-count:3; column-gap:22px; margin-top:20px;
  }
  .masonry-card{
    break-inside:avoid; margin-bottom:22px; background:#fff; border-radius:20px;
    box-shadow:var(--card-shadow); border:1px solid #f0dde2; overflow:hidden;
    transition:transform 0.25s ease, box-shadow 0.25s;
  }
  .masonry-card:hover{transform:translateY(-4px); box-shadow:0 14px 24px rgba(159,18,57,0.18)}
  .card-img-wrap{position:relative; overflow:hidden; aspect-ratio:3/4;}
  .card-img-wrap img{
    width:100%; height:100%; object-fit:cover; transition:transform 0.45s ease; filter:saturate(0.9);
  }
  .masonry-card:hover .card-img-wrap img{transform:scale(1.08)}
  .img-overlay{
    position:absolute; inset:0; background:linear-gradient(to top, rgba(63,10,26,0.85) 0%, transparent 60%);
    opacity:0; transition:opacity 0.3s; display:flex; align-items:flex-end; padding:16px;
  }
  .masonry-card:hover .img-overlay{opacity:1}
  .overlay-text{color:white; font-weight:600; font-size:1rem; text-shadow:0 2px 6px black}

  /* 区块通用 */
  .section-block{margin:44px 0 50px}
  .section-title{
    font-family:'思源宋体',serif; font-size:2rem; font-weight:800; color:var(--primary);
    border-left:8px solid var(--accent); padding-left:20px; margin-bottom:24px;
    text-shadow:0 2px 4px rgba(159,18,57,0.08);
  }

  /* 编号清单 */
  .steps-list{counter-reset:step; list-style:none; padding:0}
  .steps-list li{
    counter-increment:step; position:relative; padding:14px 20px 14px 60px;
    background:#fff; border-radius:18px; box-shadow:0 4px 12px rgba(63,10,26,0.06);
    margin-bottom:14px; border:1px solid #f3d9df;
  }
  .steps-list li::before{
    content:counter(step); position:absolute; left:14px; top:14px; width:34px; height:34px;
    background:var(--primary); color:white; border-radius:50%; display:grid; place-items:center;
    font-weight:700; font-size:1.1rem; box-shadow:0 4px 8px rgba(159,18,57,0.25);
  }

  /* 对比表格 */
  .table-compare{
    width:100%; border-collapse:separate; border-spacing:0 12px; font-size:0.95rem;
  }
  .table-compare th, .table-compare td{
    background:#fff; padding:16px 14px; box-shadow:0 4px 10px rgba(159,18,57,0.05);
  }
  .table-compare th:first-child{border-radius:16px 0 0 16px}
  .table-compare th:last-child{border-radius:0 16px 16px 0}
  .table-compare td:first-child{border-radius:16px 0 0 16px}
  .table-compare td:last-child{border-radius:0 16px 16px 0}
  .table-compare thead th{background:var(--primary); color:#fff; font-weight:600; border:none}

  /* FAQ */
  .faq-item{background:#fff; border-radius:16px; padding:18px 20px; margin-bottom:14px; box-shadow:0 4px 12px rgba(159,18,57,0.04)}
  .faq-q{font-weight:700; color:var(--primary); font-size:1.05rem}
  .faq-a{color:#33202a; margin-top:6px}

  /* 友链 */
  .friend-links{
    background:#f8e8ec; padding:22px 28px; border-radius:28px; box-shadow:var(--card-shadow);
    margin-top:40px; border:1px solid #f2ccd4;
  }
  .friend-links h5{color:var(--primary); font-family:'思源宋体',serif; font-weight:800}

  /* 回到顶部 */
  #backTop{
    position:fixed; bottom:30px; right:30px; width:48px; height:48px; border-radius:50%;
    background:var(--accent); color:white; border:none; box-shadow:0 8px 18px rgba(225,29,72,0.4);
    font-size:20px; opacity:0; visibility:hidden; transition:0.3s; z-index:9999;
  }
  #backTop.show{opacity:1; visibility:visible}

  footer{background:var(--ink); color:#f3d9e0; padding:32px 0; margin-top:60px; border-radius:30px 30px 0 0}
  footer a{color:#f9c6d4; text-decoration:none}

  @media (max-width: 992px){
    .sidebar-layout{flex-direction:column}
    .sidebar{position:static; width:100%; margin-bottom:30px}
    .masonry-grid{column-count:2}
  }
  @media (max-width: 600px){
    .masonry-grid{column-count:1}
  }

/* --- 子页面追加 --- */
/* 关于页专属的小量样式 */
        .about-hero {
            padding: 80px 0 40px;
        }
.about-section {
            padding: 50px 0;
        }
.about-section h2 {
            margin-bottom: 20px;
        }
.about-card {
            background: rgba(255,255,255,0.03);
            border: 1px solid var(--border-color);
            border-radius: 12px;
            padding: 28px;
            height: 100%;
            transition: transform 0.3s ease, box-shadow 0.3s ease;
        }
.about-card:hover {
            transform: translateY(-4px);
            box-shadow: var(--card-shadow);
        }
.about-card i {
            font-size: 2.2rem;
            color: var(--accent);
            margin-bottom: 14px;
        }
.about-card h3 {
            font-size: 1.2rem;
            font-weight: 700;
            color: var(--ink);
            margin-bottom: 12px;
        }
.about-card p {
            font-size: 0.92rem;
            color: rgba(63,10,26,0.7);
            line-height: 1.8;
        }
.timeline-item {
            position: relative;
            padding-left: 30px;
            margin-bottom: 28px;
            border-left: 2px solid var(--accent);
        }
.timeline-item::before {
            content: '';
            position: absolute;
            left: -8px;
            top: 6px;
            width: 14px;
            height: 14px;
            background: var(--accent);
            border-radius: 50%;
            border: 2px solid var(--bg);
        }
.timeline-item .timeline-date {
            font-size: 0.85rem;
            color: var(--primary);
            font-weight: 700;
            margin-bottom: 6px;
        }
.timeline-item .timeline-text {
            font-size: 0.95rem;
            line-height: 1.7;
            color: rgba(63,10,26,0.75);
        }
.value-list li {
            margin-bottom: 12px;
            display: flex;
            align-items: flex-start;
            gap: 12px;
            font-size: 0.95rem;
            line-height: 1.7;
            color: rgba(63,10,26,0.75);
        }
.value-list li i {
            color: var(--accent);
            margin-top: 5px;
            font-size: 0.9rem;
        }

/* --- 子页面追加 --- */
/* 本页专属补充样式 —— 覆盖 Bootstrap 组件默认白底黑字 */
        .card, .card-body, .card-header, .card-footer {
            background: var(--bg);
            color: var(--ink);
            border-color: rgba(159, 18, 57, 0.15);
        }
.accordion-item, .accordion-button {
            background: var(--bg);
            color: var(--ink);
            border-color: rgba(159, 18, 57, 0.15);
        }
.accordion-button:not(.collapsed) {
            background: rgba(159, 18, 57, 0.08);
            color: var(--primary);
        }
.list-group-item {
            background: var(--bg);
            color: var(--ink);
            border-color: rgba(159, 18, 57, 0.15);
        }
.table {
            --bs-table-bg: transparent;
            --bs-table-color: var(--ink);
            --bs-table-border-color: rgba(159, 18, 57, 0.15);
        }
.form-control, .form-select {
            background: rgba(255,255,255,0.6);
            color: var(--ink);
            border-color: rgba(159, 18, 57, 0.25);
        }
.form-control::placeholder {
            color: rgba(63, 10, 26, 0.4);
        }
.form-label {
            color: var(--ink);
        }
.modal-content {
            background: var(--bg);
            color: var(--ink);
        }
.dropdown-menu, .dropdown-item {
            background: var(--bg);
            color: var(--ink);
        }
.dropdown-item:hover {
            background: rgba(159, 18, 57, 0.1);
        }
.nav-link {
            color: var(--ink);
        }
.nav-link:hover {
            color: var(--primary);
        }
/* 本页专属 */
        .disclaimer-hero {
            background: linear-gradient(135deg, rgba(159,18,57,0.08) 0%, rgba(225,29,72,0.04) 100%);
            border-bottom: 1px solid rgba(159,18,57,0.1);
        }
.disclaimer-section {
            border: 1px solid rgba(159,18,57,0.12);
            border-radius: 16px;
            padding: 2rem;
            margin-bottom: 1.5rem;
            background: rgba(255,255,255,0.5);
            backdrop-filter: blur(4px);
            box-shadow: 0 2px 8px rgba(63,10,26,0.05);
        }
.disclaimer-section h2 {
            font-size: 1.4rem;
            font-weight: 700;
            color: var(--primary);
            margin-bottom: 1rem;
            display: flex;
            align-items: center;
            gap: 0.6rem;
        }
.disclaimer-section h2 i {
            color: var(--accent);
            font-size: 1.2rem;
        }
.disclaimer-section p, .disclaimer-section li {
            color: var(--ink);
            line-height: 1.8;
            font-size: 0.95rem;
        }
.disclaimer-section ul {
            padding-left: 1.2rem;
        }
.disclaimer-section li {
            margin-bottom: 0.5rem;
        }
.highlight-box {
            background: rgba(159,18,57,0.06);
            border-left: 4px solid var(--primary);
            padding: 1rem 1.5rem;
            border-radius: 0 12px 12px 0;
            margin: 1.2rem 0;
        }
.highlight-box p {
            margin: 0;
        }
.last-updated {
            font-size: 0.85rem;
            color: rgba(63,10,26,0.6);
            border-top: 1px dashed rgba(159,18,57,0.2);
            padding-top: 1rem;
            margin-top: 2rem;
            text-align: right;
        }

/* --- 子页面追加 --- */
/* 确保 Bootstrap 组件不破坏深色/浅色风格 —— 这里其实站内已用 :root 变量，但以防万一覆盖 */
        .card, .card-body, .card-title, .card-text, .card-header, .card-footer {
            background: var(--bg);
            color: var(--ink);
            border-color: rgba(159,18,57,0.2);
        }
.nav-link:hover, .nav-link.active {
            color: var(--primary);
        }
/* 本页特有 */
        .privacy-hero {
            background: linear-gradient(135deg, rgba(159,18,57,0.08), rgba(225,29,72,0.05));
            border-bottom: 2px solid rgba(159,18,57,0.15);
        }
.privacy-section {
            padding: 3.5rem 0;
            border-bottom: 1px solid rgba(159,18,57,0.08);
        }
.privacy-section:last-of-type {
            border-bottom: none;
        }
.section-title-border {
            border-left: 6px solid var(--accent);
            padding-left: 1.2rem;
        }
.info-list li {
            margin-bottom: 0.8rem;
            line-height: 1.7;
        }
.data-table {
            background: var(--bg);
            border-radius: 20px;
            box-shadow: var(--card-shadow);
            padding: 1.5rem;
            border: 1px solid rgba(159,18,57,0.15);
        }
.data-table table {
            width: 100%;
            border-collapse: collapse;
        }
.data-table th {
            background: rgba(159,18,57,0.08);
            color: var(--primary);
            font-weight: 600;
            padding: 0.9rem 1rem;
            border-bottom: 2px solid var(--primary);
        }
.data-table td {
            padding: 0.9rem 1rem;
            border-bottom: 1px solid rgba(159,18,57,0.1);
            vertical-align: top;
        }
.badge-soft-primary {
            background: rgba(159,18,57,0.1);
            color: var(--primary);
            font-weight: 500;
            padding: 0.35em 0.9em;
            border-radius: 30px;
            font-size: 0.8rem;
            letter-spacing: 0.3px;
        }
.footer-links a {
            color: var(--ink);
            opacity: 0.8;
            text-decoration: none;
            margin-right: 1.8rem;
            transition: opacity 0.2s;
        }
.footer-links a:hover {
            opacity: 1;
            color: var(--primary);
        }