:root{--bg:#12101a;--surface:#1c1926;--surface-2:#262233;--border:#322d42;--text:#f2f0f7;--text-muted:#9a93ac;--accent:#ffd60a;--accent-text:#1a1500;--danger:#ff6b6b;--radius:12px;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html{scrollbar-width:thin;scrollbar-color:transparent transparent}html.scrolling{scrollbar-color:var(--surface-2) transparent}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:0 0;border-radius:999px}html.scrolling ::-webkit-scrollbar-thumb{background:var(--surface-2)}body{background:var(--bg);color:var(--text);margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;line-height:1.5}#root{min-height:100vh}.app{flex-direction:column;max-width:920px;min-height:100vh;margin:0 auto;padding:24px 16px 48px;display:flex}main{flex:1}h1,h2,h3{margin:0;font-weight:700}a{color:var(--accent)}.muted{color:var(--text-muted)}.small{font-size:.8rem}.error{color:var(--danger)}.app-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:24px;display:flex}.app-header h1{letter-spacing:-.02em;cursor:pointer;-webkit-user-select:none;user-select:none;font-size:1.5rem}.logo{background:var(--accent);color:var(--accent-text);border-radius:8px;margin-right:2px;padding:2px 6px}.tabs{background:var(--surface);border-radius:999px;gap:4px;padding:4px;display:flex}.tab{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:999px;padding:8px 18px;font-size:.9rem;font-weight:600;transition:background .2s,color .2s}@media (hover:hover){.tab:hover{color:var(--text)}}.tab.active{background:var(--accent);color:var(--accent-text)}.btn{border:1px solid var(--border);background:var(--surface-2);color:var(--text);cursor:pointer;white-space:nowrap;border-radius:999px;padding:8px 14px;font-size:.85rem;font-weight:600;transition:transform .15s,background .2s,opacity .2s}@media (hover:hover){.btn:hover:not(:disabled){transform:translateY(-1px)}}.btn:disabled{cursor:default;opacity:.7}.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-text)}.btn.added{color:var(--text-muted);background:0 0}.btn.ghost{background:0 0;border-color:#0000}@media (hover:hover){.btn.ghost:hover{background:var(--surface)}}.btn.danger{color:var(--danger)}.btn.small-btn{padding:5px 12px;font-size:.75rem}.search-input{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);width:100%;color:var(--text);outline:none;margin-bottom:16px;padding:14px 16px;font-size:1rem;transition:border-color .2s}.search-input:focus{border-color:var(--accent)}.result-list{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.result-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);align-items:center;gap:14px;padding:10px;animation:.25s both fade-in;display:flex}.result-poster{object-fit:cover;border-radius:8px;flex-shrink:0;width:60px;height:86px}.result-main{min-width:0;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;flex:1;align-items:center;gap:14px;padding:0;display:flex}.result-info{flex:1;min-width:0}.preview-summary{-webkit-line-clamp:4;-webkit-box-orient:vertical;margin:8px 0 4px;display:-webkit-box;overflow:hidden}.result-info h3{font-size:1rem}.search-summary{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.show-grid{grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:16px;margin:0;padding:0;list-style:none;display:grid}.show-card{text-align:left;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;width:100%;color:var(--text);font:inherit;padding:0;transition:transform .2s,border-color .2s;animation:.3s both fade-in;display:block;overflow:hidden}@media (hover:hover){.show-card:hover{border-color:var(--accent);transform:translateY(-3px)}}.show-poster{aspect-ratio:2/3;object-fit:cover;width:100%;display:block}.show-card-body{padding:10px 12px 12px}.show-card-body h3{white-space:nowrap;text-overflow:ellipsis;margin-bottom:8px;font-size:.9rem;overflow:hidden}.placeholder{background:var(--surface-2);justify-content:center;align-items:center;font-size:1.6rem;display:flex}.progress-track{background:var(--surface-2);border-radius:999px;height:5px;margin-bottom:6px;overflow:hidden}.progress-track.big{height:8px;margin:10px 0 6px}.progress-fill{background:var(--accent);border-radius:999px;height:100%;transition:width .4s}.empty-state{text-align:center;flex-direction:column;align-items:center;gap:10px;padding:64px 16px;display:flex}.empty-icon{font-size:3rem}.detail-header{justify-content:space-between;margin-bottom:16px;display:flex}.detail-hero{gap:20px;margin-bottom:28px;animation:.3s both fade-in;display:flex}.detail-poster{aspect-ratio:2/3;object-fit:cover;border-radius:var(--radius);flex-shrink:0;width:136px}.detail-hero>div{flex:1;min-width:0}.season{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:12px;overflow:hidden}.season-header{align-items:center;gap:8px;padding-right:10px;display:flex}.season-header h3{white-space:nowrap;font-size:1rem}.episode-list{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);margin:0;padding:0;list-style:none;overflow:hidden}.episode{cursor:pointer;border-bottom:1px solid var(--border);align-items:center;gap:12px;padding:10px 14px;transition:background .15s;display:flex}.episode-list li:last-child .episode{border-bottom:none}@media (hover:hover){.episode:hover{background:var(--surface-2)}}.episode input[type=checkbox]{accent-color:var(--accent);flex-shrink:0;width:16px;height:16px}.episode-expand{min-width:0;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;flex:1;align-items:center;gap:12px;padding:0;display:flex}.chevron{color:var(--text-muted);flex-shrink:0;font-size:.75rem;transition:transform .2s}.chevron.open{transform:rotate(90deg)}.episode-details{border-bottom:1px solid var(--border);background:var(--surface-2);gap:14px;padding:12px 14px 14px 42px;animation:.2s both fade-in;display:flex}.episode-details p{margin:0 0 6px}.still-wrap.episode-still{align-self:flex-start;width:140px}.episode-details-text{min-width:0}@media (width<=520px){.episode-details{flex-direction:column;padding-left:14px}.still-wrap.episode-still{width:100%;max-width:240px}}.episode.watched .ep-name{color:var(--text-muted);text-decoration:line-through}.ep-number{font-variant-numeric:tabular-nums;color:var(--text-muted);flex-shrink:0;font-size:.8rem}.ep-name{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;font-size:.9rem;overflow:hidden}.ep-date{flex-shrink:0}.header-actions{align-items:center;gap:6px;margin-left:auto;display:flex}.sync-dot{background:var(--text-muted);border-radius:50%;width:8px;height:8px;margin-right:6px;display:inline-block}.sync-dot.synced{background:#4ade80}.sync-dot.syncing{background:var(--accent);animation:1s infinite alternate pulse}.sync-dot.error{background:var(--danger)}@keyframes pulse{0%{opacity:.4}to{opacity:1}}.section-title{margin-bottom:14px;font-size:1.15rem}.next-up{margin-bottom:28px}.next-up-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.next-up-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);align-items:center;gap:10px;padding:10px;transition:transform .2s,border-color .2s,box-shadow .2s;animation:.25s both fade-in;display:flex}@media (hover:hover){.next-up-card:not(.dimmed):hover{border-color:color-mix(in srgb, var(--accent) 55%, var(--border));transform:translateY(-2px);box-shadow:0 6px 18px #00000059,0 0 0 1px #ffd60a14}.next-up-card:not(.dimmed):hover .next-up-poster{transform:scale(1.04)}}.next-up-poster{transition:transform .25s}.next-up-main{min-width:0;color:var(--text);font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;flex:1;align-items:center;gap:12px;padding:0;display:flex}.next-up-poster{object-fit:cover;border-radius:7px;flex-shrink:0;width:50px;height:72px}.next-up-info{min-width:0}.next-up-info h3{white-space:nowrap;text-overflow:ellipsis;font-size:1.02rem;overflow:hidden}.next-up-info p{white-space:nowrap;text-overflow:ellipsis;margin:2px 0 0;overflow:hidden}.ep-airdate{color:var(--text-muted);opacity:.75;font-size:.72rem}.btn.check{border-radius:50%;flex-shrink:0;width:42px;height:42px;padding:0;font-size:1rem}@media (hover:hover){.btn.check:hover{background:var(--accent);border-color:var(--accent);color:var(--accent-text)}}.modal-overlay{z-index:10;background:#0009;justify-content:center;align-items:center;padding:16px;animation:.15s both fade-in;display:flex;position:fixed;inset:0}.modal{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;gap:12px;width:100%;max-width:360px;padding:24px;display:flex}.auth-form{flex-direction:column;gap:10px;display:flex}.auth-form input{background:var(--surface-2);border:1px solid var(--border);color:var(--text);border-radius:8px;outline:none;padding:10px 12px;font-size:.95rem}.auth-form input:focus{border-color:var(--accent)}.info{color:#4ade80}.upcoming-badge{background:var(--surface-2);border:1px solid var(--border);color:var(--accent);white-space:nowrap;border-radius:999px;flex-shrink:0;margin-right:4px;padding:3px 10px}.still-wrap{aspect-ratio:16/9;background:var(--surface-2);border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:100%;display:flex;position:relative;overflow:hidden}.still-placeholder{opacity:.5;font-size:1.8rem}.still{object-fit:cover;opacity:0;width:100%;height:100%;transition:opacity .3s;position:absolute;inset:0}.still.loaded{opacity:1}.episode-modal{max-width:420px;max-height:85vh;overflow-y:auto}.modal-show-name{margin:0}.episode-modal h2{font-size:1.15rem}.episode-modal p{margin:0}.modal-actions{flex-wrap:wrap;gap:8px;margin-top:4px;display:flex}.modal-actions.end{justify-content:flex-end}.btn.see-all{border-radius:var(--radius);width:100%;margin-top:24px;padding:13px;font-size:.95rem;display:block}@media (hover:hover){.btn.see-all:hover{border-color:var(--accent);transform:none}}.import-toast{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);z-index:20;width:min(340px,100vw - 32px);padding:14px 16px;animation:.2s both fade-in;position:fixed;bottom:16px;right:16px;box-shadow:0 8px 24px #0006}.import-toast-header{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.import-toast p{white-space:nowrap;text-overflow:ellipsis;margin:4px 0 0;overflow:hidden}.imdb-link{color:var(--accent);text-decoration:none}.imdb-link:hover{text-decoration:underline}.watch-providers{flex-wrap:wrap;align-items:center;gap:8px;margin-top:8px;display:flex}.provider{background:var(--surface-2);border:1px solid var(--border);border-radius:999px;align-items:center;gap:6px;padding:3px 10px 3px 4px;font-size:.78rem;display:inline-flex}.provider-logo{border-radius:6px;width:20px;height:20px}.app-footer{text-align:center;margin-top:40px}.settings-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);justify-content:space-between;align-items:center;gap:16px;margin-bottom:12px;padding:14px 16px;display:flex}.settings .section-title{margin-top:24px}.settings .section-title:first-child{margin-top:0}.settings-info{min-width:0}.settings-info p{margin:0}.settings-about{line-height:1.7}.bottom-nav{display:none}@media (width<=640px){.tabs{display:none}.app{padding-bottom:88px}.bottom-nav{padding:6px 8px calc(6px + env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(12px);border-top:1px solid var(--border);z-index:15;background:#1c1926eb;justify-content:space-around;display:flex;position:fixed;bottom:0;left:0;right:0}.bottom-nav button{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:12px;flex-direction:column;align-items:center;gap:2px;padding:4px 14px;font-size:1.25rem;transition:color .2s;display:flex}.bottom-nav button span{letter-spacing:.01em;font-size:.65rem;font-weight:600}.bottom-nav button.active{color:var(--accent)}.import-toast{bottom:calc(76px + env(safe-area-inset-bottom))}.next-up-card{gap:10px;padding:12px 10px}.next-up-poster{border-radius:8px;width:56px;height:80px}.next-up-info h3{font-size:1.05rem}.next-up-info p{font-size:.85rem}.btn.check{width:44px;height:44px;font-size:1.1rem}.result-poster{width:60px;height:86px}.result-card{padding:12px 10px}}@keyframes fade-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}@media (width<=520px){.show-grid{grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:12px}.detail-poster{width:100px}}.kind-badge{background:var(--surface-2);border:1px solid var(--border);color:var(--text-muted);vertical-align:middle;border-radius:999px;padding:1px 7px;font-size:.7rem;font-weight:600;display:inline-block}.movie-block{margin-top:8px}.rating-row{flex-wrap:wrap;align-items:center;gap:8px;margin:8px 0;display:flex}.rating-stars{gap:2px;display:flex}.rating-stars .star{color:var(--border);cursor:pointer;background:0 0;border:none;padding:2px;font-size:1.05rem;line-height:1;transition:color .15s}.rating-stars .star.filled{color:var(--accent)}@media (hover:hover){.rating-stars .star:hover{color:var(--accent)}}.rating-value,.card-rating{color:var(--accent);font-weight:600}.rating-avg-note{margin:0 0 8px}.skeleton{background:linear-gradient(90deg, var(--surface) 25%, var(--surface-2) 50%, var(--surface) 75%);background-size:200% 100%;border-radius:6px;animation:1.2s linear infinite shimmer}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.skeleton-line{height:.75rem;margin:7px 0}.skeleton-btn{border-radius:var(--radius);width:96px;height:32px;margin:4px 0}.skeleton-providers{width:220px;max-width:100%;height:22px}.cast-section{margin:24px 0 8px}.cast-card{flex:0 0 90px}.cast-photo{object-fit:cover;border-radius:var(--radius);background:var(--surface);width:90px;height:120px;display:block}.cast-photo.placeholder{justify-content:center;align-items:center;font-size:1.6rem;display:flex}.cast-character{-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;font-size:.68rem;display:-webkit-box;overflow:hidden}.person-modal{width:min(520px,94vw)}.person-list{flex-direction:column;gap:10px;max-height:45vh;margin:12px 0 0;padding:0;list-style:none;display:flex;overflow-y:auto}.show-all-credits{width:100%;margin-top:10px}.person-credit{align-items:center;gap:10px;display:flex}.person-poster{object-fit:cover;background:var(--surface-2);border-radius:6px;flex:none;width:42px;height:63px}.person-poster.placeholder{justify-content:center;align-items:center;display:flex}.person-credit-info{flex:1;min-width:0}.person-credit-info p{text-overflow:ellipsis;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;display:-webkit-box;overflow:hidden}.person-credit-open{min-width:0;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;flex:1;align-items:center;gap:10px;padding:0;display:flex}.credit-preview{align-items:flex-start;gap:14px;display:flex}.credit-preview-poster{object-fit:cover;border-radius:var(--radius);background:var(--surface-2);flex:none;width:100px;height:150px}.credit-preview-poster.placeholder{justify-content:center;align-items:center;font-size:2rem;display:flex}.credit-preview-summary{max-height:30vh;overflow-y:auto}.person-header{align-items:center;gap:12px;display:flex}.person-photo{object-fit:cover;border-radius:var(--radius);background:var(--surface-2);flex:none;width:72px;height:96px}.person-photo.placeholder{justify-content:center;align-items:center;font-size:1.8rem;display:flex}.person-header-info{min-width:0}.person-header-info h2{font-size:1.2rem}.person-header-info p{margin:2px 0 0}.person-birth{margin:4px 0 0}.person-bio{color:var(--text-muted);cursor:pointer;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:10px 0 4px;display:-webkit-box;overflow:hidden}.person-bio.open{-webkit-line-clamp:unset;max-height:32vh;display:block;overflow-y:auto}.know-more{color:var(--accent)}.director-link{font:inherit;color:inherit;cursor:pointer;text-decoration:underline;-webkit-text-decoration-color:var(--border);text-decoration-color:var(--border);text-underline-offset:3px;background:0 0;border:none;padding:0}@media (hover:hover){.director-link:hover{color:var(--accent);-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent)}}.trailer-modal{width:min(880px,94vw);max-width:none;padding:10px}.trailer-frame{aspect-ratio:16/9;border-radius:calc(var(--radius) - 4px);background:#000;border:0;width:100%;display:block}.trailer-modal-footer{justify-content:space-between;align-items:center;padding:8px 4px 0;display:flex}.show-summary{color:var(--text-muted);cursor:pointer;-webkit-line-clamp:4;-webkit-box-orient:vertical;margin:8px 0;display:-webkit-box;overflow:hidden}.show-summary.open{-webkit-line-clamp:unset;display:block}.trailer-link{margin:4px 0;text-decoration:none;display:inline-block}.mark-upto{margin-top:8px}.season-toggle{min-width:0;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;flex:1;align-items:center;gap:10px;padding:13px 4px 13px 14px;display:flex}.season-toggle .chevron{font-size:.9rem}.season-count{font-variant-numeric:tabular-nums;margin-left:auto}.season-mark{flex-shrink:0}@media (hover:hover){.season:has(.season-toggle:hover){border-color:var(--text-muted)}.season-toggle:hover .chevron,.season-toggle:hover h3{color:var(--accent)}}.season-progress{background:var(--surface-2);height:3px}.season-progress-fill{background:var(--accent);height:100%;transition:width .3s}.season .episode-list{background:0 0;border:none;border-radius:0}.aired-badge{color:var(--accent);background:#ffd60a24;border:1px solid #ffd60a66;border-radius:999px;padding:1px 8px;font-size:.72rem;font-weight:600;display:inline-block}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px;margin-bottom:8px;display:grid}.stat-tile{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;gap:2px;padding:14px;display:flex}.stat-tile strong{font-size:1.35rem}.stats-block{margin:16px 0}.month-chart{align-items:flex-end;gap:6px;display:flex}.month-col{flex-direction:column;flex:1;align-items:center;gap:4px;min-width:0;display:flex}.month-bar-track{align-items:flex-end;width:100%;height:72px;display:flex}.month-bar{background:var(--accent);border-radius:4px 4px 0 0;width:100%;min-height:2px}.month-label{font-size:.65rem}.month-max{color:var(--text);font-weight:600}.genre-row{align-items:center;gap:10px;margin:6px 0;display:flex}.genre-name{text-overflow:ellipsis;white-space:nowrap;flex:0 0 110px;overflow:hidden}.genre-track{background:var(--surface-2);border-radius:999px;flex:1;height:10px;overflow:hidden}.genre-bar{background:var(--accent);border-radius:999px;height:100%}.genre-count{text-align:right;flex:none;min-width:32px}.stats-marathon{margin:12px 0 0}.filters-bar{flex-wrap:wrap;gap:8px;margin-bottom:20px;display:flex}.filter-input,.filter-select{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);outline:none;padding:9px 12px;font-size:.9rem;transition:border-color .2s}.filter-input{flex:180px;min-width:0}.filter-select{cursor:pointer;flex:0 auto}.filter-input:focus,.filter-select:focus{border-color:var(--accent)}.section-title.sub{color:var(--text-muted);margin:20px 0 12px;font-size:1rem}.inner-tabs{gap:8px;margin:4px 0 16px;display:flex}.inner-tab{background:var(--surface);border:1px solid var(--border);color:var(--text-muted);font:inherit;cursor:pointer;border-radius:999px;padding:6px 14px;font-size:.85rem;transition:all .15s}.inner-tab.active{background:var(--accent);border-color:var(--accent);color:var(--accent-text);font-weight:600}.last-watched{margin:2px 0 0;font-size:.7rem}.poster-rail{gap:12px;margin:0;padding:4px 0 8px;list-style:none;display:flex;overflow-x:auto}.rail-card{flex:0 0 110px;position:relative}.rail-main{width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;padding:0;display:block}.rail-poster{object-fit:cover;border-radius:var(--radius);background:var(--surface);width:110px;height:165px;display:block}.rail-poster.placeholder{justify-content:center;align-items:center;font-size:2rem;display:flex}.rail-title{-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:6px 0 0;display:-webkit-box;overflow:hidden}.rail-sub{margin:2px 0 0;font-size:.7rem}.btn.check.rail-check{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#12101abf;width:34px;height:34px;font-size:.9rem;position:absolute;top:6px;right:6px}.movie-actions{flex-wrap:wrap;align-items:center;gap:12px;margin:4px 0 16px;display:flex}.result-actions{flex-direction:column;flex:none;align-items:stretch;gap:6px;display:flex}.result-actions .btn{white-space:nowrap}.related-movies-section{margin:20px 0}.related-movies{gap:12px;margin:0;padding:4px 0 8px;list-style:none;display:flex;overflow-x:auto}.related-card{flex-direction:column;flex:0 0 110px;gap:6px;display:flex}.related-poster{object-fit:cover;border-radius:var(--radius);background:var(--surface);width:110px;height:165px}.related-poster.placeholder{justify-content:center;align-items:center;font-size:2rem;display:flex}.related-title{-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;display:-webkit-box;overflow:hidden}.related-open{width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;padding:0;display:block}.related-open .related-title{margin-top:6px}
