@import url("https://fonts.googleapis.com/css2?family=Press+Start+2P&family=VT323&family=DM+Sans:ital,opsz,wght@0,9..40,300;0,9..40,400;0,9..40,500;0,9..40,600;1,9..40,400&display=swap");:root{--bg-void:#020209;--bg-deep:#06061a;--bg-surface:#0c0c28;--bg-tile:#111136;--bg-tile-hover:#181850;--bg-tile-active:#1e1e5c;--text-bright:#e8e8ff;--text-primary:#c0c0e0;--text-dim:#5a5a80;--text-ghost:#335;--cyan:#00e5ff;--cyan-dim:#006680;--magenta:#ff2d95;--magenta-dim:#801550;--yellow:#ffd600;--yellow-dim:#806b00;--green:#00e676;--green-dim:#007a3e;--orange:#ff9100;--blue:#448aff;--glow-cyan:0 0 6px rgba(0,229,255,.4),0 0 20px rgba(0,229,255,.15);--glow-magenta:0 0 6px rgba(255,45,149,.4),0 0 20px rgba(255,45,149,.15);--glow-yellow:0 0 6px rgba(255,214,0,.4),0 0 20px rgba(255,214,0,.15);--glow-green:0 0 6px rgba(0,230,118,.4),0 0 20px rgba(0,230,118,.15);--glow-text-cyan:0 0 8px rgba(0,229,255,.6);--glow-text-magenta:0 0 8px rgba(255,45,149,.6);--space-xs:4px;--space-sm:8px;--space-md:16px;--space-lg:24px;--space-xl:40px;--space-2xl:64px;--font-pixel:"Press Start 2P",monospace;--font-crt:"VT323",monospace;--font-body:"DM Sans",system-ui,sans-serif;--border-subtle:1px solid rgba(100,100,180,.15);--border-tile:1px solid rgba(100,100,180,.25);--radius-sm:4px;--radius-md:6px;color-scheme:dark}*,:after,:before{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-font-smoothing:antialiased}body{font-family:var(--font-body);background:var(--bg-void);color:var(--text-primary);min-height:100vh;overflow-x:hidden}a{color:var(--cyan);text-decoration:none;transition:color .15s,text-shadow .15s}a:hover{color:var(--text-bright);text-shadow:var(--glow-text-cyan)}button{font-family:var(--font-body);cursor:pointer;border:none;background:none;color:inherit}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:var(--bg-deep)}::-webkit-scrollbar-thumb{background:var(--bg-tile);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--cyan-dim)}.crt-scanlines{z-index:9999;background:repeating-linear-gradient(0deg,transparent,transparent 1px,rgba(0,0,0,.12) 0,rgba(0,0,0,.12) 2px);mix-blend-mode:multiply}.crt-scanlines,.crt-vignette{position:fixed;inset:0;pointer-events:none}.crt-vignette{z-index:9998;background:radial-gradient(ellipse at center,transparent 50%,rgba(0,0,0,.5) 100%)}@keyframes crt-flicker{0%,to{opacity:1}3%{opacity:.97}6%{opacity:1}42%{opacity:.98}44%{opacity:1}87%{opacity:.97}89%{opacity:1}}.crt-container{animation:crt-flicker 8s infinite}@keyframes tv-on-line{0%{transform:scaleY(.002) scaleX(0);filter:brightness(10)}40%{transform:scaleY(.002) scaleX(1);filter:brightness(10)}60%{transform:scaleY(.05) scaleX(1);filter:brightness(3)}to{transform:scaleY(1) scaleX(1);filter:brightness(1)}}.tv-turn-on{animation:tv-on-line .6s cubic-bezier(.2,.8,.4,1) forwards;transform-origin:center center}@keyframes static-noise{0%{background-position:0 0}20%{background-position:-20px 10px}40%{background-position:15px -5px}60%{background-position:-10px 20px}80%{background-position:20px -15px}to{background-position:0 0}}.tv-static{position:relative;overflow:hidden}.tv-static:before{content:"";position:absolute;inset:0;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.15'/%3E%3C/svg%3E");animation:static-noise .15s steps(5) infinite;opacity:.3;pointer-events:none}.nav-bar{position:-webkit-sticky;position:sticky;top:0;z-index:100;display:flex;align-items:center;gap:var(--space-lg);padding:var(--space-sm) var(--space-lg);background:linear-gradient(180deg,#0e0e2e 0,var(--bg-deep) 100%);border-bottom:2px solid var(--cyan-dim);box-shadow:0 2px 20px rgba(0,229,255,.08)}.nav-logo{font-family:var(--font-pixel);font-size:11px;color:var(--cyan);text-shadow:var(--glow-text-cyan);letter-spacing:2px;white-space:nowrap;flex-shrink:0}.nav-logo span{color:var(--yellow);text-shadow:var(--glow-yellow)}.nav-links{display:flex;gap:var(--space-xs);margin-left:auto}.nav-link{font-family:var(--font-crt);font-size:20px;padding:var(--space-xs) var(--space-md);color:var(--text-dim);border-radius:var(--radius-sm);transition:all .15s;letter-spacing:1px}.nav-link:hover{background:rgba(0,229,255,.06)}.nav-link.active,.nav-link:hover{color:var(--cyan);text-shadow:var(--glow-text-cyan)}.nav-link.active{background:rgba(0,229,255,.1)}.nav-refresh{font-family:var(--font-crt);font-size:22px;color:var(--text-dim);padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-sm);transition:all .15s}.nav-refresh:hover{color:var(--yellow);text-shadow:var(--glow-yellow)}@keyframes spin{to{transform:rotate(1turn)}}.nav-refresh.refreshing{animation:spin 1s linear infinite;color:var(--yellow)}.page-container{max-width:1100px;margin:0 auto;padding:var(--space-lg)}.page-header{margin-bottom:var(--space-xl)}.page-title{font-size:36px;color:var(--cyan);text-shadow:var(--glow-text-cyan);letter-spacing:2px}.page-subtitle,.page-title{font-family:var(--font-crt)}.page-subtitle{font-size:20px;color:var(--text-dim);margin-top:var(--space-xs)}.hero-banner{text-align:center;padding:var(--space-xl) var(--space-lg);margin-bottom:var(--space-xl);background:linear-gradient(135deg,rgba(0,229,255,.04),rgba(255,45,149,.04));border:var(--border-tile);border-radius:var(--radius-md);position:relative}.hero-count{font-family:var(--font-pixel);font-size:28px;color:var(--magenta);text-shadow:var(--glow-text-magenta);line-height:1.6}.hero-label{font-family:var(--font-crt);font-size:22px;color:var(--text-dim);margin-top:var(--space-sm);letter-spacing:4px;text-transform:uppercase}.show-grid{display:flex;flex-direction:column;gap:2px}.show-card{display:grid;grid-template-columns:60px 90px 1fr auto;grid-gap:var(--space-md);gap:var(--space-md);align-items:center;padding:var(--space-md);background:var(--bg-tile);border-left:3px solid var(--cyan);transition:background .15s,border-color .15s;cursor:pointer;text-decoration:none;color:inherit}.show-card:hover{background:var(--bg-tile-hover)}.show-card.caught-up{border-left-color:var(--text-ghost)}.show-card.caught-up .show-card-title{color:var(--text-dim)}.show-card-channel{font-family:var(--font-crt);font-size:16px;color:var(--yellow);text-shadow:var(--glow-yellow);text-align:center;letter-spacing:1px}.show-card-poster{object-fit:cover;flex-shrink:0}.show-card-poster,.show-card-poster-placeholder{width:90px;height:128px;border-radius:var(--radius-sm);background:var(--bg-surface)}.show-card-poster-placeholder{display:flex;align-items:center;justify-content:center;font-family:var(--font-crt);font-size:32px;color:var(--text-ghost)}.show-card-info{min-width:0}.show-card-title{font-family:var(--font-crt);font-size:26px;color:var(--text-bright);letter-spacing:1px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.show-card-meta{font-size:14px;color:var(--text-dim);margin-top:2px}.show-card-next{font-family:var(--font-crt);font-size:18px;color:var(--text-dim);margin-top:var(--space-sm)}.show-card-next strong{color:var(--yellow)}.show-card-badges{display:flex;flex-direction:column;align-items:flex-end;gap:var(--space-sm)}.badge{font-family:var(--font-crt);font-size:18px;padding:2px var(--space-sm);border-radius:var(--radius-sm);letter-spacing:1px;white-space:nowrap}.badge-new{background:rgba(255,45,149,.15);color:var(--magenta);text-shadow:var(--glow-text-magenta);border:1px solid rgba(255,45,149,.3)}.badge-caught-up{background:rgba(90,90,128,.1);color:var(--text-ghost)}.badge-upcoming{background:rgba(255,214,0,.12);color:var(--yellow);text-shadow:var(--glow-yellow);border:1px solid rgba(255,214,0,.25)}.badge-network{font-size:14px;color:var(--text-dim)}.badge-streaming{background:rgba(255,145,0,.12);color:var(--orange);border:1px solid rgba(255,145,0,.25);font-size:16px}.search-container{position:relative;margin-bottom:var(--space-xl)}.search-input{width:100%;font-family:var(--font-crt);font-size:24px;padding:var(--space-md) var(--space-lg);background:var(--bg-surface);border:2px solid var(--cyan-dim);border-radius:var(--radius-md);color:var(--cyan);outline:none;transition:border-color .2s,box-shadow .2s;letter-spacing:1px}.search-input::placeholder{color:var(--text-ghost)}.search-input:focus{border-color:var(--cyan);box-shadow:var(--glow-cyan)}.search-hint{font-family:var(--font-crt);font-size:16px;color:var(--text-ghost);margin-top:var(--space-sm);text-align:center}.search-results{display:flex;flex-direction:column;gap:2px;margin-top:var(--space-lg)}.search-result{display:grid;grid-template-columns:70px 1fr auto;grid-gap:var(--space-md);gap:var(--space-md);align-items:center;padding:var(--space-md);background:var(--bg-tile);transition:background .15s}.search-result:hover{background:var(--bg-tile-hover)}.search-result-poster{width:70px;height:100px;object-fit:cover;border-radius:var(--radius-sm);background:var(--bg-surface)}.search-result-info h3{font-family:var(--font-crt);font-size:24px;color:var(--text-bright);letter-spacing:1px}.search-result-info p{font-size:14px;color:var(--text-dim);margin-top:2px}.search-result-genres{display:flex;gap:var(--space-xs);margin-top:var(--space-sm);flex-wrap:wrap}.genre-tag{font-size:14px;padding:1px 6px;background:rgba(68,138,255,.1);color:var(--blue);border-radius:2px}.btn-track,.genre-tag{font-family:var(--font-crt)}.btn-track{font-size:18px;padding:var(--space-sm) var(--space-md);background:rgba(0,229,255,.1);color:var(--cyan);border:1px solid var(--cyan-dim);border-radius:var(--radius-sm);transition:all .15s;white-space:nowrap;letter-spacing:1px}.btn-track:hover{background:rgba(0,229,255,.2);box-shadow:var(--glow-cyan)}.btn-track.tracking{background:rgba(0,230,118,.1);color:var(--green);border-color:var(--green-dim);cursor:default}.show-detail-header{display:grid;grid-template-columns:180px 1fr;grid-gap:var(--space-xl);gap:var(--space-xl);margin-bottom:var(--space-xl)}.show-detail-poster{width:180px;height:260px;object-fit:cover;border-radius:var(--radius-md);border:2px solid var(--bg-tile);box-shadow:0 4px 24px rgba(0,0,0,.5)}.show-detail-info h1{font-family:var(--font-crt);font-size:42px;color:var(--text-bright);text-shadow:var(--glow-text-cyan);letter-spacing:2px}.show-detail-status{font-family:var(--font-crt);font-size:20px;color:var(--text-dim);margin-top:var(--space-sm)}.show-detail-status .status-running{color:var(--green)}.show-detail-status .status-ended{color:var(--magenta)}.show-detail-streaming{display:flex;gap:var(--space-sm);margin-top:var(--space-md);flex-wrap:wrap}.show-detail-actions{display:flex;gap:var(--space-md);margin-top:var(--space-lg);flex-wrap:wrap}.btn-action{font-family:var(--font-crt);font-size:18px;padding:var(--space-sm) var(--space-lg);border-radius:var(--radius-sm);transition:all .15s;letter-spacing:1px}.btn-primary{background:rgba(0,229,255,.12);color:var(--cyan);border:1px solid var(--cyan-dim)}.btn-primary:hover{background:rgba(0,229,255,.2);box-shadow:var(--glow-cyan)}.btn-danger{background:rgba(255,45,149,.08);color:var(--magenta);border:1px solid var(--magenta-dim)}.btn-danger:hover{background:rgba(255,45,149,.16);box-shadow:var(--glow-magenta)}.modal-overlay{position:fixed;inset:0;background:rgba(2,2,9,.85);display:flex;align-items:center;justify-content:center;z-index:200}.modal{background:var(--bg-surface);border:var(--border-tile);border-radius:var(--radius-md);padding:var(--space-xl);max-width:420px;width:90%;box-shadow:0 8px 40px rgba(0,0,0,.6),var(--glow-cyan)}.modal h2{font-family:var(--font-crt);font-size:28px;color:var(--cyan);text-shadow:var(--glow-text-cyan);margin-bottom:var(--space-md)}.modal p{color:var(--text-dim)}.modal p,.modal select{margin-bottom:var(--space-lg)}.modal select{width:100%;font-family:var(--font-crt);font-size:20px;padding:var(--space-sm) var(--space-md);background:var(--bg-tile);border:1px solid var(--cyan-dim);border-radius:var(--radius-sm);color:var(--cyan);outline:none}.modal-actions{display:flex;gap:var(--space-md);justify-content:flex-end}.season-section{margin-bottom:var(--space-md)}.season-header{display:flex;align-items:center;gap:var(--space-md);padding:var(--space-sm) var(--space-md);background:var(--bg-surface);border-left:3px solid var(--cyan-dim);cursor:pointer;transition:all .15s;-webkit-user-select:none;-moz-user-select:none;user-select:none}.season-header:hover{background:var(--bg-tile)}.season-header.open{border-left-color:var(--cyan)}.season-label{font-family:var(--font-crt);font-size:22px;color:var(--text-bright);letter-spacing:2px;flex:1 1}.season-progress{font-family:var(--font-crt);font-size:16px;color:var(--text-dim)}.season-mark-all{font-family:var(--font-crt);font-size:14px;padding:2px var(--space-sm);color:var(--green);border:1px solid var(--green-dim);border-radius:var(--radius-sm);transition:all .15s}.season-mark-all:hover{background:rgba(0,230,118,.1);box-shadow:var(--glow-green)}.season-chevron{font-family:var(--font-crt);font-size:18px;color:var(--text-dim);transition:transform .2s}.season-chevron.open{transform:rotate(90deg)}.season-episodes{border-left:3px solid rgba(100,100,180,.1);margin-left:0}.episode-row{display:grid;grid-template-columns:50px 1fr auto auto;grid-gap:var(--space-md);gap:var(--space-md);align-items:center;padding:var(--space-sm) var(--space-md);padding-left:var(--space-lg);background:var(--bg-deep);border-bottom:1px solid rgba(100,100,180,.06);transition:background .1s}.episode-row:hover{background:var(--bg-tile)}.episode-row.watched{opacity:.45}.episode-row.upcoming{border-left:2px dashed var(--yellow-dim);padding-left:calc(var(--space-lg) - 2px)}.episode-number{font-family:var(--font-crt);font-size:18px;color:var(--text-dim)}.episode-info{min-width:0}.episode-title{font-family:var(--font-crt);font-size:20px;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.episode-airdate{font-size:13px;color:var(--text-dim);margin-top:1px}.episode-airdate.upcoming-date{color:var(--yellow)}.episode-streaming-link{font-family:var(--font-crt);font-size:16px;padding:2px var(--space-sm);color:var(--orange);border:1px solid rgba(255,145,0,.2);border-radius:var(--radius-sm);transition:all .15s;white-space:nowrap}.episode-streaming-link:hover{background:rgba(255,145,0,.1);color:var(--orange);text-shadow:none}.episode-watch-toggle{width:28px;height:28px;border-radius:var(--radius-sm);border:2px solid var(--text-ghost);display:flex;align-items:center;justify-content:center;font-size:14px;transition:all .15s;flex-shrink:0}.episode-watch-toggle:hover{border-color:var(--green);background:rgba(0,230,118,.06)}.episode-watch-toggle.checked{border-color:var(--green);background:rgba(0,230,118,.15);color:var(--green)}.upcoming-list{display:flex;flex-direction:column;gap:2px}.upcoming-item{display:grid;grid-template-columns:80px 1fr auto;grid-gap:var(--space-md);gap:var(--space-md);align-items:center;padding:var(--space-md);background:var(--bg-tile);border-left:3px solid var(--yellow)}.upcoming-date{font-family:var(--font-crt);font-size:18px;color:var(--yellow);text-shadow:var(--glow-yellow);text-align:center}.upcoming-date-day{font-size:28px;display:block;line-height:1}.upcoming-date-month{font-size:14px;color:var(--text-dim);text-shadow:none}.upcoming-info h3{font-family:var(--font-crt);font-size:22px;color:var(--text-bright);letter-spacing:1px}.upcoming-info p{font-size:14px;color:var(--text-dim);margin-top:2px}.upcoming-countdown{font-family:var(--font-crt);font-size:18px;color:var(--cyan);white-space:nowrap}.login-page{display:flex;align-items:center;justify-content:center;min-height:100vh;background:var(--bg-void);padding:var(--space-lg)}.login-card{text-align:center;max-width:400px;width:100%}.login-logo{font-family:var(--font-pixel);font-size:18px;color:var(--cyan);text-shadow:var(--glow-text-cyan);letter-spacing:3px;margin-bottom:var(--space-xs)}.login-logo span{color:var(--yellow);text-shadow:var(--glow-yellow)}.login-subtitle{font-family:var(--font-crt);font-size:18px;color:var(--text-ghost);margin-bottom:var(--space-2xl);letter-spacing:4px}.login-tv-frame{position:relative;background:var(--bg-surface);border:3px solid var(--bg-tile);border-radius:12px;padding:var(--space-xl) var(--space-lg);margin-bottom:var(--space-xl);box-shadow:0 0 30px rgba(0,229,255,.05),inset 0 0 60px rgba(0,0,0,.3)}.login-tv-frame:before{content:"";position:absolute;top:-8px;left:50%;transform:translateX(-50%);width:60px;height:3px;background:var(--cyan-dim);border-radius:2px}.login-buttons{display:flex;flex-direction:column;gap:var(--space-md)}.btn-login{font-family:var(--font-crt);font-size:20px;padding:var(--space-md) var(--space-lg);border-radius:var(--radius-md);border:1px solid;transition:all .2s;letter-spacing:1px;display:flex;align-items:center;justify-content:center;gap:var(--space-sm)}.btn-login-google{background:rgba(255,214,0,.06);color:var(--yellow);border-color:var(--yellow-dim)}.btn-login-google:hover{background:rgba(255,214,0,.12);box-shadow:var(--glow-yellow)}.btn-login-github{background:rgba(200,200,255,.04);color:var(--text-primary);border-color:rgba(200,200,255,.2)}.btn-login-github:hover{background:rgba(200,200,255,.08);box-shadow:0 0 10px rgba(200,200,255,.1)}.btn-login-dev{background:rgba(0,230,118,.06);color:var(--green);border-color:var(--green-dim)}.btn-login-dev:hover{background:rgba(0,230,118,.12);box-shadow:var(--glow-green)}@keyframes toast-in{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes toast-out{0%{transform:translateY(0);opacity:1}to{transform:translateY(20px);opacity:0}}.undo-toast{position:fixed;bottom:var(--space-xl);left:50%;transform:translateX(-50%);z-index:300;display:flex;align-items:center;gap:var(--space-md);padding:var(--space-md) var(--space-lg);background:var(--bg-surface);border:1px solid var(--green-dim);border-radius:var(--radius-md);box-shadow:0 4px 24px rgba(0,0,0,.5),var(--glow-green);animation:toast-in .25s ease-out}.undo-toast.hiding{animation:toast-out .2s ease-in forwards}.undo-toast-text{font-family:var(--font-crt);font-size:18px;color:var(--green)}.undo-toast-btn{font-family:var(--font-crt);font-size:16px;padding:2px var(--space-md);color:var(--yellow);border:1px solid var(--yellow-dim);border-radius:var(--radius-sm);transition:all .15s}.undo-toast-btn:hover{background:rgba(255,214,0,.1);box-shadow:var(--glow-yellow)}.empty-state{text-align:center;padding:var(--space-2xl) var(--space-lg)}.empty-state-icon{font-size:48px;margin-bottom:var(--space-lg);opacity:.3}.empty-state-title{font-family:var(--font-crt);font-size:28px;color:var(--text-dim);margin-bottom:var(--space-sm)}.empty-state-text{font-size:15px;color:var(--text-ghost);max-width:380px;margin:0 auto}.empty-state-cta{margin-top:var(--space-lg)}.loading{text-align:center;padding:var(--space-2xl)}.loading-text{font-family:var(--font-crt);font-size:22px;color:var(--cyan);text-shadow:var(--glow-text-cyan);letter-spacing:3px}@keyframes blink{0%,to{opacity:1}50%{opacity:.3}}.loading-text:after{content:"...";animation:blink 1.2s step-end infinite}.filter-bar{display:flex;gap:var(--space-sm);margin-bottom:var(--space-lg);flex-wrap:wrap}.filter-btn{font-family:var(--font-crt);font-size:16px;padding:var(--space-xs) var(--space-md);color:var(--text-dim);border:1px solid rgba(100,100,180,.15);border-radius:var(--radius-sm);transition:all .15s}.filter-btn.active,.filter-btn:hover{color:var(--cyan);border-color:var(--cyan-dim)}.filter-btn.active{background:rgba(0,229,255,.08)}@media (max-width:768px){.nav-bar{padding:var(--space-sm) var(--space-md);gap:var(--space-sm)}.nav-logo{font-size:9px}.nav-link{font-size:16px;padding:var(--space-xs) var(--space-sm)}.page-container{padding:var(--space-md)}.hero-count{font-size:20px}.show-card{grid-template-columns:60px 1fr;gap:var(--space-sm)}.show-card-channel{display:none}.show-card-poster{width:60px;height:85px}.show-card-poster-placeholder{width:60px;height:85px;font-size:22px}.show-card-badges{position:absolute;right:var(--space-md);top:var(--space-md)}.show-card{position:relative}.show-card-title{font-size:20px}.show-detail-header{grid-template-columns:120px 1fr;gap:var(--space-md)}.show-detail-poster{width:120px;height:175px}.show-detail-info h1{font-size:28px}.episode-row{grid-template-columns:40px 1fr auto;gap:var(--space-sm);padding-left:var(--space-md)}.episode-streaming-link{display:none}.upcoming-item{grid-template-columns:60px 1fr;gap:var(--space-sm)}.upcoming-countdown{display:none}.login-logo{font-size:14px}}@media (max-width:480px){.show-detail-header{grid-template-columns:1fr;text-align:center}.show-detail-poster{margin:0 auto}}body:before{content:"";position:fixed;inset:0;pointer-events:none;z-index:-1;background-image:linear-gradient(rgba(0,229,255,.015) 1px,transparent 0),linear-gradient(90deg,rgba(0,229,255,.015) 1px,transparent 0);background-size:40px 40px}