*{box-sizing:border-box;margin:0;padding:0}
:root{--bg:#18181b;--bg2:#232327;--bg3:#2e2e33;--bg4:#3c3c42;--fg:#f1f1f1;--fg2:#a1a1aa;--fg3:#71717a;--accent:#ff4757;--accent2:#ff6b81;--ok:#2ed573;--card:#232327;--border:#33333a;--font:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;--radius:8px;--radius-sm:4px}
[data-theme="light"]{--bg:#f8fafd;--bg2:#ffffff;--bg3:#eceff4;--bg4:#d8dee8;--fg:#1a1d23;--fg2:#555b66;--fg3:#8a909c;--card:#ffffff;--border:#e3e8ef}
html{font-size:14px;-webkit-text-size-adjust:100%}
body{font-family:var(--font);background:var(--bg);color:var(--fg);line-height:1.5;min-height:100vh;overflow-x:hidden}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit}
.ic{display:inline-block;vertical-align:middle;flex-shrink:0;fill:none;stroke:currentColor}
.nav{position:sticky;top:0;z-index:100;background:var(--bg);border-bottom:1px solid var(--border);padding:8px 16px;display:flex;align-items:center;gap:12px}
.nav-logo{font-weight:800;font-size:1.15rem;color:var(--accent);white-space:nowrap;display:inline-flex;align-items:center;gap:6px;flex-shrink:0}
.nav-logo .ic{width:22px;height:22px}
.search-box{flex:1;max-width:1920px;display:flex;border:1px solid var(--border);border-radius:20px;overflow:hidden;background:var(--bg2)}
.search-box input{flex:1;background:transparent;border:none;padding:8px 16px;color:var(--fg);outline:none;font-size:.95rem;min-width:0}
.search-box button{padding:0 16px;color:var(--fg2);display:flex;align-items:center}
.nav-actions{display:flex;gap:8px;align-items:center}
.icon-btn{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center}
.icon-btn:hover{background:var(--bg3)}
.layout{display:flex;min-height:calc(100vh - 57px)}
.sidebar{width:220px;padding:12px 8px;border-right:1px solid var(--border);position:sticky;top:57px;height:calc(100vh - 57px);overflow-y:auto;flex-shrink:0}
.sidebar a{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:var(--radius);color:var(--fg2);font-size:.9rem;margin-bottom:2px}
.sidebar a:hover,.sidebar a.active{background:var(--bg3);color:var(--fg)}
.sidebar a .ic{width:20px;height:20px}
.main{flex:1;padding:16px;max-width:100%;overflow-x:hidden}
.grid{display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(108px,0))}
.section-title{font-size:1.1rem;font-weight:700;margin:16px 0 12px;display:flex;align-items:center;gap:8px}
.section-title .ic{color:var(--accent)}
.section-title .line{flex:1;height:1px;background:var(--border)}
.card{background:var(--card);border-radius:var(--radius);overflow:hidden;transition:transform .15s;display:block}
.card:hover{transform:translateY(-2px)}
.card-img{position:relative;center;aspect-ratio:2/3;background:var(--bg3);overflow:hidden}
.card-img img{width:100%;height:100%;object-fit:contain;background:var(--bg3)}
.card-badge{position:absolute;top:6px;left:6px;backgr	ound:var(--accent);color:#fff;font-size:.7rem;padding:2px 6px;border-radius:3px;font-weight:600}
.card-year{position:absolute;bottom:6px;right:6px;background:rgba(0,0,0,.7);color:#fff;font-size:.7rem;padding:2px 6px;border-radius:3px}
.card-body{padding:8px}
.card-title{font-size:.85rem;font-weight:600;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin-bottom:4px;min-height:2.2em}
.card-meta{font-size:.72rem;color:var(--fg3);display:flex;gap:6px;flex-wrap:wrap}
.breadcrumb{display:flex;flex-wrap:wrap;align-items:center;gap:6px;font-size:.72rem;color:var(--fg3);margin-bottom:10px}
.breadcrumb a{color:var(--fg2)}
.breadcrumb a:hover{color:var(--accent)}
.breadcrumb .sep{opacity:.6}
.detail-header{display:flex;gap:16px;margin-bottom:16px}
.detail-poster{width:110px;flex-shrink:0;aspect-ratio:2/3;background:var(--bg3);border-radius:var(--radius);overflow:hidden}
.detail-poster img{width:100%;height:100%;object-fit:cover}
.detail-info{flex:1;min-width:0}
.detail-title{font-size:1.4rem;font-weight:700;margin-bottom:8px;line-height:1.2}
.detail-sub{color:var(--fg2);font-size:.85rem;margin-bottom:10px}
.status-badge{display:inline-block;font-size:.66rem;font-weight:700;padding:2px 8px;border-radius:10px;margin-left:6px;vertical-align:middle}
.status-badge.ongoing{background:rgba(255,71,87,.15);color:var(--accent)}
.status-badge.tamat{background:rgba(46,213,115,.18);color:var(--ok)}
.detail-actions{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}
.detail-meta{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:8px;margin:12px 0;font-size:.8rem}
.meta-item{background:var(--bg2);padding:8px 10px;border-radius:var(--radius-sm)}
.meta-item .k{color:var(--fg3);font-size:.7rem;text-transform:uppercase;margin-bottom:2px}
.sinopsis{background:var(--bg2);padding:12px;border-radius:var(--radius);margin:12px 0;font-size:.9rem;line-height:1.6;color:var(--fg2);display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}
.sinopsis.expanded{-webkit-line-clamp:unset;display:block}
.sinopsis-toggle{margin:-4px 0 12px;color:var(--accent);font-size:.8rem;font-weight:600}
.sinopsis-toggle[hidden]{display:none}
.cast-list{display:flex;gap:8px;overflow-x:auto;padding:8px 0;scrollbar-width:thin}
.cast-item{flex-shrink:0;text-align:center;width:80px}
.cast-item .av{width:60px;height:60px;border-radius:50%;background:var(--bg3);margin:0 auto 4px;display:flex;align-items:center;justify-content:center;font-size:1.2rem;color:var(--fg3)}
.cast-item .nm{font-size:.7rem;color:var(--fg2);line-height:1.2}
.btn{padding:8px 16px;border-radius:20px;background:var(--bg3);font-size:.85rem;font-weight:600;display:inline-flex;align-items:center;gap:6px;transition:all .15s}
.btn .ic{width:16px;height:16px}
.btn:hover{background:var(--bg4)}
.btn-primary{background:var(--accent);color:#fff}
.btn-primary:hover{background:var(--accent2)}
.ep-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(60px,1fr));gap:6px;margin-top:10px}
.ep-btn{position:relative;background:var(--bg3);padding:8px 4px;border-radius:var(--radius-sm);text-align:center;font-size:.85rem;font-weight:600;transition:all .15s;border:1px solid transparent}
.ep-btn:hover{background:var(--bg4)}
.ep-btn.active{background:var(--accent);color:#fff;border-color:var(--accent)}
.ep-btn.locked{opacity:.4;cursor:not-allowed}
.ep-btn.last{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent) inset}
.ep-btn.watched::after{content:"\2713";position:absolute;top:2px;right:4px;font-size:.6rem;color:var(--ok)}
.ep-nav{display:flex;gap:8px;margin:8px 0}
.ep-nav .btn{flex:1;justify-content:center}
.ep-nav .btn:disabled{opacity:.4;cursor:not-allowed}
.player-wrap{
  position: relative;
  width: 100%;
  aspect-ratio: 16 / 9;
  max-height: 72vh;
  background: #000;
  border-radius: var(--radius);
  overflow: hidden;
  margin-bottom: 16px;
}
.player-wrap .player-frame{
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
  display: block;
}

.player-wrap>video,.player-poster,.yt-controls,.video-big-play{position:absolute !important}
.player-wrap>video{inset:0;width:100%;height:100%;background:#000;display:block}
.player-poster{inset:0;z-index:1;background:#000;cursor:pointer}
.player-poster img{width:100%;height:100%;object-fit:contain;object-position:center;display:block}
.player-wrap.playing .player-poster{opacity:0;pointer-events:none;transition:opacity .3s}
.yt-brightness-overlay{
  position:absolute;inset:0;z-index:5;pointer-events:none;
  background:#000;opacity:0;transition:opacity .15s ease;
}
.yt-bright-wrap{display:flex;align-items:center;gap:4px;margin-left:6px}
.yt-bright-wrap .ic{width:18px;height:18px;color:#fff;flex-shrink:0}
.yt-bright{
  width:0;opacity:0;transition:width .2s,opacity .2s;
  -webkit-appearance:none;appearance:none;height:4px;
  background:rgba(255,255,255,.4);border-radius:2px;cursor:pointer;
}
.yt-bar:hover .yt-bright,.yt-bright:focus{width:64px;opacity:1}
.yt-bright::-webkit-slider-thumb{-webkit-appearance:none;width:12px;height:12px;border-radius:50%;background:#fff}
.yt-bright::-moz-range-thumb{width:12px;height:12px;border:none;border-radius:50%;background:#fff}
.video-big-play{top:50%;left:50%;transform:translate(-50%,-50%);width:64px;height:64px;border-radius:50%;color:#fff;border-color:transparent;cursor:pointer;display:flex;align-items:center;justify-content:center;z-index:7;transition:background .15s,opacity .2s,transform .15s}
[data-theme="light"] .video-big-play{
  background:transparent;
  color:#fff;
  border-color:transparent;
}
.video-big-play:hover{
  background:rgba(192,192,192,.5);
  color:#fff;
  border-color:transparent;
}
.video-big-play .ic{width:30px;height:30px;margin-left:3px}
.skip-overlay{position:absolute;top:50%;left:0;right:0;display:flex;justify-content:center;gap:120px;z-index:6;pointer-events:none;transform:translateY(-50%)}
.skip-btn{pointer-events:auto;width:28px;height:28px;border-radius:100%;background:rgba(0,0,0,0);color:rgba(255,255,255,.85);border:none;font-size:.75rem;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .2s,background .15s}
.player-wrap:hover .skip-btn,.player-wrap.ctrl-show .skip-btn{opacity:1}
.skip-btn:hover{background:rgba(192,192,192,0.5)}
.skip-btn .ic{width:26px;height:26px}
.player-wrap.playing:not(.ctrl-show) .skip-btn{opacity:0;pointer-events:none}
.video-big-play .ic{width:30px;height:30px}
.player-wrap.playing .video-big-play{opacity:0;pointer-events:none}
.yt-spinner{
  position:absolute;
  top:50%;
  left:50%;
  transform:translate(-50%,-50%);
  z-index:9;
  display:none;
  pointer-events:none;
}
.yt-spinner-circle{
  width:48px;
  height:48px;
  border:4px solid rgba(255,255,255,.25);
  border-top-color:var(--accent);
  border-radius:50%;
  animation:yt-spin .8s linear infinite;
}
@keyframes yt-spin{
  to{transform:rotate(360deg)}
}
.player-wrap.buffering .yt-spinner{
  display:block;
}
.player-wrap.buffering .video-big-play{
  opacity:0;
  pointer-events:none;
}
.yt-controls{left:0;right:0;bottom:0;z-index:8;background:linear-gradient(to top,rgba(0,0,0,.85),transparent);padding:0 8px 6px;opacity:1;transition:opacity .3s}
.player-wrap.playing:not(.ctrl-show) .yt-controls{opacity:0;pointer-events:none}
.yt-progress{position:relative;height:5px;background:rgba(255,255,255,.25);border-radius:3px;cursor:pointer;margin:8px 0 4px;transition:height .1s}
.yt-progress:hover{height:8px}
.yt-buffered{position:absolute;top:0;left:0;height:100%;background:rgba(255,255,255,.4);border-radius:3px;width:0}
.yt-played{position:absolute;top:0;left:0;height:100%;background:var(--accent);border-radius:3px;width:0}
.yt-scrubber{position:absolute;top:50%;width:13px;height:13px;border-radius:50%;background:var(--accent);transform:translate(-50%,-50%);left:0;opacity:0;transition:opacity .1s}
.yt-progress:hover .yt-scrubber{opacity:1}
.yt-bar{display:flex;align-items:center;gap:6px;color:#fff}
.yt-btn{width:32px;height:32px;display:flex;align-items:center;justify-content:center;color:#fff;border:none;background:none;cursor:pointer;border-radius:6px;flex-shrink:0}
.yt-btn:hover{background:rgba(255,255,255,.15)}
.yt-btn .ic{width:20px;height:20px}
.yt-time{font-size:.78rem;color:#fff;white-space:nowrap;font-variant-numeric:tabular-nums}
.yt-spacer{flex:1}
.yt-vol{width:0;opacity:0;transition:width .2s,opacity .2s;-webkit-appearance:none;appearance:none;height:4px;background:rgba(255,255,255,.4);border-radius:2px;cursor:pointer}
.yt-bar:hover .yt-vol,.yt-vol:focus{width:64px;opacity:1}
.yt-vol::-webkit-slider-thumb{-webkit-appearance:none;width:12px;height:12px;border-radius:50%;background:#fff}
.yt-vol::-moz-range-thumb{width:12px;height:12px;border:none;border-radius:50%;background:#fff}
.yt-settings{position:relative}
.yt-menu{position:absolute;right:0;bottom:42px;background:rgba(20,20,20,.95);border-radius:8px;padding:6px 0;min-width:130px;display:none;box-shadow:0 4px 16px rgba(0,0,0,.5)}
.yt-settings.open .yt-menu{display:block}
.yt-menu-title{font-size:.72rem;color:#bbb;padding:4px 12px 6px;text-transform:uppercase;letter-spacing:.5px}
.yt-q{display:flex;align-items:center;justify-content:space-between;width:100%;padding:7px 12px;font-size:.82rem;color:#fff;background:none;border:none;cursor:pointer;text-align:left}
.yt-q:hover{background:rgba(255,255,255,.12)}
.yt-q.active{color:var(--accent)}
.yt-q.active::after{content:"\2713";font-size:.8rem}
.yt-title{
  position:absolute;top:0;left:0;right:0;z-index:8;
  padding:14px 16px 28px;
  background:linear-gradient(to bottom,rgba(0,0,0,.8),rgba(0,0,0,.35) 60%,transparent);
  color:#fff;opacity:1;transition:opacity .3s;pointer-events:none;
}
.player-wrap.playing:not(.ctrl-show) .yt-title{opacity:0}
.yt-title-main{
  font-size:.95rem;font-weight:700;line-height:2.25;
  text-shadow:0 1px 3px rgba(0,0,0,.6);
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
}
.yt-title-sub{
  font-size:.78rem;font-weight:700;color:#fff;margin-top:2px;
  text-shadow:0 1px 3px rgba(0,0,0,.6);letter-spacing:.3px;
}
.yt-title-sub:empty{display:none}
.chips{display:flex;gap:8px;overflow-x:auto;padding:8px 0;margin-bottom:12px;scrollbar-width:none}
.chips::-webkit-scrollbar{display:none}
.chip{flex-shrink:0;padding:6px 12px;background:var(--bg3);border-radius:16px;font-size:.8rem;white-space:nowrap;display:inline-flex;align-items:center;gap:6px}
.chip.active{background:var(--fg);color:var(--bg)}
.chip .ic{width:14px;height:14px}
.more-link{display:flex;align-items:center;justify-content:center;gap:6px;margin:10px 0 4px;padding:9px;border:1px dashed var(--border);border-radius:var(--radius);color:var(--fg2);font-size:.82rem;font-weight:600;transition:all .15s}
.more-link:hover{border-color:var(--accent);color:var(--accent);background:var(--bg2)}
.more-link .ic{transform:rotate(180deg)}
.empty{text-align:center;padding:40px 20px;color:var(--fg3)}
.empty .ic{width:48px;height:48px;margin-bottom:8px;opacity:.5}
.footer{border-top:1px solid var(--border);padding:20px 16px;text-align:center;color:var(--fg3);font-size:.8rem;margin-top:30px}
::-webkit-scrollbar{width:8px;height:8px}
::-webkit-scrollbar-track{background:var(--bg)}
::-webkit-scrollbar-thumb{background:var(--bg4);border-radius:4px}
.card.hc{display:none}
.cat-year-block.hc-block{display:none}
.cat-more{display:none}
@media(max-width:900px){
  .nav-actions a[href*="favorit"]{display:none}
  .sidebar{display:none;position:fixed;top:57px;left:0;z-index:99;background:var(--bg);width:220px;height:calc(100vh - 57px);overflow-y:auto;border-right:1px solid var(--border)}
  body.sidebar-open .sidebar{display:block}
  body{padding-bottom:70px}
  .detail-header{flex-direction:row;align-items:flex-start;gap:12px}
  .detail-poster{width:72px}
  .detail-title{font-size:1.1rem}
  .bottom-nav{position:fixed;bottom:0;left:0;right:0;z-index:100;background:var(--bg);border-top:1px solid var(--border);display:flex;justify-content:space-around;align-items:stretch;padding:6px 4px calc(6px + env(safe-area-inset-bottom))}
  .bottom-nav a,.bottom-nav button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;font-size:.62rem;color:var(--fg2);padding:4px 8px;border-radius:8px;background:none;border:none;cursor:pointer}
  .bottom-nav a.active,.bottom-nav button.active{color:var(--accent)}
  .bottom-nav .ic{width:20px;height:20px}
}
@media(max-width:600px){
  .grid{grid-template-columns:repeat();gap:10px;justify-content:center}
  .card-title{font-size:.74rem;min-height:2.4em}
  .card-body{padding:6px}
  .card-meta{font-size:.66rem}
  .detail-header{background:var(--bg2);border-radius:var(--radius);padding:12px}
  .detail-poster{width:64px}
  .detail-title{font-size:1.05rem}
  .detail-actions .btn{padding:7px 12px;font-size:.8rem}
  .main{padding:10px}
  .nav{padding:6px 10px;gap:8px}
  .search-box input{padding:6px 12px;font-size:.85rem}
  .icon-btn{width:32px;height:32px}
  .player-wrap{border-radius:0;max-height:none;width:calc(100% + 20px);margin-left:-10px;margin-right:-10px}
}
@media(max-width:360px){.grid{gap:8px}.card-title{font-size:.7rem}}
@media(min-width:901px){
  .sidebar{width:56px;padding:12px 4px;transition:width .2s;overflow:hidden}
  .sidebar a{justify-content:center;padding:10px 0;gap:0}
  .sidebar a span{display:none}
  .sidebar a .ic{width:22px;height:22px}
  body.sidebar-expanded .sidebar{width:220px;padding:12px 8px}
  body.sidebar-expanded .sidebar a{justify-content:flex-start;padding:10px 12px;gap:12px}
  body.sidebar-expanded .sidebar a span{display:block}
  .grid{grid-template-columns:repeat();justify-content:center}
}
#playFirst{gap:8px;white-space:nowrap}
#playFirst .pf-time{background:rgba(255,255,255,.22);color:#fff;padding:2px 9px;border-radius:12px;font-size:.78rem;font-weight:700;font-variant-numeric:tabular-nums;line-height:1.4}
.layout{min-height:100vh}
.sidebar{top:0;height:100vh}
.sidebar .side-item{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:var(--radius);color:var(--fg2);font-size:.9rem;margin-bottom:2px;width:100%;text-align:left;flex-shrink:0}
.sidebar .side-item:hover,.sidebar .side-item.active{background:var(--bg3);color:var(--fg)}
.sidebar .side-item .ic{width:20px;height:20px;flex-shrink:0}
.side-sep{height:1px;background:var(--border);margin:6px 8px 8px}
.fab-menu{display:none}
.sidebar-backdrop{display:none}
@media(min-width:901px){
  .sidebar .side-item{justify-content:center;padding:10px 0;gap:0}
  .sidebar .side-item span{display:none}
  body.sidebar-expanded .sidebar .side-item{justify-content:flex-start;padding:10px 12px;gap:12px}
  body.sidebar-expanded .sidebar .side-item span{display:block}
}
.hero{position:relative;overflow:hidden;aspect-ratio:16/7;background:#000;margin:-16px -16px 16px;border-radius:0}
@media(max-width:600px){.hero{margin:-10px -10px 12px}}
