:root {
  --bg:#0a0a0a; --surface:#111111; --card:#161616; --card-hover:#1d1d1d;
  --border:rgba(255,255,255,.08); --line:rgba(255,255,255,.12);
  --orange:#f97316; --orange-lt:#fdba74; --orange-dk:#c2410c; --orange-dim:rgba(249,115,22,.18);
  --text:#f2f2f2; --muted:#9a9a9a; --dim:#5c5c5c; --white:#ffffff;
  --r-sm:6px; --r:12px; --r-lg:18px;
  --shadow:0 8px 28px rgba(0,0,0,.55);
  --glow:0 0 22px rgba(249,115,22,.28);
  --t:.18s ease;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{background:var(--bg);color:var(--text);font-family:ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;min-height:100vh;overflow-x:hidden;font-size:15px}
::-webkit-scrollbar{width:5px;height:5px}
::-webkit-scrollbar-thumb{background:var(--orange-dk);border-radius:3px}
a{text-decoration:none;color:inherit}
img{display:block;max-width:100%}
button{font-family:inherit;cursor:pointer}
.navbar{position:relative;z-index:2;height:auto;min-height:52px;background:var(--bg);border-bottom:0;display:flex;align-items:center;padding:calc(14px + env(safe-area-inset-top,0px)) 5vw 14px;gap:16px}
.logo{font-family:"Space Grotesk",sans-serif;font-weight:700;font-size:24px;display:flex;align-items:center;gap:8px;letter-spacing:-0.02em;color:#eceef1;text-decoration:none;line-height:1;flex-shrink:0}
.logo .marks{display:flex;gap:6px;font-size:14px;letter-spacing:2px;line-height:1}
.logo .marks span:nth-child(1){color:#e8b64c}
.logo .marks span:nth-child(2){color:#5b8def}
.logo .marks span:nth-child(3){color:#e05d5d}
.logo .marks span:nth-child(4){color:#5fd6a4}
.nav-links{list-style:none;display:flex;gap:1.15rem;align-items:center}
.nav-links a{color:var(--muted);font-size:.84rem;font-weight:500;transition:color var(--t)}
.nav-links a:hover,.nav-links a.active{color:var(--white)}
.nav-search{flex:1;max-width:380px;margin-left:auto;position:relative}
.nav-search input{width:100%;background:var(--card);border:1px solid var(--border);border-radius:var(--r);padding:.5rem 1rem .5rem 2.35rem;color:var(--text);font-size:.85rem;outline:none}
.nav-search input:focus{border-color:var(--orange)}
.nav-search input::placeholder{color:var(--dim)}
.search-icon{position:absolute;left:.72rem;top:50%;transform:translateY(-50%);color:var(--dim);pointer-events:none;display:flex}
.search-drop{position:absolute;top:calc(100% + 8px);left:0;right:0;background:var(--card);border:1px solid var(--border);border-radius:var(--r);overflow:hidden;display:none;z-index:200;box-shadow:var(--shadow)}
.search-drop.open{display:block}
.sdrop-item{display:flex;align-items:center;gap:.7rem;padding:.65rem 1rem;cursor:pointer}
.sdrop-item:hover{background:var(--card-hover)}
.sdrop-item img{width:38px;height:54px;object-fit:cover;border-radius:var(--r-sm);flex-shrink:0;background:#222}
.sdrop-title{font-size:.82rem;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sdrop-meta{font-size:.72rem;color:var(--dim);margin-top:2px}
.nav-burger{display:none;background:none;border:1px solid var(--border);color:var(--text);width:36px;height:36px;border-radius:8px}
#app{padding-top:0;min-height:100vh}
.hero{position:relative;width:100%;height:520px;overflow:hidden}
.hero-bg{position:absolute;inset:0;background-size:cover;background-position:center 20%;filter:grayscale(.35) contrast(1.05);transition:background-image .6s ease}
.hero-shade{position:absolute;inset:0;background:linear-gradient(to right,rgba(10,10,10,.96) 28%,rgba(10,10,10,.42) 68%,transparent 100%),linear-gradient(to top,#0a0a0a 0%,transparent 42%)}
.hero-content{position:absolute;bottom:2.4rem;left:2.4rem;max-width:520px}
.hero-genres{display:flex;gap:.4rem;flex-wrap:wrap;margin-bottom:.75rem}
.hero-genre{font-size:.7rem;font-weight:600;padding:.2rem .65rem;border-radius:100px;background:var(--orange-dim);border:1px solid rgba(249,115,22,.4);color:var(--orange-lt)}
.hero-title{font-size:clamp(1.6rem,4vw,2.4rem);font-weight:800;line-height:1.15;letter-spacing:-.4px;margin-bottom:.65rem}
.hero-desc{font-size:.85rem;color:var(--muted);line-height:1.6;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin-bottom:.9rem}
.hero-stats{display:flex;gap:1.25rem;margin-bottom:1.1rem;flex-wrap:wrap}
.hero-stat-label{color:var(--dim);font-size:.7rem;margin-bottom:1px}
.hero-stat-val{font-weight:600;font-size:.82rem}
.hero-dots{position:absolute;bottom:1.25rem;right:2rem;display:flex;gap:.4rem}
.hero-dot{width:6px;height:6px;border-radius:50%;background:rgba(255,255,255,.25);cursor:pointer}
.hero-dot.on{background:var(--orange);width:20px;border-radius:3px}
.btn{display:inline-flex;align-items:center;gap:.45rem;padding:.6rem 1.25rem;border-radius:var(--r);font-size:.875rem;font-weight:600;border:none;transition:all var(--t)}
.btn svg{width:14px;height:14px;fill:currentColor}
.btn-primary{background:var(--orange);color:#fff}
.btn-primary:hover{background:var(--orange-lt);box-shadow:var(--glow)}
.btn-ghost{background:rgba(255,255,255,.07);border:1px solid var(--line);color:var(--text)}
.btn-ghost:hover{background:rgba(255,255,255,.12)}
.btn-sm{padding:.38rem .85rem;font-size:.8rem}
.home-wrap,.page-wrap{padding:2rem 2rem 4rem;max-width:1400px;margin:0 auto}
.genre-bar{display:flex;gap:.5rem;overflow-x:auto;padding-bottom:.25rem;scrollbar-width:none;margin-bottom:2rem}
.genre-bar::-webkit-scrollbar{display:none}
.genre-chip{flex-shrink:0;padding:.38rem 1rem;border-radius:100px;font-size:.78rem;font-weight:600;cursor:pointer;border:1px solid var(--border);background:var(--card);color:var(--muted)}
.genre-chip:hover,.genre-chip.on{border-color:var(--orange);color:var(--text)}
.section-row{margin-bottom:2.5rem}
.section-row-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.1rem}
.section-row-title{font-size:1.05rem;font-weight:700}
.section-row-more{font-size:.78rem;color:var(--muted);font-weight:500}
.section-row-more:hover{color:var(--orange)}
.card-row{display:flex;gap:.85rem;overflow-x:auto;padding-bottom:.5rem;scrollbar-width:none}
.card-row::-webkit-scrollbar{display:none}
.card-row .acard{flex:0 0 148px;width:148px}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(155px,1fr));gap:1rem}
.acard{position:relative;border-radius:var(--r);overflow:hidden;background:var(--card);aspect-ratio:3/4;cursor:pointer;transition:transform var(--t),box-shadow var(--t)}
.acard:hover{transform:translateY(-4px) scale(1.02);box-shadow:0 10px 32px rgba(0,0,0,.55)}
.acard img{width:100%;height:100%;object-fit:cover;filter:grayscale(.12)}
.acard:hover img{filter:grayscale(0)}
.acard-info{position:absolute;bottom:0;left:0;right:0;padding:.7rem;background:linear-gradient(transparent,rgba(0,0,0,.9))}
.acard-title{font-size:.78rem;font-weight:600;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.acard-meta{font-size:.68rem;color:var(--dim);margin-top:3px}
.acard-score{color:var(--orange-lt)}
.acard-play{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:42px;height:42px;background:rgba(249,115,22,.9);border-radius:50%;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity var(--t)}
.acard:hover .acard-play{opacity:1}
.acard-play svg{width:16px;height:16px;fill:#fff;margin-left:2px}
.acard-heart{position:absolute;top:.5rem;right:.5rem;width:30px;height:30px;border-radius:50%;background:rgba(0,0,0,.55);border:none;color:rgba(255,255,255,.55);display:flex;align-items:center;justify-content:center;cursor:pointer;opacity:0;z-index:3}
.acard:hover .acard-heart{opacity:1}
.acard-heart.saved{opacity:1;color:var(--orange);background:var(--orange-dim)}
.acard-heart svg{width:14px;height:14px;fill:currentColor}
.skel{background:linear-gradient(90deg,var(--card) 25%,var(--card-hover) 50%,var(--card) 75%);background-size:200% 100%;animation:shim 1.4s infinite;border-radius:var(--r)}
@keyframes shim{0%{background-position:200% 0}100%{background-position:-200% 0}}
.page-title{font-size:1.55rem;font-weight:800;letter-spacing:-.3px}
.page-sub{font-size:.85rem;color:var(--muted);margin-top:.3rem;margin-bottom:1.5rem}
.banner{position:relative;height:320px;overflow:hidden}
.banner-img{width:100%;height:100%;object-fit:cover;object-position:center 20%;filter:grayscale(.3)}
.banner-shade{position:absolute;inset:0;background:linear-gradient(to top,var(--bg) 0%,rgba(10,10,10,.5) 55%,rgba(10,10,10,.2) 100%)}
.detail-wrap{max-width:1200px;margin:0 auto;padding:0 2rem 4rem}
.detail-head{display:flex;gap:2rem;margin-top:-90px;position:relative;z-index:1;align-items:flex-end}
.detail-poster{width:155px;min-width:155px;height:225px;object-fit:cover;border-radius:var(--r);border:3px solid var(--bg);box-shadow:var(--shadow)}
.detail-title{font-size:1.8rem;font-weight:800;line-height:1.2}
.detail-alt{font-size:.875rem;color:var(--muted);margin-top:.25rem}
.stats{display:flex;flex-wrap:wrap;gap:1.5rem;margin:.9rem 0}
.stat-val{font-size:1.15rem;font-weight:700}
.stat-val.accent{color:var(--orange)}
.stat-key{font-size:.68rem;color:var(--dim);text-transform:uppercase;letter-spacing:.06em;margin-top:2px}
.gchips{display:flex;flex-wrap:wrap;gap:.45rem;margin:.7rem 0}
.gchip{background:var(--orange-dim);border:1px solid rgba(249,115,22,.35);color:var(--orange-lt);padding:.22rem .75rem;border-radius:100px;font-size:.72rem;font-weight:500;cursor:pointer}
.synopsis{font-size:.875rem;color:var(--muted);line-height:1.8;margin:1.2rem 0}
.detail-body{display:grid;grid-template-columns:1fr 280px;gap:2rem;margin-top:1.5rem}
.info-box{background:var(--card);border-radius:var(--r);padding:1.2rem;margin-bottom:1.2rem;border:1px solid var(--border)}
.info-box-title{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--dim);margin-bottom:.9rem}
.info-row{display:flex;justify-content:space-between;padding:.38rem 0;border-bottom:1px solid var(--border);font-size:.8rem}
.info-row:last-child{border-bottom:none}
.info-k{color:var(--dim)}
.info-v{font-weight:500;text-align:right;max-width:60%}
.site-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:.65rem}
.site-btn{display:flex;align-items:center;gap:.7rem;background:var(--card);border:1px solid var(--border);border-radius:var(--r);padding:.75rem .9rem;transition:all var(--t)}
.site-btn:hover{border-color:var(--orange);background:var(--card-hover)}
.site-btn.top{border-color:rgba(249,115,22,.35)}
.site-ico{width:32px;height:32px;border-radius:7px;background:var(--orange);color:#fff;display:flex;align-items:center;justify-content:center;font-size:.72rem;font-weight:800;flex-shrink:0}
.site-name{font-size:.84rem;font-weight:600}
.site-desc{font-size:.68rem;color:var(--dim);margin-top:1px}
.tag-pills{display:flex;gap:.45rem;flex-wrap:wrap;margin:0 0 1.2rem}
.tag-pill{padding:.32rem .8rem;border-radius:100px;border:1px solid var(--border);background:var(--card);color:var(--muted);font-size:.75rem;font-weight:600;cursor:pointer}
.tag-pill.on{border-color:var(--orange);color:var(--white);background:var(--orange-dim)}
.logbox{background:#070707;border:1px solid var(--border);border-radius:var(--r);padding:1rem;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.75rem;color:#cfcfcf;height:240px;overflow:auto;white-space:pre-wrap}
.meter{height:6px;background:#1a1a1a;border-radius:4px;overflow:hidden;margin:.8rem 0}
.meter > span{display:block;height:100%;background:var(--orange);width:0%;transition:width .2s}
.empty{text-align:center;padding:4rem 2rem;color:var(--muted);grid-column:1/-1}
.empty-title{font-size:1.05rem;font-weight:600;margin-bottom:.45rem}
.empty-body{font-size:.85rem;color:var(--dim)}
.toast{position:fixed;bottom:1.75rem;right:1.75rem;background:var(--card);border:1px solid var(--border);border-left:3px solid var(--orange);padding:.7rem 1.2rem;border-radius:var(--r);font-size:.85rem;z-index:9999;box-shadow:var(--shadow)}
.about-card{background:var(--card);border:1px solid var(--border);border-radius:var(--r-lg);padding:1.4rem;margin-bottom:1rem}
.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:.75rem;margin:1.2rem 0}
.kpi{background:var(--card);border:1px solid var(--border);border-radius:var(--r);padding:1rem}
.kpi b{display:block;font-size:1.3rem;color:var(--orange)}
.kpi span{font-size:.72rem;color:var(--dim);text-transform:uppercase;letter-spacing:.05em}
.rel-row{display:flex;gap:.7rem;overflow-x:auto;padding-bottom:.4rem}
.rel-card{flex:0 0 90px;cursor:pointer}
.rel-card img{width:90px;height:128px;object-fit:cover;border-radius:8px;background:#222}
.rel-card span{display:block;font-size:.68rem;margin-top:.3rem;color:var(--muted);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.feat-box{border:1px solid rgba(249,115,22,.28);border-radius:var(--r-lg);padding:1.25rem;background:linear-gradient(135deg,rgba(249,115,22,.06) 0%,transparent 100%);margin-bottom:2.5rem}
.watch-layout{display:grid;grid-template-columns:1fr 300px;gap:1.2rem;max-width:1440px;margin:0 auto;padding:1.2rem 1.5rem 2.5rem}
.player-box{position:relative;width:100%;height:calc(100vh - 170px);min-height:420px;background:#000;border-radius:var(--r-lg);overflow:hidden;border:1px solid var(--border)}
.player-box video{position:absolute;inset:0;width:100%;height:100%;background:#000;object-fit:contain}
.qsel{background:#161616;color:#fff;border:1px solid var(--border);border-radius:100px;padding:.32rem .7rem;font-size:.75rem;font-weight:700;outline:none}
.player-msg{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:2rem;text-align:center;color:var(--muted);font-size:.88rem;line-height:1.6}
.ctrl-bar{display:flex;align-items:center;flex-wrap:wrap;gap:.6rem;margin:.85rem 0 0}
.ctrl-title{font-weight:700;font-size:.9rem;flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pill-row{display:flex;gap:.35rem;flex-wrap:wrap}
.pill{padding:.3rem .85rem;border-radius:100px;font-size:.75rem;font-weight:600;border:1px solid var(--border);background:var(--card);color:var(--muted);cursor:pointer}
.pill:hover{border-color:var(--orange);color:var(--text)}
.pill.on{background:var(--orange);border-color:var(--orange);color:#fff}
.pill:disabled{opacity:.35;pointer-events:none}
.src-bar{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;margin-top:.6rem;font-size:.75rem;color:var(--dim)}
.src-btn{padding:.28rem .75rem;border-radius:100px;font-size:.72rem;font-weight:600;border:1px solid var(--border);background:var(--card);color:var(--muted);cursor:pointer}
.src-btn:hover{border-color:var(--orange);color:var(--text)}
.src-btn.on{background:var(--orange);border-color:var(--orange);color:#fff}
.nav-hint{background:var(--orange-dim);border:1px solid rgba(249,115,22,.25);border-radius:var(--r-sm);padding:.55rem .9rem;font-size:.78rem;color:var(--muted);margin-top:.7rem;line-height:1.5}
.ep-sidebar{background:var(--card);border-radius:var(--r);height:calc(100vh - 170px);min-height:420px;display:flex;flex-direction:column;overflow:hidden;position:sticky;top:74px;border:1px solid var(--border)}
.ep-sidebar-head{padding:.9rem 1.1rem;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;flex-shrink:0}
.ep-sidebar-head span:last-child{font-size:.72rem;color:var(--dim)}
.ep-list{overflow-y:auto;flex:1}
.ep-row{display:flex;align-items:center;gap:.7rem;padding:.7rem 1.1rem;border-bottom:1px solid var(--border);cursor:pointer}
.ep-row:hover{background:var(--card-hover)}
.ep-row.on{background:var(--orange-dim);border-left:3px solid var(--orange)}
.ep-num{font-size:.82rem;font-weight:700;color:var(--orange-lt);min-width:42px}
.ep-name{font-size:.78rem;font-weight:500}
.ep-sub{font-size:.68rem;color:var(--dim);margin-top:2px}
.ep-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(52px,1fr));gap:.4rem;margin:1rem 0 1.4rem}
.epb{aspect-ratio:1;background:var(--card);border:1px solid var(--border);color:var(--muted);border-radius:var(--r-sm);font-size:.78rem;font-weight:600;display:flex;align-items:center;justify-content:center;cursor:pointer}
.epb:hover{border-color:var(--orange);color:var(--text)}
.epb.done{background:var(--orange-dim);border-color:rgba(249,115,22,.28);color:var(--orange-lt)}
.epb.cur{background:var(--orange);border-color:var(--orange);color:#fff}
.trailer-wrap{position:relative;width:100%;padding-top:56.25%;border-radius:var(--r);overflow:hidden;background:#000;margin:1rem 0 1.4rem;border:1px solid var(--border)}
.trailer-wrap iframe{position:absolute;inset:0;width:100%;height:100%;border:none}
.char-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(84px,1fr));gap:.7rem;margin:.7rem 0 1.2rem}
.char-card{text-align:center}
.char-card img{width:70px;height:70px;border-radius:50%;object-fit:cover;border:2px solid var(--border);background:var(--card);margin:0 auto}
.char-card span{display:block;font-size:.68rem;color:var(--muted);margin-top:.35rem;line-height:1.3}
.pager{display:flex;gap:.5rem;justify-content:center;margin:1.5rem 0 0}
@media(max-width:1024px){.detail-body{grid-template-columns:1fr}.watch-layout{grid-template-columns:1fr}.ep-sidebar{position:static;max-height:320px;height:auto;min-height:0}.player-box{height:auto;padding-bottom:56.25%;min-height:0}}
@media(max-width:768px){
  .hero{height:420px}.hero-content{left:1.2rem;right:1.2rem;bottom:1.6rem}
  .nav-links{display:none}.nav-burger{display:flex;align-items:center;justify-content:center}
  .nav-links.open{display:flex;flex-direction:column;position:absolute;top:62px;left:0;right:0;background:#0d0d0d;border-bottom:1px solid var(--border);padding:1rem;z-index:800}
  .detail-head{flex-direction:column;align-items:flex-start;margin-top:-50px}
  .home-wrap,.page-wrap{padding:1.25rem 1rem 3rem}
}

.skip{position:absolute;left:-999px;top:8px;background:var(--orange);color:#fff;padding:.5rem .9rem;border-radius:8px;z-index:2000;font-weight:700}
.skip:focus{left:8px}
.topbar{position:fixed;top:0;left:0;right:0;z-index:910;height:26px;background:#0d0d0d;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;padding:0 1.5rem;font-size:.68rem;letter-spacing:.06em;text-transform:uppercase;color:var(--dim)}
.topbar b{color:var(--orange-lt);font-weight:700;letter-spacing:.08em}
.topbar .hub-links{display:flex;gap:.7rem;overflow-x:auto}
.topbar .hub-links a{color:var(--orange-lt);white-space:nowrap}
.navbar{top:0}
#app{padding-top:62px}
.nav-links.open{top:88px}
.site-footer{border-top:1px solid var(--border);background:#0c0c0c;padding:3rem 1.5rem 1.5rem;margin-top:0}
.foot-grid{max-width:1400px;margin:0 auto;display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:2rem}
.foot-brand{font-weight:800;font-size:1.15rem;margin-bottom:.6rem}
.foot-brand .xyz{color:var(--orange)}
.foot-brand .ps{color:var(--orange-lt)}
.foot-copy{color:var(--muted);font-size:.82rem;line-height:1.65;max-width:360px}
.foot-col h4{font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--dim);margin-bottom:.7rem}
.foot-col a{display:block;color:var(--muted);font-size:.84rem;padding:.22rem 0}
.foot-col a:hover{color:var(--text)}
.foot-base{max-width:1400px;margin:2rem auto 0;padding-top:1rem;border-top:1px solid var(--border);display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;color:var(--dim);font-size:.72rem}
body.cinema .site-footer,body.cinema .topbar{display:none}
body.cinema .navbar{top:0}
body.cinema #app{padding-top:62px}
.legal{max-width:760px}
.legal h2{font-size:1.05rem;margin:1.4rem 0 .5rem}
.legal p,.legal li{color:var(--muted);line-height:1.75;font-size:.9rem}
.legal ul{padding-left:1.2rem;margin:.4rem 0 1rem}
.crumb{font-size:.75rem;color:var(--dim);margin-bottom:.8rem}
.crumb a{color:var(--muted)}
.crumb a:hover{color:var(--orange-lt)}
.cont-card{position:relative}
.cont-card .cont-ep{position:absolute;left:8px;bottom:8px;background:rgba(0,0,0,.75);color:#fff;font-size:.68rem;padding:.2rem .45rem;border-radius:4px}
.page-hero-mini{padding:1.2rem 0 .4rem}
:focus-visible{outline:2px solid var(--orange);outline-offset:2px}
.site-note{font-size:.78rem;color:var(--dim);margin-top:.8rem}
@media(max-width:900px){
  .foot-grid{grid-template-columns:1fr 1fr}
  .topbar{padding:0 1rem}
}
@media(max-width:640px){
  .foot-grid{grid-template-columns:1fr}
  .foot-base{flex-direction:column}
}
