/* Shared visual rules for navigation, episode controls and both players. */
:root{--ui-bg:#08080b;--ui-panel:#111117;--ui-border:#2a2a35;--ui-muted:#9999aa;--ui-accent:#ff567e;--ui-active:linear-gradient(135deg,#ff416e,#d91c4d)}
body{background:var(--ui-bg);font-family:Arial,"PingFang SC","Microsoft YaHei",sans-serif}
body header{height:72px;min-height:72px;padding:0 5%;gap:24px;background:#0d0d12;border-bottom:1px solid var(--ui-border)}
header .logo{gap:0;color:#fff;font-size:28px;font-weight:800;letter-spacing:-1px}header .logo span{color:var(--ui-accent)}
header .home-link,.detail-back{font-size:13px;color:#a8a8b5}
.episodes,.hp-episodes{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;margin-top:16px;max-height:340px;overflow-y:auto;padding:2px}
.episodes button,.episodes a,.detail-episode{position:relative;display:flex;align-items:center;justify-content:center;min-width:0;height:46px;min-height:46px;padding:6px;border:1px solid var(--ui-border);border-radius:10px;background:#18181f;color:#c8c8d0;font-size:13px;font-weight:500;text-decoration:none;transition:background .15s,border-color .15s}
.detail-episode:not(.is-locked){background:#18181f;border-color:var(--ui-border);color:#c8c8d0}
.episodes button.selected,.episodes a.active,.episodes [aria-current=page]{background:var(--ui-active);border-color:#ff547b;color:#fff;box-shadow:0 3px 14px #f52c5930}
.episodes button.selected:after{content:none}.detail-episode.is-locked{background:#13131b;color:#777787;border-color:#24242f}
.episode-heading,.detail-section-title h2{font-size:18px;font-weight:600;margin:22px 0 14px}
.step-button,.catalog-watch #retry{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:10px 16px;background:#1b1b24;border:1px solid var(--ui-border);border-radius:10px;color:#ddd;font-size:13px;text-decoration:none}
.step-button[hidden],#video[hidden],#play[hidden],#retry[hidden],#cover[hidden]{display:none!important}.step-button:disabled{opacity:.4;cursor:default}
.episode-steps{display:flex;align-items:center;gap:12px;margin:0 0 22px}.episode-progress{flex:1;text-align:center;color:var(--ui-muted);font-size:12px}
.watch-page main{display:grid;grid-template-columns:minmax(0,1fr) 400px;gap:28px;max-width:1500px;margin:0 auto;padding:24px 5%;min-height:calc(100vh - 72px);align-items:start}
.watch-page .stage{top:24px;height:calc(100svh - 120px);max-height:900px;min-height:340px;border:1px solid var(--ui-border);border-radius:16px;overflow:hidden;background:#000}
.watch-page .stage video{width:100%;height:100%;max-height:100%;object-fit:contain;transform:none;background:#000}
.watch-page .back{width:42px;height:42px;font-size:27px;line-height:40px;top:16px;left:16px}
.watch-page aside{padding:8px 0 24px;max-height:none;overflow:visible}.watch-page h1{font-size:24px;line-height:1.4;margin:0 0 20px}.watch-page .breadcrumb{font-size:12px;margin-bottom:12px}.watch-page .description{font-size:14px;line-height:1.8}.watch-page .description p{white-space:pre-line}.catalog-watch .description p{display:block}.watch-page .about{display:flex;gap:14px;align-items:center;margin-top:26px;padding-top:22px;border-top:1px solid var(--ui-border)}.watch-page .about img{width:70px;height:94px;object-fit:cover;border-radius:9px}.watch-page .about h3{font-size:14px;line-height:1.6}.watch-page .about p{font-size:12px;color:var(--ui-muted)}
.catalog-status{font-size:13px;color:var(--ui-muted);line-height:1.7}.catalog-watch progress{width:100%;accent-color:var(--ui-accent);margin:0 0 18px}
@media(hover:hover){.episodes button:not(.selected):hover,.episodes a:not(.active):hover,.detail-episode:hover{background:#292932;border-color:#a65772}.step-button:hover{border-color:#a65772;color:#fff}}
@media(max-width:900px){body header{height:62px;min-height:62px;padding:10px 20px;gap:14px}header .logo{font-size:25px}.watch-page main{display:flex;flex-direction:column;padding:16px;gap:16px}.watch-page .stage{position:relative;top:0;width:100%;height:55svh;min-height:260px;max-height:560px;border-radius:12px}.watch-page aside{width:100%;padding:4px 0 24px}.watch-page h1{font-size:21px}.watch-page .episode-panel{order:initial;margin:0;padding:0;border:0}.watch-page .episodes{max-height:270px}.watch-page .mobile-episode-bar{width:100%;border:1px solid var(--ui-border);border-radius:10px}.watch-page .about{margin-top:24px}.detail-episode-grid{grid-template-columns:repeat(6,minmax(0,1fr))}}
@media(max-width:390px){.episodes{grid-template-columns:repeat(5,minmax(0,1fr))}}

.episodes a[hidden],.ranges[hidden]{display:none!important}
