/* ============================================
   18. 娓告垙璇︽儏椤?v5.0 鈥?缁忓吀涓婁笅甯冨眬
   ============================================ */

/* 灏侀潰澶у浘 */
.gp-detail-cover-section{width:100%;max-height:420px;overflow:hidden;border-radius:0 0 16px 16px;}
.gp-detail-cover-full{width:100%;max-height:420px;object-fit:contain;display:block;background:var(--gp-bg-input);}

/* 璇︽儏鏂囩珷瀹瑰櫒 */
.gp-detail-article{background:var(--gp-bg-card);border:1px solid var(--gp-border);border-radius:16px;overflow:hidden;margin-top:var(--gp-space);}

/* 鏍囬澶撮儴 */
.gp-detail-header{padding:28px 32px;border-bottom:1px solid var(--gp-border);}
.gp-detail-title{font-family:var(--gp-font-heading);font-size:1.8rem;font-weight:800;color:var(--gp-text-primary);margin:0 0 4px;line-height:1.3;}
.gp-detail-subtitle{font-size:0.82rem;color:var(--gp-text-dim);margin:0 0 16px;}

/* 鍏冩暟鎹俊鎭潯 */
.gp-detail-meta-bar{display:flex;flex-wrap:wrap;gap:0;border:1px solid var(--gp-border);border-radius:10px;overflow:hidden;margin-bottom:16px;}
.gp-detail-meta-item{padding:10px 16px;border-right:1px solid var(--gp-border);display:flex;flex-direction:column;gap:2px;min-width:80px;}
.gp-detail-meta-item:last-child{border-right:none;}
.gp-detail-meta-label{font-size:0.6rem;color:var(--gp-text-muted);text-transform:uppercase;letter-spacing:0.05em;}
.gp-detail-meta-value{font-size:0.78rem;font-weight:600;color:var(--gp-text-primary);}

/* 璇勫垎鍦ㄥ厓鏁版嵁鏉′腑 */
.gp-detail-rating{flex-direction:row;align-items:center;gap:10px;min-width:200px;}
.gp-detail-rating-score{font-size:1.6rem;font-weight:800;color:var(--gp-primary);line-height:1;}
.gp-detail-stars{display:flex;gap:1px;}
.gp-detail-stars i{font-size:0.65rem;color:#f59e0b;}
.gp-detail-rating-count{font-size:0.65rem;color:var(--gp-text-dim);}

/* 鎿嶄綔鎸夐挳琛?*/
.gp-detail-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;}
.gp-detail-dl-btn{padding:12px 28px;border-radius:8px;border:none;background:linear-gradient(135deg,var(--gp-primary),var(--gp-primary-dark));color:#fff;font-size:0.9rem;font-weight:700;cursor:pointer;box-shadow:0 4px 16px var(--gp-primary-glow);text-decoration:none;display:inline-flex;align-items:center;gap:8px;transition:all 0.2s;font-family:inherit;}
.gp-detail-dl-btn:hover{transform:translateY(-2px);box-shadow:0 8px 24px var(--gp-primary-glow);color:#fff;}
.gp-detail-dl-btn.disabled{opacity:0.5;cursor:not-allowed;pointer-events:none;box-shadow:none;}
.gp-detail-dl-wrap{position:relative;}
.gp-detail-dl-menu{display:none;position:absolute;top:100%;left:0;min-width:200px;background:var(--gp-bg-elevated);border:1px solid var(--gp-border);border-radius:8px;padding:4px;z-index:20;margin-top:4px;box-shadow:0 8px 24px rgba(0,0,0,0.4);}
.gp-detail-dl-menu a{display:block;padding:10px 16px;font-size:0.8rem;color:var(--gp-text);text-decoration:none;border-radius:6px;transition:all 0.15s;}
.gp-detail-dl-menu a:hover{background:rgba(255,107,53,0.08);color:var(--gp-primary);}
.gp-detail-fav-btn,.gp-detail-share-btn{padding:10px 18px;border-radius:8px;border:1px solid var(--gp-border);background:var(--gp-bg-input);color:var(--gp-text-dim);cursor:pointer;font-size:0.8rem;font-weight:600;display:inline-flex;align-items:center;gap:6px;transition:all 0.2s;font-family:inherit;}
.gp-detail-fav-btn:hover,.gp-detail-share-btn:hover{border-color:var(--gp-primary);color:var(--gp-primary);background:rgba(255,107,53,0.05);}
.gp-detail-fav-btn.faved{background:rgba(255,107,53,0.1);border-color:var(--gp-primary);color:var(--gp-primary);}
.gp-detail-fav-btn em{font-style:normal;font-size:0.65rem;opacity:0.7;}

/* 姝ｆ枃鍖哄煙 */
.gp-detail-body{padding:28px 32px;border-bottom:1px solid var(--gp-border);}
.gp-detail-body:last-child{border-bottom:none;}
.gp-detail-section-title{font-family:var(--gp-font-heading);font-size:1.15rem;font-weight:700;color:var(--gp-text-primary);margin:0 0 18px;display:flex;align-items:center;gap:8px;}
.gp-detail-section-count{font-size:0.7rem;color:var(--gp-text-dim);font-weight:400;margin-left:4px;}

/* 正文富文本（游戏详情页基础样式，文章详情页由后面第19节覆盖优化） */
/* 文章正文阅读区 */
.gp-article-body-wrapper{}
.gp-article-body-wrapper .gp-detail-content{font-size:1.08rem;line-height:2.1;color:var(--gp-text-secondary);word-break:break-word;}
/* 首段引导语 — 加粗+稍大 */
.gp-article-body-wrapper .gp-detail-content > p:first-of-type{font-size:1.12rem;font-weight:500;color:var(--gp-text-primary);line-height:2;}
.gp-detail-content{font-size:1.05rem;line-height:2.1;color:var(--gp-text-secondary);word-break:break-word;}
.gp-detail-content h2{font-size:1.3rem;font-weight:700;color:var(--gp-text-primary);margin:36px 0 18px;padding:10px 0 10px 14px;border-left:3px solid var(--gp-primary);line-height:1.5;}
.gp-detail-content h3{font-size:1.1rem;font-weight:600;color:var(--gp-text-primary);margin:28px 0 14px;}
.gp-detail-content p{margin:0 0 20px;}
.gp-detail-content img{border-radius:10px;max-width:100%;height:auto;margin:24px auto;display:block;cursor:pointer;}
.gp-detail-content a{color:var(--gp-primary);text-decoration:none;border-bottom:1px dashed rgba(255,107,53,0.3);}
.gp-detail-content a:hover{border-bottom-color:var(--gp-primary);}
.gp-detail-content strong{color:var(--gp-text-primary);font-weight:700;}
.gp-detail-content ul,.gp-detail-content ol{margin:16px 0;padding-left:24px;}
.gp-detail-content li{margin:8px 0;line-height:1.8;}
.gp-detail-content blockquote{margin:24px 0;padding:18px 24px;border-left:3px solid var(--gp-primary);background:rgba(255,107,53,0.04);border-radius:0 8px 8px 0;color:var(--gp-text-dim);}

/* 鎴浘缃戞牸 */
.gp-screenshots-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;}
.gp-screenshot-item{position:relative;border-radius:10px;overflow:hidden;cursor:pointer;transition:all 0.2s;}
.gp-screenshot-item:hover{transform:translateY(-2px);box-shadow:0 8px 24px rgba(0,0,0,0.3);}
.gp-screenshot-item img{width:100%;height:160px;object-fit:cover;display:block;}
.gp-screenshot-zoom{position:absolute;inset:0;background:rgba(0,0,0,0.5);display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity 0.2s;font-size:1.5rem;color:#fff;}
.gp-screenshot-item:hover .gp-screenshot-zoom{opacity:1;}

/* 封面 v2 — 自适应16:9 */
.gp-detail-cover-section-v2{margin-bottom:var(--gp-space);}
.gp-detail-cover-wrap{position:relative;width:100%;max-height:500px;overflow:hidden;border-radius:var(--gp-radius-lg);}
.gp-detail-cover-img{width:100%;height:auto;max-height:500px;object-fit:cover;display:block;}
.gp-detail-cover-gradient{position:absolute;bottom:0;left:0;right:0;height:120px;background:linear-gradient(transparent,rgba(0,0,0,0.4));pointer-events:none;}

/* 元数据条网格化 */
.gp-detail-meta-bar-v2{display:grid;grid-template-columns:repeat(3,1fr);gap:12px 24px;padding:var(--gp-space) 0;border-top:1px solid var(--gp-border);border-bottom:1px solid var(--gp-border);}
.gp-detail-meta-item-v2{display:flex;flex-direction:column;gap:4px;}
.gp-detail-meta-label-v2{font-size:0.68rem;color:var(--gp-text-tertiary);text-transform:uppercase;font-weight:600;letter-spacing:0.5px;}
.gp-detail-meta-value-v2{font-size:0.88rem;color:var(--gp-text-primary);font-weight:600;}

/* 璇︾粏淇℃伅琛ㄦ牸 */
.gp-detail-info-table{width:100%;border-collapse:collapse;}
.gp-detail-info-table tr{border-bottom:1px solid rgba(255,255,255,0.03);}
.gp-detail-info-table tr:last-child{border-bottom:none;}
.gp-dit-label{width:100px;padding:10px 0;font-size:0.72rem;color:var(--gp-text-muted);font-weight:600;vertical-align:top;}
.gp-dit-value{padding:10px 0;font-size:0.82rem;color:var(--gp-text-primary);line-height:1.6;}

/* 鏍囩 */
.gp-tag-sm{display:inline-block;font-size:0.65rem;padding:3px 10px;border-radius:12px;background:rgba(255,107,53,0.08);color:var(--gp-primary);text-decoration:none;margin:2px;transition:all 0.15s;}
.gp-tag-sm:hover{background:rgba(255,107,53,0.15);}

/* 鐩稿叧鏀荤暐 */
.gp-related-articles{display:flex;flex-direction:column;gap:10px;}
.gp-ra-card{display:flex;gap:14px;padding:12px;background:var(--gp-bg-input);border-radius:10px;transition:all 0.2s;border:1px solid transparent;}
.gp-ra-card:hover{border-color:var(--gp-border);background:var(--gp-bg-card-hover);}
.gp-ra-card-cover{width:140px;height:90px;border-radius:8px;overflow:hidden;flex-shrink:0;}
.gp-ra-card-cover img{width:100%;height:100%;object-fit:cover;}
.gp-ra-card-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:6px;}
.gp-ra-card-title{font-size:0.85rem;font-weight:600;margin:0;line-height:1.4;}
.gp-ra-card-title a{color:var(--gp-text);text-decoration:none;}
.gp-ra-card-title a:hover{color:var(--gp-primary);}
.gp-ra-card-desc{font-size:0.72rem;color:var(--gp-text-dim);margin:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.gp-ra-card-meta{font-size:0.65rem;color:var(--gp-text-muted);display:flex;gap:10px;}
.gp-ra-card-meta i{margin-right:3px;}

/* 面包屑（详情页微调：缩小gap和字体，已由index.css统一定义） */
/* .gp-breadcrumb 由 index.css 统一定义，此处仅微调详情页特有属性 */
.gp-breadcrumb{gap:4px;font-size:0.75rem;padding:10px 0 14px;}
.gp-breadcrumb .gp-breadcrumb-sep{opacity:0.3;}

/* 鐏 */
.gp-lightbox{position:fixed;inset:0;background:rgba(0,0,0,0.95);z-index:10002;display:none;align-items:center;justify-content:center;}
.gp-lightbox.open{display:flex;}
.gp-lightbox img{max-width:90vw;max-height:85vh;border-radius:8px;box-shadow:0 8px 40px rgba(0,0,0,0.6);}
.gp-lightbox-close{position:absolute;top:16px;right:16px;width:44px;height:44px;border-radius:50%;border:none;background:rgba(255,255,255,0.1);color:#fff;font-size:1.4rem;cursor:pointer;z-index:5;}
.gp-lightbox-close:hover{background:rgba(255,255,255,0.2);}
.gp-lightbox-prev,.gp-lightbox-next{position:absolute;top:50%;transform:translateY(-50%);width:44px;height:44px;border-radius:50%;border:none;background:rgba(255,255,255,0.1);color:#fff;font-size:1rem;cursor:pointer;z-index:5;transition:background 0.2s;}
.gp-lightbox-prev{left:16px;}
.gp-lightbox-next{right:16px;}
.gp-lightbox-prev:hover,.gp-lightbox-next:hover{background:rgba(255,255,255,0.25);}
.gp-lightbox-count{position:absolute;bottom:20px;left:50%;transform:translateX(-50%);color:rgba(255,255,255,0.5);font-size:0.8rem;z-index:5;}

/* 璇勮琛ㄥ崟 */
.gp-comment-form-box{background:var(--gp-bg-input);border:1px solid var(--gp-border);border-radius:12px;padding:20px;margin-bottom:20px;}
.gp-comment-form-hd{font-size:0.82rem;font-weight:700;color:var(--gp-text);margin:0 0 12px;display:flex;align-items:center;gap:8px;}
.gp-comment-form-hd i{color:var(--gp-primary);}
.gp-comment-form-inputs{display:flex;gap:10px;margin-bottom:10px;}
.gp-comment-form-inputs input{flex:1;padding:10px 14px;background:var(--gp-bg-root);border:1px solid var(--gp-border);border-radius:8px;color:var(--gp-text);font-size:0.78rem;font-family:inherit;transition:border-color 0.2s;}
.gp-comment-form-inputs input:focus{border-color:var(--gp-primary);outline:none;}
.gp-comment-form-box textarea{width:100%;padding:12px 14px;background:var(--gp-bg-root);border:1px solid var(--gp-border);border-radius:8px;color:var(--gp-text);font-size:0.82rem;resize:vertical;min-height:80px;font-family:inherit;transition:border-color 0.2s;box-sizing:border-box;line-height:1.6;}
.gp-comment-form-box textarea:focus{border-color:var(--gp-primary);outline:none;}
.gp-comment-form-bar{display:flex;align-items:center;justify-content:space-between;margin-top:10px;flex-wrap:wrap;gap:10px;}
.gp-comment-form-tip{font-size:0.62rem;color:var(--gp-text-muted);}
.gp-comment-msg{text-align:center;padding:8px;border-radius:6px;font-size:0.7rem;margin-top:8px;}
.gp-comment-msg-success{background:rgba(34,197,94,0.1);color:#22c55e;}
.gp-comment-msg-error{background:rgba(239,68,68,0.1);color:#ef4444;}

/* 璇勮鍒楄〃 */
.gp-comment-list{display:flex;flex-direction:column;}
.gp-comment-card{display:flex;gap:12px;padding:16px 0;border-bottom:1px solid var(--gp-border);}
.gp-comment-card:last-child{border-bottom:none;}
.gp-comment-card-avatar{width:36px;height:36px;border-radius:50%;background:var(--gp-primary);color:#fff;display:flex;align-items:center;justify-content:center;font-size:0.75rem;font-weight:700;flex-shrink:0;}
.gp-comment-card-body{flex:1;min-width:0;}
.gp-comment-card-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:4px;flex-wrap:wrap;gap:6px;}
.gp-comment-card-top strong{font-size:0.78rem;color:var(--gp-text);}
.gp-comment-card-top time{font-size:0.62rem;color:var(--gp-text-muted);}
.gp-comment-card-text{font-size:0.8rem;color:var(--gp-text-dim);line-height:1.7;margin:0;}
.gp-comment-card-footer{display:flex;gap:12px;margin-top:6px;}
.gp-comment-like-btn{background:none;border:none;color:var(--gp-text-muted);cursor:pointer;font-size:0.68rem;display:flex;align-items:center;gap:4px;padding:2px 0;font-family:inherit;}
.gp-comment-like-btn:hover,.gp-comment-like-btn.liked{color:var(--gp-primary);}
.gp-comment-empty-state{text-align:center;padding:40px 20px;color:var(--gp-text-muted);}
.gp-comment-empty-icon{font-size:2.5rem;display:block;margin-bottom:8px;opacity:0.3;}
.gp-comment-pager{display:flex;justify-content:center;gap:6px;padding:16px 0;}
.gp-pager-btn{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:8px;border:1px solid var(--gp-border);background:var(--gp-bg-card);color:var(--gp-text-dim);font-size:0.75rem;text-decoration:none;transition:all 0.2s;}
.gp-pager-btn:hover{border-color:var(--gp-primary);color:var(--gp-primary);}
.gp-pager-btn.active{background:var(--gp-primary);border-color:var(--gp-primary);color:#fff;font-weight:700;}

/* 鍒嗕韩寮圭獥 */
.gp-share-overlay{position:fixed;inset:0;background:rgba(0,0,0,0.7);z-index:10003;display:none;align-items:center;justify-content:center;}
.gp-share-overlay.open{display:flex;}
.gp-share-panel{background:var(--gp-bg-card);border:1px solid var(--gp-border);border-radius:16px;padding:28px;width:90%;max-width:420px;box-shadow:0 16px 48px rgba(0,0,0,0.5);}
.gp-share-panel h3{font-size:0.95rem;font-weight:700;color:var(--gp-text);margin:0 0 16px;text-align:center;}
.gp-share-url-row{display:flex;gap:8px;margin-bottom:16px;}
.gp-share-url-row input{flex:1;padding:10px 14px;background:var(--gp-bg-input);border:1px solid var(--gp-border);border-radius:8px;color:var(--gp-text);font-size:0.7rem;font-family:monospace;}
.gp-share-btns{display:flex;gap:10px;justify-content:center;}
.gp-share-sns{display:flex;align-items:center;gap:8px;padding:10px 20px;border-radius:10px;text-decoration:none;font-size:0.8rem;font-weight:600;transition:all 0.2s;color:#fff;font-family:inherit;}
.gp-share-sns.weibo{background:#e6162d;}
.gp-share-sns.weibo:hover{opacity:0.9;}
.gp-share-sns.copy{background:var(--gp-bg-input);border:1px solid var(--gp-border);color:var(--gp-text);cursor:pointer;}
.gp-share-sns.copy:hover{background:var(--gp-bg-hover);}

/* ============================================
   18.5 娌夋蹈寮忓竷灞€ v2.0 (game_detail_immersive.php)
   ============================================ */
.gdi-hero{position:relative;margin-top:var(--gp-nav-height);overflow:hidden;display:flex;flex-direction:column;justify-content:center;padding-bottom:40px;}
/* 鑷€傚簲妯″紡锛氭牴鎹唴瀹硅嚜鍔ㄦ拺楂?*/
.gdi-hero.gdi-hero-auto{min-height:auto;padding-top:60px;}
/* 鎵嬪姩妯″紡锛氱敱 --gdi-hero-height 鍙橀噺鎺у埗 */
.gdi-hero.gdi-hero-manual{min-height:var(--gdi-hero-height, 60vh);padding-top:0;}
.gdi-hero-bg{position:absolute;inset:0;z-index:0;}
.gdi-hero-bg-img{width:100%;height:100%;object-fit:cover;filter:blur(8px) brightness(0.35);transform:scale(1.05);transition:transform 0.1s linear;will-change:transform;}
.gdi-hero-bg-gradient{width:100%;height:100%;background:linear-gradient(135deg,#0a0a1a,#1a1040,#2d1b69,#0a0a1a);}
.gdi-hero-overlay{position:absolute;inset:0;z-index:1;background:linear-gradient(0deg,rgba(10,14,23,0.95) 0%,rgba(10,14,23,0.5) 40%,rgba(10,14,23,0.05) 70%,rgba(10,14,23,0.3) 100%);}
.gdi-hero-particles{position:absolute;inset:0;z-index:1;overflow:hidden;pointer-events:none;}
.gdi-hero-particles span{position:absolute;width:3px;height:3px;border-radius:50%;background:rgba(255,107,53,0.4);animation:gdiFloat 8s infinite;}
.gdi-hero-particles span:nth-child(1){left:10%;top:60%;animation-delay:0s;width:4px;height:4px;}
.gdi-hero-particles span:nth-child(2){left:25%;top:40%;animation-delay:2s;width:2px;height:2px;}
.gdi-hero-particles span:nth-child(3){left:50%;top:70%;animation-delay:4s;width:5px;height:5px;}
.gdi-hero-particles span:nth-child(4){left:70%;top:30%;animation-delay:1s;width:3px;height:3px;}
.gdi-hero-particles span:nth-child(5){left:85%;top:55%;animation-delay:3s;width:2px;height:2px;}
@keyframes gdiFloat{0%,100%{transform:translateY(0) scale(1);opacity:0.4;}50%{transform:translateY(-60px) scale(1.5);opacity:0.8;}}
.gdi-hero-inner{position:relative;z-index:2;width:100%;max-width:1100px;margin:0 auto;padding:0 24px 24px;}

/* 闈㈠寘灞?*/
.gdi-breadcrumb{display:inline-flex;align-items:center;gap:4px;font-size:0.68rem;color:rgba(255,255,255,0.5);margin-bottom:20px;padding:6px 14px;background:rgba(0,0,0,0.3);border-radius:20px;backdrop-filter:blur(8px);width:fit-content;}
.gdi-breadcrumb a{color:rgba(255,255,255,0.6);text-decoration:none;}
.gdi-breadcrumb a:hover{color:var(--gp-primary);}
.gdi-breadcrumb-sep{opacity:0.3;}

/* 棰勫憡鐗?*/
.gdi-trailer-trigger{display:flex;align-items:center;gap:12px;margin-bottom:16px;cursor:pointer;width:fit-content;transition:all 0.2s;}
.gdi-trailer-trigger:hover{transform:scale(1.05);}
.gdi-trailer-trigger:hover .gdi-trailer-btn{box-shadow:0 0 30px rgba(255,107,53,0.4);}
.gdi-trailer-btn{width:48px;height:48px;border-radius:50%;background:var(--gp-primary);display:flex;align-items:center;justify-content:center;box-shadow:0 0 20px rgba(255,107,53,0.3);transition:all 0.3s;}
.gdi-trailer-btn i{color:#fff;font-size:0.9rem;margin-left:2px;}
.gdi-trailer-trigger>span{font-size:0.78rem;color:rgba(255,255,255,0.7);font-weight:600;}
.gdi-trailer-overlay{position:fixed;inset:0;background:rgba(0,0,0,0.92);z-index:10010;display:none;align-items:center;justify-content:center;}
.gdi-trailer-overlay.open{display:flex;}
.gdi-trailer-container{position:relative;width:90vw;max-width:960px;aspect-ratio:16/9;border-radius:12px;overflow:hidden;box-shadow:0 16px 48px rgba(0,0,0,0.6);}
.gdi-trailer-close{position:absolute;top:-40px;right:0;width:36px;height:36px;border-radius:50%;border:none;background:rgba(255,255,255,0.1);color:#fff;font-size:1.2rem;cursor:pointer;z-index:2;}
.gdi-trailer-video,.gdi-trailer-iframe{width:100%;height:100%;display:block;}

/* 娴姩淇℃伅鍗?*/
.gdi-card{display:flex;gap:24px;background:rgba(15,19,30,0.82);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border:1px solid rgba(255,255,255,0.06);border-radius:16px;padding:24px;animation:gp-fade-up 0.6s ease forwards;animation-play-state:paused;margin-bottom:12px;}
/* 缁熶竴娣″叆涓婄Щ鍔ㄧ敾锛堝悎骞?gdiCardIn / fadeInUp / gpFadeIn锛?*/
.gdi-card[data-animate]{animation-play-state:running;}
.gdi-card-cover{width:160px;height:220px;border-radius:12px;overflow:hidden;flex-shrink:0;box-shadow:0 8px 32px rgba(0,0,0,0.5);border:2px solid rgba(255,255,255,0.06);}
.gdi-card-cover img{width:100%;height:100%;object-fit:contain;display:block;background:var(--gp-bg-input);}
.gdi-card-cover-placeholder{width:100%;height:100%;background:linear-gradient(135deg,#1a1a2e,#16213e);display:flex;align-items:center;justify-content:center;font-size:3rem;color:rgba(255,255,255,0.1);}
.gdi-card-info{flex:1;min-width:0;display:flex;flex-direction:column;justify-content:center;}
.gdi-card-badges{display:flex;gap:5px;flex-wrap:wrap;margin-bottom:8px;}
.gdi-badge{font-size:0.6rem;padding:2px 8px;border-radius:10px;background:rgba(255,255,255,0.06);color:rgba(255,255,255,0.55);border:1px solid rgba(255,255,255,0.04);}
.gdi-badge-type{background:var(--gp-primary);color:#fff;border-color:transparent;font-weight:600;}
.gdi-card-title{font-size:1.7rem;font-weight:800;color:#fff;margin:0 0 4px;line-height:1.2;}
.gdi-card-en{font-size:0.72rem;color:rgba(255,255,255,0.3);margin:0 0 8px;}
.gdi-card-specs{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:10px;}
.gdi-card-spec{font-size:0.68rem;color:rgba(255,255,255,0.45);display:flex;align-items:center;gap:4px;}
.gdi-card-spec i{font-size:0.6rem;color:var(--gp-primary);}
.gdi-card-bottom{display:flex;align-items:center;gap:16px;flex-wrap:wrap;}
.gdi-rating{display:flex;align-items:center;gap:8px;flex-shrink:0;}
.gdi-rating-score{font-size:1.6rem;font-weight:800;color:var(--gp-primary);line-height:1;}
.gdi-rating-info{display:flex;flex-direction:column;gap:2px;}
.gdi-rating-stars{display:flex;gap:1px;}
.gdi-rating-stars i{font-size:0.58rem;color:#f59e0b;}
.gdi-rating-count{font-size:0.62rem;color:rgba(255,255,255,0.35);}
.gdi-card-actions{display:flex;gap:6px;flex-wrap:wrap;}
.gdi-dl-btn{position:relative;padding:10px 22px;border-radius:8px;border:none;background:linear-gradient(135deg,var(--gp-primary),var(--gp-primary-dark));color:#fff;font-size:0.82rem;font-weight:700;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;gap:7px;box-shadow:0 4px 16px var(--gp-primary-glow);transition:all 0.2s;font-family:inherit;overflow:hidden;}
.gdi-dl-btn:hover{transform:translateY(-2px);box-shadow:0 8px 28px var(--gp-primary-glow);color:#fff;}
.gdi-dl-pulse{position:absolute;inset:-3px;border-radius:10px;border:2px solid var(--gp-primary);animation:gp-pulse-scale 2s ease-out infinite;pointer-events:none;}
@keyframes gp-pulse-scale{0%{opacity:0.6;transform:scale(1);}100%{opacity:0;transform:scale(1.15);}}
.gdi-dl-btn.disabled{opacity:0.5;cursor:not-allowed;pointer-events:none;box-shadow:none;}
.gdi-dl-btn.disabled .gdi-dl-pulse{display:none;}
.gdi-dl-wrap{position:relative;}
.gdi-dl-menu{display:none;position:absolute;top:100%;left:0;min-width:180px;background:var(--gp-bg-elevated);border:1px solid var(--gp-border);border-radius:8px;padding:4px;z-index:20;margin-top:4px;box-shadow:0 8px 24px rgba(0,0,0,0.4);}
.gdi-dl-menu a{display:block;padding:10px 16px;font-size:0.75rem;color:var(--gp-text);text-decoration:none;border-radius:6px;}
.gdi-dl-menu a:hover{background:rgba(255,107,53,0.08);color:var(--gp-primary);}
.gdi-fav-btn,.gdi-share-btn{padding:8px 14px;border-radius:8px;border:1px solid rgba(255,255,255,0.1);background:rgba(255,255,255,0.04);color:rgba(255,255,255,0.55);cursor:pointer;font-size:0.72rem;display:inline-flex;align-items:center;gap:5px;transition:all 0.2s;font-family:inherit;}
.gdi-fav-btn:hover,.gdi-share-btn:hover{border-color:var(--gp-primary);color:var(--gp-primary);}
.gdi-fav-btn.faved{background:rgba(255,107,53,0.1);border-color:var(--gp-primary);color:var(--gp-primary);}
.gdi-fav-btn em{font-style:normal;font-size:0.6rem;opacity:0.6;}

/* 缁熻鏉?*/
.gdi-stats-row{display:flex;gap:16px;flex-wrap:wrap;padding:8px 0;animation:gp-fade-up 0.6s ease forwards;animation-play-state:paused;}
.gdi-stats-row[data-animate]{animation-play-state:running;}
.gdi-stat{font-size:0.65rem;color:rgba(255,255,255,0.4);display:flex;align-items:center;gap:4px;}
.gdi-stat i{font-size:0.6rem;color:rgba(255,255,255,0.2);}

/* 婊氬姩鎸囩ず鍣?*/
.gdi-scroll-hint{position:absolute;bottom:20px;left:50%;transform:translateX(-50%);z-index:3;display:flex;flex-direction:column;align-items:center;gap:4px;cursor:pointer;transition:opacity 0.5s;}
.gdi-scroll-hint span{font-size:0.58rem;color:rgba(255,255,255,0.3);letter-spacing:0.1em;text-transform:uppercase;}
.gdi-scroll-hint i{font-size:0.8rem;color:rgba(255,255,255,0.3);animation:gdiBounce 1.5s ease-in-out infinite;}
@keyframes gdiBounce{0%,100%{transform:translateY(0);}50%{transform:translateY(6px);}}

/* Tab瀵艰埅 */
.gdi-tabs{display:flex;gap:0;margin-bottom:0;background:var(--gp-bg-card);border:1px solid var(--gp-border);border-radius:12px 12px 0 0;overflow:hidden;box-shadow:0 -4px 16px rgba(0,0,0,0.15);}
.gdi-tab-btn{padding:13px 24px;border:none;background:transparent;color:var(--gp-text-dim);font-size:0.78rem;font-weight:600;cursor:pointer;transition:all 0.2s;font-family:inherit;border-bottom:2px solid transparent;position:relative;}
.gdi-tab-btn:hover{color:var(--gp-text);background:rgba(255,255,255,0.02);}
.gdi-tab-btn.active{color:var(--gp-primary);background:rgba(255,107,53,0.04);border-bottom-color:var(--gp-primary);}
.gdi-tab-count{font-size:0.58rem;opacity:0.45;margin-left:2px;}

/* Tab闈㈡澘 */
.gdi-panel{display:none;padding:24px 28px;background:var(--gp-bg-card);border:1px solid var(--gp-border);border-top:none;border-radius:0 0 12px 12px;min-height:200px;}
.gdi-panel.active{display:block;animation:gp-fade-up-sm 0.25s ease;}
.gdi-screenshots-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;}
.gdi-screenshot-item{position:relative;border-radius:8px;overflow:hidden;cursor:pointer;transition:all 0.2s;}
.gdi-screenshot-item:hover{transform:translateY(-2px);box-shadow:0 6px 20px rgba(0,0,0,0.3);}
.gdi-screenshot-item img{width:100%;height:160px;object-fit:cover;display:block;}
.gdi-screenshot-zoom{position:absolute;inset:0;background:rgba(0,0,0,0.5);display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity 0.2s;font-size:1.4rem;color:#fff;}
.gdi-screenshot-item:hover .gdi-screenshot-zoom{opacity:1;}
.gdi-related-list{display:flex;flex-direction:column;gap:8px;}
.gdi-related-card{display:flex;gap:12px;padding:10px 12px;background:var(--gp-bg-input);border-radius:8px;text-decoration:none;transition:all 0.2s;border:1px solid transparent;}
.gdi-related-card:hover{background:var(--gp-bg-card-hover);border-color:var(--gp-border);}
.gdi-related-cover{width:100px;height:64px;border-radius:6px;overflow:hidden;flex-shrink:0;}
.gdi-related-cover img{width:100%;height:100%;object-fit:cover;}
.gdi-related-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px;}
.gdi-related-title{font-size:0.8rem;font-weight:600;color:var(--gp-text);line-height:1.3;}
.gdi-related-meta{font-size:0.62rem;color:var(--gp-text-muted);}
.gdi-info-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;}
.gdi-info-item{background:var(--gp-bg-input);padding:12px 16px;border-radius:6px;display:flex;flex-direction:column;gap:2px;}
.gdi-info-item-full{grid-column:span 3;}
.gdi-info-label{font-size:0.6rem;color:var(--gp-text-muted);text-transform:uppercase;letter-spacing:0.05em;}
.gdi-info-val{font-size:0.78rem;color:var(--gp-text-primary);font-weight:600;}

/* 娌夋蹈甯冨眬 绉诲姩绔?*/
@media(max-width:1023px){
  .gdi-hero-auto{min-height:auto;padding-top:40px;}
  .gdi-hero-manual{min-height:var(--gdi-hero-height, 60vh);}
  .gdi-hero-bg-img{filter:blur(4px) brightness(0.4);}
  .gdi-card{flex-direction:column;padding:20px;gap:16px;}
  .gdi-card-cover{width:120px;height:160px;margin:0 auto;}
  .gdi-card-title{font-size:1.3rem;text-align:center;}
  .gdi-card-en,.gdi-card-specs{justify-content:center;}
  .gdi-card-bottom{flex-direction:column;align-items:center;gap:12px;}
  .gdi-card-actions{justify-content:center;}
  .gdi-tabs{overflow-x:auto;}
  .gdi-tab-btn{padding:10px 16px;font-size:0.7rem;white-space:nowrap;}
  .gdi-panel{padding:16px;}
  .gdi-screenshots-grid{grid-template-columns:repeat(2,1fr);}
  .gdi-info-grid{grid-template-columns:repeat(2,1fr);}
  .gdi-info-item-full{grid-column:span 2;}
  .gdi-scroll-hint{display:none;}
  .gdi-trailer-container{width:95vw;}
}
@media(max-width:767px){
  .gdi-hero-auto{min-height:auto;padding-top:30px;}
  .gdi-hero-manual{min-height:var(--gdi-hero-height, 50vh);}
  .gdi-hero-inner{padding:0 12px 16px;}
  .gdi-card{padding:14px;gap:12px;}
  .gdi-card-cover{width:90px;height:130px;}
  .gdi-card-title{font-size:1.1rem;}
  .gdi-card-specs{gap:8px;}
  .gdi-card-spec{font-size:0.62rem;}
  .gdi-dl-btn{padding:10px 18px;font-size:0.75rem;width:100%;justify-content:center;}
  .gdi-fav-btn,.gdi-share-btn{width:100%;justify-content:center;}
  .gdi-card-actions{width:100%;flex-direction:column;}
  .gdi-breadcrumb{font-size:0.6rem;padding:4px 10px;}
  .gdi-panel{padding:12px;}
  .gdi-screenshots-grid{grid-template-columns:1fr;}
  .gdi-info-grid{grid-template-columns:1fr;}
  .gdi-info-item-full{grid-column:span 1;}
  .gdi-trailer-trigger>span{font-size:0.68rem;}
}

/* ============================================
   18.6 淇℃伅娴佸竷灞€ (game_detail_stream.php)
   ============================================ */
.gds-header{display:flex;gap:28px;background:var(--gp-bg-card);border:1px solid var(--gp-border);border-radius:16px;padding:24px;overflow:hidden;}
.gds-cover-col{width:300px;flex-shrink:0;border-radius:12px;overflow:hidden;}
.gds-cover-img{width:100%;display:block;border-radius:12px;object-fit:contain;max-height:400px;background:var(--gp-bg-input);}
.gds-cover-placeholder{width:100%;aspect-ratio:4/5;background:linear-gradient(135deg,#1a1a2e,#16213e);display:flex;align-items:center;justify-content:center;font-size:4rem;color:rgba(255,255,255,0.08);}
.gds-info-col{flex:1;min-width:0;}
.gds-badges{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:10px;}
.gds-badge{font-size:0.62rem;padding:2px 10px;border-radius:10px;background:var(--gp-bg-input);color:var(--gp-text-dim);}
.gds-badge-type{background:var(--gp-primary);color:#fff;}
.gds-title{font-size:1.6rem;font-weight:800;color:var(--gp-text-primary);margin:0 0 4px;line-height:1.3;}
.gds-en{font-size:0.75rem;color:var(--gp-text-dim);margin:0 0 12px;}
.gds-meta-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:14px;}
.gds-meta-rating{display:flex;align-items:center;gap:6px;}
.gds-meta-score{font-size:1.3rem;font-weight:800;color:var(--gp-primary);}
.gds-meta-stars{display:flex;gap:1px;}
.gds-meta-stars i{font-size:0.55rem;color:#f59e0b;}
.gds-meta-count{font-size:0.62rem;color:var(--gp-text-muted);}
.gds-meta-sep{color:var(--gp-border);}
.gds-meta-item{font-size:0.72rem;color:var(--gp-text-dim);}
.gds-specs{display:flex;gap:16px;flex-wrap:wrap;margin-bottom:16px;}
.gds-spec{font-size:0.72rem;color:var(--gp-text-dim);display:flex;align-items:center;gap:5px;}
.gds-spec i{color:var(--gp-primary);font-size:0.65rem;}
.gds-actions{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px;}
.gds-dl-btn{padding:10px 22px;border-radius:8px;border:none;background:linear-gradient(135deg,var(--gp-primary),var(--gp-primary-dark));color:#fff;font-size:0.82rem;font-weight:700;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;gap:6px;box-shadow:0 4px 14px var(--gp-primary-glow);transition:all 0.2s;font-family:inherit;}
.gds-dl-btn:hover{transform:translateY(-2px);box-shadow:0 8px 22px var(--gp-primary-glow);color:#fff;}
.gds-dl-btn.disabled{opacity:0.5;cursor:not-allowed;pointer-events:none;box-shadow:none;}
.gds-dl-wrap{position:relative;}
.gds-dl-menu{display:none;position:absolute;top:100%;left:0;min-width:180px;background:var(--gp-bg-elevated);border:1px solid var(--gp-border);border-radius:8px;padding:4px;z-index:20;margin-top:4px;box-shadow:0 8px 24px rgba(0,0,0,0.4);}
.gds-dl-menu a{display:block;padding:10px 16px;font-size:0.78rem;color:var(--gp-text);text-decoration:none;border-radius:6px;}
.gds-dl-menu a:hover{background:rgba(255,107,53,0.08);color:var(--gp-primary);}
.gds-fav-btn,.gds-share-btn{padding:9px 16px;border-radius:8px;border:1px solid var(--gp-border);background:var(--gp-bg-input);color:var(--gp-text-dim);cursor:pointer;font-size:0.78rem;display:inline-flex;align-items:center;gap:6px;transition:all 0.2s;font-family:inherit;}
.gds-fav-btn:hover,.gds-share-btn:hover{border-color:var(--gp-primary);color:var(--gp-primary);}
.gds-fav-btn.faved{background:rgba(255,107,53,0.1);border-color:var(--gp-primary);color:var(--gp-primary);}
.gds-fav-btn em{font-style:normal;font-size:0.62rem;opacity:0.7;}
.gds-tags{display:flex;gap:4px;flex-wrap:wrap;margin-top:4px;}
.gds-body{background:var(--gp-bg-card);border:1px solid var(--gp-border);border-radius:16px;padding:28px 32px;margin-top:16px;}
.gds-info-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:2px;}
.gds-info-cell{background:var(--gp-bg-input);padding:10px 14px;border-radius:6px;display:flex;flex-direction:column;gap:2px;}
.gds-info-lbl{font-size:0.6rem;color:var(--gp-text-muted);text-transform:uppercase;}
.gds-info-val{font-size:0.75rem;color:var(--gp-text-primary);font-weight:600;}

/* 淇℃伅娴?绉诲姩绔紙娌夋蹈宸插湪18.5鑺傜嫭绔嬪搷搴斿紡锛?*/
@media(max-width:1023px){
  .gds-header{flex-direction:column;gap:16px;padding:16px;}
  .gds-cover-col{width:100%;max-width:240px;margin:0 auto;}
  .gds-title{font-size:1.3rem;}
  .gds-info-grid{grid-template-columns:repeat(2,1fr);}
  .gds-body{padding:16px;}
}
@media(max-width:767px){
  .gds-header{padding:12px;}
  .gds-cover-col{max-width:160px;}
  .gds-title{font-size:1.1rem;}
  .gds-meta-row{gap:6px;}
  .gds-specs{gap:10px;}
  .gds-actions{flex-direction:column;}
  .gds-dl-btn{width:100%;justify-content:center;}
  .gds-fav-btn,.gds-share-btn{width:100%;justify-content:center;}
  .gds-info-grid{grid-template-columns:1fr;}
  .gds-body{padding:12px;}
}

/* ============================================
   18.7 鍗＄墖寮忓竷灞€ (game_detail_bento.php)
   ============================================ */
.gdb-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:14px;}
.gdb-span2{grid-column:span 2;}
.gdb-card{background:var(--gp-bg-card);border:1px solid var(--gp-border);border-radius:16px;overflow:hidden;transition:all 0.2s;}
.gdb-card:hover{border-color:var(--gp-border);box-shadow:0 4px 16px rgba(0,0,0,0.1);}
.gdb-card-inner{padding:20px;}
.gdb-card-label{font-size:0.72rem;font-weight:700;color:var(--gp-text-dim);display:flex;align-items:center;gap:6px;margin-bottom:14px;}
.gdb-card-label i{color:var(--gp-primary);font-size:0.7rem;}
.gdb-card-label em{font-style:normal;font-weight:400;opacity:0.5;margin-left:4px;}

/* 灏侀潰澶у崱 */
.gdb-card-cover{position:relative;min-height:300px;border-radius:16px;}
.gdb-cover-img{width:100%;height:100%;min-height:300px;object-fit:cover;display:block;}
.gdb-cover-placeholder{width:100%;height:300px;background:linear-gradient(135deg,#1a0533,#3d1a6d,#6b21a8);display:flex;align-items:center;justify-content:center;font-size:4rem;color:rgba(255,255,255,0.1);}
.gdb-cover-overlay{position:absolute;bottom:0;left:0;right:0;padding:24px;background:linear-gradient(transparent,rgba(10,14,23,0.9));}
.gdb-cover-badges{display:flex;gap:5px;flex-wrap:wrap;margin-bottom:8px;}
.gdb-badge{font-size:0.6rem;padding:2px 8px;border-radius:8px;background:rgba(255,255,255,0.1);color:rgba(255,255,255,0.7);}
.gdb-badge-type{background:var(--gp-primary);color:#fff;}
.gdb-cover-title{font-size:1.6rem;font-weight:800;color:#fff;margin:0;line-height:1.2;}
.gdb-cover-en{font-size:0.7rem;color:rgba(255,255,255,0.4);margin:4px 0 0;}

/* 璇勫垎鍗?*/
.gdb-card-rating .gdb-card-inner{display:flex;flex-direction:column;align-items:center;text-align:center;}
.gdb-rating-ring{position:relative;width:80px;height:80px;margin:8px 0;}
.gdb-rating-ring svg{display:block;}
.gdb-rating-num{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:1.2rem;font-weight:800;color:var(--gp-primary);}
.gdb-rating-sub{font-size:0.65rem;color:var(--gp-text-muted);margin-top:4px;}
.gdb-no-rating{font-size:0.8rem;color:var(--gp-text-muted);padding:12px 0;}

/* 涓嬭浇鍗?*/
.gdb-card-download .gdb-card-inner{display:flex;flex-direction:column;align-items:center;gap:14px;}
.gdb-dl-btn{padding:14px 32px;border-radius:10px;border:none;background:linear-gradient(135deg,var(--gp-primary),var(--gp-primary-dark));color:#fff;font-size:0.9rem;font-weight:700;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;gap:8px;box-shadow:0 6px 20px var(--gp-primary-glow);transition:all 0.2s;font-family:inherit;width:100%;justify-content:center;}
.gdb-dl-btn:hover{transform:translateY(-2px);box-shadow:0 10px 28px var(--gp-primary-glow);color:#fff;}
.gdb-dl-btn.disabled{opacity:0.5;cursor:not-allowed;pointer-events:none;box-shadow:none;}
.gdb-dl-wrap{position:relative;width:100%;}
.gdb-dl-menu{display:none;position:absolute;top:100%;left:0;right:0;background:var(--gp-bg-elevated);border:1px solid var(--gp-border);border-radius:8px;padding:4px;z-index:20;margin-top:4px;box-shadow:0 8px 24px rgba(0,0,0,0.4);}
.gdb-dl-menu a{display:block;padding:10px 16px;font-size:0.78rem;color:var(--gp-text);text-decoration:none;border-radius:6px;}
.gdb-dl-menu a:hover{background:rgba(255,107,53,0.08);color:var(--gp-primary);}
.gdb-card-actions{display:flex;gap:8px;width:100%;}
.gdb-act-btn{padding:8px 14px;border-radius:8px;border:1px solid var(--gp-border);background:var(--gp-bg-input);color:var(--gp-text-dim);cursor:pointer;font-size:0.72rem;display:inline-flex;align-items:center;gap:5px;transition:all 0.2s;font-family:inherit;flex:1;justify-content:center;}
.gdb-act-btn:hover{border-color:var(--gp-primary);color:var(--gp-primary);}
.gdb-act-btn em{font-style:normal;font-size:0.6rem;opacity:0.6;}

/* 淇℃伅鍗?*/
.gdb-info-list{display:flex;flex-direction:column;gap:0;}
.gdb-info-row{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px solid rgba(255,255,255,0.03);}
.gdb-info-row:last-child{border-bottom:none;}
.gdb-info-row span:first-child{font-size:0.68rem;color:var(--gp-text-muted);}
.gdb-info-row span:last-child{font-size:0.75rem;font-weight:600;color:var(--gp-text-primary);text-align:right;}

/* 鏍囩浜戝崱 */
.gdb-tag-cloud{display:flex;flex-wrap:wrap;gap:6px;}
.gdb-tag{font-size:0.65rem;padding:4px 12px;border-radius:16px;background:rgba(255,107,53,0.08);color:var(--gp-primary);text-decoration:none;transition:all 0.15s;}
.gdb-tag:hover{background:rgba(255,107,53,0.15);}

/* 鎴浘棰勮鍗?*/
.gdb-screenshots-scroll{display:flex;gap:10px;overflow-x:auto;padding-bottom:4px;scrollbar-width:thin;}
.gdb-screenshot-thumb{width:160px;height:100px;border-radius:8px;overflow:hidden;cursor:pointer;flex-shrink:0;transition:all 0.2s;}
.gdb-screenshot-thumb:hover{transform:scale(1.03);box-shadow:0 4px 12px rgba(0,0,0,0.3);}
.gdb-screenshot-thumb img{width:100%;height:100%;object-fit:cover;}

/* 姝ｆ枃鍗?*/
.gdb-body-card{background:var(--gp-bg-card);border:1px solid var(--gp-border);border-radius:16px;padding:24px 28px;margin-top:14px;}
.gdb-body-title{font-size:1.1rem;font-weight:700;color:var(--gp-text-primary);margin:0 0 16px;}
.gdb-body-content{font-size:0.95rem;line-height:1.9;color:var(--gp-text-secondary);}
.gdb-body-content.collapsed{max-height:400px;overflow:hidden;position:relative;}
.gdb-body-content.collapsed::after{content:'';position:absolute;bottom:0;left:0;right:0;height:80px;background:linear-gradient(transparent,var(--gp-bg-card));}
.gdb-expand-btn{display:block;width:100%;padding:10px;margin-top:8px;border:none;background:var(--gp-bg-input);color:var(--gp-primary);font-size:0.75rem;font-weight:600;cursor:pointer;border-radius:8px;transition:all 0.2s;font-family:inherit;}
.gdb-expand-btn:hover{background:rgba(255,107,53,0.08);}

/* ============================================
   18.8 鏋佺畝甯冨眬 (game_detail_minimal.php)
   ============================================ */
.gdm-wrapper{max-width:800px;margin:0 auto;padding:0 20px;}
.gdm-cover{margin-bottom:24px;border-radius:16px;overflow:hidden;}
.gdm-cover-img{width:100%;display:block;border-radius:16px;}
.gdm-header{text-align:center;margin-bottom:24px;}
.gdm-title{font-size:1.8rem;font-weight:800;color:var(--gp-text-primary);margin:0 0 6px;line-height:1.3;}
.gdm-subtitle{font-size:0.78rem;color:var(--gp-text-dim);margin:0 0 10px;}
.gdm-excerpt{font-size:0.85rem;color:var(--gp-text-dim);line-height:1.7;max-width:600px;margin:0 auto;}

/* 璇勫垎+淇℃伅 */
.gdm-meta{display:flex;justify-content:center;gap:24px;flex-wrap:wrap;margin-bottom:24px;padding:16px;background:var(--gp-bg-card);border:1px solid var(--gp-border);border-radius:12px;}
.gdm-meta-item{display:flex;flex-direction:column;align-items:center;gap:2px;}
.gdm-meta-rating{flex-direction:row;gap:8px;}
.gdm-score{font-size:2rem;font-weight:800;color:var(--gp-primary);line-height:1;}
.gdm-score-label{font-size:0.7rem;color:var(--gp-text-muted);}
.gdm-score-stars{display:flex;gap:1px;}
.gdm-score-stars i{font-size:0.6rem;color:#f59e0b;}
.gdm-score-count{font-size:0.65rem;color:var(--gp-text-muted);}
.gdm-meta-lbl{font-size:0.6rem;color:var(--gp-text-muted);text-transform:uppercase;}
.gdm-meta-item>span:last-child{font-size:0.78rem;font-weight:600;color:var(--gp-text-primary);}

/* 涓嬭浇鎸夐挳 */
.gdm-download{display:flex;justify-content:center;margin-bottom:32px;}
.gdm-dl-btn{padding:16px 48px;border-radius:12px;border:none;background:linear-gradient(135deg,var(--gp-primary),var(--gp-primary-dark));color:#fff;font-size:1rem;font-weight:700;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;gap:10px;box-shadow:0 8px 28px var(--gp-primary-glow);transition:all 0.2s;font-family:inherit;}
.gdm-dl-btn:hover{transform:translateY(-2px);box-shadow:0 14px 36px var(--gp-primary-glow);color:#fff;}
.gdm-dl-btn.disabled{opacity:0.5;cursor:not-allowed;pointer-events:none;box-shadow:none;}
.gdm-dl-wrap{position:relative;}
.gdm-dl-menu{display:none;position:absolute;top:100%;left:50%;transform:translateX(-50%);min-width:200px;background:var(--gp-bg-elevated);border:1px solid var(--gp-border);border-radius:8px;padding:4px;z-index:20;margin-top:4px;box-shadow:0 8px 24px rgba(0,0,0,0.4);}
.gdm-dl-menu a{display:block;padding:10px 16px;font-size:0.78rem;color:var(--gp-text);text-decoration:none;border-radius:6px;}
.gdm-dl-menu a:hover{background:rgba(255,107,53,0.08);color:var(--gp-primary);}

/* 姝ｆ枃鍖?*/
.gdm-section{margin-bottom:28px;}
.gdm-section-title{font-size:1.05rem;font-weight:700;color:var(--gp-text-primary);margin:0 0 16px;}
.gdm-desc{font-size:0.95rem;line-height:2;color:var(--gp-text-secondary);}
.gdm-desc.collapsed{max-height:300px;overflow:hidden;position:relative;}
.gdm-desc.collapsed::after{content:'';position:absolute;bottom:0;left:0;right:0;height:60px;background:linear-gradient(transparent,var(--gp-bg-root));}
.gdm-expand-btn{display:block;width:100%;padding:10px;margin-top:4px;border:1px solid var(--gp-border);border-radius:8px;background:transparent;color:var(--gp-text-dim);font-size:0.75rem;cursor:pointer;transition:all 0.2s;font-family:inherit;}
.gdm-expand-btn:hover{border-color:var(--gp-primary);color:var(--gp-primary);}

/* 璇︽儏鍒楄〃 */
.gdm-dl{display:flex;flex-direction:column;gap:0;}
.gdm-dl-row{display:flex;padding:10px 0;border-bottom:1px solid var(--gp-border);}
.gdm-dl-row:last-child{border-bottom:none;}
.gdm-dl-row dt{width:90px;flex-shrink:0;font-size:0.72rem;color:var(--gp-text-muted);font-weight:600;}
.gdm-dl-row dd{flex:1;font-size:0.82rem;color:var(--gp-text-primary);margin:0;}

/* 鎴浘 */
.gdm-screenshots{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;}
.gdm-screenshot-item{position:relative;border-radius:8px;overflow:hidden;cursor:pointer;aspect-ratio:16/10;}
.gdm-screenshot-item img{width:100%;height:100%;object-fit:cover;}
.gdm-screenshot-zoom{position:absolute;inset:0;background:rgba(0,0,0,0.5);display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity 0.2s;font-size:1.2rem;color:#fff;}
.gdm-screenshot-item:hover .gdm-screenshot-zoom{opacity:1;}

/* Bento/鏋佺畝 绉诲姩绔?*/
@media(max-width:1023px){
  .gdb-grid{grid-template-columns:repeat(2,1fr);}
  .gdb-span2{grid-column:span 2;}
  .gdb-cover-title{font-size:1.3rem;}
  .gdm-wrapper{max-width:100%;}
  .gdm-title{font-size:1.4rem;}
  .gdm-screenshots{grid-template-columns:repeat(2,1fr);}
}
@media(max-width:767px){
  .gdb-grid{grid-template-columns:1fr;}
  .gdb-span2{grid-column:span 1;}
  .gdb-card-cover{min-height:200px;}
  .gdb-cover-img{min-height:200px;}
  .gdb-cover-overlay{padding:16px;}
  .gdb-cover-title{font-size:1.1rem;}
  .gdb-card-inner{padding:16px;}
  .gdb-body-card{padding:16px;}
  .gdb-screenshot-thumb{width:120px;height:80px;}
  .gdm-wrapper{padding:0 12px;}
  .gdm-title{font-size:1.2rem;}
  .gdm-meta{gap:12px;flex-direction:column;align-items:center;}
  .gdm-screenshots{grid-template-columns:repeat(2,1fr);}
  .gdm-dl-row{flex-direction:column;gap:2px;}
  .gdm-dl-row dt{width:auto;}
}

/* 鍗＄墖骞冲彴鏍囩 */
.gp-card-platform-tag{position:absolute;top:8px;left:8px;font-size:0.55rem;padding:2px 8px;background:rgba(0,0,0,0.6);color:#fff;border-radius:4px;z-index:2;}
.gp-card-type{font-size:0.6rem;color:var(--gp-text-dim);padding:1px 6px;border-radius:4px;background:var(--gp-bg-input);}

/* ============================================
   19. 文章详情页 v3.2 — 排版布局与间距优化
   （从 index.css 迁移，确保文章详情页正确加载）
   ============================================ */

/* 阅读进度条 */
#articleProgressBar{position:fixed;top:0;left:0;height:3px;background:linear-gradient(90deg,var(--gp-primary),#ff9a56);z-index:9999;width:0;transition:width 0.15s ease;}

/* 标题区 */
.gp-article-header{margin-top:20px;margin-bottom:28px;}
.gp-article-category{display:inline-flex;padding:5px 16px;border-radius:14px;background:rgba(255,107,53,0.08);color:var(--gp-primary);font-size:0.78rem;font-weight:600;text-decoration:none;margin-bottom:16px;transition:all 0.2s;}
.gp-article-category:hover{background:rgba(255,107,53,0.18);}
.gp-article-title{font-family:var(--gp-font-heading);font-size:2rem;font-weight:800;color:var(--gp-text-primary);line-height:1.55;margin:0 0 20px;letter-spacing:-0.3px;}
.gp-article-meta-bar{display:flex;align-items:center;flex-wrap:wrap;gap:8px 20px;font-size:0.82rem;color:var(--gp-text-secondary);padding-bottom:20px;border-bottom:1px solid var(--gp-border,#2a2a3e);}
.gp-meta-item{display:inline-flex;align-items:center;gap:5px;}
.gp-meta-item i{color:var(--gp-primary);font-size:0.72rem;opacity:0.7;}

/* 封面 */
.gp-article-cover{margin-bottom:32px;border-radius:12px;overflow:hidden;box-shadow:0 4px 24px rgba(0,0,0,0.3);}
.gp-article-cover-fallback{height:160px;border-radius:12px;margin-bottom:32px;background:linear-gradient(135deg,var(--gp-bg-input),var(--gp-bg-elevated));display:flex;align-items:center;justify-content:center;border:1px dashed var(--gp-border);}
.gp-article-cover-fallback span{font-size:0.9rem;color:var(--gp-text-dim);font-weight:500;}
.gp-article-cover img{width:100%;max-height:450px;object-fit:cover;display:block;cursor:pointer;}
.gp-article-cover:hover img{opacity:0.92;transition:opacity 0.2s;}

/* 正文（文章详情页专用——优化间距与排版） */
.gp-detail-content{font-size:1.1rem;line-height:2.1;color:var(--gp-text-secondary);word-break:break-word;}
.gp-detail-content h2{font-size:1.35rem;font-weight:700;color:var(--gp-text-primary);margin:36px 0 18px;padding:10px 0 10px 14px;border-left:3px solid var(--gp-primary);line-height:1.5;}
.gp-detail-content h3{font-size:1.15rem;font-weight:600;color:var(--gp-text-primary);margin:28px 0 14px;}
.gp-detail-content p{margin:0 0 20px;text-indent:2em;}
.gp-detail-content strong{color:var(--gp-text-primary);font-weight:700;}
.gp-detail-content a{color:var(--gp-primary);text-decoration:none;border-bottom:1px dashed rgba(255,107,53,0.3);transition:border-color 0.2s;}
.gp-detail-content a:hover{border-bottom-color:var(--gp-primary);}
.gp-detail-content img{border-radius:10px;margin:24px auto;display:block;max-width:100%;box-shadow:0 2px 16px rgba(0,0,0,0.2);cursor:pointer;transition:box-shadow 0.2s;}
.gp-detail-content img:hover{box-shadow:0 4px 24px rgba(0,0,0,0.35);}
/* 图片居中容器（编辑器自动排版使用，隔离text-align防止泄漏到文本） */
.gp-detail-content p.gp-img-center{text-align:center;text-indent:0!important;margin:24px 0;}
.gp-detail-content p.gp-img-center img{margin:0 auto;display:inline-block;}
/* p:has(img) 兜底规则：兼容旧内容中未被gp-img-center包裹的图片 */
.gp-detail-content p:has(img):not(.gp-img-center){text-align:center;text-indent:0!important;margin:24px 0;}
.gp-detail-content p:has(img):not(.gp-img-center) img{margin:0 auto;display:inline-block;}
/* 安全防护：清除正文段落中残留的text-align:center内联样式（防止编辑器旧数据污染） */
.gp-detail-content p[style*="text-align:center"]:not(.gp-img-center):not(:has(img)){text-align:left!important;}
.gp-detail-content blockquote{margin:24px 0;padding:18px 24px;border-left:3px solid var(--gp-primary);background:rgba(255,107,53,0.04);border-radius:0 8px 8px 0;color:var(--gp-text-dim);font-style:italic;line-height:1.8;}
.gp-detail-content ul,.gp-detail-content ol{margin:16px 0;padding-left:26px;}
.gp-detail-content li{margin:8px 0;line-height:1.8;}
.gp-detail-content pre,.gp-detail-content code{background:var(--gp-bg-elevated,#1e1e30);border-radius:6px;padding:2px 8px;font-family:var(--gp-font-mono);font-size:0.88em;color:var(--gp-primary);}
.gp-detail-content pre{padding:16px 20px;overflow-x:auto;line-height:1.6;}
.gp-detail-content pre code{padding:0;background:none;}

/* 文章底部操作栏 */
.gp-article-footer{margin-top:48px;padding:28px 0 0;border-top:1px solid var(--gp-border);}
.gp-article-footer-inner{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px;}
.gp-article-source{display:flex;align-items:center;gap:10px;padding:8px 16px;background:var(--gp-bg-card);border:1px solid var(--gp-border);border-radius:10px;font-size:0.78rem;backdrop-filter:blur(8px);}
.gp-source-label{color:var(--gp-text-tertiary);font-weight:500;display:flex;align-items:center;gap:5px;flex-shrink:0;}
.gp-source-label i{font-size:0.7rem;color:var(--gp-primary);}
.gp-source-link{color:var(--gp-primary);text-decoration:none;font-weight:600;transition:all 0.2s;border-bottom:1px dashed rgba(255,107,53,0.3);}
.gp-source-link:hover{color:var(--gp-primary-light);border-bottom-color:var(--gp-primary);}

/* 分享区域 */
.gp-article-share{display:flex;align-items:center;gap:12px;}
.gp-share-label{font-size:0.78rem;color:var(--gp-text-tertiary);font-weight:500;flex-shrink:0;}
.gp-share-btns{display:flex;gap:6px;}
.gp-share-btn{width:38px;height:38px;border-radius:50%;border:1.5px solid var(--gp-border);background:transparent;color:var(--gp-text-dim);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:0.9rem;transition:all 0.25s cubic-bezier(0.4,0,0.2,1);}
.gp-share-btn:hover{border-color:var(--gp-primary);color:var(--gp-primary);background:rgba(255,107,53,0.08);transform:translateY(-2px);box-shadow:0 4px 12px var(--gp-primary-glow);}
.gp-share-btn:active{transform:scale(0.92);}

/* 上一篇/下一篇导航 */
.gp-article-pager{margin-top:40px;padding-top:28px;border-top:1px solid var(--gp-border);}
.gp-pager-inner{display:flex;align-items:stretch;gap:0;background:var(--gp-bg-card);border:1px solid var(--gp-border);border-radius:14px;overflow:hidden;}
.gp-pager-item{flex:1;display:flex;flex-direction:column;gap:8px;padding:20px 24px;text-decoration:none;transition:all 0.3s cubic-bezier(0.4,0,0.2,1);position:relative;min-width:0;}
.gp-pager-item:hover{background:rgba(255,107,53,0.04);}
.gp-pager-prev{align-items:flex-start;text-align:left;}
.gp-pager-next{align-items:flex-end;text-align:right;}
.gp-pager-item.gp-pager-empty{opacity:0.35;pointer-events:none;}
.gp-pager-divider{width:1px;background:var(--gp-border);align-self:stretch;flex-shrink:0;}
.gp-pager-label{font-size:0.72rem;font-weight:600;color:var(--gp-text-tertiary);display:flex;align-items:center;gap:6px;text-transform:uppercase;letter-spacing:0.05em;transition:color 0.2s;}
.gp-pager-item:hover .gp-pager-label{color:var(--gp-primary);}
.gp-pager-next .gp-pager-label{flex-direction:row;}
.gp-pager-title{font-size:0.9rem;font-weight:600;color:var(--gp-text-primary);line-height:1.45;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;word-break:break-word;transition:color 0.2s;}
.gp-pager-item:hover .gp-pager-title{color:var(--gp-primary);}

/* ====== P1-3：文章星级评分 ====== */
.gp-rating-stars{display:inline-flex;align-items:center;gap:1px;cursor:default;}
.gp-rating-stars i{font-size:0.75rem;color:var(--gp-text-dim);transition:color 0.15s,transform 0.15s;}
.gp-rating-stars i.fas{color:#f59e0b;}
.gp-rating-stars i:hover{transform:scale(1.3);}

/* ====== P1-5+P1-6：阅读工具栏 ====== */
.gp-reading-toolbar{display:flex;align-items:center;justify-content:space-between;padding:10px 0;margin-bottom:16px;border-bottom:1px dashed var(--gp-border);flex-wrap:wrap;gap:8px;}
.gp-toolbar-label{font-size:0.72rem;color:var(--gp-text-tertiary);font-weight:500;}
.gp-toolbar-actions{display:flex;align-items:center;gap:4px;}
.gp-toolbar-btn{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border:1px solid var(--gp-border);border-radius:6px;background:transparent;color:var(--gp-text-secondary);font-size:0.72rem;cursor:pointer;transition:all 0.2s;font-family:inherit;font-weight:600;}
.gp-toolbar-btn:hover{border-color:var(--gp-primary);color:var(--gp-primary);background:rgba(255,107,53,0.06);}
.gp-toolbar-btn small{font-size:0.55rem;margin-left:1px;}
.gp-toolbar-divider{width:1px;height:20px;background:var(--gp-border);margin:0 6px;}
.gp-theme-toggle{width:34px;font-size:0.85rem;}
/* 百度移动优先：阅读工具栏按钮触摸目标≥48px */
@media(max-width:767px){
  .gp-toolbar-btn{width:44px;height:44px;font-size:0.9rem;border-radius:8px;}
  .gp-toolbar-btn small{font-size:0.65rem;}
  .gp-toolbar-divider{height:28px;margin:0 4px;}
  .gp-theme-toggle{width:44px;font-size:1rem;}
  .gp-toolbar-label{font-size:0.78rem;}
}

/* 侧边栏卡片 */
.gp-sidebar-card{background:var(--gp-bg-card);border:1px solid var(--gp-border);border-radius:12px;padding:20px;margin-bottom:20px;}
.gp-sidebar-card-title{font-family:var(--gp-font-heading);font-size:0.9rem;font-weight:700;color:var(--gp-text-primary);margin:0 0 14px;display:flex;align-items:center;gap:8px;}
[data-theme="dark"] .gp-sidebar-card-title{color:#e8eaed;}
[data-theme="light"] .gp-sidebar-card-title{color:#1a1d24;}
.gp-sidebar-card-title i{color:var(--gp-primary);font-size:0.82rem;}
.gp-sidebar-card .gp-tag-cloud{gap:8px;padding:0;}
.gp-sidebar-card .gp-tag-cloud .gp-tag{line-height:1.5;margin:0;}

/* 侧边栏小部件样式已在 index.css 中统一定义，此处移除重复 */

/* 关于作者卡片 */
.gp-author-card{display:flex;gap:14px;align-items:flex-start;}
.gp-author-avatar{width:44px;height:44px;border-radius:50%;background:linear-gradient(135deg,var(--gp-primary),var(--gp-primary-dark));color:#fff;display:flex;align-items:center;justify-content:center;font-size:1.1rem;font-weight:700;flex-shrink:0;}
.gp-author-name{font-size:0.88rem;font-weight:700;color:var(--gp-text-primary);margin-bottom:2px;}
.gp-author-role{font-size:0.72rem;color:var(--gp-text-dim);}

/* TOC 目录 */
.gp-toc-list{display:flex;flex-direction:column;gap:1px;max-height:50vh;overflow-y:auto;}
.gp-toc-item{display:block;padding:7px 10px;border-radius:6px;color:var(--gp-text-secondary);text-decoration:none;font-size:0.78rem;transition:all 0.15s;border-left:2px solid transparent;}
.gp-toc-item:hover{background:rgba(255,107,53,0.04);color:var(--gp-text);}
.gp-toc-item.active{background:rgba(255,107,53,0.08);color:var(--gp-primary);font-weight:600;border-left-color:var(--gp-primary);}

/* 灯箱样式已在 index.css 中统一定义，此处移除重复 */

/* 响应式——文章详情 */
@media(max-width:1023px){
  .gp-article-title{font-size:1.25rem;line-height:1.4;margin-bottom:22px;}
  .gp-article-meta-bar{font-size:0.75rem;gap:4px 10px;flex-wrap:wrap;padding-bottom:14px;}
  .gp-article-cover img{max-height:200px;width:100%;object-fit:cover;}
  .gp-article-footer-inner{flex-direction:column;align-items:flex-start;gap:14px;}
  .gp-detail-content{font-size:1rem;line-height:1.9;}
  .gp-detail-content h2{font-size:1.15rem;margin:20px 0 10px;}
  .gp-detail-content h3{font-size:1.05rem;margin:16px 0 8px;}
  .gp-detail-content img{max-width:100%;height:auto;border-radius:8px;}
  .gp-pager-inner{flex-direction:column;}
  .gp-pager-divider{width:100%;height:1px;}
  .gp-pager-item{padding:16px 20px;}
  .gp-pager-next{align-items:flex-start;text-align:left;}
  .gp-pager-next .gp-pager-label{justify-content:flex-start;}
}
@media(max-width:767px){
  .gp-article-title{font-size:1.1rem;}
  .gp-article-cover-fallback{height:120px;}
}
@media print {
  .gp-sidebar,.gp-article-share,.gp-article-pager,#articleProgressBar{display:none!important;}
}

/* 亮色模式骨架屏适配 */
[data-theme="light"] .gp-skeleton{background:linear-gradient(90deg,#e5e7eb 25%,#f3f4f6 37%,#e5e7eb 63%);background-size:200% 100%;}

/* ====== P1-2：收藏按钮 ====== */
.gp-article-actions{display:flex;align-items:center;gap:16px;flex-wrap:wrap;}
.gp-action-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border:1.5px solid var(--gp-border);border-radius:10px;background:transparent;color:var(--gp-text-secondary);font-size:0.82rem;cursor:pointer;transition:all 0.25s cubic-bezier(0.4,0,0.2,1);font-family:inherit;}
.gp-action-btn:hover{border-color:var(--gp-primary);color:var(--gp-primary);background:rgba(255,107,53,0.06);transform:translateY(-1px);}
.gp-action-btn .fas{color:var(--gp-primary);}
.gp-action-btn .far{color:var(--gp-text-dim);}

/* ====== P1-1：相关文章推荐 ====== */
.gp-related-articles{margin-top:40px;padding-top:28px;border-top:1px solid var(--gp-border);}
.gp-related-title{font-family:var(--gp-font-heading);font-size:1rem;font-weight:700;color:var(--gp-text-primary);margin:0 0 16px;display:flex;align-items:center;gap:8px;}
.gp-related-title i{color:var(--gp-primary);}

/* ====== 布局1：双列网格（默认） ====== */
.gp-related-grid-2x2{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;}
.gp-related-card{display:flex;flex-direction:column;gap:8px;padding:12px;background:var(--gp-bg-card);border:1px solid var(--gp-border);border-radius:10px;text-decoration:none;transition:all 0.3s cubic-bezier(0.4,0,0.2,1);overflow:hidden;}
.gp-related-card:hover{border-color:var(--gp-primary);transform:translateY(-2px);box-shadow:0 4px 16px var(--gp-primary-glow);}
.gp-related-thumb{width:100%;aspect-ratio:16/9;border-radius:8px;overflow:hidden;background:var(--gp-bg-elevated);}
.gp-related-thumb img{width:100%;height:100%;object-fit:cover;transition:transform 0.3s;}
.gp-related-card:hover .gp-related-thumb img{transform:scale(1.05);}
.gp-related-info{display:flex;flex-direction:column;gap:4px;}
.gp-related-name{font-size:0.85rem;font-weight:600;color:var(--gp-text-primary);line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.gp-related-meta{font-size:0.72rem;color:var(--gp-text-tertiary);}

/* ====== 布局2：三列网格 ====== */
.gp-related-grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;}
.gp-related-card-compact{gap:6px;padding:10px;}
.gp-related-card-compact .gp-related-thumb{aspect-ratio:16/9;}
.gp-related-card-compact .gp-related-name{font-size:0.78rem;-webkit-line-clamp:2;}

/* ====== 布局3：横向滑动卡片 ====== */
.gp-related-hscroll{overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;scrollbar-width:none;margin:0 -4px;padding:0 4px;}
.gp-related-hscroll::-webkit-scrollbar{display:none;}
.gp-related-hscroll-track{display:flex;gap:12px;padding:4px 0;}
.gp-related-hcard{flex:0 0 220px;display:flex;flex-direction:column;gap:8px;padding:10px;background:var(--gp-bg-card);border:1px solid var(--gp-border);border-radius:10px;text-decoration:none;transition:all 0.3s;overflow:hidden;}
.gp-related-hcard:hover{border-color:var(--gp-primary);transform:translateY(-2px);}
.gp-related-hthumb{width:100%;aspect-ratio:16/9;border-radius:8px;overflow:hidden;background:var(--gp-bg-elevated);}
.gp-related-hthumb img{width:100%;height:100%;object-fit:cover;}
.gp-related-hname{font-size:0.8rem;font-weight:600;color:var(--gp-text-primary);line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.gp-related-hmeta{font-size:0.68rem;color:var(--gp-text-tertiary);}

/* ====== 布局4：列表式 ====== */
.gp-related-list{display:flex;flex-direction:column;gap:1px;background:var(--gp-border);border:1px solid var(--gp-border);border-radius:10px;overflow:hidden;}
.gp-related-list-item{display:flex;align-items:center;gap:12px;padding:12px 14px;background:var(--gp-bg-card);text-decoration:none;transition:all 0.2s;}
.gp-related-list-item:hover{background:rgba(255,107,53,0.04);}
.gp-related-list-thumb{width:100px;height:56px;border-radius:6px;overflow:hidden;flex-shrink:0;background:var(--gp-bg-elevated);}
.gp-related-list-thumb img{width:100%;height:100%;object-fit:cover;}
.gp-related-list-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px;}
.gp-related-list-title{font-size:0.82rem;font-weight:600;color:var(--gp-text-primary);line-height:1.4;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;}
.gp-related-list-meta{font-size:0.7rem;color:var(--gp-text-tertiary);}
.gp-related-list-arrow{font-size:0.7rem;color:var(--gp-text-dim);flex-shrink:0;}

/* ====== 布局5：特色突出（首篇大图） ====== */
.gp-related-featured{display:flex;gap:16px;}
.gp-related-featured-main{flex:1;display:flex;flex-direction:column;gap:10px;text-decoration:none;background:var(--gp-bg-card);border:1px solid var(--gp-border);border-radius:10px;overflow:hidden;transition:all 0.3s;}
.gp-related-featured-main:hover{border-color:var(--gp-primary);transform:translateY(-2px);}
.gp-related-featured-cover{width:100%;aspect-ratio:16/9;overflow:hidden;background:var(--gp-bg-elevated);}
.gp-related-featured-cover img{width:100%;height:100%;object-fit:cover;transition:transform 0.3s;}
.gp-related-featured-main:hover .gp-related-featured-cover img{transform:scale(1.03);}
.gp-related-featured-info{padding:0 14px 14px;display:flex;flex-direction:column;gap:4px;}
.gp-related-featured-title{font-size:0.95rem;font-weight:700;color:var(--gp-text-primary);line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.gp-related-featured-meta{font-size:0.72rem;color:var(--gp-text-tertiary);}
.gp-related-featured-side{width:240px;flex-shrink:0;display:flex;flex-direction:column;gap:8px;}
.gp-related-featured-item{display:flex;flex-direction:column;gap:4px;padding:12px 14px;background:var(--gp-bg-card);border:1px solid var(--gp-border);border-radius:8px;text-decoration:none;transition:all 0.2s;}
.gp-related-featured-item:hover{border-color:var(--gp-primary);background:rgba(255,107,53,0.04);}
.gp-related-featured-item-title{font-size:0.78rem;font-weight:600;color:var(--gp-text-primary);line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.gp-related-featured-item-meta{font-size:0.68rem;color:var(--gp-text-tertiary);}

/* ====== 布局6：极简文字列表 ====== */
.gp-related-minimal{display:flex;flex-direction:column;gap:0;}
.gp-related-minimal-item{display:flex;align-items:center;gap:10px;padding:10px 0;text-decoration:none;border-bottom:1px dashed var(--gp-border);transition:all 0.2s;}
.gp-related-minimal-item:last-child{border-bottom:none;}
.gp-related-minimal-item:hover .gp-related-minimal-title{color:var(--gp-primary);}
.gp-related-minimal-num{width:22px;height:22px;border-radius:50%;background:rgba(255,107,53,0.1);color:var(--gp-primary);font-size:0.68rem;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.gp-related-minimal-item:nth-child(-n+3) .gp-related-minimal-num{background:var(--gp-primary);color:#fff;}
.gp-related-minimal-title{flex:1;font-size:0.82rem;color:var(--gp-text-primary);line-height:1.4;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;transition:color 0.2s;}
.gp-related-minimal-meta{font-size:0.68rem;color:var(--gp-text-tertiary);flex-shrink:0;}

/* ====== P1-4：内容许可声明 ====== */
.gp-article-license{margin-top:28px;padding:16px 20px;background:var(--gp-bg-card);border:1px solid var(--gp-border);border-radius:10px;display:flex;align-items:flex-start;gap:12px;font-size:0.78rem;color:var(--gp-text-tertiary);line-height:1.6;}
.gp-article-license strong{color:var(--gp-text-secondary);}
.gp-article-license em{font-style:normal;color:var(--gp-primary);}
.gp-license-icon{width:32px;height:32px;border-radius:50%;background:rgba(255,107,53,0.1);display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:0.85rem;color:var(--gp-primary);}
.gp-license-text{flex:1;}

/* ====== P2-4：内容反馈 ====== */
.gp-article-feedback{margin-top:32px;padding:20px;background:var(--gp-bg-card);border:1px solid var(--gp-border);border-radius:12px;display:flex;align-items:center;gap:12px;flex-wrap:wrap;justify-content:center;}
.gp-feedback-label{font-size:0.85rem;color:var(--gp-text-secondary);font-weight:500;}
.gp-feedback-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 20px;border-radius:20px;border:1.5px solid var(--gp-border);background:transparent;font-size:0.82rem;cursor:pointer;transition:all 0.25s;font-family:inherit;}
.gp-feedback-yes:hover{border-color:#22c55e;color:#22c55e;background:rgba(34,197,94,0.06);}
.gp-feedback-no:hover{border-color:#ef4444;color:#ef4444;background:rgba(239,68,68,0.06);}

/* ====== P2-2：打印优化 ====== */
@media print{
  .gp-nav,.gp-sidebar,.gp-article-footer,.gp-article-pager,
  .gp-comment-section,.gp-article-feedback,.gp-related-articles,
  .gp-article-license,#articleProgressBar,.gp-breadcrumb,
  .gp-footer{display:none!important;}
  .gp-container{max-width:100%!important;padding:0!important;}
  .gp-main-layout{display:block!important;}
  .gp-detail-content{font-size:14px!important;line-height:1.8!important;color:#000!important;}
  .gp-article-title{font-size:22px!important;color:#000!important;}
  .gp-article-cover img{max-height:300px!important;}
  body{background:#fff!important;color:#000!important;}
  a{color:#000!important;text-decoration:underline!important;}
}

@media(max-width:1023px){
  .gp-related-grid-3{grid-template-columns:repeat(2,1fr);}
  .gp-related-featured{flex-direction:column;}
  .gp-related-featured-side{width:100%;flex-direction:row;flex-wrap:wrap;}
  .gp-related-featured-item{flex:1;min-width:150px;}
}

@media(max-width:767px){
  .gp-related-grid-2x2{grid-template-columns:1fr;}
  .gp-related-grid-3{grid-template-columns:1fr;}
  .gp-related-hcard{flex:0 0 180px;}
  .gp-related-featured-side{flex-direction:column;}
  .gp-related-featured-item{min-width:auto;}
  .gp-related-list-thumb{width:80px;height:48px;}
  .gp-article-feedback{flex-direction:column;text-align:center;}
}

/* ====== 从 index.css 迁移的文章详情/评论v2样式 ====== */
/* ====== 文章详情页 v3.0 SEO优化版 ====== */

/* 进度条 */
#articleProgressBar{position:fixed;top:0;left:0;height:3px;background:linear-gradient(90deg,var(--gp-primary),#ff9a56);z-index:9999;width:0;transition:width 0.15s ease;}

/* .gp-breadcrumb 已在通用区统一定义（见L1547），此处移除重复 */

/* 标题区 */
.gp-article-header{margin-top:20px;margin-bottom:28px;}
.gp-article-category{display:inline-flex;padding:5px 16px;border-radius:14px;background:rgba(255,107,53,0.08);color:var(--gp-primary);font-size:0.78rem;font-weight:600;text-decoration:none;margin-bottom:16px;transition:all 0.2s;}
.gp-article-category:hover{background:rgba(255,107,53,0.18);}
.gp-article-title{font-family:var(--gp-font-heading);font-size:2rem;font-weight:800;color:var(--gp-text-primary);line-height:1.55;margin:0 0 20px;letter-spacing:-0.3px;}
.gp-article-meta-bar{display:flex;align-items:center;flex-wrap:wrap;gap:8px 20px;font-size:0.82rem;color:var(--gp-text-secondary);padding-bottom:20px;border-bottom:1px solid var(--gp-border,#2a2a3e);}
.gp-meta-item{display:inline-flex;align-items:center;gap:5px;}
.gp-meta-item i{color:var(--gp-primary);font-size:0.72rem;opacity:0.7;}

/* 封面 — 响应式aspect-ratio替代固定max-height */
.gp-article-cover{margin-bottom:32px;border-radius:12px;overflow:hidden;box-shadow:0 4px 24px rgba(0,0,0,0.3);}.gp-article-cover-fallback{aspect-ratio:16/9;max-height:360px;border-radius:12px;margin-bottom:32px;background:linear-gradient(135deg,var(--gp-bg-input),var(--gp-bg-elevated));display:flex;align-items:center;justify-content:center;border:1px dashed var(--gp-border);}.gp-article-cover-fallback span{font-size:0.9rem;color:var(--gp-text-dim);font-weight:500;}
.gp-article-cover img{width:100%;aspect-ratio:16/9;max-height:55vh;object-fit:cover;display:block;cursor:pointer;}
/* 封面图悬停提示 */
.gp-article-cover:hover img{opacity:0.92;transition:opacity 0.2s;}

/* 正文 */
.gp-detail-content{font-size:1.1rem;line-height:2.1;color:var(--gp-text-secondary);word-break:break-word;}
.gp-detail-content h2{font-size:1.35rem;font-weight:700;color:var(--gp-text-primary);margin:36px 0 18px;padding:10px 0 10px 14px;border-left:3px solid var(--gp-primary);line-height:1.5;}
.gp-detail-content h3{font-size:1.15rem;font-weight:600;color:var(--gp-text-primary);margin:28px 0 14px;}
.gp-detail-content p{margin:0 0 20px;text-indent:2em;}
.gp-detail-content strong{color:var(--gp-text-primary);font-weight:700;}
.gp-detail-content a{color:var(--gp-primary);text-decoration:none;border-bottom:1px dashed rgba(255,107,53,0.3);transition:border-color 0.2s;}
.gp-detail-content a:hover{border-bottom-color:var(--gp-primary);}
.gp-detail-content img{border-radius:10px;margin:24px auto;display:block;max-width:100%;height:auto;box-shadow:0 2px 16px rgba(0,0,0,0.2);cursor:pointer;transition:box-shadow 0.2s;}
.gp-detail-content img:hover{box-shadow:0 4px 24px rgba(0,0,0,0.35);}
/* 图片居中容器（编辑器自动排版使用，隔离text-align防止泄漏到文本） */
.gp-detail-content p.gp-img-center{text-align:center;text-indent:0!important;margin:24px 0;}
.gp-detail-content p.gp-img-center img{margin:0 auto;display:inline-block;}
/* p:has(img) 兜底规则：兼容旧内容中未被gp-img-center包裹的图片 */
.gp-detail-content p:has(img):not(.gp-img-center){text-align:center;text-indent:0!important;margin:24px 0;}
.gp-detail-content p:has(img):not(.gp-img-center) img{margin:0 auto;display:inline-block;}
/* 安全防护：清除正文段落中残留的text-align:center内联样式（防止编辑器旧数据污染） */
.gp-detail-content p[style*="text-align:center"]:not(.gp-img-center):not(:has(img)){text-align:left!important;}
.gp-detail-content blockquote{margin:24px 0;padding:18px 24px;border-left:3px solid var(--gp-primary);background:rgba(255,107,53,0.04);border-radius:0 8px 8px 0;color:var(--gp-text-dim);font-style:italic;line-height:1.8;}
.gp-detail-content ul,.gp-detail-content ol{margin:16px 0;padding-left:26px;}
.gp-detail-content li{margin:8px 0;line-height:1.8;}
.gp-detail-content pre,.gp-detail-content code{background:var(--gp-bg-elevated,#1e1e30);border-radius:6px;padding:2px 8px;font-family:var(--gp-font-mono);font-size:0.88em;color:var(--gp-primary);}
.gp-detail-content pre{padding:16px 20px;overflow-x:auto;line-height:1.6;}
.gp-detail-content pre code{padding:0;background:none;}

/* ============================================
   文章底部操作栏 v2 — 优化间距与层级
   ============================================ */
.gp-article-footer {
  margin-top: 48px;
  padding: 28px 0 0;
  border-top: 1px solid var(--gp-border);
}
.gp-article-footer-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 16px;
}

/* 来源区域 */
.gp-article-source {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 8px 16px;
  background: var(--gp-bg-card);
  border: 1px solid var(--gp-border);
  border-radius: 10px;
  font-size: 0.78rem;
  backdrop-filter: blur(8px);
}
.gp-source-label {
  color: var(--gp-text-tertiary);
  font-weight: 500;
  display: flex;
  align-items: center;
  gap: 5px;
  flex-shrink: 0;
}
.gp-source-label i {
  font-size: 0.7rem;
  color: var(--gp-primary);
}
.gp-source-link {
  color: var(--gp-primary);
  text-decoration: none;
  font-weight: 600;
  transition: all 0.2s;
  border-bottom: 1px dashed rgba(255,107,53,0.3);
}
.gp-source-link:hover {
  color: var(--gp-primary-light);
  border-bottom-color: var(--gp-primary);
}

/* 分享区域 */
.gp-article-share {
  display: flex;
  align-items: center;
  gap: 12px;
}
.gp-share-label {
  font-size: 0.78rem;
  color: var(--gp-text-tertiary);
  font-weight: 500;
  flex-shrink: 0;
}
.gp-share-btns {
  display: flex;
  gap: 6px;
}
.gp-share-btn {
  width: 38px;
  height: 38px;
  border-radius: 50%;
  border: 1.5px solid var(--gp-border);
  background: transparent;
  color: var(--gp-text-dim);
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.9rem;
  transition: all 0.25s cubic-bezier(0.4,0,0.2,1);
}
.gp-share-btn:hover {
  border-color: var(--gp-primary);
  color: var(--gp-primary);
  background: rgba(255,107,53,0.08);
  transform: translateY(-2px);
  box-shadow: 0 4px 12px var(--gp-primary-glow);
}
.gp-share-btn:active {
  transform: scale(0.92);
}

/* ============================================
   上一篇/下一篇导航 v2 — 优化视觉层级
   ============================================ */
.gp-article-pager {
  margin-top: 40px;
  padding-top: 28px;
  border-top: 1px solid var(--gp-border);
}
.gp-pager-inner {
  display: flex;
  align-items: stretch;
  gap: 0;
  background: var(--gp-bg-card);
  border: 1px solid var(--gp-border);
  border-radius: 14px;
  overflow: hidden;
}
.gp-pager-item {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 20px 24px;
  text-decoration: none;
  transition: all 0.3s cubic-bezier(0.4,0,0.2,1);
  position: relative;
  min-width: 0;
}
.gp-pager-item:hover {
  background: rgba(255,107,53,0.04);
}
.gp-pager-prev {
  align-items: flex-start;
  text-align: left;
}
.gp-pager-next {
  align-items: flex-end;
  text-align: right;
}
.gp-pager-item.gp-pager-empty {
  opacity: 0.35;
  pointer-events: none;
}
.gp-pager-divider {
  width: 1px;
  background: var(--gp-border);
  align-self: stretch;
  flex-shrink: 0;
}
.gp-pager-label {
  font-size: 0.72rem;
  font-weight: 600;
  color: var(--gp-text-tertiary);
  display: flex;
  align-items: center;
  gap: 6px;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  transition: color 0.2s;
}
.gp-pager-item:hover .gp-pager-label {
  color: var(--gp-primary);
}
.gp-pager-next .gp-pager-label {
  flex-direction: row;
}
.gp-pager-title {
  font-size: 0.9rem;
  font-weight: 600;
  color: var(--gp-text-primary);
  line-height: 1.45;
  overflow: hidden;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  word-break: break-word;
  transition: color 0.2s;
}
.gp-pager-item:hover .gp-pager-title {
  color: var(--gp-primary);
}

/* 关于作者卡片 */
.gp-author-card{display:flex;gap:14px;align-items:flex-start;}
.gp-author-avatar{width:44px;height:44px;border-radius:50%;background:linear-gradient(135deg,var(--gp-primary),var(--gp-primary-dark));color:#fff;display:flex;align-items:center;justify-content:center;font-size:1.1rem;font-weight:700;flex-shrink:0;}
.gp-author-name{font-size:0.88rem;font-weight:700;color:var(--gp-text-primary);margin-bottom:2px;}
.gp-author-role{font-size:0.72rem;color:var(--gp-text-dim);}

/* TOC */
.gp-toc-list{display:flex;flex-direction:column;gap:1px;max-height:50vh;overflow-y:auto;}
.gp-toc-item{display:block;padding:7px 10px;border-radius:6px;color:var(--gp-text-secondary);text-decoration:none;font-size:0.78rem;transition:all 0.15s;border-left:2px solid transparent;}
.gp-toc-item:hover{background:rgba(255,107,53,0.04);color:var(--gp-text);}
.gp-toc-item.active{background:rgba(255,107,53,0.08);color:var(--gp-primary);font-weight:600;border-left-color:var(--gp-primary);}

/* ============================================
   评论区 v2 — 优化排版与交互
   ============================================ */

/* 评论区域容器 */
.gp-comment-section {
  margin-top: 40px;
  padding: 0;
}

/* 评论标题 */
.gp-comment-header {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  padding-bottom: 16px;
  margin-bottom: 20px;
  border-bottom: 2px solid var(--gp-border);
}
.gp-comment-title {
  margin: 0;
  font-size: 1.25rem;
  font-weight: 700;
  color: var(--gp-text-primary);
  display: flex;
  align-items: baseline;
  gap: 8px;
}
.gp-comment-count {
  color: var(--gp-primary);
  font-size: 1rem;
  font-weight: 800;
}
.gp-comment-subtitle {
  font-size: 0.75rem;
  color: var(--gp-text-tertiary);
  font-weight: 400;
}

/* 评论列表空/加载状态 */
.gp-comment-list {
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin-bottom: 24px;
  min-height: 80px;
}
.gp-comment-placeholder {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 12px;
  padding: 48px 20px;
  color: var(--gp-text-tertiary);
  text-align: center;
}
.gp-comment-placeholder-icon {
  width: 56px;
  height: 56px;
  border-radius: 50%;
  background: var(--gp-bg-card);
  border: 2px dashed var(--gp-border);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.4rem;
  color: var(--gp-text-tertiary);
  opacity: 0.6;
}
.gp-comment-placeholder p {
  margin: 0;
  font-size: 0.82rem;
  line-height: 1.5;
}
.gp-comment-placeholder .gp-comment-retry {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 6px 16px;
  background: var(--gp-bg-card);
  border: 1px solid var(--gp-border);
  border-radius: 20px;
  color: var(--gp-primary);
  cursor: pointer;
  font-size: 0.75rem;
  font-weight: 600;
  transition: all 0.2s;
}
.gp-comment-placeholder .gp-comment-retry:hover {
  background: rgba(255,107,53,0.08);
  border-color: var(--gp-primary);
}

/* 单条评论 */
.gp-comment-item {
  display: flex;
  gap: 14px;
  padding: 18px 20px;
  background: var(--gp-bg-card);
  border: 1px solid var(--gp-border);
  border-radius: 12px;
  transition: border-color 0.2s;
}
.gp-comment-item:hover {
  border-color: var(--gp-border-light);
}
.gp-comment-avatar {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: var(--gp-primary);
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-size: 1rem;
  font-weight: 700;
  flex-shrink: 0;
}
.gp-comment-body {
  flex: 1;
  min-width: 0;
}
.gp-comment-author {
  font-size: 0.82rem;
  font-weight: 600;
  color: var(--gp-text-primary);
  margin-bottom: 4px;
}
/* v2.0: 用户等级标签 */
.gp-comment-level {
  display: inline-block;
  padding: 1px 6px;
  margin-left: 6px;
  border-radius: 3px;
  background: linear-gradient(135deg, #6c5ce7, #a29bfe);
  color: #fff;
  font-size: 0.62rem;
  font-weight: 700;
  vertical-align: middle;
  line-height: 1.4;
}
/* v2.0: 用户徽章 */
.gp-comment-badge {
  display: inline-block;
  margin-left: 3px;
  font-size: 0.7rem;
  vertical-align: middle;
  cursor: help;
}
.gp-comment-text {
  font-size: 0.85rem;
  color: var(--gp-text-secondary);
  line-height: 1.65;
  word-break: break-word;
}
.gp-comment-time {
  font-size: 0.7rem;
  color: var(--gp-text-tertiary);
  margin-top: 6px;
}

/* 评论输入表单容器 */
.gp-comment-form-wrapper {
  background: var(--gp-bg-card);
  border: 1px solid var(--gp-border);
  border-radius: 14px;
  overflow: hidden;
}
.gp-comment-form-header {
  padding: 14px 20px;
  font-size: 0.82rem;
  font-weight: 600;
  color: var(--gp-text-primary);
  background: var(--gp-bg-input);
  border-bottom: 1px solid var(--gp-border);
  display: flex;
  align-items: center;
  gap: 8px;
}
.gp-comment-form-header i {
  color: var(--gp-primary);
  font-size: 0.85rem;
}
.gp-comment-form {
  padding: 20px;
  display: flex;
  flex-direction: column;
  gap: 14px;
}
.gp-comment-input-row textarea {
  width: 100%;
  padding: 14px 16px;
  background: var(--gp-bg-input);
  border: 1.5px solid var(--gp-border);
  border-radius: 10px;
  color: var(--gp-text);
  font-size: 0.9rem;
  font-family: inherit;
  resize: vertical;
  min-height: 80px;
  transition: border-color 0.2s, box-shadow 0.2s;
  box-sizing: border-box;
  line-height: 1.6;
}
.gp-comment-input-row textarea:focus {
  border-color: var(--gp-primary);
  outline: none;
  box-shadow: 0 0 0 3px rgba(255,107,53,0.1);
}
.gp-comment-form-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  flex-wrap: wrap;
}

/* 验证码行 */
.gp-captcha-row {
  display: flex;
  align-items: center;
  gap: 10px;
}
.gp-captcha-row input {
  width: 90px;
  height: 38px;
  padding: 0 10px;
  background: var(--gp-bg-input);
  border: 1.5px solid var(--gp-border);
  border-radius: 8px;
  color: var(--gp-text);
  font-family: 'SF Mono', 'Cascadia Code', 'Courier New', monospace;
  text-transform: uppercase;
  font-size: 0.9rem;
  letter-spacing: 0.1em;
  text-align: center;
  transition: border-color 0.2s;
  box-sizing: border-box;
}
.gp-captcha-row input:focus {
  border-color: var(--gp-primary);
  outline: none;
}
.gp-captcha-row img {
  height: 38px;
  width: 80px;
  border-radius: 8px;
  cursor: pointer;
  border: 1.5px solid var(--gp-border);
  transition: border-color 0.2s;
  object-fit: cover;
}
.gp-captcha-row img:hover {
  border-color: var(--gp-primary);
}
.gp-captcha-refresh {
  padding: 0 12px;
  height: 32px;
  border: 1px solid var(--gp-border);
  border-radius: 8px;
  background: transparent;
  color: var(--gp-text-tertiary);
  cursor: pointer;
  font-size: 0.7rem;
  transition: all 0.2s;
  display: flex;
  align-items: center;
  gap: 4px;
  white-space: nowrap;
}
.gp-captcha-refresh:hover {
  border-color: var(--gp-primary);
  color: var(--gp-primary);
  background: rgba(255,107,53,0.06);
}

/* 提交按钮 */
.gp-comment-submit-btn {
  padding: 12px 28px;
  background: var(--gp-primary);
  color: #fff;
  border: none;
  border-radius: 10px;
  cursor: pointer;
  font-size: 0.88rem;
  font-weight: 600;
  transition: all 0.25s cubic-bezier(0.4,0,0.2,1);
  display: flex;
  align-items: center;
  gap: 8px;
  flex-shrink: 0;
}
.gp-comment-submit-btn:hover {
  opacity: 0.9;
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(255,107,53,0.35);
}
.gp-comment-submit-btn:active {
  transform: scale(0.96);
}



.gp-author-card{display:flex;align-items:center;gap:10px;}
.gp-author-avatar{width:44px;height:44px;border-radius:50%;background:var(--gp-primary);display:flex;align-items:center;justify-content:center;color:#fff;font-size:1.2rem;font-weight:700;flex-shrink:0;}
.gp-author-name{font-weight:600;color:var(--gp-text);font-size:0.85rem;}
.gp-author-role{font-size:0.7rem;color:var(--gp-text-tertiary);}


.gp-comment-replies{margin-left:36px;margin-top:8px;padding-left:12px;border-left:2px solid var(--gp-border);}
.gp-comment-reply .gp-comment-avatar{width:28px;height:28px;font-size:0.65rem;}
.gp-comment-reply .gp-comment-body{font-size:0.82rem;}

/* ============================================
   v3.0 评论增强样式：Emoji选择器 / 排序切换 / 置顶 / 举报 / @提及 / 分页
   ============================================ */

/* 排序切换标签 */
.gp-sort-tabs{display:flex;gap:6px;margin-bottom:16px;flex-wrap:wrap;}
.gp-sort-tab{padding:6px 14px;border:1px solid var(--gp-border);border-radius:20px;background:var(--gp-bg-card);color:var(--gp-text-secondary);font-size:0.78rem;cursor:pointer;transition:all 0.2s;display:flex;align-items:center;gap:5px;font-family:inherit;}
.gp-sort-tab:hover{border-color:var(--gp-primary);color:var(--gp-primary);}
.gp-sort-tab.active{background:var(--gp-primary);border-color:var(--gp-primary);color:#fff;font-weight:600;}

/* Emoji 按钮和面板 */
.gp-comment-textarea-wrapper{position:relative;}
.gp-comment-textarea-wrapper textarea{padding-right:44px;}
.gp-emoji-wrapper{position:absolute;right:8px;bottom:10px;z-index:5;}
.gp-emoji-btn{width:32px;height:32px;border-radius:8px;background:var(--gp-bg-input);border:1px solid var(--gp-border);display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:1rem;transition:all 0.2s;user-select:none;}
.gp-emoji-btn:hover{background:var(--gp-primary);border-color:var(--gp-primary);transform:scale(1.1);}
.gp-emoji-panel{display:none;position:absolute;bottom:40px;right:0;width:280px;max-height:200px;overflow-y:auto;background:var(--gp-bg-card);border:1px solid var(--gp-border);border-radius:12px;padding:10px;box-shadow:0 8px 32px rgba(0,0,0,0.3);z-index:100;grid-template-columns:repeat(8,1fr);gap:4px;}
.gp-emoji-panel-show{display:grid;}
.gp-emoji-item{width:30px;height:30px;display:flex;align-items:center;justify-content:center;font-size:1.1rem;cursor:pointer;border-radius:6px;transition:all 0.15s;}
.gp-emoji-item:hover{background:var(--gp-bg-input);transform:scale(1.3);}

/* @提及自动完成面板 */
.gp-mention-panel{position:fixed;z-index:9999;background:var(--gp-bg-card);border:1px solid var(--gp-border);border-radius:10px;box-shadow:0 8px 32px rgba(0,0,0,0.35);min-width:160px;max-height:180px;overflow-y:auto;padding:6px 0;}
.gp-mention-item{padding:8px 16px;cursor:pointer;font-size:0.82rem;color:var(--gp-text-primary);transition:background 0.15s;white-space:nowrap;}
.gp-mention-item:hover{background:var(--gp-primary);color:#fff;}

/* 置顶评论标记 */
.gp-comment-pinned{position:relative;border-color:var(--gp-primary) !important;background:linear-gradient(135deg,rgba(255,107,53,0.04),rgba(255,107,53,0.01));}
.gp-comment-pin-badge{position:absolute;top:-8px;right:12px;padding:2px 10px;background:var(--gp-primary);color:#fff;font-size:0.65rem;font-weight:600;border-radius:10px;display:flex;align-items:center;gap:4px;box-shadow:0 2px 8px rgba(255,107,53,0.3);z-index:1;}
.gp-comment-pin-badge i{font-size:0.6rem;}

/* 举报弹窗 */
.gp-report-overlay{position:fixed;inset:0;background:rgba(0,0,0,0.6);z-index:10000;display:flex;align-items:center;justify-content:center;backdrop-filter:blur(4px);}
.gp-report-dialog{background:var(--gp-bg-card);border:1px solid var(--gp-border);border-radius:16px;padding:24px;width:90%;max-width:400px;box-shadow:0 16px 48px rgba(0,0,0,0.4);}
.gp-report-dialog h3{margin:0 0 16px;font-size:1rem;color:var(--gp-text-primary);display:flex;align-items:center;gap:8px;}
.gp-report-dialog h3 i{color:var(--gp-primary);}
.gp-report-reasons{display:flex;flex-direction:column;gap:8px;margin-bottom:20px;}
.gp-report-reason-item{display:flex;align-items:center;gap:8px;padding:10px 14px;border:1px solid var(--gp-border);border-radius:10px;cursor:pointer;font-size:0.85rem;color:var(--gp-text-secondary);transition:all 0.2s;}
.gp-report-reason-item:hover{border-color:var(--gp-primary);background:rgba(255,107,53,0.04);}
.gp-report-reason-item input[type="radio"]{accent-color:var(--gp-primary);}
.gp-report-actions{display:flex;justify-content:flex-end;gap:10px;}

/* 评论操作按钮增强 */
.gp-comment-actions{display:flex;gap:8px;margin-top:8px;align-items:center;}
.gp-comment-btn-like,.gp-comment-btn-reply,.gp-comment-btn-report{background:none;border:none;color:var(--gp-text-tertiary);cursor:pointer;font-size:0.72rem;display:flex;align-items:center;gap:4px;padding:4px 8px;border-radius:6px;transition:all 0.2s;font-family:inherit;}
.gp-comment-btn-like:hover,.gp-comment-btn-reply:hover{color:var(--gp-primary);background:rgba(255,107,53,0.06);}
.gp-comment-btn-report:hover{color:#ef4444;background:rgba(239,68,68,0.06);}
.gp-comment-btn-like.gp-liked{color:var(--gp-primary);animation:gp-like-pop 0.4s ease;}
@keyframes gp-like-pop{0%{transform:scale(1);}50%{transform:scale(1.3);}100%{transform:scale(1);}}

/* 查看更多回复按钮 */
.gp-comment-more-btn{background:none;border:none;color:var(--gp-primary);cursor:pointer;font-size:0.72rem;padding:6px 12px;margin-top:6px;border-radius:6px;transition:all 0.2s;font-family:inherit;display:flex;align-items:center;gap:4px;}
.gp-comment-more-btn:hover{background:rgba(255,107,53,0.08);}

/* 评论空状态 */
.gp-comment-empty{text-align:center;padding:40px 20px;color:var(--gp-text-tertiary);}
.gp-comment-empty i{font-size:2.5rem;display:block;margin-bottom:12px;opacity:0.3;}
.gp-comment-empty p{margin:0;font-size:0.85rem;}

/* 分页 */
.gp-comment-pager{display:flex;justify-content:center;gap:6px;padding:16px 0;flex-wrap:wrap;}
.gp-pager-btn{display:inline-flex;align-items:center;justify-content:center;min-width:34px;height:34px;border-radius:8px;border:1px solid var(--gp-border);background:var(--gp-bg-card);color:var(--gp-text-dim);font-size:0.75rem;text-decoration:none;transition:all 0.2s;cursor:pointer;padding:0 10px;font-family:inherit;}
.gp-pager-btn:hover{border-color:var(--gp-primary);color:var(--gp-primary);}
.gp-pager-btn.active{background:var(--gp-primary);border-color:var(--gp-primary);color:#fff;font-weight:700;}

/* Toast 提示 */
.gp-toast{position:fixed;top:20px;left:50%;transform:translateX(-50%);padding:10px 24px;background:var(--gp-primary,#6c5ce7);color:#fff;border-radius:20px;font-size:0.85rem;z-index:99999;box-shadow:0 4px 20px rgba(0,0,0,0.3);pointer-events:none;animation:gp-toast-in 0.3s ease;white-space:nowrap;}
.gp-toast-hide{opacity:0;transition:opacity 0.3s;}
@keyframes gp-toast-in{from{opacity:0;transform:translateX(-50%) translateY(-10px);}to{opacity:1;transform:translateX(-50%) translateY(0);}}

/* 评论元信息行 */
.gp-comment-meta{display:flex;align-items:center;gap:8px;margin-bottom:4px;flex-wrap:wrap;}
.gp-comment-author{font-size:0.82rem;font-weight:600;color:var(--gp-text-primary);}

/* 移动端适配 */
@media(max-width:767px){
  .gp-emoji-panel{width:240px;right:-60px;grid-template-columns:repeat(6,1fr);}
  .gp-comment-pin-badge{right:6px;font-size:0.6rem;padding:2px 8px;}
  .gp-comment-replies{margin-left:20px;padding-left:8px;}
  .gp-report-dialog{width:95%;padding:18px;}
  .gp-sort-tab{padding:4px 10px;font-size:0.72rem;}
}


@media print {
  .gp-nav,.gp-footer,.gp-sidebar,.gp-back-top,.gp-cookie-bar,.gp-mobile-bottom-nav,#articleProgressBar,#articleReadPercent,.gp-article-share,.gp-article-pager{display:none!important}
  body{background:#fff;color:#000;font-size:12pt}
}

/* ============================================
   30. 内联样式抽取 - 通用布局工具类
   用于替换模板中重复的内联 style 属性
   ============================================ */

/* 首页Hero区 */
.gp-hero-flex{display:flex;gap:var(--gp-space);align-items:stretch;}
.gp-hero-main{flex:1;min-width:0;width:0;}
.gp-hero-side{width:280px;flex-shrink:0;display:flex;flex-direction:column;gap:12px;}
.gp-hero-slide-default{height:340px;border-radius:var(--gp-radius);background:linear-gradient(135deg,#0f0c29,#1a1040,#0f132e);display:flex;align-items:center;position:relative;overflow:hidden;}
.gp-hero-slide-glow{position:absolute;inset:0;background:radial-gradient(ellipse at 30% 40%,rgba(255,107,53,0.15) 0%,transparent 60%),radial-gradient(ellipse at 70% 60%,rgba(78,140,255,0.12) 0%,transparent 60%);}
.gp-hero-slide-icon{position:absolute;right:-60px;top:50%;transform:translateY(-50%);font-size:14rem;opacity:0.04;color:#fff;}
.gp-hero-slide-content{position:relative;z-index:1;padding:50px 60px;max-width:480px;}
.gp-hero-slide-actions{display:flex;gap:10px;}

/* 通用页面容器偏移 */
.gp-page-offset{margin-top:var(--gp-nav-height);}

/* 双栏布局 */
.gp-dual-layout{display:grid;grid-template-columns:1fr 1fr;gap:var(--gp-space-lg);}

/* 4列网格（gap已由布局系统统一定义，此处不再重复覆盖） */

/* 图片占位符 */
.gp-img-placeholder{background:var(--gp-bg-input);display:flex;align-items:center;justify-content:center;color:var(--gp-text-tertiary);}

/* 游戏卡片空封面（统一样式，不再重复覆盖） */

/* 链接按钮outline白色 */
.gp-btn-outline-white{border-color:rgba(255,255,255,0.25);color:#fff;}

/* 空状态 */
.gp-empty-state{text-align:center;padding:100px 20px;min-height:50vh;display:flex;flex-direction:column;align-items:center;justify-content:center;}
.gp-empty-icon{font-size:5rem;opacity:0.1;display:block;}
.gp-empty-title{font-size:1.5rem;color:var(--gp-text-primary);margin:16px 0 8px;}
.gp-empty-desc{color:var(--gp-text-dim);max-width:400px;}

/* 通用flex横向 */
.gp-flex-row{display:flex;}
.gp-flex-center{display:flex;align-items:center;justify-content:center;}
.gp-flex-wrap{display:flex;flex-wrap:wrap;}
.gp-gap-xs{gap:6px;}
.gp-gap-sm{gap:12px;}
.gp-gap-md{gap:var(--gp-space);}
.gp-gap-lg{gap:var(--gp-space-lg);}

/* 文本对齐 */
.gp-text-center{text-align:center;}
.gp-text-dim{color:var(--gp-text-dim);}
.gp-text-muted{color:var(--gp-text-muted);}

/* 间距工具 */
.gp-mt-sm{margin-top:var(--gp-space-sm);}
.gp-mt-md{margin-top:var(--gp-space);}
.gp-mt-lg{margin-top:var(--gp-space-lg);}
.gp-mb-sm{margin-bottom:var(--gp-space-sm);}
.gp-mb-md{margin-bottom:var(--gp-space);}
.gp-mb-lg{margin-bottom:var(--gp-space-lg);}
.gp-p-sm{padding:var(--gp-space-sm);}
.gp-p-md{padding:var(--gp-space);}

/* 搜索页特殊样式 */
.gp-search-input-lg{position:relative;margin-bottom:8px;}
.gp-search-input-lg input{padding-left:50px;font-size:1.2rem;height:56px;}
.gp-search-input-lg i{position:absolute;left:20px;top:50%;transform:translateY(-50%);color:var(--gp-primary);font-size:1.2rem;}

/* 详情页cover区 */
.gp-cover-section{width:100%;}
.gp-cover-full{width:100%;height:auto;max-height:500px;object-fit:cover;display:block;border-radius:var(--gp-radius);}

/* 表单两栏 */
.gp-form-row{display:flex;gap:var(--gp-space-sm);}
.gp-form-row>*{flex:1;}

/* 友链区 */
.gp-links-row{display:flex;flex-wrap:wrap;gap:12px;}
.gp-friend-link-logo{width:16px;height:16px;border-radius:2px;object-fit:contain;vertical-align:middle;margin-right:2px;}

/* ====== 移动端触摸增强 ====== */
@media (max-width: 767px) {
  /* 确保所有可点击元素触摸目标 >= 48px */
  .gp-btn,
  .gp-btn-sm,
  .gp-btn-lg,
  .gp-subnav-item,
  a.gp-card,
  button,
  [role="button"] {
    min-height: 48px;
    min-width: 48px;
    padding-top: 10px;
    padding-bottom: 10px;
  }

  /* 导航链接增大触摸区 */
  .gp-nav-link {
    padding: 12px 8px;
    min-height: 48px;
    display: flex;
    align-items: center;
  }

  /* 表格行增大间距，便于触摸选择 */
  .gp-table td,
  .gp-table th {
    padding-top: 10px;
    padding-bottom: 10px;
  }

  /* 卡片内间距增大 */
  .gp-card-body {
    padding: 16px 12px;
  }

  /* 搜索按钮 */
  .gp-search-btn {
    min-height: 48px;
    padding: 0 20px;
  }

  /* 底部固定导航 */
  .gp-mobile-nav .gp-nav-item {
    padding: 6px 0;
    min-height: 56px;
  }
}

/* ====== 性能优化 ====== */
/* 使用 transform 代替 top/left 动画（GPU加速） */
.gp-card,
/* will-change 仅在 hover 时启用，减少 GPU 合成层数量 */
.gp-btn:hover,
.gp-nav-item:hover {
  will-change: transform;
}

/* 图片加载占位，防止布局偏移 */
img[loading="lazy"] {
  min-height: 1px;
  background: var(--gp-bg-input);
}

/* 减少重绘：固定尺寸元素使用 content-visibility */
.gp-card-grid > * {
  content-visibility: auto;
  contain-intrinsic-size: auto 300px;
}

/* 滚动性能 */
.gp-page-wrap {
  -webkit-overflow-scrolling: touch;
}

/* 暗色模式下的滚动条样式（仅Webkit） */
@media (prefers-color-scheme: dark) {
  ::-webkit-scrollbar {
    width: 8px;
    height: 8px;
  }
  ::-webkit-scrollbar-track {
    background: var(--gp-bg-root);
  }
  ::-webkit-scrollbar-thumb {
    background: var(--gp-text-tertiary);
    border-radius: 4px;
  }
  ::-webkit-scrollbar-thumb:hover {
    background: var(--gp-text-secondary);
  }
}

/* prefers-reduced-motion 用户偏好 */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
}

/* ============================================
   E-E-A-T 组件样式（EEATEnhancer 生成）
   使用 --gp-* CSS 变量适配暗色/亮色双模式
   ============================================ */
.eeat-author-box { transition: border-color var(--gp-transition); }
.eeat-author-box:hover { border-left-color: var(--gp-primary-light) !important; }
.eeat-fact-check { transition: border-color var(--gp-transition); }
.eeat-fact-check:hover { border-bottom-color: var(--gp-primary) !important; }
.eeat-sources a:hover { text-decoration: underline !important; }

/* ============================================
   百度SEO优化：内容时效性标记
   180天未更新的内容自动添加视觉标记
   ============================================ */
.gp-content-outdated {
  position: relative;
}
.gp-content-outdated::before {
  content: "⚠️ 本文发布时间较早，部分信息可能已过时";
  display: block;
  padding: 10px 16px;
  margin-bottom: 16px;
  background: rgba(255, 152, 0, 0.1);
  border: 1px solid rgba(255, 152, 0, 0.25);
  border-radius: var(--gp-radius-sm);
  font-size: 0.85rem;
  color: var(--gp-text-secondary);
}
[data-theme="light"] .gp-content-outdated::before {
  background: rgba(255, 152, 0, 0.08);
  border-color: rgba(255, 152, 0, 0.2);
}

/* ============================================
   百度闪电算法优化：骨架屏 prefers-reduced-motion
   ============================================ */
@media (prefers-reduced-motion: reduce) {
  .gp-skeleton {
    animation: none !important;
    background: var(--gp-bg-card-hover) !important;
  }
}

/* ============================================
   <picture> 标签全局样式（buildImg v4.0 生成）
   确保 picture 元素与 img 行为一致
   ============================================ */
picture { display: block; }
picture img { width: 100%; height: auto; display: block; }

/* 分页按钮移动端触摸友好（≥44px，百度白皮书要求≥48px可加分） */
@media (max-width: 767px) {
  .gp-pagination .gp-pagination-item,
  .gp-pagination .gp-pagination-link {
    min-width: 40px;
    min-height: 40px;
    font-size: 0.9rem;
  }
}

/* ============================================
   v4.0: 全站通知栏（后台可配置，Cookie记忆关闭）
   ============================================ */
.gp-site-notice {
  animation: gpNoticeSlideIn 0.4s ease-out;
}
@keyframes gpNoticeSlideIn {
  from { transform: translateY(-100%); opacity: 0; }
  to { transform: translateY(0); opacity: 1; }
}
.gp-site-notice a {
  color: #fff;
  text-decoration: underline;
  font-weight: 600;
}
@media (max-width: 767px) {
  .gp-site-notice { font-size: 0.8rem; padding: 10px 14px; }
}

/* ============================================
   v4.0: "加载更多"按钮（移动端友好分页）
   ============================================ */
.gp-load-more-wrapper {
  text-align: center;
  padding: 24px 0;
}
.gp-load-more-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 14px 36px;
  font-size: 0.95rem;
  font-weight: 600;
  color: var(--gp-text-secondary);
  background: var(--gp-bg-card);
  border: 1px solid var(--gp-border);
  border-radius: var(--gp-radius-full);
  cursor: pointer;
  transition: all var(--gp-transition);
  font-family: inherit;
}
.gp-load-more-btn:hover {
  color: var(--gp-primary);
  border-color: var(--gp-primary);
  background: var(--gp-bg-card-hover);
  transform: translateY(-2px);
  box-shadow: 0 4px 16px rgba(255,107,53,0.15);
}
.gp-load-more-count {
  font-size: 0.8rem;
  color: var(--gp-text-tertiary);
  font-weight: 400;
}
.gp-load-more-spinner {
  padding: 16px;
  color: var(--gp-text-tertiary);
  font-size: 0.9rem;
}
@media (max-width: 767px) {
  .gp-load-more-btn {
    width: calc(100% - 28px);
    justify-content: center;
    padding: 14px 20px;
    min-height: 48px;
    font-size: 0.9rem;
  }
}

/* ============================================
   Hero v2 — 全宽Banner + 3入口卡片
   ============================================ */
.gp-hero-v2{padding-top:var(--gp-nav-height);margin-bottom:var(--gp-space);}
.gp-hero-slide-inner-v2{position:absolute;inset:0;display:flex;align-items:flex-end;padding:40px 48px 80px;background:linear-gradient(0deg,rgba(0,0,0,0.45) 0%,rgba(0,0,0,0.1) 40%,transparent 100%);}
.gp-hero-content-v2{max-width:600px;}
.gp-hero-badge-v2{display:inline-block;padding:5px 14px;border-radius:var(--gp-radius-full);background:rgba(255,107,53,0.2);color:var(--gp-primary);font-size:0.72rem;font-weight:700;margin-bottom:12px;backdrop-filter:blur(4px);}
.gp-hero-title-v2{font-family:var(--gp-font-heading);font-size:2.2rem;font-weight:900;color:#fff;line-height:1.25;margin-bottom:8px;text-shadow:0 2px 20px rgba(0,0,0,0.4);}
.gp-hero-desc-v2{font-size:0.95rem;color:rgba(255,255,255,0.6);line-height:1.6;}
.gp-hero-nav{position:absolute;top:50%;transform:translateY(-50%);z-index:5;width:44px;height:44px;border-radius:50%;border:none;background:rgba(0,0,0,0.5);color:#fff;font-size:1rem;cursor:pointer;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity 0.3s;}
.gp-hero-v2:hover .gp-hero-nav{opacity:1;}
.gp-hero-prev{left:20px;}.gp-hero-next{right:20px;}
.gp-hero-entries{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:-30px;position:relative;z-index:2;padding:0 4px;}
.gp-hero-entry-card{display:flex;align-items:center;gap:12px;padding:16px 20px;background:var(--gp-glass-bg);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid var(--gp-glass-border);border-radius:var(--gp-radius);text-decoration:none;position:relative;overflow:hidden;transition:all var(--gp-transition);box-shadow:var(--gp-shadow);}
.gp-hero-entry-card:hover{transform:translateY(-3px);box-shadow:var(--gp-shadow-lg);border-color:var(--gp-primary);}
.gp-hero-entry-num{font-family:var(--gp-font-mono);font-size:1.5rem;font-weight:800;color:var(--gp-primary);opacity:0.3;flex-shrink:0;}
.gp-hero-entry-info{flex:1;min-width:0;}
.gp-hero-entry-title{font-size:0.88rem;font-weight:700;color:var(--gp-text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.gp-hero-entry-desc{font-size:0.7rem;color:var(--gp-text-tertiary);margin-top:2px;}

/* 快讯 v2（CSS跑马灯滚动） */
.gp-ticker-v2{background:linear-gradient(90deg,rgba(255,107,53,0.06),rgba(78,140,255,0.06));border-top:1px solid var(--gp-border);border-bottom:1px solid var(--gp-border);margin-top:var(--gp-space-sm);margin-bottom:var(--gp-space);overflow:hidden;}
.gp-ticker-inner-v2{display:flex;align-items:center;gap:14px;padding:12px 0;}
.gp-ticker-label-v2{display:flex;align-items:center;gap:6px;flex-shrink:0;padding:5px 16px;border-radius:var(--gp-radius-full);background:var(--gp-primary);color:#fff;font-size:0.72rem;font-weight:700;z-index:1;}
.gp-ticker-track-v2{flex:1;overflow:hidden;position:relative;height:24px;}
.gp-ticker-track-v2::after{content:'';position:absolute;right:0;top:0;bottom:0;width:80px;background:linear-gradient(to right,transparent,rgba(255,107,53,0.06));z-index:2;pointer-events:none;}
.gp-ticker-item-v2{white-space:nowrap;font-size:0.82rem;color:var(--gp-text-secondary);text-decoration:none;transition:color var(--gp-transition);display:inline-flex;align-items:center;padding:0 24px;}
.gp-ticker-item-v2:hover{color:var(--gp-primary);}
.gp-ticker-item-v2::after{content:'·';color:var(--gp-border);margin-left:24px;font-weight:700;}
.gp-ticker-item-v2:last-child::after{display:none;}
/* 跑马灯动画 */
.gp-ticker-scroll-wrap{display:flex;animation:gp-ticker-v2-scroll 40s linear infinite;width:max-content;}
.gp-ticker-scroll-wrap:hover{animation-play-state:paused;}
@keyframes gp-ticker-v2-scroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* 磁贴 Bento v2 */
.gp-tiles-bento{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:var(--gp-space);}
.gp-tile-bento{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:24px 16px;border-radius:var(--gp-radius);text-decoration:none;background:var(--gp-bg-card);border:1px solid var(--gp-border);transition:all var(--gp-transition);overflow:hidden;}
.gp-tile-bento::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:var(--tile-color,var(--gp-primary));border-radius:var(--gp-radius) var(--gp-radius) 0 0;opacity:0;transition:opacity var(--gp-transition);}
.gp-tile-bento:hover::before{opacity:1;}
.gp-tile-bento:hover{transform:translateY(-3px);border-color:var(--tile-color,var(--gp-primary));box-shadow:0 8px 24px rgba(0,0,0,0.2);}
.gp-tile-large{grid-row:span 2;padding:32px 20px;}
.gp-tile-bento-icon{width:52px;height:52px;border-radius:var(--gp-radius-sm);background:color-mix(in srgb,var(--tile-color,var(--gp-primary)) 15%,transparent);display:flex;align-items:center;justify-content:center;font-size:1.3rem;color:var(--tile-color,var(--gp-primary));}
.gp-tile-large .gp-tile-bento-icon{width:68px;height:68px;font-size:1.8rem;}
.gp-tile-bento-text{text-align:center;}
.gp-tile-bento-title{font-size:0.82rem;font-weight:700;color:var(--gp-text-primary);}
.gp-tile-large .gp-tile-bento-title{font-size:0.95rem;}
.gp-tile-bento-count{font-size:0.68rem;color:var(--gp-text-tertiary);margin-top:3px;display:block;}

/* 模块分隔线 */
.gp-section-divider{height:1px;background:linear-gradient(90deg,transparent,var(--gp-border),transparent);margin:var(--gp-space) 0;}

/* Hero v2 响应式 */
@media(max-width:1023px){
  .gp-hero-slide-inner-v2{padding:30px 32px 70px;}
  .gp-hero-title-v2{font-size:1.6rem;}
  .gp-hero-entries{grid-template-columns:repeat(2,1fr);}
  .gp-tiles-bento{grid-template-columns:repeat(3,1fr);}
  .gp-tile-large{grid-row:span 1;}
}
@media(max-width:767px){
  .gp-hero-v2{padding-top:0;margin-bottom:var(--gp-space-sm);}
  .gp-hero-slide-inner-v2{padding:20px 16px 60px;}
  .gp-hero-title-v2{font-size:1.25rem;}
  .gp-hero-desc-v2{font-size:0.82rem;}
  .gp-hero-entries{grid-template-columns:1fr;margin-top:-20px;gap:8px;}
  .gp-hero-entry-card{padding:12px 14px;}
  .gp-tiles-bento{grid-template-columns:repeat(2,1fr);gap:8px;}
  .gp-tile-bento{padding:16px 10px;gap:6px;}
  .gp-tile-large .gp-tile-bento-icon{width:48px;height:48px;font-size:1.3rem;}
  .gp-ticker-v2{margin-top:var(--gp-space-sm);margin-bottom:var(--gp-space-sm);}
}

/* 搜索框 v2 */
.gp-search-input-v2{
  width:100%;padding:14px 16px 14px 44px;font-size:1.05rem;
  background:var(--gp-bg-card);border:2px solid var(--gp-border);
  border-radius:var(--gp-radius-full);color:var(--gp-text-primary);
  outline:none;transition:border-color var(--gp-transition),box-shadow var(--gp-transition);
}
.gp-search-input-v2:focus{border-color:var(--gp-primary);box-shadow:0 0 0 3px rgba(255,107,53,0.1);}
.gp-search-input-v2::placeholder{color:var(--gp-text-tertiary);}

/* 搜索高亮 */
.gp-search-highlight{background:rgba(255,107,53,0.2);color:var(--gp-primary);padding:1px 3px;border-radius:3px;font-weight:600;}

/* 正文区响应式 */
@media(max-width:767px){
  .gp-article-body-wrapper{max-width:100%!important;padding:0;}
  .gp-article-body-wrapper .gp-detail-content{font-size:1.05rem;line-height:2;}
}

/* ============================================
   移动端侧边栏浮层面板
   ============================================ */
.gp-mobile-sidebar-panel{
  display:none;position:fixed;top:0;right:-100%;width:85%;max-width:380px;
  height:100%;z-index:1002;background:var(--gp-bg-surface);
  box-shadow:-4px 0 24px rgba(0,0,0,0.4);transition:right 0.3s ease;
  overflow-y:auto;padding:0;
}
.gp-mobile-sidebar-panel.open{right:0;}
.gp-mobile-sidebar-header{
  display:flex;align-items:center;justify-content:space-between;
  padding:16px 20px;border-bottom:1px solid var(--gp-border);
  font-size:0.95rem;font-weight:700;color:var(--gp-text-primary);
  position:sticky;top:0;background:var(--gp-bg-surface);z-index:1;
}
.gp-mobile-sidebar-header button{
  width:36px;height:36px;border-radius:50%;border:none;
  background:var(--gp-bg-input);color:var(--gp-text-secondary);
  font-size:1rem;cursor:pointer;display:flex;align-items:center;justify-content:center;
}
.gp-mobile-sidebar-body{padding:16px;}
.gp-mobile-sidebar-toggle{
  display:none;position:fixed;bottom:80px;right:16px;z-index:901;
  width:44px;height:44px;border-radius:50%;
  background:var(--gp-primary);color:#fff;border:none;
  font-size:1.1rem;cursor:pointer;box-shadow:0 4px 16px rgba(255,107,53,0.4);
  transition:all var(--gp-transition);
}
.gp-mobile-sidebar-toggle:hover{transform:scale(1.1);}
.gp-mobile-sidebar-toggle:active{transform:scale(0.95);}
@media(max-width:767px){
  .gp-mobile-sidebar-panel{display:block;}
  .gp-mobile-sidebar-toggle{display:flex;align-items:center;justify-content:center;}
}

/* ====== 从 index.css 迁移的游戏详情页 v5.0 样式 ====== */
/* ============================================
   18. 游戏详情页 v5.0 — 经典上下布局
   ============================================ */

/* 封面大图 — 响应式aspect-ratio替代固定max-height */
.gp-detail-cover-section{width:100%;overflow:hidden;border-radius:0 0 16px 16px;}
.gp-detail-cover-full{width:100%;aspect-ratio:16/9;max-height:50vh;object-fit:cover;display:block;background:var(--gp-bg-input);}

/* 详情文章容器 */
.gp-detail-article{background:var(--gp-bg-card);border:1px solid var(--gp-border);border-radius:16px;overflow:hidden;margin-top:var(--gp-space);}

/* 标题头部 */
.gp-detail-header{padding:28px 32px;border-bottom:1px solid var(--gp-border);}
.gp-detail-title{font-family:var(--gp-font-heading);font-size:1.8rem;font-weight:800;color:var(--gp-text-primary);margin:0 0 4px;line-height:1.3;}
.gp-detail-subtitle{font-size:0.82rem;color:var(--gp-text-dim);margin:0 0 16px;}

/* 元数据信息条 */
.gp-detail-meta-bar{display:flex;flex-wrap:wrap;gap:0;border:1px solid var(--gp-border);border-radius:10px;overflow:hidden;margin-bottom:16px;}
.gp-detail-meta-item{padding:10px 16px;border-right:1px solid var(--gp-border);display:flex;flex-direction:column;gap:2px;min-width:80px;}
.gp-detail-meta-item:last-child{border-right:none;}
.gp-detail-meta-label{font-size:0.6rem;color:var(--gp-text-muted);text-transform:uppercase;letter-spacing:0.05em;}
.gp-detail-meta-value{font-size:0.78rem;font-weight:600;color:var(--gp-text-primary);}

/* 评分在元数据条中 */
.gp-detail-rating{flex-direction:row;align-items:center;gap:10px;min-width:200px;}
.gp-detail-rating-score{font-size:1.6rem;font-weight:800;color:var(--gp-primary);line-height:1;}
.gp-detail-stars{display:flex;gap:1px;}
.gp-detail-stars i{font-size:0.65rem;color:#f59e0b;}
.gp-detail-rating-count{font-size:0.65rem;color:var(--gp-text-dim);}

/* 视频预告片 */
.gp-detail-video{margin:16px 0;}
.gp-detail-video-inner{position:relative;padding-bottom:56.25%;height:0;overflow:hidden;border-radius:12px;background:#000;}
.gp-detail-video-inner iframe,
.gp-detail-video-inner video{position:absolute;top:0;left:0;width:100%;height:100%;border:0;border-radius:12px;}

/* 操作按钮行 */
.gp-detail-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;}
.gp-detail-dl-btn{padding:12px 28px;border-radius:8px;border:none;background:linear-gradient(135deg,var(--gp-primary),var(--gp-primary-dark));color:#fff;font-size:0.9rem;font-weight:700;cursor:pointer;box-shadow:0 4px 16px var(--gp-primary-glow);text-decoration:none;display:inline-flex;align-items:center;gap:8px;transition:all 0.2s;font-family:inherit;}
.gp-detail-dl-btn:hover{transform:translateY(-2px);box-shadow:0 8px 24px var(--gp-primary-glow);color:#fff;}
.gp-detail-dl-btn.disabled{opacity:0.5;cursor:not-allowed;pointer-events:none;box-shadow:none;}
.gp-detail-dl-wrap{position:relative;}
.gp-detail-dl-menu{display:none;position:absolute;top:100%;left:0;min-width:200px;background:var(--gp-bg-elevated);border:1px solid var(--gp-border);border-radius:8px;padding:4px;z-index:20;margin-top:4px;box-shadow:0 8px 24px rgba(0,0,0,0.4);}
.gp-detail-dl-menu a{display:block;padding:10px 16px;font-size:0.8rem;color:var(--gp-text);text-decoration:none;border-radius:6px;transition:all 0.15s;}
.gp-detail-dl-menu a:hover{background:rgba(255,107,53,0.08);color:var(--gp-primary);}
.gp-detail-fav-btn,.gp-detail-compare-btn,.gp-detail-share-btn{padding:10px 18px;border-radius:8px;border:1px solid var(--gp-border);background:var(--gp-bg-input);color:var(--gp-text-dim);cursor:pointer;font-size:0.8rem;font-weight:600;display:inline-flex;align-items:center;gap:6px;transition:all 0.2s;font-family:inherit;}
.gp-detail-fav-btn:hover,.gp-detail-compare-btn:hover,.gp-detail-share-btn:hover{border-color:var(--gp-primary);color:var(--gp-primary);background:rgba(255,107,53,0.05);}
.gp-detail-fav-btn.faved{background:rgba(255,107,53,0.1);border-color:var(--gp-primary);color:var(--gp-primary);}
.gp-detail-compare-btn.active{background:rgba(59,130,246,0.1);border-color:#3b82f6;color:#3b82f6;}
.gp-detail-fav-btn em{font-style:normal;font-size:0.65rem;opacity:0.7;}

/* 正文区域 */
.gp-detail-body{padding:28px 32px;border-bottom:1px solid var(--gp-border);}
.gp-detail-body:last-child{border-bottom:none;}
.gp-detail-section-title{font-family:var(--gp-font-heading);font-size:1.15rem;font-weight:700;color:var(--gp-text-primary);margin:0 0 18px;display:flex;align-items:center;gap:8px;}
.gp-detail-section-count{font-size:0.7rem;color:var(--gp-text-dim);font-weight:400;margin-left:4px;}

/* 正文富文本 */
.gp-detail-content{font-size:1rem;line-height:2;color:var(--gp-text-secondary);word-break:break-word;}
.gp-detail-content h2{font-size:1.3rem;font-weight:700;color:var(--gp-text-primary);margin:28px 0 14px;padding-left:12px;border-left:3px solid var(--gp-primary);}
.gp-detail-content h3{font-size:1.1rem;font-weight:600;color:var(--gp-text-primary);margin:20px 0 10px;}
.gp-detail-content p{margin:0 0 16px;}
.gp-detail-content img{border-radius:10px;max-width:100%;height:auto;margin:16px auto;display:block;}
.gp-detail-content a{color:var(--gp-primary);text-decoration:none;border-bottom:1px dashed rgba(255,107,53,0.3);}
.gp-detail-content a:hover{border-bottom-color:var(--gp-primary);}
.gp-detail-content strong{color:var(--gp-text-primary);font-weight:700;}
.gp-detail-content ul,.gp-detail-content ol{margin:12px 0;padding-left:24px;}
.gp-detail-content li{margin:6px 0;line-height:1.8;}
.gp-detail-content blockquote{margin:16px 0;padding:14px 20px;border-left:3px solid var(--gp-primary);background:rgba(255,107,53,0.04);border-radius:0 8px 8px 0;color:var(--gp-text-dim);}

/* 截图网格 — aspect-ratio自适应替代固定高度 */
.gp-screenshots-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px;}
.gp-screenshot-item{position:relative;border-radius:10px;overflow:hidden;cursor:pointer;aspect-ratio:16/9;transition:all 0.2s;}
.gp-screenshot-item:hover{transform:translateY(-2px);box-shadow:0 8px 24px rgba(0,0,0,0.3);}
.gp-screenshot-item img{width:100%;height:100%;object-fit:cover;display:block;}
.gp-screenshot-zoom{position:absolute;inset:0;background:rgba(0,0,0,0.5);display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity 0.2s;font-size:1.5rem;color:#fff;}
.gp-screenshot-item:hover .gp-screenshot-zoom{opacity:1;}

/* 详细信息表格 */
.gp-detail-info-table{width:100%;border-collapse:collapse;}
.gp-detail-info-table tr{border-bottom:1px solid rgba(255,255,255,0.03);}
.gp-detail-info-table tr:last-child{border-bottom:none;}
.gp-dit-label{width:100px;padding:10px 0;font-size:0.72rem;color:var(--gp-text-muted);font-weight:600;vertical-align:top;}
.gp-dit-value{padding:10px 0;font-size:0.82rem;color:var(--gp-text-primary);line-height:1.6;}

/* 标签 */
.gp-tag-sm{display:inline-block;font-size:0.65rem;padding:3px 10px;border-radius:12px;background:rgba(255,107,53,0.08);color:var(--gp-primary);text-decoration:none;margin:2px;transition:all 0.15s;}
.gp-tag-sm:hover{background:rgba(255,107,53,0.15);}

/* 相关攻略 */
.gp-related-articles{display:flex;flex-direction:column;gap:10px;}
.gp-ra-card{display:flex;gap:14px;padding:12px;background:var(--gp-bg-input);border-radius:10px;transition:all 0.2s;border:1px solid transparent;}
.gp-ra-card:hover{border-color:var(--gp-border);background:var(--gp-bg-card-hover);}
.gp-ra-card-cover{width:clamp(100px,20%,140px);aspect-ratio:16/10;border-radius:8px;overflow:hidden;flex-shrink:0;}
.gp-ra-card-cover img{width:100%;height:100%;object-fit:cover;}
.gp-ra-card-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:6px;}
.gp-ra-card-title{font-size:0.85rem;font-weight:600;margin:0;line-height:1.4;}
.gp-ra-card-title a{color:var(--gp-text);text-decoration:none;}
.gp-ra-card-title a:hover{color:var(--gp-primary);}
.gp-ra-card-desc{font-size:0.72rem;color:var(--gp-text-dim);margin:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.gp-ra-card-meta{font-size:0.65rem;color:var(--gp-text-muted);display:flex;gap:10px;}
.gp-ra-card-meta i{margin-right:3px;}

/* 灯箱 */
.gp-lightbox{position:fixed;inset:0;background:rgba(0,0,0,0.95);z-index:10002;display:none;align-items:center;justify-content:center;}
.gp-lightbox.open{display:flex;}
.gp-lightbox img{max-width:90vw;max-height:85vh;border-radius:8px;box-shadow:0 8px 40px rgba(0,0,0,0.6);}
.gp-lightbox-close{position:absolute;top:16px;right:16px;width:44px;height:44px;border-radius:50%;border:none;background:rgba(255,255,255,0.1);color:#fff;font-size:1.4rem;cursor:pointer;z-index:5;}
.gp-lightbox-close:hover{background:rgba(255,255,255,0.2);}
.gp-lightbox-prev,.gp-lightbox-next{position:absolute;top:50%;transform:translateY(-50%);width:44px;height:44px;border-radius:50%;border:none;background:rgba(255,255,255,0.1);color:#fff;font-size:1rem;cursor:pointer;z-index:5;transition:background 0.2s;}
.gp-lightbox-prev{left:16px;}
.gp-lightbox-next{right:16px;}
.gp-lightbox-prev:hover,.gp-lightbox-next:hover{background:rgba(255,255,255,0.25);}
.gp-lightbox-count{position:absolute;bottom:20px;left:50%;transform:translateX(-50%);color:rgba(255,255,255,0.5);font-size:0.8rem;z-index:5;}

/* 评论表单 */
.gp-comment-form-box{background:var(--gp-bg-input);border:1px solid var(--gp-border);border-radius:12px;padding:20px;margin-bottom:20px;}
.gp-comment-form-hd{font-size:0.82rem;font-weight:700;color:var(--gp-text);margin:0 0 12px;display:flex;align-items:center;gap:8px;}
.gp-comment-form-hd i{color:var(--gp-primary);}
.gp-comment-form-inputs{display:flex;gap:10px;margin-bottom:10px;}
.gp-comment-form-inputs input{flex:1;padding:10px 14px;background:var(--gp-bg-root);border:1px solid var(--gp-border);border-radius:8px;color:var(--gp-text);font-size:0.78rem;font-family:inherit;transition:border-color 0.2s;}
.gp-comment-form-inputs input:focus{border-color:var(--gp-primary);outline:none;}
.gp-comment-form-box textarea{width:100%;padding:12px 14px;background:var(--gp-bg-root);border:1px solid var(--gp-border);border-radius:8px;color:var(--gp-text);font-size:0.82rem;resize:vertical;min-height:80px;font-family:inherit;transition:border-color 0.2s;box-sizing:border-box;line-height:1.6;}
.gp-comment-form-box textarea:focus{border-color:var(--gp-primary);outline:none;}
.gp-comment-form-bar{display:flex;align-items:center;justify-content:space-between;margin-top:10px;flex-wrap:wrap;gap:10px;}
.gp-comment-form-tip{font-size:0.62rem;color:var(--gp-text-muted);}
.gp-comment-msg{text-align:center;padding:8px;border-radius:6px;font-size:0.7rem;margin-top:8px;}
.gp-comment-msg-success{background:rgba(34,197,94,0.1);color:#22c55e;}
.gp-comment-msg-error{background:rgba(239,68,68,0.1);color:#ef4444;}

/* 评论列表 */
.gp-comment-list{display:flex;flex-direction:column;}
.gp-comment-card{display:flex;gap:12px;padding:16px 0;border-bottom:1px solid var(--gp-border);}
.gp-comment-card:last-child{border-bottom:none;}
.gp-comment-card-avatar{width:36px;height:36px;border-radius:50%;background:var(--gp-primary);color:#fff;display:flex;align-items:center;justify-content:center;font-size:0.75rem;font-weight:700;flex-shrink:0;}
.gp-comment-card-body{flex:1;min-width:0;}
.gp-comment-card-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:4px;flex-wrap:wrap;gap:6px;}
.gp-comment-card-top strong{font-size:0.78rem;color:var(--gp-text);}
.gp-comment-card-top time{font-size:0.62rem;color:var(--gp-text-muted);}
.gp-comment-card-text{font-size:0.8rem;color:var(--gp-text-dim);line-height:1.7;margin:0;}
.gp-comment-card-footer{display:flex;gap:12px;margin-top:6px;}
.gp-comment-like-btn{background:none;border:none;color:var(--gp-text-muted);cursor:pointer;font-size:0.68rem;display:flex;align-items:center;gap:4px;padding:2px 0;font-family:inherit;}
.gp-comment-like-btn:hover,.gp-comment-like-btn.liked{color:var(--gp-primary);}
.gp-comment-empty-state{text-align:center;padding:40px 20px;color:var(--gp-text-muted);}
.gp-comment-empty-icon{font-size:2.5rem;display:block;margin-bottom:8px;opacity:0.3;}
.gp-comment-pager{display:flex;justify-content:center;gap:6px;padding:16px 0;}
.gp-pager-btn{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:8px;border:1px solid var(--gp-border);background:var(--gp-bg-card);color:var(--gp-text-dim);font-size:0.75rem;text-decoration:none;transition:all 0.2s;}
.gp-pager-btn:hover{border-color:var(--gp-primary);color:var(--gp-primary);}
.gp-pager-btn.active{background:var(--gp-primary);border-color:var(--gp-primary);color:#fff;font-weight:700;}

/* 分享弹窗 */
.gp-share-overlay{position:fixed;inset:0;background:rgba(0,0,0,0.7);z-index:10003;display:none;align-items:center;justify-content:center;}
.gp-share-overlay.open{display:flex;}
.gp-share-panel{background:var(--gp-bg-card);border:1px solid var(--gp-border);border-radius:16px;padding:28px;width:90%;max-width:420px;box-shadow:0 16px 48px rgba(0,0,0,0.5);}
.gp-share-panel h3{font-size:0.95rem;font-weight:700;color:var(--gp-text);margin:0 0 16px;text-align:center;}
.gp-share-url-row{display:flex;gap:8px;margin-bottom:16px;}
.gp-share-url-row input{flex:1;padding:10px 14px;background:var(--gp-bg-input);border:1px solid var(--gp-border);border-radius:8px;color:var(--gp-text);font-size:0.7rem;font-family:monospace;}
.gp-share-btns{display:flex;gap:10px;justify-content:center;}
.gp-share-sns{display:flex;align-items:center;gap:8px;padding:10px 20px;border-radius:10px;text-decoration:none;font-size:0.8rem;font-weight:600;transition:all 0.2s;color:#fff;font-family:inherit;}
.gp-share-sns.weibo{background:#e6162d;}
.gp-share-sns.weibo:hover{opacity:0.9;}
.gp-share-sns.copy{background:var(--gp-bg-input);border:1px solid var(--gp-border);color:var(--gp-text);cursor:pointer;}
.gp-share-sns.copy:hover{background:var(--gp-bg-hover);}

/* ============================================
   详情页UI增强 v2.0 — 霓虹装饰 + 交互优化
   ============================================ */

/* --- 游戏标题霓虹下划线 --- */
.gdi-title-row h1{position:relative;display:inline-block;}
.gdi-title-row h1::after{content:'';position:absolute;bottom:-6px;left:0;width:60px;height:3px;border-radius:2px;background:linear-gradient(90deg,var(--gp-primary),var(--gp-accent));box-shadow:0 0 10px var(--gp-primary-glow);}

/* --- 下载按钮脉冲 --- */
@keyframes gp-dl-pulse{0%,100%{box-shadow:0 4px 16px var(--gp-primary-glow)}50%{box-shadow:0 4px 32px var(--gp-primary-glow),0 0 48px var(--gp-accent-glow)}}
.gds-dl-btn,.gdb-dl-btn{animation:gp-dl-pulse 2.5s ease-in-out infinite;}
@media(prefers-reduced-motion:reduce){.gds-dl-btn,.gdb-dl-btn{animation:none!important}}

/* --- 评分徽章发光 --- */
.gp-rating-badge{box-shadow:0 0 16px rgba(255,107,53,0.15)}

/* --- 相关推荐卡片悬浮增强 --- */
.gp-related-card{transition:transform .35s cubic-bezier(.34,1.56,.64,1),box-shadow .35s ease,border-color .35s ease}
.gp-related-card:hover{transform:translateY(-4px);box-shadow:0 8px 24px rgba(0,0,0,.25),0 0 0 1px var(--gp-primary-glow);border-color:var(--gp-primary)}
