/* PC 占位布局（2026-11-01）：把手机壳撑成桌面容器，等周一设计稿后重做视觉。
   原则：不改 proto/app/web.css 的类名，只覆盖尺寸与布局；JS 挂点（#screen/#overlay/#toast/#age-gate）不动。 */
:root { --pc-max: 1200px; --pc-bg: #0b0c0f; }
html, body.pc { background: var(--pc-bg); min-height: 100%; }
body.pc { display: flex; flex-direction: column; min-height: 100vh; }
.pc-wrap { max-width: var(--pc-max); margin: 0 auto; padding: 0 20px; display: flex; align-items: center; gap: 24px; }
.pc-header { position: sticky; top: 0; z-index: 50; height: 60px; background: #0f1014f2; backdrop-filter: blur(12px); border-bottom: 1px solid #ffffff10; }
.pc-header .pc-wrap { height: 60px; }
.pc-logo { font-weight: 800; letter-spacing: 3px; color: #ffe5e8; text-decoration: none; font-size: 15px; }
.pc-nav { display: flex; gap: 20px; }
.pc-nav a { color: #b8b5bf; text-decoration: none; font-size: 14px; font-weight: 600; padding: 6px 0; border-bottom: 2px solid transparent; }
.pc-nav a.active, .pc-nav a:hover { color: #fff; border-color: #ee3047; }
.pc-search { margin-left: auto; display: flex; align-items: center; background: #1b1c21; border: 1px solid #ffffff17; border-radius: 999px; height: 36px; padding: 0 6px 0 14px; width: 280px; }
.pc-search input { flex: 1; background: transparent; border: 0; outline: 0; color: #fff; font-size: 13px; min-width: 0; }
.pc-search button { width: 28px; height: 28px; border-radius: 50%; background: #ee3047; color: #fff; display: grid; place-items: center; border: 0; cursor: pointer; }
.pc-search button svg { width: 15px; height: 15px; }
.pc-user { display: flex; gap: 8px; }
.pc-icon { position: relative; width: 36px; height: 36px; display: grid; place-items: center; border-radius: 50%; color: #d8d5dd; background: #ffffff0a; }
.pc-icon svg { width: 18px; height: 18px; }
.pc-icon.active { color: #fff; background: #ee304733; }
.pc-dot { position: absolute; top: 7px; right: 8px; width: 7px; height: 7px; border-radius: 50%; background: #ee3047; display: none; }
.pc-icon.unread .pc-dot { display: block; }
/* 手机壳 → 桌面容器 */
main.device.pc-main { max-width: var(--pc-max); width: 100%; height: auto; min-height: calc(100vh - 110px); margin: 0 auto; overflow: visible; flex: 1; }
.pc-main #screen { position: static; inset: auto; height: auto; overflow: visible; padding: 20px 20px 40px; }
.pc-main #screen.no-nav { bottom: auto; }
.pc-main .age-gate { position: fixed; inset: 0; z-index: 60; background: #0c0c0f; max-width: none; }
.pc-main .age-gate-main { max-width: 420px; margin: auto; }
.pc-footer { border-top: 1px solid #ffffff10; padding: 18px 0 28px; color: #77727e; font-size: 12px; }
.pc-footer .pc-wrap { gap: 18px; }
.pc-footer a { color: #a7a4ab; text-decoration: none; }
/* 列表铺宽屏：海报网格 / 热门卡片 */
.pc-main .catalog, .pc-main .search-chart-grid { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 18px; }
.pc-main .hot-video-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.pc-main .home-discovery { max-width: none; }
.pc-main .hero-region { max-width: 980px; margin: 0 auto 24px; }
.pc-main .home-hero { aspect-ratio: 21 / 9; min-height: 0; }
/* 浮层（Sheet）在桌面居中显示，宽度收到 520 */
.pc-main .sheet, #overlay .sheet { max-width: 520px; left: 50%; transform: translateX(-50%); }
/* 播放页：左播放器 右集列表 */
.pc-watch { display: grid; grid-template-columns: minmax(0, 1fr) 320px; gap: 24px; align-items: start; }
.pc-watch-main .player-root { position: relative; aspect-ratio: 9 / 16; max-height: 78vh; width: auto; margin: 0 auto; background: #000; border-radius: 12px; overflow: hidden; }
.pc-watch-info { padding: 16px 4px; }
.pc-watch-info h2 { margin: 0 0 6px; font-size: 22px; }
.pc-watch-meta { color: #a7a4ab; font-size: 13px; margin: 0 0 10px; }
.pc-watch-desc { color: #d8d5dd; font-size: 14px; line-height: 1.7; max-width: 760px; }
.pc-watch-tags span { display: inline-block; background: #ffffff0f; border-radius: 999px; padding: 3px 10px; font-size: 12px; margin: 0 6px 6px 0; color: #c6c0c4; }
.pc-watch-side { background: #121318; border: 1px solid #ffffff10; border-radius: 12px; padding: 14px; position: sticky; top: 76px; max-height: calc(100vh - 100px); overflow-y: auto; }
.pc-watch-side h3 { margin: 0 0 12px; font-size: 14px; color: #d8d5dd; }
.pc-ep-list { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(5, 1fr); gap: 8px; }
.pc-ep { display: flex; flex-direction: column; align-items: center; justify-content: center; height: 44px; border-radius: 8px; background: #1b1c21; color: #fff; text-decoration: none; font-size: 13px; font-weight: 600; }
.pc-ep.active { background: #ee3047; }
.pc-ep.locked { color: #8f8d97; }
.pc-ep small { font-size: 9px; line-height: 1; margin-top: 2px; }
@media (max-width: 960px) { .pc-watch { grid-template-columns: 1fr; } .pc-main .catalog, .pc-main .search-chart-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } .pc-nav { display: none; } .pc-search { width: 180px; } }
/* 原型里 nav / header / footer / form / input 是按标签写的手机壳规则，顶栏与页脚要全部复位 */
header.pc-header { display: block; padding: 0; gap: 0; border-bottom: 1px solid #ffffff10; }
.pc-header nav.pc-nav { position: static; inset: auto; height: auto; width: auto; background: none; border: 0; padding: 0; display: flex; gap: 20px; flex-direction: row; }
.pc-header form.pc-search { position: static; padding: 0 6px 0 14px; gap: 0; background: #1b1c21; }
.pc-header .pc-search input { padding: 0; margin: 0; border-radius: 0; font-size: 13px; background: transparent; width: auto; }
footer.pc-footer { font-size: 12px; color: #77727e; text-align: left; margin: 0; letter-spacing: 0; position: static; }
.pc-footer .pc-wrap { padding-top: 18px; padding-bottom: 28px; }
main.device.pc-main { background: transparent; }
/* 原型把 html/body 钉成视口高（手机壳），桌面要按内容撑开 */
html, body.pc { height: auto !important; min-height: 100vh; overflow: visible !important; }
body.pc { display: block; }
main.device.pc-main { min-height: 60vh; height: auto !important; }
