:root{--bg:#202020;--header:#2a2a2a;--toolbar:#262626;--sidebar:#2a2a2a;--card:#333;--card-hover:#3a3a3a;--border:#3c3c3c;--text:#ccc;--text-bright:#fff;--text-muted:#8d8d8d;--success:#27c24c;--danger:#f05050;--warning:orange;--info:#5d9cec;--unaired:#7a7a7a;--accent:#1da3ff;--accent-dark:#0b86dc;--accent-text:#fff}.app,body{background:#202020;background:var(--bg)}.app{color:#ccc;color:var(--text);font-family:Roboto,Helvetica Neue,Helvetica,Arial,sans-serif;font-size:14px;min-height:100vh}.page-header-bar{background:#2a2a2a;background:var(--header);position:sticky;top:0;z-index:20}.logo,.page-header-bar{align-items:center;display:flex;height:60px}.logo{color:#1da3ff;color:var(--accent);flex-shrink:0;padding-left:24px;width:210px}.header-search{align-items:center;color:#e1e2e3;display:flex;gap:10px;margin-left:20px}.header-search input{background:#0000;border:none;border-bottom:1px solid #e1e2e3;color:#e1e2e3;font-size:15px;outline:none;padding:4px 0;width:200px}.header-search input::placeholder{color:#e1e2e3}.header-search input:focus{border-bottom-color:#1da3ff;border-bottom-color:var(--accent)}.app-body{display:flex;min-height:calc(100vh - 60px)}.main-content{flex:1 1;min-width:0}@media (max-width:768px){.app-body{flex-direction:column}.logo{font-size:20px;padding:0 16px;width:auto}.header-search input{width:120px}}.sidebar{align-self:flex-start;background:var(--sidebar);flex-shrink:0;height:calc(100vh - 60px);overflow-y:auto;position:sticky;top:60px;width:210px}.sidebar-item{border-left:3px solid #0000}.sidebar-item.active{background:#333;border-left-color:var(--accent)}.sidebar-link{align-items:center;color:#e1e2e3;display:flex;font-size:14px;gap:12px;padding:12px 24px 12px 21px;text-decoration:none}.sidebar-item.active .sidebar-link,.sidebar-link:hover{color:var(--accent)}.sidebar-sublink{color:#e1e2e3;display:block;font-size:14px;padding:10px 24px 10px 49px;text-decoration:none}.sidebar-sublink.nested{font-size:13px;padding-left:65px}.sidebar-sublink.current,.sidebar-sublink:hover{color:var(--accent)}@media (max-width:768px){.sidebar{display:flex;height:auto;position:static;width:100%}.sidebar-item{border-bottom:3px solid #0000;border-left:none;flex:1 1}.sidebar-item.active{border-bottom-color:var(--accent)}.sidebar-link{justify-content:center;padding:12px 8px}.sidebar-sublink{display:none}}.global-search{margin-left:20px;position:relative}.global-search .header-search{margin-left:0}.global-search .header-search input{width:320px}.search-menu{background:#333;box-shadow:0 6px 24px #0009;left:0;max-height:calc(100vh - 90px);overflow-y:auto;padding:4px 0;position:absolute;top:calc(100% + 12px);width:420px;z-index:50}.search-group{color:var(--accent);font-size:11px;font-weight:600;letter-spacing:.5px;padding:10px 14px 4px;text-transform:uppercase}.search-item{align-items:center;color:#e1e2e3;display:flex;gap:12px;padding:6px 14px;text-decoration:none}.search-item.active{background:#444}.search-thumb{background:#2a2a2a;flex-shrink:0;height:51px;overflow:hidden;width:34px}.search-thumb.round{border-radius:50%;height:42px;width:42px}.search-thumb img{height:100%;object-fit:cover;width:100%}.search-text{min-width:0}.search-label,.search-sub{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.search-label{font-size:14px}.search-sub{color:var(--text-muted);font-size:12px;margin-top:2px}.search-empty{color:var(--text-muted);padding:14px}.search-all{background:none;border:none;border-top:1px solid #444;color:var(--accent);cursor:pointer;font:inherit;margin-top:4px;padding:10px 14px;text-align:left;width:100%}.search-all:hover{background:#3c3c3c}@media (max-width:768px){.global-search{flex:1 1;margin-left:0;padding-right:16px}.global-search .header-search input{width:100%}.search-menu{left:0;position:fixed;right:0;top:60px;width:auto}}.search-blocked{background:var(--danger);border-radius:3px;color:#fff;font-size:10px;font-weight:600;margin-left:8px;padding:1px 5px;vertical-align:middle}.poster-grid-wrap{--poster-width:160px;flex:1 1;min-width:0;padding:20px}.poster-size-small{--poster-width:125px}.poster-size-medium{--poster-width:160px}.poster-size-large{--poster-width:205px}.poster-grid{grid-gap:18px 20px;display:grid;gap:18px 20px;grid-template-columns:repeat(auto-fill,minmax(var(--poster-width),1fr))}.poster-card{box-shadow:0 0 10px #00000080;color:inherit;display:block;text-decoration:none;transition:transform .15s}.poster-card:hover{transform:scale(1.03)}.poster-image{aspect-ratio:2/3;background:#3a3a3a;overflow:hidden;position:relative}.poster-image img{display:block;height:100%;object-fit:cover;width:100%}.poster-fallback{align-items:center;background:linear-gradient(160deg,#444,#2b2b2b);color:#e1e2e3;display:flex;font-size:15px;height:100%;justify-content:center;line-height:1.3;padding:12px;text-align:center}.poster-status{background:var(--success);height:5px}.poster-status-detailed{color:#fff;font-size:11px;height:18px;line-height:18px;text-align:center;text-shadow:0 0 2px #0009}.poster-footer{background:#333;padding:5px 6px 6px;text-align:center}.poster-line{color:#e1e2e3;font-size:12px;line-height:18px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.poster-line-muted,.poster-sentinel{color:var(--text-muted)}.poster-sentinel{align-items:center;display:flex;height:40px;justify-content:center}.poster-empty{color:var(--text-muted);padding:40px;text-align:center}@media (max-width:768px){.poster-grid-wrap{--poster-width:105px;padding:12px}.poster-grid{gap:12px}}.poster-folder{background:#000000b3;border-radius:3px;color:var(--accent);display:flex;padding:3px;position:absolute;right:6px;top:6px}.poster-card.selectable{cursor:pointer}.poster-card.selectable:hover{transform:none}.poster-check{align-items:center;background:#00000080;border:2px solid #fff;border-radius:4px;color:#fff;display:flex;font-size:14px;font-weight:700;height:22px;justify-content:center;left:6px;position:absolute;top:6px;width:22px;z-index:1}.poster-card.selected{outline:3px solid var(--accent);outline-offset:2px}.poster-card.selected .poster-check{background:var(--accent);border-color:var(--accent)}.poster-status-blocked{background:var(--danger)}.modal-backdrop{align-items:center;background:#0009;display:flex;inset:0;justify-content:center;padding:20px;position:fixed;z-index:100}.modal{background:#2a2a2a;box-shadow:0 6px 30px #000000b3;display:flex;flex-direction:column;max-height:calc(100vh - 40px);max-width:1080px;width:100%}.modal-header{align-items:center;border-bottom:1px solid #3c3c3c;display:flex;justify-content:space-between;padding:15px 30px}.modal-header h2{color:#e1e2e3;font-size:18px;font-weight:400;margin:0}.modal-close{background:none;border:none;color:#e1e2e3;cursor:pointer;display:flex}.modal-close:hover{color:var(--accent)}.modal-body{flex:1 1;overflow-y:auto;padding:30px}.option-row{grid-gap:20px;align-items:center;display:grid;gap:20px;grid-template-columns:250px minmax(0,530px);margin-bottom:20px;min-height:35px}.option-label{color:#e1e2e3;font-size:14px;font-weight:600;text-align:right}.option-select{background:#333;border:1px solid #dde6e9;border-radius:4px;color:#e1e2e3;font:inherit;font-size:14px;height:35px;padding:0 12px}.option-select:focus{border-color:var(--accent);outline:none}.option-check{align-items:center;color:#a0a0a0;cursor:pointer;display:flex;font-size:14px;gap:10px}.option-check input{accent-color:var(--accent);cursor:pointer;height:20px;margin:0;width:20px}.modal-footer{border-top:1px solid #3c3c3c;display:flex;justify-content:flex-end;padding:15px 30px}.modal-button{background:#333;border:1px solid #393f45;border-radius:4px;color:#e1e2e3;cursor:pointer;font:inherit;font-size:14px;padding:6px 16px}.modal-button:hover{background:#3c3c3c;border-color:#5a5a5a}@media (max-width:768px){.modal-body{padding:20px}.option-row{gap:6px;grid-template-columns:1fr}.option-label{text-align:left}}.filter-text{width:100%}.filter-rows{display:flex;flex-direction:column;gap:12px;margin-top:10px}.filter-row{grid-gap:10px;align-items:start;background:#333;display:grid;gap:10px;grid-template-columns:190px 170px minmax(0,1fr) 32px;padding:12px}.filter-value{min-width:0}.filter-chips{display:flex;flex-wrap:wrap;gap:6px;max-height:150px;overflow-y:auto}.filter-chip{align-items:center;background:#2a2a2a;border:1px solid #555;border-radius:14px;color:#e1e2e3;cursor:pointer;display:inline-flex;font:inherit;font-size:12px;gap:6px;padding:5px 10px}.filter-chip span{color:var(--text-muted);font-size:11px}.filter-chip.selected{background:var(--accent);border-color:var(--accent);color:var(--accent-text)}.filter-chip.selected span{color:inherit;opacity:.8}.filter-row-remove{align-items:center;background:none;border:none;color:#aaa;cursor:pointer;display:flex;height:35px;justify-content:center;width:32px}.filter-row-remove:hover:not(:disabled){color:var(--danger)}.filter-row-remove:disabled{cursor:default;opacity:.3}.filter-add{align-self:flex-start}.filter-footer{gap:10px}.filter-footer-spacer{flex:1 1}.modal-button.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-text)}.modal-button.danger{background:var(--danger);border-color:var(--danger);color:#fff}@media (max-width:768px){.filter-row{grid-template-columns:1fr 32px}.filter-row>select,.filter-value{grid-column:1}.filter-row-remove{grid-column:2;grid-row:1}}.filter-people{margin:6px 0}.filter-people:first-child{margin-top:0}.mass-edit-bar{background:#2a2a2a;border-top:2px solid var(--accent);bottom:0;box-shadow:0 -4px 16px #00000080;color:#e1e2e3;font-size:13px;gap:10px 20px;justify-content:space-between;left:210px;padding:12px 20px;position:fixed;right:0;z-index:30}.mass-edit-bar,.mass-edit-group{align-items:center;display:flex;flex-wrap:wrap}.mass-edit-group{gap:8px}.mass-edit-bar strong{color:#fff;font-size:14px;margin-right:6px}.mass-edit-bar button,.mass-edit-bar select{background:#3a3a3a;border:1px solid #555;border-radius:4px;color:#e1e2e3;cursor:pointer;font:inherit;height:32px;padding:0 12px}.mass-edit-bar button:disabled{cursor:default;opacity:.5}.mass-edit-bar button.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-text)}.mass-edit-bar button.danger{background:#0000;border-color:var(--danger);color:var(--danger)}.mass-edit-bar a{color:var(--accent)}.mass-edit-muted{color:var(--text-muted)}.mass-edit-divider{background:#4a4a4a;height:24px;margin:0 4px;width:1px}.mass-edit-check{align-items:center;color:var(--text-muted);display:flex;gap:5px}.mass-edit-error{color:var(--danger);width:100%}.library:has(.mass-edit-bar) .poster-grid-wrap{padding-bottom:120px}@media (max-width:768px){.mass-edit-bar{left:0}}.toolbar{background:var(--toolbar);height:60px;justify-content:space-between;padding:0 10px;position:sticky;top:60px;z-index:15}.toolbar,.toolbar-group{align-items:center;display:flex}.toolbar-group{height:100%}.toolbar-separator{background:#4a4a4a;height:40px;margin:0 12px;width:1px}.toolbar-button{align-items:center;background:none;border:none;color:#e1e2e3;cursor:pointer;display:flex;flex-direction:column;font:inherit;font-size:11px;gap:3px;height:60px;justify-content:center;min-width:60px;padding:0 6px;text-decoration:none}.toolbar-button.active,.toolbar-button:hover:not(:disabled){color:var(--accent)}.toolbar-button:disabled{cursor:wait;opacity:.5}.toolbar-count{color:var(--text-muted);font-size:13px;margin-right:14px}.toolbar-dropdown{position:relative}.menu-backdrop{inset:0;position:fixed;z-index:1}.toolbar-menu{background:#3a3a3a;box-shadow:0 4px 14px #00000080;list-style:none;margin:0;min-width:160px;padding:4px 0;position:absolute;right:0;top:58px;z-index:2}.toolbar-menu button{background:none;border:none;color:#e1e2e3;cursor:pointer;display:flex;font:inherit;justify-content:space-between;padding:9px 16px;text-align:left;width:100%}.toolbar-menu button:hover{background:#474747}.toolbar-menu button.selected{color:var(--accent)}.filter-menu{min-width:220px}.menu-divider{background:#4a4a4a;height:1px;margin:4px 0}.menu-heading{color:var(--text-muted);font-size:11px;font-weight:600;letter-spacing:.5px;padding:6px 16px 2px;text-transform:uppercase}.menu-count{color:var(--text-muted);font-size:12px;margin-left:12px}.menu-row{display:flex}.toolbar-menu .menu-edit{color:var(--text-muted);flex-shrink:0;justify-content:center;width:36px}.toolbar-filter-name,.toolbar-menu .menu-edit:hover{color:var(--accent)}.sort-dir{font-size:10px}.toolbar-notice{background:#2f3d2f;color:#cfe8cf;font-size:13px;padding:10px 20px}.jump-bar,.library-body{display:flex}.jump-bar{align-self:flex-start;flex-direction:column;flex-shrink:0;height:calc(100vh - 150px);justify-content:space-between;padding:0 4px 0 0;position:sticky;top:130px;width:26px}.jump-bar button{background:none;border:none;color:#e1e2e3;cursor:pointer;flex:1 1;font:inherit;font-size:12px}.jump-bar button.active,.jump-bar button:hover{color:var(--accent)}@media (max-width:768px){.toolbar{position:static}.jump-bar,.toolbar-button span,.toolbar-count{display:none}}.settings-page{display:flex;flex-direction:column;gap:20px;height:100%;padding:20px}.settings-page h2{color:#fff;font-size:24px;margin:0 0 20px}.settings-section{background:var(--card);border:1px solid #444;border-radius:6px;padding:20px}.section-title{margin-bottom:20px}.section-title h3{color:#fff;font-size:18px;margin:0 0 6px}.section-title p{color:#a0a0a0;font-size:13px;margin:0}.settings-subsection{border-top:1px solid #444;padding:16px 0 0;scroll-margin-top:80px}.settings-subsection+.settings-subsection{margin-top:24px}.settings-subsection h4{color:var(--accent);font-size:16px;margin:0}.settings-subsection .error{margin-bottom:16px}.section-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:20px}.section-header h3{color:#fff;font-size:18px;margin:0}.btn-primary{background:var(--accent);border:none;border-radius:4px;color:var(--accent-text);cursor:pointer;font-size:14px;font-weight:600;padding:10px 16px;transition:all .2s}.btn-primary:hover:not(:disabled){box-shadow:0 4px 12px #0000004d;transform:translateY(-2px)}.btn-primary:disabled{cursor:not-allowed;opacity:.6}.playlist-form{background:var(--bg);border:1px solid #444;border-radius:6px;gap:16px;margin-bottom:20px;padding:16px}.form-group,.playlist-form{display:flex;flex-direction:column}.form-group{gap:6px}.form-group label{color:#fff;font-size:13px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.form-group input,.form-group select{background:var(--card);border:1px solid #444;border-radius:4px;color:#e0e0e0;font-size:14px;padding:10px 12px;transition:all .2s}.form-group input:focus,.form-group select:focus{border-color:var(--accent);box-shadow:0 0 0 3px #0000004d;outline:none}.form-group input:disabled,.form-group select:disabled{cursor:not-allowed;opacity:.5}.error{background:#e74c3c;border-radius:4px;color:#fff;font-size:13px;padding:10px}.empty,.loading{color:#888;font-size:14px;padding:20px;text-align:center}.playlists-table{border:1px solid #444;border-radius:6px;overflow:hidden}.table-header{background:var(--card);border-bottom:2px solid #444;color:#aaa;font-size:12px;font-weight:600;letter-spacing:.5px;position:sticky;text-transform:uppercase;top:0}.table-header,.table-row{grid-gap:16px;display:grid;gap:16px;grid-template-columns:180px minmax(0,1fr) 90px 170px 130px;padding:12px 16px}.table-row{align-items:center;border-bottom:1px solid #333;font-size:13px;transition:background .2s}.table-row:hover{background:var(--card-hover)}.col-name{color:#fff;font-weight:500}.col-name,.col-url{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.col-url{color:#aaa;font-family:Courier New,monospace;font-size:11px}.col-action{display:flex;gap:6px;justify-content:flex-end}.col-num{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;text-align:right}.col-sync{color:#aaa;white-space:nowrap}.sync-error{color:#f05050;cursor:help}.sync-active{color:var(--accent)}.sync-paused{color:var(--warning);cursor:help}.sync-muted{color:#777}.badge{background:var(--accent);color:var(--accent-text);font-family:inherit;font-size:10px;margin-left:8px;padding:1px 6px}.btn-icon{background:#3a3a3a;border:1px solid #555;border-radius:4px;color:#e1e2e3;cursor:pointer;font-size:16px;height:32px;width:32px}.btn-icon:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.btn-icon:disabled{cursor:wait;opacity:.5}.form-title{color:var(--accent);font-weight:600}.form-check{align-items:flex-start;cursor:pointer;display:flex;gap:10px}.form-check input{accent-color:var(--accent);height:18px;margin:2px 0 0;width:18px}.form-check strong{color:#fff;display:block;font-size:14px}.form-check small{color:#a0a0a0;font-size:13px;word-break:break-all}.form-actions{display:flex;gap:10px}.form-actions .btn-primary{flex:1 1}.btn-secondary{background:#3a3a3a;border:1px solid #555;border-radius:4px;color:#e1e2e3;cursor:pointer;font:inherit;font-size:14px;padding:10px 16px}.btn-delete{align-items:center;background:#e74c3c;border:none;border-radius:4px;color:#fff;cursor:pointer;display:flex;font-size:16px;height:32px;justify-content:center;transition:all .2s;width:32px}.btn-delete:hover:not(:disabled){background:#c0392b}.btn-delete:disabled{cursor:not-allowed;opacity:.6}@media (max-width:1024px){.table-header,.table-row{grid-template-columns:150px minmax(0,1fr) 80px 150px 120px}}@media (max-width:768px){.playlist-form{flex-direction:column}.table-header,.table-row{gap:8px;grid-template-columns:1fr}.col-name:before{content:"Name: "}.col-name:before,.col-url:before{color:var(--accent);font-weight:600}.col-url:before{content:"URL: "}.table-header{display:none}.col-num{text-align:left}.col-action{justify-content:flex-start}}.rootfolder-grid{grid-template-columns:minmax(0,1fr) 90px 110px 80px}.playlist-grid{grid-template-columns:180px minmax(0,1fr) 130px 90px 170px 130px}.col-folder{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.settings-notice{background:#2f3d2f;color:#cfe8cf;font-size:13px;padding:10px 14px}.section-title code{color:#e1e2e3}.filter-hint{color:var(--text-muted);font-size:13px;margin:0}@media (max-width:768px){.playlist-grid,.rootfolder-grid{grid-template-columns:1fr}.col-folder:before{color:var(--accent);content:"Root Folder: ";font-weight:600}}.playlists-table .col-url a{color:var(--accent)}.duplicate-head{align-items:center;color:#fff;display:flex;flex-wrap:wrap;gap:10px;margin-bottom:10px}.duplicate-type{color:var(--text-muted)}.duplicate-spacer{flex:1 1}.badge-muted{background:var(--unaired)}.duplicate-row{align-items:center;border-top:1px solid var(--border);display:flex;gap:12px;padding:8px 0}.duplicate-blank,.duplicate-row img{background:#3a3a3a;border-radius:2px;flex-shrink:0;height:60px;object-fit:cover;width:40px}.duplicate-info{flex:1 1;min-width:0}.duplicate-info a{color:var(--accent);text-decoration:none}.duplicate-sub{color:var(--text-muted);font-size:13px;margin-top:3px}.root-folder-bar{align-items:center;background:var(--card);border-left:4px solid #555;color:#e1e2e3;display:flex;flex-wrap:wrap;font-size:13px;gap:10px;margin:0 30px;padding:12px 16px}.root-folder-error{color:var(--danger)}.root-folder-spacer{flex:1 1}.root-folder-btn{background:#3a3a3a;border:1px solid #555;border-radius:4px;color:#e1e2e3;cursor:pointer;font:inherit;height:30px;padding:0 12px}.root-folder-btn.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-text)}.root-folder-btn:disabled{cursor:wait;opacity:.6}@media (max-width:768px){.root-folder-bar{margin:0 12px}}.root-folder-bar.blocked{border-left-color:var(--danger)}.root-folder-bar.blocked>svg{color:var(--danger)}.detail-page{margin:0}.back-link{color:var(--text-muted);display:inline-block;margin:12px 20px;text-decoration:none}.back-link:hover{color:var(--accent)}.detail-header{background:#1a1a1a;min-height:425px;overflow:hidden;position:relative}.detail-backdrop{background-position:top;background-size:cover;inset:0;position:absolute}.detail-backdrop-overlay{background:#0009;inset:0;position:absolute}.detail-header-content{display:flex;gap:35px;padding:30px;position:relative}.detail-poster{flex-shrink:0;width:250px}.detail-poster img,.detail-poster-empty{aspect-ratio:2/3;border-radius:4px;box-shadow:0 0 20px #000c;object-fit:cover;width:100%}.detail-poster-empty{align-items:center;background:var(--card);color:var(--text-muted);display:flex;justify-content:center;padding:16px;text-align:center}.detail-info{color:var(--text-bright);flex:1 1;min-width:0}.detail-title{font-size:50px;font-weight:300;line-height:1.1;margin:0 0 10px}.detail-meta{align-items:center;color:#fff;display:flex;flex-wrap:wrap;font-size:20px;font-weight:300;gap:6px 20px;margin-bottom:14px}.detail-cert{border:1px solid #e1e1e1;border-radius:3px;font-size:14px;line-height:22px;padding:0 6px}.detail-rating{align-items:center;display:inline-flex;gap:6px}.detail-rating svg{fill:var(--danger);stroke:var(--danger)}.detail-labels{display:flex;flex-wrap:wrap;gap:8px 10px;margin-bottom:16px}.label{align-items:center;background:#ffffff2e;border-radius:2px;color:#fff;display:inline-flex;font-size:17px;font-weight:300;gap:8px;max-width:100%;padding:3px 9px;word-break:break-all}.label svg{flex-shrink:0}.label-links{cursor:pointer;position:relative}.label-links-menu{background:var(--card);border-radius:2px;box-shadow:0 4px 12px #0009;display:none;left:0;min-width:100%;padding:6px 0;position:absolute;top:100%;z-index:5}.label-links:focus-within .label-links-menu,.label-links:hover .label-links-menu{display:block}.label-links-menu a{color:#fff;display:block;font-size:14px;padding:5px 12px;text-decoration:none;white-space:nowrap}.label-links-menu a:hover{color:var(--accent)}.detail-tagline{color:#bdbdbd;font-style:italic;margin:0 0 8px}.detail-overview{color:#fff;font-size:16px;line-height:1.6;margin:0 0 18px;max-width:900px}.detail-section{padding:20px 30px}.detail-section h2{color:var(--text-bright);font-size:21px;font-weight:400;margin:0 0 14px}.detail-table{background:var(--card);border-collapse:collapse;width:100%}.detail-table th{border-bottom:1px solid var(--border);color:var(--text-muted);font-weight:500;padding:8px 10px;text-align:left}.detail-table td{border-top:1px solid var(--border);padding:8px 10px}.detail-table tbody tr:hover{background:var(--card-hover)}.cell-num{color:var(--text-muted);width:50px}.cell-action{text-align:right;white-space:nowrap;width:1%}.btn-play{background:var(--success);border-radius:3px;color:#fff;display:inline-block;font-size:12px;font-weight:600;padding:3px 12px;text-decoration:none}.btn-play:hover{filter:brightness(1.1)}.badge{border-radius:3px;color:#fff;display:inline-block;font-size:12px;font-weight:600;padding:2px 8px}.badge-success{background:var(--success)}.badge-warning{background:var(--warning)}.badge-danger{background:var(--danger)}.badge-unaired{background:var(--unaired)}.season{background:var(--header);border:1px solid #555;border-radius:4px;margin-bottom:20px;overflow:hidden}.season-header{align-items:center;background:none;border:none;color:var(--text-bright);cursor:pointer;display:flex;font:inherit;padding:16px 18px;text-align:left;width:100%}.season-header:hover{background:var(--card-hover)}.season-date,.season-left{flex:1 1}.season-left{align-items:center;display:flex;gap:14px}.season-chevron{color:#e1e2e3;display:flex}.season-header:hover .season-chevron{color:var(--accent)}.season-name{font-size:24px;font-weight:300}.season-date{color:var(--text-muted);text-align:right}.season-body{border-top:1px solid var(--border)}.season-body .detail-table{background:#0000}.cast-row{display:flex;gap:14px;overflow-x:auto;padding-bottom:8px}.cast-card{color:inherit;flex:0 0 120px;text-decoration:none}.cast-card img,.cast-empty{aspect-ratio:2/3;background:var(--card);border-radius:4px;object-fit:cover;width:120px}.cast-name{color:var(--text-bright);font-size:13px;margin-top:6px}.cast-role{color:var(--text-muted);font-size:12px}@media (max-width:768px){.detail-page{margin:0}.detail-header-content{align-items:center;flex-direction:column;padding:20px 16px}.detail-poster{width:160px}.detail-title{font-size:30px;text-align:center}.detail-labels,.detail-meta{font-size:16px;justify-content:center}.label{font-size:14px}.season-name{font-size:18px}.detail-section{padding:16px}.season-date{visibility:hidden}}.cast-card:hover .cast-name{color:var(--accent)}.label-error{background:var(--danger)}.option-wide{width:100%}.option-help{color:#a0a0a0;font-size:13px;margin-top:6px}.option-help a{color:var(--accent)}.option-error{color:var(--danger)}.modal-footer-split{justify-content:space-between}.modal-footer-actions{display:flex;gap:10px}.modal-small{max-width:720px}.modal-small .option-row{grid-template-columns:180px minmax(0,1fr)}.delete-path{align-items:center;color:#e1e2e3;display:flex;font-size:15px;gap:10px;margin-bottom:24px;word-break:break-all}.delete-path svg{flex-shrink:0}.person-page-body,.search-page{padding:20px}.search-page h1{color:#fff;font-size:22px;font-weight:400;margin:0 0 10px}.search-section{margin-top:20px}.search-section h2{color:#fff;font-size:18px;font-weight:400;margin:0 0 12px}.search-section h2 span{color:var(--text-muted);font-size:14px;margin-left:6px}.search-grid{padding:0}.search-none{color:var(--text-muted)}.person-grid{grid-gap:18px;display:grid;gap:18px;grid-template-columns:repeat(auto-fill,minmax(120px,1fr))}.person-card{color:inherit;text-align:center;text-decoration:none}.person-photo{align-items:center;background:#3a3a3a;border-radius:50%;color:var(--text-muted);display:flex;font-size:36px;height:110px;justify-content:center;margin:0 auto 8px;overflow:hidden;width:110px}.person-photo img{height:100%;object-fit:cover;width:100%}.person-card:hover .person-name{color:var(--accent)}.person-name{color:#e1e2e3;font-size:14px}.person-sub{color:var(--text-muted);font-size:12px}.credit-list{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}.credit-item{align-items:center;background:var(--card);display:flex;gap:10px;padding:6px}.credit-item .credit-blank,.credit-item img{background:#2a2a2a;flex-shrink:0;height:60px;object-fit:cover;width:40px}.credit-title{color:#e1e2e3}.credit-sub{color:var(--text-muted);font-size:12px}.person-roles{color:var(--text-muted);font-size:11px;margin-top:4px;overflow:hidden;text-align:center;text-overflow:ellipsis;white-space:nowrap}.bio-toggle{background:none;border:none;color:var(--accent);cursor:pointer;font:inherit;padding:0}.discover-toolbar{gap:16px}.discover-tabs{display:flex;height:100%;overflow-x:auto;scrollbar-width:none}.discover-tab{align-items:center;border-bottom:3px solid #0000;color:#e1e2e3;display:flex;font-size:14px;padding:0 14px;text-decoration:none;white-space:nowrap}.discover-tab:hover{color:var(--accent)}.discover-tab.active{border-bottom-color:var(--accent);color:var(--accent)}.discover-toggle{align-items:center;color:#e1e2e3;cursor:pointer;display:flex;flex-shrink:0;font-size:13px;gap:8px;padding-right:10px}.discover-toggle input{accent-color:var(--accent);height:16px;margin:0;width:16px}.discover-count{color:var(--text-muted)}.discover-card .poster-image{position:relative}.discover-card.not-owned .poster-image img{opacity:.55}.discover-card.not-owned:hover .poster-image img{opacity:.85}.discover-badge{background:#000000bf;border-radius:3px;color:#ccc;font-size:10px;font-weight:600;left:6px;padding:2px 6px;position:absolute;top:6px}.discover-badge.owned{background:var(--success);color:#fff}.discover-badge.blocked{background:var(--danger);color:#fff}.poster-status-missing{background:#555}@media (max-width:768px){.discover-toolbar{align-items:stretch;flex-direction:column;gap:0;height:auto}.discover-tabs{height:48px}.discover-toggle{padding:8px 10px}.discover-count{display:none}}.calendar{padding:20px}.calendar-header{align-items:center;display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between;margin-bottom:12px}.calendar-nav{display:flex;gap:6px}.calendar-title{color:#e1e2e3;font-size:20px;font-weight:300}.calendar-buttons{display:flex}.calendar-buttons button{align-items:center;background:#333;border:1px solid #393f45;border-left-width:0;color:#e1e2e3;cursor:pointer;display:flex;font:inherit;font-size:15px;height:34px;padding:0 16px}.calendar-buttons button:first-child{border-left-width:1px;border-radius:4px 0 0 4px}.calendar-buttons button:last-child{border-radius:0 4px 4px 0}.calendar-buttons button:only-child{border-radius:4px}.calendar-buttons button:hover{background:#3c3c3c}.calendar-buttons button.selected{background:#2a2a2a;color:var(--text-muted);cursor:default}.calendar-empty,.calendar-notice{color:var(--text-muted);margin:0 0 12px}.calendar-empty{padding:12px}.calendar-grid{border-width:1px;border-bottom:0 solid var(--border);border-left:1px solid var(--border);border-right:0 solid var(--border);border-top:1px solid var(--border);display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.calendar-grid.day{grid-template-columns:minmax(0,1fr)}.calendar-day-header{background:var(--header);border-right:1px solid var(--border);color:#e1e2e3;font-size:15px;padding:4px 0;text-align:center}.calendar-day-header.today,.calendar-day.today{background:#3a3a3a}.calendar-day{border-width:1px;border-bottom:1px solid var(--border);border-left:0 solid var(--border);border-right:1px solid var(--border);border-top:0 solid var(--border);min-height:90px}.calendar-grid.week .calendar-day{min-height:300px}.calendar-day.other-month{opacity:.5}.calendar-day-number{color:var(--text-muted);font-size:12px;padding:2px 6px;text-align:right}.calendar-event{border-bottom:1px solid var(--border);border-left:4px solid var(--unaired);color:#e1e2e3;display:block;font-size:13px;margin:3px 2px;padding:5px 8px;text-decoration:none}.calendar-event:hover{background:var(--card-hover)}.calendar-event.unaired{border-left-color:var(--info)}.calendar-event.airing{border-left-color:var(--warning)}.calendar-event.missing{border-left-color:var(--danger)}.calendar-event.available{border-left-color:var(--success)}.calendar-event-series{color:#fff;font-size:15px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calendar-event-episode{display:flex;gap:8px;justify-content:space-between}.calendar-event-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calendar-grid.month .calendar-event{border-bottom:none;padding:2px 6px}.calendar-grid.month .calendar-event-series{font-size:13px}.calendar-grid.month .calendar-event-episode{color:var(--text-muted);font-size:12px}.agenda-row{grid-gap:12px;align-items:center;border-bottom:1px solid var(--border);color:#e1e2e3;display:grid;gap:12px;grid-template-columns:120px 10px minmax(0,1.2fr) 60px minmax(0,2fr);padding:8px 10px;text-decoration:none}.agenda-row:hover{background:var(--card-hover)}.agenda-date,.agenda-number{color:var(--text-muted)}.agenda-series,.agenda-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.agenda-status{border-radius:50%;height:10px;width:10px}.agenda-status.unaired{background:var(--info)}.agenda-status.airing{background:var(--warning)}.agenda-status.missing{background:var(--danger)}.agenda-status.available{background:var(--success)}.calendar-legend{color:#e1e2e3;display:flex;flex-wrap:wrap;font-size:13px;gap:8px 20px;margin-top:16px}.calendar-legend span{border-left:4px solid;padding-left:8px}.calendar-legend .unaired{border-color:var(--info)}.calendar-legend .airing{border-color:var(--warning)}.calendar-legend .missing{border-color:var(--danger)}.calendar-legend .available{border-color:var(--success)}@media (max-width:768px){.calendar{padding:12px}.calendar-grid.month,.calendar-grid.week{grid-template-columns:minmax(0,1fr)}.calendar-grid.month .calendar-day-header,.calendar-grid.week .calendar-day-header{display:none}.calendar-grid.week .calendar-day{min-height:0}.agenda-row{grid-template-columns:80px 10px minmax(0,1fr) 50px}.agenda-title{display:none}}.people-body{padding:20px}.people-search{background:#333;border:1px solid #555;border-radius:4px;color:#e1e2e3;font:inherit;height:34px;margin-right:10px;padding:0 12px;width:220px}.people-search:focus{border-color:var(--accent);outline:none}.people-more{background:#333;border:1px solid #555;border-radius:4px;color:#e1e2e3;cursor:pointer;display:block;font:inherit;margin:24px auto 0;padding:8px 20px}.people-more:hover{background:#3c3c3c}@media (max-width:768px){.people-search{margin:8px 10px;width:auto}}.livetv-filters{align-items:center;display:flex}.search-none a{color:var(--accent)}.livetv-actions{align-items:center;display:flex;flex-wrap:wrap;gap:10px;margin-bottom:18px}.livetv-actions .people-more{margin:0}.people-more:disabled{cursor:default;opacity:.5}.livetv-spacer{flex:1 1}.mapping-scroll{margin-bottom:18px;overflow-x:auto}.mapping-table{border-collapse:collapse;font-size:13px;width:100%}.mapping-table td,.mapping-table th{border-bottom:1px solid var(--border);padding:6px 10px;text-align:left;white-space:nowrap}.mapping-table th{color:var(--text-muted);font-weight:600}.mapping-table tbody tr:hover{background:var(--card-hover)}.mapping-table tr.on td:first-child{box-shadow:inset 3px 0 0 #3fb950}.mapping-table tr.off td:first-child{box-shadow:inset 3px 0 0 #f85149}.group-row.off .group-name,.mapping-table tr.off .col-logo,.mapping-table tr.off .col-name{opacity:.5}.mapping-table .muted{color:var(--text-muted)}.mapping-table .col-logo img{display:block;max-height:26px;max-width:40px;object-fit:contain}.mapping-input{background:var(--card);border:1px solid var(--border);border-radius:4px;color:inherit;font-size:12px;padding:4px 6px;width:190px}.mapping-input.number{width:64px}.mapping-input:focus{border-color:var(--accent);outline:none}.mapping-table .col-check{text-align:center;width:1%}.mapping-table .clickable,.mapping-table .sortable{cursor:pointer}.mapping-table .sortable{-webkit-user-select:none;user-select:none}.mapping-table .sortable:hover,.mapping-table .sorted{color:var(--accent)}.mapping-table .col-name{color:#e1e2e3}.mapping-table [class*=category-]{box-shadow:inset 3px 0 0 var(--category)}.category-kids{--category:#d29922}.category-news{--category:#58a6ff}.category-movie{--category:#bc8cff}.category-series{--category:#39c5cf}.category-sports{--category:#3fb950}.mapping-table .col-guide{max-width:220px;overflow:hidden;text-overflow:ellipsis}.group-row input,.mapping-table input[type=checkbox]{accent-color:var(--accent);height:15px;margin:0;width:15px}.xmltv-url{flex:1 1;min-width:260px}.xmltv-url-cell{max-width:320px;overflow:hidden;text-overflow:ellipsis}.xmltv-buttons{display:flex;gap:8px;justify-content:flex-end}.xmltv-buttons .people-more{margin:0}.group-grid{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.group-row{align-items:center;background:var(--card);border:1px solid var(--border);border-radius:6px;cursor:pointer;display:flex;gap:10px;padding:10px 12px}.group-name{color:#e1e2e3;flex:1 1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.group-count{color:var(--text-muted);font-size:12px;white-space:nowrap}@media (max-width:768px){.livetv-filters{flex-wrap:wrap}}
/*# sourceMappingURL=main.dee6860e.css.map*/