/* YouTube-style channel page (dark mode). Stage 1, 2026-11-08. Scoped to .ytch so nothing else changes. */
.ytch{--yt-text:#f1f1f1;--yt-sub:#aaa;--yt-chip:#272727;--yt-chip-h:#3f3f3f;--yt-line:rgba(255,255,255,.14)}
.ytch .ch-banner{display:grid;height:auto;aspect-ratio:6.2/1;max-height:210px;border-radius:12px;margin:6px 0 22px}
.ytch .ch-banner::after{background:linear-gradient(180deg,transparent 55%,rgba(0,0,0,.35))}

/* header */
.ytch-head{display:flex;align-items:center;gap:24px;margin-bottom:6px}
.ytch-head .ytch-av,.ytch-head .au-av{width:160px;height:160px;border-radius:50%;flex:none;object-fit:cover}
.ytch-info{min-width:0;display:flex;flex-direction:column;gap:8px}
.ytch-name{display:flex;align-items:center;gap:8px;margin:0;font-size:36px;line-height:1.15;font-weight:700;color:var(--yt-text)}
.ytch-name .vf{width:22px;height:22px;flex:none}
.ytch-meta{display:flex;flex-wrap:wrap;align-items:center;gap:6px;color:var(--yt-sub);font-size:14px}
.ytch-meta b{color:var(--yt-sub);font-weight:400}
.ytch-meta i{font-style:normal}
.ytch-bio{display:flex;gap:4px;max-width:720px;color:var(--yt-sub);font-size:14px;line-height:1.4;text-decoration:none}
.ytch-bio span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
.ytch-bio b{flex:none;color:var(--yt-text);font-weight:600}
.ytch-bio{margin:0;cursor:pointer}
.ytch-bio.open{cursor:auto}
.ytch-bio.open span{white-space:normal}
.ytch-bio.open b{display:none}
.ytch-act{display:flex;gap:8px;margin-top:4px}
.ytch .ytch-sub{background:var(--yt-text);color:#0f0f0f;border:0;border-radius:18px;height:36px;padding:0 18px;font-size:14px;font-weight:600}
.ytch .ytch-sub.on{background:var(--yt-chip);color:var(--yt-text)}
.ytch .ytch-sub:hover{filter:brightness(.9)}

/* tabs */
.ytch-tabs{display:flex;gap:28px;border-bottom:1px solid var(--yt-line);margin:14px 0 4px;overflow-x:auto;scrollbar-width:none}
.ytch-tabs::-webkit-scrollbar{display:none}
.ytch-tabs a{flex:none;padding:12px 0;font-size:16px;font-weight:600;color:var(--yt-sub);text-decoration:none;border-bottom:2px solid transparent;margin-bottom:-1px}
.ytch-tabs a:hover{color:var(--yt-text)}
.ytch-tabs a.on{color:var(--yt-text);border-bottom-color:var(--yt-text)}

/* shelves */
.ytsh{padding:22px 0 18px;border-bottom:1px solid var(--yt-line)}
.ytsh:last-child{border-bottom:0}
.ytsh-h{display:flex;align-items:center;gap:14px;margin-bottom:14px}
.ytsh-h h2{margin:0;font-size:20px;font-weight:700;color:var(--yt-text)}
.ytsh-play,.ytsh-more{display:inline-flex;align-items:center;gap:6px;border-radius:18px;padding:6px 12px;font-size:14px;font-weight:600;text-decoration:none;color:var(--yt-text)}
.ytsh-play{background:var(--yt-chip)}
.ytsh-play:hover{background:var(--yt-chip-h)}
.ytsh-play .ico{width:16px;height:16px}
.ytsh-more{margin-left:auto;color:#3ea6ff}
.ytsh-more:hover{background:rgba(62,166,255,.12)}
.ytch .ytsh-wide .ytrow{grid-auto-columns:calc((100% - 4*16px)/5);gap:16px}
.ytch .ytsh-tall .ytrow{grid-auto-columns:calc((100% - 6*12px)/7);gap:12px}
.ytch .row-nav{top:calc(50% - 46px)}

/* cards */
.ytc{display:block;color:inherit;text-decoration:none;min-width:0}
.ytc-th{position:relative;display:block;aspect-ratio:16/9;border-radius:12px;overflow:hidden;background:#1f1f1f}
.ytc-bg{position:absolute;inset:-24px;background-size:cover;background-position:center;filter:blur(20px) brightness(.5);transform:scale(1.15)}
.ytc-th img{position:relative;display:block;height:100%;width:auto;max-width:100%;margin:0 auto;object-fit:contain}
.ytc-dur{position:absolute;right:6px;bottom:6px;background:rgba(0,0,0,.82);color:#fff;font-size:12px;font-weight:600;line-height:1;padding:3px 5px;border-radius:4px;letter-spacing:.2px}
.ytc h3{margin:10px 0 4px;font-size:15px;font-weight:600;line-height:1.35;color:var(--yt-text);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.ytc-meta{display:block;font-size:13px;color:var(--yt-sub);text-decoration:none}
.ytc:hover h3{color:#fff}
.ytc:hover .ytc-th img{transform:scale(1.03);transition:transform .25s}
.ytc-tall .ytc-th{aspect-ratio:9/16}
.ytc-tall .ytc-th img{width:100%;height:100%;object-fit:cover}

/* grids (Dramas / Vertical tabs) */
.ytgrid{display:grid;gap:36px 16px;margin-top:6px}
.ytgrid-wide{grid-template-columns:repeat(4,minmax(0,1fr))}
.ytgrid-tall{grid-template-columns:repeat(6,minmax(0,1fr));gap:28px 12px}

/* filter chips */
.ytchips{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0 20px}
.ytchips a{background:var(--yt-chip);color:var(--yt-text);border-radius:8px;padding:6px 12px;font-size:14px;font-weight:600;text-decoration:none}
.ytchips a:hover{background:var(--yt-chip-h)}
.ytchips a.on{background:var(--yt-text);color:#0f0f0f}

/* collections (playlists) */
.ytpl h3{margin:10px 0 4px;font-size:15px;font-weight:600;color:var(--yt-text)}
.ytpl{padding-top:8px}
.ytpl-th{box-shadow:0 -5px 0 -2px #4a4a4a,0 -10px 0 -5px #2e2e2e}
.ytpl-count{position:absolute;right:6px;bottom:6px;display:flex;align-items:center;gap:4px;background:rgba(0,0,0,.82);color:#fff;font-size:12px;font-weight:600;padding:3px 6px;border-radius:4px}
.ytpl-count .ico{width:13px;height:13px}
.ytpl-play{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;gap:6px;background:rgba(0,0,0,.6);color:#fff;font-weight:700;opacity:0;transition:opacity .2s;border-radius:12px}
.ytpl-th:hover .ytpl-play{opacity:1}
.ytch-about{margin-top:20px}

@media (max-width:1280px){.ytgrid-wide{grid-template-columns:repeat(3,minmax(0,1fr))}.ytgrid-tall{grid-template-columns:repeat(5,minmax(0,1fr))}.ytch .ytsh-wide .ytrow{grid-auto-columns:calc((100% - 3*16px)/4)}}
@media (max-width:960px){
  .ytch .ch-banner{aspect-ratio:4/1;border-radius:10px;margin:4px 0 14px}
  .ytch-head{gap:14px;align-items:flex-start}
  .ytch-head .ytch-av,.ytch-head .au-av{width:72px;height:72px}
  .ytch-name{font-size:22px}
  .ytch-bio{max-width:100%}
  .ytch-tabs{gap:22px}
  .ytgrid-wide{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 12px}
  .ytgrid-tall{grid-template-columns:repeat(3,minmax(0,1fr))}
  .ytch .ytsh-wide .ytrow{grid-auto-columns:72%}
  .ytch .ytsh-tall .ytrow{grid-auto-columns:38%}
}
@media (max-width:520px){.ytgrid-wide{grid-template-columns:1fr}.ytgrid-tall{grid-template-columns:repeat(2,minmax(0,1fr))}.ytch-head .ytch-act{margin-top:2px}}
