/* ================= 剧猫咪 · 深色影院风（按设计稿） ================= */
* { margin:0; padding:0; box-sizing:border-box; }
body { background:#0d0f14; color:#d1d5db; font-family:-apple-system,"PingFang SC","Microsoft YaHei",sans-serif; line-height:1.6; }
a { text-decoration:none; color:inherit; transition:.2s; }
a:hover { color:#e50914; }
ul { list-style:none; }
img { display:block; }
.container { max-width:1300px; margin:0 auto; padding:0 20px; }

/* ================= 头部 ================= */
.header { background:#161a22; padding:15px 0; border-bottom:1px solid #2a2e38; position:sticky; top:0; z-index:100; }
.header .container { display:flex; justify-content:space-between; align-items:center; gap:20px; }
.logo { font-size:26px; font-weight:900; color:#e50914; letter-spacing:1px; white-space:nowrap; }
.logo span { display:none; }
.nav { display:flex; flex-wrap:wrap; gap:0; }
.nav a { margin-left:25px; color:#9ca3af; font-size:15px; font-weight:500; white-space:nowrap; }
.nav a.active, .nav a:hover { color:#e50914; }
.search-box { background:#0d0f14; border:1px solid #374151; padding:8px 15px; border-radius:20px; color:#fff; width:280px; outline:none; font-size:14px; }
.search-box:focus { border-color:#e50914; }
.search-box button { display:none; }

/* ================= Hero ================= */
.hero { height:480px; background:linear-gradient(to right,rgba(13,15,20,1) 15%,rgba(13,15,20,.4) 100%); background-size:cover; background-position:center 20%; border-bottom:1px solid #1f2937; display:flex; align-items:center; position:relative; }
.hero-inner { display:flex; justify-content:space-between; align-items:flex-end; width:100%; }
.hero-text { max-width:600px; }
.hero-tag { background:#e50914; color:#fff; font-size:12px; padding:4px 10px; border-radius:4px; display:inline-block; margin-bottom:15px; font-weight:700; }
.hero-title { font-size:48px; color:#fff; font-weight:900; margin-bottom:15px; text-shadow:2px 2px 5px rgba(0,0,0,.5); line-height:1.15; }
.hero-desc { font-size:16px; color:#d1d5db; margin-bottom:25px; display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; text-shadow:1px 1px 3px rgba(0,0,0,.8); }
.btn-group { display:flex; gap:15px; flex-wrap:wrap; }
.btn { padding:12px 30px; border-radius:6px; font-size:16px; font-weight:700; cursor:pointer; border:none; display:inline-flex; align-items:center; gap:8px; }
.btn-play { background:#e50914; color:#fff; }
.btn-play:hover { background:#ff0a16; color:#fff; }
.btn-mindmap { background:rgba(59,130,246,.2); color:#60a5fa; border:1px solid #3b82f6; }
.btn-mindmap:hover { background:#3b82f6; color:#fff; }

/* ================= 差异化区块 ================= */
.differentiation-section { display:flex; gap:30px; margin:-50px auto 40px; position:relative; z-index:10; background:#161a22; padding:20px 30px; border-radius:12px; border:1px solid #2a2e38; box-shadow:0 10px 30px rgba(0,0,0,.5); }
.diff-col { flex:1; min-width:0; }
.diff-title { font-size:18px; color:#fff; font-weight:700; margin-bottom:15px; display:flex; align-items:center; gap:8px; border-bottom:1px solid #2a2e38; padding-bottom:10px; }
.diff-title span { color:#e50914; font-size:20px; }
.avoid-list li { display:flex; justify-content:space-between; gap:10px; font-size:14px; margin-bottom:12px; }
.avoid-tag { padding:2px 6px; border-radius:4px; font-size:12px; font-weight:700; white-space:nowrap; }
.tag-good { background:rgba(16,185,129,.1); color:#10b981; }
.tag-bad { background:rgba(229,9,20,.1); color:#e50914; }
.mindmap-preview { display:flex; gap:15px; align-items:center; background:#11141a; padding:10px; border-radius:8px; border:1px solid #1f2937; }
.mm-img { width:100px; height:70px; background:#1f2937; border-radius:4px; display:flex; justify-content:center; align-items:center; color:#e50914; font-size:24px; font-weight:700; flex-shrink:0; }
.mindmap-preview h4 { color:#fff; font-size:15px; margin-bottom:4px; }
.mindmap-preview p { font-size:12.5px; color:#9ca3af; }

/* ================= 模块标题 ================= */
.section-header { display:flex; justify-content:space-between; align-items:flex-end; margin:40px 0 20px; border-bottom:1px solid #2a2e38; padding-bottom:10px; }
.section-title { font-size:24px; color:#fff; font-weight:700; }
.section-title span { color:#6b7280; font-size:14px; font-weight:400; margin-left:10px; }
.more-link { font-size:14px; color:#9ca3af; }

/* ================= 情绪处方 ================= */
.emotion-section { background:linear-gradient(135deg,#1f2937,#161a22); border:1px solid #3b82f6; border-radius:12px; padding:25px; position:relative; overflow:hidden; margin-bottom:40px; }
.emotion-section::before { content:"💊"; position:absolute; right:-20px; top:-20px; font-size:150px; opacity:.05; transform:rotate(20deg); }
.emotion-header { display:flex; justify-content:space-between; align-items:center; margin-bottom:20px; position:relative; z-index:1; }
.emotion-title { font-size:22px; color:#fff; font-weight:700; display:flex; align-items:center; gap:10px; }
.emotion-title span { font-size:14px; color:#60a5fa; font-weight:400; }
.emotion-date { font-size:13px; color:#6b7280; }
.emotion-card-wrap { display:flex; gap:20px; background:#0d0f14; padding:20px; border-radius:8px; border:1px solid #2a2e38; align-items:center; position:relative; z-index:1; }
.emotion-poster { width:100px; height:150px; background:#1f2937; border-radius:6px; flex-shrink:0; overflow:hidden; }
.emotion-poster img { width:100%; height:100%; object-fit:cover; }
.emotion-info { flex:1; min-width:0; }
.emotion-info h3 { font-size:24px; color:#fff; margin-bottom:10px; }
.emotion-tag { display:inline-block; background:rgba(59,130,246,.1); color:#3b82f6; padding:4px 10px; border-radius:4px; font-size:13px; margin-bottom:15px; font-weight:700; }
.emotion-reason { font-size:15px; color:#d1d5db; line-height:1.8; margin-bottom:15px; font-style:italic; border-left:3px solid #e50914; padding-left:10px; }
.emotion-links { display:flex; gap:15px; align-items:center; flex-wrap:wrap; }
.btn-watch { background:#3b82f6; color:#fff; padding:8px 20px; border-radius:4px; font-size:14px; font-weight:700; }
.btn-watch:hover { background:#2563eb; color:#fff; }
.btn-detail { background:transparent; border:1px solid #4b5563; color:#d1d5db; padding:8px 20px; border-radius:4px; font-size:14px; }
.btn-detail:hover { border-color:#fff; color:#fff; }

/* ================= 更新日历（7列） ================= */
.update-calendar { display:grid; grid-template-columns:repeat(7,1fr); gap:10px; background:#161a22; padding:15px; border-radius:8px; border:1px solid #2a2e38; }
.day-col { border-right:1px dashed #2a2e38; padding-right:10px; min-width:0; }
.day-col:last-child { border-right:none; }
.day-title { color:#fff; font-size:14px; font-weight:700; margin-bottom:10px; text-align:center; }
.day-item { font-size:12px; color:#9ca3af; margin-bottom:5px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.day-item:hover { color:#e50914; cursor:pointer; }

/* ================= 卡片网格 ================= */
.grid-cards { display:grid; grid-template-columns:repeat(6,1fr); gap:20px; }
.card { display:block; }
.poster { width:100%; aspect-ratio:2/3; background:#1f2937; border-radius:8px; margin-bottom:10px; position:relative; transition:.3s; border:1px solid #374151; overflow:hidden; }
.poster img { width:100%; height:100%; object-fit:cover; }
.card:hover .poster { transform:translateY(-5px); border-color:#e50914; box-shadow:0 10px 20px rgba(229,9,20,.1); }
.poster-rating { position:absolute; top:8px; right:8px; background:rgba(0,0,0,.85); color:#f5c518; font-size:12px; padding:2px 6px; border-radius:4px; font-weight:700; }
.card-title { font-size:15px; color:#fff; font-weight:500; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; margin-bottom:4px; }
.card-meta { font-size:13px; color:#6b7280; display:flex; justify-content:space-between; gap:6px; }

/* ================= 资讯 + 专题双栏 ================= */
.two-col { display:flex; gap:30px; margin-bottom:60px; }
.col-news { flex:2; min-width:0; }
.col-topic { flex:1; min-width:0; }
.news-item { display:flex; gap:15px; margin-bottom:20px; background:#161a22; padding:15px; border-radius:8px; border:1px solid #2a2e38; transition:.2s; }
.news-item:hover { background:#1f2937; }
.news-img { width:140px; height:90px; background:#1f2937; border-radius:6px; flex-shrink:0; overflow:hidden; }
.news-img img { width:100%; height:100%; object-fit:cover; }
.news-info { min-width:0; }
.news-info h3 { font-size:16px; color:#fff; margin-bottom:8px; }
.news-info p { font-size:13px; color:#9ca3af; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.topic-card { position:relative; height:200px; border-radius:8px; overflow:hidden; margin-bottom:20px; cursor:pointer; border:1px solid #2a2e38; display:block; }
.topic-bg { width:100%; height:100%; background:#1f2937; transition:.3s; }
.topic-bg img { width:100%; height:100%; object-fit:cover; }
.topic-card:hover .topic-bg { transform:scale(1.05); }
.topic-mask { position:absolute; bottom:0; left:0; right:0; padding:20px; background:linear-gradient(to top,rgba(0,0,0,.9),transparent); }
.topic-mask h3 { color:#fff; font-size:18px; font-weight:700; margin-bottom:5px; }
.topic-mask p { color:#d1d5db; font-size:12px; }

/* ================= 底部 ================= */
.footer { background:#11141a; border-top:1px solid #2a2e38; padding:40px 0 20px; margin-top:50px; color:#6b7280; font-size:14px; }
.footer-top { display:flex; justify-content:space-between; margin-bottom:30px; flex-wrap:wrap; gap:15px; }
.footer-links a { margin-right:15px; color:#9ca3af; }
.footer-desc { text-align:center; font-size:13px; border-top:1px dashed #2a2e38; padding-top:20px; }

/* ================= 详情页 ================= */
.hero-detail { background:linear-gradient(to right,#161a22 30%,#0d0f14 100%); padding:50px 0; border-bottom:1px solid #1f2937; }
.hero-content { display:flex; gap:45px; }
.poster-box { width:250px; height:375px; background:#1f2937; border-radius:10px; display:flex; align-items:center; justify-content:center; color:#4b5563; border:1px solid #374151; flex-shrink:0; box-shadow:0 10px 30px rgba(0,0,0,.5); overflow:hidden; }
.poster-box img { width:100%; height:100%; object-fit:cover; }
.info-box { flex:1; display:flex; flex-direction:column; justify-content:center; min-width:0; }
.title { font-size:38px; font-weight:900; color:#fff; margin-bottom:15px; display:flex; align-items:center; gap:15px; flex-wrap:wrap; }
.status-badge { background:#e50914; color:#fff; padding:4px 12px; border-radius:4px; font-size:14px; font-weight:700; }
.meta-tags { display:flex; gap:10px; margin-bottom:20px; flex-wrap:wrap; }
.meta-tags span { background:#1f2937; padding:5px 14px; border-radius:4px; font-size:13px; color:#9ca3af; border:1px solid #374151; }
.calendar-box { background:#1a1d24; border:1px dashed #4b5563; border-radius:6px; padding:10px 20px; display:inline-flex; align-items:center; gap:15px; margin-bottom:20px; width:fit-content; }
.calendar-box span { color:#f5c518; font-weight:700; font-size:15px; }
.calendar-box p { font-size:14px; color:#d1d5db; }
.info-list { font-size:14px; color:#6b7280; margin-bottom:25px; }
.info-list p { margin-bottom:8px; }
.info-list span { color:#d1d5db; margin-right:15px; font-weight:500; }
.action-row { display:flex; align-items:flex-end; gap:30px; flex-wrap:wrap; }
.score-area { display:flex; flex-direction:column; }
.score-val { font-size:36px; font-weight:700; color:#f5c518; line-height:1; }
.score-label { font-size:13px; color:#6b7280; margin-top:5px; }
.btn-watch-big { background:#e50914; color:#fff; padding:12px 35px; border-radius:6px; font-weight:700; font-size:16px; display:inline-flex; align-items:center; gap:8px; box-shadow:0 4px 15px rgba(229,9,20,.4); }
.btn-watch-big:hover { background:#ff0a16; transform:translateY(-2px); color:#fff; }

/* Tab 导航 */
.tab-nav { background:#161a22; border-bottom:1px solid #2a2e38; position:sticky; top:0; z-index:90; box-shadow:0 4px 10px rgba(0,0,0,.3); }
.tab-list { display:flex; max-width:1300px; margin:0 auto; padding:0 20px; overflow-x:auto; }
.tab-item { padding:18px 30px; font-size:16px; font-weight:700; color:#9ca3af; cursor:pointer; border-bottom:3px solid transparent; white-space:nowrap; background:none; border-top:0; border-left:0; border-right:0; font-family:inherit; }
.tab-item:hover { color:#fff; }
.tab-item.active { color:#e50914; border-bottom-color:#e50914; }

.main-layout { display:flex; gap:40px; padding:40px 0 60px; }
.left-col { flex:1; min-width:0; }
.right-col { width:340px; flex-shrink:0; }
.tab-content { display:none; animation:fadeIn .3s; }
.tab-content.active { display:block; }
@keyframes fadeIn { from{opacity:0;transform:translateY(10px)} to{opacity:1;transform:translateY(0)} }
.section-title2 { font-size:20px; color:#fff; border-left:4px solid #e50914; padding-left:12px; margin-bottom:20px; margin-top:35px; font-weight:700; }
.section-title2:first-child { margin-top:0; }
.intro-text { background:#161a22; padding:25px; border-radius:8px; border:1px solid #1f2937; font-size:15px; line-height:1.8; color:#d1d5db; }
.ep-tabs { display:flex; flex-wrap:wrap; gap:10px; margin-bottom:15px; }
.ep-btn { padding:6px 15px; background:#1f2937; border:1px solid #374151; border-radius:4px; cursor:pointer; color:#d1d5db; font-size:14px; transition:.2s; }
.ep-btn:hover { background:#374151; }
.ep-btn.active { background:#e50914; border-color:#e50914; color:#fff; }
.cast-grid { display:grid; grid-template-columns:repeat(5,1fr); gap:15px; }
.cast-card { background:#161a22; padding:20px 10px; border-radius:8px; text-align:center; border:1px solid #2a2e38; transition:.3s; display:block; }
.cast-card:hover { border-color:#e50914; transform:translateY(-3px); }
.cast-avatar { width:80px; height:80px; border-radius:50%; background:#1f2937; margin:0 auto 10px; overflow:hidden; }
.cast-avatar img { width:100%; height:100%; object-fit:cover; }
.cast-name { color:#fff; font-weight:700; font-size:14px; }
.cast-role { font-size:13px; color:#9ca3af; margin-top:5px; }
.topic-grid { display:flex; gap:20px; }
.topic-card-sm { flex:1; background:#161a22; border-radius:8px; overflow:hidden; border:1px solid #2a2e38; display:block; transition:.3s; }
.topic-card-sm:hover { border-color:#e50914; }
.topic-img { height:130px; background:#1f2937; display:flex; align-items:center; justify-content:center; color:#4b5563; font-size:13px; overflow:hidden; }
.topic-img img { width:100%; height:100%; object-fit:cover; }
.ep-content { background:#161a22; padding:25px; border-radius:8px; border:1px solid #1f2937; font-size:15px; line-height:1.8; }
.schedule-table { width:100%; border-collapse:collapse; background:#161a22; border-radius:8px; overflow:hidden; }
.schedule-table th,.schedule-table td { padding:15px; text-align:left; border-bottom:1px solid #2a2e38; font-size:14px; }
.schedule-table th { background:#1f2937; color:#9ca3af; }
.schedule-tag { background:rgba(229,9,20,.1); color:#e50914; padding:2px 8px; border-radius:4px; font-size:12px; margin-right:10px; }
#mindmap-intro { width:100%; height:450px; background:#161a22; border-radius:8px; border:1px solid #2a2e38; margin-bottom:30px; }
#mindmap { width:100%; height:500px; background:#161a22; border-radius:8px; border:1px solid #2a2e38; }
.gallery-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:15px; }
.gallery-item { background:#161a22; border-radius:8px; overflow:hidden; border:1px solid #2a2e38; }
.gallery-img { height:200px; background:#1f2937; overflow:hidden; }
.gallery-img img { width:100%; height:100%; object-fit:cover; }
.gallery-desc { padding:10px; font-size:14px; text-align:center; color:#fff; }
.dl-table { width:100%; border-collapse:collapse; font-size:14px; background:#161a22; border-radius:8px; overflow:hidden; }
.dl-table th,.dl-table td { padding:15px; text-align:left; border-bottom:1px solid #2a2e38; }
.dl-table th { color:#6b7280; background:#11141a; }
.tag { font-size:12px; padding:2px 8px; border-radius:4px; background:#2a2e38; color:#9ca3af; margin-right:5px; display:inline-block; }
.dl-link { color:#10b981; font-weight:700; background:rgba(16,185,129,.1); padding:5px 10px; border-radius:4px; }
.comment-box { background:#161a22; padding:20px; border-radius:8px; border:1px solid #2a2e38; margin-bottom:20px; }
.comment-box textarea { width:100%; height:80px; background:#0d0f14; border:1px solid #374151; border-radius:6px; padding:10px; color:#fff; margin-bottom:10px; resize:none; outline:none; font-family:inherit; }
.submit-btn { background:#e50914; color:#fff; padding:8px 20px; border:none; border-radius:4px; cursor:pointer; float:right; }
.review-item { border-bottom:1px dashed #2a2e38; padding:15px 0; }
.review-user { color:#3b82f6; font-weight:700; margin-bottom:5px; }
.sidebar-box { background:#161a22; border-radius:8px; padding:20px; border:1px solid #2a2e38; margin-bottom:25px; }
.sidebar-title { color:#fff; font-size:18px; border-left:4px solid #e50914; padding-left:10px; margin-bottom:15px; }
.sidebar-news li { margin-bottom:15px; border-bottom:1px dashed #2a2e38; padding-bottom:10px; }
.sidebar-news a { color:#d1d5db; font-size:14px; display:block; margin-bottom:5px; }
.sidebar-news span { font-size:12px; color:#6b7280; }
.rec-item { display:flex; gap:15px; margin-bottom:15px; }
.rec-img { width:70px; height:100px; background:#1f2937; border-radius:4px; flex-shrink:0; overflow:hidden; }
.rec-img img { width:100%; height:100%; object-fit:cover; }
.rec-name { color:#fff; font-weight:700; margin-bottom:5px; font-size:14px; }
.rec-desc { font-size:12px; color:#6b7280; }
.rec-score { color:#f5c518; font-size:13px; font-weight:700; margin-top:5px; }

/* ================= 兼容旧类（列表页/搜索/其他页） ================= */
.grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(150px,1fr)); gap:20px; }
.movie-card { display:block; }
.movie-card .poster { position:relative; }
.badge { position:absolute; top:8px; right:8px; background:rgba(0,0,0,.85); color:#f5c518; font-size:12px; padding:2px 6px; border-radius:4px; font-weight:700; z-index:2; }
.rating { position:absolute; bottom:8px; left:8px; background:rgba(0,0,0,.8); color:#d1d5db; font-size:11.5px; padding:2px 6px; border-radius:4px; z-index:2; }
.card-info { padding-top:2px; }
.card-info h3 { font-size:15px; color:#fff; font-weight:500; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; margin-bottom:4px; }
.card-info .sub { font-size:13px; color:#6b7280; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.list-hero { padding:30px 0 10px; }
.list-hero h1 { font-size:32px; color:#fff; font-weight:900; margin-bottom:8px; }
.list-hero .desc { color:#9ca3af; font-size:14px; }
.content-block { background:#161a22; border:1px solid #2a2e38; border-radius:10px; padding:24px; margin-bottom:24px; }
.content-block h3 { font-size:17px; color:#fff; margin-bottom:16px; }
.article-body { font-size:15px; line-height:1.9; color:#d1d5db; }
.article-body p { margin-bottom:12px; }
.pill-list { display:flex; flex-wrap:wrap; gap:8px; }
.pill { background:#1f2937; border:1px solid #374151; color:#d1d5db; padding:5px 14px; border-radius:20px; font-size:13px; }
.pill.hot { border-color:#e50914; color:#ff6b73; }
.filter-bar { display:flex; gap:10px; margin:20px 0; flex-wrap:wrap; }
.filter-bar a { padding:7px 16px; border-radius:20px; background:#1f2937; border:1px solid #374151; color:#9ca3af; font-size:13.5px; }
.filter-bar a.on { background:#e50914; border-color:#e50914; color:#fff; }
.btn-primary { background:#e50914; color:#fff; }
.btn-ghost { background:transparent; border:1px solid #374151; color:#d1d5db; }
.search-page-box { display:flex; gap:10px; margin:20px 0 30px; }
.search-page-box input { flex:1; background:#161a22; border:1px solid #374151; border-radius:8px; padding:12px 16px; color:#fff; outline:none; font-size:15px; }

@media (max-width:1100px) {
  .grid-cards { grid-template-columns:repeat(4,1fr); }
  .update-calendar { grid-template-columns:repeat(4,1fr); }
  .two-col { flex-direction:column; }
  .main-layout { flex-direction:column; }
  .right-col { width:100%; }
  .hero-content { flex-direction:column; align-items:flex-start; }
  .poster-box { width:180px; height:270px; }
}
@media (max-width:860px) {
  .nav { display:none; }
  .hero { height:auto; padding:60px 0; }
  .hero-title { font-size:32px; }
  .grid-cards { grid-template-columns:repeat(3,1fr); }
  .update-calendar { grid-template-columns:repeat(2,1fr); }
  .differentiation-section { flex-direction:column; margin-top:20px; }
  .cast-grid { grid-template-columns:repeat(3,1fr); }
  .gallery-grid { grid-template-columns:repeat(2,1fr); }
  .emotion-card-wrap { flex-direction:column; align-items:flex-start; }
  .title { font-size:26px; }
}

/* ================= 专题页（按 topic.html） ================= */
.topic-banner{width:100vw;margin-left:calc(50% - 50vw);height:350px;background-size:cover;background-position:center;
  display:flex;align-items:flex-end;padding:40px;border-bottom:3px solid #e50914;
  background-color:#1f2937;position:relative;overflow:hidden}
.topic-banner::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,#0d0f14 5%,rgba(13,15,20,.15) 100%);z-index:0}
.topic-banner .tb-inner{position:relative;z-index:1;max-width:1250px;margin:0 auto;width:100%}
.topic-title{font-size:40px;color:#fff;font-weight:900;line-height:1.2;text-shadow:0 2px 10px rgba(0,0,0,.6)}
.topic-desc{font-size:16px;color:#c9cdd4;margin-top:10px;max-width:800px;line-height:1.7;text-shadow:0 1px 6px rgba(0,0,0,.7)}
.topic-sec-title{font-size:24px;color:#fff;border-left:5px solid #e50914;padding-left:15px;margin:40px 0 20px;display:flex;justify-content:space-between;align-items:center;font-weight:700}
.news-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}
.news-box{background:#161a22;padding:20px;border-radius:8px;border:1px solid #2a2e38;display:flex;gap:15px;transition:.2s}
.news-box:hover{border-color:#374151;background:#1a1f29}
.news-box .nb-img{width:120px;height:80px;background:#2a2e38;border-radius:4px;flex-shrink:0;overflow:hidden}
.news-box .nb-img img{width:100%;height:100%;object-fit:cover}
.news-box-title{color:#fff;font-weight:700;font-size:16px;margin-bottom:10px;display:block}
.news-box-title:hover{color:#e50914}
.topic-list-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:22px;margin:24px 0 60px}
@media(max-width:860px){
  .topic-banner{height:240px;padding:25px 20px}
  .topic-title{font-size:26px}
  .topic-desc{font-size:14px}
  .news-grid{grid-template-columns:1fr}
}
.mm-entry{display:flex;align-items:center;gap:18px;background:#161a22;border:1px solid #2a2e38;border-radius:12px;
  padding:26px 28px;cursor:pointer;transition:.2s;margin-bottom:14px}
.mm-entry:hover{border-color:#e50914;background:#1a1f29}
.mm-entry-icon{font-size:34px;color:#e50914;line-height:1}
