:root{--bg: #08090d;--bg-2: #101218;--card: #16181f;--text: #f2f3f7;--muted: #8b93a3;--accent: #e50914;--accent-2: #ff4757;--gold: #f5c518;--radius: 10px}*{box-sizing:border-box}body{margin:0;font-family:Outfit,system-ui,sans-serif;background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;overflow-x:hidden}.app{min-height:100vh;display:flex;flex-direction:column}.topbar{position:fixed;top:0;left:0;right:0;z-index:60;background:linear-gradient(180deg,rgba(8,9,13,.95) 0%,rgba(8,9,13,.7) 60%,transparent 100%);transition:background .3s}.topbar.solid{background:#08090df7;border-bottom:1px solid rgba(255,255,255,.06)}.topbar-inner{max-width:1400px;margin:0 auto;padding:14px 4%;display:flex;align-items:center;gap:22px;flex-wrap:wrap}.brand{font-family:Playfair Display,serif;font-size:1.55rem;font-weight:800;background:none;border:none;color:var(--accent);cursor:pointer;padding:0;letter-spacing:-.5px}.brand span{color:#fff}.nav-links{display:flex;gap:2px;flex-wrap:wrap}.nav-link{padding:7px 13px;border:none;background:transparent;color:#d6d9e0;border-radius:6px;cursor:pointer;font-family:inherit;font-size:.92rem;transition:color .2s}.nav-link:hover{color:#fff}.nav-link.active{color:#fff;font-weight:600}.nav-right{margin-left:auto;display:flex;align-items:center;gap:10px}.user-chip{display:flex;align-items:center;gap:8px;padding:4px 14px 4px 5px;border-radius:999px;border:1px solid rgba(255,255,255,.14);background:#ffffff0f;color:var(--text);cursor:pointer;font-family:inherit;font-size:.9rem}.user-chip:hover{border-color:#ffffff4d}.bell{position:relative;background:#ffffff0f;border:1px solid rgba(255,255,255,.14)}.notif-dot{position:absolute;top:-5px;right:-5px;background:var(--accent);color:#fff;border-radius:999px;font-size:.62rem;padding:1px 5px;font-weight:700}.billboard{position:relative;height:88vh;min-height:560px;display:flex;align-items:flex-end;overflow:hidden}.billboard-bg{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;object-position:center 20%;filter:saturate(1.1)}.billboard-fade{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,rgba(8,9,13,.92) 0%,rgba(8,9,13,.55) 45%,transparent 75%),linear-gradient(0deg,var(--bg) 2%,transparent 55%)}.billboard-content{position:relative;max-width:640px;padding:0 4% 9vh;z-index:2}.billboard-tag{color:var(--accent);font-size:.8rem;font-weight:800;letter-spacing:4px}.billboard-content h1{font-family:Playfair Display,serif;font-size:clamp(2.6rem,6.5vw,4.6rem);margin:10px 0 12px;line-height:1.02;text-shadow:0 4px 30px rgba(0,0,0,.6)}.billboard-meta{color:#cfd3dc;font-size:.98rem;margin:0 0 14px;display:flex;gap:12px;flex-wrap:wrap}.match{color:#46d369;font-weight:700}.billboard-desc{color:#e4e6ec;font-size:1.02rem;line-height:1.55;margin:0 0 24px;max-width:540px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;text-shadow:0 2px 12px rgba(0,0,0,.8)}.billboard-actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.btn-play{display:inline-flex;align-items:center;gap:8px;padding:12px 30px;border:none;border-radius:6px;background:#fff;color:#000;font-weight:700;font-size:1.05rem;cursor:pointer;font-family:inherit;transition:background .2s}.btn-play:hover{background:#ffffffd1}.btn-info{display:inline-flex;align-items:center;gap:8px;padding:12px 26px;border:none;border-radius:6px;background:#6d6d6eb3;color:#fff;font-weight:600;font-size:1.02rem;cursor:pointer;font-family:inherit;transition:background .2s}.btn-info:hover{background:#6d6d6e80}.btn-icon{width:44px;height:44px;border-radius:50%;border:2px solid rgba(255,255,255,.4);background:#0006;color:#fff;font-size:1.15rem;cursor:pointer;transition:border-color .2s,transform .2s}.btn-icon:hover{border-color:#fff;transform:scale(1.08)}.btn-icon.active{color:var(--accent-2);border-color:var(--accent-2)}.small-btn{padding:8px 18px;font-size:.88rem}.container{flex:1;width:100%;max-width:1400px;margin:0 auto;padding:28px 4% 60px}.container.home{padding-top:8px}.page-title{margin:10px 0 22px;font-family:Playfair Display,serif;font-size:1.7rem}.searchbar{margin:10px 0 26px;max-width:560px}.searchbar input{width:100%;padding:13px 20px;border-radius:8px;border:1px solid rgba(255,255,255,.14);background:#ffffff12;color:var(--text);font-size:.98rem;outline:none;font-family:inherit}.searchbar input:focus{border-color:#fff6;background:#ffffff1a}.row-section{margin:34px 0}.row-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;padding:0 4%}.row-head h3{margin:0;font-size:1.25rem;font-weight:700}.row-arrows{display:flex;gap:6px}.row-arrows button{width:34px;height:34px;border-radius:50%;border:1px solid rgba(255,255,255,.2);background:#00000080;color:#fff;cursor:pointer;font-size:1.1rem}.row-arrows button:hover{border-color:#fff}.row{display:flex;gap:10px;overflow-x:auto;scroll-behavior:smooth;padding:6px 4% 18px;scrollbar-width:none}.row::-webkit-scrollbar{display:none}.row-item{position:relative;flex:0 0 172px}.row-item .rank{position:absolute;left:-8px;bottom:44px;font-family:Playfair Display,serif;font-size:5.2rem;font-weight:800;color:transparent;-webkit-text-stroke:2px rgba(255,255,255,.35);z-index:3;line-height:1;pointer-events:none}.row-card{position:relative;aspect-ratio:2 / 3;border-radius:8px;overflow:hidden;cursor:pointer;transition:transform .25s;background:var(--card)}.row-card:hover{transform:scale(1.06);z-index:5}.row-card img{width:100%;height:100%;object-fit:cover;display:block}.row-overlay{position:absolute;inset:auto 0 0 0;display:flex;gap:5px;padding:10px;background:linear-gradient(transparent,#000000e6);opacity:0;transition:opacity .2s}.row-card:hover .row-overlay{opacity:1}.row-title{margin:8px 0 0;font-size:.88rem;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.row-meta{margin:2px 0 0;font-size:.78rem;color:var(--muted)}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(196px,1fr));gap:18px}.card{background:var(--card);border-radius:var(--radius);overflow:hidden;cursor:pointer;transition:transform .2s,box-shadow .2s;display:flex;flex-direction:column;border:1px solid rgba(255,255,255,.05)}.card:hover{transform:translateY(-5px);box-shadow:0 16px 40px #0000008c}.poster{position:relative;aspect-ratio:2 / 3;background:#0e1119}.poster img{width:100%;height:100%;object-fit:cover;display:block}.poster-actions{position:absolute;inset:auto 0 0 0;display:flex;gap:6px;padding:10px;background:linear-gradient(transparent,#000000eb);opacity:0;transition:opacity .2s}.card:hover .poster-actions{opacity:1}.pbtn{flex:1;padding:8px 0;border:none;border-radius:6px;background:#ffffff29;color:#fff;cursor:pointer;font-size:.92rem;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);transition:background .2s}.pbtn:hover{background:#ffffff52}.pbtn.play{background:#ffffffe6;color:#000}.pbtn.active{background:var(--accent)}.rating-badge{position:absolute;top:10px;left:10px;background:#000000b8;color:var(--gold);padding:3px 9px;border-radius:5px;font-size:.76rem;font-weight:700}.card-body{padding:13px 14px 15px;display:flex;flex-direction:column;gap:6px;flex:1}.card-body h3{margin:0;font-size:.98rem;font-weight:600;line-height:1.3}.meta{color:var(--muted);font-size:.82rem;margin:0}.summary{color:var(--muted);font-size:.83rem;margin:0;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.chips{display:flex;flex-wrap:wrap;gap:5px;margin-top:auto}.chip{font-size:.68rem;padding:3px 9px;border-radius:4px;border:1px solid rgba(255,255,255,.18);background:#ffffff0d;color:#d6d9e0}.btn-primary{padding:10px 22px;border:none;border-radius:6px;background:var(--accent);color:#fff;font-weight:700;cursor:pointer;font-family:inherit;transition:filter .2s}.btn-primary:hover{filter:brightness(1.15)}.btn-ghost{padding:10px 18px;border:1px solid rgba(255,255,255,.22);border-radius:6px;background:transparent;color:var(--text);cursor:pointer;font-family:inherit;transition:border-color .2s}.btn-ghost:hover{border-color:#fff}.btn-ghost.active{border-color:var(--accent);color:var(--accent)}.btn-ghost.danger{border-color:var(--accent-2);color:var(--accent-2)}.link-btn{background:none;border:none;color:#d6d9e0;cursor:pointer;font-family:inherit;font-size:.86rem;padding:0}.link-btn:hover{color:#fff}.link-btn.danger{color:var(--accent-2)}.icon-btn{background:#ffffff14;border:none;color:var(--text);width:34px;height:34px;border-radius:7px;cursor:pointer;font-size:.95rem}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#000c;display:flex;align-items:center;justify-content:center;padding:24px;z-index:80}.modal{background:#14161d;border-radius:12px;max-width:780px;width:100%;max-height:88vh;overflow-y:auto;position:relative;border:1px solid rgba(255,255,255,.08)}.modal-close{position:absolute;top:14px;right:14px;width:36px;height:36px;border-radius:50%;border:none;background:#14161de6;color:#fff;cursor:pointer;z-index:5;font-size:1rem}.detail-hero{position:relative;min-height:300px;display:flex;align-items:flex-end}.detail-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;object-position:center 15%;opacity:.55}.detail-hero-info{position:relative;padding:28px;width:100%;background:linear-gradient(transparent,#14161d 78%)}.detail-hero-info h2{margin:0 0 8px;font-family:Playfair Display,serif;font-size:2rem}.detail-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px;align-items:center}.list-menu-wrap{position:relative}.list-menu{position:absolute;top:110%;left:0;background:#1c1f28;border:1px solid rgba(255,255,255,.14);border-radius:8px;min-width:210px;padding:8px;z-index:10;display:flex;flex-direction:column;gap:3px;box-shadow:0 12px 30px #0009}.list-menu button{background:none;border:none;color:var(--text);text-align:left;padding:9px 12px;border-radius:6px;cursor:pointer;font-family:inherit;font-size:.9rem}.list-menu button:hover{background:#ffffff17}.list-menu .new-list{color:var(--accent)}.detail-body{padding:26px 28px 30px}.modal-summary{color:#cfd3dc;line-height:1.65}.cast-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:18px 0}.cast-name{font-size:.8rem;padding:4px 12px;border-radius:999px;background:#ffffff12;color:#d6d9e0}.rate-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:20px 0}.rate-stars{display:flex;gap:4px}.rate-star{width:34px;height:34px;border-radius:7px;border:1px solid rgba(255,255,255,.16);background:transparent;color:var(--muted);cursor:pointer;font-family:inherit;font-size:.86rem;transition:all .15s}.rate-star:hover{border-color:var(--gold);color:var(--gold)}.rate-star.on{background:var(--gold);color:#000;border-color:var(--gold);font-weight:800}.comments-section{margin-top:26px}.comments-section h4{margin:0 0 12px;font-size:1.05rem}.comment-form{display:flex;gap:10px;margin-bottom:18px}.comment-form textarea{flex:1;padding:11px 14px;border-radius:8px;border:1px solid rgba(255,255,255,.13);background:#ffffff0d;color:var(--text);font-family:inherit;resize:vertical}.comment{display:flex;gap:12px;padding:14px 0;border-top:1px solid rgba(255,255,255,.07)}.comment-body{flex:1}.comment-body p{margin:6px 0;line-height:1.5;color:#e4e6ec}.comment-head{display:flex;align-items:baseline;gap:10px}.comment-actions{display:flex;gap:14px}.avatar{border-radius:50%;object-fit:cover}.avatar-letter{display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--accent),#ff8a5c);color:#fff;font-weight:800}.related{margin-top:26px}.related h4{margin:0 0 12px;font-size:1.05rem}.related-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:10px}.related-card{cursor:pointer;text-align:center}.related-card img{width:100%;border-radius:7px;aspect-ratio:2/3;object-fit:cover;transition:transform .2s}.related-card img:hover{transform:scale(1.05)}.related-card span{font-size:.7rem;color:var(--muted);display:block;margin-top:5px}.player-backdrop{padding:0;background:#000}.player-shell{width:100%;height:100%;max-width:none;max-height:none;display:flex;flex-direction:column;background:#000;border-radius:0;border:none}.player-head{display:flex;align-items:center;gap:14px;padding:14px 22px;background:linear-gradient(180deg,rgba(0,0,0,.85),transparent);position:absolute;top:0;left:0;right:0;z-index:10}.player-head h3{margin:0;font-size:1.15rem}.video-wrap{position:relative;flex:1;display:flex;align-items:center;justify-content:center;background:#000}.video-wrap video{width:100%;height:100%;object-fit:contain}.play-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;background:#0006}.play-btn{width:78px;height:78px;border-radius:50%;border:none;background:#fffffff2;color:#000;font-size:1.7rem;cursor:pointer;transition:transform .2s}.play-btn:hover{transform:scale(1.1)}.resume-note{color:#fff;background:#000000a6;padding:7px 16px;border-radius:999px;font-size:.86rem}.controls{padding:10px 22px 18px;background:linear-gradient(0deg,rgba(0,0,0,.9),transparent);position:absolute;bottom:0;left:0;right:0;z-index:10;transition:opacity .3s}.controls.hide{opacity:0;pointer-events:none}.progress-bar{height:5px;background:#ffffff38;border-radius:999px;cursor:pointer;margin-bottom:12px}.progress-fill{height:100%;background:var(--accent);border-radius:999px}.controls-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.controls-row .spacer{flex:1}.vol{width:84px;accent-color:var(--accent)}.badge-green{background:#46d3692e;color:#46d369;padding:4px 12px;border-radius:999px;font-size:.76rem;font-weight:600}.history-list{display:flex;flex-direction:column;gap:12px}.history-item{display:flex;align-items:center;gap:16px;background:var(--card);padding:14px;border-radius:10px;cursor:pointer;border:1px solid rgba(255,255,255,.05);transition:border-color .2s}.history-item:hover{border-color:#fff3}.history-item img{width:58px;height:87px;object-fit:cover;border-radius:7px}.history-item>div{flex:1}.history-item strong{display:block;font-size:1rem}.mini-progress{height:4px;background:#ffffff26;border-radius:999px;margin-top:8px;max-width:320px}.mini-progress div{height:100%;background:var(--accent);border-radius:999px}.list-create{display:flex;gap:10px;align-items:center;margin-bottom:22px;flex-wrap:wrap}.list-create input:not([type=checkbox]){padding:11px 15px;border-radius:8px;border:1px solid rgba(255,255,255,.13);background:#ffffff0d;color:var(--text);font-family:inherit}.lists-row{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:14px}.list-card{background:linear-gradient(135deg,#1c1f28,#14161d);border:1px solid rgba(255,255,255,.07);border-radius:10px;padding:20px;cursor:pointer;display:flex;flex-direction:column;gap:6px;transition:transform .2s,border-color .2s}.list-card:hover{transform:translateY(-3px);border-color:#ffffff38}.list-detail{padding:26px}.notif-list{display:flex;flex-direction:column;gap:8px}.notif{display:flex;justify-content:space-between;gap:12px;padding:13px 16px;border-radius:8px;background:var(--card)}.notif.unread{border-left:3px solid var(--accent)}.notif.read{opacity:.5}.profile-head{display:flex;align-items:center;gap:20px;margin-bottom:30px}.profile-head h2{margin:0 0 4px;font-family:Playfair Display,serif}.profile-page section{margin-bottom:34px}.profile-page h3{margin:0 0 14px}.stats-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:14px;margin:20px 0}.stat{background:linear-gradient(135deg,#1c1f28,#14161d);border-radius:10px;padding:20px;text-align:center;display:flex;flex-direction:column;gap:4px;border:1px solid rgba(255,255,255,.06)}.stat strong{font-size:1.7rem;color:var(--accent)}.stat span{color:var(--muted);font-size:.84rem}.admin-section{margin:30px 0}.admin-section h3{margin:0 0 12px}.admin-form{display:flex;flex-direction:column;gap:10px;max-width:480px}.admin-form input,.admin-form textarea{padding:11px 14px;border-radius:8px;border:1px solid rgba(255,255,255,.13);background:#ffffff0d;color:var(--text);font-family:inherit}.admin-table{display:flex;flex-direction:column;gap:8px}.admin-row{display:flex;align-items:center;gap:12px;background:var(--card);padding:10px 14px;border-radius:8px}.admin-thumb{width:36px;height:54px;object-fit:cover;border-radius:5px}.admin-title{flex:1;font-weight:500}.auth-modal{max-width:400px;padding:30px}.auth-modal h2{margin:0 0 20px;font-family:Playfair Display,serif}.auth-form{display:flex;flex-direction:column;gap:12px;margin-bottom:14px}.auth-form input{padding:13px 15px;border-radius:8px;border:1px solid rgba(255,255,255,.13);background:#ffffff0d;color:var(--text);font-family:inherit}.auth-form input:focus{outline:none;border-color:#fff6}.error-text{color:var(--accent-2);font-size:.85rem;margin:4px 0}.toast{position:fixed;bottom:26px;left:50%;transform:translate(-50%);background:#fff;color:#000;padding:11px 24px;border-radius:8px;font-weight:600;z-index:100;animation:slide-up .25s ease;box-shadow:0 10px 30px #00000080}@keyframes slide-up{0%{opacity:0;transform:translate(-50%,12px)}to{opacity:1;transform:translate(-50%)}}.pagination{display:flex;align-items:center;justify-content:center;gap:16px;margin:30px 0}.pagination button{padding:9px 18px;border-radius:7px;border:1px solid rgba(255,255,255,.16);background:var(--bg-2);color:var(--text);cursor:pointer;font-family:inherit}.pagination button:disabled{opacity:.35;cursor:not-allowed}.toolbar{display:flex;flex-wrap:wrap;gap:16px;align-items:center;justify-content:space-between;margin-bottom:24px}.filters{display:flex;gap:10px;flex-wrap:wrap}.filters select{padding:10px 14px;border-radius:7px;border:1px solid rgba(255,255,255,.14);background:var(--bg-2);color:var(--text);font-family:inherit;cursor:pointer}.muted{color:var(--muted)}.small{font-size:.82rem}.empty{text-align:center;color:var(--muted);padding:60px 0}.footer{text-align:center;color:var(--muted);font-size:.84rem;padding:26px;border-top:1px solid rgba(255,255,255,.05)}@media (max-width: 768px){.topbar-inner{padding:12px 4%;gap:10px}.nav-links{order:3;width:100%;overflow-x:auto}.billboard{height:72vh;min-height:480px}.billboard-content{padding-bottom:6vh}.row-item{flex:0 0 138px}.row-item .rank{font-size:3.8rem;bottom:40px}.grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px}.detail-hero{min-height:220px}.detail-hero-info,.detail-body{padding:20px}.rate-star{width:30px;height:30px}}
