/* 首页通用组件：容器宽度、板块标题、排行榜三栏、最新更新网格。
   所有首页模板共用，从 index.css 中抽出，避免每套模板各自维护一份。 */
.container{max-width:1200px;margin:1.5rem auto;padding:0 1rem;}
.hot-section{margin-bottom:2.5rem;}
.section-title{color:var(--accent);margin-bottom:1rem;font-size:1.4rem;font-weight:600;}
.home-section-header{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:1rem;}
.home-section-header .section-title{margin-bottom:0;}
.home-view-all{color:var(--accent);font-weight:600;font-size:0.9rem;text-decoration:none;white-space:nowrap;}
.home-view-all:hover{text-decoration:underline;}

/* 无头图的居中衬线大标题横幅（模板 8、9 共用，两边视觉完全一致，只是横幅下面接的板块不一样）。 */
.home8-hero{text-align:center;padding:2.5rem 0 2.2rem;max-width:720px;margin:0 auto;}
.home8-eyebrow{color:var(--accent);font-size:0.8rem;font-weight:700;letter-spacing:0.18em;text-transform:uppercase;margin-bottom:0.8rem;}
.home8-hero-title{font-family:Georgia,'Times New Roman',Times,serif;font-size:3rem;line-height:1.2;font-weight:700;color:var(--text);margin:0 0 1.1rem;}
.home8-hero-title .accent{color:var(--accent);}
.home8-hero-desc{color:var(--text-light);font-size:1.05rem;line-height:1.6;margin-bottom:2rem;}

.home8-search-box{display:flex;align-items:center;background:var(--card-bg);border-radius:999px;padding:0.4rem 0.4rem 0.4rem 1.3rem;box-shadow:0 8px 24px rgba(0,0,0,0.08);margin:0 auto 1.8rem;max-width:560px;}
.home8-search-icon{color:var(--text-light);margin-right:0.6rem;flex-shrink:0;}
.home8-search-input{flex:1;min-width:0;border:none;background:transparent;outline:none;color:var(--text);font-size:0.95rem;padding:0.6rem 0;text-align:left;}
.home8-search-btn{background:var(--accent);color:#fff;border:none;padding:0.7rem 1.5rem;border-radius:999px;font-weight:600;cursor:pointer;transition:background 0.2s;flex-shrink:0;}
.home8-search-btn:hover{background:var(--accent-dark);}

/* 左侧竖条 + 加粗标题的板块标题样式（模板 8、9 共用，跟上面 .section-title 那套纯色文字的标题风格不一样）。 */
.home8-section-header{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:1.2rem;}
.home8-section-title{position:relative;padding-left:0.9rem;color:var(--text);font-size:1.3rem;font-weight:700;margin:0;}
.home8-section-title::before{content:"";position:absolute;left:0;top:0.15em;bottom:0.15em;width:4px;background:var(--accent);border-radius:2px;}

/* 标签浏览区的胶囊按钮 + 无限滚动加载指示器（模板 9、10 共用）。 */
.home9-topic-grid{display:flex;flex-wrap:wrap;gap:0.6rem;}
.home9-topic-pill{display:inline-flex;align-items:center;gap:0.4rem;background:var(--card-bg);border:1px solid var(--border);color:var(--text);padding:0.45rem 1rem;border-radius:999px;font-size:0.85rem;text-decoration:none;transition:background 0.15s,color 0.15s,border-color 0.15s;}
.home9-topic-pill:hover{border-color:var(--accent);color:var(--accent);}
.home9-topic-pill.active{background:var(--accent);border-color:var(--accent);color:#fff;}
.home9-topic-pill svg{flex-shrink:0;opacity:0.85;}
.home9-topic-more svg:last-child{opacity:0.7;}
.home9-sentinel{display:flex;align-items:center;justify-content:center;gap:0.6rem;padding:2.5rem 0;color:var(--text-light);font-size:0.9rem;}
.home9-spinner{width:18px;height:18px;border-radius:50%;border:2px solid var(--border);border-top-color:var(--accent);animation:home9-spin 0.7s linear infinite;}
@keyframes home9-spin{to{transform:rotate(360deg);}}

/* About 页介绍卡片（图标 + 标题 + 简介 + 缩略图），模板 4、9 共用。缩略图优先从 About 页
   「小节配图池」里随机挑一张真实图，只有没配置过配图才回退到各模板自带的兜底外链图。 */
.home4-intro-card{display:flex;align-items:center;gap:1.6rem;background:var(--card-bg);border:1px solid var(--border);border-radius:16px;padding:1.8rem;margin:2.5rem 0;}
.home4-intro-icon{flex-shrink:0;width:64px;height:64px;border-radius:50%;background:var(--accent);opacity:0.85;color:#fff;display:flex;align-items:center;justify-content:center;}
.home4-intro-body{flex:2;min-width:0;}
.home4-intro-body h3{color:var(--text);font-size:1.3rem;margin-bottom:0.6rem;}
.home4-intro-body p{color:var(--text-light);line-height:1.65;display:-webkit-box;-webkit-line-clamp:5;-webkit-box-orient:vertical;overflow:hidden;}
.home4-intro-photo{flex:1;min-width:0;display:none;}
.home4-intro-photo img{width:100%;height:140px;object-fit:cover;border-radius:12px;}

@media (min-width:900px){
.home4-intro-photo{display:block;}
}

@media (max-width:768px){
.home4-intro-card{flex-direction:column;text-align:center;padding:1.4rem;}
}

/* 首页头图轮播（通用组件，各模板通过自己的 .homeN-hero-image 选择器再补一条尺寸/圆角规则即可）。 */
.hero-slider{position:relative;width:100%;height:100%;}
.hero-slide{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;opacity:0;transition:opacity 1s ease;}
.hero-slide.active{opacity:1;}
.hero-dots{position:absolute;left:50%;bottom:1.1rem;transform:translateX(-50%);display:flex;gap:0.5rem;z-index:2;}
.hero-dot{width:9px;height:9px;padding:0;border-radius:50%;border:none;background:rgba(255,255,255,.5);cursor:pointer;transition:background 0.2s,transform 0.2s;}
.hero-dot.active{background:#fff;transform:scale(1.2);}

.home-genre-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:1rem;}
.home-genre-tile{display:flex;flex-direction:column;align-items:center;gap:0.5rem;padding:1.2rem 0.8rem;background:var(--card-bg);border:1px solid var(--border);border-radius:12px;text-decoration:none;transition:transform 0.15s,box-shadow 0.15s;}
.home-genre-tile:hover{transform:translateY(-3px);box-shadow:0 8px 16px rgba(0,0,0,0.08);}
.home-genre-icon{width:32px;height:32px;object-fit:cover;border-radius:8px;}
.home-genre-label{font-size:0.85rem;color:var(--text);font-weight:600;text-align:center;}
.rank-lists{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:1.5rem;margin:2rem 0;}
.rank-column h3{color:var(--accent);margin-bottom:0.8rem;font-size:1.15rem;}
.rank-item{display:flex;align-items:center;justify-content:space-between;gap:0.6rem;padding:0.6rem 0;border-bottom:1px solid var(--border);font-size:0.95rem;}
.rank-item a{color:var(--text);text-decoration:none;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.rank-item a:hover{color:var(--accent);}
.rank-date{color:var(--text-light);font-size:0.85rem;flex-shrink:0;white-space:nowrap;}
.updates-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(380px,1fr));gap:1.2rem;margin-bottom:2rem;}
.update-item{background:var(--card-bg);padding:1rem;border-radius:8px;border:1px solid var(--border);display:flex;gap:1rem;align-items:center;}
.update-cover{width:112px;flex-shrink:0;aspect-ratio:2/3;object-fit:cover;border-radius:6px;}
.update-body{flex:1;min-width:0;}
.update-title{line-height:1.3;min-height:2.6em;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.update-title a{color:var(--accent);margin-bottom:0.4rem;text-decoration:none;}
.update-summary{color:var(--text-light);font-size:0.9rem;margin:0.3rem 0;line-height:1.5;min-height:3em;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.update-meta{color:var(--text-light);font-size:0.9rem;}
.update-meta a{text-decoration:none;color:var(--text-light);}
@media (max-width:768px){
.container{margin:0.8rem auto;padding:0 0.5rem;width:100%;max-width:100%;}
.hot-section{margin-bottom:2rem;}
.section-title{font-size:1.2rem;margin-bottom:0.8rem;}
.rank-lists{grid-template-columns:1fr;gap:1rem;margin:1.5rem 0;}
.rank-column h3{font-size:1.05rem;margin-bottom:0.6rem;}
.rank-item{font-size:0.85rem;padding:0.5rem 0;}
.rank-date{font-size:0.75rem;}
.updates-grid{grid-template-columns:1fr;gap:0.8rem;margin-bottom:1.5rem;}
.update-item{padding:0.8rem;gap:0.7rem;}
.update-cover{width:78px;}
.update-title a{font-size:0.9rem;}
.update-summary{font-size:0.85rem;}
.update-meta{font-size:0.8rem;}
}
