:root{--bg: #0d0d0d;--surface: #1a1a1a;--surface-alt: #242424;--border: #333333;--text: #e8e8e8;--text-secondary: #888888;--accent: #e85d04;--accent-dim: #c44d03;--green: #4ade80;--red: #ef4444;--font-mono: "JetBrains Mono", "SF Mono", "Cascadia Code", monospace;--font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif}*{margin:0;padding:0;box-sizing:border-box}html,body{min-height:100%;background:var(--bg)}#app{min-height:100%;color:var(--text);font-family:var(--font-sans);font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased}h1,h2,h3,h4{font-family:var(--font-mono);font-weight:700;letter-spacing:-.02em}h1{font-size:2rem}h2{font-size:1.5rem}h3{font-size:1.125rem}a{color:var(--accent);text-decoration:none}a:hover{color:var(--accent-dim)}button{font-family:var(--font-mono);font-size:.875rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;cursor:pointer;border:2px solid var(--border);background:var(--surface);color:var(--text);padding:.75rem 1.5rem;transition:background .15s,border-color .15s}button:hover{background:var(--surface-alt);border-color:var(--text-secondary)}button.primary{background:var(--accent);border-color:var(--accent);color:#fff}button.primary:hover{background:var(--accent-dim);border-color:var(--accent-dim)}input{font-family:var(--font-sans);font-size:1rem;background:var(--surface);border:2px solid var(--border);color:var(--text);padding:.75rem 1rem;width:100%;outline:none;transition:border-color .15s}input:focus{border-color:var(--accent)}input::placeholder{color:var(--text-secondary)}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{background:var(--border)}::-webkit-scrollbar-thumb:hover{background:var(--text-secondary)}.container{max-width:1200px;margin:0 auto;padding:0 1.5rem}nav{position:sticky;top:0;z-index:100;background:var(--bg);border-bottom:2px solid var(--border);padding:.75rem 1.5rem;display:flex;align-items:center;gap:1.5rem}nav .logo{font-family:var(--font-mono);font-weight:700;font-size:1.125rem;color:var(--text);white-space:nowrap}nav .logo span{color:var(--accent)}.nav-search{flex:1;max-width:440px}.nav-search input{padding:.5rem 1rem;font-size:.875rem}.search-bar-wrap{position:relative}.search-bar-wrap input{width:100%}.search-mode-tabs{display:flex;gap:0;margin-bottom:4px}.search-mode-tab{font-family:var(--font-mono);font-size:.625rem;text-transform:uppercase;letter-spacing:.08em;padding:3px 8px;border:1px solid var(--border);background:transparent;color:var(--text-secondary);cursor:pointer;transition:color .15s,border-color .15s,background .15s}.search-mode-tab:first-child{border-right:none}.search-mode-tab:last-child{border-left:none}.search-mode-tab.active{color:var(--accent);border-color:var(--accent);background:#e85d0414}.search-mode-tab:hover:not(.active){color:var(--text);border-color:var(--text-secondary)}.search-genre-wrap{position:relative}.search-genre-list{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px;max-height:180px;overflow-y:auto}.search-genre-tag{font-family:var(--font-mono);font-size:.6875rem;padding:4px 10px;border:1px solid var(--border);background:transparent;color:var(--text-secondary);cursor:pointer;transition:color .15s,border-color .15s;white-space:nowrap}.search-genre-tag:hover{color:var(--accent);border-color:var(--accent)}.nav-links{display:flex;gap:1rem;align-items:center;margin-left:auto}.nav-links a,.nav-links button{font-family:var(--font-mono);font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;padding:.5rem .75rem;border:none;background:none;color:var(--text-secondary)}.nav-links a:hover,.nav-links button:hover{color:var(--text)}.nav-links a.active{color:var(--accent);border-bottom:2px solid var(--accent)}.page{padding:2rem 0}.page-header{margin-bottom:2rem}.section-title{font-family:var(--font-mono);font-size:.875rem;text-transform:uppercase;letter-spacing:.1em;color:var(--text-secondary);margin-bottom:1rem;padding-bottom:.5rem;border-bottom:1px solid var(--border)}.scroll-row{display:flex;gap:1rem;overflow-x:auto;padding-bottom:1rem;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch}.scroll-row::-webkit-scrollbar{height:4px}.media-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:1rem}.media-card{position:relative;overflow:hidden;border:2px solid var(--border);background:var(--surface);cursor:pointer;transition:border-color .15s;scroll-snap-align:start}.media-card:hover{border-color:var(--accent)}.media-card img{width:100%;aspect-ratio:2/3;object-fit:cover;display:block}.media-card .card-info{position:absolute;bottom:0;left:0;right:0;padding:.75rem;background:linear-gradient(transparent,#000000e6);transition:opacity .2s}.media-card .card-title{font-family:var(--font-mono);font-size:.75rem;font-weight:700;line-height:1.3;color:#fff}.media-card .card-meta{font-size:.6875rem;color:var(--text-secondary);margin-top:.25rem}.progress-bar{position:absolute;bottom:0;left:0;right:0;height:3px;background:var(--border)}.progress-bar .progress-fill{height:100%;background:var(--accent);transition:width .3s}.card-hover-actions{position:absolute;bottom:0;left:0;right:0;display:flex;justify-content:center;align-items:flex-end;gap:.5rem;padding:1rem .75rem .75rem;background:linear-gradient(transparent,#000000f2);opacity:0;transition:opacity .2s;z-index:3}.media-card:hover .card-hover-actions{opacity:1}.media-card:hover .card-info{opacity:0}.hover-btn{width:36px;height:36px;border:2px solid var(--border);background:#0d0d0de6;color:var(--text);font-size:.75rem;display:flex;align-items:center;justify-content:center;cursor:pointer;padding:0;transition:border-color .15s,background .15s;text-transform:none;letter-spacing:0}.hover-btn:hover{border-color:var(--text);background:var(--surface-alt)}.hover-btn-play{width:42px;height:42px;border-color:var(--accent);background:var(--accent);color:#fff}.hover-btn-play:hover{background:var(--accent-dim);border-color:var(--accent-dim)}.hover-btn-active{border-color:var(--green);color:var(--green)}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center}.login-box{width:100%;max-width:360px;padding:2rem;border:2px solid var(--border);background:var(--surface)}.login-box h1{margin-bottom:.5rem}.login-box .subtitle{color:var(--text-secondary);font-size:.875rem;margin-bottom:2rem}.login-box .field{margin-bottom:1rem}.login-box label{display:block;font-family:var(--font-mono);font-size:.75rem;text-transform:uppercase;letter-spacing:.1em;color:var(--text-secondary);margin-bottom:.5rem}.login-box button{width:100%;margin-top:.5rem}.login-box .error{color:var(--red);font-size:.875rem;margin-top:1rem}.detail-modal-backdrop{position:fixed;inset:0;background:#000c;z-index:300;display:flex;align-items:flex-start;justify-content:center;overflow-y:auto;padding:4vh 1rem;animation:modal-fade-in .2s ease-out}@keyframes modal-fade-in{0%{opacity:0}to{opacity:1}}@keyframes modal-slide-up{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.detail-modal{position:relative;width:100%;max-width:850px;background:var(--bg);border:2px solid var(--border);overflow:hidden;animation:modal-slide-up .25s ease-out}.detail-modal-close{position:absolute;top:1rem;right:1rem;z-index:10;width:36px;height:36px;border:2px solid var(--border);background:#0d0d0dd9;color:var(--text);font-size:1rem;display:flex;align-items:center;justify-content:center;cursor:pointer;padding:0}.detail-modal-close:hover{border-color:var(--text)}.detail-modal-hero{position:relative;aspect-ratio:16/9;overflow:hidden}.detail-modal-backdrop-img{width:100%;height:100%;object-fit:cover;display:block}.detail-modal-hero-gradient{position:absolute;inset:0;background:linear-gradient(to top,var(--bg) 0%,rgba(13,13,13,.7) 35%,rgba(13,13,13,.2) 65%,transparent 100%)}.detail-modal-hero-content{position:relative;z-index:2;margin-top:-8rem;padding:0 2rem 1.5rem;background:linear-gradient(transparent,var(--bg) 50%)}.detail-modal-hero-content h1{font-size:2rem;margin-bottom:.5rem;text-shadow:0 2px 8px rgba(0,0,0,.6)}.detail-modal-meta{display:flex;gap:1rem;flex-wrap:wrap;color:var(--text-secondary);font-size:.875rem;margin-bottom:1rem}.detail-modal-meta .rating{color:var(--accent);font-weight:600}.detail-modal-actions{display:flex;gap:.75rem;flex-wrap:wrap}.detail-modal-resume{font-family:var(--font-mono);font-size:.75rem;color:var(--text-secondary);margin-top:.75rem}.detail-modal-body{padding:1.5rem 2rem 2rem}.detail-modal-genres{margin-bottom:1rem}.detail-modal-overview{color:var(--text-secondary);line-height:1.7;margin-bottom:1.5rem;font-size:.9375rem}.detail-modal-trailer{position:absolute;inset:0;width:100%;height:100%;border:none;z-index:0}.detail-modal-progress{display:flex;align-items:center;gap:.75rem;margin-top:.75rem}.detail-modal-progress-bar{flex:1;max-width:280px;height:4px;background:var(--border)}.detail-modal-progress-fill{height:100%;background:var(--accent)}.detail-modal-progress-text{font-family:var(--font-mono);font-size:.75rem;color:var(--text-secondary);white-space:nowrap}.detail-modal-hero-gradient-top{position:absolute;top:0;left:0;right:0;height:80px;background:linear-gradient(to bottom,rgba(0,0,0,.8) 0%,rgba(0,0,0,.4) 50%,transparent 100%);z-index:2;pointer-events:none}.detail-trailer-controls{position:absolute;bottom:70px;right:1rem;z-index:5;display:flex;gap:.5rem}.detail-trailer-btn{width:36px;height:36px;border:2px solid rgba(255,255,255,.3);background:#0009;color:var(--text);display:flex;align-items:center;justify-content:center;cursor:pointer;padding:0;transition:border-color .15s,background .15s;text-decoration:none;font-size:0;letter-spacing:0;text-transform:none}.detail-trailer-btn:hover{border-color:#ffffffb3;background:#000000d9;color:#fff}.detail-director-link{cursor:pointer;color:var(--text-secondary);transition:color .15s}.detail-director-link:hover{color:var(--accent)}.tag-clickable{cursor:pointer;transition:border-color .15s,color .15s}.tag-clickable:hover{border-color:var(--accent);color:var(--accent)}.detail-cast-row{display:flex;gap:.75rem;overflow-x:auto;padding-bottom:.5rem;-webkit-overflow-scrolling:touch}.detail-cast-row::-webkit-scrollbar{height:4px}.detail-cast-item{flex-shrink:0;width:90px;cursor:pointer;text-align:center}.detail-cast-item:hover .detail-cast-name{color:var(--accent)}.detail-cast-item img{width:90px;height:90px;object-fit:cover;display:block;border:2px solid var(--border);margin-bottom:.5rem}.detail-cast-placeholder{width:90px;height:90px;display:flex;align-items:center;justify-content:center;background:var(--surface-alt);border:2px solid var(--border);font-family:var(--font-mono);font-size:.875rem;font-weight:700;color:var(--text-secondary);margin-bottom:.5rem}.detail-cast-name{font-family:var(--font-mono);font-size:.6875rem;font-weight:700;color:var(--text);line-height:1.3;transition:color .15s}.detail-cast-char{font-size:.625rem;color:var(--text-secondary);line-height:1.3;margin-top:.125rem}.detail-recs-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:.75rem}.detail-rec-card{position:relative;overflow:hidden;border:2px solid var(--border);background:var(--surface);cursor:pointer;transition:border-color .15s}.detail-rec-card:hover{border-color:var(--accent)}.detail-rec-card img{width:100%;aspect-ratio:2/3;object-fit:cover;display:block}.detail-rec-placeholder{aspect-ratio:2/3;display:flex;align-items:center;justify-content:center;background:var(--surface-alt);font-family:var(--font-mono);font-size:.625rem;color:var(--text-secondary);padding:.5rem;text-align:center}.detail-rec-info{padding:.5rem}.detail-rec-title{font-family:var(--font-mono);font-size:.6875rem;font-weight:700;line-height:1.3;color:var(--text)}.detail-rec-meta{display:flex;gap:.375rem;align-items:center;font-family:var(--font-mono);font-size:.625rem;color:var(--text-secondary);margin-top:.125rem}.detail-rec-rating{color:var(--accent)}.season-tabs{display:flex;flex-wrap:wrap;gap:0;border-bottom:2px solid var(--border);margin-bottom:1.5rem}.season-tab{font-family:var(--font-mono);font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;padding:.75rem 1.25rem;background:none;border:none;color:var(--text-secondary);cursor:pointer;white-space:nowrap;border-bottom:2px solid transparent;margin-bottom:-2px}.season-tab:hover{color:var(--text)}.season-tab.active{color:var(--accent);border-bottom-color:var(--accent)}.episode-list{display:flex;flex-direction:column;gap:.75rem}.episode-card{display:flex;gap:1rem;padding:.75rem;border:2px solid var(--border);background:var(--surface);cursor:pointer;transition:border-color .15s}.episode-card:hover{border-color:var(--accent)}.episode-thumb-wrap{position:relative;flex-shrink:0;width:200px;aspect-ratio:16/9;overflow:hidden;background:var(--surface-alt)}.episode-thumb-wrap img{width:100%;height:100%;object-fit:cover;display:block}.episode-thumb-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-family:var(--font-mono);font-size:1.5rem;font-weight:700;color:var(--text-secondary)}.episode-play-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#0006;opacity:0;transition:opacity .2s}.episode-card:hover .episode-play-overlay{opacity:1}.episode-play-icon{width:40px;height:40px;border:2px solid rgba(255,255,255,.9);display:flex;align-items:center;justify-content:center;color:#fff;font-size:.875rem;background:#00000080}.episode-thumb-progress{position:absolute;bottom:0;left:0;right:0;height:3px;background:#333c}.episode-thumb-progress-fill{height:100%;background:var(--accent)}.episode-card-info{flex:1;min-width:0;padding:.125rem 0}.episode-card-header{display:flex;justify-content:space-between;align-items:baseline;gap:.75rem;margin-bottom:.5rem}.episode-card-title{font-weight:600;font-size:.875rem}.episode-card-runtime{font-family:var(--font-mono);font-size:.75rem;color:var(--text-secondary);flex-shrink:0}.episode-card-desc{font-size:.8rem;color:var(--text-secondary);line-height:1.5;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.remove-btn{position:absolute;top:.5rem;right:.5rem;width:28px;height:28px;padding:0;border:2px solid var(--border);background:#0d0d0dd9;color:var(--text-secondary);font-size:.75rem;display:flex;align-items:center;justify-content:center;cursor:pointer;opacity:0;transition:opacity .15s,color .15s,border-color .15s;z-index:2}*:hover>.remove-btn{opacity:1}.remove-btn:hover{color:var(--red);border-color:var(--red)}.history-list{display:flex;flex-direction:column;gap:2px}.history-item{display:flex;align-items:center;gap:1rem;padding:.75rem 1rem;border:2px solid var(--border);background:var(--surface);cursor:pointer;transition:border-color .15s}.history-item:hover{border-color:var(--accent)}.history-poster{flex-shrink:0;width:48px}.history-poster img{width:48px;aspect-ratio:2/3;object-fit:cover;display:block}.history-poster-placeholder{width:48px;aspect-ratio:2/3;background:var(--surface-alt);display:flex;align-items:center;justify-content:center;font-family:var(--font-mono);font-size:.625rem;color:var(--text-secondary);text-transform:uppercase}.history-info{flex:1;min-width:0}.history-title{font-family:var(--font-mono);font-size:.875rem;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.history-meta{font-size:.75rem;color:var(--text-secondary);margin-top:.125rem}.history-progress-row{display:flex;align-items:center;gap:.75rem;margin-top:.375rem}.history-bar{flex:1;height:3px;background:var(--border);max-width:200px}.history-bar-fill{height:100%;background:var(--accent)}.history-time{font-family:var(--font-mono);font-size:.625rem;color:var(--text-secondary);white-space:nowrap}.history-date{font-family:var(--font-mono);font-size:.625rem;color:var(--text-secondary);white-space:nowrap;flex-shrink:0}.history-remove{border:none;background:none;color:var(--text-secondary);font-size:.75rem;padding:.5rem;cursor:pointer;opacity:0;transition:opacity .15s,color .15s;flex-shrink:0}.history-item:hover .history-remove{opacity:1}.history-remove:hover{color:var(--red)}@media(max-width:768px){.history-date{display:none}.history-remove,.remove-btn{opacity:1}}.player-page{position:fixed;inset:0;z-index:200;background:#000;display:flex;flex-direction:column}.player-header{display:flex;align-items:center;gap:1rem;padding:.75rem 1rem;background:#000c;z-index:1}.player-header .back-btn{border:none;background:none;color:var(--text);padding:.5rem;font-size:1.25rem;cursor:pointer}.player-header .player-title{font-family:var(--font-mono);font-size:.875rem;color:var(--text)}.player-header .player-episode{font-size:.75rem;color:var(--text-secondary)}.player-container{flex:1;position:relative}.player-container iframe{position:absolute;inset:0;width:100%;height:100%;border:none}.stats-table{width:100%;border-collapse:collapse;font-size:.875rem}.stats-table th{font-family:var(--font-mono);font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary);text-align:left;padding:.75rem 1rem;border-bottom:2px solid var(--border)}.stats-table td{padding:.75rem 1rem;border-bottom:1px solid var(--border)}.stats-table tr:hover td{background:var(--surface)}.stats-table .stat-value{font-family:var(--font-mono);font-weight:700;color:var(--accent)}.user-row{display:flex;align-items:center;gap:1rem;padding:.75rem 1rem;border-bottom:1px solid var(--border)}.user-row .username{font-weight:600;flex:1}.user-row .badge{font-family:var(--font-mono);font-size:.625rem;text-transform:uppercase;letter-spacing:.1em;padding:.25rem .5rem;border:1px solid var(--accent);color:var(--accent)}.user-row button.danger{border-color:var(--red);color:var(--red);font-size:.6875rem;padding:.25rem .75rem}.user-row button.danger:hover{background:var(--red);color:#fff}.loading{display:flex;align-items:center;justify-content:center;padding:4rem;color:var(--text-secondary);font-family:var(--font-mono);font-size:.875rem}.empty-state{text-align:center;padding:4rem 2rem;color:var(--text-secondary)}.empty-state h3{margin-bottom:.5rem}.tag{display:inline-block;font-family:var(--font-mono);font-size:.625rem;text-transform:uppercase;letter-spacing:.08em;padding:.25rem .5rem;border:1px solid var(--border);color:var(--text-secondary);margin-right:.5rem;margin-bottom:.5rem}@media(max-width:768px){nav{position:fixed;inset:auto 0 0;border-bottom:none;border-top:2px solid var(--border);justify-content:space-around;padding:.5rem;gap:0}nav .logo,nav .nav-search{display:none}.nav-links{width:100%;justify-content:space-around;margin-left:0}.nav-links a,.nav-links button{font-size:.625rem;padding:.4rem .5rem;display:flex;flex-direction:column;align-items:center;gap:.15rem}body{padding-bottom:5rem}.page{padding-top:1rem}.container{padding:0 1rem}.media-grid{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:.75rem}.card-hover-actions{display:none}.detail-modal-backdrop{padding:0;display:block}.detail-modal{position:fixed;inset:0;max-width:none;border:none;overflow-y:auto;-webkit-overflow-scrolling:touch}.detail-modal-hero-content{margin-top:0;padding:1rem;background:var(--bg)}.detail-modal-hero-content h1{font-size:1.25rem;margin-bottom:.25rem}.detail-modal-meta{font-size:.75rem;gap:.5rem;margin-bottom:.5rem}.detail-modal-hero-gradient{background:linear-gradient(to top,var(--bg) 0%,transparent 30%)}.detail-modal-body{padding:1rem}.detail-modal-actions button{padding:.625rem 1rem;font-size:.75rem}.episode-thumb-wrap{width:130px}.episode-card-desc{-webkit-line-clamp:2}.episode-play-overlay{opacity:.6}.episode-play-icon{width:32px;height:32px;font-size:.75rem}h1{font-size:1.5rem}h2{font-size:1.25rem}.mobile-search{display:block;padding:.5rem 1rem;border-bottom:1px solid var(--border);position:sticky;top:0;z-index:100;background:var(--bg)}.mobile-search input{padding:.5rem .75rem;font-size:16px}.mobile-search .search-genre-list{max-height:140px}}.user-menu{position:relative}.user-menu-trigger{font-family:var(--font-sans);font-size:.75rem;font-weight:400;text-transform:none;letter-spacing:0;padding:.5rem .75rem;border:none;background:none;color:var(--text-secondary);cursor:pointer;transition:color .15s}.user-menu-trigger:hover{color:var(--text);background:none}.user-menu-dropdown{position:absolute;top:100%;right:0;min-width:200px;background:var(--surface);border:2px solid var(--border);z-index:500;padding:.5rem 0}.user-menu-header{padding:.5rem 1rem .75rem;font-family:var(--font-mono);font-size:.75rem;font-weight:700;color:var(--text);border-bottom:1px solid var(--border);margin-bottom:.25rem}.user-menu-item{display:block;width:100%;text-align:left;font-family:var(--font-sans);font-size:.8125rem;font-weight:400;text-transform:none;letter-spacing:0;padding:.625rem 1rem;border:none;background:none;color:var(--text);cursor:pointer;transition:background .15s}.user-menu-item:hover{background:var(--surface-alt);border:none}.user-menu-logout{color:var(--red);border-top:1px solid var(--border);margin-top:.25rem;padding-top:.75rem}.user-menu-form{padding:.75rem 1rem;display:flex;flex-direction:column;gap:.5rem}.user-menu-form input{padding:.5rem .75rem;font-size:.8125rem}.user-menu-form-actions{display:flex;gap:.5rem}.user-menu-form-actions button{flex:1;padding:.5rem;font-size:.6875rem}.user-menu-msg{font-family:var(--font-mono);font-size:.6875rem;color:var(--accent)}@media(min-width:769px){.mobile-search{display:none}}@media(max-width:768px){.user-menu-dropdown{top:auto;bottom:100%;right:-.5rem;margin-bottom:.5rem}.user-menu-trigger{font-size:.625rem;padding:.4rem .5rem;display:flex;flex-direction:column;align-items:center;gap:.15rem}.user-menu-form input{font-size:16px}}
