:root {
  color-scheme: light;
  --bg: #fff;
  --txt: #202124;
  --sub: #85878c;
  --line: #ededee;
  --surface: #f5f5f6;
  --red: #d93645;
  --red-soft: #fceef0;
  --viewport-height: 100vh;
  --inset-top: env(safe-area-inset-top, 0px);
  --inset-bottom: env(safe-area-inset-bottom, 0px);
  --inset-left: env(safe-area-inset-left, 0px);
  --inset-right: env(safe-area-inset-right, 0px);
  --safe-top: clamp(0px, var(--inset-top), min(64px, calc(var(--viewport-height) * .1)));
  --safe-bottom: clamp(0px, var(--inset-bottom), min(48px, calc(var(--viewport-height) * .1)));
  --safe-left: clamp(0px, var(--inset-left), min(64px, 10vw));
  --safe-right: clamp(0px, var(--inset-right), min(64px, 10vw));
  --tabbar-height: 59px;
}
@supports (height: 100dvh) {
  :root { --viewport-height: 100dvh; }
}
* { box-sizing: border-box; -webkit-tap-highlight-color: transparent; }
html, body { margin: 0; padding: 0; }
body { background: #f5f5f6; color: var(--txt); font: 14px/1.5 -apple-system, BlinkMacSystemFont, "PingFang SC", "Microsoft YaHei", sans-serif; }
button, input { font: inherit; appearance: none; -webkit-appearance: none; }
button { cursor: pointer; color: inherit; }
button:disabled { cursor: default; opacity: .4; }
button, a, input { touch-action: manipulation; }
button:active, a:active { opacity: .7; }
:focus-visible { outline: 2px solid var(--red); outline-offset: 3px; }
[hidden] { display: none !important; }
.app { max-width: 600px; margin: auto; min-height: var(--viewport-height); padding: 0 var(--safe-right) 0 var(--safe-left); background: var(--bg); }
#view { padding-bottom: calc(var(--tabbar-height) + var(--safe-bottom)); }
.icon { width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; flex-shrink: 0; }
#topnav { display: none; }
#tabbar { position: fixed; bottom: 0; left: 50%; transform: translateX(-50%); width: 100%; max-width: 600px; height: calc(var(--tabbar-height) + var(--safe-bottom)); z-index: 60; display: flex; background: #fff; border-top: 1px solid var(--line); padding: 4px var(--safe-right) var(--safe-bottom) var(--safe-left); }
.tab { flex: 1; border: 0; background: none; text-decoration: none; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 3px; min-height: 54px; color: var(--sub); font-size: 11px; }
.tab .ic { display: flex; }
.tab.on { color: var(--txt); font-weight: 600; }
.tab.on .ic { color: var(--red); }
.tab[hidden] { display: none !important; }
.tab:focus-visible { background: var(--surface); }
.topbar, .searchbar { border-bottom: 1px solid var(--line); }
.topbar { display: flex; align-items: center; gap: 12px; padding: calc(12px + var(--safe-top)) 16px 12px; min-height: 56px; background: #fff; }
.topbar .ttl { font-size: 18px; font-weight: 600; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.back { flex-shrink: 0; border: 0; padding: 8px; margin-left: -8px; background: none; display: flex; }
.home-header { padding-bottom: 4px; }
.home-brand { font-size: 22px; font-weight: 650; letter-spacing: -.5px; white-space: nowrap; }
.searchpill { display: flex; align-items: center; gap: 8px; text-decoration: none; color: var(--sub); background: var(--surface); border-radius: 6px; height: 40px; padding: 0 12px; flex: 1; min-width: 0; font-size: 13px; }
.searchpill .icon { width: 18px; height: 18px; }
.searchpill span { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.chips { display: flex; gap: 24px; overflow-x: auto; scrollbar-width: none; padding: 0 16px; border-bottom: 1px solid var(--line); }
.chips::-webkit-scrollbar { display: none; }
.chip { flex-shrink: 0; background: none; border: 0; border-bottom: 2px solid transparent; border-radius: 0; padding: 15px 0 11px; font-size: 15px; color: #75777c; }
.chip.on { color: var(--txt); font-weight: 600; border-bottom-color: var(--red); }
.seclabel { display: flex; align-items: baseline; gap: 12px; padding: 20px 16px 12px; }
.seclabel b { font-size: 16px; font-weight: 600; }
.seclabel span { margin-left: auto; color: var(--sub); font-size: 12px; }
.grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 20px 10px; padding: 16px; }
.card { display: block; text-decoration: none; color: inherit; min-width: 0; }
.card .cover { display: block; width: 100%; aspect-ratio: 2/3; object-fit: cover; background: var(--surface); border-radius: 4px; }
.card .t { margin-top: 7px; font-size: 13px; font-weight: 500; line-height: 1.5; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.badge { display: flex; gap: 6px; justify-content: space-between; margin-top: 3px; color: var(--sub); font-size: 10px; min-height: 15px; }
.badge span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.badge .cnt { flex-shrink: 0; }
.loading, .empty, .errbox { padding: 40px 20px; text-align: center; color: var(--sub); font-size: 13px; line-height: 1.8; }
.empty p { margin: 8px 0 20px; }
.errbox { color: #a33b44; }
.errbox .btn { margin-top: 16px; }
.loader { width: 20px; height: 20px; margin: 0 auto 10px; border: 2px solid var(--line); border-top-color: var(--sub); border-radius: 50%; animation: spin .8s linear infinite; }
@keyframes spin { to { transform: rotate(360deg); } }
.btn { display: inline-flex; align-items: center; justify-content: center; gap: 6px; border: 0; border-radius: 5px; background: var(--red); color: #fff; padding: 11px 18px; min-height: 42px; font-size: 14px; font-weight: 500; }
.btn.gray { background: var(--surface); color: var(--txt); }
.btn.sm { padding: 9px 16px; }
.dwrap { padding: 16px; }
.dleft, .dright { min-width: 0; }
.dright { border-top: 1px solid var(--line); margin-top: 20px; padding-top: 4px; }
.dhead { display: flex; gap: 18px; }
.dhead img { width: 112px; aspect-ratio: 2/3; object-fit: cover; border-radius: 4px; background: var(--surface); align-self: flex-start; }
.dinfo { display: flex; flex-direction: column; min-width: 0; flex: 1; }
.dinfo h1 { font-size: 20px; line-height: 1.4; margin: 1px 0 12px; font-weight: 600; }
.dmeta { display: flex; gap: 6px 8px; flex-wrap: wrap; }
.dmeta .tg { font-size: 11px; color: #72747a; }
.dmeta .tg + .tg::before { content: '·'; margin-right: 8px; color: #b8b8bc; }
.dact { margin-top: auto; padding-top: 16px; }
.dact .btn { width: 100%; }
.dintro { margin-top: 24px; padding-bottom: 22px; border-bottom: 1px solid var(--line); color: #72747a; font-size: 13px; line-height: 1.85; }
.dintro::before { content: '剧情简介'; display: block; font-size: 15px; font-weight: 600; color: var(--txt); margin-bottom: 8px; }
.more { border: 0; background: none; padding: 4px; color: var(--txt); font-size: 12px; }
.more:empty { display: none; }
.dright .seclabel { padding-left: 0; padding-right: 0; }
.eps { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: 8px; }
.ep { min-width: 0; min-height: 44px; padding: 10px 2px; border: 1px solid transparent; border-radius: 4px; background: var(--surface); font-size: 12px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ep.done { color: var(--red); }
.ep.busy { color: var(--red); background: var(--red-soft); border-color: #f1ccd1; }
.searchbar { display: flex; align-items: center; gap: 8px; padding: calc(12px + var(--safe-top)) 16px 12px; background: #fff; position: sticky; top: 0; z-index: 40; }
.search-field { display: flex; align-items: center; gap: 8px; flex: 1; min-width: 0; height: 42px; background: var(--surface); border-radius: 6px; padding: 0 10px; color: var(--sub); }
.search-field .icon { width: 19px; height: 19px; }
.search-field input { min-width: 0; width: 100%; border: 0; outline: none; background: none; color: var(--txt); padding: 10px 0; }
.search-field:focus-within { outline: 1px solid #bfc0c4; }
.search-field input::placeholder { color: #96989d; }
.search-clear { border: 0; background: none; display: flex; padding: 8px 0 8px 4px; }
.searchbar .go { border: 0; background: none; padding: 10px 0 10px 8px; font-weight: 500; }
.stabs { display: flex; padding: 0 16px; gap: 28px; border-bottom: 1px solid var(--line); }
.stab { border: 0; border-bottom: 2px solid transparent; background: none; padding: 10px 0; color: var(--sub); font-size: 15px; }
.stab.on { color: var(--txt); font-weight: 600; border-bottom-color: var(--red); }
.hotline { padding: 16px 16px 0; color: var(--sub); font-size: 12px; }
.search-cover { display: block; position: relative; width: 100%; height: 0; padding-top: 150%; }
.card .search-cover .cover { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }
.search-suggestions { padding: 22px 16px; }
.search-suggestions h2 { font-size: 15px; margin: 0 0 16px; font-weight: 600; }
.suggestions { display: flex; gap: 10px; flex-wrap: wrap; }
.suggestions button { border: 0; border-radius: 4px; background: var(--surface); padding: 9px 18px; font-size: 13px; }
.mine-summary { padding: 16px 16px 24px; border-bottom: 8px solid var(--surface); display: flex; align-items: center; gap: 14px; }
.avatar { width: 48px; height: 48px; border-radius: 6px; display: grid; place-items: center; background: var(--surface); color: #777980; }
.avatar .icon { width: 26px; height: 26px; }
.mine-summary h1 { font-size: 17px; margin: 0 0 4px; font-weight: 600; }
.mine-summary p { margin: 0; color: var(--sub); font-size: 12px; }
.share-friend { display: flex; align-items: center; gap: 12px; width: calc(100% - 32px); margin: 16px; padding: 14px; border: 0; border-radius: 10px; background: linear-gradient(135deg, var(--red-soft), #fff); text-align: left; font-family: inherit; color: var(--txt); }
.share-friend:active { opacity: .88; }
.share-logo { width: 44px; height: 44px; border-radius: 10px; object-fit: cover; flex-shrink: 0; }
.share-text { display: flex; flex-direction: column; gap: 4px; min-width: 0; flex: 1; }
.share-text strong { font-size: 15px; font-weight: 600; }
.share-text span { font-size: 12px; color: var(--sub); }
.share-cta { flex-shrink: 0; padding: 7px 12px; border-radius: 14px; background: var(--red); color: #fff; font-size: 12px; font-weight: 500; white-space: nowrap; }
.sec-h { padding: 20px 16px 4px; display: flex; align-items: baseline; justify-content: space-between; }
.sec-h h2 { margin: 0; font-size: 16px; font-weight: 600; }
.sec-h span { font-size: 12px; color: var(--sub); }
#histbox { padding: 0 16px; }
.histcard { display: flex; align-items: center; gap: 12px; border-bottom: 1px solid var(--line); padding: 16px 0; }
.hist-link { display: flex; align-items: center; gap: 12px; min-width: 0; flex: 1; text-decoration: none; color: inherit; }
.histcard img { width: 56px; aspect-ratio: 2/3; object-fit: cover; border-radius: 4px; background: var(--surface); }
.histcard .hi { min-width: 0; flex: 1; }
.histcard .ht { font-size: 14px; font-weight: 500; white-space: nowrap; text-overflow: ellipsis; overflow: hidden; }
.histcard .hs { font-size: 11px; color: var(--sub); margin-top: 7px; }
.histcard .continue { color: var(--red); font-size: 12px; margin-top: 6px; }
.histcard .del { border: 0; background: none; padding: 12px 4px 12px 12px; color: #a0a1a6; display: flex; }
.histcard .del .icon { width: 18px; height: 18px; pointer-events: none; }
#toast { position: fixed; top: 45%; left: 50%; transform: translate(-50%,-50%); background: #27282c; color: #fff; padding: 11px 18px; border-radius: 5px; font-size: 13px; z-index: 200; display: none; max-width: 85%; }
.is-player { background: #000; overflow: hidden; color-scheme: dark; }
.is-player .app { max-width: none; padding: 0; background: #000; }
.is-player #topnav, .is-player #tabbar { display: none !important; }
.is-player #view { padding: 0 !important; }
/* 推荐流首页：全屏，保留底部导航 */
.is-feed { background: #000; overflow: hidden; }
.is-feed #topnav { display: none !important; }
.is-feed #tabbar { display: flex !important; }
.is-feed .app { background: #000; }
.is-feed #view { padding: 0 !important; }
.rg-page { position: fixed; inset: 0; bottom: calc(var(--tabbar-height) + var(--safe-bottom)); z-index: 50; background: #000; color: #fff; overflow: hidden; }
.rg-feed { height: 100%; overflow-y: auto; scroll-snap-type: y mandatory; overscroll-behavior-y: contain; scrollbar-width: none; background: #000; }
.rg-feed::-webkit-scrollbar { display: none; }
.rg-slide { position: relative; height: 100%; scroll-snap-align: start; scroll-snap-stop: always; overflow: hidden; background: #000; }
.rg-poster { position: absolute; inset: -2%; background-size: cover; background-position: center 22%; transform: scale(1.04); }
.rg-media { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: contain; background: #000; opacity: 0; transition: opacity .32s ease; z-index: 1; }
.rg-media.ready { opacity: 1; }
.rg-shade { position: absolute; inset: 0; z-index: 2; pointer-events: none;
  background:
    linear-gradient(180deg, rgba(0,0,0,.62) 0%, rgba(0,0,0,.06) 26%, rgba(0,0,0,0) 46%),
    linear-gradient(0deg, rgba(0,0,0,.86) 0%, rgba(0,0,0,.42) 26%, rgba(0,0,0,0) 55%),
    radial-gradient(120% 90% at 50% 40%, transparent 55%, rgba(0,0,0,.28) 100%); }
.rg-topbar { position: absolute; top: 0; left: 0; right: 0; z-index: 5; padding: calc(12px + var(--safe-top)) 12px 10px 16px; display: flex; align-items: center; gap: 10px; }
.rg-tabs { display: flex; align-items: center; gap: 20px; flex: 1; min-width: 0; }
.rg-tab { appearance: none; border: 0; background: none; padding: 4px 0; color: rgba(255,255,255,.62); font-size: 16px; font-weight: 500; font-family: inherit; white-space: nowrap; }
.rg-tab.on { color: #fff; font-weight: 700; }
.rg-icon { appearance: none; border: 0; background: none; color: #fff; width: 34px; height: 34px; display: grid; place-items: center; padding: 0; flex-shrink: 0; }
.rg-state { position: absolute; left: 50%; top: 50%; transform: translate(-50%,-50%); z-index: 6; display: flex; flex-direction: column; align-items: center; gap: 10px; padding: 12px 18px; border-radius: 12px; background: rgba(0,0,0,.42); color: rgba(255,255,255,.9); font-size: 13px; text-align: center; transition: opacity .25s ease, visibility .25s ease; }
.rg-state.gone { opacity: 0; visibility: hidden; }
.rg-state.error { background: rgba(0,0,0,.7); }
.rg-state.tap { cursor: pointer; }
.rg-spinner { width: 26px; height: 26px; border-radius: 50%; border: 2px solid rgba(255,255,255,.24); border-top-color: #fff; animation: rg-spin .8s linear infinite; }
@keyframes rg-spin { to { transform: rotate(360deg); } }
.rg-retry { margin-top: 4px; border: 0; border-radius: 14px; background: #fe2c55; color: #fff; height: 28px; padding: 0 14px; font-size: 12px; font-family: inherit; }
.rg-pause { position: absolute; left: 50%; top: 50%; transform: translate(-50%,-50%); z-index: 7; width: 70px; height: 70px; border-radius: 50%; display: grid; place-items: center; background: rgba(0,0,0,.4); opacity: 0; visibility: hidden; transition: opacity .2s, visibility .2s; pointer-events: none; }
.rg-slide.paused .rg-pause { opacity: 1; visibility: visible; }
.rg-meta { position: absolute; left: 16px; right: 16px; bottom: calc(30px + var(--safe-bottom)); z-index: 5; }
.rg-title { margin: 0 0 6px; font-size: 18px; line-height: 1.3; font-weight: 700; text-shadow: 0 2px 14px rgba(0,0,0,.5); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.rg-tags { display: flex; align-items: center; gap: 8px; margin-bottom: 9px; flex-wrap: wrap; }
.rg-tag { font-size: 11px; line-height: 20px; padding: 0 8px; border-radius: 4px; background: rgba(255,255,255,.14); color: rgba(255,255,255,.9); }
.rg-ep { font-size: 11px; line-height: 20px; padding: 0 8px; border-radius: 4px; background: rgba(254,44,85,.22); color: #ffb3c2; }
.rg-desc { margin: 0 0 14px; font-size: 12.5px; line-height: 1.55; color: rgba(255,255,255,.74); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.rg-cta { display: flex; align-items: center; margin-top: 2px; }
.rg-btn { appearance: none; border: 0; width: 100%; height: 42px; border-radius: 21px; background: #fe2c55; color: #fff; font-size: 14px; font-weight: 600; font-family: inherit; }
.rg-progress { position: absolute; left: 0; right: 0; bottom: 0; height: 2px; background: rgba(255,255,255,.16); z-index: 6; }
.rg-progress i { display: block; height: 100%; width: 0; background: rgba(255,255,255,.8); }
/* 点画面中间隐藏/显示控件 */
.rg-topbar, .rg-meta, .rg-shade, .rg-progress { transition: opacity .2s ease; }
.rg-slide.controls-hidden .rg-topbar,
.rg-slide.controls-hidden .rg-meta,
.rg-slide.controls-hidden .rg-shade,
.rg-slide.controls-hidden .rg-progress,
.rg-slide.controls-hidden .rg-pause { opacity: 0; pointer-events: none; }
.rg-boot { position: absolute; inset: 0; z-index: 8; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 10px; background: #000; transition: opacity .25s ease, visibility .25s ease; }
.rg-boot.hide { opacity: 0; visibility: hidden; }
.rg-boot span { font-size: 13px; color: rgba(255,255,255,.7); }
.pwrap { position: fixed; inset: 0 0 auto; width: 100%; height: var(--viewport-height); background: #000; color: #fff; z-index: 99; overflow: hidden; }
.pleft { position: relative; width: 100%; height: 100%; background: #000; overflow: hidden; }
.player-clean-hint { position: absolute; top: 38%; left: 50%; transform: translate(-50%, -50%); display: flex; align-items: center; gap: 6px; width: max-content; max-width: calc(100% - 48px); box-sizing: border-box; padding: 0; border: 0; background: transparent; color: rgba(255,255,255,.9); font-size: 13px; font-weight: 400; line-height: 1.6; white-space: nowrap; text-shadow: 0 1px 4px rgba(0,0,0,.9); z-index: 9; pointer-events: none; }
.player-clean-hint-gesture { display: block; width: 32px; height: 32px; flex-shrink: 0; overflow: visible; }
.player-clean-hint-hand { animation: player-clean-hint-press 1.8s ease-in-out 3; }
.player-clean-hint-ring { opacity: 0; transform-origin: 27px 19px; animation: player-clean-hint-ripple 1.8s ease-out 3; }
@keyframes player-clean-hint-press { 0%, 65%, 100% { transform: translateY(0); } 25%, 35% { transform: translateY(2px); } }
@keyframes player-clean-hint-ripple { 0%, 20% { opacity: 0; transform: scale(.5); } 25% { opacity: .8; transform: scale(.5); } 65%, 100% { opacity: 0; transform: scale(1.6); } }
@media (prefers-reduced-motion: reduce) {
  .player-clean-hint-hand, .player-clean-hint-ring { animation: none; }
}
.phead { position: absolute; inset: 0; width: 100%; height: 100%; background: #000; touch-action: pan-x; }
.phead video, .phead .h265web-video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: contain; background: #000; }
.phead .h265web-video canvas { display: block; width: 100%; height: 100%; object-fit: contain; }

/* 顶部栏：返回 + 标题 + 全屏 */
.ptopbar { position: absolute; top: var(--safe-top); left: 0; right: 0; height: 48px; z-index: 10; display: flex; align-items: center; justify-content: space-between; padding: 0 max(16px, var(--safe-right)) 0 max(16px, var(--safe-left)); pointer-events: none; }
.ptopbar > * { pointer-events: auto; }
.pback-hg { width: 36px; height: 36px; display: grid; place-items: center; background: rgba(0,0,0,0.3); backdrop-filter: blur(4px); border: 0; color: #fff; border-radius: 50%; }
.ptop-title { font-size: 15px; font-weight: 500; text-shadow: 0 1px 3px rgba(0,0,0,0.8); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 60%; }
.ptop-actions { display: flex; align-items: center; gap: 8px; }
.ptop-btn { width: 36px; height: 36px; display: grid; place-items: center; background: rgba(0,0,0,0.3); backdrop-filter: blur(4px); border: 0; color: #fff; border-radius: 50%; }

/* 播放状态提示条 */
.pstatebar { position: absolute; top: calc(52px + var(--safe-top)); left: max(16px, var(--safe-left)); right: max(6px, var(--safe-right)); z-index: 10; display: flex; align-items: center; gap: 8px; pointer-events: none; }
#pst { min-width: 0; flex: 0 1 auto; }
#pst:not(:empty) { display: inline-block; max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; background: rgba(0,0,0,0.7); backdrop-filter: blur(8px); padding: 5px 12px; border-radius: 14px; font-size: 12px; color: #ff861b; font-weight: 500; }

/* 中间大播放暂停反馈图标 (暂停时居中微透显示) */
.play-center-btn { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); width: 64px; height: 64px; background: rgba(0,0,0,0.45); backdrop-filter: blur(4px); border-radius: 50%; display: grid; place-items: center; z-index: 8; pointer-events: auto; cursor: pointer; transition: opacity .2s, transform .2s; }
.play-center-btn svg { width: 32px; height: 32px; fill: #fff; margin-left: 4px; }
.play-center-btn.playing { opacity: 0; pointer-events: none; transform: translate(-50%, -50%) scale(0.8); }

/* 底部信息层与控制栏 */
.pbottom-info { position: absolute; left: 0; right: 0; bottom: 0; z-index: 12; padding: 30px max(16px, var(--safe-right)) max(14px, var(--safe-bottom)) max(16px, var(--safe-left)); background: #101010; pointer-events: none; }
.pbottom-info > * { pointer-events: auto; }
.pbottom-text { margin-bottom: 8px; min-width: 0; }
.pbottom-title { font-size: 16px; font-weight: 600; line-height: 1.4; text-shadow: 0 1px 3px rgba(0,0,0,0.8); display: flex; align-items: center; gap: 8px; }
.pbottom-title > span:first-child { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.pbottom-badge { flex-shrink: 0; white-space: nowrap; font-size: 11px; font-weight: normal; background: #ff861b; color: #fff; padding: 1px 6px; border-radius: 4px; }
.pbottom-desc { font-size: 13px; color: rgba(255,255,255,0.85); margin-top: 4px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; text-shadow: 0 1px 2px rgba(0,0,0,0.8); }

/* 播放器进度条 (红果特色：沉浸滑轨) */
.seek { height: 18px; display: flex; align-items: center; cursor: pointer; touch-action: none; margin-bottom: 6px; }
.seek-track { position: relative; width: 100%; height: 3px; background: rgba(255,255,255,0.25); border-radius: 2px; }
.seek-track i { position: absolute; inset: 0 auto 0 0; width: 0; border-radius: inherit; }
.seek-track #pbuffer { background: rgba(255,255,255,0.4); }
.seek-track #pprogress { background: #ff861b; }
.seek-track b { position: absolute; top: 50%; left: 0; width: 8px; height: 8px; border-radius: 50%; background: #fff; box-shadow: 0 0 4px rgba(0,0,0,0.5); transform: translate(-50%, -50%); transition: transform .1s; }
.seek:hover .seek-track b, .seek:active .seek-track b { transform: translate(-50%, -50%) scale(1.6); }

/* 底部工具条：时间、倍速、选集胶囊 */
.pfooter-bar { display: flex; flex-wrap: nowrap; gap: 8px; align-items: center; justify-content: space-between; min-width: 0; font-size: 12px; color: rgba(255,255,255,0.9); }
.pfooter-left { display: flex; align-items: center; gap: 10px; white-space: nowrap; }
.ptime-text { font-variant-numeric: tabular-nums; font-size: 11px; opacity: 0.85; white-space: nowrap; }
.prate-wrap { position: relative; flex-shrink: 0; }
.prate-menu { position: absolute; bottom: calc(100% + 10px); left: 50%; transform: translateX(-50%); z-index: 20; display: flex; flex-direction: column; gap: 4px; width: 88px; max-height: max(0px, calc(var(--viewport-height) - var(--safe-top) - var(--safe-bottom) - 100px)); overflow-y: auto; overscroll-behavior: contain; padding: 6px; border: 1px solid rgba(255,255,255,0.15); border-radius: 10px; background: rgba(28,28,30,0.96); box-shadow: 0 4px 20px rgba(0,0,0,0.4); }
.prate-option { flex-shrink: 0; border: 0; border-radius: 6px; background: transparent; color: #fff; min-height: 32px; padding: 6px 10px; font-size: 12px; white-space: nowrap; }
.prate-option:hover, .prate-option[aria-pressed="true"] { background: #ff861b; color: #fff; }
.prate-btn, .pquality-btn { border: 0; background: rgba(255,255,255,0.12); color: #fff; padding: 2px 8px; border-radius: 10px; font-size: 11px; cursor: pointer; }
.pquality-wrap { position: relative; flex-shrink: 0; }
.pquality-menu { position: absolute; bottom: calc(100% + 10px); left: 50%; transform: translateX(-50%); z-index: 20; display: flex; flex-direction: column; gap: 4px; width: 88px; max-height: calc(var(--viewport-height) - var(--safe-top) - var(--safe-bottom) - 100px); overflow-y: auto; padding: 6px; border: 1px solid rgba(255,255,255,0.15); border-radius: 10px; background: rgba(28,28,30,0.96); }
.pquality-option { border: 0; border-radius: 6px; background: transparent; color: #fff; min-height: 32px; padding: 6px 10px; font-size: 12px; white-space: nowrap; }
.pquality-option:hover, .pquality-option[aria-pressed="true"] { background: #ff861b; color: #fff; }
.pmute-btn { border: 0; background: transparent; color: #fff; font-size: 11px; padding: 2px 4px; cursor: pointer; opacity: 0.85; }
.pplay-btn { display: grid; place-items: center; flex-shrink: 0; width: 32px; height: 32px; padding: 6px; border: 0; border-radius: 50%; background: transparent; color: #fff; cursor: pointer; opacity: 0.85; }
.pplay-btn svg { width: 20px; height: 20px; fill: currentColor; }
.pplay-btn:hover { opacity: 1; background: rgba(255,255,255,0.12); }
.pplay-btn:focus-visible { outline: 2px solid #ff861b; outline-offset: 2px; }
.pep-capsule { display: inline-flex; flex: 0 0 auto; flex-shrink: 0; width: max-content; max-width: 100%; white-space: nowrap; word-break: keep-all; overflow: hidden; align-items: center; gap: 6px; background: rgba(255,255,255,0.18); backdrop-filter: blur(6px); border: 0; color: #fff; font-size: 12px; padding: 5px 14px; border-radius: 16px; font-weight: 500; cursor: pointer; }
.pep-capsule span { display: block; white-space: nowrap; word-break: keep-all; }
.pep-capsule svg { width: 14px; height: 14px; stroke: #fff; stroke-width: 2; fill: none; }

/* 准备/重试面板提示 */
#pact:empty { display: none; }
.player-actions { flex: 0 0 auto; margin-left: auto; display: flex; align-items: center; pointer-events: none; }
.player-actions > * { pointer-events: auto; }
#pact .player-action-icon { display: grid; place-items: center; width: 40px; height: 40px; padding: 9px; background: transparent; color: rgba(255,255,255,.88); border: 0; border-radius: 50%; }
.player-action-icon svg { width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; filter: drop-shadow(0 1px 2px #0008); }

/* 选集底部弹窗 (高保真还原红果样式) */
.sheet-mask { position: absolute; inset: 0; width: 100%; height: 100%; background: rgba(0,0,0,0.6); border: 0; z-index: 100; backdrop-filter: blur(2px); }
.pright { display: none; position: absolute; bottom: 0; left: 50%; transform: translateX(-50%); width: 100%; max-width: 600px; min-width: 0; height: 65%; max-height: calc(100% - var(--safe-top)); overflow-y: auto; background: #1c1c1e; color: #fff; color-scheme: dark; border-radius: 16px 16px 0 0; padding: 12px max(16px, var(--safe-right)) max(16px, var(--safe-bottom)) max(16px, var(--safe-left)); z-index: 101; overscroll-behavior: contain; touch-action: pan-y; }
.pright.open { display: flex; flex-direction: column; }
.sheet-handle { width: 36px; height: 4px; border-radius: 2px; background: rgba(255,255,255,0.25); margin: 0 auto 12px; flex-shrink: 0; }
.sheet-header-hg { display: flex; align-items: center; justify-content: space-between; margin-bottom: 12px; flex-shrink: 0; }
.sheet-title-area { display: flex; min-width: 0; align-items: baseline; gap: 8px; }
.sheet-title-area h3 { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; margin: 0; font-size: 16px; font-weight: 600; color: #fff; }
.sheet-title-area span { flex-shrink: 0; white-space: nowrap; font-size: 12px; color: rgba(255,255,255,0.5); }
.sheet-close-hg { flex-shrink: 0; }
.sheet-close-hg { width: 32px; height: 32px; display: grid; place-items: center; background: none; border: 0; color: rgba(255,255,255,0.6); border-radius: 50%; padding: 0; cursor: pointer; }

/* 选集范围Tabs */
.episode-ranges-hg { display: flex; gap: 10px; overflow-x: auto; margin-bottom: 12px; scrollbar-width: none; flex-shrink: 0; padding-bottom: 2px; }
.episode-ranges-hg::-webkit-scrollbar { display: none; }
.episode-ranges-hg button { border: 0; background: rgba(255,255,255,0.08); color: rgba(255,255,255,0.7); padding: 5px 12px; border-radius: 12px; font-size: 12px; flex-shrink: 0; cursor: pointer; }
.episode-ranges-hg button.on { background: #ff861b; color: #fff; font-weight: 500; }

/* 选集九宫格网格 */
#peps { display: grid; grid-template-columns: repeat(5, minmax(0,1fr)); align-content: start; min-height: 0; gap: 10px; overflow-y: auto; flex: 1; }
#peps .ep { background: rgba(255,255,255,0.08); color: #fff; border: 1px solid transparent; border-radius: 8px; height: 46px; font-size: 15px; font-weight: 500; display: grid; place-items: center; cursor: pointer; transition: all .15s; }
#peps .ep:active { transform: scale(0.95); }
#peps .ep.busy { background: #ff861b; color: #fff; font-weight: 600; box-shadow: 0 2px 8px rgba(255,134,27,0.4); }
.pwrap:fullscreen, .pwrap.is-fullscreen { width: 100%; height: 100%; }
.pwrap:-webkit-full-screen { width: 100%; height: 100%; }
.pwrap.video-landscape .phead video, .pwrap.video-portrait .phead video { object-fit: contain; object-position: center; }
.pwrap.controls-hidden .ptopbar,
.pwrap.controls-hidden .pstatebar,
.pwrap.controls-hidden .player-actions,
.pwrap.controls-hidden .play-center-btn,
.pwrap.controls-hidden .pbottom-info { visibility: hidden; }
.pwrap.controls-hidden :is(.ptopbar, .pstatebar, .player-actions, .play-center-btn, .pbottom-info),
.pwrap.controls-hidden :is(.ptopbar, .pstatebar, .player-actions, .play-center-btn, .pbottom-info) * { pointer-events: none; }
.pwrap.controls-hidden .prate-menu:not([hidden]),
.pwrap.controls-hidden .prate-menu:not([hidden]) *,
.pwrap.controls-hidden .pquality-menu:not([hidden]),
.pwrap.controls-hidden .pquality-menu:not([hidden]) * { visibility: visible; pointer-events: auto; }
@media (max-height: 480px) {
  .pbottom-info { padding-top: 12px; padding-bottom: max(6px, var(--safe-bottom)); }
  .pbottom-desc { display: none; }
  .pbottom-text { margin-bottom: 4px; }
  .seek { margin-bottom: 2px; }
  .pright { height: 85%; }
  .sheet-handle { margin-bottom: 8px; }
}
@media (min-width: 760px) {
  .app { max-width: 1120px; }
  #topnav { display: flex; align-items: center; gap: 40px; padding: var(--safe-top) 32px 0; height: calc(64px + var(--safe-top)); background: #fff; border-bottom: 1px solid var(--line); }
  #topnav .brand { font-size: 20px; font-weight: 600; color: var(--txt); text-decoration: none; }
  #topnav .tabs { display: flex; gap: 32px; height: 100%; }
  #topnav .tab { font-size: 14px; min-width: 32px; border-bottom: 2px solid transparent; padding-top: 2px; }
  #topnav .tab.on { border-bottom-color: var(--red); }
  .tn-right { margin-left: auto; width: 240px; }
  #tabbar { display: none; }
  #view { padding-bottom: var(--safe-bottom); }
  .home-header { display: none; }
  .topbar { padding: 20px 32px 12px; }
  .chips { padding: 0 32px; gap: 30px; }
  .chip { padding-top: 20px; padding-bottom: 15px; }
  .grid { grid-template-columns: repeat(6,minmax(0,1fr)); gap: 28px 16px; padding: 24px 32px; }
  .card .t { font-size: 14px; }
  .badge { font-size: 11px; }
  .dwrap { display: grid; grid-template-columns: 360px minmax(0,1fr); gap: 40px; padding: 16px 32px; }
  .dright .seclabel { padding-top: 0; }
  .dright .eps { grid-template-columns: repeat(6,minmax(0,1fr)); }
  .searchbar { position: static; max-width: 700px; padding: 24px 32px 16px; }
  .stabs { padding: 0 32px; }
  .hotline { padding-left: 32px; }
  .search-suggestions { padding: 28px 32px; }
  .mine-summary { margin: 8px 32px 0; padding: 16px 0 24px; border-bottom: 1px solid var(--line); }
  .share-friend { width: calc(100% - 64px); margin: 20px 32px; }
  .sec-h { padding: 24px 32px 4px; }
  #histbox { padding: 0 32px; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); column-gap: 36px; }
  #histbox .empty { grid-column: 1/-1; }
}
@media (max-width: 360px) {
  .home-brand { font-size: 19px; }
  .home-header { gap: 10px; }
  .searchpill { font-size: 12px; padding: 0 8px; }
  .dhead { gap: 12px; }
  .dhead img { width: 92px; }
  .dinfo h1 { font-size: 18px; }
  .pfooter-left { gap: 6px; }
  .pep-capsule { gap: 4px; padding-left: 8px; padding-right: 8px; }
}
/* 小说与短剧共用导航，内容样式独立。 */
.mode-switch { display: flex; align-items: center; gap: 14px; flex-shrink: 0; }
.mode-switch a { text-decoration: none; color: var(--sub); padding: 8px 0; }
.mode-switch a.on { color: var(--txt); box-shadow: inset 0 -2px var(--red); }
#topnav .mode-switch .brand:not(.on) { color: var(--sub); }
.novel-back { color: inherit; text-decoration: none; }
#novel-genders .stab { min-width: 44px; }
.novel-rank-heading { margin: 20px 16px 0; padding: 22px; background: #f5f1e8; border-left: 3px solid #a38856; }
.novel-rank-heading small { color: #806b47; letter-spacing: 2px; }
.novel-rank-heading h1 { font-size: 22px; margin: 8px 0; }
.novel-rank-heading p { margin: 0; font-size: 12px; color: #787064; }
.novel-list { display: grid; gap: 0 28px; padding: 0 16px; }
.novel-card { display: flex; align-items: center; gap: 16px; padding: 22px 0; border-bottom: 1px solid var(--line); color: inherit; text-decoration: none; min-width: 0; }
.novel-cover { display: flex; flex-direction: column; justify-content: space-between; flex-shrink: 0; width: 88px; height: 126px; padding: 12px 10px; background: #eee7d9; border: 1px solid #e0d6c2; border-left: 4px solid #bca77f; color: #554833; overflow: hidden; }
.novel-cover { position: relative; }
.novel-cover-text { display: flex; flex-direction: column; justify-content: space-between; height: 100%; }
.novel-cover.has-image { border: 0; background: var(--surface); }
.novel-cover.has-image .novel-cover-text { visibility: hidden; }
.novel-cover img { position: absolute; inset: 0; display: block; width: 100%; height: 100%; object-fit: cover; border-radius: 0; }
.novel-cover small { display: block; font-size: 10px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.novel-cover strong { font-family: Georgia, 'Songti SC', SimSun, serif; font-size: 16px; line-height: 1.5; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; overflow-wrap: anywhere; }
.novel-info { display: flex; flex-direction: column; min-width: 0; gap: 8px; }
.novel-info > strong { font-size: 16px; overflow-wrap: anywhere; }
.novel-info > small { color: var(--sub); }
.novel-info > span { color: #777; font-size: 12px; line-height: 1.8; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; overflow-wrap: anywhere; }
.novel-list-footer { padding: 28px 16px; text-align: center; color: var(--sub); }
.novel-detail { padding: 20px 16px; }
.novel-book-head { display: flex; gap: 20px; align-items: flex-start; }
.novel-book-head > div { min-width: 0; }
.novel-book-head .novel-cover { width: 110px; height: 160px; }
.novel-book-head h1 { font-size: 22px; margin: 0 0 12px; overflow-wrap: anywhere; }
.novel-book-head p { color: var(--sub); }
.novel-detail h2 { font-size: 17px; margin: 26px 0 12px; }
.novel-detail a.btn, .novel-reader a.btn, .novel-history a.btn { text-decoration: none; }
.novel-intro { white-space: pre-wrap; overflow-wrap: anywhere; line-height: 1.9; color: #72747a; }
.novel-directory-head { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; }
.novel-directory-head label { white-space: nowrap; font-size: 12px; color: var(--sub); }
.novel-directory-head input { width: 58px; padding: 8px 4px; border: 1px solid var(--line); border-radius: 4px; color: var(--txt); background: var(--bg); }
.novel-chapters { display: grid; grid-template-columns: minmax(0, 1fr); }
.novel-chapters a { text-decoration: none; color: inherit; padding: 14px 6px; border-bottom: 1px solid var(--line); overflow-wrap: anywhere; }
.novel-chapters a.on { color: var(--red); background: var(--red-soft); }
.novel-pagination { display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 24px 0; }
.novel-pagination .btn { padding: 10px 12px; }
.novel-history { padding: 0 16px; }
.novel-history .novel-cover { width: 56px; height: 82px; padding: 6px; }
.novel-history .novel-cover strong { font-size: 12px; -webkit-line-clamp: 2; }
.novel-history .novel-cover small { font-size: 8px; }
.novel-reader { max-width: 780px; margin: auto; padding: 40px 40px 64px; min-height: calc(var(--viewport-height) - 140px); }
body.novel-reading { --bg: #f5f0e5; --txt: #3e392f; --sub: #877e6e; --line: #e2dacb; --surface: #ebe3d4; --red: #887046; --red-soft: #e9dfcb; background: var(--bg); }
.novel-reading .app { max-width: none; background: var(--bg); }
.novel-reading #topnav, .novel-reading #tabbar { display: none; }
.novel-reading #view { padding-bottom: calc(76px + var(--safe-bottom)); }
.reader-top { display: flex; align-items: center; gap: 16px; min-height: 64px; padding: calc(10px + var(--safe-top)) 24px 10px; max-width: 860px; margin: auto; border-bottom: 1px solid var(--line); }
.reader-top a { display: grid; place-items: center; width: 44px; height: 44px; flex-shrink: 0; }
.reader-top span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 15px; }
.reader-top small { margin-left: auto; flex-shrink: 0; color: var(--sub); }
.reader-bottom { position: fixed; bottom: 0; left: 0; right: 0; z-index: 65; display: flex; justify-content: center; padding: 8px max(12px, var(--safe-right)) calc(8px + var(--safe-bottom)) max(12px, var(--safe-left)); background: var(--bg); border-top: 1px solid var(--line); }
.reader-bottom button { display: flex; align-items: center; justify-content: center; flex-direction: column; gap: 2px; flex: 1; max-width: 160px; min-height: 48px; border: 0; background: none; font-size: 13px; }
.reader-bottom button span { font-size: 18px; line-height: 22px; }
.reader-bottom button:hover { background: var(--surface); border-radius: 8px; }
.reader-dialog { position: fixed; inset: auto 0 0; margin: 0 auto; padding: 24px 24px max(20px, var(--safe-bottom)); width: min(100%, 560px); max-width: 100%; max-height: calc(var(--viewport-height) - var(--safe-top) - 24px); border: 1px solid var(--line); border-bottom: 0; border-radius: 20px 20px 0 0; background: var(--bg); color: var(--txt); box-shadow: 0 -8px 50px #0002; overflow: auto; }
.reader-dialog::backdrop { background: #15130f70; }
.reader-dialog-head { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.reader-dialog-head h2 { margin: 0; font-size: 20px; }
.reader-dialog button { min-height: 44px; border: 1px solid var(--line); border-radius: 8px; background: var(--surface); padding: 8px 12px; }
.reader-dialog-head button { display: grid; place-items: center; border: 0; background: none; }
.reader-directory-book { color: var(--sub); font-size: 13px; overflow-wrap: anywhere; }
.reader-directory-tools, .reader-directory-pager { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.reader-directory-tools { padding-bottom: 16px; font-size: 12px; }
.reader-directory-tools select { font: inherit; color: var(--txt); background: var(--bg); border: 1px solid var(--line); padding: 10px 6px; border-radius: 6px; max-width: 150px; }
.reader-chapters { overflow-y: auto; height: min(48vh, 430px); overscroll-behavior: contain; scrollbar-width: thin; }
.reader-chapters a { display: block; padding: 15px 12px; border-bottom: 1px solid var(--line); color: inherit; text-decoration: none; overflow-wrap: anywhere; font-size: 14px; }
.reader-chapters a[aria-current] { background: var(--red-soft); color: var(--red); font-weight: 600; border-radius: 6px; }
.reader-directory-pager { padding-top: 16px; font-size: 12px; }
.reader-font-controls, .reader-themes { display: flex; align-items: center; gap: 16px; }
.reader-font-controls button, .reader-themes button { flex: 1; }
.reader-setting-label { color: var(--sub); margin: 24px 0 12px; }
.reader-themes button[aria-pressed="true"] { border-color: var(--red); color: var(--red); box-shadow: inset 0 0 0 1px var(--red); }
.reader-dialog.settings { padding-bottom: max(28px, var(--safe-bottom)); }
.novel-reading .novel-reader-note { text-align: center; margin-top: 40px; }
.novel-reading .errbox { color: var(--txt); }
@media (max-width: 759px) {
  .novel-reader { padding: 28px 22px 40px; }
  .reader-top { padding-left: 10px; padding-right: 22px; }
  .reader-dialog { padding-left: 20px; padding-right: 20px; }
}
@media (max-height: 500px) {
  .reader-chapters { height: 25vh; }
  .reader-dialog { padding-top: 12px; }
}
.novel-reader-book, .novel-reader-note { color: var(--sub); font-size: 12px; }
.novel-reader h1 { font-size: 24px; margin: 16px 0 28px; overflow-wrap: anywhere; }
.novel-content { white-space: pre-wrap; overflow-wrap: anywhere; line-height: 2; font-family: Georgia, 'Songti SC', SimSun, serif; }
body.novel-dark { --bg: #202226; --txt: #d3d1cc; --sub: #a09e99; --line: #393b40; --surface: #303238; --red: #d5bb87; --red-soft: #39352d; background: #181a1e; color-scheme: dark; }
.novel-dark #topnav, .novel-dark #tabbar, .novel-dark .topbar { background: var(--bg); }
@media (min-width: 760px) {
  .novel-rank-heading { margin: 24px 32px 0; }
  .novel-list, .novel-history { padding: 0 32px; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 32px; }
  .novel-history > .empty { grid-column: 1 / -1; }
  .novel-detail { padding: 24px 32px; }
  .novel-chapters { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 24px; }
  .novel-reader { padding-top: 24px; }
}
/* 小说书房：独立色彩、版式与响应式布局。 */
body.novel-app:not(.novel-reading) { --bg: #fcfaf6; --txt: #292722; --sub: #817a70; --line: #e9e3d9; --surface: #f1ece3; --red: #a45732; --red-soft: #f5e9df; background: #f1ede6; }
.novel-app:not(.novel-reading) .app { background: var(--bg); }
.novel-app :is(.topbar, .searchbar, #topnav, #tabbar) { background: var(--bg); }
.novel-app .btn { border-radius: 8px; text-decoration: none; }
.novel-app .searchpill { border-radius: 9px; }
.novel-app .novel-home-heading { display: flex; align-items: center; justify-content: space-between; padding: 30px 24px 18px; gap: 16px; }
.novel-eyebrow { color: var(--sub); font-size: 11px; letter-spacing: 2px; margin: 0 0 12px; }
.novel-home-heading h1 { margin: 0; font-size: 32px; font-family: 'Songti SC', SimSun, serif; letter-spacing: 3px; }
.novel-home-heading h1 span { margin-left: 16px; font: 12px/1.5 -apple-system, 'Microsoft YaHei', sans-serif; color: var(--sub); letter-spacing: 1px; }
.novel-mode-link { color: var(--sub); font-size: 12px; text-decoration: none; white-space: nowrap; }
.novel-app .novel-home-search { margin: 0 24px 24px; height: 48px; padding: 0 16px; border: 1px solid var(--line); }
.novel-home-search b { color: var(--red); font-size: 12px; margin-left: auto; flex-shrink: 0; }
.novel-app #novel-genders { width: max-content; margin: 0 24px 8px; padding: 4px; gap: 0; border: 1px solid var(--line); border-radius: 10px; background: var(--surface); }
.novel-app #novel-genders .stab { padding: 8px 28px; border: 0; border-radius: 7px; font-size: 14px; }
.novel-app #novel-genders .stab.on { background: var(--bg); box-shadow: 0 2px 5px #48321a0c; color: var(--red); }
.novel-app #novel-ranks { margin: 0 24px; padding: 0; gap: 28px; }
.novel-app #novel-ranks .chip { font-size: 14px; padding: 16px 0 13px; }
.novel-app .novel-rank-heading { background: none; border: 0; margin: 0; padding: 26px 24px 4px; display: flex; align-items: flex-end; justify-content: space-between; gap: 16px; }
.novel-rank-heading small { font-size: 10px; color: var(--red); letter-spacing: 2px; }
.novel-rank-heading h2 { font-size: 21px; margin: 6px 0 0; }
.novel-app .novel-rank-heading p { font-size: 11px; color: var(--sub); padding-bottom: 3px; }
.novel-app .novel-list { padding: 0 24px; column-gap: 40px; }
.novel-app .novel-card { padding: 24px 0; align-items: flex-start; gap: 18px; }
.novel-cover-wrap { position: relative; flex-shrink: 0; }
.novel-app .novel-cover { width: 94px; height: 136px; border-radius: 3px 7px 7px 3px; box-shadow: 3px 5px 10px #37260f13; }
.novel-rank-number { position: absolute; left: -6px; top: -7px; min-width: 26px; padding: 2px 5px; color: #fff; background: #a45732; border-radius: 3px; font: 600 13px/1.5 Georgia, serif; text-align: center; }
.novel-app .novel-info { gap: 6px; flex: 1; min-height: 136px; }
.novel-app .novel-info > strong { font-size: 16px; line-height: 1.5; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.novel-app .novel-info > small { font-size: 11px; }
.novel-app .novel-info > span { color: var(--sub); line-height: 1.8; }
.novel-info em { color: var(--red); font-size: 11px; font-style: normal; margin-top: auto; padding-top: 5px; }
.novel-info em span { margin-left: 8px; }
.novel-app .novel-detail, .novel-directory { padding: 32px 24px; max-width: 900px; margin: auto; }
.novel-app .novel-book-head { gap: 24px; align-items: center; }
.novel-app .novel-book-head .novel-cover { width: 124px; height: 180px; }
.novel-app .novel-book-head h1 { font-size: 26px; line-height: 1.5; margin-bottom: 10px; }
.novel-app .novel-book-head p { margin: 8px 0 16px; font-size: 13px; }
.novel-app .novel-book-head .novel-eyebrow { font-size: 10px; }
.novel-book-count { font-size: 11px; display: inline-block; border: 1px solid var(--line); padding: 5px 9px; border-radius: 5px; color: var(--sub); }
.novel-detail-actions { display: flex; gap: 12px; margin-top: 28px; }
.novel-detail-actions .btn { flex: 1; min-height: 50px; }
.novel-detail-actions .btn:first-child { flex: 2; justify-content: space-between; padding: 12px 22px; }
.novel-last-read { font-size: 12px; color: var(--sub); overflow-wrap: anywhere; }
.novel-intro-section { padding: 6px 0 28px; margin-top: 24px; border-top: 1px solid var(--line); }
.novel-app .novel-intro { color: #696358; font-size: 14px; line-height: 2; margin-bottom: 8px; }
.novel-intro.is-collapsed { display: -webkit-box; -webkit-line-clamp: 4; -webkit-box-orient: vertical; overflow: hidden; }
.novel-text-button { border: 0; background: none; color: var(--red); padding: 10px 0; font-size: 12px; }
.novel-directory-entry { display: flex; gap: 20px; align-items: center; justify-content: space-between; color: inherit; text-decoration: none; border-top: 1px solid var(--line); padding: 4px 0 20px; }
.novel-directory-entry div { min-width: 0; }
.novel-directory-entry h2 small { margin-left: 10px; font-size: 12px; font-weight: 400; color: var(--sub); }
.novel-directory-entry p { font-size: 12px; color: var(--sub); overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.novel-directory-title h1 { font-size: 25px; margin: 8px 0; overflow-wrap: anywhere; }
.novel-directory-title > p:last-child { color: var(--red); font-size: 12px; }
.novel-directory-title p span { color: var(--sub); margin-left: 8px; }
.novel-directory-controls { display: flex; justify-content: space-between; align-items: center; gap: 10px; padding: 20px 0; border-bottom: 1px solid var(--line); font-size: 12px; }
.novel-directory-controls select { max-width: 145px; padding: 10px 8px; margin-left: 6px; color: var(--txt); background: var(--surface); border: 1px solid var(--line); border-radius: 6px; font: inherit; }
.novel-directory .novel-chapters a { display: flex; align-items: baseline; gap: 14px; padding: 18px 8px; font-size: 13px; scroll-margin: 20px; }
.novel-directory .novel-chapters a > span { color: var(--sub); font: 12px/1.8 Georgia, serif; min-width: 28px; }
.novel-directory .novel-chapters strong { font-weight: 400; flex: 1; }
.novel-directory .novel-chapters small { font-size: 10px; flex-shrink: 0; }
.novel-directory .novel-chapters .on { border-radius: 6px; }
.novel-app.novel-reading .reader-top { max-width: 900px; min-height: 74px; }
.novel-app.novel-reading .novel-reader { max-width: 760px; padding: 52px 44px 64px; }
.novel-app.novel-reading .novel-reader-book { letter-spacing: 1px; margin-bottom: 16px; }
.novel-app.novel-reading .novel-reader h1 { font: 600 28px/1.6 'Songti SC', SimSun, serif; margin: 0 0 36px; }
.novel-app.novel-reading .novel-content { line-height: 2.15; letter-spacing: .035em; text-align: justify; }
.novel-app.novel-reading .reader-bottom { padding-top: 10px; box-shadow: 0 -6px 24px #32281606; }
.novel-app.novel-reading .reader-bottom button:first-child, .novel-app.novel-reading .reader-bottom button:last-child { border: 1px solid var(--line); border-radius: 8px; margin: 0 8px; }
@media (min-width: 760px) {
  .novel-app:not(.novel-reading) .app { max-width: 1120px; }
  .novel-app .novel-home-heading { padding: 42px 48px 22px; }
  .novel-home-heading h1 { font-size: 40px; }
  .novel-app .novel-home-search { margin: 0 48px 26px; max-width: 620px; }
  .novel-app #novel-genders { margin-left: 48px; }
  .novel-app #novel-ranks { margin: 0 48px; gap: 40px; }
  .novel-app .novel-rank-heading { padding: 32px 48px 6px; }
  .novel-app .novel-list { padding: 0 48px; }
  .novel-app .novel-book-head .novel-cover { width: 160px; height: 228px; }
  .novel-app .novel-book-head { gap: 36px; }
  .novel-app .novel-book-head h1 { font-size: 34px; }
  .novel-detail-actions { max-width: 470px; }
  .novel-app .novel-detail, .novel-directory { padding: 40px 48px 60px; }
}
@media (max-width: 759px) {
  .novel-app.novel-reading .novel-reader { padding: 32px 24px 48px; }
  .novel-app.novel-reading .novel-reader h1 { font-size: 25px; margin-bottom: 28px; }
  .novel-app .novel-rank-heading p { display: none; }
  .novel-app .novel-book-head h1 { font-size: 22px; }
  .novel-app .novel-book-head .novel-eyebrow { display: none; }
}
@media (max-width: 360px) {
  .novel-app .novel-home-heading { padding: 24px 18px 18px; }
  .novel-home-heading h1 span { margin-left: 10px; font-size: 10px; }
  .novel-app .novel-home-search { margin-left: 18px; margin-right: 18px; padding: 0 10px; }
  .novel-app .novel-list { padding: 0 18px; }
  .novel-app .novel-card { gap: 14px; }
  .novel-app .novel-cover { width: 82px; height: 122px; }
  .novel-app .novel-info { min-height: 122px; }
  .novel-app .novel-detail, .novel-directory { padding: 24px 18px; }
  .novel-app .novel-book-head { gap: 16px; }
  .novel-app .novel-book-head .novel-cover { width: 96px; height: 145px; }
  .novel-app .novel-book-head h1 { font-size: 20px; }
  .novel-directory-controls select { max-width: 120px; margin-left: 0; }
  .novel-app.novel-reading .novel-reader { padding-left: 20px; padding-right: 20px; }
}
/* 小说首页紧凑榜单头部 */
.novel-rank-header { position: sticky; top: 0; z-index: 30; background: var(--bg); padding-top: var(--safe-top); }
.novel-rank-toolbar { display: flex; align-items: center; gap: 8px; min-height: 52px; padding: 4px 16px; }
.novel-rank-toolbar h1 { margin: 0; font-size: 18px; white-space: nowrap; }
.novel-rank-toolbar > a { display: flex; align-items: center; justify-content: center; width: 36px; height: 40px; color: inherit; flex-shrink: 0; }
.novel-app .novel-rank-toolbar #novel-genders { margin: 0 0 0 auto; flex-shrink: 0; }
.novel-app .novel-rank-toolbar #novel-genders .stab { padding: 5px 10px; }
.novel-app .novel-rank-header #novel-ranks { position: static; }
@media (max-width: 360px) { .novel-rank-toolbar { padding-left: 8px; padding-right: 8px; gap: 4px; } .novel-rank-toolbar h1 { font-size: 16px; } }
.novel-app:not(.novel-reading) .novel-home-heading {
  min-height: 52px;
  padding: 10px 16px 6px;
  border-bottom: 1px solid var(--line);
}
.novel-app .novel-home-heading h1 { font-size: 22px; letter-spacing: 1px; }
.novel-app .novel-home-heading h1 span { margin-left: 8px; font-size: 11px; letter-spacing: 0; }
.novel-app .novel-home-search {
  margin: 8px 16px;
  height: 38px;
  padding: 0 12px;
}
.novel-app #novel-genders {
  margin: 0 16px 2px;
  padding: 2px;
  border-radius: 7px;
}
.novel-app #novel-genders .stab { padding: 5px 18px; font-size: 13px; }
.novel-app #novel-ranks {
  position: sticky;
  top: 0;
  z-index: 30;
  margin: 0;
  padding: 0 16px;
  gap: 22px;
  background: var(--bg);
  box-shadow: 0 1px 0 var(--line);
}
.novel-app #novel-ranks .chip { padding: 10px 0 8px; font-size: 13px; }
.novel-app .novel-rank-heading { padding: 12px 16px 2px; }
.novel-app .novel-rank-heading h2 { font-size: 17px; margin: 0; }
.novel-app .novel-list { padding-top: 0; }
@media (min-width: 760px) {
  .novel-app .novel-home-heading { padding: 12px 32px 6px; }
  .novel-app .novel-home-search { margin: 8px 32px; max-width: 620px; }
  .novel-app #novel-genders { margin-left: 32px; }
  .novel-app #novel-ranks { padding: 0 32px; }
  .novel-app .novel-rank-heading { padding: 14px 32px 2px; }
}
@media (max-width: 360px) {
  .novel-app .novel-home-heading { padding-left: 12px; padding-right: 12px; }
  .novel-app .novel-home-search { margin-left: 12px; margin-right: 12px; }
  .novel-app #novel-genders { margin-left: 12px; margin-right: 12px; }
  .novel-app #novel-ranks { padding-left: 12px; padding-right: 12px; gap: 17px; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation: none !important; transition: none !important; }
}

/* =========================================================
   首页重设计：更有内容感的短剧发现页
   仅作用于 .home-page，不影响搜索 / 详情 / 播放器 / 小说页
   ========================================================= */
.home-page {
  --home-ink: #17181b;
  --home-muted: #8a8d93;
  --home-line: #ececee;
  --home-accent: #ff4a45;
  --home-soft: #fff2f0;
  background:
    radial-gradient(circle at 92% 2%, rgba(255, 90, 80, .08), transparent 26%),
    linear-gradient(180deg, #fff 0%, #fbfaf9 100%);
  min-height: calc(var(--viewport-height) - var(--safe-bottom));
  color: var(--home-ink);
}
.home-header {
  display: block;
  position: sticky;
  top: 0;
  z-index: 35;
  padding: calc(12px + var(--safe-top)) 16px 10px;
  background: rgba(255,255,255,.92);
  border-bottom: 1px solid rgba(236,236,238,.8);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
}
.home-head-row { display: flex; align-items: center; gap: 12px; }
.home-brand { gap: 12px; font-size: 21px; line-height: 1; letter-spacing: -.6px; }
.home-brand a { padding: 8px 0 10px; }
.home-brand a.on { box-shadow: inset 0 -2px var(--home-accent); }
.home-search {
  height: 40px;
  flex: 1;
  border-radius: 13px;
  background: #f3f3f5;
  color: #8b8d93;
  padding: 0 13px;
  border: 1px solid transparent;
}
.home-search .icon { width: 17px; height: 17px; }
.home-profile {
  width: 38px;
  height: 38px;
  display: grid;
  place-items: center;
  flex: 0 0 auto;
  color: var(--home-ink);
  text-decoration: none;
  border-radius: 12px;
  background: #f3f3f5;
}
.home-profile .icon { width: 19px; height: 19px; }
.home-chips {
  position: sticky;
  top: calc(63px + var(--safe-top));
  z-index: 30;
  padding: 3px 16px 0;
  gap: 24px;
  background: rgba(255,255,255,.92);
  border-bottom: 1px solid rgba(236,236,238,.8);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
}
.home-chips .chip {
  padding: 11px 1px 10px;
  font-size: 14px;
  color: #898c92;
  position: relative;
}
.home-chips .chip.on {
  color: var(--home-ink);
  font-weight: 700;
  border-bottom-color: transparent;
}
.home-chips .chip.on::after {
  content: '';
  position: absolute;
  left: 50%;
  bottom: 2px;
  width: 18px;
  height: 3px;
  transform: translateX(-50%);
  border-radius: 99px;
  background: var(--home-accent);
}
.home-hero { padding: 14px 16px 4px; }
.home-hero-card {
  display: flex;
  position: relative;
  min-height: 208px;
  overflow: hidden;
  border-radius: 22px;
  color: #fff;
  text-decoration: none;
  background: #232428;
  box-shadow: 0 14px 36px rgba(22,24,29,.16);
  isolation: isolate;
}
.home-hero-bg {
  position: absolute;
  inset: -28px;
  width: calc(100% + 56px);
  height: calc(100% + 56px);
  object-fit: cover;
  filter: blur(22px) saturate(.88);
  opacity: .58;
  transform: scale(1.05);
  z-index: -2;
}
.home-hero-overlay {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(15,16,19,.92) 0%, rgba(15,16,19,.82) 42%, rgba(15,16,19,.34) 100%),
    linear-gradient(180deg, rgba(15,16,19,.12), rgba(15,16,19,.66));
  z-index: -1;
}
.home-hero-cover {
  flex: 0 0 auto;
  width: 122px;
  margin: 18px 0 18px 18px;
  border-radius: 15px;
  overflow: hidden;
  box-shadow: 0 10px 24px rgba(0,0,0,.25);
  transform: translateZ(0);
}
.home-hero-cover img { width: 100%; height: 100%; object-fit: cover; display: block; }
.home-hero-copy { min-width: 0; display: flex; flex-direction: column; align-items: flex-start; padding: 24px 18px 22px 16px; }
.home-kicker {
  display: inline-flex;
  align-items: center;
  min-height: 24px;
  padding: 0 9px;
  border-radius: 99px;
  background: rgba(255,255,255,.13);
  border: 1px solid rgba(255,255,255,.16);
  color: rgba(255,255,255,.82);
  font-size: 10px;
  letter-spacing: .4px;
}
.home-hero-copy h2 {
  margin: 13px 0 6px;
  font-size: 22px;
  line-height: 1.25;
  font-weight: 750;
  letter-spacing: -.4px;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.home-hero-copy p { margin: 0; color: rgba(255,255,255,.72); font-size: 12px; }
.home-hero-copy p span { margin: 0 5px; color: rgba(255,255,255,.38); }
.home-play {
  margin-top: auto;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 9px 13px 9px 14px;
  border-radius: 12px;
  background: #fff;
  color: #1b1c20;
  font-size: 12px;
  font-weight: 700;
}
.home-play span { font-size: 16px; line-height: 10px; margin-top: -1px; }
.home-hero-empty, .home-hero-skeleton { min-height: 208px; border-radius: 22px; background: linear-gradient(135deg, #f0f0f2, #e7e7ea); }
.home-hero-skeleton { position: relative; overflow: hidden; }
.home-hero-skeleton::after {
  content: '';
  position: absolute;
  inset: 0;
  transform: translateX(-100%);
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.68), transparent);
  animation: homeShimmer 1.35s ease-in-out infinite;
}
.home-hero-skeleton span { position: absolute; left: 18px; top: 18px; width: 122px; height: 172px; border-radius: 15px; background: #dadade; }
.home-hero-skeleton b { position: absolute; left: 158px; top: 28px; width: 38%; height: 18px; border-radius: 8px; background: #dadade; }
.home-hero-skeleton i { position: absolute; left: 158px; bottom: 24px; width: 76px; height: 34px; border-radius: 11px; background: #dadade; }
@keyframes homeShimmer { to { transform: translateX(100%); } }
.home-section { padding: 13px 16px 0; }
.home-section-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 16px; padding: 11px 1px 5px; }
.home-eyebrow { display: block; color: #b0b2b7; font-size: 9px; font-weight: 800; letter-spacing: 1.7px; }
.home-section-head h1 { margin: 3px 0 0; font-size: 21px; line-height: 1.2; letter-spacing: -.5px; font-weight: 760; }
.home-grid { grid-template-columns: repeat(2, minmax(0,1fr)); gap: 24px 14px; padding: 11px 0 26px; }
.home-card { position: relative; min-width: 0; }
.home-cover-wrap { position: relative; overflow: hidden; border-radius: 16px; background: #f0f0f2; aspect-ratio: 2 / 3; box-shadow: 0 7px 20px rgba(25,26,30,.09); }
.home-card .cover { border-radius: 0; width: 100%; height: 100%; object-fit: cover; transition: transform .35s ease; }
.home-card:hover .cover { transform: scale(1.035); }
.rank-badge {
  position: absolute;
  left: 9px;
  top: 9px;
  padding: 4px 7px;
  border-radius: 8px;
  background: rgba(17,18,21,.72);
  color: #fff;
  font-size: 9px;
  line-height: 1;
  font-weight: 800;
  letter-spacing: .35px;
  backdrop-filter: blur(8px);
}
.rank-1 { background: rgba(255,74,69,.92); }
.home-play-dot {
  position: absolute;
  right: 9px;
  bottom: 9px;
  width: 30px;
  height: 30px;
  display: grid;
  place-items: center;
  padding-left: 1px;
  border-radius: 50%;
  color: #fff;
  font-size: 11px;
  background: rgba(15,16,19,.62);
  border: 1px solid rgba(255,255,255,.16);
  backdrop-filter: blur(8px);
}
.home-card .t {
  margin-top: 10px;
  font-size: 14px;
  line-height: 1.45;
  font-weight: 650;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  white-space: normal;
  overflow: hidden;
  text-overflow: ellipsis;
}
.home-card .badge { margin-top: 4px; min-height: 16px; font-size: 10px; color: #97999f; }
.home-card .badge .cnt { color: #adafb5; }
.home-page #foot .empty, .home-page #foot .loading, .home-page #foot .errbox { padding: 24px 12px 38px; }
.home-page .btn { border-radius: 12px; }
.home-page .errbox { color: #ad4b53; }

@media (min-width: 760px) {
  .home-page .home-header {
    position: static;
    padding: 19px 32px 12px;
    background: transparent;
    border: 0;
    backdrop-filter: none;
  }
  .home-head-row { gap: 18px; }
  .home-brand { font-size: 22px; }
  .home-search { max-width: 420px; margin-left: auto; }
  .home-profile { display: none; }
  .home-page .home-chips {
    position: static;
    padding: 6px 32px 0;
    background: transparent;
    border-bottom: 1px solid var(--home-line);
    backdrop-filter: none;
  }
  .home-page .home-hero { padding: 22px 32px 8px; }
  .home-hero-card { min-height: 260px; border-radius: 24px; }
  .home-hero-cover { width: 152px; margin: 22px 0 22px 22px; }
  .home-hero-copy { padding: 32px 30px; }
  .home-hero-copy h2 { font-size: 30px; max-width: 560px; }
  .home-section { padding: 18px 32px 0; }
  .home-section-head { padding-top: 8px; }
  .home-section-head h1 { font-size: 24px; }
  .home-grid { grid-template-columns: repeat(4,minmax(0,1fr)); gap: 30px 18px; padding: 14px 0 34px; }
  .home-card .t { font-size: 14px; }
  .home-play-dot { width: 34px; height: 34px; }
}
@media (max-width: 360px) {
  .home-header { padding-left: 12px; padding-right: 12px; }
  .home-chips { padding-left: 12px; padding-right: 12px; gap: 18px; }
  .home-hero { padding-left: 12px; padding-right: 12px; }
  .home-section { padding-left: 12px; padding-right: 12px; }
  .home-brand { font-size: 19px; gap: 9px; }
  .home-search { padding-left: 10px; padding-right: 10px; }
  .home-profile { width: 36px; height: 36px; }
  .home-hero-card { min-height: 188px; border-radius: 18px; }
  .home-hero-cover { width: 98px; margin: 14px 0 14px 14px; border-radius: 12px; }
  .home-hero-copy { padding: 16px 13px; }
  .home-hero-copy h2 { margin-top: 9px; font-size: 18px; }
  .home-hero-copy p { font-size: 10px; }
  .home-play { padding: 7px 10px 7px 11px; }
  .home-hero-empty, .home-hero-skeleton { min-height: 188px; border-radius: 18px; }
  .home-hero-skeleton span { width: 98px; height: 138px; left: 14px; top: 14px; border-radius: 12px; }
  .home-hero-skeleton b { left: 124px; top: 22px; }
  .home-hero-skeleton i { left: 124px; bottom: 18px; }
  .home-section-head h1 { font-size: 19px; }
  .home-grid { gap: 20px 10px; }
  .home-cover-wrap { border-radius: 13px; }
  .home-card .t { font-size: 13px; margin-top: 8px; }
}

/* =========================================================
   V3 首页 + 信息页
   设计方向：影视流媒体 / 编辑精选 / 强内容层级
   ========================================================= */
.home-page-v2 {
  --v2-bg:#f7f7f8; --v2-card:#fff; --v2-ink:#16171a; --v2-muted:#8d9097;
  --v2-line:#e9e9ec; --v2-red:#ff3d36; background:var(--v2-bg); min-height:calc(var(--viewport-height) - var(--safe-bottom));
}
.home-page-v2 .hv2-header { height:68px; display:flex; align-items:center; gap:18px; padding:calc(10px + var(--safe-top)) 16px 10px; background:rgba(247,247,248,.92); backdrop-filter:blur(18px); position:sticky; top:0; z-index:40; border-bottom:1px solid rgba(230,230,233,.7); }
.hv2-brand { display:flex; align-items:center; gap:15px; flex:0 0 auto; }
.hv2-brand a { color:#999ba1; text-decoration:none; font-size:19px; font-weight:700; padding:8px 0; }
.hv2-brand a.on { color:#17181b; position:relative; }
.hv2-brand a.on:after { content:""; position:absolute; height:3px; width:18px; background:var(--v2-red); border-radius:99px; bottom:2px; left:50%; transform:translateX(-50%); }
.hv2-search { height:40px; flex:1; min-width:0; display:flex; align-items:center; gap:9px; padding:0 14px; border-radius:13px; background:#ededf0; color:#999ba1; text-decoration:none; font-size:12px; }
.hv2-search .icon { width:17px; height:17px; }
.hv2-search span { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.hv2-user { width:40px; height:40px; display:grid; place-items:center; flex:0 0 auto; border-radius:13px; color:#222327; background:#ededf0; text-decoration:none; }
.hv2-user .icon { width:19px; height:19px; }
.hv2-chips { display:flex; gap:25px; overflow:auto; scrollbar-width:none; padding:2px 16px 0; background:#f7f7f8; border-bottom:1px solid var(--v2-line); }
.hv2-chips::-webkit-scrollbar { display:none; }
.hv2-chips .chip { position:relative; padding:12px 0 11px; border:0; color:#92949a; background:none; font-size:13px; white-space:nowrap; }
.hv2-chips .chip.on { color:#17181b; font-weight:750; }
.hv2-chips .chip.on:after { content:""; position:absolute; width:5px; height:5px; background:var(--v2-red); border-radius:50%; bottom:5px; left:50%; transform:translateX(-50%); }
.hv2-feature { padding:16px 16px 4px; }
.hv2-feature-card { position:relative; display:flex; min-height:228px; overflow:hidden; border-radius:22px; background:#202126; color:#fff; text-decoration:none; box-shadow:0 16px 35px rgba(23,24,28,.15); isolation:isolate; }
.hv2-feature-bg { position:absolute; inset:-30px; width:calc(100% + 60px); height:calc(100% + 60px); object-fit:cover; filter:blur(22px) saturate(.85); opacity:.55; z-index:-2; transform:scale(1.05); }
.hv2-feature-shade { position:absolute; inset:0; background:linear-gradient(90deg,rgba(8,9,12,.95) 0%,rgba(8,9,12,.78) 44%,rgba(8,9,12,.28) 100%); z-index:-1; }
.hv2-feature-cover { flex:0 0 128px; width:128px; margin:18px 0 18px 18px; border-radius:15px; overflow:hidden; box-shadow:0 12px 25px rgba(0,0,0,.3); }
.hv2-feature-cover img { width:100%; height:100%; object-fit:cover; display:block; }
.hv2-feature-copy { min-width:0; padding:25px 17px 22px; display:flex; flex-direction:column; align-items:flex-start; }
.hv2-feature-copy small { font-size:9px; letter-spacing:1.3px; color:rgba(255,255,255,.6); font-weight:700; }
.hv2-feature-copy h2 { margin:11px 0 6px; font-size:23px; line-height:1.25; letter-spacing:-.4px; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.hv2-feature-copy p { margin:0; color:rgba(255,255,255,.62); font-size:11px; }
.hv2-feature-copy p em { font-style:normal; padding:0 5px; color:rgba(255,255,255,.28); }
.hv2-feature-copy strong { margin-top:auto; display:inline-flex; align-items:center; gap:8px; padding:9px 13px; border-radius:11px; background:#fff; color:#16171a; font-size:11px; }
.hv2-feature-copy strong span { font-size:15px; line-height:10px; }
.hv2-feature-skeleton,.hv2-empty-feature { min-height:228px; border-radius:22px; background:linear-gradient(135deg,#e9e9ec,#dedee2); position:relative; overflow:hidden; }
.hv2-feature-skeleton:after { content:""; position:absolute; inset:0; transform:translateX(-100%); background:linear-gradient(90deg,transparent,rgba(255,255,255,.65),transparent); animation:hv2shine 1.3s infinite; }
.hv2-feature-skeleton i { position:absolute; left:18px; top:18px; width:128px; height:192px; border-radius:15px; background:#d4d4d8; }
.hv2-feature-skeleton b { position:absolute; left:165px; top:30px; width:36%; height:18px; border-radius:8px; background:#d4d4d8; }
.hv2-feature-skeleton span { position:absolute; left:165px; bottom:27px; width:78px; height:32px; border-radius:10px; background:#d4d4d8; }
@keyframes hv2shine { to { transform:translateX(100%); } }
.hv2-section { padding:14px 16px 0; }
.hv2-section-title { display:flex; justify-content:space-between; align-items:end; padding:8px 1px 8px; }
.hv2-section-title small { font-size:8px; font-weight:800; color:#afb1b6; letter-spacing:1.7px; }
.hv2-section-title h1 { margin:3px 0 0; font-size:21px; letter-spacing:-.5px; line-height:1.2; }
.hv2-section-title > span { color:#a4a6ac; font-size:11px; padding-bottom:2px; }
.hv2-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:25px 12px; padding:8px 0 28px; }
.hv2-card { min-width:0; text-decoration:none; color:inherit; }
.hv2-cover { position:relative; overflow:hidden; aspect-ratio:2/3; border-radius:15px; background:#e8e8eb; box-shadow:0 7px 20px rgba(25,26,30,.08); }
.hv2-cover .cover { width:100%; height:100%; object-fit:cover; display:block; transition:transform .3s ease; }
.hv2-card:hover .cover { transform:scale(1.035); }
.hv2-rank { position:absolute; top:8px; left:8px; min-width:26px; height:22px; padding:0 7px; display:grid; place-items:center; border-radius:7px; color:#fff; background:rgba(13,14,17,.68); backdrop-filter:blur(8px); font-size:9px; font-weight:800; }
.hv2-card:nth-child(1) .hv2-rank { background:var(--v2-red); }
.hv2-play { position:absolute; right:8px; bottom:8px; width:30px; height:30px; display:grid; place-items:center; padding-left:1px; border-radius:50%; color:#fff; background:rgba(12,13,16,.65); border:1px solid rgba(255,255,255,.18); font-size:10px; backdrop-filter:blur(7px); }
.hv2-card .t { margin-top:9px; font-size:13px; font-weight:650; line-height:1.45; white-space:normal; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.hv2-meta { display:flex; justify-content:space-between; gap:7px; margin-top:4px; color:#9b9da3; font-size:10px; }
.hv2-meta span { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.home-page-v2 #foot .empty,.home-page-v2 #foot .loading,.home-page-v2 #foot .errbox { padding:22px 10px 36px; }
.home-page-v2 .btn { border-radius:11px; }

/* 信息页 */
.detail-v2 { min-height:calc(var(--viewport-height) - var(--safe-bottom)); background:#f7f7f8; color:#17181b; }
.dv2-nav { height:58px; position:sticky; top:0; z-index:50; display:flex; align-items:center; justify-content:space-between; padding:calc(7px + var(--safe-top)) 16px 7px; background:rgba(247,247,248,.9); border-bottom:1px solid rgba(230,230,233,.7); backdrop-filter:blur(18px); }
.dv2-nav > span { font-size:14px; font-weight:700; }
.dv2-back,.dv2-refresh { border:0; background:none; color:#24252a; }
.dv2-back { width:34px; height:34px; display:grid; place-items:center; padding:0; }
.dv2-back .icon { width:21px; height:21px; }
.dv2-refresh { font-size:11px; color:#777980; padding:8px 2px; }
.dv2-hero { position:relative; overflow:hidden; background:#1d1e22; color:#fff; min-height:300px; }
.dv2-bg { position:absolute; inset:-35px; width:calc(100% + 70px); height:calc(100% + 70px); object-fit:cover; filter:blur(28px) saturate(.8); opacity:.48; transform:scale(1.06); }
.dv2-bg-shade { position:absolute; inset:0; background:linear-gradient(90deg,rgba(10,11,14,.96),rgba(10,11,14,.76) 52%,rgba(10,11,14,.42)); }
.dv2-main { position:relative; display:flex; gap:17px; padding:25px 16px 27px; min-height:300px; align-items:center; }
.dv2-cover { width:122px; flex:0 0 122px; aspect-ratio:2/3; overflow:hidden; border-radius:14px; box-shadow:0 15px 30px rgba(0,0,0,.35); }
.dv2-cover img { width:100%; height:100%; display:block; object-fit:cover; }
.dv2-info { min-width:0; display:flex; flex-direction:column; align-items:flex-start; }
.dv2-label { font-size:8px; letter-spacing:1.8px; font-weight:800; color:rgba(255,255,255,.55); }
.dv2-info h1 { margin:8px 0 10px; font-size:23px; line-height:1.25; letter-spacing:-.4px; display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; }
.dv2-tags { display:flex; flex-wrap:wrap; gap:5px; max-height:50px; overflow:hidden; }
.dv2-tags span { border:1px solid rgba(255,255,255,.16); background:rgba(255,255,255,.08); color:rgba(255,255,255,.74); border-radius:5px; padding:3px 6px; font-size:9px; }
.dv2-play { margin-top:19px; min-height:40px; border:0; border-radius:11px; padding:0 14px 0 15px; background:#fff; color:#17181b; font-size:11px; font-weight:750; }
.dv2-play b { font-size:9px; margin-left:7px; }
.dv2-play:disabled { opacity:.4; }
.dv2-content { padding:0 16px 30px; }
.dv2-intro { padding:24px 0 25px; border-bottom:1px solid var(--line); }
.dv2-section-title small,.dv2-ep-head small { color:#b0b2b7; font-size:8px; font-weight:800; letter-spacing:1.6px; }
.dv2-section-title h2,.dv2-ep-head h2 { margin:3px 0 0; font-size:18px; line-height:1.25; }
.dv2-intro p { margin:11px 0 0; color:#6f7279; font-size:12px; line-height:1.9; }
.dv2-more { border:0; background:none; color:#222328; padding:7px 0 0; font-size:11px; }
.dv2-more:empty { display:none; }
.dv2-episodes { padding-top:23px; }
.dv2-ep-head { display:flex; justify-content:space-between; align-items:end; margin-bottom:13px; }
.dv2-ep-head > span { color:#96989e; font-size:10px; }
.dv2-ep-grid { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:7px; }
.dv2-ep-grid .ep { min-height:42px; border:1px solid #e7e7ea; background:#fff; color:#35363b; border-radius:9px; padding:8px 2px; font-size:11px; box-shadow:0 1px 2px rgba(0,0,0,.02); }
.dv2-ep-grid .ep.done { color:var(--red); }
.dv2-ep-grid .ep.busy { color:#fff; background:#17181b; border-color:#17181b; box-shadow:0 5px 14px rgba(20,21,24,.15); }
.dv2-loading { min-height:60vh; display:grid; place-content:center; text-align:center; color:#909299; font-size:12px; }
.dv2-error { padding:100px 20px; text-align:center; color:#8a8c92; }
.dv2-error > div { color:#27282c; font-size:17px; font-weight:700; }
.dv2-error p { font-size:12px; line-height:1.7; }

@media (min-width:760px) {
  .home-page-v2 .hv2-header { height:76px; padding:15px 32px; }
  .home-page-v2 .hv2-search { max-width:440px; margin-left:auto; }
  .home-page-v2 .hv2-user { display:none; }
  .home-page-v2 .hv2-chips { padding-left:32px; padding-right:32px; }
  .home-page-v2 .hv2-feature { padding:24px 32px 7px; }
  .home-page-v2 .hv2-feature-card { max-width:1000px; min-height:330px; margin:0 auto; border-radius:26px; }
  .home-page-v2 .hv2-feature-cover { width:175px; flex-basis:175px; margin:25px 0 25px 25px; border-radius:18px; }
  .home-page-v2 .hv2-feature-copy { padding:40px 36px; }
  .home-page-v2 .hv2-feature-copy h2 { font-size:34px; max-width:600px; }
  .home-page-v2 .hv2-section { max-width:1000px; margin:auto; padding:20px 32px 0; }
  .home-page-v2 .hv2-section-title h1 { font-size:25px; }
  .home-page-v2 .hv2-grid { grid-template-columns:repeat(4,minmax(0,1fr)); gap:30px 20px; }
  .detail-v2 .dv2-hero { min-height:390px; }
  .dv2-main { max-width:1000px; margin:auto; min-height:390px; padding:45px 32px; gap:28px; }
  .dv2-cover { width:190px; flex-basis:190px; border-radius:18px; }
  .dv2-info h1 { font-size:35px; }
  .dv2-content { max-width:1000px; margin:auto; padding:0 32px 50px; }
  .dv2-ep-grid { grid-template-columns:repeat(8,minmax(0,1fr)); }
}
@media (max-width:360px) {
  .home-page-v2 .hv2-header { gap:9px; padding-left:12px; padding-right:12px; }
  .hv2-brand { gap:10px; }
  .hv2-brand a { font-size:18px; }
  .hv2-search { padding-left:10px; padding-right:10px; }
  .hv2-user { width:36px; height:36px; }
  .home-page-v2 .hv2-chips { padding-left:12px; padding-right:12px; gap:19px; }
  .home-page-v2 .hv2-feature { padding-left:12px; padding-right:12px; }
  .hv2-feature-card { min-height:190px; border-radius:18px; }
  .hv2-feature-cover { width:98px; flex-basis:98px; margin:14px 0 14px 14px; border-radius:12px; }
  .hv2-feature-copy { padding:17px 12px; }
  .hv2-feature-copy h2 { font-size:18px; margin-top:8px; }
  .hv2-feature-copy strong { padding:7px 10px; }
  .home-page-v2 .hv2-section { padding-left:12px; padding-right:12px; }
  .dv2-main { gap:12px; padding-left:12px; padding-right:12px; }
  .dv2-cover { width:98px; flex-basis:98px; border-radius:11px; }
  .dv2-info h1 { font-size:19px; }
  .dv2-play { margin-top:12px; }
  .dv2-content { padding-left:12px; padding-right:12px; }
  .dv2-ep-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }
}

/* =========================================================
   V5 · 短剧产品风修正版
   核心：保留原项目全部基础/搜索/我的/小说/播放器样式，
   只覆盖首页与短剧详情页视觉，避免旧组件“失样式”。
   ========================================================= */
:root{
  --red:#ff3b30;
  --red-soft:#fff0ee;
  --fruit-orange:#ff6b2e;
  --fruit-black:#171717;
  --fruit-gray:#8b8b8f;
  --fruit-bg:#f7f7f7;
}

/* ---------------- 首页：移动端内容优先 ---------------- */
.home-page-v2{
  background:var(--fruit-bg);
  min-height:calc(var(--viewport-height) - var(--safe-bottom));
  color:var(--fruit-black);
}
.home-page-v2 .hv2-header{
  position:sticky;
  top:0;
  z-index:45;
  height:56px;
  display:flex;
  align-items:center;
  gap:12px;
  padding:calc(7px + var(--safe-top)) 12px 7px;
  background:rgba(255,255,255,.97);
  border-bottom:1px solid #ededed;
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
}
.home-page-v2 .hv2-brand{gap:13px;align-items:center}
.home-page-v2 .hv2-brand a{
  color:#a0a0a3;
  font-size:19px;
  line-height:1;
  font-weight:800;
  text-decoration:none;
  padding:7px 0 8px;
  position:relative;
}
.home-page-v2 .hv2-brand a.on{color:#161616}
.home-page-v2 .hv2-brand a.on:after{
  content:"";
  position:absolute;
  left:50%;
  transform:translateX(-50%);
  bottom:0;
  width:20px;
  height:3px;
  border-radius:3px;
  background:linear-gradient(90deg,var(--red),var(--fruit-orange));
}
.home-page-v2 .hv2-search{
  height:34px;
  flex:1;
  min-width:0;
  display:flex;
  align-items:center;
  gap:7px;
  padding:0 11px;
  border-radius:17px;
  background:#f2f2f2;
  color:#999;
  text-decoration:none;
  font-size:12px;
}
.home-page-v2 .hv2-search .icon{width:16px;height:16px}
.home-page-v2 .hv2-search span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.home-page-v2 .hv2-user{
  width:34px;height:34px;display:grid;place-items:center;flex:0 0 auto;
  border-radius:50%;background:#f1f1f1;color:#262626;text-decoration:none;
}
.home-page-v2 .hv2-user .icon{width:18px;height:18px}

.home-page-v2 .hv2-chips{
  display:flex;
  gap:20px;
  overflow-x:auto;
  scrollbar-width:none;
  padding:0 12px;
  background:#fff;
  border-bottom:1px solid #ededed;
  position:sticky;
  top:56px;
  z-index:40;
}
.home-page-v2 .hv2-chips::-webkit-scrollbar{display:none}
.home-page-v2 .hv2-chips .chip{
  position:relative;
  flex:0 0 auto;
  border:0;
  background:none;
  color:#777;
  padding:11px 0 9px;
  font-size:13px;
  white-space:nowrap;
}
.home-page-v2 .hv2-chips .chip.on{color:#161616;font-weight:800}
.home-page-v2 .hv2-chips .chip.on:after{
  content:"";
  position:absolute;
  left:50%;bottom:4px;
  transform:translateX(-50%);
  width:16px;height:2px;border-radius:2px;
  background:linear-gradient(90deg,var(--red),var(--fruit-orange));
}

/* 小型精选条：保留现有 JS Hero，但不再做大面积流媒体 Banner */
.home-page-v2 .hv2-feature{
  padding:10px 10px 0;
}
.home-page-v2 .hv2-feature-card{
  display:flex;
  position:relative;
  min-height:128px;
  overflow:hidden;
  border-radius:10px;
  background:#202020;
  color:#fff;
  text-decoration:none;
  isolation:isolate;
  box-shadow:0 3px 12px rgba(0,0,0,.10);
}
.home-page-v2 .hv2-feature-bg{
  position:absolute;inset:-20px;
  width:calc(100% + 40px);height:calc(100% + 40px);
  object-fit:cover;
  filter:blur(12px) saturate(.78);
  opacity:.5;
  transform:scale(1.06);
  z-index:-2;
}
.home-page-v2 .hv2-feature-shade{
  position:absolute;inset:0;
  background:linear-gradient(90deg,rgba(15,15,15,.92),rgba(15,15,15,.66) 52%,rgba(15,15,15,.30));
  z-index:-1;
}
.home-page-v2 .hv2-feature-cover{
  flex:0 0 82px;
  width:82px;
  height:104px;
  margin:12px 0 12px 12px;
  border-radius:6px;
  overflow:hidden;
  box-shadow:0 4px 12px rgba(0,0,0,.22);
}
.home-page-v2 .hv2-feature-cover img{width:100%;height:100%;object-fit:cover}
.home-page-v2 .hv2-feature-copy{
  min-width:0;
  padding:13px 12px 12px;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
}
.home-page-v2 .hv2-feature-copy small{
  font-size:9px;letter-spacing:.5px;color:rgba(255,255,255,.64);font-weight:700;
}
.home-page-v2 .hv2-feature-copy h2{
  margin:6px 0 5px;
  font-size:17px;
  line-height:1.25;
  letter-spacing:-.2px;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.home-page-v2 .hv2-feature-copy p{margin:0;color:rgba(255,255,255,.68);font-size:10px}
.home-page-v2 .hv2-feature-copy p em{font-style:normal;padding:0 4px;color:rgba(255,255,255,.28)}
.home-page-v2 .hv2-feature-copy strong{
  margin-top:auto;
  display:inline-flex;align-items:center;gap:6px;
  padding:6px 10px;
  border-radius:4px;
  background:linear-gradient(90deg,var(--red),var(--fruit-orange));
  color:#fff;
  font-size:10px;
  font-weight:800;
}
.home-page-v2 .hv2-feature-copy strong span{font-size:13px;line-height:10px}
.home-page-v2 .hv2-feature-skeleton,
.home-page-v2 .hv2-empty-feature{
  min-height:128px;
  border-radius:10px;
  background:linear-gradient(135deg,#e8e8e8,#dedede);
  position:relative;
  overflow:hidden;
}
.home-page-v2 .hv2-feature-skeleton i{left:12px;top:12px;width:82px;height:104px;border-radius:6px;background:#d0d0d0}
.home-page-v2 .hv2-feature-skeleton b{left:106px;top:18px;width:35%;height:14px;border-radius:5px;background:#d0d0d0}
.home-page-v2 .hv2-feature-skeleton span{left:106px;bottom:18px;width:65px;height:27px;border-radius:4px;background:#d0d0d0}

.home-page-v2 .hv2-section{padding:14px 10px 0}
.home-page-v2 .hv2-section-title{
  display:flex;align-items:flex-end;justify-content:space-between;
  gap:12px;padding:5px 1px 8px;
}
.home-page-v2 .hv2-section-title small{
  display:block;color:#b0b0b0;font-size:8px;font-weight:800;letter-spacing:1.1px;
}
.home-page-v2 .hv2-section-title h1{
  margin:2px 0 0;font-size:18px;line-height:1.25;font-weight:900;letter-spacing:-.3px;
}
.home-page-v2 .hv2-section-title > span{color:#999;font-size:10px;padding-bottom:1px}

/* 红果式高密度 3 列 */
.home-page-v2 .hv2-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px 8px;
  padding:6px 0 22px;
}
.home-page-v2 .hv2-card{min-width:0;text-decoration:none;color:inherit}
.home-page-v2 .hv2-cover{
  position:relative;
  overflow:hidden;
  aspect-ratio:3/4;
  border-radius:7px;
  background:#e7e7e7;
  box-shadow:none;
}
.home-page-v2 .hv2-cover .cover{
  width:100%;height:100%;object-fit:cover;display:block;transition:transform .18s ease;
}
.home-page-v2 .hv2-card:hover .cover{transform:scale(1.02)}
.home-page-v2 .hv2-rank{
  position:absolute;left:5px;top:5px;
  min-width:23px;height:19px;padding:0 5px;
  display:grid;place-items:center;
  border-radius:3px;
  background:rgba(20,20,20,.72);
  color:#fff;font-size:8px;font-weight:900;
  backdrop-filter:none;
}
.home-page-v2 .hv2-card:nth-child(1) .hv2-rank{background:var(--red)}
.home-page-v2 .hv2-card:nth-child(2) .hv2-rank{background:#ff8b21}
.home-page-v2 .hv2-card:nth-child(3) .hv2-rank{background:#f1a400}
.home-page-v2 .hv2-play{
  position:absolute;right:5px;bottom:5px;
  width:26px;height:26px;display:grid;place-items:center;
  padding-left:1px;border-radius:50%;
  background:rgba(0,0,0,.62);color:#fff;border:1px solid rgba(255,255,255,.18);
  font-size:9px;backdrop-filter:none;
}
.home-page-v2 .hv2-card .t{
  margin-top:6px;
  font-size:12px;font-weight:750;line-height:1.45;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;
  white-space:normal;overflow:hidden;text-overflow:ellipsis;
}
.home-page-v2 .hv2-meta{
  display:flex;gap:4px;justify-content:flex-start;
  margin-top:3px;color:#999;font-size:9px;
}
.home-page-v2 .hv2-meta span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.home-page-v2 #foot .empty,.home-page-v2 #foot .loading,.home-page-v2 #foot .errbox{padding:18px 8px 28px}
.home-page-v2 .btn{border-radius:4px}

/* ---------------- 详情页：白底、黑字、红色主按钮 ---------------- */
.detail-v2{
  min-height:calc(var(--viewport-height) - var(--safe-bottom));
  background:#fff;
  color:#171717;
}
.detail-v2 .dv2-nav{
  height:52px;
  position:sticky;top:0;z-index:50;
  display:flex;align-items:center;justify-content:space-between;
  padding:calc(6px + var(--safe-top)) 12px 6px;
  background:rgba(255,255,255,.97);
  border-bottom:1px solid #ededed;
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
}
.detail-v2 .dv2-nav > span{font-size:14px;font-weight:800}
.detail-v2 .dv2-back,.detail-v2 .dv2-refresh{border:0;background:none;color:#222}
.detail-v2 .dv2-back{width:34px;height:34px;display:grid;place-items:center;padding:0}
.detail-v2 .dv2-back .icon{width:20px;height:20px}
.detail-v2 .dv2-refresh{font-size:12px;padding:8px 2px;color:#777}
.detail-v2 .dv2-hero{
  position:relative;overflow:hidden;
  min-height:0;
  background:#f3f3f3;
  color:#171717;
  border-bottom:8px solid #f6f6f6;
}
.detail-v2 .dv2-bg{
  position:absolute;inset:-25px;width:calc(100% + 50px);height:calc(100% + 50px);
  object-fit:cover;filter:blur(24px) saturate(.55);
  opacity:.11;transform:scale(1.03);
}
.detail-v2 .dv2-bg-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,255,255,.97),rgba(255,255,255,.92));}
.detail-v2 .dv2-main{
  position:relative;display:flex;align-items:flex-start;gap:12px;
  padding:18px 12px 18px;min-height:0;
}
.detail-v2 .dv2-cover{
  width:108px;flex:0 0 108px;aspect-ratio:3/4;
  overflow:hidden;border-radius:6px;box-shadow:0 4px 14px rgba(0,0,0,.13);
}
.detail-v2 .dv2-cover img{width:100%;height:100%;display:block;object-fit:cover}
.detail-v2 .dv2-info{min-width:0;display:flex;flex-direction:column;align-items:flex-start;padding-top:1px}
.detail-v2 .dv2-label{
  display:inline-block;
  padding:3px 5px;
  border-radius:2px;
  background:linear-gradient(90deg,var(--red),var(--fruit-orange));
  color:#fff;font-size:8px;letter-spacing:.5px;font-weight:900;
}
.detail-v2 .dv2-info h1{
  margin:6px 0 7px;
  font-size:19px;line-height:1.3;letter-spacing:-.2px;
  display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;
}
.detail-v2 .dv2-tags{display:flex;flex-wrap:wrap;gap:4px;max-height:42px;overflow:hidden}
.detail-v2 .dv2-tags span{
  border:1px solid #e8e8e8;background:#fff;color:#777;
  border-radius:2px;padding:2px 5px;font-size:9px;
}
.detail-v2 .dv2-play{
  margin-top:11px;min-height:34px;border:0;border-radius:4px;
  padding:0 12px;background:linear-gradient(90deg,var(--red),var(--fruit-orange));
  color:#fff;font-size:11px;font-weight:900;
  box-shadow:0 4px 10px rgba(255,59,48,.18);
}
.detail-v2 .dv2-play b{font-size:9px;margin-left:6px}
.detail-v2 .dv2-play:disabled{opacity:.45}
.detail-v2 .dv2-content{padding:0 12px 30px}
.detail-v2 .dv2-intro{padding:17px 0 17px;border-bottom:1px solid #ededed}
.detail-v2 .dv2-section-title{display:flex;align-items:center;gap:7px}
.detail-v2 .dv2-section-title:before{content:"";width:3px;height:17px;border-radius:2px;background:var(--red)}
.detail-v2 .dv2-section-title small,.detail-v2 .dv2-ep-head small{color:#aaa;font-size:8px;font-weight:800;letter-spacing:1px}
.detail-v2 .dv2-section-title h2,.detail-v2 .dv2-ep-head h2{margin:0;font-size:16px;line-height:1.25}
.detail-v2 .dv2-intro p{margin:9px 0 0;color:#666;font-size:12px;line-height:1.75}
.detail-v2 .dv2-more{border:0;background:none;color:var(--red);padding:6px 0 0;font-size:11px}
.detail-v2 .dv2-episodes{padding-top:17px}
.detail-v2 .dv2-ep-head{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:9px}
.detail-v2 .dv2-ep-head > span{color:#999;font-size:10px}
.detail-v2 .dv2-ep-grid{
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:6px;
}
.detail-v2 .dv2-ep-grid .ep{
  min-width:0;min-height:36px;
  border:1px solid #e7e7e7;background:#f8f8f8;color:#444;
  border-radius:3px;padding:7px 2px;
  font-size:10px;box-shadow:none;
}
.detail-v2 .dv2-ep-grid .ep.done{color:var(--red)}
.detail-v2 .dv2-ep-grid .ep.busy{color:#fff;background:var(--red);border-color:var(--red);box-shadow:0 3px 8px rgba(255,59,48,.18)}
.detail-v2 .dv2-loading{min-height:65vh;display:grid;place-content:center;text-align:center;color:#999;font-size:12px}
.detail-v2 .dv2-error{padding:100px 20px;text-align:center;color:#888}
.detail-v2 .dv2-error > div{color:#222;font-size:17px;font-weight:800}
.detail-v2 .dv2-error p{font-size:12px;line-height:1.7}

/* 桌面：隐藏首页自带 Header，避免和原系统 #topnav 叠两层 */
@media (min-width:760px){
  .home-page-v2 .hv2-header{display:none}
  .home-page-v2 .hv2-chips{position:static;padding:0 32px;gap:30px;background:#fff}
  .home-page-v2 .hv2-chips .chip{padding:15px 0 11px;font-size:14px}
  .home-page-v2 .hv2-feature{padding:12px 32px 0}
  .home-page-v2 .hv2-feature-card{max-width:900px;min-height:150px;border-radius:8px}
  .home-page-v2 .hv2-feature-cover{width:94px;flex-basis:94px;height:122px;margin:14px 0 14px 14px}
  .home-page-v2 .hv2-feature-copy{padding:16px 16px 14px}
  .home-page-v2 .hv2-feature-copy h2{font-size:20px}
  .home-page-v2 .hv2-section{max-width:1120px;margin:auto;padding:16px 32px 0}
  .home-page-v2 .hv2-section-title h1{font-size:21px}
  .home-page-v2 .hv2-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:24px 14px;padding:7px 0 30px}
  .home-page-v2 .hv2-card .t{font-size:13px}
  .home-page-v2 .hv2-meta{font-size:10px}
  .detail-v2 .dv2-nav{position:static;height:48px;padding:5px 32px;background:#fff;backdrop-filter:none}
  .detail-v2 .dv2-hero{border-bottom:8px solid #f6f6f6}
  .detail-v2 .dv2-main{max-width:900px;margin:auto;padding:26px 32px 28px;gap:18px}
  .detail-v2 .dv2-cover{width:132px;flex-basis:132px}
  .detail-v2 .dv2-info h1{font-size:23px}
  .detail-v2 .dv2-content{max-width:900px;margin:auto;padding:0 32px 45px}
  .detail-v2 .dv2-ep-grid{grid-template-columns:repeat(10,minmax(0,1fr));gap:7px}
}

@media (min-width:1200px){
  .home-page-v2 .hv2-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:24px 16px}
}

@media (max-width:360px){
  .home-page-v2 .hv2-header{gap:8px;padding-left:10px;padding-right:10px}
  .home-page-v2 .hv2-brand{gap:10px}
  .home-page-v2 .hv2-brand a{font-size:18px}
  .home-page-v2 .hv2-chips{gap:17px}
  .home-page-v2 .hv2-feature{padding-left:8px;padding-right:8px}
  .home-page-v2 .hv2-section{padding-left:8px;padding-right:8px}
  .home-page-v2 .hv2-grid{gap:15px 6px}
  .home-page-v2 .hv2-card .t{font-size:11px}
  .detail-v2 .dv2-main{gap:10px;padding-left:10px;padding-right:10px}
  .detail-v2 .dv2-cover{width:96px;flex-basis:96px}
  .detail-v2 .dv2-info h1{font-size:18px}
  .detail-v2 .dv2-content{padding-left:10px;padding-right:10px}
  .detail-v2 .dv2-ep-grid{grid-template-columns:repeat(5,minmax(0,1fr))}
}


/* =========================================================
   V6 · 上线推广版：简洁、密集、中文化的短剧产品视觉
   仅覆盖首页 + 短剧信息页；播放器 / 小说 / 搜索 / 我的原样保留。
   ========================================================= */
.home-page-v2{
  --v6-red:#ff3b30;
  --v6-orange:#ff6a2a;
  --v6-black:#171717;
  --v6-gray:#8f8f94;
  --v6-line:#ececec;
  background:#f7f7f7;
  color:var(--v6-black);
}
.home-page-v2 .hv2-header{
  height:58px;
  padding:calc(7px + var(--safe-top)) 14px 7px;
  gap:12px;
  background:#fff;
  border-bottom:1px solid var(--v6-line);
  box-shadow:0 1px 0 rgba(0,0,0,.02);
  backdrop-filter:none;
  -webkit-backdrop-filter:none;
}
.home-page-v2 .hv2-brand{gap:17px}
.home-page-v2 .hv2-brand a{
  position:relative;
  font-size:18px;
  line-height:1;
  color:#999;
  padding:11px 0 13px;
  font-weight:700;
}
.home-page-v2 .hv2-brand a.on{color:#1a1a1a}
.home-page-v2 .hv2-brand a.on:after{
  content:"";position:absolute;left:50%;bottom:5px;transform:translateX(-50%);
  width:18px;height:3px;border-radius:2px;background:var(--v6-red);
}
.home-page-v2 .hv2-search{
  height:36px;
  background:#f5f5f5;
  border:1px solid #f0f0f0;
  border-radius:18px;
  color:#9a9a9e;
  padding:0 13px;
  font-size:12px;
}
.home-page-v2 .hv2-search .icon{width:17px;height:17px}
.home-page-v2 .hv2-user{
  width:34px;height:34px;border-radius:17px;background:#f5f5f5;color:#555;
}
.home-page-v2 .hv2-user .icon{width:17px;height:17px}
.home-page-v2 .hv2-chips{
  position:sticky;top:58px;z-index:35;
  gap:0;padding:0 14px;background:#fff;border-bottom:1px solid var(--v6-line);
  box-shadow:0 1px 4px rgba(0,0,0,.025);
}
.home-page-v2 .hv2-chips .chip{
  margin-right:24px;padding:11px 0 10px;border:0;color:#76777b;font-size:13px;
}
.home-page-v2 .hv2-chips .chip.on{color:#171717;font-weight:800}
.home-page-v2 .hv2-chips .chip.on:after{
  content:"";position:absolute;left:50%;bottom:4px;transform:translateX(-50%);
  width:18px;height:3px;border-radius:2px;background:var(--v6-red);
}
.home-page-v2 .hv2-feature{padding:11px 10px 0;background:#f7f7f7}
.home-page-v2 .hv2-feature-card{
  min-height:182px;border-radius:8px;background:#222;box-shadow:none;
  display:flex;overflow:hidden;
}
.home-page-v2 .hv2-feature-bg{
  opacity:.4;filter:blur(18px);transform:scale(1.08);inset:-24px;width:calc(100% + 48px);height:calc(100% + 48px);
}
.home-page-v2 .hv2-feature-shade{
  background:linear-gradient(90deg,rgba(0,0,0,.93) 0%,rgba(0,0,0,.71) 55%,rgba(0,0,0,.23) 100%);
}
.home-page-v2 .hv2-feature-cover{
  width:111px;flex-basis:111px;margin:12px 0 12px 12px;border-radius:5px;box-shadow:0 7px 18px rgba(0,0,0,.28);
}
.home-page-v2 .hv2-feature-copy{padding:16px 13px 14px;min-width:0}
.home-page-v2 .hv2-feature-copy small{
  font-size:11px;line-height:1.4;color:rgba(255,255,255,.7);letter-spacing:0;font-weight:600;
}
.home-page-v2 .hv2-feature-copy h2{
  margin:6px 0 6px;font-size:20px;line-height:1.3;letter-spacing:0;color:#fff;
  -webkit-line-clamp:2;
}
.home-page-v2 .hv2-feature-copy p{margin:0;color:rgba(255,255,255,.64);font-size:11px}
.home-page-v2 .hv2-feature-copy strong{
  margin-top:auto;padding:7px 13px;border-radius:4px;background:var(--v6-red);color:#fff;
  font-size:12px;font-weight:800;box-shadow:none;
}
.home-page-v2 .hv2-feature-copy strong span{font-size:16px;line-height:10px}
.home-page-v2 .hv2-section{padding:16px 10px 0;background:#f7f7f7}
.home-page-v2 .hv2-section-title{
  padding:4px 2px 10px;display:flex;align-items:center;justify-content:space-between;
}
.home-page-v2 .hv2-section-title h1{
  margin:0;font-size:18px;line-height:1.3;font-weight:850;letter-spacing:0;
  padding-left:9px;position:relative;
}
.home-page-v2 .hv2-section-title h1:before{
  content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);
  width:3px;height:17px;border-radius:2px;background:var(--v6-red);
}
.home-page-v2 .hv2-section-title > span{font-size:11px;color:#999}
.home-page-v2 .hv2-grid{
  padding:2px 0 30px;gap:17px 7px;grid-template-columns:repeat(3,minmax(0,1fr));
}
.home-page-v2 .hv2-card{min-width:0}
.home-page-v2 .hv2-cover{
  border-radius:4px;box-shadow:none;background:#e6e6e6;aspect-ratio:2/3;
}
.home-page-v2 .hv2-cover .cover{transition:none}
.home-page-v2 .hv2-card:hover .cover{transform:none}
.home-page-v2 .hv2-rank{
  left:0;top:0;min-width:25px;height:21px;padding:0 6px;border-radius:0 0 4px 0;
  background:rgba(20,20,20,.75);font-size:10px;backdrop-filter:none;
}
.home-page-v2 .hv2-card:nth-child(1) .hv2-rank{background:var(--v6-red)}
.home-page-v2 .hv2-card:nth-child(2) .hv2-rank{background:var(--v6-orange)}
.home-page-v2 .hv2-card:nth-child(3) .hv2-rank{background:#f0a400}
.home-page-v2 .hv2-play{
  right:6px;bottom:6px;width:28px;height:28px;border:0;background:rgba(0,0,0,.62);
  font-size:9px;backdrop-filter:none;
}
.home-page-v2 .hv2-card .t{
  margin-top:6px;font-size:12px;line-height:1.45;font-weight:700;color:#222;
  -webkit-line-clamp:2;white-space:normal;
}
.home-page-v2 .hv2-meta{display:block;margin-top:3px;color:#999;font-size:10px}
.home-page-v2 .hv2-meta span{display:block}
.home-page-v2 #foot .empty,.home-page-v2 #foot .loading,.home-page-v2 #foot .errbox{padding:18px 8px 32px}

/* 信息页：不显示热度/播放量/英文装饰，突出剧名、状态、简介、选集 */
.detail-v2{
  --v6-red:#ff3b30;
  background:#f7f7f7;color:#171717;
}
.detail-v2 .dv2-nav{
  height:52px;position:sticky;top:0;z-index:50;padding:6px 12px;background:#fff;
  border-bottom:1px solid #ececec;backdrop-filter:none;-webkit-backdrop-filter:none;
}
.detail-v2 .dv2-nav > span{font-size:15px;font-weight:800;color:#171717}
.detail-v2 .dv2-back{width:32px;height:32px}
.detail-v2 .dv2-refresh{font-size:12px;color:#777}
.detail-v2 .dv2-hero{
  min-height:274px;background:#191919;border-bottom:8px solid #f7f7f7;
}
.detail-v2 .dv2-bg-wrap{position:absolute;inset:0;overflow:hidden}
.detail-v2 .dv2-bg{
  inset:-22px;width:calc(100% + 44px);height:calc(100% + 44px);opacity:.28;filter:blur(22px) brightness(.72);transform:scale(1.08);
}
.detail-v2 .dv2-bg-shade{
  background:linear-gradient(90deg,rgba(10,10,10,.93) 0%,rgba(10,10,10,.82) 55%,rgba(10,10,10,.58) 100%);
}
.detail-v2 .dv2-main{
  min-height:274px;padding:24px 14px 25px;gap:14px;align-items:center;
}
.detail-v2 .dv2-cover{
  width:116px;flex-basis:116px;border-radius:5px;box-shadow:0 9px 24px rgba(0,0,0,.32);
}
.detail-v2 .dv2-info{align-items:flex-start;min-width:0}
.detail-v2 .dv2-status{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:6px}
.detail-v2 .dv2-status span{
  display:inline-flex;align-items:center;min-height:21px;padding:0 7px;border-radius:2px;
  background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.12);color:rgba(255,255,255,.82);font-size:10px;
}
.detail-v2 .dv2-status span:first-child{background:var(--v6-red);border-color:var(--v6-red);color:#fff}
.detail-v2 .dv2-label{display:none}
.detail-v2 .dv2-info h1{
  margin:0 0 8px;font-size:21px;line-height:1.35;font-weight:900;letter-spacing:0;color:#fff;
}
.detail-v2 .dv2-tags{gap:5px;max-height:48px;overflow:hidden}
.detail-v2 .dv2-tags span{
  padding:3px 6px;border-radius:2px;border:1px solid rgba(255,255,255,.19);
  background:rgba(255,255,255,.06);color:rgba(255,255,255,.76);font-size:10px;
}
.detail-v2 .dv2-play{
  width:auto;min-width:112px;min-height:40px;margin-top:13px;padding:0 16px;border:0;border-radius:4px;
  background:var(--v6-red);color:#fff;font-size:12px;font-weight:900;box-shadow:none;
}
.detail-v2 .dv2-play b{font-size:10px;margin-left:7px}
.detail-v2 .dv2-content{
  padding:0 14px 35px;background:#fff;
}
.detail-v2 .dv2-intro{
  padding:17px 0 18px;border-bottom:1px solid #ededed;
}
.detail-v2 .dv2-section-title{display:flex;align-items:center;gap:8px}
.detail-v2 .dv2-section-title:before{
  content:"";width:3px;height:17px;border-radius:2px;background:var(--v6-red)
}
.detail-v2 .dv2-section-title h2{margin:0;font-size:16px;font-weight:850;color:#222}
.detail-v2 .dv2-section-title small{display:none}
.detail-v2 .dv2-intro p{margin:9px 0 0;color:#666;font-size:12px;line-height:1.85}
.detail-v2 .dv2-more{padding:7px 0 0;color:var(--v6-red);font-size:11px}
.detail-v2 .dv2-episodes{padding-top:18px}
.detail-v2 .dv2-ep-head{margin-bottom:10px;align-items:end}
.detail-v2 .dv2-ep-head > div{display:flex;align-items:baseline;gap:8px}
.detail-v2 .dv2-episode-label{color:#999;font-size:10px}
.detail-v2 .dv2-ep-head h2{margin:0;font-size:16px;font-weight:850;color:#222}
.detail-v2 .dv2-ep-head small{display:none}
.detail-v2 .dv2-ep-head > span{color:#999;font-size:10px}
.detail-v2 .dv2-ep-grid{
  display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:7px;
}
.detail-v2 .dv2-ep-grid .ep{
  min-height:39px;border:1px solid #e5e5e5;background:#fafafa;color:#444;border-radius:3px;
  padding:7px 2px;font-size:11px;box-shadow:none;
}
.detail-v2 .dv2-ep-grid .ep.done{color:var(--v6-red)}
.detail-v2 .dv2-ep-grid .ep.busy{color:#fff;background:var(--v6-red);border-color:var(--v6-red);box-shadow:none}
.detail-v2 .dv2-loading{min-height:65vh;background:#f7f7f7}
.detail-v2 .dv2-error{padding:90px 20px;background:#f7f7f7}

/* 桌面端：沿用原系统顶部导航，只把首页内容控制在舒适宽度 */
@media (min-width:760px){
  .home-page-v2 .hv2-header{display:none}
  .home-page-v2 .hv2-chips{position:static;top:auto;padding:0 32px;box-shadow:none}
  .home-page-v2 .hv2-chips .chip{margin-right:30px}
  .home-page-v2 .hv2-feature{padding:14px 32px 0}
  .home-page-v2 .hv2-feature-card{max-width:1100px;min-height:205px;margin:0 auto;border-radius:8px}
  .home-page-v2 .hv2-feature-cover{width:124px;flex-basis:124px;margin:14px 0 14px 14px}
  .home-page-v2 .hv2-feature-copy{padding:19px 18px 16px}
  .home-page-v2 .hv2-feature-copy h2{font-size:22px}
  .home-page-v2 .hv2-section{max-width:1100px;margin:auto;padding:16px 32px 0}
  .home-page-v2 .hv2-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:22px 14px}
  .home-page-v2 .hv2-card .t{font-size:13px}
  .detail-v2 .dv2-nav{position:static;padding:6px 32px}
  .detail-v2 .dv2-hero{min-height:330px}
  .detail-v2 .dv2-main{max-width:980px;min-height:330px;margin:auto;padding:32px;gap:20px}
  .detail-v2 .dv2-cover{width:152px;flex-basis:152px}
  .detail-v2 .dv2-info h1{font-size:28px}
  .detail-v2 .dv2-content{max-width:980px;margin:auto;padding:0 32px 45px}
  .detail-v2 .dv2-ep-grid{grid-template-columns:repeat(10,minmax(0,1fr));gap:7px}
}
@media (max-width:360px){
  .home-page-v2 .hv2-brand{gap:14px}
  .home-page-v2 .hv2-brand a{font-size:17px}
  .home-page-v2 .hv2-chips .chip{margin-right:20px;font-size:12px}
  .home-page-v2 .hv2-feature{padding-left:8px;padding-right:8px}
  .home-page-v2 .hv2-feature-cover{width:101px;flex-basis:101px;margin-left:10px}
  .home-page-v2 .hv2-feature-copy{padding-left:11px;padding-right:10px}
  .home-page-v2 .hv2-feature-copy h2{font-size:18px}
  .home-page-v2 .hv2-grid{gap:14px 5px}
  .detail-v2 .dv2-main{gap:10px;padding:20px 10px}
  .detail-v2 .dv2-cover{width:100px;flex-basis:100px}
  .detail-v2 .dv2-info h1{font-size:18px}
  .detail-v2 .dv2-content{padding-left:10px;padding-right:10px}
  .detail-v2 .dv2-ep-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:6px}
}


/* =========================================================
   V8 · 上线版短剧界面
   只覆盖首页 + 短剧详情页；原播放器 / 小说 / 搜索 / 我的不改结构
   ========================================================= */
.home-page-v2{
  --v8-red:#ff3b30;
  --v8-red2:#ff5a36;
  --v8-green:#15b66a;
  --v8-bg:#f6f6f6;
  --v8-line:#ededed;
  --v8-text:#181818;
  --v8-sub:#8b8b8f;
  background:var(--v8-bg); color:var(--v8-text); min-height:calc(var(--viewport-height) - var(--safe-bottom));
}
.home-page-v2 .hv2-header{
  position:sticky;top:0;z-index:45;height:56px;
  display:flex;align-items:center;gap:14px;
  padding:calc(6px + var(--safe-top)) 14px 6px;
  background:#fff;border-bottom:1px solid var(--v8-line);box-shadow:none;
  backdrop-filter:none;-webkit-backdrop-filter:none;
}
.home-page-v2 .hv2-brand{display:flex;align-items:center;gap:17px;flex:0 0 auto}
.home-page-v2 .hv2-brand a{
  position:relative;color:#98989c;text-decoration:none;font-size:19px;font-weight:700;line-height:1;
  padding:10px 0 12px;
}
.home-page-v2 .hv2-brand a.on{color:#161616;font-weight:900}
.home-page-v2 .hv2-brand a.on:after{
  content:"";position:absolute;left:50%;bottom:5px;transform:translateX(-50%);
  width:18px;height:3px;border-radius:3px;background:linear-gradient(90deg,var(--v8-red),var(--v8-green));
}
.home-page-v2 .hv2-search{
  height:34px;display:flex;align-items:center;gap:7px;flex:1;min-width:0;
  padding:0 12px;background:#f5f5f5;border:0;border-radius:17px;color:#9b9b9f;font-size:12px;text-decoration:none;
}
.home-page-v2 .hv2-search .icon{width:16px;height:16px}
.home-page-v2 .hv2-search span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.home-page-v2 .hv2-user{
  width:34px;height:34px;display:grid;place-items:center;flex:0 0 auto;
  border-radius:50%;background:#f3f3f3;color:#555;text-decoration:none;
}
.home-page-v2 .hv2-user .icon{width:17px;height:17px}
.home-page-v2 .hv2-chips{
  position:sticky;top:56px;z-index:40;display:flex;gap:0;overflow-x:auto;scrollbar-width:none;
  padding:0 14px;background:#fff;border-bottom:1px solid var(--v8-line);box-shadow:none;
}
.home-page-v2 .hv2-chips::-webkit-scrollbar{display:none}
.home-page-v2 .hv2-chips .chip{
  flex:0 0 auto;position:relative;border:0;border-radius:0;background:none;color:#777;
  padding:11px 0 10px;margin-right:24px;font-size:13px;white-space:nowrap;
}
.home-page-v2 .hv2-chips .chip.on{color:#161616;font-weight:800}
.home-page-v2 .hv2-chips .chip.on:after{
  content:"";position:absolute;left:50%;bottom:4px;transform:translateX(-50%);
  width:17px;height:3px;border-radius:3px;background:var(--v8-red);
}
.home-page-v2 .hv2-feature{padding:10px 12px 2px;background:var(--v8-bg)}
.home-page-v2 .hv2-feature-card{
  position:relative;display:flex;align-items:center;min-height:134px;overflow:hidden;
  border-radius:10px;background:#fff;color:#171717;text-decoration:none;
  border:1px solid #ebebeb;box-shadow:0 2px 8px rgba(0,0,0,.045);isolation:isolate;
}
.home-page-v2 .hv2-feature-cover{
  flex:0 0 92px;width:92px;height:114px;margin:10px 0 10px 10px;overflow:hidden;border-radius:6px;background:#eee;box-shadow:none;
}
.home-page-v2 .hv2-feature-cover img{width:100%;height:100%;object-fit:cover}
.home-page-v2 .hv2-feature-copy{min-width:0;display:flex;flex-direction:column;align-items:flex-start;padding:13px 42px 13px 12px}
.home-page-v2 .hv2-feature-copy .feature-kicker{
  display:inline-flex;align-items:center;min-height:20px;padding:0 6px;border-radius:2px;
  background:#fff0ef;color:var(--v8-red);font-size:10px;font-weight:800;
}
.home-page-v2 .hv2-feature-copy h2{
  margin:7px 0 5px;color:#171717;font-size:17px;line-height:1.35;font-weight:900;letter-spacing:0;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
}
.home-page-v2 .hv2-feature-copy p{margin:0;color:#96969a;font-size:10px}
.home-page-v2 .hv2-feature-copy strong{
  margin-top:9px;display:inline-flex;align-items:center;justify-content:center;min-height:30px;
  padding:0 13px;border-radius:4px;background:var(--v8-red);color:#fff;font-size:11px;font-weight:800;
}
.home-page-v2 .hv2-feature-arrow{
  position:absolute;right:14px;top:50%;transform:translateY(-50%);color:#b1b1b4;font-size:24px;font-weight:300;
}
.home-page-v2 .hv2-feature-skeleton,.home-page-v2 .hv2-empty-feature{
  min-height:134px;border-radius:10px;background:#ececec;position:relative;overflow:hidden;border:1px solid #e5e5e5;
}
.home-page-v2 .hv2-feature-skeleton i{position:absolute;left:10px;top:10px;width:92px;height:114px;border-radius:6px;background:#ddd}
.home-page-v2 .hv2-feature-skeleton b{position:absolute;left:115px;top:27px;width:35%;height:14px;border-radius:4px;background:#ddd}
.home-page-v2 .hv2-feature-skeleton span{position:absolute;left:115px;bottom:23px;width:70px;height:28px;border-radius:4px;background:#ddd}
.home-page-v2 .hv2-section{padding:13px 12px 0;background:var(--v8-bg)}
.home-page-v2 .hv2-section-title{padding:4px 0 10px;display:flex;align-items:center;justify-content:space-between}
.home-page-v2 .hv2-section-title h1{
  position:relative;margin:0;padding-left:9px;color:#191919;font-size:18px;line-height:1.3;font-weight:900;letter-spacing:0;
}
.home-page-v2 .hv2-section-title h1:before{
  content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:3px;height:17px;border-radius:2px;background:var(--v8-red);
}
.home-page-v2 .hv2-section-title>span{color:#999;font-size:10px}
/* 热播卡片：标准双列，不叠加排名角标、不叠加悬浮播放圈 */
.home-page-v2 .hv2-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 9px;padding:1px 0 28px}
.home-page-v2 .hv2-card{display:block;min-width:0;text-decoration:none;color:inherit}
.home-page-v2 .hv2-cover{position:relative;width:100%;aspect-ratio:2/3;overflow:hidden;border-radius:7px;background:#e6e6e6;box-shadow:none}
.home-page-v2 .hv2-cover .cover{width:100%;height:100%;display:block;object-fit:cover;transition:none}
.home-page-v2 .hv2-card:hover .cover{transform:none}
.home-page-v2 .hv2-rank,.home-page-v2 .hv2-play{display:none!important}
.home-page-v2 .hv2-card .t{
  margin:7px 1px 0;color:#222;font-size:13px;line-height:1.45;font-weight:750;white-space:normal;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
}
.home-page-v2 .hv2-meta{display:flex;align-items:center;gap:8px;margin:4px 1px 0;color:#999;font-size:10px;justify-content:flex-start}
.home-page-v2 .hv2-meta span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.home-page-v2 #foot .empty,.home-page-v2 #foot .loading,.home-page-v2 #foot .errbox{padding:18px 8px 30px}
.home-page-v2 .btn{border-radius:4px}

/* 详情信息页：单一信息卡 + 简介 + 选集，去掉热度、播放量和英文 */
.detail-v2{min-height:calc(var(--viewport-height) - var(--safe-bottom));background:#f6f6f6;color:#171717}
.detail-v2 .dv2-nav{
  height:52px;position:sticky;top:0;z-index:50;display:flex;align-items:center;justify-content:space-between;
  padding:calc(6px + var(--safe-top)) 12px 6px;background:#fff;border-bottom:1px solid #ececec;backdrop-filter:none;-webkit-backdrop-filter:none;
}
.detail-v2 .dv2-nav>span{font-size:15px;font-weight:800;color:#171717}
.detail-v2 .dv2-back,.detail-v2 .dv2-refresh{border:0;background:none;color:#444}
.detail-v2 .dv2-back{width:32px;height:32px;display:grid;place-items:center;padding:0}
.detail-v2 .dv2-back .icon{width:20px;height:20px}
.detail-v2 .dv2-refresh{font-size:12px;padding:7px 2px;color:#777}
.detail-v2 .dv2-page{padding:10px 12px 34px;max-width:720px;margin:auto}
.detail-v2 .dv2-info-card{
  display:flex;gap:13px;align-items:flex-start;padding:14px;background:#fff;border:1px solid #ececec;border-radius:8px;
  box-shadow:0 2px 8px rgba(0,0,0,.035);
}
.detail-v2 .dv2-cover{width:108px;flex:0 0 108px;aspect-ratio:2/3;overflow:hidden;border-radius:5px;background:#eee;box-shadow:none}
.detail-v2 .dv2-cover img{width:100%;height:100%;display:block;object-fit:cover}
.detail-v2 .dv2-info{min-width:0;display:flex;flex-direction:column;align-items:flex-start;padding-top:1px}
.detail-v2 .dv2-label{display:none}
.detail-v2 .dv2-info h1{margin:0 0 8px;color:#171717;font-size:19px;line-height:1.4;font-weight:900;letter-spacing:0;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.detail-v2 .dv2-facts{display:flex;gap:5px;flex-wrap:wrap;margin-bottom:8px}
.detail-v2 .dv2-facts span{min-height:21px;padding:0 7px;display:inline-flex;align-items:center;border-radius:2px;background:#f5f5f5;color:#666;font-size:10px}
.detail-v2 .dv2-tags{display:flex;gap:5px;flex-wrap:wrap;max-height:48px;overflow:hidden}
.detail-v2 .dv2-tags span{padding:3px 6px;border:1px solid #ebebeb;border-radius:3px;background:#fff;color:#777;font-size:10px}
.detail-v2 .dv2-play{
  width:132px;min-height:38px;margin-top:12px;padding:0 12px;border:0;border-radius:4px;background:var(--v8-red);color:#fff;font-size:12px;font-weight:900;box-shadow:none;
}
.detail-v2 .dv2-play b{font-size:9px;margin-left:6px}
.detail-v2 .dv2-play:disabled{opacity:.45}
.detail-v2 .dv2-intro{margin-top:10px;padding:16px 14px 18px;background:#fff;border:1px solid #ececec;border-radius:8px}
.detail-v2 .dv2-section-title{display:flex;align-items:center;gap:8px}
.detail-v2 .dv2-section-title:before{content:"";width:3px;height:17px;border-radius:2px;background:var(--v8-red)}
.detail-v2 .dv2-section-title h2{margin:0;font-size:16px;line-height:1.3;font-weight:900;color:#222}
.detail-v2 .dv2-intro p{margin:10px 0 0;color:#666;font-size:12px;line-height:1.85}
.detail-v2 .dv2-more{border:0;background:none;padding:7px 0 0;color:var(--v8-red);font-size:11px}
.detail-v2 .dv2-episodes{margin-top:10px;padding:16px 14px 18px;background:#fff;border:1px solid #ececec;border-radius:8px}
.detail-v2 .dv2-ep-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:11px}
.detail-v2 .dv2-ep-head h2{margin:0;font-size:16px;font-weight:900;color:#222}
.detail-v2 .dv2-ep-head>span{font-size:10px;color:#999}
.detail-v2 .dv2-ep-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:7px}
.detail-v2 .dv2-ep-grid .ep{
  min-width:0;min-height:39px;border:1px solid #e6e6e6;background:#fafafa;color:#444;border-radius:4px;padding:7px 2px;font-size:11px;box-shadow:none;
}
.detail-v2 .dv2-ep-grid .ep.done{color:var(--v8-red)}
.detail-v2 .dv2-ep-grid .ep.busy{color:#fff;background:var(--v8-red);border-color:var(--v8-red);box-shadow:none}
.detail-v2 .dv2-loading{min-height:65vh;background:#f6f6f6}
.detail-v2 .dv2-error{padding:90px 20px;background:#f6f6f6}

@media (min-width:760px){
  .home-page-v2 .hv2-header{display:none}
  .home-page-v2 .hv2-chips{position:static;top:auto;padding:0 32px}
  .home-page-v2 .hv2-chips .chip{margin-right:30px;padding:14px 0 10px}
  .home-page-v2 .hv2-feature{padding:12px 32px 2px}
  .home-page-v2 .hv2-feature-card{max-width:1100px;margin:auto;min-height:148px}
  .home-page-v2 .hv2-feature-cover{width:104px;flex-basis:104px;height:128px;margin:10px 0 10px 10px}
  .home-page-v2 .hv2-section{max-width:1100px;margin:auto;padding-left:32px;padding-right:32px}
  .home-page-v2 .hv2-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:25px 14px}
  .home-page-v2 .hv2-card .t{font-size:13px}
  .detail-v2 .dv2-page{padding:16px 32px 55px}
  .detail-v2 .dv2-info-card{padding:18px;gap:18px}
  .detail-v2 .dv2-cover{width:132px;flex-basis:132px}
  .detail-v2 .dv2-info h1{font-size:23px}
  .detail-v2 .dv2-ep-grid{grid-template-columns:repeat(10,minmax(0,1fr));gap:8px}
}
@media (max-width:420px){
  .home-page-v2 .hv2-header{padding-left:11px;padding-right:11px}
  .home-page-v2 .hv2-brand{gap:14px}
  .home-page-v2 .hv2-brand a{font-size:18px}
  .home-page-v2 .hv2-chips{padding-left:11px;padding-right:11px}
  .home-page-v2 .hv2-chips .chip{margin-right:21px}
  .home-page-v2 .hv2-feature{padding-left:10px;padding-right:10px}
  .home-page-v2 .hv2-feature-cover{width:88px;flex-basis:88px;height:111px}
  .home-page-v2 .hv2-feature-copy{padding-right:38px}
  .detail-v2 .dv2-page{padding-left:10px;padding-right:10px}
  .detail-v2 .dv2-info-card{padding:12px;gap:11px}
  .detail-v2 .dv2-cover{width:100px;flex-basis:100px}
  .detail-v2 .dv2-info h1{font-size:18px}
}
@media (max-width:360px){
  .home-page-v2 .hv2-grid{gap:15px 6px}
  .home-page-v2 .hv2-card .t{font-size:12px}
  .detail-v2 .dv2-cover{width:92px;flex-basis:92px}
  .detail-v2 .dv2-ep-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:6px}
}

/* =========================================================
   V9 精准视觉修正
   只调整：.hv2-feature / .dv2-info-card 及其内部元素
   不修改其它首页区块、数据、播放器、小说与搜索页面
   ========================================================= */

/* ---------- 首页精选区：浅色横排推荐条 ---------- */
.home-page-v2 .hv2-feature{
  padding:12px 12px 2px;
  background:#f6f6f6;
}
.home-page-v2 .hv2-feature-card{
  position:relative;
  display:grid;
  grid-template-columns:100px minmax(0,1fr);
  align-items:center;
  min-height:152px;
  overflow:hidden;
  border-radius:12px;
  background:#fff;
  color:#222;
  text-decoration:none;
  border:1px solid #e9e9e9;
  box-shadow:none;
}
.home-page-v2 .hv2-feature-bg,
.home-page-v2 .hv2-feature-shade{display:none}
.home-page-v2 .hv2-feature-cover{
  grid-column:1;
  flex:none;
  width:88px;
  height:120px;
  margin:12px 0 12px 12px;
  overflow:hidden;
  border-radius:8px;
  background:#eee;
  box-shadow:none;
}
.home-page-v2 .hv2-feature-cover img{
  width:100%;
  height:100%;
  object-fit:cover;
}
.home-page-v2 .hv2-feature-copy{
  grid-column:2;
  min-width:0;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  padding:12px;
}
.home-page-v2 .hv2-feature-copy .feature-kicker{
  display:block;
  min-height:0;
  padding:0;
  background:none;
  color:#777;
  font-size:11px;
  line-height:16px;
  font-weight:400;
}
.home-page-v2 .hv2-feature-copy h2{
  margin:5px 0;
  color:#222;
  font-size:17px;
  line-height:1.35;
  font-weight:700;
  letter-spacing:0;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.home-page-v2 .hv2-feature-copy p{
  margin:0;
  color:#888;
  font-size:11px;
  line-height:1.5;
}
.home-page-v2 .hv2-feature-copy strong{
  margin-top:8px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:28px;
  padding:0 11px;
  border-radius:6px;
  background:var(--v8-red);
  color:#fff;
  font-size:11px;
  line-height:28px;
  font-weight:600;
  box-shadow:none;
}
.home-page-v2 .hv2-feature-skeleton,
.home-page-v2 .hv2-empty-feature{
  min-height:152px;
  border-radius:12px;
  background:#fff;
  border:1px solid #e9e9e9;
}
.home-page-v2 .hv2-empty-feature{
  display:grid;
  place-items:center;
  color:#888;
  font-size:13px;
}
.home-page-v2 .hv2-feature-skeleton i{
  left:12px;
  top:12px;
  width:88px;
  height:120px;
  border-radius:8px;
}
.home-page-v2 .hv2-feature-skeleton b{
  left:112px;
  top:30px;
  width:34%;
  height:14px;
  border-radius:4px;
}
.home-page-v2 .hv2-feature-skeleton span{
  left:112px;
  bottom:12px;
  width:78px;
  height:28px;
  border-radius:6px;
}

/* ---------- 详情信息卡：封面 + 标题信息，轻量、克制、可上线 ---------- */
.detail-v2 .dv2-info-card{
  display:grid;
  grid-template-columns:120px minmax(0,1fr);
  gap:15px;
  align-items:stretch;
  padding:15px;
  background:#fff;
  border:1px solid #ededed;
  border-radius:10px;
  box-shadow:0 3px 12px rgba(20,20,22,.05);
}
.detail-v2 .dv2-info-card .dv2-cover{
  width:120px;
  flex:none;
  aspect-ratio:2/3;
  overflow:hidden;
  border-radius:6px;
  background:#eee;
  box-shadow:none;
}
.detail-v2 .dv2-info-card .dv2-cover img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
}
.detail-v2 .dv2-info-card .dv2-info{
  min-width:0;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:flex-start;
  padding:1px 0 0;
}
.detail-v2 .dv2-info-card .dv2-info h1{
  margin:0;
  color:#181818;
  font-size:20px;
  line-height:1.42;
  font-weight:900;
  letter-spacing:0;
  display:-webkit-box;
  -webkit-line-clamp:3;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.detail-v2 .dv2-info-card .dv2-facts{
  display:flex;
  align-items:center;
  gap:0;
  flex-wrap:wrap;
  margin:9px 0 0;
}
.detail-v2 .dv2-info-card .dv2-facts span{
  min-height:0;
  padding:0;
  background:transparent;
  color:#8a8a8e;
  font-size:11px;
  line-height:18px;
}
.detail-v2 .dv2-info-card .dv2-facts span+span:before{
  content:'·';
  margin:0 7px;
  color:#c8c8ca;
}
.detail-v2 .dv2-info-card .dv2-facts .dv2-tag-fact{
  padding:2px 6px;
  min-height:20px;
  border:1px solid #ececec;
  border-radius:3px;
  background:#fafafa;
  color:#777;
  line-height:15px;
}
.detail-v2 .dv2-info-card .dv2-facts .dv2-tag-fact:before{
  content:none;
}
.detail-v2 .dv2-info-card .dv2-tags{
  display:flex;
  gap:5px;
  flex-wrap:wrap;
  max-height:44px;
  overflow:hidden;
  margin-top:7px;
}
.detail-v2 .dv2-info-card .dv2-tags span{
  padding:3px 7px;
  border:1px solid #ededed;
  border-radius:3px;
  background:#fafafa;
  color:#777;
  font-size:10px;
  line-height:14px;
}
.detail-v2 .dv2-info-card .dv2-play{
  width:auto;
  min-width:118px;
  min-height:36px;
  margin-top:auto;
  padding:0 15px;
  border:0;
  border-radius:4px;
  background:#ff3b30;
  color:#fff;
  font-size:12px;
  line-height:36px;
  font-weight:900;
  box-shadow:none;
}
.detail-v2 .dv2-info-card .dv2-play b{
  font-size:9px;
  margin-left:6px;
}
.detail-v2 .dv2-info-card .dv2-play:disabled{opacity:.42}

@media (min-width:760px){
  .home-page-v2 .hv2-feature{max-width:1100px;margin:0 auto;padding:16px 32px 4px;box-sizing:border-box}
  .home-page-v2 .hv2-feature-card{width:100%;max-width:none;grid-template-columns:164px minmax(0,1fr);min-height:232px;border-radius:12px;box-sizing:border-box}
  .home-page-v2 .hv2-feature-cover{width:144px;height:192px;margin:19px 0 19px 20px}
  .home-page-v2 .hv2-feature-copy{padding:20px 28px}
  .home-page-v2 .hv2-feature-copy h2{font-size:26px;max-width:none;margin:8px 0}
  .home-page-v2 .hv2-feature-copy .feature-kicker,.home-page-v2 .hv2-feature-copy p{font-size:13px}
  .home-page-v2 .hv2-feature-copy strong{margin-top:16px;min-height:34px;line-height:34px;font-size:13px;padding:0 16px}
  .home-page-v2 .hv2-feature-skeleton,.home-page-v2 .hv2-empty-feature{width:100%;max-width:none;margin:0;min-height:232px;box-sizing:border-box}
  .home-page-v2 .hv2-feature-skeleton i{left:20px;top:19px;width:144px;height:192px}
  .home-page-v2 .hv2-feature-skeleton b{left:192px;top:48px;width:28%;height:22px}
  .home-page-v2 .hv2-feature-skeleton span{left:192px;bottom:30px;width:100px;height:34px}

  .detail-v2 .dv2-info-card{grid-template-columns:150px minmax(0,1fr);gap:20px;padding:18px}
  .detail-v2 .dv2-info-card .dv2-cover{width:150px}
  .detail-v2 .dv2-info-card .dv2-info h1{font-size:25px}
  .detail-v2 .dv2-info-card .dv2-play{min-width:132px}
}

@media (max-width:420px){
  .home-page-v2 .hv2-feature{padding-left:10px;padding-right:10px}

  .detail-v2 .dv2-info-card{grid-template-columns:96px minmax(0,1fr);gap:12px;padding:12px}
  .detail-v2 .dv2-info-card .dv2-cover{width:96px}
  .detail-v2 .dv2-info-card .dv2-info h1{font-size:18px;line-height:1.4}
  .detail-v2 .dv2-info-card .dv2-facts{margin-top:7px}
  .detail-v2 .dv2-info-card .dv2-tags{margin-top:6px;max-height:40px}
  .detail-v2 .dv2-info-card .dv2-play{min-width:112px;min-height:34px;line-height:34px;margin-top:9px;padding:0 12px}
}

/* ===== 数据区恢复为 V6：三列 + 播放按钮 ===== */
.home-page-v2 .hv2-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:17px 7px;
  padding:2px 0 30px;
}
.home-page-v2 .hv2-card{min-width:0;display:block;text-decoration:none;color:inherit}
.home-page-v2 .hv2-cover{
  position:relative;
  width:100%;
  aspect-ratio:2/3;
  overflow:hidden;
  border-radius:4px;
  background:#e6e6e6;
  box-shadow:none;
}
.home-page-v2 .hv2-cover .cover{width:100%;height:100%;display:block;object-fit:cover;transition:none}
.home-page-v2 .hv2-card:hover .cover{transform:none}
.home-page-v2 .hv2-rank{
  display:flex!important;
  left:0;top:0;min-width:25px;height:21px;padding:0 6px;
  border-radius:0 0 4px 0;
  background:rgba(20,20,20,.75);
  font-size:10px;
  backdrop-filter:none;
}
.home-page-v2 .hv2-card:nth-child(1) .hv2-rank{background:var(--v6-red,#ff3b30)}
.home-page-v2 .hv2-card:nth-child(2) .hv2-rank{background:var(--v6-orange,#ff861b)}
.home-page-v2 .hv2-card:nth-child(3) .hv2-rank{background:#f0a400}
.home-page-v2 .hv2-play{
  display:grid!important;
  position:absolute;
  right:6px;bottom:6px;
  width:28px;height:28px;
  border:0;
  border-radius:50%;
  background:rgba(0,0,0,.62);
  color:#fff;
  place-items:center;
  font-size:9px;
  padding-left:1px;
  backdrop-filter:none;
  -webkit-backdrop-filter:none;
}
.home-page-v2 .hv2-card .t{
  margin-top:6px;
  font-size:12px;
  line-height:1.45;
  font-weight:700;
  color:#222;
  -webkit-line-clamp:2;
  white-space:normal;
}
.home-page-v2 .hv2-meta{display:block;margin-top:3px;color:#999;font-size:10px}
.home-page-v2 .hv2-meta span{display:block}

@media (min-width:760px){
  .home-page-v2 .hv2-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:22px 14px;padding:2px 0 30px}
  .home-page-v2 .hv2-card .t{font-size:13px}
}

/* 短剧搜索页：清晰的输入层级、轻量题材入口与结果卡片 */
body:not(.novel-app) #view > .searchbar {
  gap: 10px;
  padding: calc(14px + var(--safe-top)) 16px 14px;
  background: #f5f5f6;
  border-bottom: 0;
}
body:not(.novel-app) #view > .searchbar .search-field {
  height: 44px;
  padding: 0 12px;
  border: 1px solid #e7e7e9;
  border-radius: 10px;
  background: #fff;
}
body:not(.novel-app) #view > .searchbar .search-field:focus-within {
  outline: 2px solid #f5d9dc;
  border-color: #e6aeb4;
}
body:not(.novel-app) #view > .searchbar .go {
  padding: 10px 2px 10px 8px;
  color: var(--red);
  font-weight: 600;
}
body:not(.novel-app) #view > .search-suggestions {
  padding: 22px 16px 20px;
  background: #fff;
  border-bottom: 1px solid var(--line);
}
body:not(.novel-app) #view > .search-suggestions h2 {
  margin-bottom: 13px;
  font-size: 14px;
  font-weight: 600;
}
body:not(.novel-app) #view > .search-suggestions .suggestions {
  flex-wrap: nowrap;
  gap: 8px;
  overflow-x: auto;
  margin-right: -16px;
  padding-right: 16px;
  scrollbar-width: none;
}
body:not(.novel-app) #view > .search-suggestions .suggestions::-webkit-scrollbar { display: none; }
body:not(.novel-app) #view > .search-suggestions .suggestions button {
  flex: 0 0 auto;
  padding: 7px 13px;
  border: 1px solid #e8e8ea;
  border-radius: 999px;
  background: #f7f7f8;
  color: #55565b;
  font-size: 12px;
}
body:not(.novel-app) #view > .hotline {
  padding: 22px 16px 4px;
  color: #56575c;
  font-size: 13px;
}
body:not(.novel-app) #view > .grid#grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px 12px;
  padding: 18px 16px 28px;
}
body:not(.novel-app) #view > .grid#grid > .card {
  padding-bottom: 10px;
  border-bottom: 1px solid #ededee;
}
body:not(.novel-app) #view > .grid#grid > .card .search-cover .cover {
  border-radius: 7px;
}
body:not(.novel-app) #view > .grid#grid > .card .t {
  margin: 9px 1px 0;
  font-size: 13px;
  font-weight: 600;
}
body:not(.novel-app) #view > .grid#grid > .card .badge {
  margin: 5px 1px 0;
  color: #929399;
}
body:not(.novel-app) #view > #foot .empty,
body:not(.novel-app) #view > #foot .loading,
body:not(.novel-app) #view > #foot .errbox {
  padding: 24px 16px 38px;
}
@media (min-width:760px) {
  body:not(.novel-app) #view > .searchbar {
    max-width: none;
    padding: 24px 32px 16px;
  }
  body:not(.novel-app) #view > .searchbar .search-field { max-width: 620px; }
  body:not(.novel-app) #view > .search-suggestions { padding: 24px 32px 22px; }
  body:not(.novel-app) #view > .hotline { padding: 24px 32px 6px; }
  body:not(.novel-app) #view > .grid#grid {
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 28px 16px;
    padding: 20px 32px 36px;
  }
}
@media (max-width:360px) {
  body:not(.novel-app) #view > .searchbar,
  body:not(.novel-app) #view > .search-suggestions,
  body:not(.novel-app) #view > .hotline { padding-left: 12px; padding-right: 12px; }
  body:not(.novel-app) #view > .search-suggestions .suggestions { margin-right: -12px; padding-right: 12px; }
  body:not(.novel-app) #view > .grid#grid { padding-left: 12px; padding-right: 12px; gap: 20px 9px; }
}
