/* ============================================================
   ransom-payment.css — 赎金支付链追踪子课题专题样式
   与 style.css 全局变量兼容，不修改全局样式
   ============================================================ */

/* ===== HERO ===== */
.rp-hero{position:relative;min-height:560px;display:flex;align-items:center;overflow:hidden;
    background:linear-gradient(180deg,#f0f5ff 0%,#ffffff 100%);padding:140px 0 64px;}
#rpHeroCanvas{position:absolute;top:0;left:0;width:100%;height:100%;z-index:1;}
.rp-hero-overlay{position:absolute;inset:0;z-index:2;pointer-events:none;
    background:radial-gradient(ellipse at 50% 40%,transparent 0%,rgba(255,255,255,.45) 100%);}
.rp-hero-content{position:relative;z-index:3;text-align:center;}
.breadcrumb{display:flex;align-items:center;justify-content:center;gap:8px;margin-bottom:18px;font-size:13px;color:var(--text-light);}
.breadcrumb a{color:var(--primary);text-decoration:none;font-weight:500;}
.breadcrumb a:hover{text-decoration:underline;}
.rp-badge{display:inline-flex;align-items:center;gap:8px;background:rgba(26,110,255,.08);color:var(--primary);
    font-size:13px;font-weight:600;padding:8px 20px;border-radius:100px;margin-bottom:20px;border:1px solid rgba(26,110,255,.15);}
.rp-hero h1{font-size:clamp(30px,5vw,46px);font-weight:900;line-height:1.2;color:var(--text);margin-bottom:18px;letter-spacing:-1px;}
.rp-hero h1 .hl{background:var(--primary-gradient);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;}
.rp-hero-sub{max-width:780px;margin:0 auto;font-size:clamp(14px,1.8vw,17px);color:var(--text-secondary);line-height:1.95;}
.rp-chips{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-top:26px;}
.rp-chip{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--text-secondary);
    background:rgba(255,255,255,.85);border:1px solid var(--border);padding:6px 16px;border-radius:100px;font-weight:500;}
.rp-chip b{color:var(--primary);font-weight:700;}

/* ===== 布局组件 ===== */
.rp-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:20px;}
.rp-grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.rp-grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;}
.rp-card{background:#fff;border:1px solid var(--border);border-radius:var(--radius);padding:26px;transition:var(--transition);}
.rp-card:hover{box-shadow:var(--shadow-hover);transform:translateY(-3px);}
.rp-card h3{font-size:17px;font-weight:800;display:flex;align-items:center;gap:10px;margin-bottom:14px;color:var(--text);}
.rp-card h4{font-size:15px;font-weight:700;margin-bottom:10px;color:var(--text);}
.rp-card p{font-size:13.5px;color:var(--text-secondary);line-height:1.85;}
.rp-icon{width:36px;height:36px;border-radius:10px;background:var(--primary-light);color:var(--primary);
    display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;}
.rp-icon svg{width:19px;height:19px;}
.rp-icon.red{background:#fef2f2;color:#dc2626;}
.rp-icon.orange{background:#fff7ed;color:#ea580c;}
.rp-icon.green{background:#f0fdf4;color:#16a34a;}
.rp-icon.purple{background:#f5f3ff;color:#7c3aed;}
.rp-icon.gray{background:var(--bg-warm);color:var(--text-secondary);}
.rp-list{list-style:none;padding:0;}
.rp-list li{position:relative;padding-left:18px;font-size:13.5px;color:var(--text-secondary);line-height:1.8;margin-bottom:9px;}
.rp-list li::before{content:'';position:absolute;left:0;top:9px;width:6px;height:6px;background:var(--primary);border-radius:50%;opacity:.55;}
.rp-list li strong{color:var(--text);font-weight:600;}
.rp-list.red li::before{background:#dc2626;}

/* ===== 摘要卡 ===== */
.rp-abstract{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;}
.rp-abs-card{background:linear-gradient(135deg,#f8faff 0%,#ffffff 100%);border:1px solid var(--border);
    border-radius:14px;padding:20px 22px;transition:var(--transition);}
.rp-abs-card:hover{border-color:rgba(26,110,255,.25);box-shadow:var(--shadow);}
.rp-abs-card h4{display:flex;align-items:center;gap:8px;font-size:14.5px;margin-bottom:8px;color:var(--text);}
.rp-abs-card h4 .rp-icon{width:28px;height:28px;border-radius:8px;}
.rp-abs-card h4 .rp-icon svg{width:15px;height:15px;}
.rp-abs-card p{font-size:13px;color:var(--text-secondary);line-height:1.85;}

/* ===== 数据看板 ===== */
.rp-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:20px;}
.rp-stat{background:#fff;border:1px solid var(--border);border-radius:14px;padding:20px;transition:var(--transition);position:relative;overflow:hidden;}
.rp-stat::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:var(--primary-gradient);}
.rp-stat.danger::before{background:linear-gradient(90deg,#dc2626,#ef4444);}
.rp-stat.green::before{background:linear-gradient(90deg,#16a34a,#22c55e);}
.rp-stat.orange::before{background:linear-gradient(90deg,#ea580c,#f97316);}
.rp-stat:hover{box-shadow:var(--shadow-hover);transform:translateY(-3px);}
.rp-stat .rp-icon{margin-bottom:12px;}
.rp-stat-num{font-size:26px;font-weight:900;color:var(--text);line-height:1.1;font-variant-numeric:tabular-nums;}
.rp-stat-num em{font-size:13px;font-style:normal;font-weight:600;color:var(--text-light);margin-left:3px;}
.rp-stat-label{font-size:13px;font-weight:600;margin-top:8px;color:var(--text);}
.rp-stat-note{font-size:11px;color:var(--text-light);margin-top:4px;line-height:1.6;}
.chart-card{background:#fff;border:1px solid var(--border);border-radius:var(--radius);padding:24px 26px;margin-top:8px;}
.chart-card h4{font-size:15px;font-weight:700;display:flex;align-items:center;gap:8px;margin-bottom:4px;}
.chart-card h4 .rp-icon{width:30px;height:30px;border-radius:8px;}
.chart-card h4 .rp-icon svg{width:16px;height:16px;}
.chart-card canvas{width:100%;height:320px;display:block;}
.chart-note{font-size:12px;color:var(--text-light);line-height:1.8;margin-top:12px;padding-top:10px;border-top:1px dashed var(--border);}

/* ===== 提示条 ===== */
.rp-notice{display:flex;align-items:flex-start;gap:10px;border-radius:14px;padding:15px 18px;font-size:13px;line-height:1.85;margin-top:18px;}
.rp-notice .rp-icon{width:30px;height:30px;border-radius:8px;}
.rp-notice .rp-icon svg{width:16px;height:16px;}
.rp-notice.warn{background:#fff7ed;border:1px dashed rgba(234,88,12,.35);color:#7c2d12;}
.rp-notice.warn .rp-icon{background:rgba(234,88,12,.12);color:#ea580c;}
.rp-notice.info{background:var(--primary-light);border:1px dashed rgba(26,110,255,.25);color:#1e3a8a;}
.rp-notice.info .rp-icon{background:rgba(26,110,255,.1);color:var(--primary);}

/* ===== 五层流转模型 ===== */
.flow-layer{display:flex;gap:16px;align-items:flex-start;background:#fff;border:1px solid var(--border);
    border-radius:14px;padding:18px 20px;position:relative;margin-bottom:26px;transition:var(--transition);}
.flow-layer:hover{box-shadow:var(--shadow-hover);}
.flow-layer::after{content:'';position:absolute;left:35px;bottom:-22px;width:2px;height:22px;background:linear-gradient(180deg,var(--primary),rgba(26,110,255,.15));}
.flow-layer:last-child::after{display:none;}
.flow-num{width:32px;height:32px;border-radius:10px;color:#fff;font-weight:900;font-size:14px;
    display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.flow-layer:nth-child(1) .flow-num{background:linear-gradient(135deg,#dc2626,#ef4444);}
.flow-layer:nth-child(2) .flow-num{background:linear-gradient(135deg,#ea580c,#f97316);}
.flow-layer:nth-child(3) .flow-num{background:linear-gradient(135deg,#d97706,#f59e0b);}
.flow-layer:nth-child(4) .flow-num{background:linear-gradient(135deg,#1a6eff,#3b82f6);}
.flow-layer:nth-child(5) .flow-num{background:linear-gradient(135deg,#7c3aed,#a855f7);}
.flow-layer h4{font-size:15px;font-weight:700;color:var(--text);margin-bottom:6px;}
.flow-layer h4 small{font-weight:500;color:var(--text-light);font-size:12px;margin-left:6px;}
.flow-layer p{font-size:13px;color:var(--text-secondary);line-height:1.8;}
.flow-tags{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px;}
.flow-tags span{font-size:11px;background:var(--primary-light);color:var(--primary);padding:2px 10px;border-radius:100px;font-weight:600;}

/* ===== 表格 ===== */
.rp-table-wrap{overflow-x:auto;background:#fff;border:1px solid var(--border);border-radius:var(--radius);}
.rp-table{width:100%;border-collapse:collapse;font-size:13px;min-width:720px;}
.rp-table th{background:var(--bg-warm);font-weight:700;font-size:12px;color:var(--text-secondary);
    padding:12px 14px;text-align:left;border-bottom:1px solid var(--border);white-space:nowrap;}
.rp-table td{padding:12px 14px;border-bottom:1px solid var(--border);color:var(--text-secondary);line-height:1.7;vertical-align:top;}
.rp-table tr:last-child td{border-bottom:none;}
.rp-table td strong{color:var(--text);}
.rp-table .amt{font-weight:800;color:#dc2626;white-space:nowrap;}
.st{display:inline-block;font-size:11px;font-weight:700;padding:3px 10px;border-radius:100px;white-space:nowrap;}
.st.pay{background:#fef2f2;color:#dc2626;}
.st.refuse{background:#f0fdf4;color:#16a34a;}
.st.part{background:#fff7ed;color:#ea580c;}
.st.unknown{background:var(--bg-warm);color:var(--text-light);}

/* ===== 时间线 ===== */
.rp-timeline{position:relative;max-width:860px;margin:0 auto;padding-left:30px;}
.rp-timeline::before{content:'';position:absolute;left:9px;top:6px;bottom:6px;width:2px;
    background:linear-gradient(180deg,#dc2626,#ea580c 30%,var(--primary) 65%,var(--border));}
.rp-tl-item{position:relative;margin-bottom:22px;}
.rp-tl-dot{position:absolute;left:-29px;top:5px;width:14px;height:14px;border-radius:50%;background:#fff;border:3.5px solid var(--primary);}
.rp-tl-item.hot .rp-tl-dot{border-color:#dc2626;box-shadow:0 0 0 4px rgba(220,38,38,.12);}
.rp-tl-time{display:inline-block;font-size:12px;font-weight:800;color:var(--primary);background:var(--primary-light);padding:2px 12px;border-radius:100px;margin-bottom:6px;}
.rp-tl-item.hot .rp-tl-time{background:#fef2f2;color:#dc2626;}
.rp-tl-item h4{font-size:15px;font-weight:700;color:var(--text);margin-bottom:4px;}
.rp-tl-item p{font-size:13px;color:var(--text-secondary);line-height:1.85;}

/* ===== 参考文献 ===== */
.rp-ref{list-style:none;counter-reset:ref;padding:0;}
.rp-ref li{counter-increment:ref;position:relative;padding-left:36px;margin-bottom:11px;font-size:13px;color:var(--text-secondary);line-height:1.85;}
.rp-ref li::before{content:counter(ref);position:absolute;left:0;top:2px;width:23px;height:23px;background:var(--primary-light);
    color:var(--primary);border-radius:7px;font-size:11px;font-weight:800;display:flex;align-items:center;justify-content:center;}
.rp-ref li strong{color:var(--text);}
.rp-ref a{color:var(--primary);text-decoration:none;word-break:break-all;}
.rp-ref a:hover{text-decoration:underline;}

/* ===== 分页按钮 ===== */
.rp-pager{display:flex;gap:16px;justify-content:space-between;margin-top:56px;flex-wrap:wrap;}
.pager-btn{flex:1;min-width:260px;max-width:440px;display:flex;align-items:center;gap:14px;background:#fff;
    border:1px solid var(--border);border-radius:16px;padding:18px 22px;text-decoration:none;color:var(--text);transition:var(--transition);}
.pager-btn:hover{border-color:rgba(26,110,255,.35);box-shadow:var(--shadow-hover);transform:translateY(-2px);}
.pager-btn.next{flex-direction:row-reverse;text-align:right;margin-left:auto;}
.pager-btn .pb-icon{width:42px;height:42px;border-radius:50%;background:var(--primary-light);color:var(--primary);
    display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.pager-btn .pb-icon svg{width:19px;height:19px;}
.pager-btn .pb-dir{font-size:11px;font-weight:700;color:var(--text-light);letter-spacing:1px;text-transform:uppercase;}
.pager-btn .pb-title{font-size:15.5px;font-weight:800;margin-top:2px;}
.pager-btn .pb-sub{font-size:12px;color:var(--text-light);margin-top:2px;}
.rp-pager-note{text-align:center;font-size:12px;color:var(--text-light);margin-top:16px;}

/* ===== 课题导览卡 ===== */
.rp-guide-card{display:block;background:#fff;border:1px solid var(--border);border-radius:var(--radius);padding:26px;
    text-decoration:none;color:inherit;transition:var(--transition);position:relative;overflow:hidden;}
.rp-guide-card::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:var(--primary-gradient);
    transform:scaleX(0);transform-origin:left;transition:var(--transition);}
.rp-guide-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-hover);}
.rp-guide-card:hover::before{transform:scaleX(1);}
.rp-guide-card .rg-num{font-size:13px;font-weight:800;color:var(--primary);letter-spacing:1px;margin-bottom:10px;}
.rp-guide-card h4{font-size:16px;font-weight:800;margin-bottom:8px;color:var(--text);}
.rp-guide-card p{font-size:13px;color:var(--text-secondary);line-height:1.8;margin-bottom:14px;}
.rp-guide-card .rg-link{font-size:13px;font-weight:700;color:var(--primary);display:inline-flex;align-items:center;gap:6px;}
.rp-guide-card .rg-link svg{width:15px;height:15px;}

.btn-primary{display:inline-flex;align-items:center;gap:8px;padding:13px 26px;border-radius:12px;
    background:var(--primary-gradient);color:#fff;font-size:14.5px;font-weight:600;text-decoration:none;
    transition:var(--transition);border:none;cursor:pointer;font-family:inherit;}
.btn-primary:hover{transform:translateY(-2px);box-shadow:0 8px 24px rgba(26,110,255,.3);}
.btn-primary svg{width:16px;height:16px;}

/* ===== 响应式 ===== */
@media (max-width:1024px){
    .rp-grid-4{grid-template-columns:repeat(2,1fr);}
    .rp-grid-3{grid-template-columns:1fr;}
    .rp-stats{grid-template-columns:repeat(2,1fr);}
}
@media (max-width:768px){
    .rp-hero{min-height:440px;padding:120px 0 48px;}
    .rp-grid-2,.rp-grid-4,.rp-abstract{grid-template-columns:1fr;}
    .rp-stats{grid-template-columns:1fr;}
    .rp-pager{flex-direction:column;}
    .pager-btn,.pager-btn.next{max-width:100%;}
    .chart-card canvas{height:260px;}
    .flow-layer::after{left:31px;}
    .rp-timeline{padding-left:26px;}
    .section{padding:52px 0;}
}

/* ===== 导航与页脚移动端适配（补全全局style.css缺失的响应式规则） ===== */
@media (max-width:768px){
    .mobile-toggle{display:flex;}
    .nav-links{
        display:none;
        position:absolute;
        top:72px;left:0;right:0;
        background:#fff;
        flex-direction:column;
        padding:16px 24px;
        gap:4px;
        box-shadow:0 8px 24px rgba(0,0,0,.08);
        border-bottom:1px solid var(--border);
        align-items:stretch;
    }
    .nav-links.active{display:flex;}
    .nav-links li{width:100%;list-style:none;}
    .nav-links a{display:block;padding:12px 14px;border-radius:10px;}
    .logo-text{font-size:14px;}
    .logo-icon img{height:36px;}
    .footer-grid{grid-template-columns:1fr !important;gap:28px !important;}
    .footer{padding:48px 0 24px;}
    .footer-bottom{flex-direction:column;align-items:flex-start;}
}
@media (max-width:1024px){
    .footer-grid{grid-template-columns:1fr 1fr;gap:32px;}
}
