/* Shared visual direction with Android 8. Keep movie imagery, navigation and playback first. */
:root{color-scheme:light;--bg:#f7f6f3;--surface:#fff;--surface2:#eeede9;--ink:#252629;--muted:#686b68;--line:#e2e2dc;--accent:#c44931;--on-accent:#fff;--accent-wash:#fff0e9;--radius:20px;--shadow:0 12px 40px #27242008}
:root[data-theme=dark]{color-scheme:dark;--bg:#151619;--surface:#202226;--surface2:#292c30;--ink:#f1f0ec;--muted:#a0a29f;--line:#33363b;--accent:#ff876f;--on-accent:#251a16;--accent-wash:#3c2925;--shadow:none}

body{font-family:"PingFang SC","Noto Sans CJK SC","Microsoft YaHei",sans-serif;-webkit-font-smoothing:antialiased}button,a,input,select{touch-action:manipulation}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.eyebrow{display:none}
.header{max-width:1360px;height:88px;padding:0 40px;border:0;background:var(--bg)}.brand{gap:12px;font-size:24px}.brand-mark{width:44px;height:44px;border-radius:12px;background:none;object-fit:contain}.brand small{font-size:10px;letter-spacing:0;color:var(--muted);margin-top:4px}.header nav{gap:6px}.header nav a{font-size:14px;min-height:44px;padding:10px 19px;border-radius:10px}.header nav a.active{background:var(--accent-wash);color:var(--accent)}#theme{height:44px;width:44px;border:0;background:transparent}
main{max-width:1320px;padding:16px 40px 64px}.page-top{margin-bottom:17px}.page-top h1{font-size:30px;line-height:1.3;letter-spacing:-.6px}.page-top p{font-size:12px;margin-top:7px}.page-top .icon-button{width:44px;height:44px}.discovery-search{display:flex;align-items:center;gap:11px;max-width:620px;height:48px;padding:0 15px;border-radius:11px;background:var(--surface);color:var(--muted);font-size:14px;margin-bottom:17px}.discovery-search svg{width:20px;height:20px}.discovery-search span:last-child{margin-left:auto;font-size:12px;color:var(--accent)}
#categories{border-bottom:1px solid var(--line);border-radius:0;gap:28px;padding:0;overflow:auto;scrollbar-width:none}#categories button{padding:8px 0 11px;min-height:44px;min-width:44px;border-radius:0;background:transparent;font-size:14px;border:0;border-bottom:2px solid transparent;color:var(--muted)}#categories button.active{color:var(--ink);font-weight:600;border-bottom-color:var(--accent)}
.hero-wrap{margin:20px 0 28px}.hero{height:334px;border-radius:16px;display:block;isolation:isolate;background:#252629}.hero:after{display:none}.hero-slide{position:absolute;inset:0;overflow:hidden;opacity:0;transform:translateX(18px);transition:opacity .48s ease,transform .6s cubic-bezier(.22,.61,.36,1);pointer-events:none;z-index:0}.hero-slide.active{opacity:1;transform:translateX(0);pointer-events:auto;z-index:1}.hero-slide:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#252629 0%,#252629f2 20%,#25262980 62%,#25262910 100%);pointer-events:none}.hero-image{position:absolute;inset:0 0 0 auto;width:64%;height:100%;object-fit:cover;object-position:center 33%;filter:none}.hero-copy{position:relative;z-index:2;height:100%;max-width:64%;padding:35px 40px 46px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center}.hero h2{font-size:36px;font-weight:700;line-height:1.3;letter-spacing:0;margin:12px 0 10px;max-width:95%;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.hero p{font-size:12px;line-height:1.65;color:#e2dcd5;margin-bottom:21px}.hero .tag{background:none;border:0;padding:0;font-size:12px;color:#f1ddd3}.hero .primary{background:#fff;color:#9f3626;font-size:13px;min-height:42px;border-radius:8px;padding:10px 17px}.hero-dots{bottom:18px;left:36px;z-index:2;gap:0}.hero-dots button{height:30px;width:24px;min-width:24px;background:none;position:relative;border:0;border-radius:0}.hero-dots button:after{content:"";display:block;position:absolute;width:4px;height:4px;border-radius:4px;background:#ffffff70;left:10px;top:13px;transition:width .25s,left .25s}.hero-dots button.active{background:none;width:24px}.hero-dots button.active:after{width:18px;left:3px;background:#fff}.hero-controls{right:15px;bottom:15px;z-index:3;gap:7px}.hero-controls button{height:36px;width:36px;background:#18161480;backdrop-filter:blur(8px);border:0}.hero-controls svg{width:16px;height:16px}
.section{margin-top:30px}.section-head{margin-bottom:15px;min-height:30px}.section-head h2{font-size:21px;letter-spacing:-.25px}.section-head small{font-size:11px}.section-head button{font-size:12px;min-height:40px;color:var(--muted)}.grid{gap:26px 18px}.poster{border-radius:10px;box-shadow:none;background:var(--surface2)}.poster-caption{font-size:11px;padding:25px 9px 8px;background:linear-gradient(transparent,#101824bb)}.card h3{font-size:15px;line-height:1.5;font-weight:600;margin:9px 0 4px}.card p{font-size:11px;color:var(--muted)}.rating{font-size:12px;line-height:1.3;top:8px;right:8px;border-radius:5px;background:#27231fdd;color:#ffcf9a;padding:3px 6px}.rating.unrated{display:inline-flex;width:max-content;height:auto;min-width:0;min-height:0;max-width:calc(100% - 16px);padding:4px 6px;font-size:9px;line-height:1.3;color:#e9e5df;white-space:nowrap}.film-shelf .grid{display:grid;grid-auto-flow:column;grid-template-columns:none;grid-auto-columns:calc((100% - 90px)/6);overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:9px;scrollbar-width:thin}.film-shelf .card{scroll-snap-align:start}
.resume-row{gap:12px;scroll-snap-type:x mandatory;scrollbar-width:thin;padding-bottom:7px}.resume-card{flex:0 0 310px;display:flex;gap:12px;padding:12px;background:var(--surface);border:0;border-radius:12px;scroll-snap-align:start}.resume-card img{width:48px;height:70px;object-fit:cover;border-radius:7px;flex:none}.resume-card>div{flex:1;min-width:0}.resume-card strong{font-size:14px;font-weight:600}.resume-card small{display:block;font-size:10px;line-height:1.5;margin-top:5px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.resume-card>svg{width:22px;height:22px;flex:none;color:var(--accent)}.resume-progress{display:block;height:3px;border-radius:3px;margin-top:8px;background:var(--surface2);overflow:hidden}.resume-progress i{display:block;height:100%;background:var(--accent);border-radius:3px}
.search-shell{margin:4px 0 22px}.search-box{border-radius:12px;min-height:56px;border:1px solid var(--line);box-shadow:none;padding:7px 8px 7px 16px}.search-box input{font-size:15px}.search-box .primary{font-size:12px;min-height:42px;padding:9px 21px;border-radius:8px}.suggestions button{min-height:44px;padding:8px 16px;font-size:13px;border:0;background:var(--surface);border-radius:9px}.filters select{font-size:12px;min-height:42px;border-radius:8px}.search-advanced summary{font-size:12px;min-height:44px}.search-status{font-size:12px;min-height:28px}.primary,.secondary{border-radius:9px;min-height:44px;font-size:13px}.primary{box-shadow:none}.empty{max-width:600px;margin:35px auto;padding:36px 20px;background:transparent;border:0}.empty h2{font-size:21px}.empty p{font-size:13px;line-height:1.8}
.stage{border-radius:13px;background:#080e18}.stage video{width:100%;height:100%;object-fit:contain}.stage-idle{padding:20px;max-width:100%;text-align:center}.stage-idle strong{font-size:18px}.stage-idle p{font-size:12px;line-height:1.8;max-width:480px}.stage-idle .primary{min-height:44px}.player-controls{padding:30px 12px 8px;background:linear-gradient(transparent,rgba(0,0,0,.78));transition:opacity .18s ease}.timeline{padding:0 4px;height:28px;display:flex;align-items:center}.timeline input{--seek:0%;--buffer:0%;appearance:none;-webkit-appearance:none;display:block;width:100%;min-width:0;height:26px;background:transparent;margin:0;cursor:pointer;touch-action:none}.timeline input::-webkit-slider-runnable-track{height:3px;border-radius:3px;background:linear-gradient(to right,#b5caee 0 var(--seek),#ffffff80 var(--seek) var(--buffer),#ffffff40 var(--buffer) 100%)}.timeline input::-webkit-slider-thumb{appearance:none;-webkit-appearance:none;width:13px;height:13px;border:0;border-radius:50%;background:white;margin-top:-5px;box-shadow:0 0 3px #0005}.timeline input::-moz-range-track{height:3px;background:#ffffff55;border-radius:3px}.timeline input::-moz-range-progress{height:3px;background:#b5caee}.timeline input::-moz-range-thumb{height:13px;width:13px;border:0;background:white;border-radius:50%}.timeline input:disabled{opacity:.4;cursor:default}.player-row{gap:5px;min-height:36px}.player-row button{min-width:36px;min-height:36px;height:36px;font-size:12px;color:#fff;border-radius:6px}.player-row svg{width:20px;height:20px}.player-row button:disabled{opacity:.35}.player-row .time{font-size:11px;font-variant-numeric:tabular-nums;color:#f1f5fa;white-space:nowrap}.player-row select{font-size:12px;height:34px;border-radius:6px;background:#ffffff15;border:0;color:white;min-width:65px}.player-row select option{color:#17243a}.player-options{border-top:0;gap:10px}.player-options>button{min-width:48px}.watch-title h1{font-size:26px;line-height:1.4}.watch-title{align-items:center}.watch-aside{border-radius:12px;box-shadow:none;border:1px solid var(--line);background:var(--surface);max-height:680px}.aside-heading h2{font-size:16px}.source-note{font-size:11px;line-height:1.7}.source-row{border-radius:9px;min-height:60px;gap:8px;padding:11px;border-color:var(--line)}.source-row strong{font-size:13px}.source-row small,.source-row .signal{font-size:10px}.source-row.active{background:var(--accent-wash);border-color:var(--accent)}.episodes button{min-height:44px;border-radius:8px;font-size:12px}.synopsis{font-size:13px;line-height:1.9}.metadata,.people{font-size:12px}.detail-score{font-size:12px;min-height:0;width:max-content;padding:4px 7px;border-radius:5px}.panel{border:1px solid var(--line);border-radius:16px;box-shadow:none}.panel h1{font-size:26px}.panel input{min-height:48px;border-radius:9px;font-size:14px}.account-wrap{max-width:460px}
#bootRecovery{position:fixed;inset:0;z-index:100;background:var(--bg);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:30px;text-align:center}#bootRecovery h2{font-size:22px}#bootRecovery p{font-size:13px;color:var(--muted);line-height:1.8}#bootRecovery button{min-height:48px;padding:10px 25px;border-radius:9px;background:var(--accent);color:var(--on-accent);margin-top:15px}
@media(max-width:1100px) and (min-width:761px){main{padding-left:30px;padding-right:30px}.header{padding-left:30px;padding-right:30px}.grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:24px 16px}.film-shelf .grid{grid-template-columns:none;grid-auto-columns:calc((100% - 48px)/4);gap:16px}.hero{height:290px}.hero-copy{max-width:74%;padding-left:30px}.hero h2{font-size:32px}.detail-grid{grid-template-columns:1fr}.watch-aside{max-height:none}.source-list{grid-template-columns:repeat(3,minmax(0,1fr))}.watch-title h1{font-size:25px}}
@media(max-width:760px){.header{height:78px;padding:0 20px}.brand{font-size:23px;gap:11px}.brand-mark{width:40px;height:40px}.brand small{font-size:9px}main{padding:8px 20px 110px}.page-top h1{font-size:27px}.page-top{margin-bottom:16px}.page-top p{font-size:11px}.discovery-search{height:48px;font-size:13px;margin-bottom:14px}#categories{gap:21px}#categories button{font-size:13px}.hero-wrap{margin:18px 0 24px}.hero{height:220px;border-radius:14px}.hero-image{width:70%}.hero-copy{padding:21px 22px 33px;max-width:90%}.hero h2{font-size:24px;margin:8px 0 7px}.hero p{font-size:10px;margin-bottom:12px}.hero .tag{font-size:10px}.hero .primary{font-size:11px;min-height:38px;padding:8px 13px}.hero-copy svg{width:14px;height:14px}.hero-dots{left:18px;bottom:8px}.hero-controls{right:11px;bottom:10px;gap:5px}.hero-controls button{width:32px;height:32px}.hero-controls svg{width:15px;height:15px}.section{margin-top:26px}.section-head h2{font-size:19px}.grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:22px 12px}.film-shelf .grid{grid-template-columns:none;grid-auto-columns:calc((100% - 24px)/3);gap:12px}.poster{border-radius:9px}.card h3{font-size:13px;margin-top:8px}.card p{font-size:10px}.poster-caption{font-size:9px;padding:22px 7px 6px}.rating{font-size:11px;top:6px;right:6px;padding:3px 5px}.rating.unrated{font-size:8px;padding:4px 5px;max-width:calc(100% - 12px)}.resume-card{flex-basis:min(310px,88%)}.bottom-nav{min-height:65px;gap:0;padding:7px 12px max(8px,env(safe-area-inset-bottom));box-shadow:none;border-top:1px solid var(--line)}.bottom-nav a{min-height:48px;gap:4px;font-size:10px;color:var(--muted);border-radius:10px}.bottom-nav a.active{background:transparent;color:var(--accent)}.bottom-nav a.active svg{stroke-width:2.1}.bottom-nav svg{width:22px;height:22px}.search-box{min-height:56px}.search-box input{font-size:14px}.search-box .primary{padding:8px 16px;min-height:40px}.stage{margin:0 -20px;border-radius:0;width:calc(100% + 40px);aspect-ratio:16/9}.player-controls{padding:26px 8px 5px}.player-row{gap:3px;min-height:32px}.player-row button{height:32px;min-height:32px;min-width:32px;font-size:11px}.player-row .time{font-size:10px}.player-row svg{width:18px;height:18px}.player-options{gap:9px}.player-options>button{min-width:44px}.player-row select{height:32px;font-size:11px;min-width:63px}.stage-idle{padding:14px}.stage-idle strong{font-size:16px}.stage-idle p{font-size:11px;margin:0}.stage-idle .primary{font-size:12px;min-height:40px}.watch-title{margin-top:20px}.watch-title h1{font-size:24px}.watch-aside{padding:16px;border:0;border-radius:12px}.source-list{grid-template-columns:repeat(2,minmax(0,1fr))}.source-row{min-height:64px;padding:10px;gap:5px}.source-row strong{font-size:12px}.source-row small,.source-row .signal{font-size:9px}.episodes{grid-template-columns:repeat(5,minmax(0,1fr))}.panel{padding:24px}.panel h1{font-size:25px}}
@media(max-width:359px){main{padding-left:16px;padding-right:16px}.header{padding-left:16px;padding-right:16px}.hero h2{font-size:22px}.hero-copy{padding-left:18px}.grid{gap:20px 9px}.card h3{font-size:12px}.stage{margin:0 -16px;width:calc(100% + 32px)}.player-row .time{font-size:9px}.player-options{gap:5px}.source-list{grid-template-columns:1fr}}
.stage:fullscreen{width:100%;height:100%;margin:0;border-radius:0;aspect-ratio:auto}.stage:fullscreen .player-controls{padding-left:max(20px,env(safe-area-inset-left));padding-right:max(20px,env(safe-area-inset-right));padding-bottom:max(12px,env(safe-area-inset-bottom));max-height:160px}.stage:fullscreen .player-row button{min-height:40px;min-width:40px;height:40px}.stage:fullscreen .player-row .time{font-size:12px}.stage:fullscreen .player-row select{font-size:13px;min-height:36px}.stage:fullscreen .player-options{gap:16px}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

.browse-sort{display:flex;gap:8px;margin:8px 0 22px}.browse-sort button{font-size:12px;min-height:44px;padding:8px 15px;background:transparent;border:1px solid var(--line);border-radius:8px;color:var(--muted)}.browse-sort button.active{background:var(--soft);border-color:var(--accent);color:var(--accent)}.stage:not(.seek-ready) .timeline{visibility:hidden}

/* A small visible glyph inside a full finger-sized carousel target. */
.hero-wrap{padding-bottom:40px}.hero-controls{bottom:40px;right:6px;gap:0}.hero-controls button{width:48px;height:48px}.hero-dots{left:50%;bottom:0;transform:translateX(-50%);height:40px}.hero-dots button,.hero-dots button.active{width:44px;min-width:44px;height:44px}.hero-dots button:after{left:20px;top:20px;background:var(--line)}.hero-dots button.active:after{left:13px;width:18px;background:var(--accent)}.hero .primary{min-height:48px}.browse-sort button.active{background:var(--accent-soft)}
@media(max-width:760px){.hero h2{font-size:22px;line-height:1.3}.hero-controls{bottom:40px;right:4px;gap:0}.hero-controls button{width:48px;height:48px}.hero-dots{left:50%;bottom:0}.player-controls{padding-top:16px}.player-row button{min-width:40px;min-height:40px;height:40px}.player-row select{height:40px}.player-row{min-height:40px}.player-options>button{min-width:44px}}

/* 4.1: video controls belong to the browser; page actions remain outside it. */
.discovery-search,.search-shell,.search-box{width:100%;max-width:none}
.hero .hero-image{inset:0;width:100%;object-position:72% 30%}
.hero .hero-slide:after{background:linear-gradient(90deg,#1c1917e8 0%,#1c1917b5 25%,#1c19174d 52%,#1c191700 82%),linear-gradient(0deg,#1c19174d,transparent 65%)}
.hero .hero-copy{max-width:58%}.hero .primary{color:#9f3626}
.stage{background:#111}.stage video{display:block;position:relative;z-index:1;touch-action:auto}.stage-idle{z-index:2}.stage-idle.hidden{display:none}
.watch-actions{display:flex;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid var(--line);margin-bottom:12px;font-size:12px}
.watch-actions>button{min-height:44px;padding:8px 12px;border:1px solid var(--line);border-radius:8px;background:var(--surface)}.watch-actions .spacer{flex:1}
.watch-actions select{border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--ink);min-height:44px;padding:6px}
.launch-cover{position:fixed;inset:0;background:var(--bg);z-index:90;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:15px;pointer-events:none;animation:launch-out .2s .68s both}
.launch-cover img{width:76px;height:76px;animation:frame-reveal .55s cubic-bezier(.2,.7,.3,1) both}.launch-cover strong{font-size:25px;letter-spacing:2px;animation:word-reveal .45s .12s both}.launch-cover small{color:var(--muted);font-size:12px;animation:word-reveal .45s .2s both}
@keyframes frame-reveal{from{opacity:0;transform:translateY(12px) rotate(-8deg)}to{opacity:1;transform:none}}@keyframes word-reveal{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@keyframes launch-out{to{opacity:0;visibility:hidden}}
@media(max-width:760px){.hero .hero-copy{max-width:90%}.hero .hero-image{object-position:68% 28%}.watch-actions{gap:6px}.watch-actions>button{padding:7px 9px}.watch-actions label{font-size:0}.watch-actions select{font-size:12px}}
@media(prefers-reduced-motion:reduce){.launch-cover{display:none}}

:root{--accent-soft:var(--accent-wash)}

/* 5.2.0 polish: smoother interactions, clearer feedback, softer mobile navigation. */
html{scroll-behavior:smooth}
.card{transition:transform .22s ease}
.card .poster{transition:box-shadow .22s ease,transform .22s ease}
@media(hover:hover){
.card:hover{transform:translateY(-4px)}
.card:hover .poster{box-shadow:0 14px 34px #27242024}
:root[data-theme=dark] .card:hover .poster{box-shadow:0 14px 34px #00000066}
}
.header nav a,.chips button,.icon-button,.primary,.secondary,.text-button{transition:background-color .18s ease,color .18s ease,box-shadow .18s ease}
.primary:active,.secondary:active,.icon-button:active{transform:scale(.96)}
.poster img{transition:opacity .3s ease}
.bottom-nav{backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
@media(prefers-reduced-motion:reduce){
html{scroll-behavior:auto}
.card,.card .poster,.poster img,.primary,.secondary,.icon-button{transition:none}
}
