:root{--bg:#0c171c;--text:#f4f4ec;--muted:#c1cdce;--focus:#e6f279;--ink:#18211d;--border:#637377;--radius:4px;--fast:180ms;--ease:cubic-bezier(.2,.75,.25,1)}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:"PingFang SC","Microsoft YaHei",sans-serif;overflow:hidden}button{border:0;font:inherit;cursor:pointer;color:inherit;background:none;padding:0;outline:none}button:active{transform:scale(.97)}button{transition:transform 120ms var(--ease),background-color var(--fast),color var(--fast)}[x-cloak]{display:none!important}.tv{width:1920px;height:1080px;position:absolute;left:50%;top:50%;transform:translate(-50%,-50%) scale(var(--tv-scale,1));transform-origin:center;overflow:hidden}.view{position:absolute;inset:0}.backdrop{position:absolute;inset:0;pointer-events:none}.backdrop>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 35%}.home .backdrop{bottom:185px}.home-shade{position:absolute;inset:0;background:linear-gradient(180deg,#0712187a 0%,transparent 28%,#0c171c33 42%,#0c171c 86%)}.navigation{position:absolute;left:94px;right:100px;top:52px;display:flex;gap:25px;align-items:center}.navigation button{font-size:31px;color:var(--muted);height:66px;padding:10px 22px;border-radius:var(--radius);font-weight:500}.navigation .current{color:var(--focus);font-weight:600}.navigation button:focus{background:#263536;color:var(--text)}.nav-context{margin-left:auto;font-size:26px;color:#e4e8e3}.film-copy{position:absolute;top:322px;left:100px;right:100px}.film-facts{display:flex;gap:28px;align-items:center;font-size:27px;color:var(--muted)}.quality{display:inline-block;border:1.5px solid #b3c1c3;border-radius:3px;font-size:23px;padding:1px 8px;line-height:1.3;color:var(--text)}h1{font-family:"Songti SC","STSong","SimSun",serif;font-size:100px;letter-spacing:10px;font-weight:600;line-height:1.3;margin:25px 0 18px}.logline{font-size:29px;color:#e0e6e2;margin:0;line-height:1.6;max-width:1100px}.shelf{position:absolute;left:100px;right:100px;top:654px}.shelf-head{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:28px;font-size:26px;color:var(--muted)}.shelf-head h2{font-weight:500;font-size:32px;margin:0;color:var(--text)}.shelf-count{display:flex;gap:17px;font-variant-numeric:tabular-nums}.slash{color:#829396}.poster-row{display:flex;gap:34px}.poster{flex:0 0 404px;height:263px;position:relative;text-align:left;border-radius:var(--radius);background:#26373c;overflow:hidden}.poster>img{width:100%;height:100%;object-fit:cover;display:block}.poster-shade{position:absolute;inset:0;background:linear-gradient(0deg,#051217e6 0%,#05121780 25%,transparent 60%)}.poster-title{position:absolute;left:25px;bottom:50px;font-size:36px;font-family:"Songti SC","STSong",serif;font-weight:600;letter-spacing:3px}.poster-meta{position:absolute;left:25px;bottom:19px;font-size:24px;color:#e0e8e5}.focus-label{position:absolute;top:17px;right:17px;background:var(--focus);color:var(--ink);padding:9px 12px;border-radius:2px;font-size:23px;display:flex;gap:10px;align-items:center}.ok{font-family:Arial,sans-serif;font-size:17px;border:1.5px solid var(--ink);border-radius:3px;padding:1px 3px;font-weight:700}.watched{position:absolute;left:25px;right:25px;top:23px;font-size:22px;pointer-events:none}.watched span{background:#0c171cd9;padding:4px 8px}.watched i{position:absolute;top:236px;height:3px;left:0;right:0;background:#8e9a9a}.watched i:after{content:"";display:block;height:100%;width:var(--progress);background:var(--focus)}.remote-help{position:absolute;left:100px;bottom:42px;font-size:25px;display:flex;gap:18px;align-items:center;color:var(--muted)}.arrows{letter-spacing:5px;font-size:29px}.key{padding:1px 8px;border:1px solid #7c8c91;border-radius:4px;font-size:22px;margin-left:24px}.focus-ring{position:absolute;z-index:20;border:6px solid var(--focus);border-radius:10px;pointer-events:none;transition:opacity 150ms}.focus-ring.first-ring{transition:none}.home .backdrop,.home .navigation{animation:appear 360ms var(--ease) both}.home .film-copy{animation:arrive 420ms var(--ease) both}.home .shelf{animation:appear 420ms 70ms var(--ease) both}.detail-scene img{object-position:center 35%}.detail-shade{position:absolute;inset:0;background:linear-gradient(0deg,var(--bg) 12%,#0c171cdd 32%,transparent 85%),linear-gradient(90deg,#0c171cc9 5%,#0c171c88 38%,transparent 75%)}.back-button{position:absolute;left:100px;top:54px;font-size:29px;padding:12px 16px;border-radius:var(--radius);display:flex;gap:20px;align-items:center}.back-button span{font-size:39px}.detail-copy{position:absolute;left:100px;top:180px;max-width:1190px}.detail-copy h1{margin-top:24px;margin-bottom:20px}.synopsis{font-size:29px;line-height:1.65;margin:0;max-width:1080px;text-wrap:pretty}.credits{display:flex;gap:38px;color:var(--muted);font-size:25px;margin-top:22px}.detail-actions{display:flex;gap:30px;margin-top:34px}.primary{display:flex;align-items:center;gap:18px;justify-content:center;background:var(--focus);color:var(--ink);font-size:29px;font-weight:600;padding:22px 30px;border-radius:var(--radius);min-height:83px}.primary svg{width:32px;height:32px}.secondary{display:flex;align-items:center;gap:17px;font-size:28px;padding:22px 26px;background:#344346;color:var(--text);border-radius:var(--radius)}.secondary span:first-child{font-size:32px}.storage-message{font-size:25px;background:#243034;color:#fff6da;padding:12px 18px;position:absolute;top:100%;left:0;z-index:30}.episodes{position:absolute;left:100px;right:100px;top:694px}.episode-row{display:flex;gap:34px}.episode{width:404px;flex:none;position:relative;text-align:left}.episode-image{height:178px;position:relative;overflow:hidden;background:#294048;border-radius:4px}.episode-image img{width:100%;height:100%;object-fit:cover}.episode-image:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#06131988,transparent 65%)}.episode-no,.duration,.episode-watch{position:absolute;z-index:1;font-size:23px;background:#0c171ccc;padding:4px 9px;border-radius:2px}.episode-no{left:16px;top:14px}.duration{right:16px;bottom:14px}.episode-watch{left:16px;bottom:14px;color:var(--focus)}.episode-name{display:block;font-size:29px;line-height:1.4;padding-top:17px;color:var(--text)}.episode-pages{display:flex;justify-content:flex-end;align-items:center;gap:24px;color:var(--muted);font-size:24px;margin-top:13px}.page-button{font-size:25px;padding:8px 14px;border-radius:3px;background:#2a3a40}.detail-help{bottom:33px}.detail{animation:appear 350ms var(--ease) both}.player-picture{position:absolute;inset:0;overflow:hidden}.player-picture img{width:100%;height:100%;object-fit:cover}.player-picture.running img{animation:cinemaDrift 50s linear infinite alternate}.player-shade{position:absolute;inset:0;background:linear-gradient(180deg,#07121988 0,transparent 23%,transparent 48%,#071219c9 68%,#071219f2 100%)}.player-top{position:absolute;left:100px;right:100px;top:54px;display:flex;align-items:center;justify-content:space-between}.player-back{display:flex;gap:20px;align-items:center;font-size:30px;padding:10px 18px;border-radius:4px}.player-back>span:first-child{font-size:39px}.now-episode{font-size:27px}.subtitle{position:absolute;left:0;right:0;bottom:398px;margin:0;text-align:center;font-size:37px;letter-spacing:1px;text-shadow:0 2px 8px #000;font-weight:500}.playback-panel{position:absolute;left:100px;right:100px;bottom:53px}.timeline-label{display:flex;justify-content:space-between;color:#edf0eb;font-size:27px;margin-bottom:23px;font-variant-numeric:tabular-nums}.timeline-label b{font-weight:500}.time-divider{margin:0 17px;color:var(--muted)}.progress-track{position:relative;width:100%;height:40px;display:block;margin-bottom:35px;border-radius:4px}.progress-track:before{content:"";position:absolute;left:0;right:0;top:16px;height:6px;background:#8f9da0;border-radius:3px}.track-fill{position:absolute;left:0;top:16px;height:6px;background:var(--focus);border-radius:3px;max-width:100%}.track-head{position:absolute;top:7px;width:24px;height:24px;border-radius:100%;background:var(--focus);transform:translateX(-50%)}.player-controls{display:flex;justify-content:space-between;align-items:center;gap:25px}.transport{display:flex;gap:30px;align-items:center}.pause{min-width:184px;padding:23px 27px}.seek-button{font-size:27px;display:flex;gap:13px;align-items:center;padding:23px 20px;border-radius:4px;background:#203137b3}.seek-button>span{font-size:35px}.next-episode{display:flex;width:493px;height:134px;align-items:center;text-align:left;gap:22px;background:#22333ad9;padding:12px;border-radius:4px}.next-episode img{width:158px;height:110px;object-fit:cover;border-radius:2px}.next-episode span{flex:1}.next-episode small{font-size:23px;color:#d1dad8;display:block;margin-bottom:11px}.next-episode strong{font-size:29px;font-weight:500;display:block}.next-episode svg{width:30px;height:30px;margin-right:10px}.player-help{display:flex;gap:32px;margin-top:45px;align-items:center;font-size:24px;color:var(--muted)}.player-help .quality{margin-left:auto}.seek-toast{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);background:#0c171cde;padding:24px 40px;font-size:34px;border-radius:4px}.player{animation:appear 350ms var(--ease) both}
@keyframes appear{from{opacity:0}to{opacity:1}}@keyframes arrive{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@keyframes detailIn{from{opacity:0;transform:translateX(24px)}to{opacity:1;transform:translateX(0)}}@keyframes cinemaDrift{from{transform:scale(1.025) translateX(-.5%)}to{transform:scale(1.06) translateX(.5%)}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}.reduced *{animation:none!important;transition:none!important}
/* Leave a clear lane below the moving focus frame. */
.shelf{top:630px}
.episode-pages{position:absolute;right:0;top:-9px;margin:0}
.episodes .shelf-head>span{margin-right:330px}

/* Film identity lives in its title; controls remain one family. */
h1.film-title-1{font-family:"Hiragino Sans GB","PingFang SC",sans-serif;font-size:90px;font-weight:800;letter-spacing:13px}
h1.film-title-2{font-family:"PingFang SC","Microsoft YaHei",sans-serif;font-size:96px;font-weight:300;letter-spacing:9px}
h1.film-title-3{font-family:"Kaiti SC","STKaiti",serif;font-size:102px;font-weight:500;letter-spacing:5px}
.poster-title.film-title-1{font-family:"Hiragino Sans GB","PingFang SC",sans-serif;font-size:33px;font-weight:800;letter-spacing:4px}
.poster-title.film-title-2{font-family:"PingFang SC",sans-serif;font-size:36px;font-weight:300;letter-spacing:4px}
.poster-title.film-title-3{font-family:"Kaiti SC","STKaiti",serif;font-size:38px;font-weight:500;letter-spacing:2px}
