/* Viewer only: preserve CP/admin styling, player controls and their hit areas. */
body.viewer-premium {
  --bg:#0b0e0e;
  --surface:#131818;
  --bg-soft:#19201e;
  --text:#f0f1ec;
  --muted:#a1aaa8;
  --border:#293330;
  --accent:#55dfc0;
  --accent-ink:#09251e;
}
html:has(body.viewer-premium) { view-transition-name:none; }
.viewer-premium .viewer-main { view-transition-name:viewer-content; }
::view-transition-group(viewer-content) { animation:none; }
::view-transition-old(viewer-content) { animation:viewer-fade-out 260ms ease-in-out both; }
::view-transition-new(viewer-content) { animation:viewer-fade-in 260ms ease-in-out both; }
@keyframes viewer-fade-out { from {opacity:1} to {opacity:0} }
@keyframes viewer-fade-in { from {opacity:0} to {opacity:1} }
@media(prefers-reduced-motion:reduce) {
  ::view-transition-old(viewer-content),::view-transition-new(viewer-content) { animation:none; }
}
.viewer-premium .viewer-header {
  background:var(--bg);
  border-bottom:1px solid var(--border);
  padding-block:18px;
}
.viewer-premium .container { max-width:1100px; }
.viewer-premium .viewer-main { padding-top:26px; }
.viewer-premium .btn { border-radius:8px; min-height:44px; }
.viewer-premium .btn-primary { box-shadow:none; }
.viewer-premium .home-intro { margin-bottom:26px; }
.viewer-premium .home-intro h1 { font-weight:600; letter-spacing:-.6px; }
.viewer-premium .home-category-chips .btn { background:transparent; border:0; border-bottom:2px solid transparent; border-radius:0; color:var(--muted); }
.viewer-premium .home-category-chips .btn[aria-pressed=true] { color:var(--accent); border-bottom-color:var(--accent); }
.viewer-premium .hero-card {
  display:block;
  background:transparent;
  border:0;
  border-radius:0;
  height:auto;
  overflow:visible;
  margin-bottom:36px;
}
.premium-hero-heading { display:flex; align-items:center; justify-content:space-between; gap:12px; font-size:15px; font-weight:600; margin:0 0 14px; }
.premium-header-search { display:none; }
.viewer-premium .hero-art {
  position:relative;
  width:100%;
  height:auto;
  min-height:0;
  aspect-ratio:16/9;
  padding:0;
  overflow:hidden;
  border:0;
  border-radius:12px;
  background:var(--surface);
}
.viewer-premium .hero-art img { width:100%; height:100%; object-fit:cover; display:block; }
.viewer-premium .hero-body {
  min-width:0;
  position:static;
  width:auto;
  margin:0;
  padding:20px 0 0;
  background:transparent;
  border:0;
  border-radius:0;
  box-shadow:none;
}
.viewer-premium .hero-title { font-size:28px; font-weight:600; line-height:1.4; margin:7px 0 10px; }
.viewer-premium .hero-synopsis { color:var(--muted); font-size:14px; line-height:1.8; margin:0; white-space:normal; overflow-wrap:anywhere; }
.premium-work-meta { color:var(--accent); font-size:12px; margin:0; }
.premium-work-access { color:var(--muted); font-size:12px; margin:12px 0 0; }
.premium-hero-actions { display:flex; gap:12px; margin-top:20px; }
.premium-hero-actions .btn-primary { flex:1; min-height:48px; }
.premium-hero-actions>.btn:last-child { min-width:110px; }
.viewer-premium .story-card {
  background:transparent;
  border:0;
  border-radius:0;
  box-shadow:none;
}
.viewer-premium .story-body { padding:10px 0 4px; }
.viewer-premium .story-title { font-weight:500; font-size:15px; }
.viewer-premium .story-meta { color:var(--muted); line-height:1.65; }
.viewer-premium .story-thumb { background:transparent; padding:0; color:var(--muted); font-size:12px; }
.viewer-premium .home-resume-play { background:transparent; font-size:0; }
.viewer-premium .home-resume-track { height:2px; }
.viewer-premium .home-resume-card strong { display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; white-space:normal; height:40px; line-height:20px; }
.viewer-premium .home-resume-episode { height:18px; line-height:18px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.viewer-premium .home-continue { margin:30px 0; }
.viewer-premium .home-section-heading h2 { font-size:19px; font-weight:600; }
.viewer-premium .panel { border-radius:10px; box-shadow:none; }
.viewer-premium .catalog-filters { border-bottom:1px solid var(--border); padding-bottom:20px; gap:10px; }
.viewer-premium .catalog-filters .btn { font-size:12px; }
.viewer-premium .bottom-nav { background:var(--bg); border-top:1px solid var(--border); }
.viewer-premium .bottom-nav button {
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:6px;
  border:0;
  border-radius:0;
  background:transparent;
  min-height:64px;
  color:var(--muted);
  font-size:11px;
}
.viewer-premium .bottom-nav button.active { color:var(--accent); background:transparent; }
.viewer-premium .bottom-nav svg { width:22px; height:22px; }
.viewer-premium #player-section { border:0; background:transparent; padding:0; }
.viewer-premium #player-section>.row h2 { font-weight:600; }
.viewer-premium #player-section video { background:#000; }
.viewer-premium #player-section .table-wrap { border:0; background:transparent; }
.viewer-premium #player-section td { padding-block:18px; }
.premium-detail { max-width:900px; margin-inline:auto; }
.premium-detail-art { display:block; width:100%; aspect-ratio:16/9; object-fit:cover; border-radius:12px; margin-bottom:22px; background:var(--surface); }
.premium-detail h1 { font-size:28px; line-height:1.5; font-weight:600; margin:8px 0 12px; }
.premium-detail h2 { font-size:18px; margin:30px 0 12px; }
.premium-episode { display:flex; align-items:center; justify-content:space-between; gap:18px; padding:18px 0; border-bottom:1px solid var(--border); }
.premium-episode strong { font-size:14px; font-weight:500; }
.premium-episode p { color:var(--muted); font-size:12px; margin:6px 0 0; }
.premium-episode .btn { flex-shrink:0; font-size:12px; }
@media(min-width:901px) {
  .viewer-premium .hero-card { display:grid; grid-template-columns:minmax(0,1.35fr) minmax(0,1fr); gap:0 32px; align-items:center; }
  .premium-hero-heading { grid-column:1/-1; }
  .viewer-premium .hero-body { padding:0; }
}
@media(max-width:600px) {
  .viewer-premium #app[data-view=home] .viewer-search-bar { display:none; }
  .viewer-premium #app[data-view=home] .premium-header-search { display:inline-flex; align-items:center; justify-content:center; min-width:40px; min-height:44px; color:var(--text); border:0; background:none; }
  .premium-header-search svg { width:21px; height:21px; }
  .viewer-premium .viewer-main { padding-inline:20px; padding-top:20px; }
  .viewer-premium .hero-card { height:auto; margin-bottom:30px; }
  .viewer-premium .hero-art { height:auto; padding:0; }
  .viewer-premium .hero-title { font-size:24px; }
  .viewer-premium .hero-body { padding:16px 0 0; }
  .viewer-premium .hero-synopsis { display:block; font-size:13px; }
  .viewer-premium .premium-hero-actions .btn { display:flex; align-items:center; justify-content:center; }
  .viewer-premium .premium-hero-actions>.btn:last-child { min-width:94px; }
  .viewer-premium .story-title { font-size:13px; }
  .viewer-premium .home-resume-card { flex-basis:calc((100vw - 52px)/2); }
}
