:root{
    --primary:#2563eb;
    --accent:#06b6d4;
    --bg:#f8fafc;
    --text:#0f172a;
    --border:#cbd5e1;
    --muted:#64748b;
    --light:#e2e8f0;
}
*{margin:0;padding:0;box-sizing:border-box;scroll-behavior:smooth;}
body{
    background:var(--bg);
    color:var(--text);
    font-family:'Inter',-apple-system,BlinkMacSystemFont,'PingFang SC','Noto Sans SC','Source Han Sans SC','思源黑体',sans-serif;
    font-size:16px;
    line-height:1.75;
    overflow-x:hidden;
}
/* 思源宋体用于标题 */
h1,h2,h3,h4,.font-serif{
    font-family:'Noto Serif SC','Source Han Serif SC','思源宋体',serif;
    font-weight:700;
    letter-spacing:-0.02em;
}
/* 滚动进度条 */
#scroll-progress{
    position:fixed;top:0;left:0;height:3px;width:0%;
    background:linear-gradient(90deg,var(--primary),var(--accent));
    z-index:9999;transition:width 0.1s linear;
}
/* 背景点阵 */
.dot-grid{
    position:fixed;top:0;left:0;width:100%;height:100%;
    background-image:radial-gradient(circle,var(--light) 1px,transparent 1px);
    background-size:24px 24px;
    opacity:0.5;pointer-events:none;z-index:-1;
}
/* 页面布局 */
.app-wrapper{
    display:flex;
    min-height:100vh;
}
/* 左侧侧栏 */
.sidebar{
    width:240px;flex-shrink:0;
    border-right:1px solid var(--border);
    background:var(--bg);
    position:sticky;top:0;height:100vh;
    padding:32px 20px;
    display:flex;flex-direction:column;
    z-index:100;
}
.sidebar .logo{
    font-size:1.3rem;font-weight:800;
    color:var(--text);
    text-decoration:none;
    display:flex;align-items:center;gap:10px;
    margin-bottom:48px;
    letter-spacing:-0.01em;
}
.sidebar .logo i{color:var(--primary);font-size:1.5rem;}
.sidebar nav{
    display:flex;flex-direction:column;gap:8px;
    flex:1;
}
.sidebar nav a{
    padding:10px 16px;
    border-radius:8px;
    color:var(--text);
    text-decoration:none;
    font-size:0.95rem;
    font-weight:500;
    transition:all 0.2s;
    border:1px solid transparent;
}
.sidebar nav a:hover{
    background:rgba(37,99,235,0.06);
    border-color:var(--border);
    color:var(--primary);
}
.sidebar .foot{
    font-size:0.75rem;color:var(--muted);
    border-top:1px solid var(--border);
    padding-top:16px;
    text-align:center;
}
/* 右侧主区域 */
.main{
    flex:1;min-width:0;
    display:flex;flex-direction:column;
}
/* 移动端顶栏 */
.topbar-mobile{
    display:none;
    position:sticky;top:0;z-index:99;
    background:rgba(248,250,252,0.9);
    backdrop-filter:blur(10px);
    border-bottom:1px solid var(--border);
    padding:12px 20px;
}
.topbar-mobile .logo{
    font-weight:800;font-size:1.1rem;
    color:var(--text);text-decoration:none;
    display:flex;align-items:center;gap:8px;
}
/* Hero */
.hero{
    padding:80px 60px 60px;
    border-bottom:1px solid var(--border);
    position:relative;
}
.hero-stats{
    display:flex;gap:48px;margin-bottom:40px;
    flex-wrap:wrap;
}
.hero-stat .num{
    font-size:3rem;font-weight:800;
    font-family:'Noto Serif SC',serif;
    color:var(--primary);
    line-height:1;
}
.hero-stat .label{
    color:var(--muted);font-size:0.9rem;
    margin-top:4px;
}
.hero h1{
    font-size:3rem;line-height:1.2;
    margin-bottom:24px;
    max-width:600px;
    font-weight:900;
}
.hero p{
    font-size:1.1rem;color:var(--muted);
    max-width:520px;margin-bottom:32px;
}
.hero-btns{
    display:flex;gap:16px;flex-wrap:wrap;
}
.btn-primary-custom{
    background:var(--primary);
    color:#fff;border:none;
    padding:14px 32px;border-radius:8px;
    font-weight:600;font-size:1rem;
    position:relative;overflow:hidden;
    transition:all 0.3s;
    text-decoration:none;display:inline-block;
    border:1px solid var(--primary);
}
.btn-primary-custom:hover{
    transform:translateY(-2px);
    box-shadow:0 8px 30px rgba(37,99,235,0.25);
}
.btn-primary-custom::after{
    content:'';position:absolute;top:0;left:-100%;
    width:50%;height:100%;
    background:linear-gradient(120deg,transparent,rgba(255,255,255,0.4),transparent);
    transition:left 0.5s;
}
.btn-primary-custom:hover::after{left:120%;}
.btn-outline-custom{
    background:transparent;border:1px solid var(--border);
    color:var(--text);padding:14px 32px;
    border-radius:8px;font-weight:500;
    transition:all 0.3s;text-decoration:none;
}
.btn-outline-custom:hover{
    border-color:var(--primary);color:var(--primary);
    transform:translateY(-2px);
}
/* 通用区块 */
.section{
    padding:64px 60px;
    border-bottom:1px solid var(--border);
}
.section-label{
    font-size:0.8rem;letter-spacing:0.08em;
    color:var(--primary);text-transform:uppercase;
    font-weight:600;margin-bottom:8px;
}
.section-title{
    font-size:2.2rem;font-weight:800;
    margin-bottom:40px;position:relative;
    display:inline-block;
}
.section-title::after{
    content:'';position:absolute;bottom:-8px;left:0;
    width:60px;height:3px;
    background:linear-gradient(90deg,var(--primary),var(--accent));
}
/* 特色对比表格 */
.compare-table{
    width:100%;border-collapse:collapse;
    background:var(--bg);
}
.compare-table th,.compare-table td{
    padding:16px 20px;
    border:1px solid var(--border);
    text-align:left;
}
.compare-table th{
    background:rgba(37,99,235,0.04);
    font-weight:600;
    font-size:0.9rem;
    color:var(--text);
}
.compare-table td{font-size:0.95rem;}
.compare-table .highlight{
    color:var(--primary);font-weight:700;
}
/* 编号清单 */
.steps-list{
    list-style:none;counter-reset:steps;
    display:flex;flex-direction:column;gap:24px;
}
.steps-list li{
    counter-increment:steps;
    display:flex;gap:20px;align-items:flex-start;
    padding:20px 0;
    border-bottom:1px solid var(--border);
}
.steps-list li::before{
    content:counter(steps);
    font-family:'Noto Serif SC',serif;
    font-size:1.8rem;font-weight:800;
    color:var(--accent);line-height:1;
    min-width:48px;
    opacity:0.8;
}
.steps-list li:last-child{border-bottom:none;}
.steps-list h4{
    font-size:1.2rem;margin-bottom:6px;
}
.steps-list p{color:var(--muted);margin:0;}
/* FAQ */
.faq-item{
    border:1px solid var(--border);
    border-radius:12px;
    margin-bottom:16px;
    overflow:hidden;
    background:var(--bg);
    transition:border-color 0.3s;
}
.faq-item summary{
    padding:18px 24px;
    font-weight:600;font-size:1.05rem;
    cursor:pointer;list-style:none;
    display:flex;justify-content:space-between;align-items:center;
    transition:all 0.3s;
}
.faq-item summary::-webkit-details-marker{display:none;}
.faq-item summary::after{
    content:'\f078';font-family:'Font Awesome 6 Free';
    font-weight:900;color:var(--muted);font-size:0.8rem;
    transition:transform 0.3s;
}
.faq-item[open] summary::after{transform:rotate(180deg);}
.faq-item[open] summary{color:var(--primary);}
.faq-item .faq-body{
    padding:0 24px 20px;color:var(--muted);
    line-height:1.8;
}
/* 介绍 */
.intro-card{
    border-left:4px solid var(--primary);
    background:rgba(37,99,235,0.03);
    padding:24px 32px;
    margin-bottom:24px;
    border-radius:0 8px 8px 0;
}
/* CTA */
.cta-section{
    padding:80px 60px;
    text-align:center;
    background:var(--bg);
}
.cta-section h2{
    font-size:2.5rem;font-weight:900;
    margin-bottom:24px;
}
.cta-section p{color:var(--muted);max-width:500px;margin:0 auto 32px;}
/* 友链和页脚 */
.footer-links{
    padding:48px 60px 24px;
    border-top:1px solid var(--border);
    background:var(--bg);
}
.footer-links h5{
    font-size:1rem;font-weight:700;margin-bottom:16px;
    color:var(--text);
}
.footer-links .links-line{
    font-size:0.9rem;color:var(--muted);
    line-height:2;
}
.footer-links .links-line a{
    color:var(--muted);text-decoration:none;
    margin-right:16px;transition:color 0.2s;
}
.footer-links .links-line a:hover{color:var(--primary);}
.footer-bottom{
    padding:16px 60px;
    border-top:1px solid var(--border);
    background:var(--bg);
    text-align:center;
    color:var(--muted);
    font-size:0.9rem;
}
/* 动画 */
.fade-up{
    opacity:0;transform:translateY(30px);
    transition:opacity 0.6s ease,transform 0.6s ease;
}
.fade-up.visible{
    opacity:1;transform:translateY(0);
}
/* 瀑布流卡片 */
.manga-grid{
    display:grid;
    grid-template-columns:repeat(auto-fill,minmax(220px,1fr));
    gap:24px;
    margin-top:32px;
}
.manga-card{
    border:1px solid var(--border);
    border-radius:12px;
    overflow:hidden;
    background:var(--bg);
    transition:transform 0.3s;
}
.manga-card:hover{transform:translateY(-4px);}
.manga-card .thumb{
    height:180px;
    background:linear-gradient(135deg,var(--primary),var(--accent));
    display:flex;align-items:center;justify-content:center;
    font-size:3rem;
}
.manga-card .info{padding:16px;}
.manga-card .info h5{font-size:1rem;font-weight:600;margin-bottom:4px;}
.manga-card .info .meta{font-size:0.8rem;color:var(--muted);}
@media (max-width:991px){
    .sidebar{display:none;}
    .topbar-mobile{display:flex;}
    .hero{padding:48px 32px;}
    .section{padding:48px 32px;}
    .cta-section{padding:48px 32px;}
    .footer-links{padding:32px;}
    .footer-bottom{padding:16px 32px;}
    .hero h1{font-size:2.2rem;}
}
@media (max-width:768px){
    .hero-stats{gap:24px;}
    .hero-stat .num{font-size:2.2rem;}
    .compare-table th,.compare-table td{padding:12px 14px;font-size:0.85rem;}
    .section-title{font-size:1.6rem;}
}

/* --- 子页面追加 --- */
/* 关于我们页专属小样式：时间线、价值卡片等 */
        .about-hero {
            padding: 4rem 0 3rem;
            position: relative;
        }
.about-hero h1 {
            font-weight: 800;
            font-size: 2.5rem;
            line-height: 1.2;
            margin-bottom: 1rem;
        }
.about-hero .lead {
            font-size: 1.1rem;
            color: var(--muted);
            max-width: 640px;
        }
.timeline-wrap {
            margin-top: 3rem;
        }
.timeline-item {
            border-left: 3px solid var(--primary);
            padding: 0 0 2rem 1.5rem;
            position: relative;
        }
.timeline-item::before {
            content: '';
            position: absolute;
            left: -8px;
            top: 4px;
            width: 14px;
            height: 14px;
            border-radius: 50%;
            background: var(--primary);
            border: 3px solid var(--bg);
            box-shadow: 0 0 0 2px var(--primary);
        }
.timeline-item h3 {
            font-weight: 700;
            font-size: 1.2rem;
            color: var(--text);
            margin-bottom: .5rem;
        }
.timeline-item p {
            color: var(--muted);
            font-size: .95rem;
            line-height: 1.7;
        }
.value-card {
            background: #fff;
            border-radius: 16px;
            padding: 1.8rem 1.5rem;
            height: 100%;
            border: 1px solid var(--border);
            transition: all .3s ease;
        }
.value-card:hover {
            transform: translateY(-4px);
            box-shadow: 0 12px 32px rgba(37, 99, 235, .08);
            border-color: var(--primary);
        }
.value-card .icon-wrap {
            width: 48px;
            height: 48px;
            border-radius: 12px;
            background: rgba(37, 99, 235, .08);
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: 1.4rem;
            margin-bottom: 1rem;
            color: var(--primary);
        }
.value-card h3 {
            font-weight: 700;
            font-size: 1.1rem;
            margin-bottom: .6rem;
        }
.value-card p {
            color: var(--muted);
            font-size: .92rem;
            line-height: 1.7;
        }
.stats-band {
            background: linear-gradient(135deg, var(--primary), var(--accent));
            border-radius: 20px;
            padding: 2.5rem 2rem;
            color: #fff;
            margin: 3rem 0;
        }
.stats-band .stat-num {
            font-size: 2rem;
            font-weight: 800;
        }
.stats-band .stat-label {
            opacity: .85;
            font-size: .9rem;
        }
.about-section {
            margin-top: 4rem;
        }
.about-section .section-title {
            margin-bottom: 2rem;
        }
.principle-list {
            list-style: none;
            padding: 0;
            margin: 0;
        }
.principle-list li {
            padding: .8rem 0;
            border-bottom: 1px dashed var(--border);
            display: flex;
            gap: .8rem;
            align-items: baseline;
            font-size: .98rem;
            color: var(--text);
        }
.principle-list li i {
            color: var(--primary);
            width: 20px;
            text-align: center;
        }
.principle-list li:last-child {
            border-bottom: none;
        }
.about-cta {
            background: var(--light);
            border-radius: 16px;
            padding: 2.5rem 2rem;
            text-align: center;
            margin-top: 3rem;
        }
.about-cta h3 {
            font-weight: 700;
            margin-bottom: .8rem;
        }
.about-hero h1 {
                font-size: 1.9rem;
            }
.stats-band .stat-num {
                font-size: 1.5rem;
            }
.stats-band {
                padding: 1.8rem 1.2rem;
            }