.toast-container{position:fixed;top:20px;right:20px;z-index:9999;display:flex;flex-direction:column;gap:12px;max-width:400px}.toast{display:flex;align-items:flex-start;padding:12px;border-radius:8px;background:#fff;box-shadow:0 4px 12px #00000026;min-width:300px;max-width:400px;animation-duration:.2s;animation-fill-mode:both}.toast-enter{animation-name:slideIn}.toast-exit{animation-name:slideOut}@keyframes slideIn{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}@keyframes slideOut{0%{transform:translate(0);opacity:1}to{transform:translate(100%);opacity:0}}.toast-icon-wrapper{flex-shrink:0;width:24px;height:24px;margin-right:12px}.toast-icon{width:100%;height:100%}.toast-success .toast-icon{color:#10b981}.toast-error .toast-icon{color:#ef4444}.toast-warning .toast-icon{color:#f59e0b}.toast-info .toast-icon{color:#3b82f6}.toast-content{flex:1;margin-right:8px}.toast-message{margin:0;color:var(--gray-800);font-size:14px;line-height:1.5}.toast-close{flex-shrink:0;width:20px;height:20px;padding:0;background:none;border:none;color:var(--gray-400);cursor:pointer;transition:color .2s}.toast-close:hover{color:var(--gray-600)}.toast-close svg{width:100%;height:100%}.error-boundary-fallback{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:var(--space-8, 2rem);background:linear-gradient(135deg,#667eea,#764ba2);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}.error-boundary-content{background:#fff;border-radius:12px;padding:var(--space-12, 3rem);max-width:600px;width:100%;box-shadow:0 20px 60px #0000004d;text-align:center;animation:error-bounce-in .6s cubic-bezier(.68,-.55,.265,1.55)}@keyframes error-bounce-in{0%{opacity:0;transform:scale(.3) translateY(-100px)}50%{transform:scale(1.05)}70%{transform:scale(.9)}to{opacity:1;transform:scale(1) translateY(0)}}.error-boundary-content h1{color:#e74c3c;font-size:2.5rem;font-weight:700;margin:0 0 var(--space-4, 1rem) 0;line-height:1.2}.error-boundary-content p{color:#555;font-size:1.125rem;line-height:1.6;margin:0 0 var(--space-6, 1.5rem) 0}.error-details{margin:var(--space-6, 1.5rem) 0;text-align:left;background:#f8f9fa;border-radius:8px;overflow:hidden}.error-details summary{padding:var(--space-4, 1rem);cursor:pointer;font-weight:600;color:#333;background:#e9ecef;user-select:none;transition:background .2s}.error-details summary:hover{background:#dee2e6}.error-details pre{margin:0;padding:var(--space-4, 1rem);font-size:.875rem;line-height:1.5;color:#c7254e;background:#f9f2f4;overflow-x:auto;white-space:pre-wrap;word-break:break-word}.error-actions{display:flex;gap:var(--space-4, 1rem);justify-content:center;margin-top:var(--space-6, 1.5rem)}.error-actions .btn{padding:var(--space-3, .75rem) var(--space-6, 1.5rem);font-size:1rem;font-weight:600;border:none;border-radius:8px;cursor:pointer;transition:all .2s;text-decoration:none;display:inline-block}.error-actions .btn-primary{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;box-shadow:0 4px 15px #667eea66}.error-actions .btn-primary:hover{transform:translateY(-2px);box-shadow:0 6px 20px #667eea99}.error-actions .btn-primary:active{transform:translateY(0)}.error-actions .btn-secondary{background:#6c757d;color:#fff;box-shadow:0 4px 15px #6c757d4d}.error-actions .btn-secondary:hover{background:#5a6268;transform:translateY(-2px);box-shadow:0 6px 20px #6c757d80}.error-actions .btn-secondary:active{transform:translateY(0)}@media (max-width: 768px){.error-boundary-fallback{padding:var(--space-4, 1rem)}.error-boundary-content{padding:var(--space-6, 1.5rem)}.error-boundary-content h1{font-size:2rem}.error-boundary-content p{font-size:1rem}.error-actions{flex-direction:column;gap:var(--space-3, .75rem)}.error-actions .btn{width:100%}}@media (prefers-color-scheme: dark){.error-boundary-content{background:#1e1e1e;color:#e0e0e0}.error-boundary-content h1{color:#ff6b6b}.error-boundary-content p{color:#b0b0b0}.error-details{background:#2a2a2a}.error-details summary{background:#333;color:#e0e0e0}.error-details summary:hover{background:#3a3a3a}.error-details pre{background:#2a2a2a;color:#ff8787}}.page-loader{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;padding:2rem}.loader-spinner{width:48px;height:48px;border:4px solid var(--gray-200);border-top-color:var(--primary-blue);border-radius:50%;animation:spin .8s linear infinite}.loader-text{margin-top:1rem;color:var(--gray-600);font-size:.875rem}:root{--primary-color: #646cff;--primary-hover: #535bf2;--secondary-color: #6c757d;--danger-color: #dc3545;--success-color: #28a745;--warning-color: #ffc107;--background: #1a1a1a;--surface: #242424;--surface-light: #2a2a2a;--text-primary: rgba(255, 255, 255, .87);--text-secondary: rgba(255, 255, 255, .6);--border-color: rgba(255, 255, 255, .1);--shadow: 0 4px 6px rgba(0, 0, 0, .3)}*{box-sizing:border-box;margin:0;padding:0}body{font-family:Inter,system-ui,Avenir,Helvetica,Arial,sans-serif;background-color:var(--background);color:var(--text-primary);line-height:1.5}.app{min-height:100vh}.page-transition{opacity:0;transform:translateY(20px);transition:opacity .3s cubic-bezier(.4,0,.2,1),transform .3s cubic-bezier(.4,0,.2,1)}.page-transition.page-visible{opacity:1;transform:translateY(0)}.btn{padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:var(--surface);border:1px solid transparent;border-radius:8px;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);color:var(--text-primary);position:relative;overflow:hidden}.btn:before{content:"";position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:#fff3;transform:translate(-50%,-50%);transition:width .4s,height .4s}.btn:active:before{width:300px;height:300px}.btn:hover{border-color:var(--primary-color);transform:translateY(-1px)}.btn:active{transform:translateY(0) scale(.98)}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none!important}.btn-primary{background-color:var(--primary-color);color:#fff}.btn-primary:hover:not(:disabled){background-color:var(--primary-hover);box-shadow:0 4px 12px #646cff4d}.btn-secondary{background-color:var(--secondary-color);color:#fff}.btn-secondary:hover:not(:disabled){background-color:#5a6268}.btn-admin{background-color:#6366f1;color:#fff;text-decoration:none;display:inline-flex;align-items:center;justify-content:center}.btn-admin:hover:not(:disabled){background-color:#4f46e5;box-shadow:0 4px 12px #6366f14d}.btn-danger{background-color:var(--danger-color);color:#fff}.btn-danger:hover:not(:disabled){background-color:#c82333;box-shadow:0 4px 12px #dc35454d}.btn-small{padding:.4em .8em;font-size:.875em}.form-group{margin-bottom:1.5rem}.form-group label{display:block;margin-bottom:.5rem;font-weight:500;color:var(--text-primary)}.form-group input,.form-group select{width:100%;padding:.75rem;font-size:1rem;background-color:var(--surface);border:1px solid var(--border-color);border-radius:8px;color:var(--text-primary);transition:border-color .2s,box-shadow .2s,transform .2s}.form-group input:focus,.form-group select:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #646cff1a;transform:scale(1.01)}.password-input-wrapper{position:relative;display:flex;align-items:center}.password-input-wrapper input{padding-right:3rem}.password-toggle{position:absolute;right:.75rem;background:none;border:none;cursor:pointer;font-size:1.25rem;padding:.25rem;opacity:.6;transition:opacity .2s,transform .2s;line-height:1}.password-toggle:hover{opacity:1;transform:scale(1.1)}.password-toggle:active{transform:scale(.95)}.auth-container{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:2rem}.auth-box{background-color:var(--surface);padding:2.5rem;border-radius:12px;box-shadow:var(--shadow);width:100%;max-width:400px;animation:scaleIn .4s cubic-bezier(.16,1,.3,1)}.auth-box h1{text-align:center;margin-bottom:.5rem;color:var(--primary-color);font-size:2.5rem}.auth-box h2{text-align:center;margin-bottom:2rem;color:var(--text-secondary);font-weight:400}.auth-link{text-align:center;margin-top:1.5rem;color:var(--text-secondary)}.auth-link a{color:var(--primary-color);text-decoration:none;transition:color .2s}.auth-link a:hover{text-decoration:underline;color:var(--primary-hover)}.dashboard{min-height:100vh;display:flex;flex-direction:column}.dashboard-header{background-color:var(--surface);border-bottom:1px solid var(--border-color);padding:1rem 0}.header-content{max-width:1200px;margin:0 auto;padding:0 2rem;display:flex;justify-content:space-between;align-items:center}.header-content h1{color:var(--primary-color);font-size:2rem}.header-logo{display:flex;align-items:center;gap:1rem}.logo-icon{width:48px;height:48px;object-fit:contain;transition:transform .3s}.logo-icon:hover{transform:scale(1.05) rotate(5deg)}.header-actions{display:flex;align-items:center;gap:1rem}.username{color:var(--text-secondary)}.dashboard-main{flex:1;max-width:1200px;margin:0 auto;padding:2rem;width:100%}.dashboard-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:2rem}.stat-card{background-color:var(--surface);padding:1.5rem;border-radius:8px;text-align:center;border:1px solid var(--border-color);transition:transform .2s,box-shadow .2s}.stat-card:hover{transform:translateY(-4px);box-shadow:0 8px 16px #0000004d}.stat-card h3{font-size:2rem;color:var(--primary-color);margin-bottom:.5rem;transition:transform .2s}.stat-card:hover h3{transform:scale(1.05)}.stat-card p{color:var(--text-secondary)}.stat-card.stat-watching h3{color:var(--success-color)}.stat-card.stat-completed h3{color:#6366f1}.dashboard-controls{display:flex;gap:1rem;margin-bottom:2rem;flex-wrap:wrap}.search-input{flex:1;min-width:250px;padding:.75rem;font-size:1rem;background-color:var(--surface);border:1px solid var(--border-color);border-radius:8px;color:var(--text-primary);transition:all .2s}.search-input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #646cff1a;transform:scale(1.01)}.quick-filters{display:flex;gap:.75rem;margin-bottom:1.5rem;flex-wrap:wrap}.filter-btn{padding:.5rem 1rem;background-color:var(--surface);border:1px solid var(--border-color);border-radius:20px;color:var(--text-secondary);cursor:pointer;transition:all .2s;font-size:.875rem}.filter-btn:hover{border-color:var(--primary-color);color:var(--text-primary);transform:translateY(-2px)}.filter-btn.active{background-color:var(--primary-color);color:#fff;border-color:var(--primary-color);box-shadow:0 2px 8px #646cff4d}.control-group{display:flex;gap:.75rem;flex:1;flex-wrap:wrap;align-items:center}.filter-select,.sort-select{padding:.75rem;background-color:var(--surface);border:1px solid var(--border-color);border-radius:8px;color:var(--text-primary);font-size:.875rem;cursor:pointer;transition:all .2s}.filter-select:focus,.sort-select:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #646cff1a}.results-info{margin-bottom:1rem;color:var(--text-secondary);font-size:.875rem}.almost-complete-section{margin-top:3rem;padding-top:2rem;border-top:1px solid var(--border-color)}.almost-complete-section h2{margin-bottom:1rem;color:var(--text-primary)}.almost-complete-list{display:flex;flex-direction:column;gap:.5rem}.almost-complete-item{display:flex;justify-content:space-between;align-items:center;padding:.75rem;background-color:var(--surface);border-radius:6px;transition:all .2s}.almost-complete-item:hover{background-color:var(--surface-light);transform:translate(4px)}.almost-complete-item .show-name{color:var(--text-primary)}.almost-complete-item .progress-badge{background-color:var(--warning-color);color:var(--background);padding:.25rem .75rem;border-radius:12px;font-size:.875rem;font-weight:600;animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.8}}.show-list{margin-top:2rem}.show-group{margin-bottom:3rem}.show-group-title{margin-bottom:1rem;color:var(--text-primary);font-size:1.5rem}.show-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.5rem}.show-card{background-color:var(--surface);border-radius:8px;overflow:hidden;border:1px solid var(--border-color);transition:all .2s cubic-bezier(.4,0,.2,1);opacity:0}.show-card:hover{transform:translateY(-4px);box-shadow:0 12px 24px #0000004d;border-color:#fff3}.show-card-image{width:100%;height:200px;overflow:hidden;background-color:var(--surface-light);position:relative}.show-card-image img{width:100%;height:100%;object-fit:contain;transition:transform .3s}.show-card:hover .show-card-image img{transform:scale(1.05)}.placeholder-image,.placeholder-image-large{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background-color:var(--surface-light);font-size:3rem;font-weight:700;color:var(--primary-color)}.placeholder-image-large{height:400px;font-size:6rem}.show-card-content{padding:1.25rem}.show-card-title{margin-bottom:.75rem;font-size:1.25rem;font-weight:600;color:var(--text-primary);line-height:1.3;flex:1}.btn-icon{background:none;border:none;cursor:pointer;padding:.25rem;font-size:1.125rem;line-height:1;opacity:.6;transition:all .2s;border-radius:4px}.btn-icon:hover{opacity:1;background-color:#ffffff1a;transform:scale(1.1)}.btn-icon:active{transform:scale(.95)}.show-card-stats{display:flex;gap:1.5rem;margin-bottom:1rem;padding:.75rem;background-color:#ffffff05;border-radius:6px;font-size:.875rem;color:var(--text-secondary)}.show-card-stats span{display:flex;align-items:center;gap:.25rem;font-weight:500}.progress-bar{width:100%;height:32px;background-color:var(--surface-light);border-radius:6px;overflow:visible!important;position:relative;margin-bottom:.75rem;display:flex;align-items:center}.progress-bar-large{height:32px;margin:1rem 0}.progress-bar-small{height:24px;margin:.5rem 0}.progress-fill{height:100%;background:linear-gradient(90deg,var(--success-color),var(--primary-color));transition:width .6s cubic-bezier(.4,0,.2,1);border-radius:6px;position:absolute;left:0;top:0;box-shadow:0 2px 8px #28a7454d}.progress-text{position:relative;z-index:2;margin-left:auto;margin-right:10px;font-size:.875rem;font-weight:600;line-height:1.2;color:var(--text-primary);text-shadow:0 1px 3px rgba(0,0,0,.8);pointer-events:none}.show-card-actions{display:flex;gap:.5rem;align-items:center}.status-select{flex:1;padding:.5rem;font-size:.875rem;background-color:var(--surface-light);border:1px solid var(--border-color);border-radius:4px;color:var(--text-primary);transition:all .2s}.status-select:focus{border-color:var(--primary-color);box-shadow:0 0 0 2px #646cff1a}.modal-overlay{position:fixed;inset:0;background-color:#000000b3;display:flex;align-items:center;justify-content:center;padding:2rem;z-index:1000;animation:fadeIn .2s}.modal-content{background-color:var(--surface);padding:2rem;border-radius:12px;box-shadow:var(--shadow);width:100%;max-width:500px;animation:scaleIn .3s cubic-bezier(.16,1,.3,1)}.modal-content h2{margin-bottom:1.5rem;color:var(--text-primary)}.modal-actions{display:flex;gap:1rem;justify-content:flex-end;margin-top:2rem}.show-detail{min-height:100vh;max-width:1200px;margin:0 auto;padding:2rem}.show-detail-header{margin-bottom:2rem}.back-link{color:var(--primary-color);text-decoration:none;font-size:1.125rem;transition:all .2s;display:inline-flex;align-items:center;gap:.5rem}.back-link:hover{text-decoration:underline;transform:translate(-4px)}.show-detail-content{background-color:var(--surface);border-radius:12px;padding:2rem}.show-detail-main{display:grid;grid-template-columns:300px 1fr;gap:2rem;margin-bottom:3rem}.show-detail-image{width:100%;height:400px;border-radius:8px;overflow:hidden}.show-detail-image img{width:100%;height:100%;object-fit:cover}.show-detail-info h1{margin-bottom:1rem;font-size:2.5rem;color:var(--text-primary)}.show-detail-stats{display:flex;flex-direction:column;gap:1rem;margin-bottom:1.5rem}.stat{display:flex;align-items:center;gap:1rem}.stat label{font-weight:500;color:var(--text-secondary);min-width:100px}.status-badge{padding:.25rem .75rem;border-radius:4px;font-size:.875rem;font-weight:500}.status-watching{background-color:var(--primary-color);color:#fff}.status-completed{background-color:var(--success-color);color:#fff}.status-plan-to-watch{background-color:var(--warning-color);color:#000}.status-dropped{background-color:var(--danger-color);color:#fff}.streaming-badge{display:inline-block;padding:.25rem .75rem;border-radius:4px;font-size:.75rem;font-weight:600;color:#fff;margin:.25rem 0;text-transform:uppercase;letter-spacing:.5px}.show-card .streaming-badge{margin-bottom:.5rem}.text-secondary{color:var(--text-secondary)}.seasons-section{margin-top:3rem}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.section-header h2{color:var(--text-primary);font-size:1.75rem}.add-season-form{display:flex;gap:1rem;margin-bottom:1.5rem;padding:1rem;background-color:var(--surface-light);border-radius:8px}.add-season-form input{flex:1;padding:.5rem;background-color:var(--surface);border:1px solid var(--border-color);border-radius:4px;color:var(--text-primary)}.seasons-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:1rem}.season-card{background-color:var(--surface);border-radius:8px;margin-bottom:1rem;overflow:hidden;transition:all .3s;border:1px solid var(--border-color)}.season-card:hover{box-shadow:var(--shadow);transform:translateY(-2px)}.season-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.5rem;cursor:pointer;user-select:none;transition:background-color .2s}.season-header:hover{background-color:var(--surface-light)}.season-info{flex:1}.season-title{font-size:1.125rem;font-weight:600;margin-bottom:.25rem}.season-episode-count{color:var(--text-secondary);font-size:.875rem}.season-progress{display:flex;align-items:center;gap:1rem;margin:0 2rem}.expand-button{background:none;border:none;color:var(--text-secondary);font-size:1rem;cursor:pointer;padding:.5rem;transition:all .2s;border-radius:4px}.expand-button:hover{color:var(--text-primary);background-color:#ffffff0d}.season-content{padding:0 1.5rem 1.5rem;border-top:1px solid var(--border-color)}.season-actions{display:flex;gap:.75rem;margin:1rem 0}.btn-sm{padding:.5rem 1rem;font-size:.875rem}.episode-list{display:flex;flex-direction:column;gap:.5rem}.episode-item{display:flex;align-items:center;justify-content:space-between;padding:.75rem;background-color:var(--surface-light);border-radius:6px;transition:all .2s}.episode-item:hover{background-color:var(--surface);transform:translate(4px)}.episode-checkbox-label{display:flex;align-items:center;gap:.75rem;cursor:pointer;flex:1}.episode-checkbox{width:1.25rem;height:1.25rem;cursor:pointer;transition:transform .2s}.episode-checkbox:checked{animation:bounce .4s}@keyframes bounce{0%,to{transform:scale(1)}50%{transform:scale(1.2)}}.episode-number{font-weight:500;color:var(--text-primary)}.episode-title{color:var(--text-secondary);font-size:.875rem}.episode-watched-date{font-size:.75rem;color:var(--text-secondary);white-space:nowrap}.episode-list-loading,.episode-list-empty{text-align:center;padding:2rem;color:var(--text-secondary)}.loading,.loading-screen{display:flex;align-items:center;justify-content:center;min-height:300px;color:var(--text-secondary);font-size:1.25rem}.loading-screen{min-height:100vh}.error-message{background-color:#dc35451a;color:var(--danger-color);padding:1rem;border-radius:8px;margin-bottom:1rem;border:1px solid rgba(220,53,69,.3);animation:shake .4s}.error-page{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem}.error-page p{font-size:1.25rem;margin-bottom:1rem;color:var(--text-secondary)}.empty-state{text-align:center;padding:3rem;color:var(--text-secondary);font-size:1.125rem;animation:fadeIn .4s}.loading-skeleton{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem}.skeleton-card{background-color:var(--surface);border-radius:8px;overflow:hidden}.skeleton-image{height:200px;background-color:var(--surface-light)}.skeleton-content{padding:1rem}.skeleton-title{height:24px;background-color:var(--surface-light);border-radius:4px;margin-bottom:.75rem}.skeleton-text{height:16px;background-color:var(--surface-light);border-radius:4px;margin-bottom:.5rem}.skeleton-text.short{width:60%}.skeleton-list-item{background-color:var(--surface);padding:1rem;border-radius:6px;margin-bottom:.5rem}.season-progress .progress-bar{flex:1;height:8px;border-radius:4px}.season-progress .progress-text{font-size:.875rem;color:var(--text-secondary);font-weight:500;min-width:40px;text-align:right;position:relative;transform:none;right:auto;top:auto}@media (max-width: 768px){.dashboard-stats{grid-template-columns:repeat(2,1fr)}.show-detail-main{grid-template-columns:1fr}.show-detail-image{height:300px}.dashboard-controls{flex-direction:column}.search-input{width:100%}.season-progress{margin:0 1rem}.season-actions{flex-wrap:wrap}.episode-item{flex-direction:column;align-items:flex-start;gap:.5rem}.episode-watched-date{margin-left:2rem}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}*:focus{outline:none}*:focus-visible{outline:3px solid var(--focus-ring-color, var(--primary-500));outline-offset:2px;border-radius:var(--radius-base)}:root{--focus-ring-color: #3B82F6;--focus-ring-offset: 2px;--focus-ring-width: 3px}button:focus-visible,.btn:focus-visible{outline:var(--focus-ring-width) solid var(--focus-ring-color);outline-offset:var(--focus-ring-offset);box-shadow:0 0 0 4px #3b82f633}a:focus-visible{outline:var(--focus-ring-width) solid var(--focus-ring-color);outline-offset:var(--focus-ring-offset);text-decoration:underline;text-decoration-thickness:2px}input:focus-visible,select:focus-visible,textarea:focus-visible{outline:var(--focus-ring-width) solid var(--focus-ring-color);outline-offset:0;border-color:var(--focus-ring-color);box-shadow:0 0 0 4px #3b82f626}input[type=checkbox]:focus-visible,input[type=radio]:focus-visible{outline:var(--focus-ring-width) solid var(--focus-ring-color);outline-offset:var(--focus-ring-offset)}.skip-to-content{position:absolute;top:-100px;left:50%;transform:translate(-50%);z-index:var(--z-notification, 1300);padding:var(--space-3) var(--space-6);background:var(--primary-600);color:#fff;text-decoration:none;font-weight:var(--font-semibold);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);transition:top var(--duration-200) var(--ease-out)}.skip-to-content:focus{top:var(--space-4);outline:3px solid white;outline-offset:2px}.sr-only,.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.sr-only-focusable:not(:focus):not(:focus-within){position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.status-message{position:fixed;bottom:var(--space-4);right:var(--space-4);z-index:var(--z-notification, 1300);max-width:400px;padding:var(--space-4);background:var(--surface-primary);border:1px solid var(--border-primary);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);animation:slideInRight .3s ease-out}.status-message[role=alert]{border-left:4px solid var(--error)}.status-message[role=status]{border-left:4px solid var(--success)}@keyframes slideInRight{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}button:disabled,input:disabled,select:disabled,textarea:disabled,.btn:disabled,.disabled{opacity:.6;cursor:not-allowed;filter:grayscale(30%)}.loading-spinner{display:inline-block;width:1em;height:1em;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:spin .75s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media (prefers-contrast: high){*:focus-visible{outline-width:4px;outline-offset:3px}button,.btn{border:2px solid currentColor}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.skip-to-content{transition:none}}.progress-bar{position:relative;width:100%;height:8px;background:var(--gray-700);border-radius:var(--radius-full);overflow:hidden}.progress-fill{height:100%;background:var(--primary-500);border-radius:var(--radius-full);transition:width .3s ease-out}.progress-text{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:var(--text-xs);font-weight:var(--font-bold);color:var(--text-primary);text-shadow:0 1px 2px rgba(0,0,0,.5);mix-blend-mode:difference}.modal-overlay{position:fixed;inset:0;z-index:var(--z-modal, 1000);background:#000000bf;display:flex;align-items:center;justify-content:center;animation:fadeIn .2s ease-out}.modal-content{position:relative;max-width:90vw;max-height:90vh;overflow-y:auto;background:var(--modal-bg);border-radius:var(--radius-xl);box-shadow:var(--shadow-2xl);animation:scaleIn .2s ease-out}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.modal-close{position:absolute;top:var(--space-4);right:var(--space-4);width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:var(--radius-full);cursor:pointer;transition:background var(--duration-150)}.modal-close:hover{background:var(--surface-hover)}.modal-close:focus-visible{outline:3px solid var(--focus-ring-color);outline-offset:2px}[data-tooltip]{position:relative}[data-tooltip]:after{content:attr(data-tooltip);position:absolute;bottom:100%;left:50%;transform:translate(-50%) translateY(-8px);padding:var(--space-2) var(--space-3);background:var(--gray-900);color:#fff;font-size:var(--text-sm);white-space:nowrap;border-radius:var(--radius-md);opacity:0;pointer-events:none;transition:opacity var(--duration-200);z-index:var(--z-tooltip, 1200)}[data-tooltip]:hover:after,[data-tooltip]:focus-visible:after{opacity:1}.status-badge{padding:var(--space-1) var(--space-3);border-radius:var(--radius-full);font-size:var(--text-sm);font-weight:var(--font-semibold)}.status-badge.watching{background:var(--status-watching);color:#fff}.status-badge.completed{background:var(--status-completed);color:#fff}.status-badge.plan-to-watch{background:var(--status-plan-to-watch);color:var(--gray-900)}.status-badge.dropped{background:var(--status-dropped);color:#fff}.streaming-badge{padding:var(--space-1) var(--space-3);border-radius:var(--radius-md);font-size:var(--text-xs);font-weight:var(--font-bold);color:#fff;text-transform:uppercase;letter-spacing:.5px}[tabindex]:not([tabindex="-1"]){position:relative}body[data-debug-a11y] [tabindex]:not([tabindex="-1"]):before{content:attr(tabindex);position:absolute;top:0;left:0;padding:2px 6px;background:#ff0;color:#000;font-size:10px;font-weight:700;z-index:99999;border-radius:2px}.form-error{display:flex;align-items:center;gap:var(--space-2);margin-top:var(--space-2);padding:var(--space-2) var(--space-3);background:#ef44441a;border-left:3px solid var(--error);border-radius:var(--radius-base);color:var(--error);font-size:var(--text-sm)}.form-error:before{content:"⚠️";flex-shrink:0}.form-label{display:block;margin-bottom:var(--space-2);font-weight:var(--font-medium);color:var(--text-primary)}.form-label[data-required]:after{content:" *";color:var(--error)}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-4);padding:var(--space-12) var(--space-4);text-align:center;color:var(--text-secondary)}.empty-state-icon{font-size:48px;opacity:.5}@media print{a[href]:after{content:" (" attr(href) ")";font-size:.8em;color:#555}.skip-to-content,nav,.modal-overlay,button:not(.print-visible){display:none!important}*:focus{outline:2px solid #000!important}}.force-focus-visible{outline:3px solid var(--focus-ring-color)!important;outline-offset:2px!important}.aria-disabled{opacity:.6;pointer-events:none}.is-loading{position:relative;color:transparent!important;pointer-events:none}.is-loading:after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:1em;height:1em;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:spin .75s linear infinite;color:var(--text-primary)}.truncate-accessible{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.truncate-accessible[title]{cursor:help}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(30px)}to{opacity:1;transform:translate(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes shake{0%,to{transform:translate(0)}10%,30%,50%,70%,90%{transform:translate(-5px)}20%,40%,60%,80%{transform:translate(5px)}}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.8;transform:scale(.98)}}@keyframes shimmer{0%{background-position:-1000px 0}to{background-position:1000px 0}}@keyframes progressFill{0%{width:0}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes checkmark{0%{stroke-dashoffset:50}to{stroke-dashoffset:0}}@keyframes backdropFadeIn{0%{opacity:0}to{opacity:1}}@keyframes toastSlideIn{0%{opacity:0;transform:translate(100%) scale(.8)}to{opacity:1;transform:translate(0) scale(1)}}@keyframes toastSlideOut{0%{opacity:1;transform:translate(0) scale(1)}to{opacity:0;transform:translate(100%) scale(.8)}}.animate-fade-in{animation:fadeIn .3s ease-out forwards}.animate-fade-in-up{animation:fadeInUp .4s ease-out forwards}.animate-fade-in-down{animation:fadeInDown .4s ease-out forwards}.animate-slide-in-right{animation:slideInRight .4s ease-out forwards}.animate-scale-in{animation:scaleIn .3s ease-out forwards}.stagger-children>*{animation:fadeInUp .4s ease-out forwards;opacity:0}.stagger-children>*:nth-child(1){animation-delay:50ms}.stagger-children>*:nth-child(2){animation-delay:.1s}.stagger-children>*:nth-child(3){animation-delay:.15s}.stagger-children>*:nth-child(4){animation-delay:.2s}.stagger-children>*:nth-child(5){animation-delay:.25s}.stagger-children>*:nth-child(6){animation-delay:.3s}.stagger-children>*:nth-child(7){animation-delay:.35s}.stagger-children>*:nth-child(8){animation-delay:.4s}.animate-shake{animation:shake .4s ease-in-out}.animate-bounce{animation:bounce .6s ease-in-out}.animate-pulse{animation:pulse 2s ease-in-out infinite}.animate-spin{animation:spin 1s linear infinite}.transition-all{transition:all .2s cubic-bezier(.4,0,.2,1)}.transition-transform{transition:transform .2s cubic-bezier(.4,0,.2,1)}.transition-opacity{transition:opacity .2s cubic-bezier(.4,0,.2,1)}.transition-colors{transition:background-color .2s,color .2s,border-color .2s}.transition-shadow{transition:box-shadow .2s cubic-bezier(.4,0,.2,1)}.transition-fast{transition-duration:.15s}.transition-slow{transition-duration:.3s}.hover-lift{transition:transform .2s cubic-bezier(.4,0,.2,1)}.hover-lift:hover{transform:translateY(-4px)}.hover-lift-subtle{transition:transform .2s cubic-bezier(.4,0,.2,1)}.hover-lift-subtle:hover{transform:translateY(-2px)}.hover-scale{transition:transform .2s cubic-bezier(.4,0,.2,1)}.hover-scale:hover{transform:scale(1.05)}.hover-scale-subtle{transition:transform .2s cubic-bezier(.4,0,.2,1)}.hover-scale-subtle:hover{transform:scale(1.02)}.hover-press:active{transform:scale(.97)}.hover-glow{transition:box-shadow .2s cubic-bezier(.4,0,.2,1)}.hover-glow:hover{box-shadow:0 0 20px #3b82f666}.shimmer{background:linear-gradient(90deg,var(--surface-primary) 0%,var(--surface-secondary) 50%,var(--surface-primary) 100%);background-size:200% 100%;animation:shimmer 1.5s ease-in-out infinite}.spinner{display:inline-block;width:20px;height:20px;border:3px solid rgba(255,255,255,.3);border-top-color:currentColor;border-radius:50%;animation:spin .6s linear infinite}.spinner-large{width:40px;height:40px;border-width:4px}.progress-fill-animated{animation:progressFill .6s ease-out forwards}.page-transition-enter{opacity:0;transform:translateY(20px)}.page-transition-enter-active{opacity:1;transform:translateY(0);transition:opacity .3s,transform .3s}.page-transition-exit{opacity:1;transform:translateY(0)}.page-transition-exit-active{opacity:0;transform:translateY(-20px);transition:opacity .2s,transform .2s}.modal-backdrop-enter{opacity:0}.modal-backdrop-enter-active{opacity:1;transition:opacity .2s}.modal-backdrop-exit{opacity:1}.modal-backdrop-exit-active{opacity:0;transition:opacity .2s}.modal-content-enter{opacity:0;transform:scale(.9) translateY(-20px)}.modal-content-enter-active{opacity:1;transform:scale(1) translateY(0);transition:opacity .3s,transform .3s cubic-bezier(.16,1,.3,1)}.modal-content-exit{opacity:1;transform:scale(1) translateY(0)}.modal-content-exit-active{opacity:0;transform:scale(.9) translateY(-20px);transition:opacity .2s,transform .2s}.toast-enter{animation:toastSlideIn .3s cubic-bezier(.16,1,.3,1) forwards}.toast-exit{animation:toastSlideOut .2s ease-in forwards}.checkbox-animated{position:relative;transition:all .2s}.checkbox-animated:checked{animation:bounce .4s ease-out}.checkbox-check{stroke-dasharray:50;stroke-dashoffset:50;transition:stroke-dashoffset .2s ease-out}.checkbox-animated:checked+.checkbox-check{animation:checkmark .3s ease-out forwards}.card-entrance{animation:fadeInUp .4s ease-out forwards;opacity:0}.card-hover-effect{transition:transform .2s,box-shadow .2s}.card-hover-effect:hover{transform:translateY(-4px);box-shadow:0 12px 24px #0000004d}.card-flip{perspective:1000px}.card-flip-inner{transition:transform .6s;transform-style:preserve-3d}.card-flip:hover .card-flip-inner{transform:rotateY(180deg)}.progress-bar-animated .progress-fill{transition:width .6s cubic-bezier(.4,0,.2,1);animation:progressFill .6s ease-out}.progress-active .progress-fill{animation:pulse 2s ease-in-out infinite}.btn-animate{position:relative;overflow:hidden;transition:all .2s}.btn-animate:before{content:"";position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:#fff3;transform:translate(-50%,-50%);transition:width .4s,height .4s}.btn-animate:active:before{width:300px;height:300px}.btn-loading{position:relative;color:transparent!important;pointer-events:none}.btn-loading:after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .6s linear infinite}.input-focus-ring{position:relative;transition:all .2s}.input-focus-ring:focus{transform:scale(1.01);box-shadow:0 0 0 4px #3b82f61a}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.shimmer{animation:none;background:var(--surface-primary)}.spinner{animation:none;border-top-color:transparent}}.delay-100{animation-delay:.1s}.delay-200{animation-delay:.2s}.delay-300{animation-delay:.3s}.delay-400{animation-delay:.4s}.delay-500{animation-delay:.5s}
