/* ==========================================================
   璧勬簮璇︽儏椤?鈥?娴呰壊涓婚锛堝惈 popup 寮圭獥妯″紡锛?
   ========================================================== */

*{ box-sizing:border-box; }

body{
    margin:0;
    color:var(--text);
    font-family:system-ui,-apple-system,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;
    background:linear-gradient(180deg,var(--bg-top) 0,var(--bg) 420px);
    -webkit-font-smoothing:antialiased;
}
.container{ width:100%; position:relative; z-index:1; }

/* ================= 椤堕儴鏍?================= */
.top-bar{
    background:rgba(15,23,42,.85);
    backdrop-filter:saturate(160%) blur(14px);
    -webkit-backdrop-filter:saturate(160%) blur(14px);
    border-bottom:1px solid var(--border);
    padding:14px 0;
    position:sticky;
    top:0;
    z-index:99;
}
.top-bar-inner{
    max-width:1200px;
    margin:0 auto;
    padding:0 20px;
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:16px;
}
.top-logo{
    font-size:20px;
    font-weight:800;
    color:var(--primary);
    text-shadow:0 0 14px rgba(34,211,238,.45);
    text-decoration:none;
    letter-spacing:.4px;
    display:inline-flex;
    align-items:center;
    gap:9px;
}
.top-logo::before{
    content:"";
    width:9px;height:9px;
    border-radius:3px;
    background:linear-gradient(135deg,#22d3ee,#3b82f6);
    box-shadow:0 0 0 4px rgba(34,211,238,.12);
    flex-shrink:0;
}
.top-contact{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    align-items:center;
}
.top-contact-item{
    padding:7px 14px;
    border-radius:99px;
    background:var(--card-soft);
    border:1px solid var(--border);
    color:var(--text-sub);
    font-size:12.5px;
    text-decoration:none;
    transition:.2s;
}
.top-contact-item:hover{
    background:var(--primary-soft);
    color:var(--primary);
    border-color:#d3ddff;
}

/* ================= 杩斿洖鎸夐挳 ================= */
.back-btn{
    display:inline-block;
    padding:9px 18px;
    background:var(--card);
    color:var(--text-sub);
    text-decoration:none;
    border-radius:99px;
    font-size:13.5px;
    font-weight:500;
    border:1px solid var(--border);
    box-shadow:var(--shadow-xs);
    transition:.2s;
}
.back-btn:hover{
    color:var(--primary);
    border-color:#d3ddff;
    background:var(--primary-soft);
}

/* ================= 涓诲竷灞€ ================= */
.wrap-container{
    max-width:1200px;
    margin:26px auto 40px;
    padding:0 16px;
    display:grid;
    grid-template-columns:1fr 336px;
    gap:22px;
    align-items:start;
}

/* 宸︿晶涓诲唴瀹?*/
.main-content{
    background:var(--card);
    border:1px solid var(--border);
    border-radius:var(--radius-xl);
    padding:20px;
    box-shadow:var(--shadow-sm);
}

.main-image-wrap{
    width:100%;
    max-height:60vh;
    overflow:hidden;
    border-radius:var(--radius-md);
    background:var(--bg-soft);
    border:1px solid var(--border);
}
.main-image-wrap img{
    width:100%;
    max-width:100%;
    height:auto;
    max-height:60vh;
    object-fit:contain;
    display:block;
}

.thumb-scroll{
    display:flex;
    gap:9px;
    overflow-x:auto;
    margin-top:12px;
    padding-bottom:6px;
    scrollbar-width:thin;
}
.thumb-scroll::-webkit-scrollbar{ height:5px; }
.thumb-scroll::-webkit-scrollbar-thumb{
    background:var(--bg-soft);
    border-radius:4px;
}
.thumb-item{
    width:96px;
    height:62px;
    border-radius:var(--radius-sm);
    cursor:pointer;
    border:2px solid var(--border);
    flex-shrink:0;
    overflow:hidden;
    transition:.2s;
    background:var(--bg-soft);
}
.thumb-item.active{
    border-color:var(--primary);
    box-shadow:0 0 0 3px rgba(34,211,238,.14);
}
.thumb-item img{ width:100%; height:100%; object-fit:cover; display:block; }

/* 淇℃伅鍖?*/
.info-card{ margin-top:20px; }
.info-card h1{
    margin:0 0 12px;
    font-size:23px;
    line-height:1.45;
    font-weight:750;
    color:var(--text);
    letter-spacing:-.3px;
    word-break:break-word;
}
.detail-meta{
    color:var(--muted);
    font-size:13px;
    margin-bottom:14px;
    display:flex;
    flex-wrap:wrap;
    gap:8px 16px;
    align-items:center;
}
.wp-desc{
    color:var(--text-sub);
    line-height:1.8;
    font-size:14px;
    margin-bottom:16px;
    background:var(--card-soft);
    border:1px solid var(--border);
    border-radius:var(--radius-md);
    padding:14px 16px;
}

/* 缃戠洏鍖哄潡 */
.pan-list{ display:flex; flex-direction:column; gap:12px; }
.pan-item{
    background:var(--card-soft);
    border:1px solid var(--border);
    border-radius:var(--radius-md);
    padding:15px 16px;
    margin-bottom:0;
    transition:.2s;
}
.pan-item:hover{ border-color:var(--border-strong); }
.pan-url{
    color:var(--text-sub);
    word-break:break-all;
    font-size:12.5px;
    line-height:1.6;
    margin-bottom:8px;
}
.pan-extract,
.pan-password{
    color:var(--text-sub);
    font-size:13px;
    margin:5px 0;
}
.pan-extract span,
.pan-password span{
    color:var(--primary-dark);
    font-weight:700;
    letter-spacing:.5px;
}
.pan-download-btn{
    display:block;
    text-align:center;
    padding:11px 18px;
    background:linear-gradient(135deg,#22d3ee,#3b82f6);
    color:#fff;
    text-decoration:none;
    border-radius:var(--radius-sm);
    font-size:14px;
    font-weight:600;
    margin-top:12px;
    box-shadow:0 8px 18px rgba(34,211,238,.24);
    transition:.2s;
}
.pan-download-btn:hover{
    transform:translateY(-1px);
    box-shadow:0 12px 24px rgba(34,211,238,.32);
}

.wp-intro{
    margin-top:18px;
    padding-top:16px;
    border-top:1px dashed var(--border);
}
.wp-intro h3{
    margin:0 0 10px;
    color:var(--text);
    font-size:16px;
    font-weight:700;
}
.intro-content{
    color:var(--text-sub);
    line-height:1.85;
    font-size:13.8px;
}
.no-pan{
    color:var(--muted);
    padding:22px;
    text-align:center;
    font-size:13.5px;
    background:var(--card-soft);
    border:1px dashed var(--border-strong);
    border-radius:var(--radius-md);
}

/* ================= 鍙充晶杈规爮 ================= */
.sidebar{
    display:flex;
    flex-direction:column;
    gap:20px;
}
.sidebar-card{
    background:var(--card);
    border:1px solid var(--border);
    border-radius:var(--radius-lg);
    padding:18px;
    box-shadow:var(--shadow-sm);
}
.ads-block{ display:flex; flex-direction:column; gap:12px; }
.ad-item img{
    width:100%;
    border-radius:var(--radius-sm);
    display:block;
}
.rec-block h3{
    margin:0 0 14px;
    color:var(--text);
    font-size:15.5px;
    font-weight:700;
    border-left:4px solid var(--primary);
    padding-left:9px;
    line-height:1.2;
}
.rec-list{ display:flex; flex-direction:column; gap:10px; }
.rec-item{
    display:flex;
    gap:12px;
    align-items:center;
    background:var(--card-soft);
    border:1px solid var(--border);
    border-radius:var(--radius-md);
    padding:9px;
    text-decoration:none;
    transition:.2s;
}
.rec-item:hover{
    border-color:#d3ddff;
    background:var(--primary-soft);
}
.rec-item img{
    width:78px;
    height:54px;
    object-fit:cover;
    border-radius:6px;
    background:var(--bg-soft);
    flex-shrink:0;
}
.rec-title{
    color:var(--text-sub);
    font-size:13px;
    line-height:1.5;
    display:-webkit-box;
    -webkit-line-clamp:2;
    line-clamp:2;
    -webkit-box-orient:vertical;
    overflow:hidden;
}

/* ================= 椤佃剼 ================= */
.site-footer{
    background:var(--card);
    border-top:1px solid var(--border);
    padding:24px 0 30px;
    margin-top:30px;
}
.footer-inner{
    max-width:1200px;
    margin:0 auto;
    padding:0 16px;
    color:var(--muted);
    font-size:13px;
}
.footer-links{ margin-bottom:10px; line-height:2; }
.footer-links a{
    display:inline-block;
    margin:0 4px;
    padding:2px 10px;
    border-radius:99px;
    background:var(--card-soft);
    border:1px solid var(--border);
    color:var(--text-sub);
}
.footer-links a:hover{ color:var(--primary); background:var(--primary-soft); }

/* ================= popup 寮圭獥妯″紡 ================= */
.popup-body{
    background:var(--card) !important;
    padding:12px !important;
    overflow:hidden;
}
.popup-row{
    display:grid;
    grid-template-columns:54% 46%;
    gap:18px;
}
.popup-left-col,
.popup-right-col{
    display:flex;
    flex-direction:column;
    gap:10px;
}
.popup-right-col{
    max-height:78vh;
    overflow-y:auto;
    padding-right:6px;
}
.popup-right-col::-webkit-scrollbar{ width:5px; }
.popup-right-col::-webkit-scrollbar-thumb{ background:#dde3f0; border-radius:4px; }
.main-image-container{
    background:var(--bg-soft);
    border:1px solid var(--border);
    border-radius:var(--radius-md);
    overflow:hidden;
}
.main-image-container img{
    width:100%;
    border-radius:var(--radius-md);
    display:block;
}
.popup-right-col h1{
    margin:0 0 10px;
    font-size:20px;
    line-height:1.45;
    font-weight:750;
    color:var(--text);
    word-break:break-word;
}
.popup-right-col .detail-meta{
    color:var(--muted);
    font-size:12.5px;
}
.popup-right-col .wp-desc{
    color:var(--text-sub);
    line-height:1.72;
    font-size:13.5px;
    padding:12px 14px;
}
.popup-right-col .pan-item{
    background:var(--card-soft);
    border:1px solid var(--border);
    border-radius:var(--radius-md);
    padding:12px;
    margin-bottom:10px;
}
.popup-right-col .pan-download-btn{
    display:block;
    text-align:center;
    padding:10px;
    background:linear-gradient(135deg,#22d3ee,#3b82f6);
    color:#fff;
    text-decoration:none;
    border-radius:var(--radius-sm);
    margin-top:10px;
    font-weight:600;
    box-shadow:0 8px 16px rgba(34,211,238,.22);
}
.popup-right-col .thumb-item{
    width:74px;
    height:74px;
}

/* ================= 鍝嶅簲寮?================= */
@media (max-width:960px){
    .wrap-container{ grid-template-columns:1fr; }
    .sidebar{ flex-direction:row; flex-wrap:wrap; }
    .sidebar-card{ flex:1 1 300px; }
}
@media (max-width:768px){
    .popup-row{ grid-template-columns:1fr; }
    .popup-right-col{ max-height:none; }
}
@media (max-width:640px){
    .top-bar-inner{ flex-direction:column; align-items:flex-start; gap:10px; }
    .top-contact{ width:100%; justify-content:flex-start; }
    .wrap-container{ margin-top:16px; gap:16px; }
    .main-content,
    .sidebar-card{ padding:14px; }
    .info-card h1{ font-size:19px; }
    .thumb-item{ width:80px; height:56px; }
}

/* 详情页顶部导航 */
.top-nav{
    display:flex; align-items:center; gap:24px;
    margin-left:28px;
    flex:1;
}
.top-nav a{
    font-size:13.5px; color:#9fb0c8; text-decoration:none;
    padding:6px 0; position:relative; transition:color .18s;
    white-space:nowrap;
}
.top-nav a:hover{ color:#22d3ee; }
.top-nav a.active{ color:#22d3ee; font-weight:700; }
.top-nav a.active::after{
    content:''; position:absolute; left:0; right:0; bottom:0;
    height:2px; border-radius:2px;
    background:linear-gradient(90deg,#22d3ee,#3b82f6);
}
@media (max-width:900px){
    .top-nav{ margin-left:14px; gap:14px; overflow-x:auto; }
    .top-nav a{ font-size:12.5px; }
}
