/* Short drama screens; existing player, membership wall and actions remain shared. */
.ds-cast-list{display:flex;gap:13px;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:none;padding:0 0 5px}.ds-cast-list::-webkit-scrollbar{display:none}.ds-cast-item{flex:0 0 74px;width:74px;text-align:center;min-width:0}.ds-cast-item img{display:block;width:74px;height:99px;object-fit:cover;border-radius:9px;background:#252530}.ds-cast-item span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;color:#dedee8;margin-top:7px}
#seriesPage{display:none;position:fixed;inset:0;z-index:14;background:#08080c;color:#f7f7fa;overflow:auto;padding:var(--safe-t) 0 calc(22px + var(--safe-b));overscroll-behavior:contain;scrollbar-width:none}
#seriesPage.on{display:block}#seriesPage.detail{z-index:18;padding-bottom:calc(24px + env(safe-area-inset-bottom,0px))}
#seriesPage button,#seriesOverlay button,#seriesPlayer button{font:inherit;color:inherit;cursor:pointer;border:0;background:none}
#seriesPage h2,#seriesPage h3,#seriesOverlay h3{margin:0}#seriesPage h2{font-size:23px}#seriesPage h3{font-size:16px}
.ds-head{display:flex;align-items:center;justify-content:space-between;padding:21px 18px 16px}.ds-head h2{font-size:28px!important}.ds-sub{font-size:12px;color:#93939f;margin-top:5px}.ds-tag{background:#22222c;border-radius:6px;font-size:10px;color:#b2b2bd;padding:3px 7px;display:inline-block;margin-right:5px}.ds-head>.ds-tag{border-radius:22px;padding:7px 10px}
.ds-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px 10px;padding:0 16px}.ds-card{text-align:left;min-width:0;padding:0}.ds-cover{width:100%;aspect-ratio:3/4;object-fit:cover;display:block;border-radius:8px;background:#22222c}.ds-card strong{display:block;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:7px}.ds-meta{display:flex;justify-content:space-between;gap:4px;font-size:10px;color:#93939f;margin-top:5px}.ds-rating{color:#ffd278}.ds-views{font-size:10px;color:#777784;margin-top:3px}.ds-more{display:block;margin:22px auto!important;color:#9797a4!important;font-size:12px!important;padding:9px 20px!important}.ds-more[hidden]{display:none!important}
.ds-top{display:flex;height:52px;align-items:center;justify-content:space-between;padding:0 14px;font-weight:600}.ds-icon{display:grid;place-items:center;width:34px;height:34px;padding:0;font-size:25px!important;line-height:1}.ds-pad{padding:0 18px}.ds-hero{position:relative;display:flex;gap:16px;padding-top:14px}.ds-hero>.ds-cover{width:110px;height:152px;flex-shrink:0}.ds-hero h2{margin:0 0 9px!important;overflow-wrap:anywhere}.ds-hero-info{min-width:0}.ds-score{margin-top:12px;color:#ffd278;font-size:12px}.ds-score b{font-size:29px;line-height:1}.ds-score small{font-size:10px;color:#8e8e9d;margin-left:5px}.ds-info{font-size:11px;color:#aaaab7;margin-top:10px}.ds-intro{font-size:12px;color:#b5b5c2;line-height:1.85;margin:18px 0;white-space:pre-wrap;overflow-wrap:anywhere}.ds-intro button{color:#eee!important;font-size:12px!important;padding:0}
.ds-primary{display:flex!important;align-items:center;justify-content:center;gap:7px;width:100%;height:46px;border-radius:12px;background:#fe2c55!important;color:#fff!important;font-size:14px!important;font-weight:600!important}.ds-secondary{height:43px;border-radius:11px;background:#2b2b36!important;font-size:13px!important;padding:0 14px!important}.ds-primary:disabled{opacity:.45;cursor:default!important}.ds-section{display:flex;justify-content:space-between;align-items:center;margin:23px 0 13px}.ds-section h3 small{font-weight:400;color:#92929e;font-size:11px;margin-left:5px}.ds-link{font-size:12px!important;color:#a5a5b4!important;padding:0}
.ds-episodes{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px}.ds-ep{background:#1c1c26!important;border-radius:9px;height:43px;font-size:12px!important;color:#c8c8d4!important;min-width:0}.ds-ep.on{background:#38202c!important;color:#ff7492!important;box-shadow:inset 0 0 0 1px #ef4673}.ds-ep small{font-size:9px}.ds-stats{background:linear-gradient(120deg,#242029,#181820);border:1px solid #302a36;border-radius:13px;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:14px}.ds-stats .ds-score{margin:0}.ds-stats .ds-score b{font-size:33px}.ds-stats p{font-size:10px;color:#91919f;margin:5px 0 0}.ds-stars{color:#ffd278;letter-spacing:2px;font-size:15px}.ds-write{color:#ff7393!important;border:1px solid #673244!important;border-radius:8px;padding:7px 10px!important;font-size:11px!important;white-space:nowrap}
.ds-review{padding:17px 0;border-bottom:1px solid #252530}.ds-user{display:flex;gap:9px;align-items:center}.ds-user button{padding:0;text-align:left}.ds-avatar{height:32px;width:32px;flex-shrink:0;object-fit:cover;border-radius:50%;background:#344455;display:grid;place-items:center;font-size:12px}.ds-uname{font-size:12px}.ds-user small{font-size:10px;color:#81818f;display:block;margin-top:2px}.ds-mine{font-size:9px;background:#372330;color:#ff9bb5;padding:1px 4px;border-radius:4px;margin-left:5px}.ds-review-rating{font-size:10px;color:#ffd278;margin-top:8px;letter-spacing:1px}.ds-review p{font-size:12px;color:#d8d8e4;line-height:1.8;margin:8px 0 0;white-space:pre-wrap;overflow-wrap:anywhere}.ds-state{text-align:center;padding:80px 25px;color:#8c8c9a;font-size:12px;line-height:1.9}.ds-state h3{color:#eee;margin:12px 0!important}.ds-state .ds-primary{max-width:150px;margin:20px auto 0}.ds-state.compact{padding:28px 12px}.ds-error{font-size:12px;color:#ffacbf;padding:10px;border-radius:8px;background:#42222f;margin:12px 0}.ds-skeleton .ds-cover,.ds-skeleton i{display:block;background:linear-gradient(120deg,#20202a,#2b2b37,#20202a);border-radius:7px}.ds-skeleton i{height:11px;margin-top:10px;width:80%}.ds-skeleton{pointer-events:none}
#seriesOverlay{position:fixed;inset:0;z-index:45;display:none;background:#0009;backdrop-filter:blur(2px)}#seriesOverlay.on{display:block}.ds-sheet{position:absolute;bottom:0;left:0;right:0;background:#181820;border:1px solid #34333e;border-radius:23px 23px 0 0;padding:10px 20px calc(24px + env(safe-area-inset-bottom,0px));max-height:calc(100% - var(--safe-t) - 12px);overflow:auto}.ds-handle{width:33px;height:4px;background:#555461;border-radius:4px;margin:0 auto 17px}.ds-sheet-hd{display:flex;justify-content:space-between;align-items:center;gap:10px}.ds-sheet h3{font-size:17px}.ds-sheet .ds-sub{margin-bottom:18px}.ds-sheet .ds-episodes{margin:16px 0 22px}.ds-ranges{display:flex;gap:8px;overflow:auto;white-space:nowrap}.ds-ranges button{font-size:11px!important;padding:8px!important;color:#aaa!important}.ds-ranges button.on{color:#ff6b90!important;border-bottom:2px solid #fe2c55!important}.ds-rate{display:flex;justify-content:center;gap:14px;padding:8px 0}.ds-rate button{font-size:37px!important;color:#555260!important;padding:0!important;line-height:1.2}.ds-rate button.on{color:#ffd278!important}.ds-rate-label{text-align:center;font-size:12px;color:#ffd278;margin:10px 0 21px}.ds-input{width:100%;height:130px;resize:none;border:1px solid #393844;border-radius:12px;background:#22222d;color:#eee;font:12px/1.8 inherit;font-family:inherit;font-size:12px;line-height:1.8;padding:13px;outline:0}.ds-input:focus{border-color:#ac435e}.ds-count{font-size:10px;color:#90909d;display:flex;justify-content:space-between;margin:8px 0 18px}.ds-sheet .ds-primary{margin-top:15px}.ds-note{font-size:11px;color:#92929e;line-height:1.8;margin-top:13px}.ds-dialog{position:absolute;top:50%;left:24px;right:24px;transform:translateY(-50%);background:#25252f;border:1px solid #3b3945;border-radius:20px;padding:25px 22px;text-align:center}.ds-dialog h3{font-size:18px;margin:0}.ds-dialog p{font-size:12px;line-height:1.9;color:#aaaab8;margin:14px 0 23px}.ds-dialog-actions{display:flex;gap:10px}.ds-dialog-actions button{flex:1;height:43px}
#seriesPlayer{display:none;position:fixed;inset:0;pointer-events:none;z-index:14}body.series-playing #seriesPlayer{display:block}#seriesPlayer button{pointer-events:auto}#seriesPlayer .ds-player-top{position:absolute;top:calc(8px + var(--safe-t));left:10px;right:10px;display:flex;align-items:center;gap:10px;font-size:13px;text-shadow:0 1px 4px #000}.ds-player-context{position:absolute;top:calc(54px + var(--safe-t));left:calc(16px + var(--safe-l));right:calc(132px + var(--safe-r));pointer-events:auto;display:flex;gap:8px}.ds-player-context button{background:#181820aa!important;border:1px solid #ffffff24!important;border-radius:9px;padding:8px 10px!important;font-size:11px!important;backdrop-filter:blur(8px)}.ds-player-context button:first-child{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:left}.ds-next{position:absolute;top:calc(54px + var(--safe-t));right:calc(16px + var(--safe-r));bottom:auto;white-space:nowrap;background:#222b!important;border-radius:12px;padding:9px 13px!important;font-size:12px!important}
body.series-playing{--tabh:0px}body.series-playing #tabbar,body.series-playing #nav,body.series-playing #subhd,body.series-playing #author,body.series-playing #btnBack,body.series-playing #btnDiscover{display:none!important}body.bare #seriesPlayer{display:none!important}
@media(min-width:700px){#seriesPage{max-width:720px;margin:auto;border-inline:1px solid #252530}.ds-grid{gap:22px 16px}.ds-card strong{font-size:15px}.ds-meta,.ds-views{font-size:12px}.ds-sheet,.ds-dialog{max-width:520px;margin:auto}.ds-sheet{left:0;right:0}.ds-dialog{width:calc(100% - 48px)}}

/* Both physical landscape and the TG CSS rotation use playerTools logical coordinates. */
#seriesOverlay{pointer-events:auto}
body.landscape-ui #seriesPlayer .ds-player-top{top:calc(8px + var(--play-safe-t));left:calc(10px + var(--play-safe-l));right:calc(152px + var(--play-safe-r));min-width:0}
body.landscape-ui #seriesPlayer .ds-player-top span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
body.landscape-ui #seriesPlayer .ds-player-context{top:calc(50px + var(--play-safe-t));left:calc(12px + var(--play-safe-l));right:auto;max-width:calc(100% - var(--play-safe-l) - var(--play-safe-r) - 160px)}
body.landscape-ui #seriesPlayer .ds-player-context button{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}
body.landscape-ui #seriesPlayer .ds-next{top:calc(50px + var(--play-safe-t));right:calc(12px + var(--play-safe-r));bottom:auto}
body.landscape-ui #playerTools #seriesOverlay .ds-sheet{left:var(--play-safe-l);right:var(--play-safe-r);width:auto;max-width:none;max-height:calc(100% - var(--play-safe-t) - var(--play-safe-b) - 8px);padding:8px 18px calc(12px + var(--play-safe-b))}
body.landscape-ui #playerTools #seriesOverlay .ds-handle{margin-bottom:5px}
body.landscape-ui #playerTools #seriesOverlay .ds-sub{margin-bottom:4px}
body.landscape-ui #playerTools #seriesOverlay .ds-episodes{grid-template-columns:repeat(10,minmax(0,1fr));gap:7px;margin:10px 0}
body.landscape-ui #playerTools #seriesOverlay .ds-ep{height:35px}
body.landscape-ui #playerTools #seriesOverlay .ds-primary{margin-top:10px;height:40px}

body.landscape-ui #playerTools #seriesOverlay .ds-sheet{bottom:var(--play-safe-b);padding-bottom:12px;display:flex;flex-direction:column;overflow:hidden}
body.landscape-ui #playerTools #seriesOverlay .ds-handle,body.landscape-ui #playerTools #seriesOverlay .ds-sheet-hd,body.landscape-ui #playerTools #seriesOverlay .ds-sub,body.landscape-ui #playerTools #seriesOverlay .ds-ranges,body.landscape-ui #playerTools #seriesOverlay .ds-primary{flex-shrink:0}
body.landscape-ui #playerTools #seriesOverlay .ds-episodes{min-height:0;overflow-y:auto;flex-shrink:1;align-content:start;grid-auto-rows:35px}
body.landscape-ui #playerTools #seriesOverlay .ds-ranges button:only-child{display:none}

/* Keep portrait episode controls and the UI toggle clear of the entire seek track. */
body.series-playing:not(.landscape-ui) #hideui{top:calc(8px + var(--safe-t));bottom:auto}
body.series-playing:not(.landscape-ui) #seriesPlayer .ds-player-top{right:calc(58px + var(--safe-r));min-width:0}
body.series-playing:not(.landscape-ui) #seriesPlayer .ds-player-top span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ds-card-cover{position:relative}
.ds-update{position:absolute;top:6px;right:5px;padding:3px 5px;border-radius:5px;background:#ff7496;color:#2d0a19;font-size:11px;font-weight:700;white-space:nowrap}
.ds-ep-new{margin-left:3px;color:#ff91ac;font-size:10px;font-weight:700}
