*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;line-height:1.5}body{min-height:100vh;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif}img{max-width:100%;height:auto;display:block}button{cursor:pointer;font:inherit;color:inherit;background:0 0;border:none}a{color:var(--color-primary);text-decoration:none}a:hover{text-decoration:underline}:root{--color-bg:#f5f5f5;--color-bg-secondary:#fff;--color-text:#1a1a1a;--color-text-secondary:#666;--color-border:#e0e0e0;--color-primary:#b91c1c;--color-primary-hover:#991b1b;--color-accent:#dc2626;--sidebar-width:280px;--sidebar-bg:#fff;--card-bg:#fff;--card-shadow:0 2px 8px #0000001a;--card-shadow-hover:0 4px 16px #00000026;--button-bg:#e5e5e5;--button-bg-hover:#d4d4d4;--button-bg-selected:var(--color-primary);--button-text-selected:#fff;--spacing-xs:.25rem;--spacing-sm:.5rem;--spacing-md:1rem;--spacing-lg:1.5rem;--spacing-xl:2rem;--radius-sm:4px;--radius-md:8px;--radius-lg:12px;--badge-sat:25%;--badge-lgt:70%;--badge-lgt-accent:62%;--badge-text:#2a1010}[data-theme=dark]{--color-bg:#121212;--color-bg-secondary:#1e1e1e;--color-text:#e5e5e5;--color-text-secondary:#a0a0a0;--color-border:#333;--sidebar-bg:#1e1e1e;--card-bg:#252525;--card-shadow:0 2px 8px #0000004d;--card-shadow-hover:0 4px 16px #0006;--button-bg:#333;--button-bg-hover:#444;--color-primary:#ef4444;--color-primary-hover:#dc2626;--color-accent:#f87171;--badge-sat:43%;--badge-lgt:30%;--badge-lgt-accent:35%;--badge-text:#e5d5d5}body{background-color:var(--color-bg);color:var(--color-text)}#root{min-height:100vh}.app{min-height:100vh;display:flex}.main-content{padding:var(--spacing-lg);margin-left:var(--sidebar-width);flex:1;transition:margin-left .3s}.main-content.sidebar-collapsed{margin-left:48px}.sidebar{width:var(--sidebar-width);background-color:var(--sidebar-bg);border-right:1px solid var(--color-border);z-index:100;flex-direction:column;height:100vh;transition:width .3s;display:flex;position:fixed;top:0;left:0}.sidebar-scrollable{padding:var(--spacing-lg);flex:1;padding-bottom:0;overflow-y:auto}.sidebar-footer{padding:var(--spacing-md) var(--spacing-lg);border-top:1px solid var(--color-border);align-items:center;gap:var(--spacing-xs);flex-direction:column;display:flex}.sidebar-about-link{color:var(--color-primary);cursor:pointer;text-align:center;background:0 0;border:none;width:fit-content;padding:0;font-size:.8rem}.sidebar-about-link:hover{text-decoration:underline}.sidebar-disclaimer{color:var(--color-text-secondary);text-align:center;margin:0;font-size:.7rem;line-height:1.4}.overlay-backdrop{z-index:1000;background-color:#0009;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.overlay-panel{background-color:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--spacing-xl);width:90%;max-width:720px;line-height:1.6;position:relative}.overlay-panel h2{margin:0 0 var(--spacing-md);font-size:1.2rem}.overlay-panel p{margin:0 0 var(--spacing-md);color:var(--color-text-secondary);font-size:.9rem}.overlay-panel p:last-child{margin-bottom:0}.overlay-close{top:var(--spacing-sm);right:var(--spacing-sm);cursor:pointer;color:var(--color-text-secondary);padding:var(--spacing-xs);border-radius:var(--radius-sm);background:0 0;border:none;font-size:1.4rem;line-height:1;position:absolute}.overlay-close:hover{background-color:var(--button-bg-hover);color:var(--color-text)}.sidebar.collapsed{width:48px;padding:var(--spacing-sm);align-items:center}.logo-collapsed{bottom:var(--spacing-lg);writing-mode:vertical-rl;white-space:nowrap;letter-spacing:-.5px;font-size:1.1rem;font-weight:700;text-decoration:none;position:absolute;left:50%;transform:translate(-50%)rotate(180deg)}.sidebar-toggle{border-radius:var(--radius-sm);width:32px;height:32px;margin-bottom:var(--spacing-md);font-size:1.1rem;font-weight:700}.sidebar-header{margin-bottom:var(--spacing-xl);justify-content:space-between;align-items:center;display:flex}.logo{letter-spacing:-.5px;font-size:1.5rem;font-weight:700}.logo a{text-decoration:none}.logo-red{color:#b91c1c}.logo-letter{color:var(--color-text)}.logo-db{color:var(--color-text-secondary);font-weight:400}.icon-button{background-color:var(--button-bg);justify-content:center;align-items:center;transition:background-color .2s;display:flex}.icon-button:hover{background-color:var(--button-bg-hover)}.theme-toggle{width:36px;height:36px;color:var(--color-text);border-radius:50%}.text-clamp-2{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.sidebar-filters{gap:var(--spacing-lg);flex-direction:column;display:flex}.filter-section{gap:var(--spacing-sm);flex-direction:column;display:flex;position:relative}.filter-title{text-transform:uppercase;letter-spacing:.5px;color:var(--color-text-secondary);margin-bottom:var(--spacing-xs);font-size:.75rem;font-weight:600}.clear-filters-button{margin-top:var(--spacing-md);padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-sm);border:1px solid var(--color-border);color:var(--color-text-secondary);background-color:#0000;font-size:.875rem;transition:all .2s}.clear-filters-button:hover{background-color:var(--button-bg);color:var(--color-text)}.search-input-container{position:relative}.input-trigger{border:1px solid var(--color-border);border-radius:var(--radius-sm);background-color:var(--color-bg);width:100%;transition:border-color .2s}.input-trigger:hover,.input-trigger:focus{border-color:var(--color-primary)}.search-input{padding:var(--spacing-sm) var(--spacing-md);color:var(--color-text);outline:none;padding-right:2rem;font-size:.875rem}.search-clear{width:24px;height:24px;color:var(--color-text-secondary);border-radius:50%;justify-content:center;align-items:center;font-size:1.2rem;display:flex;position:absolute;top:50%;right:4px;transform:translateY(-50%)}.search-clear:hover{color:var(--color-text);background-color:var(--button-bg)}.dropdown-menu{z-index:200;background-color:var(--card-bg);border:1px solid var(--color-border);border-radius:var(--radius-sm);box-shadow:var(--card-shadow-hover);position:absolute;top:100%;left:0;right:0;overflow-y:auto}.dropdown-item{text-align:left;width:100%;transition:background-color .15s}.dropdown-item:hover{background-color:var(--button-bg)}.dropdown-item.selected{background-color:var(--button-bg-selected);color:var(--button-text-selected)}.search-suggestions{max-height:400px}.search-suggestion-item{align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);border-bottom:1px solid var(--color-border);display:flex}.search-suggestion-item:last-child{border-bottom:none}.search-suggestion-poster{object-fit:cover;border-radius:var(--radius-sm);background-color:var(--color-bg-secondary);flex-shrink:0;width:48px;height:64px}.search-suggestion-info{flex-direction:column;min-width:0;display:flex}.search-suggestion-title{white-space:nowrap;text-overflow:ellipsis;font-size:.875rem;font-weight:500;overflow:hidden}.search-suggestion-year,.search-suggestion-director{color:var(--color-text-secondary);font-size:.75rem}.series-dropdown-trigger{padding:var(--spacing-sm) var(--spacing-md);text-align:left;justify-content:space-between;align-items:center;font-size:.875rem;display:flex}.series-dropdown-arrow{color:var(--color-text-secondary);font-size:.65rem}.series-dropdown-menu{max-height:400px}.series-dropdown-item{align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);font-size:.85rem;display:flex}.series-dropdown-logo{object-fit:contain;flex-shrink:0;width:20px;height:20px}.cast-gang,.cast-friends{gap:var(--spacing-xs);margin-bottom:var(--spacing-sm);display:grid}.cast-gang{grid-template-columns:repeat(3,1fr)}.cast-friends{grid-template-columns:repeat(5,1fr)}.person-filter-item{aspect-ratio:1;border-radius:var(--radius-md);background-color:#0000;padding:0;transition:transform .2s;position:relative;overflow:hidden}.person-filter-item:hover{transform:scale(1.05)}.person-filter-image{object-fit:cover;filter:grayscale();opacity:.6;width:100%;height:100%;transition:filter .2s,opacity .2s}.person-filter-item.selected .person-filter-image{filter:grayscale(0%);opacity:1}.person-filter-item.impossible,.person-filter-item:disabled{cursor:not-allowed}.person-filter-item.impossible .person-filter-image{filter:grayscale();opacity:.2}.cast-other{position:relative}.cast-other-trigger{padding:var(--spacing-xs) var(--spacing-sm);text-align:left;color:var(--color-text-secondary);font-size:.8rem}.cast-other-trigger.selected{border-color:var(--color-primary);color:var(--color-primary)}.cast-other-dropdown{max-height:300px}.cast-other-item{padding:var(--spacing-xs) var(--spacing-sm);font-size:.8rem;display:block}.grid-header{margin-bottom:var(--spacing-lg);justify-content:space-between;align-items:center;gap:var(--spacing-sm);flex-wrap:wrap;display:flex}.grid-heading{color:var(--color-text-secondary);font-size:.95rem}.grid-count{margin-left:var(--spacing-sm);opacity:.7;font-size:.8rem}.heading-avatar{vertical-align:middle;border-radius:50%;width:24px;height:24px;margin:0 2px;display:inline-block}.sort-controls{align-items:center;gap:var(--spacing-xs);display:flex}.sort-button,.sort-direction-button{padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-sm);background-color:var(--button-bg);transition:background-color .2s}.sort-button:hover,.sort-direction-button:hover{background-color:var(--button-bg-hover)}.sort-button{font-size:.8rem}.sort-button.active{background-color:var(--button-bg-selected);color:var(--button-text-selected)}.sort-direction-button{font-size:1rem;font-weight:700}.video-grid{gap:var(--spacing-lg);grid-template-columns:repeat(auto-fill,minmax(300px,1fr));display:grid}.video-grid-empty{text-align:center;padding:var(--spacing-xl);color:var(--color-text-secondary)}.video-grid-empty p{margin-bottom:var(--spacing-sm)}.video-card{background-color:var(--card-bg);border-radius:var(--radius-md);box-shadow:var(--card-shadow);cursor:pointer;transition:box-shadow .2s;overflow:hidden}.video-card-link,.video-card-link:hover{color:inherit;text-decoration:none;display:block}.video-card:hover{box-shadow:var(--card-shadow-hover)}.video-thumbnail-container{aspect-ratio:16/9;background-color:var(--color-bg-secondary);position:relative;overflow:hidden}.video-thumbnail{object-fit:cover;width:100%;height:100%}.video-duration{bottom:var(--spacing-sm);right:var(--spacing-sm);color:#fff;border-radius:var(--radius-sm);background-color:#000c;padding:2px 6px;font-size:.75rem;font-weight:500;position:absolute}.video-info{padding:var(--spacing-md)}.video-title{margin-bottom:var(--spacing-xs);font-size:.95rem;font-weight:600;line-height:1.3}.video-meta{color:var(--color-text-secondary);font-size:.8rem}.video-view{gap:var(--spacing-lg);max-width:1400px;margin:0 auto;display:flex}.video-view-main{flex:1;min-width:0}.video-player-title{margin-bottom:var(--spacing-md);font-size:1.5rem;font-weight:600}.video-embed-container{width:100%;margin-bottom:var(--spacing-lg);border-radius:var(--radius-md);background-color:#000;padding-bottom:56.25%;position:relative;overflow:hidden}.video-embed{border:none;width:100%;height:100%;position:absolute;top:0;left:0}.video-navigation{gap:var(--spacing-md);margin-bottom:var(--spacing-xl);justify-content:space-between;display:flex}.nav-button{max-width:45%;padding:var(--spacing-md);border-radius:var(--radius-md);background-color:var(--card-bg);box-shadow:var(--card-shadow);text-align:left;color:inherit;flex:1;text-decoration:none;transition:box-shadow .2s,transform .2s;display:block}.nav-button:hover{box-shadow:var(--card-shadow-hover);text-decoration:none;transform:translateY(-2px)}.nav-next{text-align:right}.nav-label{text-transform:uppercase;letter-spacing:.5px;color:var(--color-text-secondary);margin-bottom:var(--spacing-xs);font-size:.75rem;display:block}.nav-title{color:var(--color-text);font-size:.9rem;font-weight:500}.nav-placeholder{flex:1;max-width:45%}.video-info-area{gap:var(--spacing-xl);margin-bottom:var(--spacing-xl);display:flex;position:relative}.video-info-area.collapsed{cursor:pointer;max-height:200px;overflow:hidden}.video-info-area.collapsed:after{content:"Show more ▾";background:linear-gradient(to bottom, transparent, var(--color-bg));height:60px;color:var(--color-text);letter-spacing:.5px;pointer-events:none;justify-content:center;align-items:flex-end;padding-bottom:4px;font-size:.85rem;font-weight:600;display:flex;position:absolute;bottom:0;left:0;right:0}.video-info-area.expanded{max-height:none}.video-description{min-width:0;color:var(--color-text);flex:1;padding:.7rem 0;line-height:1.6}.video-metadata{border-left:1px solid var(--color-border);padding-left:var(--spacing-md);padding-top:var(--spacing-md);padding-bottom:var(--spacing-md);flex:0 0 430px;margin-top:-5px;margin-bottom:-5px}.info-sections{gap:var(--spacing-md);flex-direction:column;display:flex}.info-section-title{color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:var(--spacing-xs);font-size:.85rem;font-weight:600}.info-section-content{padding-left:var(--spacing-md)}.video-section-title{margin-bottom:var(--spacing-sm);color:var(--color-text);font-size:1.4rem;font-weight:600}.description-text{font-size:1rem;line-height:1.7}.description-text a{word-break:break-all}.series-badges{flex-wrap:wrap;gap:8px;display:flex}.series-badge{align-items:stretch;font-size:.95rem;font-weight:600;line-height:1;text-decoration:none;transition:opacity .15s;display:inline-flex}.series-badge:hover{opacity:.85;text-decoration:none}.series-badge-name{background-color:hsl(var(--badge-hue) var(--badge-sat) var(--badge-lgt));color:var(--badge-text);border-radius:20px;padding:.5em .8em}.series-badge-name:not(:last-child){border-radius:20px 0 0 20px;padding-right:.5em}.series-badge-episode{background-color:hsl(var(--badge-hue) var(--badge-sat) var(--badge-lgt-accent));color:var(--badge-text);border-radius:0 20px 20px 0;padding:.5em .8em .5em .5em}.cast-list{gap:var(--spacing-sm) var(--spacing-md);flex-wrap:wrap;list-style:none;display:flex}.cast-list li{color:var(--color-text-secondary);font-size:.9rem}.video-movie-refs{gap:var(--spacing-xl);flex-direction:column;display:flex}.movie-grid-wrapper{gap:var(--spacing-sm);flex-direction:column;display:flex}.movie-grid{gap:var(--spacing-md);display:grid}.movie-grid-item{gap:var(--spacing-xs);text-align:center;color:inherit;cursor:pointer;flex-direction:column;text-decoration:none;display:flex}.movie-grid-item:hover{text-decoration:none}.movie-poster-container{aspect-ratio:2/3;border-radius:var(--radius-md);background-color:var(--color-bg-secondary);overflow:hidden}.movie-poster{object-fit:cover;width:100%;height:100%}.movie-grid-label{flex-direction:column;gap:1px;min-height:calc(2.34rem + 1px);display:flex}.movie-grid-title{font-size:.9rem;font-weight:500;line-height:1.3}.movie-grid-year{color:var(--color-text-secondary);font-size:.9rem}.movie-grid-pagination{justify-content:center;align-items:center;gap:var(--spacing-md);margin-top:var(--spacing-sm);display:flex}.pagination-button{padding:var(--spacing-xs) var(--spacing-md);border-radius:var(--radius-sm);background-color:var(--button-bg);font-size:.8rem;transition:background-color .2s}.pagination-button:hover:not(:disabled){background-color:var(--button-bg-hover)}.pagination-button:disabled{opacity:.4;cursor:default}.pagination-button.active{background-color:var(--button-bg-selected);color:var(--button-text-selected)}.pagination-info{color:var(--color-text-secondary);font-size:.8rem}.browse-pagination{justify-content:center;align-items:center;gap:var(--spacing-xs);margin-top:var(--spacing-xl);flex-wrap:wrap;display:flex}.browse-pagination .pagination-button{padding:var(--spacing-sm) var(--spacing-md);text-align:center;min-width:2.75rem;font-size:1rem}.pagination-ellipsis{padding:var(--spacing-sm) var(--spacing-xs);color:var(--color-text-secondary);-webkit-user-select:none;user-select:none;font-size:1rem}.multi-part-sidebar{gap:var(--spacing-sm);flex-direction:column;flex-shrink:0;width:240px;display:flex}.multi-part-title{margin-bottom:0}.multi-part-item{gap:var(--spacing-xs);padding:var(--spacing-sm);border-radius:var(--radius-md);background-color:var(--card-bg);text-align:left;color:inherit;flex-direction:column;text-decoration:none;transition:background-color .2s,box-shadow .2s;display:flex}.multi-part-item:hover{box-shadow:var(--card-shadow);text-decoration:none}.multi-part-item.active{border:2px solid var(--color-primary)}.multi-part-thumb{border-radius:var(--radius-sm);aspect-ratio:16/9;object-fit:cover;width:100%}.multi-part-label{font-size:.8rem;font-weight:500}.movie-view{gap:var(--spacing-xl);display:flex}.movie-view-left{width:500px;padding-right:var(--spacing-lg);flex-shrink:0}.movie-view-right{flex:1;min-width:0}.movie-view-poster{max-width:100%;max-height:600px;margin-left:auto;margin-right:auto;margin-bottom:var(--spacing-md);border-radius:var(--radius-lg);box-shadow:var(--card-shadow);display:block}.movie-view-title{margin-bottom:var(--spacing-sm);font-size:1.5rem;font-weight:700}.movie-view-year{color:var(--color-text-secondary);font-weight:400}.movie-alt-title-list{margin:0;padding:0;font-style:italic;list-style:none}.movie-alt-title-list li+li{margin-top:2px}.movie-view-director{color:var(--color-text-secondary);margin-bottom:var(--spacing-md);font-size:.9rem}.movie-info-sections{margin-top:var(--spacing-md)}.movie-info-section-content{align-items:center;gap:var(--spacing-sm);flex-wrap:wrap;display:flex}.movie-collection-list{gap:var(--spacing-xs);flex-direction:column;font-size:.9rem;list-style:none;display:flex}.movie-collection-count{margin-left:var(--spacing-xs);color:var(--color-text-secondary);font-size:.85rem}.movie-external-link{padding:var(--spacing-xs) .4rem var(--spacing-xs) .8rem;padding-left:calc(var(--spacing-md) + .8em);border-radius:var(--radius-md);background-color:var(--button-bg);color:var(--color-text);background-position:.5rem;background-repeat:no-repeat;background-size:1em 1em;margin-top:4px;font-size:.85rem;font-weight:500;text-decoration:none;transition:background-color .2s;display:inline-block}.movie-external-link-imdb{background-image:url(/images/imdb.png)}.movie-external-link-tmdb{background-image:url(/images/tmdb.png)}.movie-external-link:hover{background-color:var(--button-bg-hover);text-decoration:none}.movie-watch-list{gap:var(--spacing-xs);flex-direction:column;list-style:none;display:flex}.movie-watch-link{padding-left:calc(1.2em + var(--spacing-xs));background-position:0;background-repeat:no-repeat;background-size:1em 1em;font-size:.85rem}.movie-watch-link-youtube{background-image:url(/images/youtube.png)}.movie-watch-link-archive{background-image:url(/images/internet_archive.png)}.movie-no-refs{color:var(--color-text-secondary)}.movie-ref-group{margin-bottom:var(--spacing-xl)}.movie-ref-group-title{margin-bottom:var(--spacing-md);font-size:1.4rem;font-weight:600}.movie-ref-group-description{opacity:.6;margin-left:30px;font-size:1rem;font-weight:400}.movie-video-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}.loading,.error{min-height:100vh;padding:var(--spacing-xl);text-align:center;flex-direction:column;justify-content:center;align-items:center;display:flex}.loading p{color:var(--color-text-secondary);font-size:1.25rem}.error h2{color:var(--color-primary);margin-bottom:var(--spacing-md)}.error p{color:var(--color-text-secondary);margin-bottom:var(--spacing-sm)}.back-button{align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-sm);background-color:var(--button-bg);font-size:.875rem;transition:background-color .2s;display:inline-flex}.back-button:hover{background-color:var(--button-bg-hover)}@media (width<=768px){.sidebar{border-right:none;border-top:1px solid var(--color-border);z-index:1000;width:100%;height:auto;max-height:50vh;position:fixed;top:auto;bottom:0;left:0}.sidebar.collapsed{width:100%;height:48px;padding:var(--spacing-sm)}.logo-collapsed{display:none}.main-content{padding:var(--spacing-md);margin-bottom:200px;margin-left:0}.main-content.sidebar-collapsed{margin-bottom:48px;margin-left:0}.video-grid{gap:var(--spacing-md);grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}.video-view{flex-direction:column}.multi-part-sidebar{flex-direction:row;width:100%;overflow-x:auto}.multi-part-item{min-width:200px}.movie-view{flex-direction:column}.movie-view-left{width:100%}.video-info-area{flex-direction:column}.video-metadata{flex:1}.video-navigation{flex-direction:column}.nav-button{text-align:left;max-width:100%}.nav-next{text-align:left}.grid-header{flex-direction:column;align-items:flex-start}}@media (width<=480px){.video-grid{grid-template-columns:1fr}.video-player-title{font-size:1.25rem}.sidebar-header{align-items:flex-start;gap:var(--spacing-sm);flex-direction:column}}
