/* ============================================================
   polish.css — PC 前台视觉精修层（只调质感，不动布局骨架）
   挂载位置：includes/header.html 所有页级样式之后
   ============================================================ */

/* ---------- 全局质感 ---------- */
::selection { background: rgba(227, 11, 32, .12); }
body { -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }
::-webkit-scrollbar { width: 10px; height: 10px; }
::-webkit-scrollbar-track { background: transparent; }
::-webkit-scrollbar-thumb { background: #d9dde3; border-radius: 6px; border: 2px solid transparent; background-clip: content-box; }
::-webkit-scrollbar-thumb:hover { background-color: #b6bec9; }

/* ---------- 顶部导航 ---------- */
.header { box-shadow: 0 2px 12px rgba(19, 111, 184, .18); }
.header .typeArea .navbar ul li a { border-radius: 4px; }

/* ---------- 首页区块标题统一红色强调条 ---------- */
.section .title, .headline .title { position: relative; }

/* ---------- 热门推荐卡片 ---------- */
.rec-section { margin-top: 30px; }
.rec-section .rec-header { display: flex; align-items: center; }
.rec-section .rec-section-title { position: relative; padding-left: 14px; margin: 0; font-size: 22px; }
.rec-section .rec-section-title::before {
	content: ''; position: absolute; left: 0; top: 50%; transform: translateY(-50%);
	width: 4px; height: 20px; border-radius: 2px; background: var(--color-primary);
}
.rec-section .rec-refresh { margin-left: auto; color: var(--color-text-muted); transition: color .2s ease; }
.rec-section .rec-refresh:hover { color: var(--color-primary); }
/* 容器布局不动(避免破坏JS渲染网格)，只做推荐模块卡片层质感，收窄到rec上下文防止误伤其它页面 */
.rec-section .image-card, .details-right #recommendFeed .image-card, .details-right .image-card {
	background: #fff;
	border-radius: var(--radius-md); overflow: hidden; box-shadow: var(--shadow-sm);
	transition: transform .25s ease, box-shadow .25s ease;
}
.rec-section .image-card:hover, .details-right #recommendFeed .image-card:hover, .details-right .image-card:hover { transform: translateY(-4px); box-shadow: var(--shadow-md); }
.rec-section .image-card .image, .details-right .image-card .image { overflow: hidden; }
.rec-section .image-card img, .details-right .image-card img { transition: transform .4s ease; }
.rec-section .image-card:hover img, .details-right .image-card:hover img { transform: scale(1.04); }
.rec-section .image-card .image-card-title, .details-right .image-card .image-card-title { transition: color .2s ease; }
.rec-section .image-card:hover .image-card-title, .details-right .image-card:hover .image-card-title { color: var(--color-primary); }
.rec-section .image-card .content-stats, .details-right .image-card .content-stats { color: var(--color-text-muted); }

/* ---------- 频道列表页 ---------- */
.main .news-left .news-header { border-radius: var(--radius-md); overflow: hidden; }
.main .news-left .item { position: relative; transition: background-color .2s ease; }
.main .news-left .item::after {
	content: ''; position: absolute; left: 0; right: 20px; bottom: -1px; height: 2px;
	background: var(--color-primary); transform: scaleX(0); transform-origin: left center;
	transition: transform .25s ease;
}
.main .news-left .item:hover::after { transform: scaleX(1); }
.main .news-left .item .item-left img { border-radius: var(--radius-md); transition: transform .4s ease, box-shadow .25s ease; }
.main .news-left .item:hover .item-left img { transform: scale(1.02); box-shadow: var(--shadow-sm); }
.main .news-left .item .item-right .rest-text { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; line-height: 22px; height: auto; }

/* ---------- 频道列表页 · 悬停红线统一（视频/图集/下载/文库） ---------- */
/* 卡片式列表统一补充定位锚点（video-item 主样式已自带 relative，不重复） */
.container .right .newslist-item,
.container .download-left .download-list .download-item,
.library-top .library-boutique .boutique-content ul li,
.rjgdys-bottom ul li,
.library-bottom ul li {
	position: relative;
}
/* 卡片式列表（视频/精品文库）：红线覆盖卡片底边框，同文章列表 */
.container .right .video-list .video-left .video-item::after,
.library-top .library-boutique .boutique-content ul li::after {
	content: ''; position: absolute; left: 0; right: 0; bottom: -1px; height: 2px;
	background: var(--color-primary); border-radius: 0 0 4px 4px;
	transform: scaleX(0); transform-origin: left center;
	transition: transform .25s ease;
}
.container .right .video-list .video-left .video-item:hover::after,
.library-top .library-boutique .boutique-content ul li:hover::after {
	transform: scaleX(1);
}
/* 卡片式列表（图集/精品软件）：卡片带 overflow:hidden（overflow 公共类），红线贴内底边防裁切 */
.container .right .newslist-item::after,
.container .download-left .download-list .download-item::after {
	content: ''; position: absolute; left: 0; right: 0; bottom: 0; height: 2px;
	background: var(--color-primary); border-radius: 0 0 4px 4px;
	transform: scaleX(0); transform-origin: left center;
	transition: transform .25s ease;
}
.container .right .newslist-item:hover::after,
.container .download-left .download-list .download-item:hover::after {
	transform: scaleX(1);
}
/* 行式列表（下载-更多软件/文库-更多文库）：与文章列表同款，红线覆盖底部分隔线 */
.rjgdys-bottom ul li::after,
.library-bottom ul li::after {
	content: ''; position: absolute; left: 0; right: 20px; bottom: -1px; height: 2px;
	background: var(--color-primary); transform: scaleX(0); transform-origin: left center;
	transition: transform .25s ease;
}
.rjgdys-bottom ul li:hover::after,
.library-bottom ul li:hover::after {
	transform: scaleX(1);
}

/* 右侧热榜 */
.main .news-right { border-radius: var(--radius-md); box-shadow: var(--shadow-sm); overflow: hidden; }

/* ---------- 文章详情页 ---------- */
.container .details-left .big-title { line-height: 1.5; letter-spacing: .5px; margin-top: 8px; }
.container .details-left .main-text {
	background: #fff; border-radius: var(--radius-lg); box-shadow: var(--shadow-sm); padding: 30px 0 36px;
}
.container .details-left .main-text .right-text .intro {
	border-radius: var(--radius-md); border-left: 4px solid var(--color-primary);
	background: linear-gradient(90deg, #fff7f7, var(--color-bg-light)); padding: 22px 30px; margin-top: 30px;
}
.container .details-left .main-text .right-text .context { font-size: 17px; line-height: 2; color: #2f2f2f; letter-spacing: .3px; }
.container .details-left .main-text .right-text .context p { margin: 0 0 1.3em; }
.container .details-left .main-text .right-text .context img { border-radius: var(--radius-md); box-shadow: var(--shadow-sm); }
.container .details-left .main-text .right-text .context blockquote { border-left: 4px solid var(--color-primary); background: var(--color-bg-light); border-radius: 0 var(--radius-sm) var(--radius-sm) 0; }
.container .details-left .main-text .left-share { padding-right: 28px; }
.container .details-left .main-text .left-share i { transition: color .2s ease, transform .2s ease; }
.container .details-left .main-text .left-share i:hover { transform: translateY(-2px); }

/* 上下篇 */
.container .details-left .page-link > div { border-radius: var(--radius-md); transition: box-shadow .2s ease, color .2s ease; }
.container .details-left .page-link > div:hover { box-shadow: var(--shadow-sm); color: var(--color-primary); }

/* 侧栏卡片 */
.container .details-right > div { border-radius: var(--radius-md); box-shadow: var(--shadow-sm); overflow: hidden; }
.container .details-right .sorting .item { transition: background-color .2s ease; border-radius: var(--radius-sm); }
.container .details-right .sorting .item:hover { background-color: var(--color-bg-light); }

/* ---------- 页脚 ---------- */
.footer { margin-top: 60px; }

/* ---------- 低视力友好：焦点可见 ---------- */
a:focus-visible, button:focus-visible, input:focus-visible {
	outline: 2px solid var(--color-primary); outline-offset: 2px; border-radius: 2px;
}
