.streaming-indicators-container{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap;margin-top:.5rem}.streaming-indicators-container.layout-vertical{flex-direction:column;align-items:flex-start;gap:.25rem}.streaming-indicators-container.layout-horizontal{flex-direction:row;align-items:center}.streaming-platform-indicator{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .5rem;border-radius:.375rem;background-color:var(--platform-color, #666666);color:#fff;text-decoration:none;font-size:.75rem;font-weight:500;transition:all .2s ease;border:1px solid transparent;white-space:nowrap}.streaming-platform-indicator:hover{background-color:color-mix(in srgb,var(--platform-color, #666666) 90%,black);transform:translateY(-1px);box-shadow:0 2px 4px #0003;text-decoration:none;color:#fff}.streaming-platform-indicator:focus{outline:2px solid var(--focus-color, #0066cc);outline-offset:2px}.streaming-platform-indicator.size-small{padding:.125rem .375rem;font-size:.625rem;gap:.125rem}.streaming-platform-indicator.size-medium{padding:.25rem .5rem;font-size:.75rem;gap:.25rem}.streaming-platform-indicator.size-large{padding:.375rem .75rem;font-size:.875rem;gap:.375rem}.streaming-platform-indicator.type-subscription{background-color:var(--platform-color, #0066cc);border-color:var(--platform-color, #0066cc)}.streaming-platform-indicator.type-free{background-color:#16a34a;border-color:#16a34a}.streaming-platform-indicator.type-rent{background-color:#ea580c;border-color:#ea580c}.streaming-platform-indicator.type-buy{background-color:#dc2626;border-color:#dc2626}.platform-icon{font-size:1em;line-height:1}.platform-name{font-weight:500;letter-spacing:.025em}.platform-price{font-size:.875em;opacity:.9;font-weight:400}.platform-price:before{content:"•";margin-right:.25rem;opacity:.7}.platform-quality{background-color:#fff3;padding:.125rem .25rem;border-radius:.25rem;font-size:.625rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.streaming-more-indicator{display:inline-flex;align-items:center;justify-content:center;padding:.25rem .5rem;background-color:#6b7280;color:#fff;border-radius:.375rem;font-size:.75rem;font-weight:500;cursor:pointer;transition:background-color .2s ease}.streaming-more-indicator:hover{background-color:#4b5563}.streaming-indicators-empty{display:inline-flex;align-items:center;padding:.25rem .5rem;background-color:#f3f4f6;color:#6b7280;border-radius:.375rem;font-size:.75rem;font-style:italic;border:1px dashed #d1d5db}.streaming-indicators-error{display:inline-flex;align-items:center;padding:.25rem .5rem;background-color:#fef2f2;color:#dc2626;border-radius:.375rem;font-size:.75rem;border:1px solid #fecaca}@media (prefers-color-scheme: dark){.streaming-indicators-empty{background-color:#374151;color:#9ca3af;border-color:#4b5563}.streaming-indicators-error{background-color:#450a0a;color:#fca5a5;border-color:#991b1b}.streaming-more-indicator{background-color:#4b5563}.streaming-more-indicator:hover{background-color:#374151}}@media (prefers-contrast: high){.streaming-platform-indicator{border-width:2px;border-style:solid}.streaming-platform-indicator:focus{outline-width:3px}}@media (prefers-reduced-motion: reduce){.streaming-platform-indicator{transition:none}.streaming-platform-indicator:hover{transform:none}}.episode-item .streaming-indicators-container{margin-top:.5rem;padding-top:.5rem;border-top:1px solid #e5e7eb}.episode-item.watched .streaming-indicators-container{opacity:.7}.timeline-event .streaming-indicators-container{margin-top:.25rem}.timeline-event .streaming-indicators-container.size-small{gap:.25rem}@media (max-width: 640px){.streaming-indicators-container{gap:.25rem}.streaming-platform-indicator{font-size:.625rem;padding:.125rem .375rem}.streaming-platform-indicator.size-large{font-size:.75rem;padding:.25rem .5rem}.platform-price{display:none}.platform-quality{font-size:.5rem;padding:.0625rem .125rem}}@media print{.streaming-indicators-container{display:none}}:root{--primary-blue: #1e3a8a;--secondary-blue: #3b82f6;--accent-gold: #fbbf24;--dark-bg: #0f172a;--medium-bg: #1e293b;--light-bg: #334155;--text-primary: #f8fafc;--text-secondary: #cbd5e1;--border-color: #475569;--success-color: #10b981;--warning-color: #f59e0b;--error-color: #ef4444}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;background:linear-gradient(135deg,var(--dark-bg) 0%,var(--medium-bg) 100%);color:var(--text-primary);line-height:1.6;min-height:100vh}.container{max-width:1200px;margin:0 auto;padding:20px}header{text-align:center;margin-bottom:2rem;padding:2rem 0;background:linear-gradient(45deg,var(--primary-blue),var(--secondary-blue));border-radius:12px;box-shadow:0 8px 32px #0000004d}header h1{font-size:2.5rem;margin-bottom:.5rem;text-shadow:2px 2px 4px rgba(0,0,0,.5)}.subtitle{font-size:1.1rem;color:var(--text-secondary);margin-bottom:1.5rem}.overall-progress{display:flex;align-items:center;justify-content:center;gap:1rem;margin-top:1rem}.progress-bar{width:200px;height:8px;background-color:#fff3;border-radius:4px;overflow:hidden}.progress-fill{height:100%;background:linear-gradient(90deg,var(--accent-gold),var(--success-color));border-radius:4px;transition:width .3s ease;width:0}.progress-text{font-weight:600;color:var(--accent-gold)}.controls{display:grid;grid-template-columns:1fr auto;gap:1rem;margin-bottom:2rem;align-items:center}.search-filter{display:flex;gap:1rem}.search-filter input,.search-filter select{padding:.75rem;border:2px solid var(--border-color);border-radius:8px;background-color:var(--medium-bg);color:var(--text-primary);font-size:1rem;transition:border-color .3s ease}.search-filter input:focus,.search-filter select:focus{outline:none;border-color:var(--secondary-blue)}.search-filter input{flex:1;min-width:250px}.episode-search-filter{margin-top:1rem;padding:1rem;background:#ffffff0d;border:1px solid var(--border-color);border-radius:8px;display:flex;flex-direction:column;gap:.75rem}.episode-search-row{display:flex;align-items:center;gap:.5rem}.episode-search-row input{flex:1;padding:.5rem;border:2px solid var(--border-color);border-radius:6px;background-color:var(--medium-bg);color:var(--text-primary);font-size:.9rem;transition:border-color .3s ease}.episode-search-row input:focus{outline:none;border-color:var(--secondary-blue)}.episode-filter-row{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.episode-filter-row select,.episode-filter-row input{padding:.5rem;border:2px solid var(--border-color);border-radius:6px;background-color:var(--medium-bg);color:var(--text-primary);font-size:.85rem;transition:border-color .3s ease;min-width:120px}.episode-filter-row select:focus,.episode-filter-row input:focus{outline:none;border-color:var(--secondary-blue)}#clearEpisodeSearch,#resetEpisodeFilters{background:var(--error-color);border:none;color:#fff;padding:.5rem .75rem;border-radius:6px;cursor:pointer;font-weight:500;transition:all .3s ease;font-size:.85rem}#clearEpisodeSearch:hover,#resetEpisodeFilters:hover{background:#dc2626;transform:translateY(-1px)}#clearEpisodeSearch:focus,#resetEpisodeFilters:focus{outline:2px solid var(--accent-gold);outline-offset:2px}.episode-filter-status{padding:.5rem;background:#ffffff1a;border-radius:4px;font-size:.8rem;color:var(--text-secondary);font-style:italic;text-align:center}.control-buttons{display:flex;gap:.5rem;flex-wrap:wrap}.control-buttons button{padding:.5rem 1rem;border:none;border-radius:6px;background-color:var(--secondary-blue);color:var(--text-primary);cursor:pointer;font-weight:500;transition:all .3s ease;white-space:nowrap}.control-buttons button:hover{background-color:var(--primary-blue);transform:translateY(-1px)}#resetProgress{background-color:var(--error-color)}#resetProgress:hover{background-color:#dc2626}.era{margin-bottom:1.5rem;background-color:var(--medium-bg);border-radius:12px;box-shadow:0 4px 16px #0003;overflow:hidden;transition:transform .3s ease}.era:hover{transform:translateY(-2px)}.era-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;background:linear-gradient(45deg,var(--light-bg),var(--medium-bg));cursor:pointer;border-bottom:1px solid var(--border-color);transition:background-color .3s ease}.era-header:hover{background:linear-gradient(45deg,var(--border-color),var(--light-bg))}.era-title h2{font-size:1.5rem;margin-bottom:.25rem;color:var(--accent-gold)}.era-details{font-size:.9rem;color:var(--text-secondary)}.era-progress{display:flex;align-items:center;gap:1rem}.era-progress .progress-bar{width:120px;height:6px}.era-progress .progress-text{font-size:.9rem;min-width:50px}.expand-icon{font-size:1.2rem;transition:transform .3s ease;color:var(--accent-gold)}.era.expanded .expand-icon{transform:rotate(180deg)}.era-description{padding:0 1.5rem 1rem;color:var(--text-secondary);font-style:italic}.era-content{display:none;padding:0 1.5rem 1.5rem}.era.expanded .era-content{display:block}.viewing-item{display:flex;align-items:flex-start;gap:1rem;padding:1rem;margin-bottom:.75rem;background-color:var(--dark-bg);border-radius:8px;border:2px solid transparent;transition:all .3s ease}.viewing-item:hover{border-color:var(--secondary-blue);background-color:#3b82f61a}.viewing-item.watched{background-color:#10b9811a;border-color:var(--success-color)}.item-checkbox{margin-top:.25rem}.item-checkbox input[type=checkbox]{width:18px;height:18px;cursor:pointer;accent-color:var(--success-color)}.item-content{flex:1}.item-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:.5rem}.item-title{font-size:1.1rem;font-weight:600;color:var(--text-primary);margin:0}.item-type{padding:.25rem .75rem;border-radius:20px;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px}.item-type.series{background-color:var(--secondary-blue);color:#fff}.item-type.movie{background-color:var(--accent-gold);color:var(--dark-bg)}.item-type.animated{background-color:var(--warning-color);color:var(--dark-bg)}.item-details{display:flex;gap:1rem;margin-bottom:.5rem;flex-wrap:wrap}.item-details span{font-size:.9rem;color:var(--text-secondary);background-color:#ffffff1a;padding:.25rem .5rem;border-radius:4px}.item-year{color:var(--accent-gold)!important;font-weight:600}.item-stardate{color:var(--secondary-blue)!important}.item-episodes{color:var(--success-color)!important}.item-notes{font-size:.9rem;color:var(--text-secondary);line-height:1.4}.episode-list-container{margin-top:1rem;border:1px solid var(--border-color);border-radius:8px;background:#ffffff05}.episode-list-header{padding:.75rem 1rem;border-bottom:1px solid var(--border-color);background:#ffffff0d}.episode-toggle-btn{background:none;border:none;color:var(--text-primary);cursor:pointer;display:flex;align-items:center;gap:.5rem;font-size:.9rem;padding:.25rem 0;transition:color .2s ease;width:100%;text-align:left}.episode-toggle-btn:hover,.episode-toggle-btn:focus{color:var(--accent-gold);outline:none}.episode-toggle-btn:focus-visible{outline:2px solid var(--accent-gold);outline-offset:2px;border-radius:4px}.episode-toggle-icon{transition:transform .2s ease;font-size:.8rem}.episode-list-container[aria-expanded=true] .episode-toggle-icon{transform:rotate(180deg)}.episode-count{font-weight:500;color:var(--text-secondary)}.season-progress-container{padding:1rem;background:#ffffff08;border-bottom:1px solid var(--border-color)}.season-progress{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1rem}.season-progress:last-child{margin-bottom:0}.season-progress-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.25rem}.season-label{font-weight:600;color:var(--text-primary);font-size:.9rem}.season-progress-text{font-size:.85rem;color:var(--text-secondary);font-weight:500}.season-progress-bar{position:relative;width:100%;height:6px;background-color:#ffffff1a;border-radius:3px;overflow:hidden}.season-progress-fill{height:100%;background:linear-gradient(90deg,var(--accent-gold),var(--success-color));border-radius:3px;transition:width .3s ease;width:0}.season-progress-percentage{font-size:.8rem;color:var(--accent-gold);font-weight:600;text-align:right;margin-top:.25rem}.episode-list{padding:1rem;max-height:400px;overflow-y:auto}.episode-item{display:flex;align-items:flex-start;gap:.75rem;padding:.75rem;border-radius:6px;margin-bottom:.5rem;transition:background-color .2s ease;background:#ffffff05;border:1px solid transparent}.episode-item:hover{background:#ffffff0d}.episode-item.watched{background:#10b9811a;border-color:#10b9814d}.episode-checkbox{margin-top:.25rem}.episode-content{flex:1;min-width:0}.episode-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.25rem;justify-content:space-between}.episode-number{background:var(--secondary-blue);color:#fff;padding:.2rem .4rem;border-radius:4px;font-size:.7rem;font-weight:600;min-width:3rem;text-align:center}.episode-title{font-size:.9rem;font-weight:600;color:var(--text-primary);margin:0;flex:1}.episode-details{display:flex;gap:1rem;margin-bottom:.5rem;font-size:.8rem;color:var(--text-secondary)}.episode-air-date{color:var(--text-secondary)}.episode-stardate{color:var(--secondary-blue)}.episode-synopsis{font-size:.85rem;color:var(--text-secondary);line-height:1.4}.episode-details-btn{background:none;border:1px solid var(--border-color);color:var(--text-secondary);cursor:pointer;padding:.25rem .5rem;border-radius:4px;font-size:.8rem;transition:all .2s ease;margin-left:auto;display:flex;align-items:center;gap:.25rem}.episode-details-btn:hover,.episode-details-btn:focus{background:#ffffff1a;border-color:var(--accent-gold);color:var(--accent-gold);outline:none}.episode-details-btn:focus-visible{outline:2px solid var(--accent-gold);outline-offset:2px}.episode-details-icon{font-size:.9rem}.episode-details-panel{margin-top:1rem;padding:1rem;background:#ffffff0d;border:1px solid var(--border-color);border-radius:6px;animation:slideDown .2s ease-out}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.episode-details-content{display:flex;flex-direction:column;gap:1rem}.episode-details-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem;padding-bottom:.5rem;border-bottom:1px solid var(--border-color)}.episode-details-title{font-size:1rem;font-weight:600;color:var(--text-primary);margin:0}.spoiler-controls{display:flex;align-items:center}.spoiler-toggle-btn{background:var(--warning-color);border:none;color:#fff;cursor:pointer;padding:.375rem .75rem;border-radius:4px;font-size:.8rem;font-weight:500;transition:all .2s ease;display:flex;align-items:center;gap:.375rem}.spoiler-toggle-btn:hover,.spoiler-toggle-btn:focus{background:#d97706;outline:none;transform:translateY(-1px)}.spoiler-toggle-btn:focus-visible{outline:2px solid var(--accent-gold);outline-offset:2px}.spoiler-toggle-btn[aria-pressed=true]{background:var(--success-color)}.spoiler-toggle-btn[aria-pressed=true]:hover{background:#059669}.spoiler-icon{font-size:.9rem}.spoiler-text{font-weight:500}.episode-spoiler-content{display:flex;flex-direction:column;gap:1.25rem;animation:fadeIn .3s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.detail-section-title{font-size:.9rem;font-weight:600;color:var(--accent-gold);margin:0 0 .5rem;text-transform:uppercase;letter-spacing:.5px}.plot-points-list,.guest-stars-list,.connections-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem}.plot-point,.guest-star,.connection-item{padding:.5rem .75rem;background:#ffffff08;border-left:3px solid var(--secondary-blue);border-radius:0 4px 4px 0;font-size:.85rem;line-height:1.4;color:var(--text-primary)}.plot-point{border-left-color:var(--accent-gold)}.guest-star{border-left-color:var(--success-color)}.connection-item{border-left-color:var(--secondary-blue);display:flex;flex-direction:column;gap:.25rem}.connection-type{font-size:.7rem;font-weight:600;color:var(--secondary-blue);text-transform:uppercase;letter-spacing:.5px}.connection-description{color:var(--text-primary)}.no-additional-details{text-align:center;padding:1.5rem;color:var(--text-secondary)}.no-details-message{font-style:italic;margin:0}.load-more-episodes-container{padding:1rem;text-align:center;border-top:1px solid var(--border-color);background:#ffffff05}.load-more-episodes-btn{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;background:linear-gradient(45deg,var(--secondary-blue),var(--primary-blue));border:none;border-radius:8px;color:var(--text-primary);font-weight:600;font-size:.9rem;cursor:pointer;transition:all .3s ease;box-shadow:0 2px 8px #3b82f64d}.load-more-episodes-btn:hover{background:linear-gradient(45deg,var(--primary-blue),#1e40af);transform:translateY(-2px);box-shadow:0 4px 16px #3b82f666}.load-more-episodes-btn:focus{outline:none;box-shadow:0 0 0 3px #3b82f680}.load-more-episodes-btn:active{transform:translateY(0)}.load-more-text{font-weight:600}.load-more-count{font-size:.8rem;color:#fffc;font-weight:500}.load-more-episodes-btn:disabled{background:var(--border-color);cursor:not-allowed;transform:none;box-shadow:none}.load-more-episodes-btn:disabled:hover{transform:none;box-shadow:none}footer{text-align:center;margin-top:3rem;padding:2rem 0;border-top:1px solid var(--border-color);color:var(--text-secondary)}footer p{margin-bottom:.5rem}@media (max-width: 768px){.container{padding:10px}header h1{font-size:2rem}.controls{grid-template-columns:1fr;gap:1rem}.search-filter{flex-direction:column}.search-filter input{min-width:auto}.episode-search-filter{padding:.75rem}.episode-filter-row{flex-direction:column;gap:.5rem}.episode-filter-row select,.episode-filter-row input{min-width:auto;width:100%}.control-buttons{justify-content:center}.era-header{flex-direction:column;gap:1rem;text-align:center}.era-progress{justify-content:center}.item-header{flex-direction:column;gap:.5rem}.item-details{gap:.5rem}.overall-progress{flex-direction:column;gap:.5rem}.progress-bar{width:150px}.episode-list{max-height:300px}.episode-item{flex-direction:column;gap:.5rem;padding:.5rem}.episode-header{flex-direction:column;align-items:flex-start;gap:.25rem}.episode-details{flex-direction:column;gap:.25rem;margin-bottom:.25rem}.episode-synopsis{font-size:.8rem;line-height:1.3}.season-progress-header{flex-direction:column;gap:.25rem;text-align:center}.season-progress-text{font-size:.8rem}.episode-details-panel{padding:.75rem}.detail-section-title{font-size:.8rem}.plot-point,.guest-star,.connection-item{padding:.4rem .6rem;font-size:.8rem}.load-more-episodes-btn{flex-direction:column;gap:.25rem;padding:.75rem 1rem;font-size:.85rem}.load-more-count{font-size:.75rem}}@media (max-width: 480px){.viewing-item{flex-direction:column;gap:.75rem}.item-checkbox{align-self:flex-start}.control-buttons{flex-direction:column}.control-buttons button{width:100%}.episode-search-filter{padding:.5rem}.episode-search-row input{font-size:16px}.episode-filter-row select,.episode-filter-row input{font-size:16px;padding:.6rem}.episode-list{max-height:250px;padding:.5rem}.episode-item{padding:.4rem;margin-bottom:.4rem}.episode-number{font-size:.65rem;padding:.15rem .3rem;min-width:2.5rem}.episode-title{font-size:.85rem}.episode-details{font-size:.75rem}.episode-synopsis{font-size:.75rem;line-height:1.2}.season-progress-container{padding:.75rem}.season-progress-bar{height:5px}.season-progress-percentage{font-size:.75rem}.episode-details-panel{padding:.5rem;margin-top:.75rem}.spoiler-controls{margin-bottom:.75rem}.spoiler-toggle-btn{padding:.5rem .75rem;font-size:.8rem}.load-more-episodes-container{padding:.75rem .5rem}.load-more-episodes-btn{padding:.6rem .8rem;font-size:.8rem}.load-more-text,.load-more-count{font-size:.75rem}.episode-details-btn{padding:.3rem .6rem;font-size:.9rem;min-width:2rem;min-height:2rem}.episode-checkbox input[type=checkbox]{width:18px;height:18px}.episode-list-header{padding:.5rem .75rem}.episode-toggle-btn{padding:.4rem 0;font-size:.85rem}.episode-toggle-icon{font-size:.75rem}}@keyframes progressFill{0%{width:0}to{width:var(--target-width)}}.loading{display:flex;justify-content:center;align-items:center;padding:3rem;color:var(--text-secondary)}.search-highlight{background-color:var(--accent-gold);color:var(--dark-bg);padding:0 2px;border-radius:2px}html{scroll-behavior:smooth}button:focus,input:focus,select:focus{outline:2px solid var(--accent-gold);outline-offset:2px}button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--accent-gold);outline-offset:2px;box-shadow:0 0 0 5px #ffd7004d}.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.skip-link{position:absolute;top:-40px;left:6px;background:var(--dark-bg);color:var(--accent-gold);padding:8px;text-decoration:none;border-radius:4px;z-index:1000}.skip-link:focus{top:6px}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--dark-bg)}::-webkit-scrollbar-thumb{background:var(--secondary-blue);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--primary-blue)}
