/* kunpeng 通用样式 (首页/列表页/文章页共用) */
.rounded-main { border-radius: 0.35rem; }
.placeholder-img { background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); display: flex; align-items: center; justify-content: center; }
.footer-deepblue { background: #0f172a; }
.line-clamp-2 { overflow: hidden; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.line-clamp-1 { overflow: hidden; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 1; }
.article-thumb { width: 195px; height: 130px; }
.recommend-thumb { width: 100px; height: 66px; }
/* 左侧导航 */
.left-nav { width:180px; flex-shrink:0; position:sticky; top:76px; align-self:flex-start; height:fit-content; max-height:calc(100vh - 96px); overflow-y:auto; padding-right:8px; }
@media (max-width:1024px){ .left-nav{display:none;} }
.nav-item-active { background-color:#eef2ff; color:#2563eb; font-weight:500; }
.sub-menu { max-height:0; overflow:hidden; transition:max-height 0.25s ease-out; padding-left:1.5rem; }
.sub-menu.open { max-height:500px; transition:max-height 0.35s ease-in; }
.sub-menu li a { font-size:0.8rem; padding:0.4rem 0.75rem; border-radius:0.35rem; }
.has-submenu > .menu-toggle-icon { transition:transform 0.2s; }
.has-submenu.open > .menu-toggle-icon { transform:rotate(90deg); }
/* 顶部导航 */
#topnav-ul, #topnav-ul li, #topnav-m, #topnav-m li { list-style:none; margin:0; padding:0; }
#topnav-ul > li { position:relative; }
#topnav-ul > li > a { display:inline-flex; align-items:center; gap:0.25rem; padding:0.375rem 1rem; border-radius:9999px; font-size:0.875rem; color:#4b5563; transition:all 0.2s; text-decoration:none; white-space:nowrap; }
#topnav-ul > li > a:hover { color:#2563eb; background:#eff6ff; }
#topnav-ul > li:nth-child(2) > a:hover { color:#059669; background:#d1fae5; }
#topnav-ul > li:nth-child(3) > a:hover { color:#7c3aed; background:#ede9fe; }
#topnav-ul > li:nth-child(4) > a:hover { color:#ea580c; background:#fff7ed; }
#topnav-ul > li:nth-child(5) > a:hover { color:#e11d48; background:#ffe4e6; }
#topnav-ul > li:nth-child(6) > a:hover { color:#0891b2; background:#ecfeff; }
#topnav-ul > li:nth-child(7) > a:hover { color:#d97706; background:#fffbeb; }
#topnav-ul > li:nth-child(8) > a:hover { color:#db2777; background:#fdf2f8; }
#topnav-ul > li:nth-child(9) > a:hover { color:#4f46e5; background:#eef2ff; }
#topnav-ul > li:nth-child(10)> a:hover { color:#047857; background:#ecfdf5; }
#topnav-ul > li > ul { position:absolute; top:100%; left:0; background:rgba(255,255,255,0.98); backdrop-filter:blur(12px); border-radius:0.35rem; box-shadow:0 12px 28px rgba(0,0,0,0.08); min-width:140px; padding:0.5rem 0; opacity:0; visibility:hidden; transform:translateY(4px); transition:all 0.2s ease; z-index:60; border:1px solid rgba(0,0,0,0.05); }
#topnav-ul > li:hover > ul { opacity:1; visibility:visible; transform:translateY(0); }
#topnav-ul > li > ul > li { display:block; }
#topnav-ul > li > ul > li > a { display:block; padding:0.5rem 1rem; font-size:0.85rem; color:#374151; transition:all 0.15s; text-decoration:none; white-space:nowrap; }
#topnav-ul > li > ul > li > a:hover { background-color:#f3f4f6; color:#2563eb; }
#topnav-m li a { display:block; padding:0.25rem 0.75rem; border-radius:9999px; font-size:0.75rem; color:#4b5563; white-space:nowrap; transition:all 0.2s; text-decoration:none; }
#topnav-m li a:hover { color:#2563eb; background:#eff6ff; }
#topnav-m li ul { display:none; }
.prose img, article img { display:block; margin:0 auto; max-width:100%; height:auto; }
/* 幻灯片箭头默认隐藏 */
.carousel-btn { opacity:0; transition:opacity 0.3s; }
.carousel-container:hover .carousel-btn { opacity:1; }
/* 移动端侧边抽屉 */
.side-drawer { position:fixed; top:0; left:0; width:260px; height:100%; background:#fff; z-index:100; transform:translateX(-100%); transition:transform 0.3s ease; overflow-y:auto; box-shadow:2px 0 16px rgba(0,0,0,0.08); }
.side-drawer.open { transform:translateX(0); }
.drawer-overlay { position:fixed; top:0; left:0; width:100%; height:100%; background:rgba(0,0,0,0.35); z-index:99; opacity:0; visibility:hidden; transition:all 0.3s; }
.drawer-overlay.show { opacity:1; visibility:visible; }
