/* ycp10 - 绛红 | 搜狗+百度双平台SEO优化模板 */
:root {
    --ycp-primary: #b91c1c;
    --ycp-dark: #991b1b;
    --ycp-accent: #f97316;
    --ycp-bg: #ffffff;
    --ycp-sub: #f8fafc;
    --ycp-card: #ffffff;
    --ycp-text: #1e293b;
    --ycp-text2: #64748b;
    --ycp-border: #e2e8f0;
    --ycp-shadow: 0 4px 12px rgba(0,0,0,.08);
    --ycp-shadow-lg: 0 10px 30px rgba(0,0,0,.12);
}
* { box-sizing: border-box; margin: 0; padding: 0; }
body { font-family: "Microsoft YaHei","PingFang SC",-apple-system,sans-serif; color: var(--ycp-text); background: var(--ycp-bg); line-height: 1.7; font-size: 15px; }
a { color: var(--ycp-primary); text-decoration: none; transition: .25s; }
a:hover { color: var(--ycp-dark); }
.ycp-wrap { width: 1200px; max-width: 100%; margin: 0 auto; padding: 0 20px; }
/* Header */
.ycp-hd { position: sticky; top: 0; z-index: 1000; background: rgba(255,255,255,.98); box-shadow: 0 2px 6px rgba(0,0,0,.04); border-bottom: 1px solid var(--ycp-border); }
.ycp-nav { display: flex; align-items: center; justify-content: space-between; height: 64px; }
.ycp-logo { font-size: 1.4rem; font-weight: 700; color: var(--ycp-primary); }
.ycp-menu { display: flex; list-style: none; gap: 6px; }
.ycp-menu li a { display: block; padding: 8px 14px; color: #374151; font-size: 14px; border-radius: 6px; }
.ycp-menu li a:hover { color: var(--ycp-primary); background: var(--ycp-sub); }
.ycp-menu li.active a { color: var(--ycp-primary); font-weight: 600; }
.ycp-hd-btn { padding: 8px 20px; background: var(--ycp-primary); color: #fff !important; border-radius: 6px; font-weight: 500; }
.ycp-hd-btn:hover { background: var(--ycp-dark); }
/* Hero */
.ycp-hero { background: linear-gradient(135deg, var(--ycp-primary) 0%, var(--ycp-dark) 100%); color: #fff; padding: 90px 0 100px; text-align: center; position: relative; overflow: hidden; }
.ycp-hero h1 { font-size: 2.5rem; font-weight: 800; margin-bottom: 18px; line-height: 1.3; }
.ycp-hero p { font-size: 1.05rem; max-width: 760px; margin: 0 auto 30px; color: rgba(255,255,255,.9); }
.ycp-hero-btns { display: flex; gap: 14px; justify-content: center; flex-wrap: wrap; }
.ycp-btn { display: inline-block; padding: 12px 30px; border-radius: 6px; font-weight: 600; font-size: 15px; transition: .25s; cursor: pointer; }
.ycp-btn-p { background: #fff; color: var(--ycp-primary) !important; }
.ycp-btn-p:hover { transform: translateY(-2px); box-shadow: 0 6px 20px rgba(0,0,0,.15); }
.ycp-btn-g { background: transparent; color: #fff !important; border: 1.5px solid rgba(255,255,255,.7); }
.ycp-btn-g:hover { background: rgba(255,255,255,.1); }
.ycp-btn-main { background: var(--ycp-primary); color: #fff !important; }
.ycp-btn-main:hover { background: var(--ycp-dark); }
/* Section */
.ycp-sec { padding: 70px 0; }
.ycp-sec.alt { background: var(--ycp-sub); }
.ycp-st { text-align: center; margin-bottom: 45px; }
.ycp-st h2 { font-size: 1.9rem; font-weight: 700; margin-bottom: 10px; }
.ycp-st p { color: var(--ycp-text2); font-size: 1rem; }
.ycp-st::after { content: ''; display: block; width: 50px; height: 3px; background: var(--ycp-primary); margin: 14px auto 0; border-radius: 2px; }
/* Cards */
.ycp-grid4 { display: grid; grid-template-columns: repeat(4,1fr); gap: 22px; }
.ycp-grid3 { display: grid; grid-template-columns: repeat(3,1fr); gap: 22px; }
.ycp-grid2 { display: grid; grid-template-columns: repeat(2,1fr); gap: 22px; }
.ycp-card { background: var(--ycp-card); border-radius: 8px; padding: 30px 22px; box-shadow: var(--ycp-shadow); border: 1px solid var(--ycp-border); transition: .3s; }
.ycp-card:hover { transform: translateY(-4px); box-shadow: var(--ycp-shadow-lg); }
.ycp-card h3 { font-size: 1.1rem; font-weight: 700; margin-bottom: 10px; }
.ycp-card p { color: var(--ycp-text2); font-size: 14px; }
.ycp-card .ycp-icon { width: 56px; height: 56px; background: var(--ycp-sub); color: var(--ycp-primary); border-radius: 12px; display: flex; align-items: center; justify-content: center; font-size: 24px; margin-bottom: 16px; }
/* Rating */
.ycp-rating { display: flex; align-items: center; gap: 20px; padding: 24px; background: var(--ycp-card); border-radius: 8px; border: 1px solid var(--ycp-border); margin-bottom: 16px; transition: .3s; }
.ycp-rating:hover { border-color: var(--ycp-primary); box-shadow: var(--ycp-shadow); }
.ycp-rank { font-size: 2rem; font-weight: 800; color: var(--ycp-accent); min-width: 50px; text-align: center; }
.ycp-rating-info { flex: 1; }
.ycp-rating-info h3 { font-size: 1.1rem; margin-bottom: 6px; }
.ycp-rating-info p { color: var(--ycp-text2); font-size: 14px; margin: 0; }
.ycp-stars { color: var(--ycp-accent); font-size: 18px; letter-spacing: 2px; }
.ycp-score { font-size: 1.6rem; font-weight: 800; color: var(--ycp-primary); }
/* Table */
.ycp-table { width: 100%; border-collapse: collapse; background: var(--ycp-card); border-radius: 8px; overflow: hidden; box-shadow: var(--ycp-shadow); }
.ycp-table th { background: var(--ycp-primary); color: #fff; padding: 14px 16px; text-align: left; font-size: 14px; font-weight: 600; }
.ycp-table td { padding: 14px 16px; border-bottom: 1px solid var(--ycp-border); font-size: 14px; }
.ycp-table tr:hover { background: var(--ycp-sub); }
.ycp-table .ycp-tbtn { padding: 6px 16px; background: var(--ycp-primary); color: #fff !important; border-radius: 4px; font-size: 13px; font-weight: 500; }
/* FAQ */
.ycp-faq { max-width: 880px; margin: 0 auto; }
.ycp-faq-item { background: var(--ycp-card); border: 1px solid var(--ycp-border); border-radius: 8px; margin-bottom: 10px; overflow: hidden; }
.ycp-faq-item:hover { border-color: var(--ycp-primary); }
.ycp-fq { padding: 16px 22px; cursor: pointer; font-weight: 600; display: flex; justify-content: space-between; align-items: center; font-size: 15px; }
.ycp-fq::after { content: '+'; color: var(--ycp-primary); font-size: 20px; }
.ycp-fa { padding: 0 22px 18px; color: var(--ycp-text2); line-height: 1.8; font-size: 14px; display: none; }
.ycp-faq-item.open .ycp-fa { display: block; }
.ycp-faq-item.open .ycp-fq::after { content: '−'; }
/* CTA */
.ycp-cta { background: linear-gradient(135deg, var(--ycp-primary), var(--ycp-dark)); padding: 65px 0; text-align: center; color: #fff; }
.ycp-cta h2 { font-size: 1.9rem; font-weight: 700; margin-bottom: 12px; }
.ycp-cta p { font-size: 1.05rem; margin-bottom: 26px; color: rgba(255,255,255,.9); }
/* Pros/Cons */
.ycp-pros-cons { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
.ycp-pros { background: #f0fdf4; border: 1px solid #bbf7d0; border-radius: 8px; padding: 24px; }
.ycp-pros h3 { color: #16a34a; margin-bottom: 12px; }
.ycp-pros li, .ycp-cons li { padding: 6px 0; font-size: 14px; color: var(--ycp-text); list-style: none; }
.ycp-pros li::before { content: '✓ '; color: #16a34a; font-weight: 700; }
.ycp-cons { background: #fef2f2; border: 1px solid #fecaca; border-radius: 8px; padding: 24px; }
.ycp-cons h3 { color: #dc2626; margin-bottom: 12px; }
.ycp-cons li::before { content: '✗ '; color: #dc2626; font-weight: 700; }
/* Footer */
.ycp-ft { background: #1e293b; color: #cbd5e1; padding: 45px 0 22px; }
.ycp-ft-grid { display: grid; grid-template-columns: 2fr 1fr 1fr; gap: 36px; margin-bottom: 28px; }
.ycp-ft h4 { color: #fff; font-size: 1.05rem; font-weight: 600; margin-bottom: 14px; }
.ycp-ft p, .ycp-ft a, .ycp-ft li { color: #cbd5e1; font-size: 14px; line-height: 1.9; }
.ycp-ft ul { list-style: none; }
.ycp-ft ul li a:hover { color: var(--ycp-primary); }
.ycp-ft-bot { border-top: 1px solid #334155; padding-top: 18px; text-align: center; font-size: 13px; color: #94a3b8; }
/* Badge */
.ycp-badge { display: inline-block; padding: 3px 10px; background: var(--ycp-accent); color: #fff; border-radius: 4px; font-size: 12px; font-weight: 600; }
/* Responsive */
@media (max-width:1024px) {
    .ycp-wrap { width: 100%; }
    .ycp-grid4, .ycp-grid3 { grid-template-columns: repeat(2,1fr); }
    .ycp-pros-cons { grid-template-columns: 1fr; }
    .ycp-ft-grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width:640px) {
    .ycp-hero h1 { font-size: 1.7rem; }
    .ycp-sec { padding: 45px 0; }
    .ycp-grid4, .ycp-grid3, .ycp-grid2 { grid-template-columns: 1fr; }
    .ycp-ft-grid { grid-template-columns: 1fr; }
    .ycp-menu { display: none; }
}

/* === user pages (auto-added by _tools_fix_user_pages.py) === */
.ycp-form {
    max-width: 480px; margin: 0 auto; background: #fff;
    padding: 32px 28px; border-radius: 12px;
    box-shadow: 0 4px 24px rgba(0,0,0,.08);
}
.ycp-form h3 {
    margin: 0 0 20px; font-size: 22px; text-align: center;
    color: var(--ycp-text, #222);
}
.ycp-form-group { margin-bottom: 16px; }
.ycp-form-group label {
    display: block; margin-bottom: 6px; font-size: 14px;
    color: var(--ycp-text2, #666);
}
.ycp-form-group input {
    width: 100%; padding: 10px 12px; border: 1px solid #dcdfe6;
    border-radius: 8px; font-size: 14px; box-sizing: border-box;
    transition: border-color .15s;
}
.ycp-form-group input:focus {
    outline: none; border-color: var(--ycp-primary, #0d6efd);
}
.ycp-form-submit {
    display: block; width: 100%; padding: 12px; margin-top: 8px;
    border: 0; border-radius: 8px;
    background: var(--ycp-primary, #0d6efd);
    color: #fff; font-size: 15px; cursor: pointer;
}
.ycp-form-submit:hover {
    background: var(--ycp-primary-dark, #0b5ed7);
}
.ycp-breadcrumb { padding: 14px 0; font-size: 14px; color: #666; }
.ycp-breadcrumb a { color: var(--ycp-primary, #0d6efd); text-decoration: none; }
.ycp-breadcrumb .sep { margin: 0 6px; color: #999; }
