@charset "utf-8";

:root{
  --brand:#e0342c;
  --brand-d:#b8251c;
  --brand-l:#fff1ef;
  --ink:#16181d;
  --ink2:#5a616c;
  --ink3:#9aa1ab;
  --line:#ebe5de;
  --bg:#fffdfa;
  --card:#ffffff;
  --dark:#14161c;
  --dark2:#0e1015;
  --ok:#1a9c53;
  --star:#f5a623;
  --r:16px;
  --r-s:11px;
  --mx:1240px;
  --sh:0 1px 2px rgba(20,22,28,.05),0 8px 24px rgba(20,22,28,.06);
  --sh-h:0 2px 6px rgba(20,22,28,.08),0 14px 34px rgba(20,22,28,.12);
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;overscroll-behavior-y:none}
body{margin:0;background:var(--bg);color:var(--ink);
  font:16px/1.7 sans-serif;
  -webkit-font-smoothing:antialiased}
h1,h2,h3,h4{margin:0;font-weight:800;line-height:1.35;letter-spacing:-.01em}
p{margin:0 0 .8em}
a{color:inherit;text-decoration:none}
ul,ol{margin:0;padding:0;list-style:none}
img{border:0;display:block}
input,button{font:inherit;color:inherit}
:focus-visible{outline:2px solid var(--brand);outline-offset:2px}
.wrap{max-width:var(--mx);margin:0 auto;padding:0 16px}
.muted{color:var(--ink2)}
.sm{font-size:13px}
.xs{font-size:12px}

.nav{position:-webkit-sticky;position:sticky;top:0;z-index:60;background:rgba(255,253,250,.97);
  border-bottom:1px solid var(--line);box-shadow:0 1px 0 rgba(20,22,28,.04)}
.nav-in{display:flex;align-items:center;gap:16px;height:60px}
.logo{display:flex;align-items:center;gap:9px;font-weight:800;font-size:18px;letter-spacing:-.02em;flex:0 0 auto}
.logo i{width:28px;height:28px;border-radius:8px;background:var(--brand);color:#fff;
  display:grid;place-items:center;font-style:normal;font-size:14px;font-weight:800;
  box-shadow:0 4px 12px rgba(224,52,44,.28)}
.logo em{font-style:normal;font-size:11px;color:var(--ink3);font-weight:600;letter-spacing:.06em}
.menu{display:flex;gap:2px;flex:1 1 auto;overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none}
.menu::-webkit-scrollbar{display:none}
.menu a{padding:7px 13px;border-radius:999px;font-size:15px;font-weight:600;color:var(--ink2);white-space:nowrap;transition:.18s}
.menu a:hover{background:var(--brand-l);color:var(--brand)}
.menu a.on{background:var(--brand);color:#fff}
.search{flex:0 0 auto;display:flex}
.search input{width:150px;height:36px;padding:0 12px;border:1px solid var(--line);
  border-radius:999px 0 0 999px;background:var(--card);font-size:14px;outline:none}
.search input:focus{border-color:var(--brand)}
.search button{height:36px;padding:0 15px;border:0;border-radius:0 999px 999px 0;
  background:var(--brand);color:#fff;font-size:14px;font-weight:700;cursor:pointer}
.search button:hover{background:var(--brand-d)}

.hero{position:relative;background:linear-gradient(165deg,#1b1e26 0%,var(--dark2) 60%);
  color:#fff;overflow:hidden;padding:38px 0 30px}
.hero::before{content:"";position:absolute;right:-120px;top:-160px;width:520px;height:520px;
  background:radial-gradient(circle,rgba(224,52,44,.30),transparent 62%);pointer-events:none}
.hero::after{content:"";position:absolute;left:-80px;bottom:-220px;width:420px;height:420px;
  background:radial-gradient(circle,rgba(90,120,255,.16),transparent 64%);pointer-events:none}
.hero-in{position:relative;z-index:2;display:grid;grid-template-columns:auto 1fr;gap:34px;align-items:center}
.datebox{display:flex;align-items:flex-end;gap:12px}
.datebox .dd{font-size:96px;line-height:.86;font-weight:800;letter-spacing:-.05em;
  background:linear-gradient(180deg,#fff,#ffd9d4);-webkit-background-clip:text;background-clip:text;color:transparent}
.datebox .ym{font-size:15px;color:rgba(255,255,255,.72);font-weight:600;padding-bottom:8px;line-height:1.5}
.datebox .ym b{display:block;color:#fff;font-size:19px;font-weight:800;letter-spacing:.02em}
.hero h1{font-size:30px;margin-bottom:6px}
.hero h1 span{color:#ff8a80}
.hero .lead{color:rgba(255,255,255,.7);font-size:15px;margin-bottom:16px}
.stats{display:flex;gap:26px;flex-wrap:wrap;margin-bottom:18px}
.stat b{display:block;font-size:27px;font-weight:800;color:#fff;letter-spacing:-.02em}
.stat b i{font-style:normal;font-size:14px;font-weight:600;margin-left:3px;color:rgba(255,255,255,.6)}
.stat span{font-size:12.5px;color:rgba(255,255,255,.55)}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chip{padding:6px 14px;border-radius:999px;font-size:13.5px;font-weight:600;
  background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.16);color:rgba(255,255,255,.86);transition:.18s}
.chip:hover{background:rgba(255,255,255,.17);color:#fff}
.chip.r{background:var(--brand);border-color:var(--brand);color:#fff}
.chip.r:hover{background:var(--brand-d)}

.sec{padding:34px 0 4px}
.sec-h{display:flex;align-items:baseline;justify-content:space-between;gap:14px;margin-bottom:16px;flex-wrap:wrap}
.sec-h h2{font-size:21px;display:flex;align-items:center;gap:9px}
.sec-h h2::before{content:"";width:4px;height:19px;border-radius:2px;background:var(--brand)}
.sec-h a{font-size:13.5px;color:var(--ink2);font-weight:600}
.sec-h a:hover{color:var(--brand)}

.week{display:grid;grid-template-columns:repeat(7,1fr);gap:10px}
.wd{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:11px 10px 12px;
  min-height:150px;display:flex;flex-direction:column;gap:6px;min-width:0;overflow:hidden;transition:.2s}
.wd:hover{box-shadow:var(--sh)}
.wd .h{display:flex;align-items:baseline;gap:6px;font-size:12.5px;color:var(--ink3);font-weight:600}
.wd .h b{font-size:19px;color:var(--ink);font-weight:800;letter-spacing:-.02em}
.wd .h em{font-style:normal;font-size:11px;padding:1px 6px;border-radius:4px;background:var(--brand);color:#fff;font-weight:700}
.wd.now{border-color:var(--brand);background:var(--brand-l);box-shadow:0 6px 20px rgba(224,52,44,.12)}
.wd.now .h b{color:var(--brand)}
.wd.off{opacity:.62}
.wd .ev{display:block;font-size:12.5px;line-height:1.45;color:var(--ink2);overflow:hidden;text-overflow:ellipsis;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.wd .ev:hover{color:var(--brand)}
.wd .more{margin-top:auto;font-size:12px;color:var(--ink3);font-weight:600}
.wd .none{font-size:12px;color:var(--ink3);opacity:.7}

.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(148px,1fr));gap:16px}
.card{background:var(--card);border-radius:var(--r);overflow:hidden;transition:transform .2s,box-shadow .2s;
  border:1px solid var(--line);display:flex;flex-direction:column}
.card:hover{transform:translateY(-3px);box-shadow:var(--sh-h)}
.thumb{position:relative;aspect-ratio:3/4;background:linear-gradient(150deg,#c9ced9,#8b93a6);overflow:hidden}
.thumb .tt{position:absolute;left:0;right:0;top:50%;transform:translateY(-50%);
  padding:0 10px;text-align:center;font-weight:700;color:rgba(255,255,255,.92);
  line-height:1.3;word-break:break-word;text-shadow:0 1px 5px rgba(0,0,0,.35)}
.thumb .tt-s{font-size:25px;letter-spacing:1px}
.thumb .tt-m{font-size:17px;line-height:1.4}
.thumb .tt-l{font-size:14px;line-height:1.45;display:-webkit-box;-webkit-box-orient:vertical;
  -webkit-line-clamp:3;overflow:hidden}
.thumb .tag{position:absolute;left:6px;top:6px;padding:2px 7px;border-radius:5px;font-size:11px;font-weight:700;
  background:rgba(20,22,28,.66);color:#fff;}
.thumb .tag.tv{background:rgba(224,52,44,.9)}
.thumb .tag.movie{background:rgba(90,120,255,.9)}
.thumb .tag.star{background:rgba(245,166,35,.92)}
.thumb .tag.juqing{background:rgba(26,156,83,.9)}
.thumb .tag.yanyuan{background:rgba(140,80,200,.9)}
.card .b{padding:9px 10px 11px}
.card h3{font-size:14px;font-weight:700;line-height:1.4;overflow:hidden;text-overflow:ellipsis;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;min-height:39px}
.card:hover h3{color:var(--brand)}
.card .m{font-size:11.5px;color:var(--ink3);margin-top:5px;display:flex;justify-content:space-between;gap:6px}

.rail{display:flex;gap:12px;overflow-x:auto;padding:2px 2px 10px;scroll-snap-type:x proximity;
  overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;scrollbar-width:thin}
.rail::-webkit-scrollbar{height:6px}
.rail::-webkit-scrollbar-thumb{background:var(--line);border-radius:3px}
.rail .card{flex:0 0 132px;scroll-snap-align:start;scroll-snap-stop:always}
.rail .card h3{font-size:13px;min-height:36px}

.mcal{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}
.mcal .mh{padding:6px 0;text-align:center;font-size:12.5px;font-weight:700;color:var(--ink3)}
.mc{background:var(--card);border:1px solid var(--line);border-radius:var(--r-s);padding:7px 6px 8px;
  min-height:88px;display:flex;flex-direction:column;gap:3px;min-width:0;overflow:hidden;transition:.18s}
.mc:hover{border-color:var(--brand);box-shadow:var(--sh)}
.mc .n{font-size:14px;font-weight:800;color:var(--ink2);letter-spacing:-.02em}
.mc.now{background:var(--brand);border-color:var(--brand)}
.mc.now .n,.mc.now .ev,.mc.now .none{color:#fff}
.mc.off{opacity:.5}
.mc.empty{background:transparent;border-color:transparent;min-height:0}
.mc .ev{display:block;font-size:11.5px;line-height:1.35;color:var(--ink2);overflow:hidden;text-overflow:ellipsis;
  white-space:nowrap}
.mc .ev:hover{color:var(--brand)}
.mc.now .ev:hover{color:#ffe3df}
.mc .none{font-size:11px;color:var(--ink3);opacity:.6}
.mc .n i{font-style:normal;font-size:10px;margin-left:4px;padding:1px 4px;border-radius:3px;
  background:var(--brand);color:#fff}
.mc.now .n i{background:#fff;color:var(--brand)}

.foot{margin-top:38px;background:var(--dark);color:rgba(255,255,255,.66);padding:32px 0 26px;font-size:13.5px}
.foot a{color:rgba(255,255,255,.72)}
.foot a:hover{color:#fff}
.foot h4{color:#fff;font-size:14px;margin-bottom:11px;font-weight:700}
.fgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:22px}
.flinks{display:flex;flex-wrap:wrap;margin: 18px 0 6px;gap:8px 14px}
.fbottom{margin-top:22px;padding-top:16px;border-top:1px solid rgba(255,255,255,.1);
  display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;font-size:12.5px;color:rgba(255,255,255,.42)}

.btn{display:inline-block;padding:9px 18px;border-radius:999px;background:var(--brand);color:#fff;
  font-weight:700;font-size:14px;transition:.18s}
.btn:hover{background:var(--brand-d)}
.btn.g{background:var(--card);color:var(--ink2);border:1px solid var(--line)}
.btn.g:hover{border-color:var(--brand);color:var(--brand)}
.empty-tip{padding:26px;text-align:center;color:var(--ink3);background:var(--card);
  border:1px dashed var(--line);border-radius:var(--r);font-size:14px}

/* APP 触感：按下缩放反馈 */
.card:active{transform:scale(.97)}
.btn:active{transform:scale(.96)}
.chip:active{transform:scale(.95)}
.glnav a:active{transform:scale(.96)}
/* 骨架屏：图片解码前显示流光占位（零 JS） */
.thumb{background:linear-gradient(100deg,#e9ecf2 28%,#f6f8fc 50%,#e9ecf2 72%);
  background-size:200% 100%;animation:zj-shimmer 1.5s linear infinite}
@keyframes zj-shimmer{0%{background-position:200% 0}100%{background-position:-200% 0}}

.cal-h{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;margin-bottom:6px}
.cal-h span{text-align:center;font-size:12.5px;font-weight:700;color:var(--ink3);padding:4px 0}
.cal{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}
.cal .d{background:var(--card);border:1px solid var(--line);border-radius:var(--r-s);padding:7px 6px;
  min-height:92px;display:flex;flex-direction:column;gap:3px;min-width:0;overflow:hidden}
.cal .d.empty{background:transparent;border-color:transparent;min-height:0}
.cal .d b{font-size:14px;font-weight:800;color:var(--ink2)}
.cal .d b i{font-style:normal;font-size:10px;margin-left:4px;padding:1px 4px;border-radius:3px;
  background:var(--brand);color:#fff;font-weight:700}
.cal .d.now{background:var(--brand);border-color:var(--brand)}
.cal .d.now b,.cal .d.now .ev,.cal .d.now .none{color:#fff}
.cal .d.now b i{background:#fff;color:var(--brand)}
.cal .d.off{opacity:.5}
.cal .ev{display:block;font-size:11.5px;line-height:1.35;color:var(--ink2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cal .ev:hover{color:var(--brand)}
.cal .d.now .ev:hover{color:#ffe3df}
.cal .none{font-size:11px;color:var(--ink3);opacity:.6}
.cal .ev.more{margin-top:auto;font-weight:700;color:var(--ink3)}
.mcal + .glnav{margin-top:18px}
.glnav{display:flex;gap:8px;flex-wrap:wrap;margin:18px 0 6px}
.glnav a{display:inline-block;padding:6px 15px;border-radius:999px;border:1px solid var(--line);
  background:var(--card);font-size:14px;font-weight:400;color:var(--ink2)}
.glnav a:hover{border-color:var(--brand);color:var(--brand)}
.glnav li.on a{background:var(--brand);border-color:var(--brand);color:#fff}
.list{display:grid;grid-template-columns:repeat(auto-fill,minmax(148px,1fr));gap:16px}
.badge{display:inline-block;min-width:18px;padding:1px 5px;border-radius:4px;background:var(--brand);
  color:#fff;font-size:11px;font-weight:800;text-align:center}

@media (max-width:1000px){
  .hero-in{grid-template-columns:1fr;gap:20px}
  .datebox .dd{font-size:76px}
  .grid{grid-template-columns:repeat(auto-fill,minmax(126px,1fr));gap:13px}
}
@media (max-width:760px){
  .nav-in{height:54px;gap:10px}
  .logo em{display:none}
  .search{display:none}
  .hero{padding:26px 0 22px}
  .datebox .dd{font-size:64px}
  .hero h1{font-size:23px}
  .stats{gap:18px}
  .stat b{font-size:22px}

  .week{display:flex;overflow-x:auto;gap:9px;padding-bottom:6px;scroll-snap-type:x proximity;
    overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;scrollbar-width:none}
  .week::-webkit-scrollbar{display:none}
  .wd{flex:0 0 152px;min-height:138px;scroll-snap-align:start;scroll-snap-stop:always}
  .grid{grid-template-columns:repeat(3,1fr);gap:11px}
  .card h3{font-size:13px;min-height:36px}
  .rail .card{flex:0 0 118px}

  .mcal{gap:4px}
  .mc{min-height:70px;padding:6px 4px}
  .mc .n{font-size:13px}
  .mc .ev{font-size:10.5px}
  .cal{gap:4px}
  .cal .d{min-height:74px;padding:6px 4px}
  .cal .ev{font-size:10.5px}
  .sec-h h2{font-size:18px}
}
@media (max-width:420px){
  .grid{grid-template-columns:repeat(2,1fr)}
  .datebox .dd{font-size:56px}
  .menu a{padding:6px 11px;font-size:14px}
}

@media (max-width:560px){
  .mc.now .n{color:transparent;position:relative}
  .mc.now .n i{position:absolute;left:0;top:0;font-size:10px;margin-left:0}
}
@media print{.nav,.search,.chips{display:none}}

/* ===== 首屏类型标识带 + 每类配色（2026-10-10 方案A：差异化首屏） =====
   思路：hero 段挂 t-xxx 类 -> 设定 --accent 主色；.hero-band 是顶部彩色类型条；
   首屏主按钮 .btn.p 与状态点 .s-dot 随 --accent 变色，让 11 个模板首屏一眼可分。
   主色与现有海报 tag 同色系（tv红/juqing绿/yanyuan紫…），视觉协调。 */
.hero-band{display:inline-block;margin:0 0 14px;padding:5px 15px;border-radius:999px;
  font-size:12.5px;font-weight:600;letter-spacing:.4px;background:var(--accent,#888);color:#fff;
  box-shadow:0 0 0 1px rgba(255,255,255,.14)}
.hero.t-dsj    {--accent:rgba(224,52,44,.92)}
.hero.t-fenji  {--accent:rgba(26,156,83,.92)}
.hero.t-jieju  {--accent:rgba(240,90,40,.92)}
.hero.t-quanji {--accent:rgba(90,120,255,.92)}
.hero.t-zhuiju {--accent:rgba(140,80,200,.92)}
.hero.t-yanyuan{--accent:rgba(245,166,35,.95)}
.hero .btn.p   {background:var(--accent,#e0342c)}
.hero .s-dot   {background:var(--accent,#e0342c)}
.player.t-jieju{--accent:rgba(240,90,40,.92)}

.hero-metric{margin:6px 0 0;padding:7px 11px;border-left:3px solid var(--accent,#888);background:rgba(255,255,255,.05);border-radius:0 8px 8px 0}
.hero-metric .hm-v{font-size:16px;font-weight:600;color:#fff;line-height:1.3}
.hero-metric .hm-link{display:inline-block;margin-top:6px;color:var(--accent,#888);font-size:12px;font-weight:600;text-decoration:none}
.hero-metric .hm-link:hover{text-decoration:underline}
.hero-metric .hm-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.hero-metric .hm-chip{display:inline-block;font-size:12px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.16);border-radius:6px;padding:3px 9px;color:#fff;text-decoration:none}
.hero-metric .hm-chip:hover{border-color:var(--accent,#888)}
/* 移动端首屏极简变体：仅进度条（去卡片外壳，零冗余、近零增高） */
/* 移动端首屏极简变体：chips 单行横向滑动，不换行增高 */
.hero-metric.hm-scroll .hm-chips{flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;padding-bottom:2px;margin-top:4px}
.hero-metric.hm-scroll .hm-chip{flex:0 0 auto}

/* ★ 移动端首屏压缩（百度APP优先）：回收约70px，保住主CTA(立即观看等)落在第1屏 */
@media (max-width:760px){
  .hero{padding:14px 0 16px}
  .hero-band{margin:0 0 5px;padding:4px 12px;font-size:12px}
  .hero .lead{font-size:13.5px;line-height:1.45;margin-bottom:7px}
  .hero h1{margin-bottom:3px}
  .hero-metric{margin:6px 0 0;padding:6px 10px}
  .hero-metric .hm-v{font-size:14px}
}
/* 移动端点击高亮：去掉安卓/iOS WebView 默认的蓝色（或灰色）点击块；
   本文件为全站 11 个模板共用外链样式，新增模板无需再单独处理 */
a,button,summary,label,input,select,textarea,[role="button"],.btn{-webkit-tap-highlight-color:transparent}