/*
 * Reelore 前台样式（无构建，单文件按层叠顺序组织）
 *
 *   1. 设计变量与基础（:root、body、排版）
 *   2. 通用组件（顶栏、按钮、卡片、详情、播放页、抽屉、账户……）—— 经典版（dramashorts 结构）的类名
 *   3. 熊猫式版式（.P* 前缀：公告栏、横幅、活动格、分类、格子、底栏、左侧菜单）
 *   4. 体验与平台修正（iOS 滚动/缩放、PWA 安全区、电脑端居中框）
 *   5. 最终视觉层（字体、按钮、订阅卡、空状态、页脚、For You……）
 *
 * 后面的层依赖层叠顺序覆盖前面的同名样式。整理工具 scripts/css-dedupe.js 会删掉被覆盖的声明，并在不改变效果的前提下把覆盖规则搬回原位；
 * 任何样式改动都要跑 npm run visual（视觉回归）确认没有意外变化。
 */
/* 前台主题「Apple 质感」：近黑底 + 极光渐变、毛玻璃面板、发丝边、胶囊按钮、iOS 底部标签栏；类名沿用 dramashorts 结构 */
:root{
  /* 安全区（刘海、底部横条）：统一用变量，测试时可在 <html> 上覆盖来模拟 */
  --sat:env(safe-area-inset-top);--sab:env(safe-area-inset-bottom);--sal:env(safe-area-inset-left);--sar:env(safe-area-inset-right);
  --white:#fff;--black:#0a0a0f;--text:#f5f5f7;--success:#30d158;--danger-1:#ff453a;--highlighter:#ffd60a;
  --text-2:rgba(235,235,245,.62);--text-3:rgba(235,235,245,.36);--text-4:rgba(235,235,245,.18);--primary-4:#5a1230;
  --primary-on-high:#e0e0e0;--primary-on-medium:#a0a0a0;--primary-on-disabled:rgba(235,235,245,.3);--primary-disabled:rgba(255,255,255,.08);
  --secondary-1:#ff8fb1;--facebook:#1877f2;--facebook-2:#0666e2;
  --background-1:rgba(255,255,255,.045);--surface:rgba(255,255,255,.07);--surface-light:rgba(255,255,255,.11);
  --surface-on-1:#f5f5f7;--surface-on-2:var(--text-2);--surface-on-3:var(--text-3);--surface-on-4:rgba(255,255,255,.1);
  --hair:rgba(255,255,255,.08);--hair-2:rgba(255,255,255,.14);--backdrop:rgba(0,0,0,.55);--logo:#fff;
  --pink-1:#ff5fa2;--pink-2:#e0479e;--pink-3:#c0398a;--purple-1:#8b5cf6;--purple-2:#3b2a86;--maroon:#530033;
  --glass:rgba(22,22,30,.62);--glass-strong:rgba(16,16,22,.78);
  --shadow-1:0 1px 2px rgba(0,0,0,.3),0 8px 24px rgba(0,0,0,.35);--shadow-2:0 2px 6px rgba(0,0,0,.35),0 24px 60px rgba(0,0,0,.5);
  --r-sm:10px;--r-md:16px;--r-lg:22px;--r-xl:28px;
  --ease:cubic-bezier(.2,.8,.2,1);--spring:cubic-bezier(.34,1.3,.5,1);--font-roboto:var(--font-inter);
  --header-h:88px;--banner-h:0px;--tabbar-h:0px;--accent:#ff5a7e;--accent-grad:linear-gradient(var(--accent),var(--accent));--brand-grad:linear-gradient(var(--accent),var(--accent));--primary-1:#ff6f91;--primary-2:#ff5a7e;--primary-3:#f04a6e;--font-display:'Inter',-apple-system,BlinkMacSystemFont,"SF Pro Text",Roboto,Arial,sans-serif;--font-slab:'Roboto Slab',Georgia,serif;--font-inter:'Inter',-apple-system,BlinkMacSystemFont,"SF Pro Text",Roboto,Arial,sans-serif;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--black);color:var(--text);font:400 16px/26px var(--font-inter);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent}
h1,h2,h3,h4,h5,h6,p{margin:0}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit}
img{display:block}
::selection{background:rgba(255,111,145,.35)}
.no-scrollbar{scrollbar-width:none;-ms-overflow-style:none}
.no-scrollbar::-webkit-scrollbar{display:none}
.slab,.t24,.t20,.t31{font-family:var(--font-inter);font-weight:700;letter-spacing:-.02em}
.t24{font-size:24px;line-height:30px}
.t20{font-size:20px;line-height:26px}
.t31{font-size:32px;line-height:38px;letter-spacing:-.025em}
@media(max-width:767.98px){.t24{font-size:19px;line-height:24px}.t20{font-size:16px;line-height:22px}.t31{font-size:24px;line-height:30px}}

/* ---------- 布局：近黑底 + 固定极光光斑 ---------- */
.Layout{background:var(--black)}
.Layout:before{content:"";position:fixed;z-index:0;inset:0;pointer-events:none;background:
  radial-gradient(900px 520px at 12% -8%,rgba(255,63,142,.22),transparent 60%),
  radial-gradient(760px 480px at 95% 8%,rgba(255,122,69,.16),transparent 60%),
  radial-gradient(900px 600px at 50% 110%,rgba(255,194,75,.08),transparent 60%)}
.Layout>*{position:relative;z-index:1}
.Layout__container{position:relative;display:flex;flex-direction:column;width:100%;padding:20px 32px 64px}
.Layout__container>main{display:flex;flex-direction:column;gap:36px;animation:page-in .45s var(--ease) both}
@keyframes page-in{from{opacity:0;transform:translateY(10px)}}
@media(max-width:767.98px){.Layout__container{padding:0 16px calc(32px + var(--tabbar-h))}.Layout__container>main{gap:20px}}

/* ---------- 顶栏：sticky 毛玻璃 + 发丝底边 ---------- */
.LayoutHeader{position:sticky;z-index:1040;top:var(--banner-h);display:flex;justify-content:center;width:100%;height:88px;-webkit-backdrop-filter:blur(24px) saturate(180%);backdrop-filter:blur(24px) saturate(180%);transition:background .3s}
.LayoutHeader__container{display:grid;grid-template-columns:1fr auto 1fr;gap:32px;align-items:center;width:100%;max-width:1440px;padding:16px 32px}
.LayoutHeader__logo{display:flex;height:42px;color:var(--logo)}
.LayoutHeader__actions{display:flex;gap:14px;align-items:center;justify-self:right}
.LayoutHeader__actions .DramaButton--primary{min-width:120px}
@media(max-width:767.98px){.LayoutHeader{height:56px}.LayoutHeader__container{gap:16px;padding:0 16px}.LayoutHeader__logo{width:138px;height:34px}.LayoutHeader__actions{gap:10px}.LayoutHeader__actions .DramaButton--primary{display:none}.LayoutHeader__container>a:first-child{visibility:hidden}}
/* 品牌：渐变圆角方块（带高光）+ 字标 */
.Brand{display:inline-flex;align-items:center;height:100%;color:var(--logo);white-space:nowrap}
.Brand i{position:relative;display:inline-grid;place-items:center;height:100%;aspect-ratio:1;border-radius:28%;background:var(--brand-grad);box-shadow:inset 0 1px 0 rgba(255,255,255,.35),0 4px 12px rgba(255,90,126,.35);flex:none;overflow:hidden}
.Brand i:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(255,255,255,.22),transparent 55%)}
.Brand i:after{content:"";position:relative;width:34%;height:40%;background:#fff;clip-path:polygon(8% 0,100% 50%,8% 100%);filter:drop-shadow(0 1px 1px rgba(0,0,0,.25))}
.Brand b{font:700 1.4em/1 var(--font-inter);letter-spacing:-.03em}
.LayoutHeader__logo .Brand b{font-size:22px}
@media(max-width:767.98px){.LayoutHeader__logo .Brand b{font-size:17px}}

/* ---------- 手机顶部装 App 条 ---------- */
.InstallBanner{position:sticky;z-index:1040;top:0;display:none;align-items:center;width:100%;color:#fff}
.InstallBanner__box{display:flex;flex:1 1 auto;align-items:center}
.InstallBanner__logo{flex:none}
.InstallBanner__actions{display:flex;gap:4px;align-items:center}
.InstallBanner .DramaButton--rounded{color:var(--text-2);background:transparent!important}
@media(max-width:767.98px){.InstallBanner.on{display:flex}}

/* ---------- iOS 底部标签栏（手机） ---------- */
.TabBar{display:none}
@media(max-width:767.98px){
  .TabBar{position:fixed;z-index:1040;right:0;bottom:0;left:0;display:grid;grid-template-columns:repeat(4,1fr);padding:6px 8px calc(6px + var(--sab));background:rgba(12,12,18,.72);-webkit-backdrop-filter:blur(28px) saturate(180%);backdrop-filter:blur(28px) saturate(180%);box-shadow:inset 0 1px 0 var(--hair)}
  .TabBar a{display:flex;flex-direction:column;align-items:center;gap:3px;padding:4px 0;border-radius:12px;color:var(--text-3);font-size:10px;font-weight:500;letter-spacing:.01em;transition:color .25s}
  .TabBar a svg{width:24px;height:24px;transition:transform .3s var(--spring)}
  .TabBar a.on{color:var(--text)}.TabBar a.on svg{transform:translateY(-1px)}
  .TabBar a:active svg{transform:scale(.88)}
  .TabBar .TabBar__coin.on{color:var(--highlighter)}
}

/* ---------- 按钮：胶囊 + 按压回弹 ---------- */
.DramaButton{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:8px;overflow:hidden;border:1px solid transparent;background:0 0;outline:0;text-align:center;white-space:nowrap;text-decoration:none;cursor:pointer;transition:background .25s var(--ease),color .25s,border-color .25s,transform .25s var(--spring),box-shadow .25s}
.DramaButton:active{transform:scale(.96)}
.DramaButton:disabled,.DramaButton--disabled{pointer-events:none}
.DramaButton__icon{display:inline-flex;align-items:center;justify-content:center}
.DramaButton__icon svg{width:100%;height:100%}
.DramaButton--lg .DramaButton__icon,.DramaButton--xl .DramaButton__icon,.DramaButton--md .DramaButton__icon{width:20px;height:20px}
@media(max-width:767.98px){.DramaButton--xl,.DramaButton--lg{padding:11px 22px;font-size:15px}.DramaButton--md{padding:8px 18px;font-size:13px;line-height:18px}.DramaButton--md .DramaButton__icon{width:18px;height:18px}.DramaButton--sm{font-size:13px}}
.DramaButton--block{width:100%}
.DramaButton--primary{color:#fff}
.DramaButton--primary:disabled{color:var(--primary-on-disabled);background:var(--primary-disabled);box-shadow:none;filter:none}
.DramaButton--white{color:#0a0a0f}
.DramaButton--white:hover,.DramaButton--white:focus{background:#ececf1}
.DramaButton--white:disabled{color:var(--primary-on-disabled);background:var(--primary-disabled);box-shadow:none}
.DramaButton--outlined{border-color:var(--hair-2);color:var(--text);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}
.DramaButton--outlined:hover{border-color:rgba(255,255,255,.22)}
.DramaButton--facebook{color:#fff;background:var(--facebook)}.DramaButton--facebook:hover{background:var(--facebook-2)}
.DramaButton--google,.DramaButton--apple{color:#000;background:#fff}.DramaButton--google:hover,.DramaButton--apple:hover{background:#e9e9e9}
.DramaButton--facebook .DramaButton__icon,.DramaButton--google .DramaButton__icon,.DramaButton--apple .DramaButton__icon{position:absolute;left:20px;top:50%;transform:translateY(-50%);width:22px;height:22px}
.DramaButton--rounded{border:1px solid var(--hair);padding:0;color:var(--text);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}
.DramaButton--rounded:hover,.DramaButton--rounded:focus{background:var(--surface-light);border-color:var(--hair-2)}
.DramaButton--rounded:disabled{color:var(--text-4);border-color:transparent}
.DramaButton--icon{flex-shrink:0}
.DramaButton--icon.DramaButton--xl{width:48px;height:48px;padding:8px}.DramaButton--icon.DramaButton--xl .DramaButton__icon{width:22px;height:22px}
.DramaButton--icon.DramaButton--lg{width:44px;height:44px;padding:8px}.DramaButton--icon.DramaButton--lg .DramaButton__icon{width:16px;height:16px}
.DramaButton--icon.DramaButton--md{width:44px;height:44px;padding:8px}
.DramaButton--icon.DramaButton--sm{width:34px;height:34px;padding:8px}
@media(max-width:767.98px){.DramaButton--icon.DramaButton--xl{width:36px;height:36px}.DramaButton--icon.DramaButton--xl .DramaButton__icon{width:17px;height:17px}.DramaButton--icon.DramaButton--lg{width:40px;height:40px}.DramaButton--icon.DramaButton--md{width:34px;height:34px}}
.DramaIcon{display:inline-flex}.DramaIcon svg{width:inherit;height:inherit}

/* ---------- 标签 / 播放量：小胶囊，毛玻璃 ---------- */
.DramaLabel{position:relative;border-radius:999px;padding:2px 9px;font-size:11px;font-weight:600;letter-spacing:.02em;line-height:18px;color:#fff}
.DramaLabel--highlighter{color:#1a1600;background:var(--highlighter)}
@media(max-width:767.98px){.DramaLabel{padding:1px 7px;font-size:9px;line-height:15px}}

/* ---------- 封面 ---------- */
.MovieCover{position:relative;display:flex;height:100%;color:var(--text)}
.MovieCover--exclusive{padding:1.5px;border-radius:calc(var(--r-md) + 1.5px)}
.MovieCover__container{position:relative;overflow:hidden;flex:1 1 auto;border-radius:var(--r-md);background:var(--surface);box-shadow:inset 0 0 0 1px var(--hair)}
.MovieCover__img{pointer-events:none;display:block;width:100%;height:100%;object-fit:cover;object-position:top;transition:transform .7s var(--ease)}
.MovieCover__labels{position:absolute;z-index:2;top:10px;left:10px;display:flex;flex-direction:column;gap:6px;align-items:flex-start}
.MovieCover__views{position:absolute;z-index:2;top:10px;right:10px;display:flex;gap:5px;align-items:center;padding:2px 8px;border-radius:999px;background:rgba(0,0,0,.45);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);font-size:11px;font-weight:500;line-height:18px}
.MovieCover__views svg{width:7px;height:8px;color:#fff}
.MovieCover--banner .MovieCover__container,.MovieCover--banner{border-radius:var(--r-xl)}
.MovieCover--banner .MovieCover__container{box-shadow:inset 0 0 0 1px var(--hair),var(--shadow-2)}
.MovieCover--banner .MovieCover__labels{top:18px;left:18px}.MovieCover--banner .MovieCover__views{top:18px;right:18px}
.MovieCover__title{position:absolute;right:0;bottom:0;left:0;height:30%;background:linear-gradient(180deg,transparent,#000)}
@media(max-width:767.98px){.MovieCover--exclusive{border-radius:13.5px}.MovieCover__container{border-radius:12px}.MovieCover__labels{top:7px;left:7px}.MovieCover__views{top:7px;right:7px;gap:4px;padding:0 6px;font-size:9px;line-height:16px}.MovieCover__views svg{width:5px;height:6px}.MovieCover--banner .MovieCover__container,.MovieCover--banner{border-radius:20px}}

/* ---------- 卡片：悬浮抬起 ---------- */
.MovieCard{display:flex;flex:0 0 200px;flex-direction:column;gap:10px;color:var(--text);transition:transform .35s var(--ease)}
.MovieCard .MovieCover{height:290px;transition:transform .35s var(--ease),filter .35s}
.MovieCard__title{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2;font-size:15px;font-weight:500;line-height:21px;color:var(--text-2);letter-spacing:-.01em;transition:color .3s}
.MovieCard:hover .MovieCard__title{color:var(--text)}.MovieCard:hover .MovieCover__container{box-shadow:inset 0 0 0 1px var(--hair-2),var(--shadow-1)}
.MovieCard:hover img{transform:scale(1.04)}
.MovieCard:active{transform:scale(.97)}
@media(max-width:767.98px){.MovieCard{flex-basis:112px;gap:7px}.MovieCard .MovieCover{height:156px}.MovieCard__title{font-size:13px;line-height:18px}}

/* ---------- 首页：大海报轮播 ---------- */
.Carousel{margin-bottom:-16px}
.Carousel__box{position:relative;width:100vw;margin-bottom:20px;margin-left:calc(-50vw + 50%);--slide:65%}
.Carousel__viewport{overflow:hidden;touch-action:pan-y;cursor:grab}.Carousel__track.drag{cursor:grabbing}
.Carousel__track{display:flex;touch-action:pan-y pinch-zoom;transition:transform .7s var(--ease)}
.Carousel__track.drag{transition:none}
.Carousel__item{flex:0 0 var(--slide);aspect-ratio:2.13/1;padding:0 10px}
.Carousel__item .MovieCover{height:100%;opacity:.55;transform:scale(.96);transition:opacity .6s var(--ease),transform .6s var(--ease)}
.Carousel__item.on .MovieCover{opacity:1;transform:none}
.Carousel__prev,.Carousel__next{position:absolute;z-index:1;top:50%;transform:translateY(-50%);background:rgba(20,20,28,.55)}
.Carousel__prev{left:32px}.Carousel__next{right:32px}
.Carousel__content{display:flex;flex-direction:column;align-items:center;text-align:center}
.Carousel__title{font-size:26px;line-height:32px}
.Carousel__dots{display:flex;gap:6px;align-items:center;justify-content:center;margin-top:4px;padding:16px}
.Carousel__dot{display:inline-flex;width:6px;height:6px;padding:0;border:0;border-radius:999px;background:var(--text-4);cursor:pointer;transition:all .35s var(--ease)}
.Carousel__dot.on{width:22px;background:#fff}
@media(max-width:767.98px){.Carousel__box{--slide:72%}.Carousel__item{aspect-ratio:auto;height:340px;padding:0 5px}.Carousel__prev,.Carousel__next{display:none}.Carousel__title{font-size:19px;line-height:24px}.Carousel .DramaButton--white{width:auto;min-width:170px}}

/* ---------- 首页：横排区块 ---------- */
.Section{position:relative;z-index:1}
.Section--exclusive{padding:28px 0}
.Section--exclusive:before{content:"";position:absolute;z-index:-1;inset:0;width:100vw;margin-left:calc(-50vw + 50%);box-shadow:inset 0 1px 0 var(--hair),inset 0 -1px 0 var(--hair)}
.Section__header{display:flex;gap:16px;align-items:center;justify-content:space-between;margin-bottom:18px}
.Section__list{display:flex;gap:24px;align-items:flex-start;overflow:auto;transform:translateX(-32px);width:calc(100% + 64px);padding:8px 32px;scroll-snap-type:x proximity}
.Section__list>*{scroll-snap-align:start}
.ShowMore{display:flex;justify-content:center;margin:8px auto 0}
@media(max-width:767.98px){.Section--exclusive{padding:18px 0}.Section__header{margin-bottom:12px}.Section__list{transform:translateX(-16px);gap:12px;width:calc(100% + 32px);padding:4px 16px}}

/* ---------- 面包屑 ---------- */
.Crumbs{display:flex;flex-wrap:wrap;margin-bottom:-20px;font-size:13px;line-height:20px}
.Crumbs a{padding:0 4px;border-radius:6px;color:var(--text-3);transition:all .2s}
.Crumbs a:hover{color:var(--text);background:var(--surface)}
.Crumbs span{margin:0 2px;color:var(--text-4)}
.Crumbs .on{pointer-events:none;color:var(--text-2)}
.Crumbs a:first-child{pointer-events:none}
@media(max-width:767.98px){.Crumbs{display:none}}

/* ---------- 详情卡 ---------- */
.Details{display:grid;grid-template-areas:"cover title title" "cover stats stats" "cover description description" "cover tags tags" "cover actions actions";grid-template-columns:auto 1fr;gap:14px 28px;align-items:center}
.Details__cover{position:relative;grid-area:cover;align-self:start;width:160px;height:214px;margin-top:4px}
.Details--xl .Details__cover{width:240px;height:320px}
.Details__cover .MovieCover__container{box-shadow:inset 0 0 0 1px var(--hair),var(--shadow-2)}
.Details__title{grid-area:title}
.Details--xl .Details__title{font-size:32px;line-height:38px;letter-spacing:-.025em}
.Details__desc{grid-area:description;font-size:15px;line-height:23px;color:var(--text-2)}
.Details__desc p.crop{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:4;text-overflow:ellipsis}
.Details__more{padding:0;border:0;background:0 0;color:var(--primary-1);cursor:pointer;font-weight:500}.Details__more:hover{color:#fff}
.Details__stats{display:flex;grid-area:stats;flex-wrap:wrap;gap:18px;row-gap:0;align-items:center;margin:0;padding:0;list-style:none}
.Details__stats li,.Details__stats button{display:flex;gap:7px;align-items:center;font-size:14px;font-weight:600;line-height:22px;color:var(--text-2)}
.Details__stats button{position:relative;z-index:1;padding:0;border:0;background:0 0;cursor:pointer;transition:color .3s}.Details__stats button:hover{color:#fff}
.Details__stats svg{width:16px;height:16px}
.Details__tags{display:flex;grid-area:tags;flex-wrap:wrap;gap:8px;align-items:center;margin:0;padding:0;list-style:none}
.Details__tags li{padding:5px 12px;border-radius:999px;background:var(--surface);box-shadow:inset 0 0 0 1px var(--hair);font-size:12px;font-weight:500;line-height:20px;color:var(--text-2)}
.Details__actions{grid-area:actions;width:100%;max-width:220px}
.Details--xl .Details__actions{margin:8px 0}
.Details--sm{gap:8px 24px}.Details--sm .Details__title{font-size:20px;line-height:26px}
.Details--hide-cover{grid-template-areas:"title title" "stats stats" "description description" "tags tags"}
.Details--hide-cover .Details__stats{justify-content:space-between;padding:14px 0;border-top:1px solid var(--hair);border-bottom:1px solid var(--hair)}
.Details__cover .MovieCover{height:100%}
.Details__cover .Details__bg{display:none}
@media(max-width:767.98px){
  .Details{gap:8px 16px}.Details__cover{width:120px;height:160px}.Details--xl .Details__cover{width:210px;height:280px}
  .Details--xl .Details__title{font-size:22px;line-height:27px}.Details__desc{font-size:13px;line-height:20px}.Details__desc p.crop{-webkit-line-clamp:3}
  .Details__stats{gap:12px}.Details__stats li,.Details__stats button{font-size:12px;line-height:20px}.Details__actions{max-width:unset}
  .Details--sm .Details__title{font-size:15px;line-height:20px}
  .Details--hide-cover .Details__stats{justify-content:flex-start;padding:0;border:0}
  .Details--details{grid-template-areas:"cover" "title" "stats" "actions" "description" "tags";grid-template-columns:1fr}
  .Details--details .Details__cover{transform:translateX(-16px);width:calc(100% + 32px)!important;height:280px!important;margin:-16px 0 -80px;-webkit-mask-image:linear-gradient(0deg,transparent,#000 70%);mask-image:linear-gradient(0deg,transparent,#000 70%)}
  .Details--details .Details__cover .MovieCover{display:none}
  .Details--details .Details__cover .Details__bg{display:block;width:100%;height:100%;object-fit:cover;object-position:top}
}

/* ---------- 内容面板：毛玻璃卡 ---------- */
.Panel{display:flex;flex-direction:column;gap:32px;padding:28px;border-radius:var(--r-lg);background:var(--background-1);box-shadow:inset 0 0 0 1px var(--hair),inset 0 1px 0 rgba(255,255,255,.06);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}
@media(max-width:767.98px){.Panel{gap:18px;padding:16px;border-radius:20px}}

/* ---------- 分集列表 ---------- */
.EpList{position:relative;display:flex;flex-direction:column}
.EpList__header{margin-bottom:14px}
.EpList__list{display:grid;grid-template-columns:repeat(auto-fill,minmax(68px,1fr));gap:14px;max-height:480px;overflow:auto;padding-bottom:24px}
.EpList--compact .EpList__list{display:flex;flex-wrap:nowrap;gap:14px;transform:translateX(-28px);width:calc(100% + 56px);padding:4px 28px}
.EpItem{display:flex;flex:0 0 auto;flex-direction:column;gap:5px;padding:0;border:0;color:var(--text);text-align:left;background:0 0;cursor:pointer;transition:transform .25s var(--spring)}
.EpItem:active{transform:scale(.94)}
.EpItem__box{position:relative}
.EpItem__img{display:block;width:100%;min-width:68px;aspect-ratio:3/4;border:2px solid transparent;border-radius:12px;object-fit:cover;object-position:top;background:var(--surface);transition:border-color .25s,box-shadow .25s}
.EpList--compact .EpItem__img{width:68px}
.EpItem__ic{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;color:#fff;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.EpItem__ic--play{background:rgba(0,0,0,.45);box-shadow:inset 0 0 0 1px rgba(255,255,255,.2)}.EpItem__ic--play svg{width:10px;height:10px}
.EpItem__ic--lock{background:rgba(255,111,145,.9)}.EpItem__ic--lock svg{width:13px;height:13px}
.EpItem__title{font-size:12px;line-height:18px;color:var(--text-2)}
.EpItem--active .EpItem__img{border-color:var(--primary-1)}
.EpItem--active .EpItem__title{color:#fff}
.EpItem--disabled .EpItem__img{opacity:.45}
@media(max-width:767.98px){.EpList__list,.EpList--compact .EpList__list{display:flex;flex-wrap:nowrap;gap:8px;transform:translateX(-16px);width:calc(100% + 32px);padding:4px 16px;max-height:none}}

/* ---------- 推荐 ---------- */
.Suggest__header{display:flex;gap:16px;align-items:center;justify-content:space-between;margin-bottom:18px}
.Suggest__link{display:inline-flex;gap:6px;align-items:center;font-size:15px;font-weight:500;line-height:26px;color:var(--primary-1);transition:color .3s}.Suggest__link:hover{color:#fff}
.Suggest__link svg{width:14px;height:14px}
.Suggest__list{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:24px;align-items:start}
.Suggest__list .MovieCard{flex:none}.Suggest__list .MovieCard .MovieCover{height:auto;aspect-ratio:200/290}
@media(max-width:767.98px){.Suggest__header{margin-bottom:12px}.Suggest__link{font-size:14px;line-height:20px}.Suggest__list{grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:12px}}

/* ---------- 播放页 ---------- */
.Watch{display:grid;grid-template-columns:1fr 460px;flex:1 1 auto;gap:20px;height:calc(100dvh - var(--header-h) - var(--banner-h) - 80px);min-height:560px}
.Player{position:relative;overflow:hidden;border-radius:var(--r-lg);background:#000;box-shadow:inset 0 0 0 1px var(--hair),var(--shadow-2)}
.Player video{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;background:#000}
.Player__poster{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;opacity:1;transition:opacity .4s}
.Player.playing .Player__poster{opacity:0}
.Player__nav{position:absolute;right:16px;bottom:76px;display:flex;flex-direction:column;gap:12px}
.Player__nav .DramaButton{background:rgba(20,20,28,.6)}
.Player__center{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;pointer-events:none}
.Player__center button{pointer-events:auto;display:grid;place-items:center;width:76px;height:76px;border:0;border-radius:50%;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);box-shadow:inset 0 0 0 1px rgba(255,255,255,.3),0 10px 30px rgba(0,0,0,.45);color:#fff;cursor:pointer;transition:transform .3s var(--spring),background .3s}
.Player__center button:hover{background:rgba(255,255,255,.22);transform:scale(1.05)}
.Player__center button svg{width:30px;height:30px;margin-left:4px}
.Player__spin{width:44px;height:44px;border:3px solid rgba(255,255,255,.15);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.Player__bar{position:absolute;right:0;bottom:0;left:0;z-index:2;display:flex;flex-direction:column;gap:4px;padding:48px 18px 14px;background:linear-gradient(transparent,rgba(0,0,0,.7));opacity:0;transition:opacity .3s}
.Player:hover .Player__bar,.Player.touch .Player__bar,.Player.paused .Player__bar{opacity:1}
.Player:has(.Paywall) .Player__bar{display:none}
.Player__prog{position:relative;height:16px;display:flex;align-items:center;cursor:pointer}
.Player__prog .trk{position:relative;width:100%;height:4px;border-radius:2px;background:rgba(255,255,255,.22);transition:height .2s}
.Player__prog:hover .trk{height:6px}
.Player__prog .buf{position:absolute;inset:0 auto 0 0;border-radius:2px;background:rgba(255,255,255,.3)}
.Player__prog .cur{position:absolute;inset:0 auto 0 0;border-radius:2px;background:#fff}
.Player__prog .dot{position:absolute;top:50%;width:13px;height:13px;border-radius:50%;background:#fff;box-shadow:0 1px 4px rgba(0,0,0,.4);transform:translate(-50%,-50%)}
.Player__row{display:flex;gap:12px;align-items:center;font-size:12px;font-variant-numeric:tabular-nums;color:rgba(255,255,255,.85)}
.Player__row button{display:grid;place-items:center;width:34px;height:34px;padding:0;border:0;border-radius:50%;background:0 0;color:#fff;cursor:pointer;transition:background .2s}
.Player__row button:hover{background:rgba(255,255,255,.15)}.Player__row button svg{width:18px;height:18px}
.Player__row .sp{flex:1}
.Player__row select{border:1px solid rgba(255,255,255,.2);border-radius:8px;padding:3px 8px;background:rgba(0,0,0,.5);color:#fff;font-size:12px}
.Sidebar{display:flex;flex-direction:column;gap:16px;overflow:auto;padding:24px 24px 0;border-radius:var(--r-lg);background:var(--background-1);box-shadow:inset 0 0 0 1px var(--hair);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}
.Watch__suggest{margin-top:32px;padding:28px;border-radius:var(--r-lg);background:var(--background-1);box-shadow:inset 0 0 0 1px var(--hair)}
@media(max-width:991.98px){.Watch{grid-template-columns:1fr;grid-template-rows:calc(100dvh - var(--header-h) - var(--banner-h) - var(--tabbar-h) - 60px) 1fr;height:auto}.Sidebar{padding:16px}.Watch__suggest{margin-top:8px;padding:16px}}
@media(max-width:767.98px){.Watch{gap:12px}.Player{border-radius:20px}.Watch__suggest{box-shadow:none;background:transparent;padding:0}}
/* 付费墙 */
.Paywall{position:absolute;inset:0;z-index:3;display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;padding:32px;text-align:center;background:rgba(10,10,15,.72);-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px)}
.Paywall__icon{display:grid;place-items:center;width:76px;height:76px;margin-bottom:20px;color:#fff}.Paywall__icon svg{width:36px;height:36px}
.Paywall__title{max-width:320px;margin-bottom:8px}
.Paywall__text{max-width:300px;margin-bottom:18px;font-size:14px;line-height:22px;color:var(--text-2)}
.Paywall__buttons{display:flex;flex-direction:column;gap:12px;margin-bottom:12px;width:100%;max-width:320px}
@media(max-width:767.98px){.Paywall{padding:24px}.Paywall__icon{width:56px;height:56px;margin-bottom:14px;border-radius:18px}.Paywall__icon svg{width:26px;height:26px}.Paywall__title{max-width:240px}.Paywall__text{max-width:260px;font-size:12px;line-height:20px}}

/* ---------- 搜索页 ---------- */
.Search{padding-top:0}
.Search__row{position:relative;display:flex;gap:32px;margin-bottom:24px}
.Search__title{margin-bottom:20px}
.Search__list{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:16px 32px;margin-bottom:24px;transition:opacity .2s}
.Search__list.loading{pointer-events:none;opacity:.5}
.Search__item{display:grid;grid-template-columns:auto 1fr;gap:8px 22px;align-items:start;padding:12px;border-radius:20px;color:var(--text);transition:background .25s,transform .25s var(--spring)}
.Search__item:hover{background:var(--background-1);box-shadow:inset 0 0 0 1px var(--hair)}
.Search__item:active{transform:scale(.98)}
.Search__item .MovieCover{width:150px;height:200px}
.Search__item h3{font-size:19px;font-weight:700;letter-spacing:-.02em;line-height:25px}
.Search__item p{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:3;font-size:14px;line-height:21px;color:var(--text-2)}
.Search__pag{display:flex;justify-content:center;gap:8px}
@media(max-width:767.98px){.Search__row{gap:16px;margin-bottom:16px}.Search__title{margin-bottom:12px}.Search__list{grid-template-columns:1fr;gap:4px}.Search__item{padding:8px;gap:8px 12px;border-radius:16px}.Search__item .MovieCover{width:88px;height:118px}.Search__item h3{font-size:15px;line-height:20px}.Search__item p{font-size:12px;line-height:18px}}

/* ---------- 输入框：iOS 圆角填充 ---------- */
.DramaInput__wrapper{position:relative;width:100%}
.DramaInput{width:100%;border:none;outline:none;color:var(--text);background:var(--surface);font:400 16px/26px var(--font-inter)}
.DramaInput::placeholder{color:var(--text-3)}
.DramaInput--search .DramaInput{border:1px solid var(--hair);border-radius:999px;padding:11px 48px 11px 50px;background:var(--surface);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);transition:border-color .25s,background .25s,box-shadow .25s}
.DramaInput--search .DramaInput:focus{border-color:rgba(255,111,145,.6);background:var(--surface-light);box-shadow:0 0 0 4px rgba(255,111,145,.15)}
.DramaInput__icon{position:absolute;top:0;bottom:0;left:0;display:inline-flex;align-items:center;justify-content:center;width:50px;color:var(--text-3)}.DramaInput__icon svg{width:19px;height:19px}
.DramaInput__cross{position:absolute;top:50%;right:8px;transform:translateY(-50%)}
.DramaInput--standard{position:relative}
.DramaInput--standard .DramaInput{border:1px solid var(--hair);border-radius:14px;padding:22px 16px 6px;background:var(--surface);transition:border-color .25s,box-shadow .25s}
.DramaInput--standard .DramaInput:focus{border-color:rgba(255,111,145,.6);box-shadow:0 0 0 4px rgba(255,111,145,.15)}
.DramaInput--standard .DramaInput::placeholder{color:transparent}
.DramaInput__ph{position:absolute;top:14px;left:16px;pointer-events:none;color:var(--text-3);font-size:16px;line-height:26px;transition:all .15s var(--ease)}
.DramaInput--standard .DramaInput:focus+.DramaInput__ph,.DramaInput--standard .DramaInput:not(:placeholder-shown)+.DramaInput__ph{top:5px;font-size:11px;line-height:16px;color:var(--primary-1)}
.DramaInput__note{min-height:26px;padding:4px 16px;color:var(--text-3);font-size:12px;line-height:18px}
@media(max-width:767.98px){.DramaInput{font-size:15px;line-height:22px}.DramaInput--search .DramaInput{padding-top:9px;padding-bottom:9px;font-size:14px}}
textarea.DramaInput,select.DramaInput{border:1px solid var(--hair);border-radius:14px;padding:10px 16px}

/* ---------- 抽屉：右侧菜单 / 底部表单，带拖拽把手 ---------- */
.DramaDrawer{position:fixed;z-index:1070;top:0;left:0;width:100%;height:100%;overflow:hidden;background:transparent;transition:background-color .35s var(--ease)}
.DramaDrawer__wrapper{position:absolute;display:flex;flex-direction:column;width:50%;min-width:310px;-webkit-backdrop-filter:blur(40px) saturate(160%);backdrop-filter:blur(40px) saturate(160%);box-shadow:inset 0 0 0 1px var(--hair),0 24px 80px rgba(0,0,0,.6);transition:transform .45s var(--ease);will-change:transform}
.DramaDrawer--right .DramaDrawer__wrapper{top:0;right:0;bottom:0;max-width:520px;transform:translateX(100%)}
.DramaDrawer--right.in .DramaDrawer__wrapper{transform:none}
.DramaDrawer--bottom .DramaDrawer__wrapper{right:0;bottom:0;left:0;max-width:540px;min-height:300px;max-height:100dvh;margin:0 auto;padding-top:14px;border-radius:var(--r-xl) var(--r-xl) 0 0;overflow:auto;transform:translateY(100%);transition:transform .5s var(--spring)}
.DramaDrawer--bottom .DramaDrawer__wrapper:before{content:"";position:sticky;top:0;display:block;width:40px;height:5px;margin:-6px auto 0;border-radius:3px;background:rgba(255,255,255,.22)}
.DramaDrawer--bottom.in .DramaDrawer__wrapper{transform:none}
.DramaDrawer__close{position:absolute;top:16px;left:16px;z-index:2}
.DramaDrawer--bottom .DramaDrawer__close{top:14px;left:auto;right:14px}
@media(max-width:991.98px){.DramaDrawer__wrapper{width:75%}}
@media(max-width:767.98px){.DramaDrawer__wrapper{width:100%}.DramaDrawer--bottom .DramaDrawer__wrapper{max-width:none;border-radius:24px 24px 0 0;padding-bottom:var(--sab)}}
/* 菜单 */
.Menu{display:flex;flex-direction:column;gap:28px;height:100%;padding:22px 36px 28px;overflow:auto}
.Menu__header{display:flex;justify-content:center}
.Menu__header .Brand{height:40px}.Menu__header .Brand b{font-size:28px}
.Menu__nav{display:flex;flex:1 1 auto;flex-direction:column;gap:2px}
.Menu__nav a,.Menu__nav button{position:relative;display:flex;align-items:center;padding:11px 14px;border:0;border-radius:14px;background:0 0;color:var(--text);text-align:left;font-size:19px;font-weight:600;letter-spacing:-.02em;line-height:26px;cursor:pointer;transition:background .25s,color .25s}
.Menu__nav a:hover,.Menu__nav button:hover{background:var(--surface)}
.Menu__nav .search{gap:10px;font-size:17px;color:var(--text-2)}.Menu__nav .search svg{width:20px;height:20px}
.Menu__app{padding-top:20px;border-top:1px solid var(--hair)}
.Menu__appHead{display:flex;gap:14px;align-items:center;margin-bottom:16px}
.Menu__appIcon{position:relative;width:54px;height:54px;border-radius:15px;background:var(--brand-grad);display:grid;place-items:center;flex:none;overflow:hidden}
.Menu__appIcon:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(255,255,255,.22),transparent 55%)}
.Menu__appIcon:after{content:"";position:relative;width:19px;height:21px;background:#fff;clip-path:polygon(8% 0,100% 50%,8% 100%)}
.Menu__appBody{flex:1 1 auto}.Menu__appBody h4{font-size:16px;font-weight:600;line-height:24px}.Menu__appBody p{font-size:13px;line-height:20px;color:var(--text-2)}
.Menu__gallery{display:flex;gap:14px}.Menu__gallery img{width:calc(33.33% - 10px);height:auto;border:4px solid #1c1c24;border-radius:22px;background:#000;box-shadow:var(--shadow-1)}
@media(max-width:767.98px){.Menu{gap:22px;padding:16px}.Menu__header .Brand{height:32px}.Menu__header .Brand b{font-size:22px}.Menu__nav a,.Menu__nav button{padding:10px 12px;font-size:17px;line-height:24px}.Menu__nav .search{font-size:15px}.Menu__appIcon{width:48px;height:48px}.Menu__appBody h4{font-size:15px;line-height:20px}.Menu__appBody p{font-size:12px;line-height:18px}.Menu__gallery{gap:8px}}
/* 登录 */
.Auth{display:flex;flex-direction:column;height:100%;padding:22px 36px 28px;overflow:auto}
.Auth__header{display:flex;justify-content:center;margin-bottom:40px}.Auth__header .Brand{height:40px}.Auth__header .Brand b{font-size:28px}
.Auth__body{display:flex;flex:1 1 auto;flex-direction:column;align-items:center;justify-content:center;gap:22px;text-align:center}
.Auth__tv{font-size:72px;line-height:1;filter:drop-shadow(0 12px 24px rgba(0,0,0,.5))}
.Auth__title{font-size:26px;font-weight:700;letter-spacing:-.025em;line-height:32px;max-width:360px}.Auth__title span{-webkit-background-clip:text;background-clip:text}
.Auth__text{max-width:360px;font-size:15px;line-height:24px;color:var(--text-2)}
.Auth__buttons{display:flex;flex-direction:column;gap:12px;width:100%;max-width:330px}
.Auth__link{font-size:13px;line-height:20px;color:var(--text-2)}.Auth__link button{padding:0;border:0;background:0 0;color:var(--primary-1);font-weight:500;cursor:pointer}
.Auth__footer{margin-top:24px;text-align:center;font-size:12px;line-height:18px;color:var(--text-3)}.Auth__footer a{color:var(--text-2)}
.Auth form{display:flex;flex-direction:column;gap:10px;width:100%;max-width:330px}
@media(max-width:767.98px){.Auth{padding:16px}.Auth__header .Brand{height:32px}.Auth__header .Brand b{font-size:22px}.Auth__tv{font-size:56px}.Auth__title{font-size:20px;line-height:26px}.Auth__text{font-size:14px;line-height:21px}}
/* 底部抽屉通用内容 */
.Sheet{padding:18px 24px 32px}
.Sheet__title{padding-right:44px;margin-bottom:16px}
.Plan{display:flex;gap:14px;align-items:center;width:100%;margin-bottom:10px;padding:14px 16px;border:1px solid var(--hair);border-radius:18px;background:var(--surface);color:var(--text);text-align:left;cursor:pointer;transition:border-color .25s,background .25s,transform .25s var(--spring)}
.Plan:hover{background:var(--surface-light)}
.Plan:active{transform:scale(.98)}
.Plan b{font-size:16px;line-height:22px}.Plan small{display:block;font-size:12px;line-height:18px;color:var(--text-2)}
.Plan .price{margin-left:auto;font-weight:700;font-size:17px;letter-spacing:-.02em}
.Plan .badge{margin-left:8px;padding:1px 7px;border-radius:999px;background:var(--highlighter);color:#1a1600;font-size:11px;font-weight:700}
.Sheet__grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}

/* ---------- 页脚 ---------- */
.LayoutFooter{display:flex;justify-content:center;width:100%;border-top:1px solid var(--hair)}
.LayoutFooter__container{display:grid;grid-template-columns:auto 1fr auto auto;gap:8px 32px;align-items:center;width:100%;max-width:1440px;padding:22px 32px}
.LayoutFooter__logo{display:flex;height:30px;color:var(--logo)}.LayoutFooter__logo .Brand b{font-size:21px}
.LayoutFooter__nav{display:flex;flex-wrap:wrap;gap:24px}
.LayoutFooter__link{display:inline-flex;color:var(--text-2);font-size:12px;line-height:20px;white-space:nowrap;transition:color .3s}.LayoutFooter__link:hover{color:#fff}
.LayoutFooter__text{color:var(--text-3);font-size:12px;line-height:20px;white-space:nowrap}
@media(max-width:1199.98px){.LayoutFooter__container{gap:8px 16px}}
@media(max-width:767.98px){.LayoutFooter__container{grid-template-columns:1fr auto}.LayoutFooter__logo{width:138px}.LayoutFooter__logo .Brand b{font-size:17px}}
@media(max-width:575.98px){.LayoutFooter__container{grid-template-columns:1fr}}

/* ---------- 通知：iOS 顶部胶囊 ---------- */
.DramaNotification__container{position:fixed;z-index:1080;top:calc(var(--sat) + 10px);left:50%;display:flex;flex-direction:column;align-items:center;gap:8px;width:100%;max-width:520px;padding:0 16px;transform:translateX(-50%);pointer-events:none}
.DramaNotification{position:relative;display:flex;gap:12px;align-items:center;width:auto;max-width:100%;margin:0;padding:10px 18px 10px 10px;border-radius:999px;background:rgba(28,28,38,.78);-webkit-backdrop-filter:blur(30px) saturate(180%);backdrop-filter:blur(30px) saturate(180%);box-shadow:inset 0 0 0 1px var(--hair-2),0 12px 40px rgba(0,0,0,.5);pointer-events:auto;overflow:hidden;animation:notif-in .5s var(--spring)}
.DramaNotification__icon{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--primary-1);color:#fff;flex:none;font-size:13px;font-weight:700}
.DramaNotification--error .DramaNotification__icon{background:var(--danger-1)}.DramaNotification--success .DramaNotification__icon{background:var(--success)}
.DramaNotification__text{font-size:14px;font-weight:500;line-height:20px;overflow-wrap:anywhere}
.DramaNotification__progress{position:absolute;right:0;bottom:0;left:0}
.DramaNotification__bar{height:2px;width:0;background:rgba(255,255,255,.35);animation:fill-in 3s linear forwards}
@keyframes fill-in{to{width:100%}}
@keyframes notif-in{from{opacity:0;transform:translateY(-20px) scale(.9)}}
@media(max-width:767.98px){.DramaNotification__text{font-size:13px;line-height:18px}}

/* ---------- 加载 ---------- */
.DramaLoader{position:fixed;z-index:1050;inset:0;display:flex;align-items:center;justify-content:center;background:var(--black);transition:opacity .4s}
.DramaLoader.hide{opacity:0;pointer-events:none}
.DramaLoader__container{display:flex;align-items:center;justify-content:center;width:120px;height:120px;border-radius:36px}
.DramaLoader__spinner{position:relative;width:50px;height:50px;animation:spinner 2.5s linear infinite both}
.DramaLoader__spinner i{position:absolute;top:0;left:0;width:100%;height:100%;animation:spinner-dot 2s ease-in-out infinite both}
.DramaLoader__spinner i:before{content:"";display:block;width:25%;height:25%;border-radius:100%;background:#fff;animation:spinner-dot-before 2s ease-in-out infinite both}
.DramaLoader__spinner i:nth-child(1),.DramaLoader__spinner i:nth-child(1):before{animation-delay:-1.1s}.DramaLoader__spinner i:nth-child(2),.DramaLoader__spinner i:nth-child(2):before{animation-delay:-1s}.DramaLoader__spinner i:nth-child(3),.DramaLoader__spinner i:nth-child(3):before{animation-delay:-.9s}.DramaLoader__spinner i:nth-child(4),.DramaLoader__spinner i:nth-child(4):before{animation-delay:-.8s}.DramaLoader__spinner i:nth-child(5),.DramaLoader__spinner i:nth-child(5):before{animation-delay:-.7s}.DramaLoader__spinner i:nth-child(6),.DramaLoader__spinner i:nth-child(6):before{animation-delay:-.6s}.DramaLoader__spinner i:nth-child(7),.DramaLoader__spinner i:nth-child(7):before{animation-delay:-.5s}
@keyframes spinner{to{transform:rotate(360deg)}}
@keyframes spinner-dot{80%,to{transform:rotate(360deg)}}
@keyframes spinner-dot-before{50%{transform:scale(.4)}to,from{transform:scale(1)}}
.Inline-loader{display:flex;justify-content:center;padding:40px}
.Inline-loader .DramaLoader__spinner{width:36px;height:36px}

/* ---------- 账户：iOS 分组列表 ---------- */
.Account{display:grid;grid-template-columns:300px 1fr;gap:20px}
.Account__side{display:flex;flex-direction:column;gap:16px;padding:24px;border-radius:var(--r-lg);background:var(--background-1);box-shadow:inset 0 0 0 1px var(--hair)}
.Account__ava{display:grid;place-items:center;width:64px;height:64px;border-radius:50%;font-size:26px;font-weight:700;color:#fff}
.Account__name{font-size:20px;font-weight:700;letter-spacing:-.02em;line-height:26px}
.Account__sub{font-size:12px;line-height:18px;color:var(--text-3)}
.Account__bal{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;border-radius:18px;background:var(--surface);box-shadow:inset 0 0 0 1px var(--hair)}
.Account__bal b{font-size:20px;letter-spacing:-.02em}
.Account__nav{display:flex;flex-direction:column;border-radius:18px;background:var(--surface);box-shadow:inset 0 0 0 1px var(--hair);overflow:hidden}
.Account__nav a{display:flex;justify-content:space-between;padding:13px 16px;color:var(--text);font-size:15px;font-weight:500;transition:background .2s}
.Account__nav a+a{box-shadow:inset 0 1px 0 var(--hair)}
.Account__nav a span{color:var(--text-4)}
.Account__nav a:hover{background:var(--surface-light)}.Account__nav a.on{color:var(--primary-1)}
.Account__main{display:flex;flex-direction:column;gap:16px;padding:28px;border-radius:var(--r-lg);background:var(--background-1);box-shadow:inset 0 0 0 1px var(--hair)}
.Tbl{width:100%;border-collapse:collapse;font-size:14px}.Tbl th{padding:10px;border-bottom:1px solid var(--hair);color:var(--text-3);font-weight:500;text-align:left;font-size:12px}
.Tbl td{padding:12px 10px;border-bottom:1px solid var(--hair)}.Tbl .plus{color:var(--success)}.Tbl .minus{color:var(--danger-1)}
.SetRow{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 0;border-bottom:1px solid var(--hair)}
.Switch{position:relative;display:inline-block;width:51px;height:31px}.Switch input{display:none}.Switch i{position:absolute;inset:0;border-radius:16px;background:rgba(120,120,128,.32);transition:.25s}.Switch i:before{content:"";position:absolute;top:2px;left:2px;width:27px;height:27px;border-radius:50%;background:#fff;box-shadow:0 3px 8px rgba(0,0,0,.25);transition:.25s var(--spring)}.Switch input:checked+i{background:var(--success)}.Switch input:checked+i:before{transform:translateX(20px)}
.TextPage{font-size:15px;line-height:25px;color:var(--text-2)}
.Grid2{display:grid;grid-template-columns:1fr 1fr;gap:16px}
@media(max-width:991.98px){.Account{grid-template-columns:1fr}}
@media(max-width:767.98px){.Account__side,.Account__main{padding:16px;border-radius:20px}.Grid2{grid-template-columns:1fr}}

/* ---------- 安装引导 ---------- */
.Guide__head{display:flex;gap:14px;align-items:center;margin-bottom:20px}.Guide__icon{width:56px;height:56px;border-radius:15px;flex:none;box-shadow:var(--shadow-1)}.Guide__note{margin-top:4px;font-size:13px;line-height:20px;color:var(--text-2)}
.Guide{display:flex;flex-direction:column;gap:8px;margin:0 0 20px;padding:0;list-style:none}.Guide__step{display:flex;gap:12px;align-items:center;padding:12px 14px;border-radius:16px;background:var(--surface);box-shadow:inset 0 0 0 1px var(--hair);font-size:15px;line-height:22px;color:var(--text-2)}
.Guide__step b{color:#fff;font-weight:600}.Guide__num{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--accent-grad);font-size:13px;font-weight:700;color:#fff;flex:none}
.Guide__ic{display:inline-grid;place-items:center;width:24px;height:24px;margin:0 2px;vertical-align:-6px;color:var(--primary-1)}.Guide__ic svg{width:22px;height:22px}
@media(display-mode:standalone){.InstallBanner{display:none!important}}

/* ---------- Free Coins 页 ---------- */
.Menu__nav a.hot{color:var(--highlighter)}
.Paywall__link{margin-top:12px;font-size:13px;font-weight:500;color:var(--primary-1)}
.Rewards{display:grid;grid-template-columns:1fr 1fr;gap:20px}.Rewards__invite{grid-column:1/-1}
.Rewards__hero{position:relative;grid-column:1/-1;flex-direction:row;align-items:center;justify-content:space-between;gap:24px;overflow:hidden}
.Rewards__hero:after{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(400px 200px at 85% 20%,rgba(255,255,255,.18),transparent 60%)}
.Rewards__hero>*{position:relative;z-index:1}
.Rewards__hero .t31{display:flex;align-items:center;gap:8px;margin:4px 0}.Rewards__hero .t31 svg{width:28px;height:28px}.Rewards__hero small{font-size:16px;font-weight:400;color:var(--text-2)}
.Rewards__sub{font-size:14px;line-height:22px;color:var(--text-2)}
.Rewards__inviteHead{display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap}.Rewards__inviteHead p{margin-top:8px;max-width:560px;font-size:14px;line-height:22px;color:var(--text-2)}.Rewards__inviteHead b{color:#fff}
.Rewards__stats{display:flex;gap:8px}.Rewards__stats div{display:flex;flex-direction:column;align-items:center;min-width:92px;padding:12px 10px;border-radius:16px;background:var(--surface);box-shadow:inset 0 0 0 1px var(--hair)}.Rewards__stats b{font-size:22px;line-height:28px;letter-spacing:-.02em}.Rewards__stats span{font-size:12px;color:var(--text-3)}
.Invite__code{display:flex;align-items:center;gap:12px;padding:8px 8px 8px 16px;border:1px solid rgba(255,111,145,.5);border-radius:999px;background:rgba(255,111,145,.1)}.Invite__code span{font-size:13px;color:var(--text-2);white-space:nowrap}.Invite__code code{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:var(--font-inter);font-size:15px;font-weight:600}
.ShareRow{display:flex;flex-wrap:wrap;gap:10px}.ShareRow__btn{display:flex;align-items:center;gap:8px;padding:6px 14px 6px 6px;border:1px solid var(--hair);border-radius:999px;background:var(--surface);color:#fff;font-size:14px;font-weight:500;transition:background .2s,transform .25s var(--spring)}.ShareRow__btn:hover{background:var(--surface-light)}.ShareRow__btn:active{transform:scale(.95)}
.ShareRow__btn svg{width:34px;height:34px;padding:8px;border-radius:50%;background:var(--c)}
.Invitees h4{margin-bottom:8px;font-size:13px;color:var(--text-3)}.Invitees__row{display:grid;grid-template-columns:1fr auto auto;gap:16px;padding:10px 0;border-top:1px solid var(--hair);font-size:14px}.Invitees__row span:nth-child(2){color:var(--text-3)}.Invitees__row .ok{color:var(--success)}
.Rewards__fine{font-size:12px;line-height:18px;color:var(--text-3)}
.Task{display:flex;align-items:center;gap:14px;padding:14px 0;border-top:1px solid var(--hair)}.Task:first-of-type{border-top:0}.Task__icon{display:grid;place-items:center;width:46px;height:46px;border-radius:14px;background:var(--surface);box-shadow:inset 0 0 0 1px var(--hair);flex:none}.Task__body{flex:1;min-width:0}.Task__body h3{font-size:15px;font-weight:600;line-height:22px}.Task__body p{font-size:13px;line-height:19px;color:var(--text-2)}.Task__action{flex:none}
@media(max-width:767.98px){.Rewards{grid-template-columns:1fr;gap:14px}.Rewards__hero{flex-direction:column;align-items:flex-start;gap:12px}.Rewards__stats{width:100%}.Rewards__stats div{flex:1;min-width:0}.Invite__code{flex-wrap:wrap;border-radius:20px}.Invite__code code{flex-basis:100%;order:3}.ShareRow__btn span{display:none}.ShareRow__btn{padding:0;border:0}.ShareRow__btn svg{width:46px;height:46px;padding:12px}}
/* ---------- 二次精修：影院感氛围、眉标、进场动画 ---------- */
.LayoutHeader{background:transparent;box-shadow:none}
.LayoutHeader.scrolled{background:rgba(10,10,15,.62);box-shadow:inset 0 -1px 0 var(--hair)}
.Carousel{position:relative}
.Carousel__bg{position:absolute;z-index:-1;top:calc(-1 * var(--header-h) - 20px);left:calc(-50vw + 50%);width:100vw;height:calc(100% + var(--header-h) + 120px);overflow:hidden;pointer-events:none;-webkit-mask-image:linear-gradient(180deg,#000 40%,transparent);mask-image:linear-gradient(180deg,#000 40%,transparent)}
.Carousel__bg img{width:100%;height:100%;object-fit:cover;filter:blur(70px) saturate(1.3) brightness(.55);transform:scale(1.25);opacity:.75;transition:opacity .5s var(--ease)}
.Carousel__bg img.sw{opacity:.2}
.Carousel__meta{display:flex;align-items:center;justify-content:center;gap:10px;margin:-6px 0 16px;font-size:13px;font-weight:500;letter-spacing:.01em;color:var(--text-2)}
.Carousel__meta i{width:3px;height:3px;border-radius:50%;background:var(--text-4)}
.Carousel__actions{display:flex;gap:10px;align-items:center;justify-content:center}
.Carousel__actions .DramaButton--outlined{background:rgba(255,255,255,.08)}
.Carousel .DramaButton--white{width:auto;min-width:170px}
.Section__header>div{display:flex;flex-direction:column;gap:2px}
.Section__eyebrow{font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;background:var(--accent-grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.Section__more{display:inline-flex;align-items:center;gap:4px;font-size:14px;font-weight:500;color:var(--text-3);transition:color .25s}.Section__more:hover{color:#fff}.Section__more svg{width:13px;height:13px}
@media(min-width:1200px){.Section__list{-webkit-mask-image:linear-gradient(90deg,transparent,#000 32px,#000 calc(100% - 48px),transparent);mask-image:linear-gradient(90deg,transparent,#000 32px,#000 calc(100% - 48px),transparent)}}
.reveal{opacity:0;transform:translateY(18px);transition:opacity .7s var(--ease),transform .7s var(--ease)}.reveal.in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}}
@media(max-width:767.98px){.Carousel__bg{top:calc(-1 * var(--header-h) - var(--banner-h));height:calc(100% + var(--header-h) + 80px)}.Carousel__meta{font-size:12px;margin:-4px 0 12px}.Carousel__actions .DramaButton--outlined{display:none}.Section__more{font-size:13px}}
.InstallBanner__box{overflow:hidden}
/* ---------- 品牌 Reelore：图片字标 ---------- */
.Brand{gap:9px}.Brand img{display:block;width:auto}.Brand__icon{height:100%;border-radius:28%}.Brand__word{height:56%;filter:none}
.LayoutHeader__logo{width:auto}.LayoutFooter__logo{width:auto}
.Menu__appIcon,.InstallBanner__logo .Menu__appIcon{background:url(/img/icon-192.png) center/cover no-repeat;box-shadow:0 6px 16px rgba(255,90,126,.3)}.Menu__appIcon:before,.Menu__appIcon:after{display:none}
/* ---------- 收敛：单一强调色、去渐变去光晕、纯净黑底（位置照参考站不动） ---------- */
.Layout:before{display:none}
.Carousel__bg{display:none}
.LayoutHeader,.LayoutHeader.scrolled{background:rgba(10,10,15,.72);box-shadow:inset 0 -1px 0 var(--hair)}
.DramaLabel{background:var(--accent);box-shadow:none}
.MovieCover--exclusive{background:var(--accent)}
.Section--exclusive:before{background:rgba(255,255,255,.035)}
.Brand__icon{box-shadow:none}.Brand--color .Brand__word{filter:none}
.Menu__appIcon{box-shadow:none}
.Carousel__title{margin-bottom:16px}
.Paywall__icon{background:var(--accent);box-shadow:none;border-radius:50%}
.Player__center button{background:rgba(255,255,255,.14)}
.Rewards__hero{background:var(--background-1)}.Rewards__hero:after{display:none}
.Guide__num,.DramaNotification__icon{background:var(--accent)}
.Account__ava{background:var(--accent);box-shadow:none}
.EpItem--active .EpItem__img{box-shadow:0 0 0 3px rgba(255,90,126,.25)}
.Auth{background:none}.Auth__title span{background:none;-webkit-text-fill-color:var(--accent);color:var(--accent)}
.Plan.sel{border-color:rgba(255,90,126,.7);background:rgba(255,90,126,.1);box-shadow:none}
.DramaInput--search .DramaInput:focus,.DramaInput--standard .DramaInput:focus{border-color:rgba(255,90,126,.6);box-shadow:none}
.MovieCard:hover .MovieCover{transform:none}
.Brand__lockup{height:100%;width:auto;display:block;opacity:.96}
.ShareWait{display:flex;align-items:center;gap:10px;padding:12px 14px;border-radius:14px;background:var(--surface);font-size:13px;color:var(--text-2)}
/* 电脑端手机框内：顶部留出灵动岛/状态栏的位置 */
html.in-frame .Layout{padding-top:var(--safe-top)}
html.in-frame .LayoutHeader{top:calc(var(--banner-h) + var(--safe-top))}
html.in-frame .Watch{height:calc(100dvh - var(--header-h) - var(--banner-h) - var(--safe-top) - var(--tabbar-h) - 24px);min-height:0}
html.in-frame .TabBar{padding-bottom:14px}
/* ====================================================================
   熊猫式版式（layout_mode=panda）：玻璃材质 + 单一强调色；结构照参考站
   ==================================================================== */
html.in-frame{--safe-top:0px}
.PHeader .LayoutHeader__container{display:flex;gap:12px;align-items:center}
.PHeader .Brand{height:34px;margin-right:auto}
.PHeader__actions{display:flex;gap:8px;align-items:center}
.PHeader__coins{display:inline-flex;align-items:center;gap:6px;padding:6px 10px 6px 8px;border-radius:999px;background:var(--surface);box-shadow:inset 0 0 0 1px var(--hair);font-size:13px;font-weight:600}.PHeader__coins svg{width:16px;height:16px}
.PHeader__ava{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--accent);font-size:14px;font-weight:700;color:#fff}
@media(max-width:767.98px){.LayoutHeader.PHeader{height:60px}}
.LayoutHeader.PHeader{height:60px}
/* 公告栏 */
.PNotice{display:flex;align-items:center;gap:10px;height:44px;padding:0 6px 0 12px;border-radius:999px;background:var(--surface);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}
.PNotice__ic{display:inline-grid;place-items:center;width:20px;height:20px;color:var(--text-2);flex:none}.PNotice__ic svg{width:18px;height:18px}
.PNotice__track{flex:1;min-width:0;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);contain:paint}
.PNotice__run{display:inline-flex;gap:48px;white-space:nowrap;font-size:13px;font-weight:500;color:var(--text-2);animation:notice-run 28s linear infinite}
.PNotice__run span{flex:none}
@keyframes notice-run{to{transform:translateX(-50%)}}
.PNotice__search{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--accent);color:#fff;flex:none}.PNotice__search svg{width:16px;height:16px}
/* 大横幅 */
.PBanner{position:relative}
.PBanner__track{display:flex;gap:10px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;-webkit-overflow-scrolling:touch;border-radius:16px}.PBanner__track::-webkit-scrollbar{display:none}
.PBanner__item{flex:0 0 100%;scroll-snap-align:start;overflow:hidden}
.PBanner__item img{width:100%;height:100%;object-fit:cover;display:block}
.PBanner__dots{position:absolute;display:flex;gap:5px}
.PBanner__dot{width:6px;height:6px;border-radius:999px;background:rgba(255,255,255,.4);transition:all .3s var(--ease)}.PBanner__dot.on{width:18px;background:#fff}
/* 2×2 活动格 */
.PTiles{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.PTile{position:relative;display:flex;flex-direction:column;justify-content:center;gap:2px;min-height:72px;padding:12px 64px 12px 14px;border-radius:14px;background:var(--surface);box-shadow:inset 0 0 0 1px var(--hair);overflow:hidden;color:var(--text);transition:transform .25s var(--spring),background .2s}
.PTile:active{transform:scale(.97)}.PTile:hover{background:var(--surface-light)}
.PTile b{font-weight:700;line-height:18px}.PTile small{line-height:15px;color:var(--text-2)}
.PTile i{position:absolute;right:10px;top:50%;transform:translateY(-50%);display:grid;place-items:center;width:44px;height:44px;border-radius:12px;background:rgba(255,90,126,.14);box-shadow:inset 0 0 0 1px rgba(255,90,126,.25);font-style:normal;font-size:22px}
.PTile--hot i{background:rgba(255,214,10,.14);box-shadow:inset 0 0 0 1px rgba(255,214,10,.3)}
/* 吸顶分类 */
.PChips{position:sticky;z-index:5;display:flex;gap:8px;overflow-x:auto;scrollbar-width:none}.PChips::-webkit-scrollbar{display:none}
.PChip{display:inline-flex;align-items:center;gap:6px;flex:none;border-radius:999px;color:var(--text-2);white-space:nowrap;transition:background .25s,color .25s}
.PChip i{font-style:normal;font-size:14px}
/* 区块：标题带 + 4 列格子 */
.PSec__head{position:relative;display:flex;align-items:center;justify-content:space-between;padding:6px 0}
.PSec__title{display:flex;align-items:center;gap:8px;border-radius:12px 32px 32px 12px;background:linear-gradient(90deg,rgba(255,90,126,.22),rgba(255,90,126,.04) 70%,transparent)}
.PSec__title i{font-style:normal;font-size:18px;line-height:1}.PSec__title h2{letter-spacing:-.02em;line-height:22px}
.PSec__all{display:inline-flex;align-items:center;padding:6px 10px 6px 12px;border-radius:999px;background:var(--surface);box-shadow:inset 0 0 0 1px var(--hair);font-size:13px;font-weight:600;color:var(--text)}
.PSec__all b{color:var(--accent)}
.PGrid{display:grid}
.PCard{display:flex;flex-direction:column;gap:5px;color:var(--text)}
.PCard__img{position:relative;aspect-ratio:3/4;overflow:hidden}
.PCard__img img{width:100%;height:100%;object-fit:cover;object-position:top;display:block}.PCard:hover img{transform:scale(1.04)}
.PCard__img .DramaLabel{position:absolute;top:6px;left:6px;padding:1px 6px;font-size:9px;line-height:15px}
.PCard__views{position:absolute;right:6px;bottom:6px;display:flex;align-items:center;gap:3px;padding:1px 6px;border-radius:999px;background:rgba(0,0,0,.5);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);font-size:9px;line-height:14px}.PCard__views svg{width:5px;height:6px}
.PCard__fav{position:absolute;top:6px;right:6px;display:grid;place-items:center;width:22px;height:22px;border:0;border-radius:50%;background:rgba(0,0,0,.45);color:#fff;cursor:pointer;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.PCard__fav svg{width:12px;height:12px}.PCard__fav.on{color:var(--accent)}
.PCard__title{overflow:hidden;-webkit-box-orient:vertical}
.PCard--cont .PCard__img:after{content:"";position:absolute;inset:auto 0 0 0;height:3px;background:var(--accent);width:var(--p,30%)}
.PMore{display:flex;flex-direction:column;align-items:center;gap:4px;font-size:12px;color:var(--text-3)}
.PMore button{display:inline-flex;align-items:center;gap:4px;padding:0;border:0;background:0 0;color:var(--accent);font-size:13px;font-weight:600;cursor:pointer}.PMore button svg{width:14px;height:14px}
/* 悬浮按钮 */
.PFloat{position:fixed;z-index:30;left:14px;bottom:calc(var(--tabbar-h) + 16px);display:flex;flex-direction:column;gap:10px}
.PFloat__btn{display:grid;place-items:center;border:0;border-radius:50%;background:var(--accent);color:#fff;box-shadow:0 8px 20px rgba(255,90,126,.35);cursor:pointer;transition:transform .25s var(--spring),opacity .3s}.PFloat__btn:active{transform:scale(.92)}.PFloat__btn svg{width:20px;height:20px}
.PFloat__top{background:var(--surface);box-shadow:inset 0 0 0 1px var(--hair);pointer-events:none}.PFloat__top.show{pointer-events:auto}
/* 5 栏底部，中间大圆钮 */
.TabBar--panda{display:grid;grid-template-columns:repeat(5,1fr);align-items:end;padding:6px 6px calc(8px + var(--sab))}
.TabBar--panda a{display:flex;flex-direction:column;align-items:center;border-radius:12px;color:var(--text-3);transition:color .25s}
.TabBar--panda a svg{width:24px;height:24px;transition:transform .3s var(--spring)}.TabBar--panda a.on svg{transform:translateY(-1px)}.TabBar--panda .TabBar__coin.on{color:var(--highlighter)}
.TabBar--panda .TabBar__center{position:relative;padding:0}
.TabBar--panda .TabBar__center i{display:grid;place-items:center;border-radius:50%;color:#fff;transition:transform .3s var(--spring)}
.TabBar--panda .TabBar__center i svg{width:28px;height:28px}.TabBar--panda .TabBar__center:active i{transform:scale(.94)}
.TabBar--panda .TabBar__center span{color:var(--text-3)}
@media(min-width:768px){.TabBar--panda{display:none}}
/* 左侧菜单 */
.DramaDrawer--left .DramaDrawer__wrapper{top:0;left:0;bottom:0;max-width:400px;transform:translateX(-100%)}
.DramaDrawer--left.in .DramaDrawer__wrapper{transform:none}
.DramaDrawer--left .DramaDrawer__close{left:auto;right:14px}
.PMenu{display:flex;flex-direction:column;gap:18px;height:100%;padding:18px 16px 24px;overflow:auto}
.PMenu__hello{font-size:15px;font-weight:600;color:var(--text-2)}
.PMenu__auth{display:flex;gap:10px}.PMenu__auth .DramaButton{flex:1}
.PMenu__user{display:flex;align-items:center;gap:12px;padding:12px;border-radius:16px;background:var(--surface);box-shadow:inset 0 0 0 1px var(--hair)}
.PMenu__h{margin:4px 0 -8px;font-size:12px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--text-3)}
.PMenu__cats{display:flex;flex-wrap:wrap;gap:8px}.PMenu__cats a{padding:8px 12px;border-radius:999px;background:var(--surface);box-shadow:inset 0 0 0 1px var(--hair);font-size:13px;font-weight:500}
.PMenu__events{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.PEvent{position:relative;display:flex;flex-direction:column;gap:6px;min-height:92px;padding:12px;border-radius:16px;background:var(--surface);box-shadow:inset 0 0 0 1px var(--hair);color:var(--text);overflow:hidden}
.PEvent b{font-size:14px;font-weight:700;line-height:18px;padding-right:40px}.PEvent small{font-size:11px;line-height:15px;color:var(--text-2);padding-right:40px}
.PEvent i{position:absolute;right:10px;top:10px;font-style:normal;font-size:26px}
.PEvent em{margin-top:auto;display:inline-flex;align-self:flex-start;padding:3px 10px;border-radius:999px;background:var(--accent);font-style:normal;font-size:11px;font-weight:700;color:#fff}
.PMenu__links{display:flex;flex-direction:column}.PMenu__links a,.PMenu__links button{display:flex;align-items:center;justify-content:space-between;padding:12px 4px;border:0;border-bottom:1px solid var(--hair);background:0 0;color:var(--text);font-size:14px;text-align:left;cursor:pointer}.PMenu__links span{color:var(--text-4)}
/* 熊猫式细调：按钮方圆角、格子不带标题、区块面板、底栏高亮色 */
.PSec .PGrid{border-radius:16px;background:var(--background-1);box-shadow:inset 0 0 0 1px var(--hair)}
.PSec__head{margin-bottom:10px}
.PMore{margin-top:10px;padding:0 0 4px}
.TabBar--panda a.on{color:var(--accent)}.TabBar--panda .TabBar__center.on span{color:var(--accent)}
.PChip i img,.PSec__title i img,.PEvent i img,.PTile i img{width:100%;height:100%;object-fit:contain;display:block}
.PTile.has-art{padding:12px 14px;min-height:76px;background-size:cover;background-position:center;box-shadow:inset 0 0 0 1px var(--hair),0 6px 18px rgba(0,0,0,.35)}
.PTile.has-art i{display:none}.PTile.has-art b,.PTile.has-art small{position:relative;z-index:1;text-shadow:0 1px 6px rgba(0,0,0,.6)}
.PTile.has-art:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,10,15,.55),rgba(10,10,15,.05) 70%)}
/* 首页活动弹窗（熊猫式：大图 + 底部标签页 + 今日不再提醒 + 下方圆形关闭） */
.PPop{position:fixed;inset:0;z-index:1075;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:20px;background:rgba(0,0,0,.72);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);animation:pop-in .35s var(--spring)}
@keyframes pop-in{from{opacity:0;transform:scale(.94)}}
.PPop__card{width:min(100%,440px);border-radius:18px;overflow:hidden;background:var(--glass-strong);box-shadow:inset 0 0 0 1px var(--hair-2),var(--shadow-2)}
.PPop__img{display:block;width:100%;aspect-ratio:1/1.05;object-fit:cover;background:#000}
.PPop__body{padding:14px 16px 16px}.PPop__body h3{font-size:18px;font-weight:700;letter-spacing:-.02em;line-height:24px}.PPop__body p{margin-top:4px;font-size:13px;line-height:20px;color:var(--text-2)}
.PPop__tabs{display:flex;background:rgba(255,255,255,.04);box-shadow:inset 0 1px 0 var(--hair)}
.PPop__tabs button{flex:1;padding:14px 6px;border:0;background:0 0;color:var(--text-3);font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;cursor:pointer}.PPop__tabs button.on{color:#fff;background:rgba(255,255,255,.08)}
.PPop__no{display:flex;align-items:center;gap:8px;margin-top:16px;padding:10px 16px;border-radius:999px;background:var(--surface);box-shadow:inset 0 0 0 1px var(--hair);font-size:14px;color:var(--text)}
.PPop__no input{width:16px;height:16px;accent-color:var(--accent)}
.PPop__x{display:grid;place-items:center;width:40px;height:40px;margin-top:14px;border:0;border-radius:50%;background:rgba(255,255,255,.1);box-shadow:inset 0 0 0 1px var(--hair-2);color:#fff;cursor:pointer}
.PChip i,.PSec__title i{display:inline-grid;place-items:center;width:20px;height:20px}
.PMenu__cats a{display:inline-flex;align-items:center;gap:6px}.PMenu__cats a img{width:16px;height:16px}
.PEvent i{width:40px;height:40px;filter:drop-shadow(0 6px 12px rgba(0,0,0,.5))}
.Task__icon img{width:30px;height:30px}.Task__icon{font-size:0}
.Paywall__link{display:inline-flex;align-items:center;gap:6px}.Paywall__link img{width:18px;height:18px}
.Auth__tv img{width:96px;height:96px;filter:drop-shadow(0 12px 24px rgba(0,0,0,.5))}.PTile.has-art small{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2}
/* ---------- 提档：底栏大图标 + 高光，区块/胶囊图标放大，卡片光效 ---------- */
.TabBar--panda{padding:8px 6px calc(10px + var(--sab));background:rgba(12,12,18,.86);box-shadow:inset 0 1px 0 var(--hair-2),0 -10px 30px rgba(0,0,0,.35)}
.TabBar--panda a{gap:4px;padding:4px 0 0;letter-spacing:.01em}
.TabBar--panda a .TabBar__ic{display:grid;place-items:center;width:34px;height:34px;transition:transform .3s var(--spring),filter .3s}
.TabBar--panda a .TabBar__ic img{width:34px;height:34px;display:block;filter:grayscale(1) brightness(1.4) opacity(.55);transition:filter .3s}
.TabBar--panda a .TabBar__ic svg{width:28px;height:28px}
.TabBar--panda a.on .TabBar__ic{transform:translateY(-2px) scale(1.08)}.TabBar--panda a.on .TabBar__ic img{filter:none;filter:drop-shadow(0 4px 10px rgba(255,90,126,.45))}
.TabBar--panda .TabBar__center i{width:68px;height:68px;margin-top:-34px;background:radial-gradient(circle at 30% 25%,#ff9db4,var(--accent) 55%,#c93158)}
.TabBar--panda .TabBar__center i img{width:40px;height:40px;filter:drop-shadow(0 3px 6px rgba(0,0,0,.35))}
.TabBar--panda .TabBar__center i:after{content:"";position:absolute;inset:-7px;border-radius:50%;box-shadow:0 0 0 1px rgba(255,255,255,.08);pointer-events:none}
.TabBar--panda .TabBar__center span{margin-top:6px;font-size:11px;font-weight:600}
.PChip{padding:8px 14px 8px 10px;font-size:13px}.PChip i{width:24px;height:24px}
.PChip.on{background:linear-gradient(180deg,rgba(255,255,255,.14),rgba(255,255,255,.08));color:#fff;box-shadow:inset 0 0 0 1px rgba(255,255,255,.18),0 4px 14px rgba(0,0,0,.35)}
.PSec__title{padding:6px 44px 6px 10px}.PSec__title i{width:32px;height:32px;filter:drop-shadow(0 4px 10px rgba(255,90,126,.35))}
.PCard__img{box-shadow:inset 0 0 0 1px var(--hair),0 6px 16px rgba(0,0,0,.35)}
.PCard:hover .PCard__img{box-shadow:inset 0 0 0 1px rgba(255,255,255,.22),0 10px 24px rgba(0,0,0,.45),0 0 0 2px rgba(255,90,126,.25)}
.PBanner__item{box-shadow:inset 0 0 0 1px var(--hair),0 14px 40px rgba(0,0,0,.5),0 0 60px rgba(255,90,126,.12)}
.PNotice{box-shadow:inset 0 0 0 1px var(--hair),0 4px 14px rgba(0,0,0,.3)}.LayoutHeader.PHeader{background:rgba(10,10,15,.82);box-shadow:inset 0 -1px 0 var(--hair-2),0 6px 20px rgba(0,0,0,.35)}
.PFloat__btn{width:48px;height:48px}.PFloat__cs{background:radial-gradient(circle at 30% 25%,#ff9db4,var(--accent) 55%,#c93158);box-shadow:0 10px 24px rgba(255,90,126,.45),inset 0 2px 0 rgba(255,255,255,.35)}.PFloat__cs img{width:28px;height:28px}
/* 边缘右滑返回：跟手平移 + 左侧阴影 */
.Layout__container.swiping{transition:none!important;will-change:transform}
.Layout__container.swiping:before{content:"";position:fixed;inset:0 100% 0 auto;width:24px;transform:translateX(-24px);background:linear-gradient(90deg,transparent,rgba(0,0,0,calc(.45 * (1 - var(--sw,0)))));pointer-events:none}
html.in-frame .Layout__container,html.in-frame body{overscroll-behavior-x:none}
/* 通知权限引导卡 + 系统提示 */
.NotifCard{position:fixed;z-index:1060;left:12px;right:12px;display:flex;gap:12px;align-items:center;padding:12px 12px 12px 14px;border-radius:18px;background:rgba(22,22,30,.92);box-shadow:inset 0 0 0 1px var(--hair-2),0 16px 40px rgba(0,0,0,.5);-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);animation:notif-in .5s var(--spring)}
.NotifCard img{width:44px;height:44px;flex:none;filter:drop-shadow(0 6px 12px rgba(0,0,0,.5))}
.NotifCard__body{flex:1;min-width:0}.NotifCard__body b{display:block;font-size:14px;font-weight:700;line-height:20px}.NotifCard__body small{display:block;font-size:12px;line-height:17px;color:var(--text-2)}
.NotifCard__actions{display:flex;flex-direction:column;gap:6px}.NotifCard__actions .DramaButton--sm{padding:6px 12px;font-size:12px}
.NotifCard__later{border:0;background:0 0;color:var(--text-3);font-size:12px;cursor:pointer;padding:2px}
@media(min-width:768px){.NotifCard{left:auto;right:24px;bottom:24px;width:380px}}
/* 底栏中间按钮：去掉外圈（手机上圈和按钮对不齐），只保留按钮本体和光晕 */
.TabBar--panda .TabBar__center i{position:relative;box-shadow:0 12px 30px rgba(255,90,126,.5),inset 0 2px 0 rgba(255,255,255,.4),inset 0 -6px 12px rgba(0,0,0,.25)}
.TabBar--panda .TabBar__center i:after{display:none}
.TabBar--panda .TabBar__center{overflow:visible}
.TabBar{overflow:visible}
/* ---------- 订阅卡（照参考站） ---------- */
.Sub{padding:18px 20px 28px}.Sub__page{padding:0}.Sub__page .Sub{padding:8px 4px 16px}
.Sub__reserved{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:999px;background:rgba(255,214,10,.12);box-shadow:inset 0 0 0 1px rgba(255,214,10,.35);font-size:12px;font-weight:600;color:var(--highlighter)}.Sub__reserved b{font-variant-numeric:tabular-nums}
.Sub__title{margin-top:14px;font-size:26px;font-weight:700;letter-spacing:-.025em;line-height:32px}.Sub__sub{margin:2px 0 14px;font-size:14px;color:var(--text-2)}
.Sub__plans{display:flex;flex-direction:column;gap:10px}
.SubPlan{position:relative;display:flex;align-items:center;gap:12px;width:100%;padding:14px 14px 14px 14px;border:1px solid var(--hair);border-radius:16px;background:var(--surface);color:var(--text);text-align:left;cursor:pointer;transition:border-color .25s,background .25s,transform .25s var(--spring)}
.SubPlan:active{transform:scale(.985)}.SubPlan.on{border-color:var(--accent);background:rgba(255,90,126,.1);box-shadow:0 0 0 3px rgba(255,90,126,.15)}
.SubPlan__badge{background:var(--accent);color:#fff}
.SubPlan__radio{width:20px;height:20px;border:2px solid var(--text-4);border-radius:50%;flex:none;transition:all .2s}.SubPlan.on .SubPlan__radio{border-color:var(--accent);box-shadow:inset 0 0 0 5px var(--accent)}
.SubPlan__name{flex:1;min-width:0;font-size:16px;font-weight:700;line-height:22px}.SubPlan__name em{margin-left:8px;padding:1px 6px;border-radius:6px;background:rgba(48,209,88,.15);color:var(--success);font-style:normal;font-size:11px;font-weight:700}
.SubPlan__name small{display:block;margin-top:2px;font-size:13px;font-weight:500;color:var(--text-2)}.SubPlan__name small s{color:var(--text-3);margin-right:4px}.SubPlan__name small b{color:#fff;font-size:15px}
.SubPlan__day{font-size:20px}.SubPlan__day sup{font-size:12px;vertical-align:top;margin-left:1px}.SubPlan__day small{font-size:11px;font-weight:500;color:var(--text-3)}
.Sub__hint{margin:12px 0 0;font-size:12px;color:var(--text-3);text-align:center}
.Sub__legal{margin:14px 0 12px;font-size:11px;line-height:16px;color:var(--text-3)}.Sub__legal a{color:var(--text-2);text-decoration:underline}
/* 金币包（照参考站 Store：2 列，数量居中，划线原数，顶边 +N% 胶囊，底部整条价格） */
.Coins{margin-top:22px}.Coins__title{margin:0 0 14px;font-size:20px;font-weight:700}
.Coins__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 12px}
.CoinPack{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;min-height:104px;padding:20px 0 0;border:1px solid var(--hair);border-radius:14px;background:var(--surface);color:var(--text);cursor:pointer;overflow:visible;transition:border-color .25s,transform .25s var(--spring)}
.CoinPack:active{transform:scale(.97)}.CoinPack:hover{border-color:var(--accent)}
.CoinPack__n{display:flex;align-items:center;gap:6px}.CoinPack__n svg{width:22px;height:22px;flex:none}.CoinPack__n b{font-size:24px;font-weight:700;line-height:28px;font-variant-numeric:tabular-nums}
.CoinPack s{min-height:16px;font-size:12px;line-height:16px;color:var(--text-4)}
.CoinPack__price{align-self:stretch;margin-top:8px;padding:7px 0;border-radius:0 0 13px 13px;background:var(--accent);color:#fff;font-size:14px;font-weight:700;text-align:center}
.CoinPack__pct{position:absolute;top:-9px;left:50%;transform:translateX(-50%);padding:2px 9px;border-radius:99px;background:var(--pink-3);color:#fff;font-size:11px;font-weight:700;line-height:14px;white-space:nowrap}
.Coins__note{margin:14px 0 0;font-size:11px;line-height:16px;color:var(--text-3);text-align:center}
.Sub__ep{display:flex;align-items:center;justify-content:center;gap:5px;margin:8px 52px 14px;font-size:13px;color:var(--text-2)}.Sub__ep svg{width:16px;height:16px}.Sub__ep b{color:var(--text)}.Sub__epgap{width:14px}
.Sub__secure{display:flex;align-items:center;justify-content:center;gap:6px;margin-top:10px;font-size:12px;color:var(--text-3)}.Sub__secure svg{width:14px;height:14px}
.Sub__guarantee{margin-top:18px;padding:14px;border-radius:14px;background:rgba(48,209,88,.08);box-shadow:inset 0 0 0 1px rgba(48,209,88,.25)}.Sub__guarantee b{display:block;margin-bottom:4px;font-size:14px;color:var(--success)}.Sub__guarantee p{font-size:12px;line-height:18px;color:var(--text-2)}
.Sub__what{margin-top:18px}.Sub__what h4{margin-bottom:8px;font-size:15px;font-weight:700}.Sub__what ul{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:6px}.Sub__what li{position:relative;padding-left:22px;font-size:13px;line-height:20px;color:var(--text-2)}.Sub__what li:before{content:"";position:absolute;left:0;top:5px;width:12px;height:12px;border-radius:50%;background:var(--success);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23000' d='M9.5 17.5 4 12l1.8-1.8 3.7 3.7 8.7-8.7L20 7z'/%3E%3C/svg%3E") center/12px no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23000' d='M9.5 17.5 4 12l1.8-1.8 3.7 3.7 8.7-8.7L20 7z'/%3E%3C/svg%3E") center/12px no-repeat}
/* ---------- 手机版「我的」页：顶部信息卡 + 横向标签，内容紧跟 ---------- */
@media(max-width:767.98px){
  .Account{gap:12px}
  .Account__side{flex-direction:row;flex-wrap:wrap;align-items:center;gap:10px 12px}
  .Account__ava{width:52px;height:52px;font-size:20px}
  .Account__side>div:nth-child(2){flex:1;min-width:0}.Account__name{font-size:17px;line-height:22px}
  .Account__bal{flex-basis:100%;padding:10px 12px}
  .Account__nav{overflow-x:auto;scrollbar-width:none}.Account__nav::-webkit-scrollbar{display:none}.Account__nav a+a{box-shadow:inset 0 0 0 1px var(--hair)}.Account__nav a.on{box-shadow:none}
  .Account__main{padding:14px;border-radius:20px;overflow:hidden}
}
/* 手机内页顶栏返回键 */
.PHeader__back{display:none}
@media(max-width:767.98px){html.inner .PHeader__back{display:inline-flex}html.inner .PHeader #mtoggle{display:none}}
/* 手机「我的」页横向溢出修正 */
.Account{grid-template-columns:300px minmax(0,1fr)}.Account__side,.Account__main{min-width:0}
@media(max-width:991.98px){.Account{grid-template-columns:minmax(0,1fr)}}
@media(max-width:767.98px){.Account__nav{min-width:0;flex-direction:column;flex-basis:100%;gap:0;padding:0;border-radius:18px;background:var(--surface);box-shadow:inset 0 0 0 1px var(--hair);overflow:hidden;max-width:none}}
html{scroll-behavior:auto}
/* 手机「我的」页：恢复竖排菜单，内容在当前项下方展开（手风琴） */
@media(max-width:767.98px){
  .Account__nav a{flex:none;padding:13px 16px;border-radius:0;background:transparent;box-shadow:none;font-size:15px;white-space:normal}
  .Account__nav a+a,.Account__nav .Account__main+a{box-shadow:inset 0 1px 0 var(--hair)}
  .Account__nav a span{display:inline-block;transition:transform .25s var(--spring)}
  .Account__nav a.on{background:rgba(255,90,126,.08);color:var(--accent)}.Account__nav a.on span{transform:rotate(90deg);color:var(--accent)}
  .Account__nav .Account__main{margin:0;padding:14px;border-radius:0;background:rgba(255,255,255,.03);box-shadow:inset 0 1px 0 var(--hair);animation:acc-open .35s var(--ease)}
  .Account__nav .Account__main h2{font-size:17px;line-height:22px}
  .Account__side{padding:14px 12px}
}
@keyframes acc-open{from{opacity:0;transform:translateY(-6px)}}
/* 底栏：直接挂在 body，强制自己的图层，iOS 上不再跟着内容跑 */
body>.TabBar{position:fixed;left:0;right:0;bottom:0;z-index:1040;transform:translateZ(0);-webkit-transform:translateZ(0)}
@media(min-width:768px){body>.TabBar{display:none}}
/* ================= 字体 / 按钮 / 签到 去 AI 感 ================= */
.t24,.t20,.t31,.Carousel__title,.PSec__title h2,.Sub__title,.Auth__title,.Paywall__title,.Sheet__title,.Details__title,.Account__name,.Rewards__inviteHead h2,.PMenu__hello,.PEvent b,.PTile b,.Search__item h3,.SubPlan__name,.SubPlan__day,.Rewards__stats b,.Week .day b,.PHeader__coins,.NotifCard__body b,.PPop__body h3{font-family:var(--font-display);letter-spacing:-.01em}
.t24{font-weight:700}.t31{font-weight:700}.PSec__title h2{font-weight:700;font-size:19px}
.DramaButton--primary{background:linear-gradient(180deg,#ff7a9a 0%,#ff5a7e 55%,#f0416c 100%);box-shadow:inset 0 1px 0 rgba(255,255,255,.35),inset 0 -1px 0 rgba(0,0,0,.15),0 6px 16px rgba(255,90,126,.35)}
.DramaButton--primary:hover,.DramaButton--primary:focus{filter:none;background:linear-gradient(180deg,#ff87a4 0%,#ff6489 55%,#f44b74 100%);box-shadow:inset 0 1px 0 rgba(255,255,255,.4),0 8px 22px rgba(255,90,126,.45)}
.DramaButton--white{background:linear-gradient(180deg,#ffffff,#eceaf2);box-shadow:inset 0 1px 0 #fff,inset 0 -1px 0 rgba(0,0,0,.08),0 6px 16px rgba(0,0,0,.35)}
.DramaButton--white:hover{background:linear-gradient(180deg,#ffffff,#f4f2f8)}
.DramaButton--outlined{background:linear-gradient(180deg,rgba(255,255,255,.1),rgba(255,255,255,.05));box-shadow:inset 0 1px 0 rgba(255,255,255,.12),inset 0 0 0 1px var(--hair-2)}
.DramaButton--outlined:hover{background:linear-gradient(180deg,rgba(255,255,255,.14),rgba(255,255,255,.08))}
.DramaButton--rounded{background:linear-gradient(180deg,rgba(255,255,255,.1),rgba(255,255,255,.05));box-shadow:inset 0 1px 0 rgba(255,255,255,.12),inset 0 0 0 1px var(--hair)}
/* 签到：7 格带 3D 奖励图，已领打勾、今天高亮、第 7 天大奖 */
.Week{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}
.Week .day{position:relative;display:flex;flex-direction:column;align-items:center;gap:2px;padding:10px 2px 8px;border:1px solid var(--hair);border-radius:14px;background:linear-gradient(180deg,rgba(255,255,255,.07),rgba(255,255,255,.03));font-size:11px;color:var(--text-3);overflow:hidden}
.Week .day img{width:40px;height:40px;object-fit:contain;filter:drop-shadow(0 6px 10px rgba(0,0,0,.5));transition:transform .3s var(--spring)}
.Week .day b{font-size:13px;font-weight:700;color:var(--highlighter)}
.Week .day.done{border-color:rgba(48,209,88,.4);background:linear-gradient(180deg,rgba(48,209,88,.14),rgba(48,209,88,.05))}
.Week .day.done img{filter:grayscale(.2) brightness(.8)}
.Week .day.done:after{content:"";position:absolute;top:6px;right:6px;width:16px;height:16px;border-radius:50%;background:var(--success) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23fff' d='M9.5 17.5 4 12l1.8-1.8 3.7 3.7 8.7-8.7L20 7z'/%3E%3C/svg%3E") center/10px no-repeat}
.Week .day.today{border-color:var(--accent);background:linear-gradient(180deg,rgba(255,90,126,.22),rgba(255,90,126,.08));box-shadow:0 0 0 3px rgba(255,90,126,.18),0 8px 20px rgba(255,90,126,.25);color:var(--text)}
.Week .day.today img{transform:scale(1.12)}
.Week .day:nth-child(7){grid-column:span 1}
@media(max-width:767.98px){.Week{grid-template-columns:repeat(4,1fr);gap:8px}.Week .day:nth-child(5){grid-column:span 1}.Week .day:nth-child(7){grid-column:span 2;justify-content:center;flex-direction:column;gap:2px}.Week .day img{width:44px;height:44px}.Week .day{padding:10px 4px}}
/* iOS：禁止页面横向拖动/回弹（会把固定底栏一起拖走） */
html{overscroll-behavior-x:none;width:100%}
body{overscroll-behavior-x:none;width:100%}
.Layout{max-width:100%}
.Layout__container{max-width:100%}
.PBanner__track,.Section__list,.PChips,.EpList__list,.Account__nav,.Menu__gallery{overscroll-behavior-x:contain}
.PNotice{overflow:hidden}
@media(max-width:767.98px){.Week .day:nth-child(7) img{width:56px;height:56px}}
/* iOS Safari：html/body 不能同时 overflow-x:hidden（会让 position:fixed 失效）；横向只靠 .Layout 的 clip 和公告栏裁切来防 */
html{overflow-x:visible;touch-action:pan-x pan-y}
body{overflow-x:visible;position:static;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}
html,body{overscroll-behavior-x:none}
/* 装 App 条：和顶栏网格对齐——左 ✕ 小钮、图标与顶栏 ☰ 同列、Install 与 Sign Up 右对齐同尺寸 */
.InstallBanner{gap:10px;padding:0 14px}
.InstallBanner__x{display:grid;place-items:center;border:0;border-radius:50%;background:rgba(255,255,255,.08);flex:none;cursor:pointer}
.InstallBanner__box{gap:10px;min-width:0}
.InstallBanner__logo{width:40px;height:40px;border-radius:11px;overflow:hidden;box-shadow:0 4px 12px rgba(0,0,0,.4)}.InstallBanner__logo img{width:100%;height:100%;display:block}.InstallBanner__logo .Menu__appIcon{display:none}
.InstallBanner__title{font-size:12px;line-height:16px;color:var(--text-2);display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2}.InstallBanner__title br{display:none}
.InstallBanner__actions{flex:none}.InstallBanner__actions .DramaButton--sm{padding:8px 15px;font-size:13px;min-width:0}
.PHeader .LayoutHeader__container{padding:0 14px;height:60px}
/* 底栏文字不换行；窄屏顶栏不溢出 */
.TabBar--panda a{white-space:nowrap;font-size:10.5px}
.PHeader .Brand{min-width:0;flex:1 1 auto}.PHeader .Brand__lockup{max-width:100%;height:32px}
.PHeader__actions{flex:none}
@media(max-width:360px){.PHeader .Brand__lockup{height:28px}.PHeader__actions .DramaButton--sm{padding:7px 11px;font-size:12px}.PHeader .LayoutHeader__container{gap:8px}}
.Auth__social{gap:10px}.Auth__or{display:flex;align-items:center;gap:12px;width:100%;max-width:330px;font-size:12px;color:var(--text-3)}.Auth__or:before,.Auth__or:after{content:"";flex:1;height:1px;background:var(--hair)}
/* 签到格子按天数自适应：≤5 天一行放完，7 天 4+3（第 7 天占两格） */
@media(max-width:767.98px){.Week--5,.Week--4,.Week--3{grid-template-columns:repeat(5,1fr);gap:6px}.Week--5 .day img,.Week--4 .day img{width:36px;height:36px}.Week--5 .day,.Week--4 .day{padding:8px 2px}.Week--5 .day:nth-child(7),.Week--5 .day:nth-child(5){grid-column:span 1;flex-direction:column}.Week--5 .day:nth-child(5) img{width:36px;height:36px}.Week--6{grid-template-columns:repeat(3,1fr)}.Week--6 .day:nth-child(7){grid-column:span 1}}
/* 抽屉底色加不透明：WebKit 上背景模糊弱，透出首页文字很乱 */
.DramaDrawer__wrapper{background:rgba(14,14,20,.94)}.DramaDrawer__wrapper.surface{background:rgba(16,16,23,.97)}
.DramaDrawer.in{background-color:rgba(0,0,0,.65)}
/* ===== App 壳：文档不滚，只有 .Layout 内滚；底栏/悬浮层永远不受橡皮筋影响 ===== */
html,body{height:100%;overflow:hidden;overscroll-behavior:none}
.Layout{position:fixed;inset:0;min-height:0;height:100%;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain;overscroll-behavior-x:none;display:flex;flex-direction:column;align-items:center;will-change:scroll-position}
.Layout__container{flex:0 0 auto}
/* 禁止选中/复制文字（输入框和邀请链接例外） */
input,textarea,.Invite__code code,[contenteditable]{-webkit-user-select:text;user-select:text}
img,video{-webkit-user-drag:none;user-drag:none;pointer-events:auto}

/* ---------- 顶部叠层（装 App 条 / 顶栏 / 分类条）：滚动容器是 flex 列，子项禁止压缩，否则会露缝；三层同底色紧贴 ---------- */
.Layout>*{flex:0 0 auto}
.InstallBanner{height:60px;background:#0c0c12;-webkit-backdrop-filter:none;backdrop-filter:none;box-shadow:inset 0 -1px 0 var(--hair)}
.LayoutHeader.PHeader,.LayoutHeader.PHeader.scrolled{background:#0c0c12;-webkit-backdrop-filter:none;backdrop-filter:none;box-shadow:inset 0 -1px 0 var(--hair)}
.PChips{top:calc(var(--header-h) + var(--banner-h) + var(--safe-top,0px));margin:0 -16px;padding:8px 16px;border-radius:0;background:#0c0c12;-webkit-backdrop-filter:none;backdrop-filter:none;box-shadow:inset 0 -1px 0 var(--hair)}
.PSec{scroll-margin-top:calc(var(--header-h) + var(--banner-h) + var(--safe-top,0px) + 62px);content-visibility:auto;contain-intrinsic-size:auto 640px}
body>.PFloat{position:fixed;left:auto;right:14px;z-index:1030}
@media(max-width:767.98px){.LayoutFooter{padding-bottom:0}.Layout__container{padding-bottom:24px}}

/* ---------- 禁止缩放：touch-action 只作用到最近的滚动容器，所以滚动容器、抽屉、横滑条、按钮都要单独设置 ---------- */
html,body,.Layout,.Layout__container,.DramaDrawer,.DramaDrawer__wrapper,.PPop,.PBanner__track,.PChips,.Section__list,.EpList__list,.Account__nav,.Menu__gallery,.Carousel__viewport,.Carousel__track{touch-action:pan-x pan-y}
a,button,.PCard,.MovieCard,.EpItem,.TabBar a,.DramaButton{touch-action:pan-x pan-y}
/* ---------- 按钮最终形态：方圆角实色块，按下只有内阴影；标题与按钮的字重和字距 ---------- */
.DramaButton{font-family:var(--font-display)}
.DramaButton--xl,.DramaButton--lg{border-radius:12px;padding:12px 22px;font-size:15px;line-height:22px}
.DramaButton--md{border-radius:11px;padding:10px 18px;font-size:14px;line-height:20px}
.DramaButton--sm{border-radius:10px;padding:8px 14px;font-size:13px;line-height:18px}
.DramaButton--rounded{border-radius:50%}
.DramaButton--facebook,.DramaButton--google,.DramaButton--apple{border-radius:12px}
.DramaButton--primary,.DramaButton--primary:hover,.DramaButton--primary:focus{filter:none;background:linear-gradient(180deg,#ff6a8d,#ff4f78 60%,#f5456f);box-shadow:inset 0 1px 0 rgba(255,255,255,.22),inset 0 -1px 0 rgba(0,0,0,.12)}
.DramaButton--primary:active{background:#e94069;box-shadow:inset 0 2px 5px rgba(0,0,0,.25)}
.DramaButton--white,.DramaButton--white:hover,.DramaButton--white:focus{background:#fff;box-shadow:inset 0 -1px 0 rgba(0,0,0,.08)}
.DramaButton--white:active{background:#e9e7ef;box-shadow:inset 0 2px 4px rgba(0,0,0,.15)}
.DramaButton--outlined,.DramaButton--outlined:hover{background:rgba(255,255,255,.07);box-shadow:inset 0 0 0 1px var(--hair-2)}
.PHeader__actions .DramaButton--sm{border-radius:10px;padding:8px 14px;font-size:13px}
.InstallBanner__actions .DramaButton--sm{border-radius:10px}
.PSec__title h2,.Sub__title,.Rewards__inviteHead h2,.Auth__title,.Paywall__title,.Sheet__title,.Details__title,.Carousel__title,.PMenu__hello{font-weight:700;letter-spacing:-.02em}
.PTile b,.SubPlan__name,.Account__name,.PEvent b,.Search__item h3{font-weight:700;letter-spacing:-.01em}
.TabBar--panda a,.PChip,.PSec__all,.PMore button,.SubPlan__tag,.Week .day b,.PHeader__coins,.PPop__tabs button{font-family:var(--font-display)}
.TabBar--panda a{font-weight:600}.PChip{font-weight:600}
.PTile b{font-size:14px;letter-spacing:-.02em}.PTile.has-art{padding-right:36%}.PTile small{font-size:12px}

/* ---------- 订阅卡：右侧折合每日价（$ 小字 + 整数大字 + 分位右上 + per day），标签是卡片顶部整条横带 ---------- */
.SubPlan__day{display:inline-flex;flex-direction:row;align-items:flex-start;gap:0;margin-left:auto;padding:8px 14px 8px 14px;border-radius:14px 22px 22px 14px;background:rgba(255,255,255,.07);box-shadow:inset 0 0 0 1px var(--hair);font-family:var(--font-display);font-weight:700;letter-spacing:-.02em;line-height:1}
.SubPlan__cur{font-size:15px;line-height:15px;margin:5px 2px 0 0}
.SubPlan__int{font-size:36px;line-height:34px}
.SubPlan__cents{display:flex;flex-direction:column;align-items:flex-start;margin-left:3px}
.SubPlan__cents b{font-size:16px;line-height:16px}
.SubPlan__cents small{margin-top:3px;font-size:11px;line-height:12px;font-weight:500;letter-spacing:0;color:var(--text-3)}
.SubPlan.has-badge{padding-top:40px}
.SubPlan__badge{position:absolute;top:0;left:0;right:0;transform:none;margin:0;padding:5px 10px;border-radius:15px 15px 0 0;text-align:center;font-size:11px;font-weight:700;letter-spacing:.08em;line-height:14px}

/* ---------- 主屏幕 PWA：状态栏是 black-translucent，顶部留出安全区，留白条用顶栏同色 ---------- */
html.standalone{--safe-top:var(--sat)}
html.standalone .Layout::before{content:"";display:block;position:static;inset:auto;z-index:auto;flex:none;width:100%;height:var(--safe-top);background:#0c0c12;pointer-events:none}   /* 用占位块不用 padding：sticky 的基准会把容器 padding 也算进去，导致顶栏下移两倍 */
html.standalone .LayoutHeader{top:calc(var(--banner-h) + var(--safe-top))}
html.standalone body::before{content:"";position:fixed;z-index:1041;top:0;left:0;right:0;height:var(--safe-top);background:#0c0c12}
/* 付费墙盖住播放器时，右侧上下集按钮不再从底下露出来 */
*:has(> .Paywall) .Player__nav{display:none}

/* ---------- 空状态：图标 + 标题 + 说明 + 按钮 ---------- */
.Empty{display:flex;flex-direction:column;align-items:center;gap:6px;padding:36px 20px 32px;text-align:center;color:var(--text-3)}
.Empty__icon{display:grid;place-items:center;width:72px;height:72px;margin-bottom:6px;border-radius:22px;background:rgba(255,255,255,.05);box-shadow:inset 0 0 0 1px var(--hair)}.Empty__icon img{width:44px;height:44px;filter:drop-shadow(0 6px 14px rgba(255,90,126,.25))}
.Empty__title{font-family:var(--font-display);font-size:17px;font-weight:700;letter-spacing:-.01em;color:var(--text)}
.Empty__text{margin:0;max-width:260px;font-size:13.5px;line-height:20px;color:var(--text-3)}
.Empty__btn{margin-top:12px}
@media(max-width:767.98px){.Account__nav #am>.t24{display:none}.Account__nav #am{padding-top:4px}}
/* ---------- 字体：照参考站 DramaShorts 巴西网页版——正文 / 按钮 Inter，强调型大标题 Roboto Slab 粗体 ---------- */
body{font-weight:400}
.PSec__title h2,.Rewards__inviteHead h2,.Carousel__title,.PMenu__hello,.Empty__title,.t20{font-weight:700;letter-spacing:-.015em}
.Sub__title,.Auth__title,.Paywall__title,.Sheet__title,.Details__title,.t24,.t31{font-family:var(--font-slab);font-weight:700;letter-spacing:-.01em}
.DramaButton{font-weight:600;letter-spacing:0}
.Empty__text,.PTile small,.Auth__text,.Sub__sub,.Sub__legal{font-weight:400}
/* ---------- 页脚（手机）：居中 Logo、链接小胶囊、版权小字 ---------- */
@media(max-width:767.98px){
.LayoutFooter{border-top:0;background:linear-gradient(180deg,transparent,rgba(255,255,255,.025))}
.LayoutFooter__container{display:flex;flex-direction:column;align-items:center;gap:14px;padding:28px 20px 24px;text-align:center}
.LayoutFooter__logo{height:26px}.LayoutFooter__logo .Brand__lockup{height:26px}
.LayoutFooter__nav{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;max-width:360px}
.LayoutFooter__link{display:inline-flex;align-items:center;padding:7px 12px;border-radius:10px;background:rgba(255,255,255,.05);box-shadow:inset 0 0 0 1px var(--hair);font-size:12.5px;font-weight:700;color:var(--text-2);text-decoration:none;letter-spacing:0}
.LayoutFooter__link:active{background:rgba(255,255,255,.1)}
.LayoutFooter__text{font-size:12px;font-weight:600;color:var(--text-4);letter-spacing:.01em;align-self:center;text-align:center}
.LayoutFooter__text+.LayoutFooter__text{margin-top:-8px}
}

/* ---------- 条款类文本页 ---------- */
.TextPage{white-space:normal;max-width:720px}
.TextPage h2{margin:26px 0 8px;font-family:var(--font-display);font-size:17px;font-weight:700;letter-spacing:-.01em;color:var(--text)}
.TextPage h2:first-child{margin-top:4px}
.TextPage p{margin:0 0 12px;font-size:15px;line-height:24px;color:var(--text-2)}
.TextPage ul{margin:0 0 12px;padding-left:20px}.TextPage li{margin:4px 0;font-size:15px;line-height:24px;color:var(--text-2)}

/* ---------- 封面加载：未加载时显示占位底色，加载完淡入 ---------- */
.PCard__img{background-size:220% 100%}
.PCard__img.ld{animation:none;background:var(--surface)}
.PCard__img img{opacity:0;transition:opacity .3s ease}.PCard__img.ld img{opacity:1}
@keyframes pc-shimmer{0%{background-position:110% 0}100%{background-position:-110% 0}}
@media(prefers-reduced-motion:reduce){.PCard__img{animation:none}}

/* ---------- 会员状态页（已开通 Full Access） ---------- */
.Vip{display:flex;flex-direction:column;gap:14px}
.Vip__card{display:flex;align-items:center;gap:14px;padding:16px;border-radius:18px;background:linear-gradient(135deg,rgba(255,90,126,.22),rgba(255,194,75,.12) 60%,rgba(255,255,255,.04));box-shadow:inset 0 0 0 1px rgba(255,194,75,.25),0 10px 30px rgba(0,0,0,.35)}
.Vip__card img{width:56px;height:56px;filter:drop-shadow(0 8px 16px rgba(255,194,75,.35))}
.Vip__info{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.Vip__info b{font-family:var(--font-display);font-size:20px;font-weight:700;letter-spacing:-.01em}.Vip__info small{font-size:13px;color:var(--text-2);font-weight:600}
.Vip__badge{padding:5px 10px;border-radius:8px;background:rgba(48,209,88,.15);color:#4cd964;font-family:var(--font-display);font-size:11px;font-weight:700;letter-spacing:.08em}
.Vip__rows{display:flex;flex-direction:column;border-radius:14px;background:rgba(255,255,255,.04);box-shadow:inset 0 0 0 1px var(--hair)}
.Vip__row{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;font-size:14px;color:var(--text-2)}.Vip__row+.Vip__row{box-shadow:inset 0 1px 0 var(--hair)}.Vip__row b{color:var(--text);font-weight:700}.Vip__row b.ok{color:#4cd964}
.Vip__note{margin:0;font-size:13px;line-height:20px;color:var(--text-3)}.Vip__note a{color:var(--accent);text-decoration:underline}
.Vip .Sub__what{margin-top:0}
.Sub--extend{margin-top:10px;padding-top:18px;box-shadow:inset 0 1px 0 var(--hair)}

/* ---------- 文档滚动模式（html.docscroll，备选，localStorage.docScroll=1 开启） ---------- */
html.docscroll{height:auto;overflow:visible;overflow-x:hidden;overscroll-behavior:auto;overscroll-behavior-x:none}
html.docscroll body{height:auto;overflow:visible;overscroll-behavior:auto}   /* body 不能 overflow-x:hidden，否则 body 变成滚动容器，sticky 顶栏/分类条全失效 */
html.docscroll .Layout{position:relative;inset:auto;height:auto;min-height:100dvh;overflow:visible;-webkit-overflow-scrolling:auto;overscroll-behavior:auto;overflow-x:clip}
/* 画得更省：封面占位不再做动画（几十张同时动会拖垮合成器）；离屏区块跳过渲染 */
.PCard__img{animation:none;background:linear-gradient(160deg,#1a1a22,#121218);border-radius:12px}
.PSec__title i img{filter:none}

/* ---------- 熊猫布局 + APK 玻璃质感：格子一行 3 个带标题、大横幅叠标题和 Watch Now、继续观看迷你条、卡片按压 ---------- */
.PGrid{grid-template-columns:repeat(3,1fr);gap:14px 10px}
.PCard__title{display:-webkit-box;-webkit-line-clamp:2;margin-top:7px;padding:0 2px;font-family:var(--font-display);font-size:13px;font-weight:700;line-height:17px;letter-spacing:-.01em;color:var(--text)}
.PCard__ep{display:block;padding:0 2px;font-size:11.5px;font-weight:600;color:var(--accent)}
.PCard{transition:transform .25s var(--spring)}.PCard:active{transform:scale(.96)}
.PSec .PGrid{padding:12px 10px 14px}
.PBanner__item{aspect-ratio:4/3;position:relative;border-radius:18px}
.PBanner__ov{position:absolute;inset:auto 0 0 0;display:flex;flex-direction:column;align-items:flex-start;gap:6px;padding:70px 16px 16px;background:linear-gradient(180deg,transparent,rgba(10,10,15,.55) 45%,rgba(10,10,15,.92));color:#fff;pointer-events:none}
.PBanner__ov b{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-family:var(--font-display);font-size:22px;font-weight:700;line-height:26px;letter-spacing:-.02em;text-shadow:0 2px 10px rgba(0,0,0,.4)}
.PBanner__ov small{display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden;font-size:12.5px;line-height:17px;color:rgba(255,255,255,.72)}
.PBanner__ov em{display:inline-flex;align-items:center;gap:7px;margin-top:4px;padding:8px 16px;border-radius:11px;background:#fff;color:#0a0a0f;font-family:var(--font-display);font-style:normal;font-size:13px;font-weight:700;box-shadow:0 6px 18px rgba(0,0,0,.35)}.PBanner__ov em svg{width:10px;height:12px}
.PBanner__dots{bottom:auto;top:12px;right:14px;left:auto}
/* 底栏：悬浮玻璃胶囊 */
body>.TabBar--panda{padding:8px 6px 8px}
.NotifCard{bottom:calc(var(--tabbar-h) + 22px)}
/* 继续观看迷你条 */
.ContBar{position:fixed;z-index:1035;left:10px;right:10px;display:flex;align-items:center;border-radius:16px;background:rgba(18,18,27,.86);-webkit-backdrop-filter:blur(24px) saturate(160%);backdrop-filter:blur(24px) saturate(160%);box-shadow:inset 0 0 0 1px rgba(255,255,255,.09),0 12px 30px rgba(0,0,0,.5);color:var(--text);text-decoration:none;overflow:hidden;animation:notif-in .5s var(--spring)}
.ContBar img{object-fit:cover;border-radius:8px;flex:none}
.ContBar__t{display:flex;flex-direction:column;gap:1px;flex:1;min-width:0}.ContBar__t small{font-weight:600;color:var(--text-3);letter-spacing:.02em}.ContBar__t b{font-family:var(--font-display);font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ContBar__t i{font-style:normal;color:var(--accent);font-weight:600}
.ContBar__go{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;color:#fff;flex:none}
.ContBar__x{display:grid;place-items:center;border:0;border-radius:50%;background:rgba(255,255,255,.08);flex:none;cursor:pointer}
.ContBar:after{content:"";position:absolute;left:0;bottom:0;height:3px;width:var(--p,0%);background:var(--accent)}

.ContBar{padding:7px 8px 9px 7px;gap:10px}.ContBar img{width:40px;height:52px}.ContBar__t small{font-size:10.5px;line-height:14px}.ContBar__t b{font-size:14px;line-height:18px}.ContBar__t i{font-size:11.5px;line-height:15px}.ContBar{line-height:1.2}

/* ---------- App 壳滚动（默认）：只有 .Layout 内滚，底栏 / 继续观看条 / 悬浮钮挂在 body，位置与滚动无关（见 web/js/shell/header.js） ---------- */
.Layout__container{transform:translateZ(0)}
/* ---------- 底栏最终形态：通栏、吸底、玻璃半透明 ---------- */
body>.TabBar--panda{left:0;right:0;bottom:0;border-radius:0;padding:8px 6px calc(10px + var(--sab));background:rgba(12,12,20,.68);-webkit-backdrop-filter:blur(30px) saturate(180%);backdrop-filter:blur(30px) saturate(180%);box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 -10px 30px rgba(0,0,0,.3)}
html.in-frame body>.TabBar--panda{bottom:0;padding-bottom:12px}
.ContBar{bottom:calc(var(--tabbar-h) + 10px)}
body>.PFloat{bottom:calc(var(--tabbar-h) + 16px)}
body.has-cont>.PFloat{bottom:calc(var(--tabbar-h) + 10px + var(--cont-h,68px) + 12px)}
body.has-cont .Layout{padding-bottom:calc(var(--tabbar-h) + 10px + var(--cont-h,68px) + 12px)}
/* 底部留白用 ::after 占位块：滚动容器自身的 padding-bottom 在 WebKit 里不完全计入滚动范围 */
@media(max-width:767.98px){
.Layout{padding-bottom:0}body.has-cont .Layout{padding-bottom:0}
.Layout::after{content:"";display:block;flex:none;width:100%;height:calc(var(--tabbar-h) + 10px)}
body.has-cont .Layout::after{height:calc(var(--tabbar-h) + 10px + var(--cont-h,68px) + 12px)}
}

/* ---------- 圆形图标钮（菜单 / 返回 / 关闭 / 箭头 / 上下集 / 回顶）：玻璃材质，按下缩小变暗 ---------- */
.DramaButton--rounded,.PPop__x,.InstallBanner__x,.ContBar__x,.PFloat__top,.Player__nav button{border:0;color:#fff;background:linear-gradient(180deg,rgba(255,255,255,.17),rgba(255,255,255,.07));box-shadow:inset 0 1px 0 rgba(255,255,255,.22),inset 0 0 0 1px rgba(255,255,255,.1),0 6px 16px rgba(0,0,0,.35);-webkit-backdrop-filter:blur(16px) saturate(160%);backdrop-filter:blur(16px) saturate(160%);transition:transform .22s var(--spring),background .2s,box-shadow .2s}
.DramaButton--rounded:hover,.PPop__x:hover,.ContBar__x:hover,.InstallBanner__x:hover{background:linear-gradient(180deg,rgba(255,255,255,.24),rgba(255,255,255,.1))}
.DramaButton--rounded:active,.PPop__x:active,.InstallBanner__x:active,.ContBar__x:active,.PFloat__top:active,.Player__nav button:active{transform:scale(.9);background:linear-gradient(180deg,rgba(255,255,255,.08),rgba(255,255,255,.04));box-shadow:inset 0 2px 6px rgba(0,0,0,.35),inset 0 0 0 1px rgba(255,255,255,.08)}
.DramaButton--icon.DramaButton--md,.DramaButton--icon.DramaButton--sm{width:38px;height:38px;padding:0}
@media(max-width:767.98px){.DramaButton--icon.DramaButton--xl,.DramaButton--icon.DramaButton--lg,.DramaButton--icon.DramaButton--md{width:38px;height:38px}}
.DramaButton--icon .DramaButton__icon{width:18px;height:18px}.DramaButton--icon.DramaButton--sm .DramaButton__icon{width:16px;height:16px}
.DramaDrawer__close .DramaButton{width:36px;height:36px}.DramaDrawer__close .DramaButton__icon{width:15px;height:15px}
.InstallBanner__x{width:30px;height:30px;margin-left:-2px;color:#fff}.InstallBanner__x svg{width:12px;height:12px}
.PPop__x svg{width:16px;height:16px}
.ContBar__x{width:30px;height:30px;color:#fff}.ContBar__x svg{width:12px;height:12px}
.ContBar__go{background:linear-gradient(180deg,#ff7a9a,#ff4f78 60%,#f0416c);box-shadow:inset 0 1px 0 rgba(255,255,255,.35),0 6px 14px rgba(255,90,126,.4)}.ContBar__go svg{width:15px;height:15px}
.PSec__all{gap:6px}.PSec__all svg{width:14px;height:14px;color:var(--accent)}
.PFloat__top{opacity:0}.PFloat__top.show{opacity:1}.PFloat__top svg{width:20px;height:20px}
.Player__nav button{width:40px;height:40px;border-radius:50%}.Player__nav button svg{width:18px;height:18px}

/* ---------- For You 竖滑预告流 ---------- */
html.fy #ibanner,html.fy #hdr,html.fy .LayoutFooter{display:none!important}
html.fy .Layout{background:#000}
.FY{position:fixed;z-index:20;top:0;left:0;right:0;bottom:calc(var(--tabbar-h));overflow-y:auto;overflow-x:hidden;scroll-snap-type:y mandatory;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;background:#000;scrollbar-width:none}.FY::-webkit-scrollbar{display:none}
.FY__item{position:relative;height:100%;scroll-snap-align:start;scroll-snap-stop:always;background:#000;overflow:hidden}
.FY__item video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;background:#000;opacity:0;transition:opacity .18s}.FY__item video.ready{opacity:1}
.FY__item:before{content:"";position:absolute;inset:auto 0 0 0;height:62%;background:linear-gradient(180deg,transparent,rgba(0,0,0,.35) 40%,rgba(0,0,0,.85));pointer-events:none}
.FY__pause{position:absolute;left:50%;top:50%;display:grid;place-items:center;width:64px;height:64px;transform:translate(-50%,-50%) scale(.8);border-radius:50%;background:rgba(0,0,0,.55);color:#fff;opacity:0;transition:opacity .2s,transform .25s var(--spring);pointer-events:none;box-shadow:inset 0 0 0 1px rgba(255,255,255,.18)}.FY__pause svg{width:30px;height:30px;margin-left:3px}
.FY__item.paused .FY__pause{opacity:1;transform:translate(-50%,-50%) scale(1);pointer-events:auto}
.FY__top{position:absolute;top:calc(var(--sat) + 12px);right:12px;display:flex;gap:10px;align-items:center}
.FY__mute{display:grid;place-items:center;width:38px;height:38px;border:0;border-radius:50%;background:rgba(0,0,0,.45);color:#fff;box-shadow:inset 0 0 0 1px rgba(255,255,255,.18);cursor:pointer}.FY__mute svg{width:18px;height:18px}.FY__mute.on{background:rgba(255,90,126,.85)}
.FY__vip{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:radial-gradient(circle at 30% 25%,#ff9db4,var(--accent) 60%,#c93158);box-shadow:0 6px 16px rgba(255,90,126,.45)}.FY__vip img{width:24px;height:24px}
.FY__side{position:absolute;right:10px;bottom:150px;display:flex;flex-direction:column;gap:18px;align-items:center}
.FY__act{display:flex;flex-direction:column;align-items:center;gap:4px;border:0;background:none;color:#fff;font-family:var(--font-display);font-size:12px;font-weight:700;cursor:pointer;text-shadow:0 1px 6px rgba(0,0,0,.6)}.FY__act svg{width:30px;height:30px;filter:drop-shadow(0 2px 6px rgba(0,0,0,.5));transition:transform .25s var(--spring)}.FY__act:active svg{transform:scale(1.25)}
.FY__like.on svg{color:var(--accent);fill:var(--accent)}.FY__save.on svg{color:#ffc24b;fill:#ffc24b}
.FY__info{position:absolute;left:14px;right:78px;bottom:14px;display:flex;flex-direction:column;gap:8px;color:#fff}
.FY__head{display:flex;align-items:center;gap:10px;color:#fff;text-decoration:none;min-width:0}.FY__head img{width:34px;height:46px;border-radius:6px;object-fit:cover;flex:none}.FY__head b{font-family:var(--font-display);font-size:18px;font-weight:700;letter-spacing:-.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-shadow:0 1px 8px rgba(0,0,0,.5)}
.FY__chip{align-self:flex-start;padding:3px 9px;border-radius:7px;background:rgba(255,255,255,.14);font-size:12px;font-weight:600;box-shadow:inset 0 0 0 1px rgba(255,255,255,.1)}
.FY__desc{margin:0;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;font-size:13.5px;line-height:19px;color:rgba(255,255,255,.86);text-shadow:0 1px 6px rgba(0,0,0,.5)}
.FY__watch{margin-top:2px}
.FY__row{display:flex;align-items:center;justify-content:space-between;color:rgba(255,255,255,.85);font-size:13px;font-weight:600;text-decoration:none}.FY__row span{display:inline-flex;align-items:center;gap:6px}.FY__row svg{width:14px;height:14px}
.FY__bar{position:relative;height:3px;border-radius:2px;background:rgba(255,255,255,.25);overflow:hidden}.FY__bar i{display:block;height:100%;width:0;background:var(--accent)}
.EpSheet{padding:4px 16px 12px}
@media(min-width:768px){.FY{bottom:0}}

/* ---------- 小窗口播放：离开播放页时视频缩到右下角，可拖动，点回播放页 ---------- */
.MiniPlayer{position:fixed;z-index:1038;right:10px;bottom:calc(var(--tabbar-h) + 12px);width:118px;aspect-ratio:9/16;border-radius:14px;overflow:hidden;background:#000;box-shadow:0 14px 34px rgba(0,0,0,.6),inset 0 0 0 1px rgba(255,255,255,.12);touch-action:none;cursor:pointer;animation:notif-in .35s var(--spring)}
.MiniPlayer__video,.MiniPlayer video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;pointer-events:none}
.MiniPlayer__x,.MiniPlayer__pp{position:absolute;display:grid;place-items:center;width:28px;height:28px;border:0;border-radius:50%;background:rgba(0,0,0,.55);color:#fff;cursor:pointer;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.MiniPlayer__x{top:6px;right:6px}.MiniPlayer__x svg{width:11px;height:11px}
.MiniPlayer__pp{left:6px;bottom:6px}.MiniPlayer__pp svg{width:12px;height:12px}
body.has-mini #contbar{display:none}
body.has-mini>.PFloat{display:none}

/* ---------- 头像：顶栏 / 菜单 / 我的 / 选择面板 / 上传裁剪 ---------- */
.Ava{display:block;width:100%;height:100%;border-radius:50%;object-fit:cover;background:var(--surface-light);-webkit-user-drag:none}
.PHeader__ava{padding:0;overflow:hidden;background:none;box-shadow:0 0 0 1.5px rgba(255,255,255,.2)}
.LayoutHeader__ava{display:block;width:40px;height:40px;border-radius:50%;overflow:hidden;box-shadow:0 0 0 1.5px rgba(255,255,255,.2)}
.Account__ava{position:relative;padding:0;border:0;background:none;cursor:pointer;transition:transform .25s var(--spring)}.Account__ava:active{transform:scale(.95)}
.Account__ava .Ava{box-shadow:0 0 0 2px rgba(255,255,255,.14)}
.Account__ava i{position:absolute;right:-1px;bottom:-1px;display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:var(--accent);color:#fff;box-shadow:0 0 0 2.5px var(--black)}.Account__ava i svg{width:11px;height:11px}
.SetRow__ava{flex:none;width:44px;height:44px;padding:0;border:0;border-radius:50%;background:none;cursor:pointer}
.AvaPick__now{display:flex;justify-content:center;margin:0 0 18px}.AvaPick__now .Ava--xl{width:88px;height:88px;box-shadow:0 0 0 3px var(--accent)}
.AvaPick__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:20px}
.AvaPick__opt{position:relative;aspect-ratio:1;padding:0;border:0;border-radius:50%;background:none;cursor:pointer;transition:transform .25s var(--spring)}.AvaPick__opt:active{transform:scale(.93)}
.AvaPick__opt img{display:block;width:100%;height:100%;border-radius:50%;object-fit:cover;background:var(--surface);transition:box-shadow .2s}
.AvaPick__opt.on img{box-shadow:0 0 0 3px var(--black),0 0 0 5.5px var(--accent)}
.AvaPick__opt i{position:absolute;right:-2px;bottom:-2px;display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:var(--facebook);box-shadow:0 0 0 2.5px var(--black)}.AvaPick__opt i svg{width:14px;height:14px}
.AvaPick__opt i.is-google{background:#fff}
.AvaCrop__stage{position:relative;width:min(300px,78vw);aspect-ratio:1;margin:0 auto 18px;border-radius:18px;overflow:hidden;background:#000;touch-action:none;cursor:grab}.AvaCrop__stage:active{cursor:grabbing}
.AvaCrop__stage canvas{display:block}
.AvaCrop__mask{position:absolute;inset:0;border-radius:50%;box-shadow:0 0 0 400px rgba(0,0,0,.58),inset 0 0 0 2px rgba(255,255,255,.9);pointer-events:none}
.AvaCrop__zoom{display:flex;align-items:center;gap:12px;max-width:300px;margin:0 auto 20px;color:var(--text-2)}.AvaCrop__zoom svg{flex:none;width:18px;height:18px}.AvaCrop__zoom input{flex:1;accent-color:var(--accent)}
.AvaCrop__btns{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.DramaButton.is-loading{opacity:.6;pointer-events:none}

/* ---------- 启动骨架：刷新时先显示首页轮廓，脚本和数据到了再换成真内容（不再整屏黑底转圈） ---------- */
.Boot{display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;background:var(--black)}
.Boot i,.Boot b,.Boot__notice,.Boot__banner,.Boot__title{display:block;background:rgba(255,255,255,.07);animation:boot-pulse 1.4s ease-in-out infinite}
@keyframes boot-pulse{50%{opacity:.55}}
.Boot__hdr{display:flex;align-items:center;gap:10px;height:56px;padding:0 16px;flex:none}
.Boot__btn{width:38px;height:38px;border-radius:50%}
.Boot__logo{height:30px;width:auto}
.Boot__sp{flex:1}
.Boot__pill{width:64px;height:32px;border-radius:999px}.Boot__pill--pri{background:rgba(255,64,129,.35)!important}
.Boot__body{flex:1;overflow:hidden;padding:4px 16px 0;display:flex;flex-direction:column;gap:14px;max-width:560px;width:100%;margin:0 auto}
.Boot__notice{height:40px;border-radius:999px}
.Boot__banner{aspect-ratio:16/10;border-radius:18px}
.Boot__tiles{display:grid;grid-template-columns:1fr 1fr;gap:10px}.Boot__tiles i{height:70px;border-radius:14px}
.Boot__chips{display:flex;gap:10px}.Boot__chips i{width:110px;height:38px;border-radius:999px}
.Boot__title{width:46%;height:22px;border-radius:8px}
.Boot__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.Boot__grid i{aspect-ratio:3/4;border-radius:12px}
.Boot__tab{flex:none;display:flex;justify-content:space-around;align-items:center;height:calc(64px + var(--sab));padding-bottom:var(--sab);border-top:1px solid rgba(255,255,255,.06)}
.Boot__tab i{width:26px;height:26px;border-radius:8px}.Boot__tab b{width:54px;height:54px;border-radius:50%;margin-top:-22px;background:rgba(255,64,129,.35)}
@media(min-width:768px){.Boot__body{max-width:1100px}.Boot__grid{grid-template-columns:repeat(6,1fr)}.Boot__tab{display:none}}

/* ---------- 主屏幕 PWA：下拉刷新指示、断网页 ---------- */
.PTR{position:fixed;z-index:1045;top:calc(var(--sat) + var(--header-h));left:50%;width:36px;height:36px;margin-top:0;border-radius:50%;background:rgba(30,30,40,.92);box-shadow:0 6px 18px rgba(0,0,0,.4);transform:translate(-50%,-50px);opacity:0;transition:opacity .2s;pointer-events:none;display:grid;place-items:center}
.PTR i{width:16px;height:16px;border-radius:50%;border:2.5px solid rgba(255,255,255,.35);border-top-color:var(--accent)}
.PTR.ready i{border-color:var(--accent);border-top-color:#fff}
.PTR.spin{opacity:1!important;transform:translate(-50%,20px)!important}.PTR.spin i{animation:ptr-spin .7s linear infinite}
@keyframes ptr-spin{to{transform:rotate(360deg)}}
.Offline{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;min-height:60vh;padding:24px;text-align:center;color:var(--text-2)}
.Offline__ic{width:72px;height:72px;border-radius:22px;background:url(/img/icon-192.png) center/cover;filter:grayscale(.6);opacity:.8;margin-bottom:8px}
.Offline h2{margin:0;color:var(--text);font-size:20px}.Offline p{margin:0 0 12px;font-size:14px}
html.standalone .Boot__hdr{margin-top:var(--sat)}
/* 主屏幕 PWA 底栏：系统给底部横条预留的 34px 偏保守，和原来的内边距叠加后太高（122px）；收紧到和浏览器里一样（约 88px），文字刚好在横条上方 */
html.standalone body>.TabBar--panda,html.standalone .TabBar--panda{padding-top:2px;padding-bottom:max(4px,calc(var(--sab) - 24px))}
html.standalone .TabBar--panda a{gap:2px;padding-top:2px;font-size:10px}
html.standalone .TabBar--panda a .TabBar__ic,html.standalone .TabBar--panda a .TabBar__ic img{width:28px;height:28px}
html.standalone .TabBar--panda .TabBar__center i{width:58px;height:58px;margin-top:-26px}
html.standalone .TabBar--panda .TabBar__center i img{width:34px;height:34px}
html.standalone .TabBar--panda .TabBar__center span{margin-top:3px;font-size:10px}
.SetRow__sel{min-width:150px;padding:8px 12px;border:1px solid var(--surface-on-4);border-radius:10px;background:var(--surface);color:var(--text);font:inherit;font-size:14px}
/* 付费墙按钮：其它语言文字更长时换行，不截断 */
.Paywall .DramaButton--block span,.Lock .DramaButton--block span,#pwAd span{white-space:normal;line-height:1.25;text-align:center}
#pwAd{height:auto;min-height:48px;padding-top:8px;padding-bottom:8px}

/* VIP 页细节：内容和外框留足边距（原来只有 4px，看着像溢出）、省钱角标不折行、小字更易读 */
.Sub__page .Sub{padding:14px 14px 20px}
.SubPlan__name{display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px}
.SubPlan__name em{margin-left:0;white-space:nowrap;font-size:11px;letter-spacing:.02em}
.SubPlan__name s,.SubPlan__name del{font-weight:500}
.SubPlan__name small{flex-basis:100%}
.Sub__guarantee{padding:16px 16px 14px;border-radius:16px}
.Sub__guarantee b{font-size:15px;letter-spacing:-.01em}
.Sub__guarantee p,.Sub__guarantee span{font-size:13.5px;line-height:21px;color:var(--text-2)}
.Sub__legal{font-size:11.5px;line-height:17px}
.Sub__hint{font-size:12.5px;line-height:18px}
.Sub__what li{font-size:14.5px;line-height:22px}
/* VIP 会员状态页：内容和外框留边距（原来 0，文字和对勾压线） */
.Sub__page>.Vip{padding:14px 14px 6px}
.Sub__page>.Vip .Sub{padding-left:0;padding-right:0}
/* 会员标签：VIP 金属金（拉丝渐变 + 顶部高光 + 皇冠），SVIP 黑金（黑底金边金字 + 钻石 + 定时扫光） */
.TierBadge{position:relative;display:inline-flex;align-items:center;gap:3px;height:20px;padding:0 8px 0 6px;border-radius:6px;vertical-align:middle;font-family:var(--font-display);font-size:11px;font-weight:900;letter-spacing:.08em;line-height:1;white-space:nowrap;overflow:hidden;isolation:isolate}
.TierBadge svg{width:13px;height:13px;flex:none}
.TierBadge b{font-weight:900}
.TierBadge--vip{color:#4a2d00;background:linear-gradient(180deg,#fff4cf 0%,#f6d27a 38%,#e2a93b 62%,#f3cf74 100%);box-shadow:inset 0 1px 0 rgba(255,255,255,.75),inset 0 -1px 0 rgba(120,70,0,.35),0 1px 6px rgba(226,169,59,.35)}
.TierBadge--vip svg{color:#7a4a00;filter:drop-shadow(0 1px 0 rgba(255,255,255,.5))}
.TierBadge--svip{color:transparent;background:linear-gradient(180deg,#2a2622,#0d0c0b);box-shadow:inset 0 0 0 1px rgba(243,194,90,.85),inset 0 1px 0 rgba(255,236,180,.35),0 2px 10px rgba(243,194,90,.28)}
.TierBadge--svip b{background:linear-gradient(180deg,#fff3c4 10%,#f3c25a 55%,#c48a22 100%);-webkit-background-clip:text;background-clip:text;color:transparent}
.TierBadge--svip::after{content:'';position:absolute;top:0;bottom:0;left:-60%;width:40%;background:linear-gradient(100deg,transparent,rgba(255,240,200,.55),transparent);transform:skewX(-20deg);animation:tierShine 3.2s ease-in-out infinite;z-index:1;pointer-events:none}
@keyframes tierShine{0%,55%{left:-60%}85%,100%{left:130%}}
@media (prefers-reduced-motion:reduce){.TierBadge--svip::after{animation:none;display:none}}
.TierBadge.lg{height:26px;padding:0 11px 0 8px;border-radius:8px;font-size:13px;gap:4px}.TierBadge.lg svg{width:16px;height:16px}
/* 头像框：SVIP 金色描边光晕，VIP 细金边 */
.is-svip{box-shadow:0 0 0 2px #0d0c0b,0 0 0 3.5px #f3c25a,0 0 14px rgba(243,194,90,.55)!important}
.is-vip{box-shadow:0 0 0 2px #e9b949!important}
/* SVIP 订阅卡 / 状态卡 */
.Sub--svip .SubPlan.on{border-color:#f3c25a;background:rgba(243,194,90,.09);box-shadow:0 0 0 3px rgba(243,194,90,.16)}
.Sub--svip .SubPlan.on .SubPlan__radio{border-color:#f3c25a;box-shadow:inset 0 0 0 5px #f3c25a}
.Sub--svip .SubPlan__badge{background:linear-gradient(90deg,#c48a22,#f3c25a,#c48a22);color:#1d1400}
.Sub--svip #subPay{background:linear-gradient(180deg,#ffe7a3,#e9b949 55%,#c99022);color:#2a1a00;box-shadow:inset 0 1px 0 rgba(255,255,255,.6),0 6px 18px rgba(233,185,73,.3)}
.SvipPerks{display:grid;gap:10px;margin:14px 0 4px;padding:14px;border-radius:16px;background:linear-gradient(160deg,rgba(243,194,90,.12),rgba(243,194,90,.03));box-shadow:inset 0 0 0 1px rgba(243,194,90,.28)}
.SvipPerks li{display:flex;align-items:flex-start;gap:10px;list-style:none;font-size:13.5px;line-height:19px;color:var(--text-2)}.SvipPerks li b{display:block;color:var(--text);font-size:14px}
.SvipPerks img{width:26px;height:26px;flex:none}
.Vip__card--svip{background:linear-gradient(135deg,#2a2419,#0f0d0a 60%,#2a2213)!important;box-shadow:inset 0 0 0 1px rgba(243,194,90,.5),0 10px 30px rgba(0,0,0,.35)!important}
.Vip__card--svip .Vip__info b{background:linear-gradient(180deg,#fff3c4,#e9b949);-webkit-background-clip:text;background-clip:text;color:transparent}
/* 送剧面板 + 落地页 */
.Details__stats img{width:16px;height:16px;vertical-align:-3px;margin-right:4px}
.Gift__hero{display:grid;place-items:center;width:72px;height:72px;margin:0 auto 10px;border-radius:22px;background:linear-gradient(160deg,rgba(243,194,90,.22),rgba(243,194,90,.05));box-shadow:inset 0 0 0 1px rgba(243,194,90,.35)}.Gift__hero img{width:46px;height:46px}
.Gift__quota{display:flex;justify-content:center;gap:6px;margin:12px 0 4px;font-size:13px;color:var(--text-2)}.Gift__quota b{color:#f3c25a}
.GiftLand{max-width:440px;margin:0 auto;text-align:center}
.GiftLand__from{display:flex;align-items:center;justify-content:center;gap:8px;margin:4px 0 14px;font-size:14px;color:var(--text-2)}.GiftLand__from img{width:28px;height:28px;border-radius:50%}
.GiftLand__cover{width:150px;aspect-ratio:3/4;margin:0 auto 14px;border-radius:14px;overflow:hidden;box-shadow:0 12px 30px rgba(0,0,0,.45),0 0 0 1px rgba(243,194,90,.35)}.GiftLand__cover img{width:100%;height:100%;object-fit:cover}
.GiftLand__eps{display:inline-flex;margin:6px 0 16px;padding:5px 12px;border-radius:99px;background:rgba(243,194,90,.14);color:#f3c25a;font-weight:700;font-size:14px}
.GiftLand__msg{margin:0 0 16px;font-size:14px;line-height:21px;color:var(--text-2)}
.EpItem__early{position:absolute;top:4px;left:4px;z-index:2;padding:1px 5px;border-radius:5px;background:#0d0c0b;color:#f3c25a;box-shadow:inset 0 0 0 1px rgba(243,194,90,.7);font-size:9px;font-weight:900;letter-spacing:.06em}
.Gift__quota{align-items:center}.Gift__quota img{width:20px;height:20px}
.Vip>.Gift__quota{justify-content:flex-start;margin:12px 0 0;padding:12px 14px;border-radius:14px;background:rgba(243,194,90,.08);box-shadow:inset 0 0 0 1px rgba(243,194,90,.25)}
/* 改昵称：名字旁的铅笔、设置行在手机上不撑破 */
.Account__name{display:flex;align-items:center;flex-wrap:wrap;gap:6px}
.Account__rename{display:inline-grid;place-items:center;width:24px;height:24px;padding:0;border:0;border-radius:50%;background:var(--surface-on-2,rgba(255,255,255,.08));color:var(--text-2);cursor:pointer}.Account__rename svg{width:12px;height:12px}
.SetRow__nick{display:flex;gap:8px;min-width:0;flex:1;justify-content:flex-end}.SetRow__nick input{flex:1;min-width:0;max-width:220px;border:1px solid var(--surface-on-4);border-radius:8px;padding:6px 12px}
.Rename__input{width:100%;height:46px;padding:0 14px;border:1px solid var(--surface-on-4);border-radius:12px;font-size:16px}

/* 骨架屏底栏在 PWA 里和真底栏一样矮（真底栏见上面 html.standalone .TabBar--panda） */
html.standalone .Boot__tab{height:calc(58px + max(4px,calc(var(--sab) - 24px)));padding-bottom:max(4px,calc(var(--sab) - 24px))}
/* 同样的 PWA 样式用媒体查询再写一份：html.standalone 要等 JS 加载完才加上，网络差时先按网页尺寸显示（底栏特别高），加载完才缩回来 */
@media (display-mode: standalone){
html{--safe-top:var(--sat)}
html .Layout::before{content:"";display:block;position:static;inset:auto;z-index:auto;flex:none;width:100%;height:var(--safe-top);background:#0c0c12;pointer-events:none}   /* 用占位块不用 padding：sticky 的基准会把容器 padding 也算进去，导致顶栏下移两倍 */
html .LayoutHeader{top:calc(var(--banner-h) + var(--safe-top))}
html body::before{content:"";position:fixed;z-index:1041;top:0;left:0;right:0;height:var(--safe-top);background:#0c0c12}
html .Boot__hdr{margin-top:var(--sat)}
html body>.TabBar--panda,html .TabBar--panda{padding-top:2px;padding-bottom:max(4px,calc(var(--sab) - 24px))}
html .TabBar--panda a{gap:2px;padding-top:2px;font-size:10px}
html .TabBar--panda a .TabBar__ic,html .TabBar--panda a .TabBar__ic img{width:28px;height:28px}
html .TabBar--panda .TabBar__center i{width:58px;height:58px;margin-top:-26px}
html .TabBar--panda .TabBar__center i img{width:34px;height:34px}
html .TabBar--panda .TabBar__center span{margin-top:3px;font-size:10px}
html .Boot__tab{height:calc(58px + max(4px,calc(var(--sab) - 24px)));padding-bottom:max(4px,calc(var(--sab) - 24px))}
}
/* 激励视频广告：全屏，上面 AD 标 + 声音 + 倒计时（走完才出关闭），下面标题 + 了解更多 */
.AdFull{position:fixed;inset:0;z-index:3000;display:flex;flex-direction:column;justify-content:space-between;background:#000}
.AdFull__v{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;background:#000}
.AdFull__top,.AdFull__bot{position:relative;z-index:1;display:flex;align-items:center;gap:8px;padding:calc(12px + var(--sat,0px)) 14px 12px}
.AdFull__top{background:linear-gradient(rgba(0,0,0,.55),transparent)}
.AdFull__bot{flex-direction:column;align-items:stretch;padding:24px 16px calc(18px + var(--sab,0px));background:linear-gradient(transparent,rgba(0,0,0,.7))}
.AdFull__tag,.PauseAd__tag{padding:2px 6px;border-radius:4px;background:rgba(255,255,255,.85);color:#111;font-size:10px;font-weight:900;letter-spacing:.06em}
.AdFull__mute,.AdFull__x{display:grid;place-items:center;width:34px;height:34px;padding:0;border:0;border-radius:50%;background:rgba(0,0,0,.5);color:#fff;cursor:pointer}.AdFull__mute svg,.AdFull__x svg{width:18px;height:18px}
.AdFull__sp{flex:1}
.AdFull__cnt{padding:7px 12px;border-radius:99px;background:rgba(0,0,0,.55);color:#fff;font-size:13px;font-weight:700;white-space:nowrap}
.AdFull__title{margin:0 0 12px;color:#fff;font-size:17px;text-shadow:0 1px 4px rgba(0,0,0,.6)}
/* 暂停广告：播放器中间一张卡片，可关 */
.PauseAd{position:absolute;inset:0;z-index:6;display:grid;place-items:center;pointer-events:none}
.PauseAd__card{position:relative;width:min(78%,420px);border-radius:14px;overflow:hidden;box-shadow:0 14px 40px rgba(0,0,0,.55);pointer-events:auto;cursor:pointer;animation:pauseAdIn .25s var(--spring,ease-out)}
.PauseAd__card img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;background:#111}
.PauseAd__tag{position:absolute;left:8px;top:8px}
.PauseAd__x{position:absolute;right:6px;top:6px;display:grid;place-items:center;width:28px;height:28px;padding:0;border:0;border-radius:50%;background:rgba(0,0,0,.55);color:#fff;cursor:pointer}.PauseAd__x svg{width:14px;height:14px}
.PauseAd__cta{position:absolute;right:8px;bottom:8px;padding:6px 12px;border-radius:99px;background:var(--accent);color:#fff;font-size:12px;font-weight:700}
@keyframes pauseAdIn{from{opacity:0;transform:scale(.92)}to{opacity:1;transform:none}}
/* SVIP 送剧入口：播放器右侧礼物按钮、会员页「选剧送」、选剧面板 */
.Player__gift img{width:22px;height:22px}
.GiftBox{display:grid;gap:10px;margin:12px 0 0;padding:14px;border-radius:14px;background:rgba(243,194,90,.08);box-shadow:inset 0 0 0 1px rgba(243,194,90,.25)}
.GiftBox .Gift__quota{margin:0;justify-content:flex-start}.GiftBox p{margin:0}
.GiftPick{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;max-height:60vh;overflow-y:auto}
.GiftPick__it{display:flex;flex-direction:column;gap:6px;padding:0;border:0;background:none;color:var(--text);text-align:left;cursor:pointer}
.GiftPick__it img{width:100%;aspect-ratio:3/4;object-fit:cover;border-radius:10px}
.GiftPick__it span{font-size:12px;line-height:16px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
/* 自己画的下拉（替换原生 select）：箭头在框里，弹出列表和站内风格一致 */
.Pick{display:inline-flex;align-items:center;justify-content:space-between;gap:10px;min-width:0;max-width:100%;cursor:pointer;text-align:left;font:inherit;color:var(--text);-webkit-tap-highlight-color:transparent}
.Pick .Pick__v{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.Pick .Pick__chev{display:grid;place-items:center;flex:none;width:18px;height:18px;color:var(--text-3);transition:transform .2s}.Pick .Pick__chev svg{width:16px;height:16px}
.Pick[aria-expanded="true"] .Pick__chev{transform:rotate(180deg)}
.Pick.DramaInput{display:flex;width:100%;height:48px;padding:0 14px;border-radius:12px}
.Pick.SetRow__sel{padding:8px 12px}
#bspeed__pick{height:28px;padding:0 8px 0 10px;gap:4px;border:1px solid rgba(255,255,255,.2);border-radius:8px;background:rgba(0,0,0,.5);color:#fff;font-size:12px}#bspeed__pick .Pick__chev{width:14px;height:14px;color:rgba(255,255,255,.7)}#bspeed__pick .Pick__chev svg{width:12px;height:12px}
.PickPop{z-index:4000;overflow-y:auto;padding:6px;border-radius:14px;background:#1c1c24;box-shadow:0 0 0 1px rgba(255,255,255,.08),0 16px 40px rgba(0,0,0,.55);animation:pickIn .16s ease-out;overscroll-behavior:contain}
.PickPop.up{animation-name:pickInUp}
.PickPop__it{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;min-height:44px;padding:0 12px;border:0;border-radius:10px;background:none;color:var(--text);font:inherit;font-size:15px;text-align:left;cursor:pointer}
.PickPop__it:hover{background:rgba(255,255,255,.06)}
.PickPop__it.on{color:var(--accent);font-weight:700;background:rgba(255,90,126,.1)}.PickPop__it svg{width:18px;height:18px;flex:none}
@keyframes pickIn{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}@keyframes pickInUp{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}
.PickPop__it span{white-space:nowrap}
#bspeed__pick{flex-direction:row;width:auto;min-width:54px;justify-content:center}
#bqual__pick{height:28px;padding:0 8px 0 10px;gap:4px;margin-left:6px;border:1px solid rgba(255,255,255,.2);border-radius:8px;background:rgba(0,0,0,.5);color:#fff;font-size:12px;flex-direction:row;width:auto;min-width:64px;justify-content:center}#bqual__pick .Pick__chev{width:14px;height:14px;color:rgba(255,255,255,.7)}#bqual__pick .Pick__chev svg{width:12px;height:12px}
#bqual__pick[hidden]{display:none}
/* 播放器控制条：圆形按钮的规则（display:grid; width:34px）别套到速度 / 清晰度下拉上 */
.Player__row .Pick{display:inline-flex;flex-direction:row;place-items:normal;width:auto;border-radius:8px}
.Player__row .Pick:hover{background:rgba(0,0,0,.6)}
.Player__row #ptime{white-space:nowrap}
@media(max-width:420px){.Player__row{gap:6px}#bqual__pick{margin-left:0;min-width:58px}#bspeed__pick{min-width:48px}}
.Player__row .Pick svg{width:12px;height:12px}.Player__row .Pick .Pick__chev{align-self:center}
/* 电脑「手机框」模式的播放页：播放器占满一屏高，剧名 / 简介 / 选集排在下面跟着页面滚（之前整页固定一屏高，下面那块被挤成一条还能内部滚动） */
@media(max-width:991.98px){html.in-frame .Watch{height:auto;grid-template-rows:calc(100dvh - var(--header-h) - var(--banner-h) - var(--safe-top) - var(--tabbar-h) - 24px) auto}html.in-frame .Sidebar{overflow:visible}}
/* 播放页网格列宽锁住（minmax(0,1fr)）：之前列宽随内容变，60 集的横排选集把整页撑到几千像素宽（电脑手机框模式下控制条、付费墙都跑到屏幕外） */
.Watch>*{min-width:0}
@media(max-width:991.98px){.Watch{grid-template-columns:minmax(0,1fr)}}
@media(max-width:767.98px){.EpList__list .EpItem__img{width:68px}.EpList__list .EpItem{width:68px}.EpList__list .EpItem__title{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}}   /* 手机横排选集：缩略图固定 68px（之前按图片原尺寸撑到 244px 宽） */
/* ---- 11-01 整体检查修的 ---- */
/* 开关不许被挤窄（之前被压到 32px，打开时白色圆点跑出轨道、压到卡片边框） */
.Switch{flex:none}
/* 我的页「创建账号」按钮不被挤 */
.Account__bal .DramaButton{flex:none;padding-left:16px;padding-right:16px;white-space:nowrap}
/* 任务行：右边按钮放不下时自动换到下一行，不把说明挤成一条 */
.Task{flex-wrap:wrap}.Task__body{flex:1 1 170px}.Task__action{margin-left:auto}
/* For You：右侧按钮列的葡语文字比英文长，简介右边多留空 */
.FY__info{right:96px}.FY__act{max-width:76px;text-align:center}
.FY__chip{background:rgba(0,0,0,.45);color:#fff;box-shadow:inset 0 0 0 1px rgba(255,255,255,.35)}
/* 首页格子：窄屏两列时文字压在图上，左边加一层渐变托底 + 文字阴影 */
.PTile.has-art{position:relative;isolation:isolate}
.PTile.has-art::before{content:"";position:absolute;inset:0;z-index:-1;border-radius:inherit;background:linear-gradient(90deg,rgba(8,8,12,.88) 0%,rgba(8,8,12,.6) 45%,rgba(8,8,12,0) 75%)}
.PTile.has-art b,.PTile.has-art small{position:relative;text-shadow:0 1px 6px rgba(0,0,0,.7)}
/* 推荐 / 列表卡片：封面统一 3:4，卡片高度一致 */
.MovieCover__container{aspect-ratio:3/4;overflow:hidden}.MovieCover__img{width:100%;height:100%;object-fit:cover}
/* PWA（主屏幕打开）状态栏是透明叠在页面上的：弹层不能顶到状态栏下面，否则右上角关闭按钮被电池图标挡住点不到。
   底部弹层最高到状态栏下方再留一点（看得出是弹层、可以下拉/点外面关）；左右抽屉顶部让出状态栏高度 */
.DramaDrawer--bottom .DramaDrawer__wrapper{max-height:calc(100dvh - var(--sat, 0px) - 12px)}
.DramaDrawer--left .DramaDrawer__wrapper,.DramaDrawer--right .DramaDrawer__wrapper{padding-top:var(--sat, 0px)}
.DramaDrawer--left .DramaDrawer__close,.DramaDrawer--right .DramaDrawer__close,.DramaDrawer__close{top:calc(16px + var(--sat, 0px))}
.DramaDrawer--bottom .DramaDrawer__close{top:14px}
/* 用 transform 居中的按钮：按下时的缩放（.DramaButton:active）会覆盖掉居中，iPhone 上按住 / 拖一下就掉下去半个身位；按下时也保留居中 */
.DramaInput__cross:active{transform:translateY(-50%) scale(.96)}
.Carousel__next:active,.Carousel__prev:active{transform:translateY(-50%) scale(.96)}
/* 搜索框里的放大镜和清除按钮放在输入框上层（iOS 输入框带毛玻璃时会盖住） */
.DramaInput__icon{z-index:1;pointer-events:none}.DramaInput__cross{z-index:2}
/* 我的页菜单（照参考站）：每行左边白色实心图标、字大一点、右箭头清楚；第二组「条款与支持」 */
.Account__nav a{align-items:center;gap:14px;font-size:16px;font-weight:400}
.Account__nav a em{flex:1;min-width:0;font-style:normal}
.Account__ic{display:grid;place-items:center;width:24px;height:24px;flex:none;color:var(--text);opacity:.92}
.Account__ic svg{width:22px;height:22px}
.Account__nav a.on .Account__ic{color:var(--accent);opacity:1}
.Account__nav a>span{font-size:20px;line-height:1;color:var(--text-3)}
.Account__nav--legal{margin-top:12px}
@media(min-width:768px){.Account__nav--legal{display:none}}
/* 金币图标（图片）：各处尺寸和原来的 svg 一致 */
.CoinIc{display:inline-block;flex:none;vertical-align:-.2em;object-fit:contain}
.PHeader__coins .CoinIc{width:20px;height:20px}
.Sub__ep .CoinIc{width:18px;height:18px}
.CoinPack__n .CoinIc{width:26px;height:26px}
.Rewards__hero .t31 .CoinIc{width:32px;height:32px}
/* 骨架屏：流光从左往右扫过（原来的明暗呼吸太弱，看起来像卡住了） */
.Boot__notice,.Boot__banner,.Boot__title,.Boot__tiles i,.Boot__chips i,.Boot__grid i,.Boot__btn,.Boot__pill:not(.Boot__pill--pri){
  background:linear-gradient(100deg,rgba(255,255,255,.06) 30%,rgba(255,255,255,.14) 50%,rgba(255,255,255,.06) 70%) 0 0/300% 100%!important;animation:boot-shine 1.3s linear infinite!important}
@keyframes boot-shine{from{background-position:100% 0}to{background-position:0 0}}
@media (prefers-reduced-motion:reduce){.Boot__notice,.Boot__banner,.Boot__title,.Boot__tiles i,.Boot__chips i,.Boot__grid i{animation:none!important}}
/* 按钮处理中（guard）：不可点、变暗、文字旁转圈 */
.is-busy{pointer-events:none;opacity:.65;cursor:progress}
.DramaButton.is-busy::after{content:"";display:inline-block;width:14px;height:14px;margin-left:8px;border-radius:50%;border:2px solid currentColor;border-right-color:transparent;vertical-align:-2px;animation:ptr-spin .7s linear infinite}
/* ===== 广告：插屏 / For You 信息流 / 首页和搜索的广告卡片 ===== */
.AdFull__img{object-fit:contain;background:#000}
.AdFull--inter .AdFull__cnt span{font-weight:500;opacity:.85;margin-right:2px}
.FY__ad{background:#000}
.FY__ad video,.FY__adimg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.FY__adimg{object-fit:contain;background:#000}
.FY__chip--ad{background:rgba(255,255,255,.92)!important;color:#111!important;font-weight:700;letter-spacing:.02em}
.FY__adtitle{display:block;margin:8px 0 12px;color:#fff;font-size:18px;font-weight:700;line-height:24px;text-shadow:0 1px 6px rgba(0,0,0,.6)}
.FeedCard .PCard__img{position:relative}
.FeedCard .PCard__img video,.FeedCard .PCard__img img{width:100%;height:100%;object-fit:cover}
.FeedCard__tag{position:absolute;left:6px;top:6px;padding:2px 7px;border-radius:6px;background:rgba(255,255,255,.92);color:#111;font-size:10.5px;font-weight:700;letter-spacing:.02em}
/* 横幅广告（照参考站 App：礼物页中部、我的 / 片单顶部、锁集页）：约 6.4:1 的圆角条，左上 AD 角标；没广告时整块删掉不留空 */
.AdBanner{position:relative;display:block;width:100%;max-width:728px;margin:12px auto;aspect-ratio:6.4/1;border-radius:10px;overflow:hidden;background:#1f1e29;cursor:pointer}
.AdBanner.is-empty{background:transparent;aspect-ratio:auto;height:0;margin:0}
.AdBanner img,.AdBanner video{width:100%;height:100%;object-fit:cover;display:block}
.AdBanner--net{aspect-ratio:auto;min-height:50px;background:transparent;cursor:auto}
.AdBanner__tag{position:absolute;left:6px;top:6px;padding:1px 6px;border-radius:4px;background:rgba(255,255,255,.88);color:#111;font-size:10px;font-weight:900;letter-spacing:.06em;pointer-events:none}
.Paywall .AdBanner{margin:0 0 14px}
.FeedCard__tag--row{position:static;display:inline-block;margin-top:2px}
.FeedRow .MovieCover video{width:100%;height:100%;object-fit:cover}
/* 支付结果页 / 订阅卡片 */
.PayResult{max-width:460px;margin:40px auto;text-align:center;padding:28px 20px}
.PayResult__ic img{width:72px;height:72px}
.PayResult__act{margin-top:20px;display:grid;justify-items:center}
.SubCard{margin:0 0 18px;padding:16px;border-radius:16px;background:linear-gradient(135deg,rgba(255,90,126,.14),rgba(255,255,255,.04));box-shadow:inset 0 0 0 1px var(--hair)}
.SubCard.is-canceled{background:var(--surface)}
.SubCard__head{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:16px}
.SubCard__tag{padding:2px 9px;border-radius:99px;background:rgba(255,255,255,.12);font-size:12px;font-weight:600}
.SubCard__tag.ok{background:rgba(48,209,88,.18);color:#4cd964}.SubCard__tag.warn{background:rgba(255,159,10,.2);color:#ffb340}
.SubCard__line{margin:8px 0 12px;color:var(--text-2);font-size:14px;line-height:21px}
.SubCard__act{display:flex;flex-wrap:wrap;gap:8px}
/* 谷歌联盟补位广告的容器 */
.FeedNet{min-height:120px;overflow:hidden}.FY__netbox{position:absolute;inset:60px 12px 140px;display:grid;place-items:center;overflow:hidden}
.PauseAd__card--net{min-width:300px;min-height:250px;background:#111;padding:8px}

/* ===== 全屏沉浸式播放器（照参考站 App）===== */
body.in-player{overflow:hidden;overscroll-behavior:none}
body.in-player .LayoutHeader,body.in-player #tabbar,body.in-player .ContBar,body.in-player #contbar,body.in-player .InstallBanner,body.in-player .PFloat,body.in-player .LayoutFooter,body.in-player #ibanner{display:none!important}
/* 容器上的 translateZ 会让 fixed 只铺满容器，播放时去掉 */
body.in-player .Layout__container,body.in-player #app{transform:none!important;animation:none!important;padding:0}body.in-player .Layout{overflow:hidden}
.Imm{position:fixed;inset:0;z-index:1050;overflow:hidden;background:#000;color:#fff;touch-action:none;user-select:none;-webkit-user-select:none}
.Imm__track{position:absolute;inset:0;will-change:transform}
.Imm__stage{position:absolute;inset:0;border-radius:0;box-shadow:none;touch-action:none}
.Imm__stage video,.Imm__stage .Player__poster{object-fit:contain}
.Imm__peek{position:absolute;left:0;right:0;height:100%;background:#000}.Imm__peek--prev{top:-100%}.Imm__peek--next{top:100%}
.Imm__peek img{width:100%;height:100%;object-fit:contain;opacity:.55}
.Imm__peek img[src=""]{display:none}
.Imm video::cue{background:transparent;color:#fff;font-size:18px;line-height:1.35;text-shadow:0 0 3px #000,0 1px 2px #000,0 0 6px rgba(0,0,0,.8)}
/* 顶栏 / 右侧 / 底部控件：.ui-on 时显示，5 秒没操作隐藏 */
.Imm__top,.Imm__rail,.Imm__bot,.Imm .Imm__pp{transition:opacity .25s;opacity:0;pointer-events:none}
.Imm.ui-on .Imm__top,.Imm.ui-on .Imm__rail,.Imm.ui-on .Imm__bot,.Imm.ui-on .Imm__pp{opacity:1;pointer-events:auto}
.Imm__top{position:absolute;top:0;left:0;right:0;z-index:3;display:flex;align-items:center;gap:8px;padding:calc(var(--sat,0px) + 8px) 12px 18px;background:linear-gradient(rgba(0,0,0,.6),transparent)}
.Imm__ic{display:grid;place-items:center;width:40px;height:40px;border:0;border-radius:50%;background:transparent;color:#fff;cursor:pointer}.Imm__ic svg{width:24px;height:24px}
.Imm__title{flex:1;min-width:0;text-align:center;line-height:1.25}.Imm__title b{display:block;overflow:hidden;font-size:16px;white-space:nowrap;text-overflow:ellipsis}.Imm__title span{font-size:13px;color:rgba(255,255,255,.75)}
.Imm__vip{display:grid;place-items:center;width:40px;height:40px}.Imm__vip img{width:32px;height:32px}
.Imm__rail{position:absolute;right:6px;bottom:calc(var(--sab,0px) + 104px);z-index:3;display:flex;flex-direction:column;gap:14px}
.Imm__act{display:flex;flex-direction:column;align-items:center;gap:3px;min-width:56px;padding:0;border:0;background:transparent;color:#fff;font-size:12px;cursor:pointer;text-shadow:0 1px 3px rgba(0,0,0,.7)}
.Imm__act svg,.Imm__act img{width:28px;height:28px;filter:drop-shadow(0 1px 3px rgba(0,0,0,.6))}
.Imm__act.on{color:var(--accent)}
.Imm .Player__center{z-index:2}
/* 中间播放 / 暂停：照参考站 App 的深色实心圆（覆盖旧播放器 .Player__center button 的白色毛玻璃样式） */
.Imm .Player__center .Imm__pp{width:72px;height:72px;padding:0;border:0;border-radius:50%;background:rgba(19,18,29,.86);box-shadow:0 4px 18px rgba(0,0,0,.35);-webkit-backdrop-filter:none;backdrop-filter:none;color:#e4e0f0;transform:none}
.Imm .Player__center .Imm__pp:hover{background:rgba(19,18,29,.92);transform:none}
.Imm .Player__center .Imm__pp svg{width:30px;height:30px;margin:0}.Imm .Player__center .Imm__pp.is-play svg{margin-left:4px}
.Imm .Player__center .Imm__pp[hidden],.Imm .Player__spin[hidden]{display:none}
.Imm__bot{position:absolute;left:0;right:0;bottom:0;z-index:3;padding:28px 14px calc(var(--sab,0px) + 12px);background:linear-gradient(transparent,rgba(0,0,0,.65))}
.Imm__prog{height:22px}
.Imm__row{display:flex;align-items:center;gap:8px;font-size:12px;font-variant-numeric:tabular-nums;color:rgba(255,255,255,.85)}.Imm__row .sp{flex:1}
.Imm__pill{min-width:52px;height:30px;padding:0 12px;border:1px solid rgba(255,255,255,.45);border-radius:999px;background:rgba(0,0,0,.25);color:#fff;font-size:13px;cursor:pointer}
.Imm__pill[hidden]{display:none}
/* 锁定集：底部一条（付费面板关了以后留着），上方插横幅 */
.Imm.locked .Imm__rail,.Imm.locked .Imm__bot,.Imm.locked .Imm__pp,.Imm.locked video{display:none}
.Imm.locked .Player__poster{opacity:.6;filter:blur(2px)}
.Imm__lock{position:absolute;left:0;right:0;bottom:0;z-index:4;padding:16px 16px calc(var(--sab,0px) + 16px);border-radius:var(--r-xl) var(--r-xl) 0 0;background:#1b1a25;text-align:center}
.Imm__lockHead{display:flex;flex-direction:column;gap:4px;margin-bottom:12px}.Imm__lockHead b{font-size:17px}.Imm__lockHead>span{display:inline-flex;gap:4px;align-items:center;justify-content:center;font-size:13px;color:var(--text-2)}.Imm__lockHead img{width:16px;height:16px}
.Imm__lockBtns{display:flex;flex-direction:column;gap:8px}
.Imm__lockAd{position:absolute;left:12px;right:12px;top:calc(var(--sat,0px) + 64px);z-index:3}
/* 弹出菜单（倍速 / 清晰度 / 字幕 / 配音） */
.PopMenu{position:absolute;z-index:6;min-width:168px;max-width:calc(100% - 16px);max-height:46vh;overflow:auto;padding:6px 0;border-radius:8px;background:#1f1f29;box-shadow:0 8px 28px rgba(0,0,0,.5)}
.PopMenu button{display:flex;justify-content:space-between;align-items:center;gap:12px;width:100%;white-space:nowrap;padding:11px 16px;border:0;background:transparent;color:#fff;font-size:14px;text-align:left;cursor:pointer}
.PopMenu button.on{background:#34343f}.PopMenu em{font-style:normal;font-size:11px;font-weight:700;color:var(--accent)}
/* 选集面板（照参考站：一行一集，当前集药丸，锁定写 Locked） */
.EpSheet__head{display:flex;gap:12px;align-items:center;margin-bottom:12px}.EpSheet__head img{width:50px;height:70px;border-radius:8px;object-fit:cover}
.EpSheet__head b{display:block;font-size:16px}.EpSheet__head span{font-size:13px;color:var(--text-2)}
.EpSheet__list{display:flex;flex-direction:column;max-height:60dvh;overflow:auto}
.EpSheet__row{display:flex;text-decoration:none;justify-content:space-between;align-items:center;min-height:49px;padding:0 18px;border:0;border-radius:999px;background:transparent;color:var(--text);font-size:15px;text-align:left;cursor:pointer}
.EpSheet__row.on{background:#bb0064;color:#fff}.EpSheet__row em{font-style:normal;font-size:13px;color:var(--text-3)}
.DramaDrawer--bottom .DramaDrawer__wrapper:has(.Stretch){min-height:0}.Stretch .Auth__text{text-align:left}.Stretch__act{display:flex;justify-content:flex-end;margin-top:8px}
/* 退出推荐页 / 整部看完推荐（照参考站：横向轮播，中间那张放预告） */
.DramaDrawer--full .DramaDrawer__wrapper{inset:0;max-width:none;border-radius:0;background:#14131c;opacity:0;transition:opacity .25s}
.DramaDrawer--full.in .DramaDrawer__wrapper{opacity:1}
.DramaDrawer--full .DramaDrawer__close{left:12px;right:auto;top:calc(var(--sat,0px) + 10px)}
.Reco{display:flex;flex-direction:column;justify-content:center;height:100%;padding:calc(var(--sat,0px) + 64px) 0 calc(var(--sab,0px) + 48px)}
.Reco__title{margin:0 24px;font-family:var(--font-slab,inherit);font-size:26px;line-height:1.2;text-align:center}.Reco__sub{margin:8px 0 20px;font-size:14px;color:var(--text-2);text-align:center}
.Reco__track{display:flex;gap:12px;overflow-x:auto;padding:0 calc(50% - 118px);scroll-snap-type:x mandatory;scrollbar-width:none}.Reco__track::-webkit-scrollbar{display:none}
.Reco__card{position:relative;flex:0 0 236px;height:336px;overflow:hidden;border-radius:10px;background:#000;scroll-snap-align:center;transition:transform .25s}
.Reco__card.far{transform:scale(.9)}
.Reco__media img,.Reco__media video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.Reco__info{position:absolute;left:0;right:0;bottom:0;padding:40px 12px 12px;background:linear-gradient(transparent,rgba(0,0,0,.85))}.Reco__info b{display:block;margin-bottom:8px;font-size:15px}
.Reco__act{display:flex;gap:8px;align-items:center}.Reco__act .DramaButton{flex:1}
.Reco__add{width:36px;height:36px;border:1.5px solid #fff;border-radius:50%;background:transparent;color:#fff;font-size:18px;cursor:pointer}.Reco__add.on{background:#fff;color:#000}

/* ===== 详情页（照参考站 App）：顶部静音预告 + 声音开关、Play: Episode N + ＋片单、锁定集模糊 ===== */
.Details__trailer{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:top;opacity:0;transition:opacity .4s;border-radius:inherit}
.Details__trailer.on{opacity:1}
.Details__mute{position:absolute;top:10px;right:10px;z-index:2;display:grid;place-items:center;width:36px;height:36px;padding:0;border:0;border-radius:50%;background:rgba(0,0,0,.45);color:#fff;cursor:pointer}.Details__mute svg{width:20px;height:20px}
@media(max-width:767.98px){.Details--details .Details__mute{top:26px;right:26px}}
.Details__actions{display:flex;gap:10px;align-items:center}.Details__actions .DramaButton{flex:1;min-width:0}
.Details__add{flex:0 0 auto;display:grid;place-items:center;width:44px;height:44px;padding:0;border:1.5px solid #fff;border-radius:50%;background:transparent;color:#fff;cursor:pointer}.Details__add svg{width:22px;height:22px}
.Details__add.on{background:rgba(255,255,255,.12)}
.EpItem--disabled .EpItem__img{opacity:.6;filter:blur(3px)}
/* 搜索页（照参考站 App）：Top Tags 自动换行的标签块 + 无限下拉的转圈 */
.Search__tags[hidden]{display:none}.Search__tags{margin-bottom:20px}
.Search__chips{display:flex;flex-wrap:wrap;gap:8px}
.Search__chip{height:38px;padding:0 14px;border:0;border-radius:8px;background:#393844;color:#e4e0f0;font-size:14px;cursor:pointer}.Search__chip:active{transform:scale(.97)}
.Search__more{display:grid;place-items:center;min-height:48px}.Search__more .Player__spin{position:static}
/* 居中对话框（签到奖励「Glorious!」） */
.DramaDrawer--center .DramaDrawer__wrapper{top:50%;left:50%;width:min(340px,calc(100% - 48px));min-width:0;padding:28px 22px 22px;border-radius:28px;transform:translate(-50%,-50%) scale(.92);opacity:0;transition:transform .25s var(--ease),opacity .25s}
.DramaDrawer--center.in .DramaDrawer__wrapper{transform:translate(-50%,-50%);opacity:1}
.DramaDrawer--center .DramaDrawer__close{display:none}
.Glory{display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center}.Glory>img{width:72px;height:72px}
.Glory small{font-size:13px;color:var(--text-3)}.Glory h3{font-family:var(--font-slab,inherit);font-size:22px;line-height:1.25}
.Glory__n{display:inline-flex;gap:6px;align-items:center;font-size:30px}.Glory__n img{width:28px;height:28px}
.Glory p{margin-bottom:8px;font-size:14px;color:var(--text-2)}
/* 全屏播放器里暂停广告放在画面上方，不挡中间的 ▶ */
.Imm .PauseAd{inset:auto 0 auto 0;top:calc(var(--sat,0px) + 76px);place-items:start center}
/* 静音兜底播放时的「点一下开声音」 */
.Imm__unmute{position:absolute;left:14px;bottom:calc(var(--sab,0px) + 92px);z-index:5;display:inline-flex;gap:6px;align-items:center;height:36px;padding:0 14px;border:0;border-radius:999px;background:rgba(19,18,29,.86);color:#fff;font-size:14px;white-space:nowrap;cursor:pointer}.Imm__unmute svg{width:18px;height:18px}
.ShareRow__btn.done{opacity:.5;pointer-events:none}p.ShareWait{margin:0}

/* 播放时整页底色也是黑的：iPhone 主屏 App 底部安全区要是露出来，不会看到一条灰边 */
html:has(body.in-player),body.in-player{background:#000}
/* 锁集条按钮：窄屏文字换行，不截断不出屏 */
.Imm__lockBtns .DramaButton{max-width:100%;white-space:normal;height:auto;min-height:44px;line-height:1.25}
/* 播放失败 / 网慢：中间提示 + 重试 */
.Imm__err{pointer-events:auto;display:flex;flex-direction:column;align-items:center;gap:12px;max-width:260px;padding:18px 20px;border-radius:16px;background:rgba(19,18,29,.9);text-align:center}.Imm__err p{margin:0;font-size:14px;line-height:1.4;color:#fff}
.FY__err{display:none;position:absolute;left:50%;top:42%;z-index:3;flex-direction:column;gap:6px;align-items:center;padding:14px 18px;border:0;border-radius:14px;background:rgba(19,18,29,.88);color:#fff;font-size:14px;transform:translate(-50%,-50%);cursor:pointer}.FY__err b{color:var(--accent)}
.FY__item.err .FY__err{display:flex}
.Rewards__rules{margin:8px 0 0;padding-left:18px;font-size:14px;line-height:1.6;color:var(--text-2)}
/* 只给读屏和搜索引擎看的文字（首页 H1） */
.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
/* 服务器直出给爬虫的正文：前端接管前被启动画面盖着，不显示 */
.Prerender{visibility:hidden}
/* 付费面板：今天付多少 / 之后每期多少 / 怎么取消，三行写清楚 */
.Sub__sum{display:flex;flex-direction:column;gap:6px;margin:12px 0 4px;padding:12px 14px;border-radius:12px;background:rgba(255,255,255,.06);font-size:14px}
.Sub__sum>div{display:flex;justify-content:space-between;gap:12px}.Sub__sum span{color:var(--text-2)}.Sub__sum b{text-align:right}
.Details__tags a{color:inherit;text-decoration:none}.Details__tags li:active{transform:scale(.97)}
.Details__age{padding:0 6px;border:1px solid currentColor;border-radius:4px;font-size:11px;font-weight:700;line-height:18px}
.Imm__age{font-style:normal;font-size:11px;font-weight:700;opacity:.85}
/* 弹层后面的页面压暗一些，别透出文字干扰 */
.DramaDrawer.in{background-color:rgba(0,0,0,.78)}
/* 手机上页脚最后一行别被底部导航盖住 */
@media(max-width:767.98px){body:has(#tabbar) .LayoutFooter{padding-bottom:calc(84px + var(--sab,0px))}}
/* 窄卡片（推荐 3 列）上 Exclusivo 和播放量两个角标会挤在一起：有 Exclusivo 时不显示播放量 */
@media(max-width:767.98px){.Suggest__list .MovieCover--exclusive .MovieCover__views{display:none}}
/* 付费面板顶部的免费 / 金币解锁按钮：一行一个，窄屏文字换行 */
.Sub__free{display:flex;flex-direction:column;gap:8px;padding:4px 20px 12px}
.Sub__free .DramaButton{width:100%;max-width:100%;min-height:44px;height:auto;white-space:normal;line-height:1.25}
/* 已签到：深色胶囊 + 时钟 + 倒计时（照参考站 App「⏱ 20:41:35」） */
.CkDone{display:inline-flex;align-items:center;justify-content:center;gap:8px;width:100%;min-height:48px;padding:0 18px;border:0;border-radius:999px;background:#282732;box-shadow:inset 0 0 0 1px rgba(255,255,255,.08);color:#e4e0f0;font-size:15px;cursor:default}
.CkDone svg{width:18px;height:18px;color:var(--accent)}.CkDone b{font-variant-numeric:tabular-nums;font-weight:700;color:#fff}
