/* fed173 tv- 深绿自然风 + 横版卡片 */
*{margin:0;padding:0;box-sizing:border-box}
:root{
  --bg:#0d2818;
  --bg2:#143524;
  --bg3:#1e4d32;
  --line:#1e4d32;
  --ink:#e8f5e9;
  --mut:#81c784;
  --accent:#66bb6a;
  --accent2:#a5d6a7;
}
body{background:var(--bg);color:var(--ink);font:14px/1.6 -apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif;overflow-x:hidden;min-height:100vh}
a{color:inherit;text-decoration:none}
img{border:0;display:block}

/* 顶部通栏搜索 */
.tv-top{background:var(--bg2);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:90}
.tv-top-in{max-width:1280px;margin:0 auto;padding:14px 24px;display:flex;align-items:center;gap:16px}
.tv-logo{font-size:20px;font-weight:900;color:var(--accent);flex-shrink:0}
.tv-search{flex:1;max-width:400px;display:flex;background:var(--bg3);border:1px solid var(--line);border-radius:24px;overflow:hidden}
.tv-search input{flex:1;border:0;outline:none;background:transparent;padding:9px 16px;font-size:13px;color:var(--ink);min-width:0}
.tv-search button{padding:0 18px;background:transparent;border:0;color:var(--accent);font-size:16px;cursor:pointer}
.tv-hamburger{width:42px;height:42px;background:var(--bg3);border:1px solid var(--line);border-radius:50%;color:var(--ink);font-size:18px;cursor:pointer;display:none;align-items:center;justify-content:center;margin-left:auto}
.tv-nav{border-top:1px solid var(--line)}
.tv-nav-in{max-width:1280px;margin:0 auto;padding:0 24px;display:flex;justify-content:center;gap:4px;overflow-x:auto;scrollbar-width:none}
.tv-nav-in::-webkit-scrollbar{display:none}
.tv-nav-in a{padding:11px 28px;font-size:14px;color:var(--mut);white-space:nowrap;transition:.2s}
.tv-nav-in a.on,.tv-nav-in a:hover{color:var(--accent)}

/* 抽屉 */
.tv-mask{position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:95;opacity:0;pointer-events:none;transition:.3s}
.tv-mask.on{opacity:1;pointer-events:auto}
.tv-drawer{position:fixed;right:0;top:0;bottom:0;width:280px;background:var(--bg2);border-left:1px solid var(--line);z-index:96;transform:translateX(100%);transition:.3s;overflow-y:auto;padding:24px}
.tv-drawer.on{transform:translateX(0)}
.tv-drawer-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px;padding-bottom:14px;border-bottom:1px solid var(--line)}
.tv-drawer-head b{color:var(--accent);font-size:16px}
.tv-drawer-head button{background:none;border:0;color:var(--mut);font-size:18px;cursor:pointer}
.tv-drawer-item{display:block;padding:13px 12px;color:var(--ink);font-size:15px;transition:.2s}
.tv-drawer-item:hover{background:var(--bg3)}
.tv-drawer-sep{border-bottom:1px solid var(--line);margin:14px 0}

/* 通栏hero */
.tv-hero{width:100%;overflow:hidden}
.tv-hero-card{position:relative;display:block;aspect-ratio:21/8;max-height:480px}
.tv-hero-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.tv-hero-mask{position:absolute;inset:0;background:linear-gradient(to top,rgba(13,40,24,.9),transparent 60%)}
.tv-hero-text{position:absolute;left:5%;bottom:8%;color:#fff}
.tv-hero-kicker{font-size:12px;color:var(--accent2);letter-spacing:2px;margin-bottom:8px}
.tv-hero-text h2{font-size:32px;font-weight:900;margin-bottom:6px;text-shadow:0 2px 10px rgba(0,0,0,.5)}
.tv-hero-text p{font-size:13px;color:#ccc}

/* 主体 */
.tv-body{max-width:1280px;margin:0 auto;padding:30px 24px}
.tv-sec{margin-bottom:36px}
.tv-sec-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px;border-left:4px solid var(--accent);padding-left:12px}
.tv-sec-head h2{font-size:20px;font-weight:800}
.tv-sec-head h2 small{font-size:12px;color:var(--mut);font-weight:400;margin-left:8px}
.tv-sec-head a{font-size:13px;color:var(--mut)}
.tv-sec-head a:hover{color:var(--accent)}

/* 横版卡片（左小海报右信息） */
.tv-hlist{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.tv-hcard{display:grid;grid-template-columns:120px 1fr;gap:14px;padding:12px;background:var(--bg2);border:1px solid var(--line);border-radius:12px;transition:.2s}
.tv-hcard:hover{border-color:var(--accent)}
.tv-hcard-pic{width:120px;aspect-ratio:2/3;object-fit:cover;border-radius:8px}
.tv-hcard-info{min-width:0;padding:4px 0}
.tv-hcard-info h3{font-size:15px;font-weight:700;margin-bottom:6px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tv-hcard-meta{font-size:12px;color:var(--mut);margin-bottom:6px}
.tv-hcard-desc{font-size:12px;color:#66bb6a;line-height:1.6;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin-bottom:8px}
.tv-hcard-score{font-size:14px;color:var(--accent);font-weight:700}

/* 竖版海报网格（flex-wrap） */
.tv-grid{display:flex;flex-wrap:wrap;gap:14px}
.tv-card{flex:0 0 calc((100% - 56px)/5);min-width:0}
@media (max-width:1100px) and (min-width:769px){
  .tv-card{flex:0 0 calc((100% - 42px)/4);}
}
.tv-card-pic{position:relative;display:block;aspect-ratio:2/3;overflow:hidden;background:var(--bg2);border:1px solid var(--line);border-radius:8px;transition:.2s}
.tv-card:hover .tv-card-pic{border-color:var(--accent)}
.tv-card-pic img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border-radius:8px}
.tv-card-flag{position:absolute;left:6px;top:6px;background:var(--accent);color:var(--bg);font-size:10px;padding:2px 8px;border-radius:4px;z-index:2;font-weight:600}
.tv-card-name{display:block;font-size:13px;font-weight:600;padding-top:8px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tv-card-meta{display:flex;justify-content:space-between;font-size:11px;color:var(--mut);padding-top:2px}

/* 标签 */
.tv-tags{display:flex;flex-wrap:wrap;gap:8px}
.tv-tags a{padding:7px 14px;background:var(--bg2);border:1px solid var(--line);border-radius:16px;font-size:12px;color:var(--mut)}
.tv-tags a:hover{color:var(--accent);border-color:var(--accent)}

/* 面包屑 */
.tv-crumb{max-width:1280px;margin:0 auto;padding:16px 24px;font-size:13px;color:var(--mut)}
.tv-crumb a{color:var(--mut)}
.tv-crumb b{color:var(--accent)}

/* 详情 */
.tv-detail{display:flex;gap:32px;align-items:flex-start;margin-bottom:30px}
.tv-detail-poster{width:200px;aspect-ratio:2/3;object-fit:cover;border-radius:10px;flex-shrink:0}
.tv-detail-info{flex:1}
.tv-detail-title{font-size:28px;font-weight:800;margin-bottom:10px}
.tv-detail-score{font-size:14px;color:var(--mut);margin-bottom:14px}
.tv-detail-score b{font-size:28px;color:var(--accent)}
.tv-detail-meta p{font-size:13px;line-height:2.2;color:var(--mut)}
.tv-detail-meta label{display:inline-block;width:50px;color:var(--mut)}
.tv-detail-flag{margin-top:10px;color:var(--accent);font-size:13px}
.tv-detail-btn{display:inline-block;margin-top:18px;padding:12px 40px;background:var(--accent);color:var(--bg);font-weight:700;border-radius:24px}

/* 选集 */
.tv-eps{display:flex;flex-wrap:wrap;gap:8px}
.tv-ep{padding:9px 16px;background:var(--bg2);border:1px solid var(--line);border-radius:6px;font-size:13px;transition:.2s}
.tv-ep:hover{border-color:var(--accent);color:var(--accent)}
.tv-ep.on{background:var(--accent);color:var(--bg);border-color:var(--accent)}
.tv-eps .tv-ep:nth-child(n+13){display:none}
.tv-eps.open .tv-ep:nth-child(n+13){display:block}
.tv-eps-more{text-align:center;margin-top:14px}
.tv-eps-btn{background:var(--bg2);border:1px solid var(--line);color:var(--mut);padding:8px 28px;border-radius:20px;font-size:13px;cursor:pointer}

/* 描述 */
.tv-desc{font-size:14px;line-height:2;color:var(--mut);background:var(--bg2);border:1px solid var(--line);border-radius:10px;padding:20px}

/* FAQ */
.tv-faq{display:flex;flex-direction:column;gap:10px}
.tv-faq-i{padding:16px 18px;background:var(--bg2);border:1px solid var(--line);border-radius:10px}
.tv-faq-i b{color:var(--accent);font-size:13px;display:block;margin-bottom:6px}
.tv-faq-i p{font-size:13px;color:var(--mut);line-height:1.8}

/* 评论 */
.tv-cmt{display:flex;gap:14px;padding:16px 0;border-bottom:1px solid var(--line)}
.tv-cmt-av{width:42px;height:42px;background:var(--accent);color:var(--bg);display:flex;align-items:center;justify-content:center;font-weight:700;flex-shrink:0;border-radius:50%}
.tv-cmt-body{flex:1;min-width:0}
.tv-cmt-h{display:flex;gap:10px;align-items:center;margin-bottom:4px;flex-wrap:wrap}
.tv-cmt-h b{font-size:13px;color:var(--ink)}
.tv-cmt-h i{font-size:11px;color:var(--mut);font-style:normal}
.tv-star{color:var(--accent)}
.tv-cmt-body p{font-size:13px;line-height:1.7;color:var(--mut)}

/* 筛选 */
.tv-filter{max-width:1280px;margin:20px auto;padding:0 24px}
.tv-filter-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;padding:14px 18px;background:var(--bg2);border:1px solid var(--line);border-radius:10px}
.tv-filter-head b{color:var(--ink);font-size:14px}
.tv-filter-toggle{background:transparent;border:1px solid var(--line);color:var(--mut);font-size:12px;padding:5px 14px;border-radius:6px;cursor:pointer}
.tv-filter-row{display:flex;gap:12px;padding:10px 0;align-items:flex-start}
.tv-filter-key{flex-shrink:0;width:60px;font-size:12px;color:var(--accent);font-weight:600;padding-top:5px}
.tv-filter-scroll{display:flex;gap:8px;overflow-x:auto;flex:1;scrollbar-width:none;flex-wrap:wrap}
.tv-filter-scroll::-webkit-scrollbar{display:none}
.tv-chip{flex-shrink:0;padding:7px 14px;background:var(--bg2);border:1px solid var(--line);border-radius:16px;font-size:12px;color:var(--mut);white-space:nowrap}
.tv-chip.on{background:var(--accent);color:var(--bg);border-color:var(--accent)}
.tv-filter-more{display:none}
.tv-filter:not(.collapsed) .tv-filter-more{display:block}

/* 列表 */
.tv-list-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}
.tv-list-head h1{font-size:24px;font-weight:800}
.tv-list-head span{font-size:13px;color:var(--mut)}

/* 分页 */
.tv-pager{display:flex;gap:6px;flex-wrap:wrap;justify-content:center;padding:24px 0}
.tv-pager-btn{padding:9px 16px;background:var(--bg2);border:1px solid var(--line);border-radius:6px;font-size:13px;color:var(--mut)}
.tv-pager-btn.on{background:var(--accent);color:var(--bg);border-color:var(--accent)}

/* 播放 */
.tv-play-head{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:16px}
.tv-play-head h1{font-size:20px;font-weight:800;flex:1}
.tv-play-head h1 small{font-size:13px;color:var(--mut);font-weight:400;margin-left:8px}
.tv-play-nav{display:flex;gap:8px}
.tv-play-nav a{padding:8px 18px;background:var(--bg2);border:1px solid var(--line);border-radius:20px;font-size:13px;color:var(--mut)}
.tv-player{aspect-ratio:16/9;background:var(--bg2);border:1px solid var(--line);border-radius:12px;overflow:hidden;margin-bottom:24px}
.tv-player iframe,.tv-player embed,.tv-player object,.tv-player video{width:100%!important;height:100%!important;border:0}
.tv-player-empty{color:var(--mut);text-align:center;padding:80px 0}

/* 底部 */
.tv-foot{border-top:1px solid var(--line);margin-top:40px;background:var(--bg2);padding:40px 24px;text-align:center}
.tv-foot-links{display:flex;justify-content:center;gap:20px;flex-wrap:wrap;margin-bottom:16px}
.tv-foot-links a{font-size:13px;color:var(--mut)}
.tv-foot-links a:hover{color:var(--accent)}
.tv-foot-copy{font-size:12px;color:#66bb6a}

/* 手机 */
@media (max-width:768px){
  body{overflow-x:hidden}
  .tv-top-in{padding:12px;flex-wrap:wrap;gap:10px}
  .tv-hamburger{display:flex;order:2}
  .tv-logo{order:1;flex:1;font-size:18px}
  .tv-search{order:3;flex-basis:100%;max-width:100%}
  .tv-nav{display:none}

  .tv-hero-card{aspect-ratio:16/10;max-height:none}
  .tv-hero-text{left:16px;bottom:16px;max-width:90%}
  .tv-hero-text h2{font-size:20px}

  .tv-body{padding:16px 12px 30px}
  .tv-sec{margin-bottom:28px}
  .tv-sec-head h2{font-size:16px}

  /* 横版卡片手机端单列 */
  .tv-hlist{grid-template-columns:1fr;gap:10px}
  .tv-hcard{grid-template-columns:80px 1fr;gap:10px;padding:10px}
  .tv-hcard-pic{width:80px}
  .tv-hcard-info h3{font-size:13px}
  .tv-hcard-desc{display:none}

  /* 竖版卡片手机端3列 */
  .tv-grid{gap:10px}
  .tv-card{flex:0 0 calc((100% - 20px)/3);}
  .tv-card-pic{border-radius:6px}
  .tv-card-pic img{border-radius:6px}
  .tv-card-name{font-size:11px;padding-top:6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .tv-card-meta{font-size:10px}

  .tv-detail{flex-direction:column;align-items:center;gap:16px}
  .tv-detail-poster{width:140px}
  .tv-detail-info{text-align:center}
  .tv-detail-title{font-size:22px}
  .tv-detail-meta p{font-size:12px;line-height:1.9;text-align:left}

  .tv-filter{padding:0 12px}
  .tv-filter-row{flex-direction:column;gap:6px;align-items:flex-start}
  .tv-filter-key{width:auto;font-size:11px}
  .tv-filter-scroll{flex-wrap:wrap;gap:6px}
  .tv-chip{font-size:11px;padding:5px 10px}

  .tv-play-head{flex-wrap:wrap}
  .tv-play-head h1{font-size:16px;flex-basis:100%}
  .tv-player{border-radius:0;border-left:0;border-right:0;margin-left:-12px;margin-right:-12px}

  .tv-crumb{padding:12px;font-size:12px}
  .tv-pager{padding:16px 0;gap:4px}
  .tv-pager-btn{padding:7px 12px;font-size:12px}
  .tv-eps{gap:6px}
  .tv-ep{padding:7px 12px;font-size:12px;border-radius:6px}
  .tv-desc{padding:16px;font-size:13px;line-height:1.8}
}
