@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap";.login-buttons-container{display:flex;align-items:center;gap:.5rem}.login-button{display:flex;align-items:center;gap:.75rem;background:linear-gradient(135deg,#fffffff2,#f0f0f0f2);border:1px solid rgba(0,0,0,.1);border-radius:8px;padding:.65rem 1.25rem;cursor:pointer;transition:all .3s ease;font-size:.95rem;font-weight:600;color:#444;box-shadow:0 2px 8px #0003}.login-button:hover{background:linear-gradient(135deg,#fff,#fafafa);box-shadow:0 4px 15px #00000040;transform:translateY(-2px);border-color:#00000026}.login-button:active{transform:translateY(0);box-shadow:0 2px 8px #0003}.login-button svg{flex-shrink:0}.dev-login-button{display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#ff6b35,#ff8c42);border:1px solid rgba(255,107,53,.3);border-radius:6px;padding:.5rem .75rem;cursor:pointer;transition:all .3s ease;font-size:.85rem;font-weight:600;color:#fff;box-shadow:0 2px 8px #ff6b354d;white-space:nowrap}.dev-login-button:hover{background:linear-gradient(135deg,#ff8c42,#ffa756);box-shadow:0 4px 12px #ff6b3580;transform:translateY(-2px)}.dev-login-button:active{transform:translateY(0);box-shadow:0 2px 8px #ff6b354d}@media (max-width: 768px){.login-button span{display:none}.login-button{padding:.65rem}.dev-login-button{font-size:.75rem;padding:.5rem .6rem}}.profile-dropdown-container{position:relative;z-index:1000}.profile-button{display:flex;align-items:center;gap:.75rem;background:linear-gradient(135deg,#1a1a1ae6,#0e0e0ee6);border:1px solid var(--netflix-soft-red);border-radius:25px;padding:.4rem 1rem .4rem .4rem;cursor:pointer;transition:all .3s ease;box-shadow:0 2px 8px #0000004d}.profile-button:hover{background:linear-gradient(135deg,#2f2f2ff2,#1a1a1af2);border-color:var(--netflix-red);box-shadow:0 4px 15px #e509144d;transform:translateY(-2px)}.profile-avatar{width:36px;height:36px;border-radius:50%;border:2px solid var(--netflix-red);-o-object-fit:cover;object-fit:cover;transition:all .3s ease}.profile-button:hover .profile-avatar{border-color:var(--netflix-white);box-shadow:0 0 10px #e5091480}.profile-name{color:var(--netflix-white);font-weight:500;font-size:.95rem;max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dropdown-arrow{transition:transform .3s ease;color:var(--netflix-red)}.dropdown-arrow.open{transform:rotate(180deg)}.dropdown-menu{position:absolute;top:calc(100% + .5rem);right:0;background:linear-gradient(180deg,#1a1a1a,#0e0e0e);border:1px solid var(--netflix-soft-red);border-radius:12px;min-width:200px;box-shadow:0 8px 32px #0006,0 0 15px var(--netflix-glow-red);overflow:hidden;animation:slideDown .3s ease}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.dropdown-item{display:flex;align-items:center;gap:.75rem;width:100%;padding:.875rem 1rem;background:transparent;border:none;color:var(--netflix-white);font-size:.95rem;font-weight:500;cursor:pointer;transition:all .2s ease;text-align:left;border-bottom:1px solid rgba(229,9,20,.1)}.dropdown-item:last-child{border-bottom:none}.dropdown-item:hover{background:linear-gradient(90deg,#e5091426,#e509140d);padding-left:1.25rem}.dropdown-item.logout:hover{background:linear-gradient(90deg,#e5091440,#e509141a);color:var(--netflix-red)}.dropdown-item svg{flex-shrink:0;opacity:.8}.dropdown-item:hover svg{opacity:1}@media (max-width: 768px){.profile-name{display:none}.profile-button{padding:.4rem}.dropdown-menu{right:-10px}}.App-header{padding:1rem 2rem;text-align:center;background:linear-gradient(180deg,var(--netflix-black) 0%,#1a1a1a 100%);box-shadow:0 8px 32px var(--netflix-shadow),0 0 20px var(--netflix-glow-red);border-bottom:1px solid var(--netflix-soft-red);position:relative;z-index:100}.header-left{flex:1;text-align:left;transition:transform .2s ease,opacity .2s ease}.header-left:hover{transform:translateY(-2px);opacity:.9}.header-left:active{transform:translateY(0)}.header-center{display:flex;gap:1rem;align-items:center}.header-nav-btn{padding:.6rem 1.2rem;border:none;border-radius:8px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 12px #0000004d}.header-nav-btn.liked-btn{background:linear-gradient(135deg,#4caf50,#66bb6a);color:#fff}.header-nav-btn.liked-btn:hover{background:linear-gradient(135deg,#5bc55f,#7bd67f);transform:translateY(-2px);box-shadow:0 6px 16px #4caf5080}.header-nav-btn.disliked-btn{background:linear-gradient(135deg,#f44336,#ef5350);color:#fff}.header-nav-btn.disliked-btn:hover{background:linear-gradient(135deg,#ff5a4e,#ff6b65);transform:translateY(-2px);box-shadow:0 6px 16px #f4433680}.header-nav-btn.friends-btn{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.header-nav-btn.friends-btn:hover{background:linear-gradient(135deg,#7b92ff,#8d5db8);transform:translateY(-2px);box-shadow:0 6px 16px #667eea80}.header-nav-btn:active{transform:translateY(0)}.header-left h1{font-size:2rem;margin-bottom:.25rem;text-shadow:3px 3px 6px rgba(0,0,0,.8),0 0 20px rgba(229,9,20,.3);color:var(--netflix-red);font-weight:700;letter-spacing:-.02em;animation:slideInFromTop 1s ease-out .2s both}.header-left p{font-size:1rem;margin-bottom:0;opacity:.95;color:var(--netflix-light-white);font-weight:500;animation:slideInFromTop 1s ease-out .4s both}@media (max-width: 768px){.App-header{padding:1.5rem}.header-content{flex-direction:column;gap:1rem}.header-left{text-align:center}.header-left h1{font-size:2rem}.header-left p{font-size:1rem}.header-center{flex-direction:column;gap:.5rem;width:100%}.header-nav-btn{width:100%;padding:.75rem}}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000d9;display:flex;align-items:center;justify-content:center;z-index:2000;animation:fadeIn .3s ease;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.modal-content{background:linear-gradient(180deg,#1a1a1a,#0e0e0e);border:1px solid var(--netflix-soft-red);border-radius:20px;padding:2rem;max-width:500px;width:90%;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px #00000080,0 0 30px var(--netflix-glow-red);position:relative;animation:slideUp .4s ease}@keyframes slideUp{0%{opacity:0;transform:translateY(30px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.modal-close{position:absolute;top:1rem;right:1rem;background:#e509141a;border:1px solid var(--netflix-soft-red);border-radius:50%;width:36px;height:36px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .3s ease;color:var(--netflix-white)}.modal-close:hover{background:var(--netflix-red);border-color:var(--netflix-red);transform:rotate(90deg);box-shadow:0 0 15px #e5091480}.profile-modal-header{text-align:center;margin-bottom:2rem;padding-bottom:2rem;border-bottom:1px solid var(--netflix-soft-red)}.profile-modal-avatar{width:120px;height:120px;border-radius:50%;border:3px solid var(--netflix-red);margin-bottom:1rem;box-shadow:0 4px 20px #0006,0 0 20px #e509144d;-o-object-fit:cover;object-fit:cover}.profile-modal-name{color:var(--netflix-white);font-size:1.8rem;font-weight:600;margin:0;text-shadow:2px 2px 4px rgba(0,0,0,.7)}.profile-modal-body{padding:0}.profile-info-section{background:linear-gradient(180deg,#1a1a1a99,#0e0e0e99);border-radius:12px;padding:1.5rem;border:1px solid var(--netflix-soft-red);margin-bottom:1.5rem}.profile-info-section h3{color:var(--netflix-red);font-size:1.3rem;margin:0 0 1.5rem;font-weight:600;text-shadow:0 0 10px rgba(229,9,20,.3)}.profile-actions-section{background:linear-gradient(180deg,#1a1a1a99,#0e0e0e99);border-radius:12px;padding:1.5rem;border:1px solid var(--netflix-soft-red)}.profile-actions-section h3{color:var(--netflix-red);font-size:1.3rem;margin:0 0 1.5rem;font-weight:600;text-shadow:0 0 10px rgba(229,9,20,.3)}.profile-actions{display:flex;flex-direction:column;gap:1rem}.profile-action-btn{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.8rem 1.2rem;border-radius:8px;border:1px solid;font-weight:600;font-size:.95rem;cursor:pointer;transition:all .3s ease;background:#1a1a1acc}.profile-action-btn .action-icon{font-size:1.2rem}.profile-action-btn.clear-liked{border-color:#e5091480;color:var(--netflix-red)}.profile-action-btn.clear-liked:hover{background:#e509141a;border-color:var(--netflix-red);box-shadow:0 0 15px #e509144d;transform:translateY(-2px)}.profile-action-btn.clear-disliked{border-color:#96969680;color:var(--netflix-accent-grey)}.profile-action-btn.clear-disliked:hover{background:#9696961a;border-color:var(--netflix-accent-grey);box-shadow:0 0 15px #96969633;transform:translateY(-2px)}.profile-info-item{display:flex;justify-content:space-between;align-items:center;padding:1rem 0;border-bottom:1px solid rgba(229,9,20,.1);gap:1rem}.profile-info-item:last-child{border-bottom:none;padding-bottom:0}.profile-info-label{color:var(--netflix-accent-grey);font-weight:500;font-size:.95rem;flex-shrink:0}.profile-info-value{color:var(--netflix-white);font-weight:500;text-align:right;word-break:break-word;font-size:.95rem}.provider-badge{display:inline-flex;align-items:center;gap:.5rem;background:#ffffff1a;padding:.4rem .8rem;border-radius:20px;font-weight:600;font-size:.9rem;border:1px solid rgba(255,255,255,.2)}.modal-content::-webkit-scrollbar{width:8px}.modal-content::-webkit-scrollbar-track{background:#1a1a1a80;border-radius:10px}.modal-content::-webkit-scrollbar-thumb{background:var(--netflix-red);border-radius:10px}.modal-content::-webkit-scrollbar-thumb:hover{background:var(--netflix-dark-red)}@media (max-width: 768px){.modal-content{padding:1.5rem;width:95%}.profile-modal-avatar{width:100px;height:100px}.profile-modal-name{font-size:1.5rem}.profile-info-item{flex-direction:column;align-items:flex-start;gap:.5rem}.profile-info-value{text-align:left}}.auth-prompt-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#000000d9;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;justify-content:center;align-items:center;z-index:1000;animation:fadeIn .2s ease-out}.auth-prompt-modal{background:linear-gradient(135deg,#1a1a2e,#16213e);border-radius:20px;padding:40px;max-width:450px;width:90%;box-shadow:0 20px 60px #00000080;position:relative;animation:slideUp .3s ease-out;border:1px solid rgba(255,255,255,.1)}.auth-prompt-close{position:absolute;top:15px;right:15px;background:#ffffff1a;border:none;color:#fff;font-size:28px;width:40px;height:40px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;line-height:1}.auth-prompt-close:hover{background:#fff3;transform:rotate(90deg)}.auth-prompt-content{text-align:center;color:#fff}.auth-prompt-icon{font-size:64px;margin-bottom:20px;animation:bounce 1s ease-in-out infinite}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.auth-prompt-content h2{font-size:32px;margin:0 0 10px;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;font-weight:700}.auth-prompt-content p{font-size:18px;color:#ffffffb3;margin:0 0 30px}.google-login-button{display:flex;align-items:center;justify-content:center;gap:12px;width:100%;padding:16px 24px;background:#fff;color:#444;border:none;border-radius:12px;font-size:16px;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 15px #0003}.google-login-button:hover{transform:translateY(-2px);box-shadow:0 6px 20px #0000004d}.google-login-button:active{transform:translateY(0)}.google-icon{width:24px;height:24px;flex-shrink:0}@media (max-width: 768px){.auth-prompt-modal{padding:30px 20px;max-width:90%}.auth-prompt-content h2{font-size:26px}.auth-prompt-content p{font-size:16px}.auth-prompt-icon{font-size:48px}.google-login-button{font-size:14px;padding:14px 20px}}.friends-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000c;display:flex;align-items:center;justify-content:center;z-index:1000}.friends-modal{background:#1a1a2e;border-radius:12px;width:90%;max-width:700px;max-height:80vh;display:flex;flex-direction:column;box-shadow:0 4px 30px #00000080;color:#fff}.friends-header{display:flex;justify-content:space-between;align-items:center;padding:20px;border-bottom:2px solid #16213e}.friends-header h2{margin:0;font-size:24px;color:#e94560}.close-btn{background:none;border:none;font-size:32px;cursor:pointer;color:#888;line-height:1;padding:0;width:32px;height:32px;transition:color .2s}.close-btn:hover{color:#e94560}.friends-tabs{display:flex;border-bottom:2px solid #16213e;padding:0 20px;background:#16213e}.friends-tabs button{background:none;border:none;padding:15px 20px;cursor:pointer;font-size:14px;font-weight:500;color:#888;border-bottom:3px solid transparent;margin-bottom:-2px;transition:all .2s}.friends-tabs button:hover{color:#fff}.friends-tabs button.active{color:#e94560;border-bottom-color:#e94560}.friends-content{padding:20px;overflow-y:auto;flex:1}.search-section{display:flex;flex-direction:column;gap:20px}.search-bar{display:flex;gap:10px}.search-bar input{flex:1;padding:12px;border:2px solid #16213e;border-radius:6px;font-size:14px;background:#0f1624;color:#fff}.search-bar input:focus{outline:none;border-color:#e94560}.search-bar button{padding:12px 24px;background:#e94560;color:#fff;border:none;border-radius:6px;cursor:pointer;font-weight:500;transition:background .2s}.search-bar button:hover{background:#d63447}.user-list{display:flex;flex-direction:column;gap:12px}.user-card{display:flex;align-items:center;gap:12px;padding:12px;background:#16213e;border-radius:8px;transition:background .2s}.user-card:hover{background:#1f2f4e}.user-avatar{width:48px;height:48px;border-radius:50%;-o-object-fit:cover;object-fit:cover}.user-info{flex:1}.user-name{font-weight:600;font-size:16px;color:#fff}.user-email{font-size:13px;color:#888}.add-friend-btn{padding:8px 16px;background:#28a745;color:#fff;border:none;border-radius:6px;cursor:pointer;font-weight:500;font-size:14px;transition:background .2s}.add-friend-btn:hover{background:#218838}.remove-btn,.cancel-btn{padding:8px 16px;background:#dc3545;color:#fff;border:none;border-radius:6px;cursor:pointer;font-weight:500;font-size:14px;transition:background .2s}.remove-btn:hover,.cancel-btn:hover{background:#c82333}.request-actions{display:flex;gap:8px}.accept-btn{padding:8px 16px;background:#28a745;color:#fff;border:none;border-radius:6px;cursor:pointer;font-weight:500;font-size:14px;transition:background .2s}.accept-btn:hover{background:#218838}.decline-btn{padding:8px 16px;background:#6c757d;color:#fff;border:none;border-radius:6px;cursor:pointer;font-weight:500;font-size:14px;transition:background .2s}.decline-btn:hover{background:#5a6268}.loading,.no-results{text-align:center;padding:40px;color:#888}.error-message{color:#dc3545;background:#dc35451a;padding:12px;border-radius:6px;margin-bottom:20px;border:1px solid #dc3545}.movie-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:transparent;z-index:10000;animation:fadeIn .3s ease-out;overflow-y:auto;overflow-x:hidden;padding:2rem 0;cursor:pointer;width:100%;height:100%}.movie-modal-content{position:relative;animation:slideUp .4s cubic-bezier(.34,1.56,.64,1);margin:2rem auto;margin-right:50px;margin-left:50px;cursor:default}.modal-movie-content{position:relative;max-width:900px;width:calc(100% - 4rem);animation:slideUp .4s cubic-bezier(.34,1.56,.64,1);margin:2rem auto;margin-right:50px;margin-left:50px;cursor:default}@keyframes slideUp{0%{opacity:0;transform:translateY(50px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.modal-close-btn{position:absolute;top:-50px;right:0;width:40px;height:40px;border-radius:50%;border:none;background:#ffffff1a;color:#fff;font-size:1.5rem;cursor:pointer;transition:all .3s ease;z-index:10001;display:flex;align-items:center;justify-content:center}.modal-close-btn:hover{background:#fff3;transform:scale(1.1) rotate(90deg)}.modal-movie-card{position:relative;display:flex;background:linear-gradient(135deg,#1a1a2e,#16213e);border-radius:20px;overflow:hidden;box-shadow:0 20px 60px #000c;min-height:600px}.nested-rating-modal-container{position:absolute;top:0;left:0;right:0;bottom:0;z-index:10002;pointer-events:none}.nested-rating-modal-container .rating-modal-overlay{position:absolute;pointer-events:auto}.modal-dislike-button{position:absolute;top:20px;right:100px;width:60px;height:60px;border-radius:50%;border:none;background:linear-gradient(135deg,#f44336,#ef5350);color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:1.8rem;box-shadow:0 8px 20px #f4433680;transition:all .3s ease;z-index:10}.modal-dislike-button:hover{transform:scale(1.15);background:linear-gradient(135deg,#ff5a4e,#ff6b65);box-shadow:0 10px 30px #f44336b3}.modal-dislike-button.disliked{background:linear-gradient(135deg,#ff5a4e,#ff6b65);box-shadow:0 8px 20px #f4433699,0 0 0 4px #f443364d;cursor:not-allowed;opacity:1;border:3px solid rgba(255,255,255,.4)}.modal-dislike-button.disliked:hover{transform:scale(1.15);box-shadow:0 10px 30px #f44336cc,0 0 0 4px #f4433666}.modal-dislike-button:active{transform:scale(.95)}.modal-like-button{position:absolute;top:20px;right:20px;width:60px;height:60px;border-radius:50%;border:none;background:linear-gradient(135deg,#4caf50,#66bb6a);color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:1.8rem;box-shadow:0 8px 20px #4caf5080;transition:all .3s ease;z-index:10}.modal-like-button:hover{transform:scale(1.15);background:linear-gradient(135deg,#66bb6a,#81c784);box-shadow:0 10px 30px #4caf50b3}.modal-like-button.liked{background:linear-gradient(135deg,#66bb6a,#81c784);box-shadow:0 8px 20px #4caf5099,0 0 0 4px #4caf504d;cursor:not-allowed;opacity:1;border:3px solid rgba(255,255,255,.4)}.modal-like-button.liked:hover{transform:scale(1.15);box-shadow:0 10px 30px #4caf50cc,0 0 0 4px #4caf5066}.modal-favorite-button{position:absolute;bottom:20px;right:20px;width:60px;height:60px;border-radius:50%;border:3px solid rgba(255,255,255,.3);background:#00000080;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:2rem;box-shadow:0 8px 20px #0006;transition:all .3s ease;z-index:10;animation:slideInFav .4s cubic-bezier(.34,1.56,.64,1)}@keyframes slideInFav{0%{opacity:0;transform:scale(.5)}to{opacity:1;transform:scale(1)}}.modal-favorite-button:hover{transform:scale(1.15);border-color:#f5576ccc;background:#f5576c33}.modal-favorite-button.favorited{background:linear-gradient(135deg,gold,orange);border-color:transparent;box-shadow:0 8px 20px #ffd70099}.modal-favorite-button.favorited:hover{transform:scale(1.15);box-shadow:0 10px 30px #ffd700cc}.modal-watched-button{position:absolute;bottom:20px;right:20px;width:60px;height:60px;border-radius:50%;border:3px solid rgba(255,255,255,.3);background:#667eea4d;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:2rem;box-shadow:0 8px 20px #0006;transition:all .3s ease;z-index:10}.modal-movie-card:has(.modal-favorite-button) .modal-watched-button{right:90px}.modal-watched-button:hover{transform:scale(1.15);border-color:#667eeacc;background:#667eea80}.modal-watched-button.watched{background:linear-gradient(135deg,#667eea,#764ba2);border-color:transparent;box-shadow:0 8px 20px #667eea99}.modal-watched-button.watched:hover{transform:scale(1.15);box-shadow:0 10px 30px #667eeacc}.modal-watched-icon{display:block;position:absolute;transition:all .3s ease}.modal-watched-button .rating-wrapper{position:absolute;right:100%;top:50%;transform:translateY(-50%);margin-right:12px;background:#000000d9;padding:6px 12px;border-radius:20px;box-shadow:0 4px 12px #0006;max-width:0;opacity:0;overflow:hidden;white-space:nowrap;transition:max-width .3s ease,opacity .3s ease,margin-right .3s ease}.modal-watched-button .rating-wrapper.show{max-width:80px;opacity:1}.modal-btn-icon,.modal-fav-icon{display:block}.modal-dislike-button.processing,.modal-like-button.processing,.modal-favorite-button.processing{animation:pulse .6s ease-in-out;pointer-events:none}.modal-movie-poster{flex-shrink:0;width:350px;height:auto;align-self:stretch}.modal-movie-poster img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;display:block}.modal-movie-info{flex:1;padding:20px 25px;overflow-y:auto}.modal-movie-info::-webkit-scrollbar{width:8px}.modal-movie-info::-webkit-scrollbar-track{background:#ffffff0d;border-radius:4px}.modal-movie-info::-webkit-scrollbar-thumb{background:#667eea80;border-radius:4px}.modal-movie-info::-webkit-scrollbar-thumb:hover{background:#667eeab3}.modal-movie-title{font-size:1.6rem;font-weight:700;margin:0 0 .6rem;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;line-height:1.2}.modal-movie-meta{display:flex;gap:.75rem;margin-bottom:.6rem;flex-wrap:wrap}.modal-meta-item{display:flex;align-items:center;gap:.3rem;font-size:.85rem;color:#a0a0a0;font-weight:500}.modal-movie-genres{display:flex;gap:.4rem;margin-bottom:.6rem;flex-wrap:wrap}.modal-genre-tag{padding:.3rem .6rem;background:#667eea33;border:1px solid rgba(102,126,234,.4);border-radius:12px;font-size:.75rem;font-weight:600;color:#667eea}.modal-movie-overview{font-size:.85rem;line-height:1.5;color:#e0e0e0;margin:0 0 .8rem;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.modal-trailer-section{margin:.8rem 0}.modal-section-title{font-size:.95rem;font-weight:700;color:#fff;margin-bottom:.5rem}.modal-trailer-container{position:relative;width:100%;padding-bottom:35%;border-radius:8px;overflow:hidden;background:#000;box-shadow:0 4px 16px #00000080}.modal-trailer-container iframe{position:absolute;top:0;left:0;width:100%;height:100%;border:none}.modal-watch-section{margin:.8rem 0 .5rem}.modal-provider-category{margin-bottom:.6rem}.modal-provider-label{font-size:.8rem;font-weight:600;color:#a0a0a0;margin-bottom:.4rem}.modal-provider-grid{display:flex;gap:.5rem;flex-wrap:wrap}.modal-provider-item{width:38px;height:38px;border-radius:6px;overflow:hidden;box-shadow:0 2px 8px #0000004d;transition:transform .2s ease,box-shadow .2s ease;cursor:pointer;background:#fff}.modal-provider-item:hover{transform:translateY(-2px);box-shadow:0 4px 16px #667eea66}.modal-provider-item img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;display:block}.modal-provider-link{display:inline-block;margin-top:.4rem;color:#667eea;text-decoration:none;font-weight:600;font-size:.75rem;transition:color .2s ease}.modal-provider-link:hover{color:#764ba2;text-decoration:underline}.modal-watch-button-container{position:absolute;top:20px;right:260px;z-index:11}.modal-watch-button{width:60px;height:60px;border-radius:50%;border:none;background:linear-gradient(135deg,#ff6b6b,#ff8e53);color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:1.8rem;box-shadow:0 8px 20px #ff6b6b80;transition:all .3s ease}.modal-watch-button:hover{transform:scale(1.15);background:linear-gradient(135deg,#ff8e53,#ff6b6b);box-shadow:0 10px 30px #ff6b6bb3}.modal-watch-button:active{transform:scale(.95)}.modal-watch-dropdown{position:absolute;top:70px;left:50%;transform:translate(-50%);background:#1a1a2e;border-radius:12px;padding:1.5rem;min-width:320px;max-width:400px;box-shadow:0 12px 40px #000000e6;border:1px solid rgba(255,107,107,.3);animation:dropdownSlide .3s cubic-bezier(.34,1.56,.64,1);z-index:10005}@keyframes dropdownSlide{0%{opacity:0;transform:translate(-50%) translateY(-10px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.modal-watch-dropdown-title{font-size:1.1rem;font-weight:700;color:#fff;margin:0 0 1rem;text-align:center;background:linear-gradient(135deg,#ff6b6b,#ff8e53);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.modal-watch-dropdown .modal-provider-category{margin-bottom:1rem}.modal-watch-dropdown .modal-provider-category:last-of-type{margin-bottom:.5rem}.modal-watch-dropdown .modal-provider-label{font-size:.85rem;font-weight:600;color:#a0a0a0;margin-bottom:.5rem;text-transform:uppercase;letter-spacing:.5px}.modal-watch-dropdown .modal-provider-grid{display:flex;gap:.5rem;flex-wrap:wrap}.modal-watch-dropdown .modal-provider-item{width:50px;height:50px;border-radius:8px;overflow:hidden;box-shadow:0 2px 8px #0000004d;transition:transform .2s ease,box-shadow .2s ease;cursor:pointer;background:#fff;display:block;text-decoration:none}.modal-watch-dropdown .modal-provider-item:hover{transform:translateY(-3px);box-shadow:0 4px 16px #ff6b6b66}.modal-watch-dropdown .modal-provider-item img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;display:block}.modal-watch-link-button{display:block;width:100%;margin-top:1rem;padding:.75rem 1rem;background:linear-gradient(135deg,#ff6b6b,#ff8e53);color:#fff;text-decoration:none;text-align:center;border-radius:8px;font-weight:600;font-size:.9rem;transition:all .3s ease;box-shadow:0 4px 12px #ff6b6b4d}.modal-watch-link-button:hover{transform:translateY(-2px);box-shadow:0 6px 20px #ff6b6b80}.modal-share-button{position:absolute;top:20px;right:180px;width:60px;height:60px;border-radius:50%;border:none;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:1.8rem;box-shadow:0 8px 20px #667eea80;transition:all .3s ease;z-index:10}.modal-share-button:hover{transform:scale(1.15);background:linear-gradient(135deg,#764ba2,#667eea);box-shadow:0 10px 30px #667eeab3}.modal-share-button:active{transform:scale(.95)}.modal-share-dialog-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:#000000d9;display:flex;align-items:center;justify-content:center;z-index:10003;pointer-events:auto;animation:fadeIn .2s ease-out}.modal-share-dialog{background:#1a1a2e;border-radius:16px;padding:2.5rem;max-width:500px;width:90%;box-shadow:0 20px 60px #000000e6;position:relative;animation:slideUp .3s cubic-bezier(.34,1.56,.64,1)}.modal-share-dialog-close{position:absolute;top:1rem;right:1rem;width:32px;height:32px;border-radius:50%;border:none;background:#ffffff1a;color:#fff;font-size:1.2rem;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.modal-share-dialog-close:hover{background:#fff3;transform:rotate(90deg)}.modal-share-dialog-title{font-size:1.8rem;font-weight:700;color:#fff;margin:0 0 2rem;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.modal-share-form{display:flex;flex-direction:column;gap:1.5rem}.modal-share-mode-toggle{display:flex;gap:.5rem;background:#ffffff0d;padding:.25rem;border-radius:8px}.modal-share-mode-btn{flex:1;padding:.625rem 1rem;background:transparent;border:none;border-radius:6px;color:#a0a0a0;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s ease}.modal-share-mode-btn:hover{color:#fff}.modal-share-mode-btn.active{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.modal-share-field{display:flex;flex-direction:column;gap:.5rem}.modal-share-field label{font-size:1rem;font-weight:600;color:#a0a0a0}.modal-share-field input,.modal-share-field textarea,.modal-share-field select{padding:.875rem 1rem;background:#ffffff0d;border:2px solid rgba(102,126,234,.3);border-radius:8px;color:#fff;font-size:1rem;font-family:inherit;transition:all .2s ease}.modal-share-field input:focus,.modal-share-field textarea:focus,.modal-share-field select:focus{outline:none;border-color:#667eea;background:#ffffff14}.modal-share-field select{cursor:pointer}.modal-share-field select option{background:#1a1a2e;color:#fff}.modal-share-field textarea{resize:vertical;min-height:80px}.modal-share-error{background:#f443361a;border:1px solid rgba(244,67,54,.3);color:#ff5a4e;padding:.75rem 1rem;border-radius:8px;font-size:.95rem}.modal-share-submit{padding:1rem 2rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:8px;font-size:1.1rem;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 12px #667eea66}.modal-share-submit:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #667eea99}.modal-share-submit:disabled{opacity:.6;cursor:not-allowed}.modal-share-success{text-align:center;padding:3rem 2rem}.modal-share-success-icon{font-size:4rem;display:block;margin-bottom:1rem}.modal-share-success p{font-size:1.3rem;color:#66bb6a;font-weight:600}@media (max-width: 768px){.modal-movie-card{flex-direction:column}.modal-movie-poster{width:100%;max-height:400px}.modal-movie-info{padding:30px 20px}.modal-movie-title{font-size:2rem}.modal-dislike-button,.modal-like-button,.modal-favorite-button,.modal-watched-button,.modal-share-button,.modal-watch-button{width:50px;height:50px;font-size:1.5rem}.modal-watch-button-container{top:75px;left:15px}.modal-watch-dropdown{min-width:280px;left:0;transform:translate(0)}@keyframes dropdownSlide{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.modal-share-button{top:15px;left:15px}.modal-dislike-button{top:15px;left:75px}.modal-like-button{top:15px;right:15px}.modal-favorite-button,.modal-watched-button{bottom:15px;right:15px}.modal-movie-card:has(.modal-favorite-button) .modal-watched-button{right:75px}.modal-section-title{font-size:1rem}.modal-provider-item{width:40px;height:40px}.modal-trailer-container{padding-bottom:50%}.modal-share-dialog{padding:2rem 1.5rem}.modal-share-dialog-title{font-size:1.5rem}}@media (max-width: 480px){.modal-movie-content{width:95%}.modal-close-btn{top:-45px;width:35px;height:35px;font-size:1.3rem}.modal-movie-info{padding:20px 15px}.modal-movie-title{font-size:1.5rem}.modal-movie-overview{font-size:1rem}}.rating-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#000000bf;display:flex;align-items:center;justify-content:center;z-index:10001;animation:fadeIn .2s ease-out}.rating-modal{background:linear-gradient(135deg,#1a1a2e,#16213e);border-radius:20px;padding:40px 50px;max-width:500px;width:90%;box-shadow:0 20px 60px #00000080;position:relative;animation:slideUp .3s ease-out;border:2px solid rgba(255,255,255,.1)}.rating-modal-close{position:absolute;top:15px;right:15px;background:none;border:none;font-size:32px;color:#fff9;cursor:pointer;transition:all .2s;width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:50%}.rating-modal-close:hover{color:#fff;background-color:#ffffff1a;transform:rotate(90deg)}.rating-modal-title{font-size:28px;font-weight:700;text-align:center;margin-bottom:10px;color:#fff}.rating-modal-movie-title{font-size:18px;text-align:center;margin-bottom:30px;color:#fffc;font-weight:500}.rating-stars{display:flex;justify-content:center;gap:12px;margin-bottom:20px;-webkit-user-select:none;-moz-user-select:none;user-select:none}.star-container{position:relative;width:50px;height:50px;display:inline-block}.star-half{cursor:pointer;position:absolute;top:0;width:50%;height:100%;overflow:hidden;z-index:1}.star-left{left:0}.star-right{right:0}.star{font-size:50px;transition:all .2s ease;color:#ffffff4d;display:block;line-height:1;width:50px;text-align:center;position:absolute;left:0;top:0}.star-left .star{left:0}.star-right .star{left:-25px}.star.filled{color:gold;text-shadow:0 0 10px rgba(255,215,0,.5)}.star-half:hover .star{transform:scale(1.15)}.rating-display{text-align:center;font-size:24px;font-weight:600;color:gold;margin-bottom:30px;min-height:32px}.preference-selection{margin-bottom:25px}.preference-label{text-align:center;font-size:18px;font-weight:600;color:#ffffffe6;margin-bottom:15px}.preference-buttons{display:flex;gap:15px;justify-content:center}.preference-button{display:flex;flex-direction:column;align-items:center;gap:8px;padding:15px 30px;border:3px solid rgba(255,255,255,.2);border-radius:12px;background:#ffffff0d;cursor:pointer;transition:all .3s ease;min-width:110px}.preference-button:hover{transform:translateY(-2px);background:#ffffff1a}.preference-button.selected{border-width:3px;transform:scale(1.05)}.preference-like.selected{border-color:#4caf50;background:#4caf5033}.preference-dislike.selected{border-color:#f44336;background:#f4433633}.preference-icon{font-size:32px}.preference-text{font-size:16px;font-weight:600;color:#fff;text-transform:uppercase;letter-spacing:.5px}.rating-modal-actions{display:flex;gap:15px;justify-content:center}.rating-modal-button{padding:12px 30px;font-size:16px;font-weight:600;border:none;border-radius:10px;cursor:pointer;transition:all .3s ease;min-width:120px}.rating-modal-cancel{background-color:#ffffff1a;color:#fff;border:2px solid rgba(255,255,255,.3)}.rating-modal-cancel:hover{background-color:#fff3;border-color:#ffffff80}.rating-modal-submit{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:2px solid transparent}.rating-modal-submit:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 10px 25px #667eea66}.rating-modal-submit:disabled{opacity:.5;cursor:not-allowed}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.star-rating-display{display:flex;align-items:center;gap:5px}.star-rating-stars{display:flex;gap:2px}.star-rating-star{color:gold;text-shadow:0 0 3px rgba(255,215,0,.3);line-height:1}.star-rating-star.filled{color:gold}.star-rating-star.empty{color:#ffffff4d}.star-rating-star.half{position:relative;display:inline-block}.star-rating-half-fill{position:absolute;top:0;left:0;width:50%;overflow:hidden;color:gold}.star-rating-half-empty{color:#ffffff4d}.star-rating-display.small .star-rating-star{font-size:12px}.star-rating-display.medium .star-rating-star{font-size:16px}.star-rating-display.large .star-rating-star{font-size:24px}.star-rating-count{font-size:.9em;color:#ffffffb3;font-weight:500}.home-movie-carousel{width:100vw;overflow:hidden;padding:60px 0;position:relative;background:linear-gradient(180deg,#0000,#667eea0d,#0000);margin:0 calc(-50vw + 50%);mask-image:linear-gradient(to right,transparent,black 5%,black 95%,transparent);-webkit-mask-image:linear-gradient(to right,transparent,black 5%,black 95%,transparent)}.home-carousel-track{display:flex;gap:30px;align-items:center;animation:homeScroll 60s linear infinite;will-change:transform;width:-moz-max-content;width:max-content;padding:0 30px}@keyframes homeScroll{0%{transform:translate(0) translateZ(0)}to{transform:translate(calc(-100% / 3)) translateZ(0)}}.home-carousel-track:hover{animation-play-state:paused}.home-carousel-item{position:relative;flex-shrink:0;transform:translateZ(0);backface-visibility:hidden;transition:transform .4s cubic-bezier(.34,1.56,.64,1),opacity .3s ease;opacity:.8;cursor:pointer}.home-carousel-item:hover{opacity:1;transform:scale(1.1) translateY(-8px) translateZ(0);z-index:10}.home-carousel-item:hover .home-movie-overlay{opacity:1}.home-carousel-item:hover .home-poster-image{transform:scale(1.05);box-shadow:0 25px 70px #667eeab3}.home-poster-image{width:200px;height:300px;-o-object-fit:cover;object-fit:cover;border-radius:16px;box-shadow:0 15px 40px #0009;transition:transform .3s ease,box-shadow .3s ease;transform:translateZ(0);backface-visibility:hidden;image-rendering:-webkit-optimize-contrast;image-rendering:crisp-edges;display:block}.home-movie-overlay{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(to top,rgba(0,0,0,.95) 0%,transparent 100%);padding:1.5rem 1rem 1rem;opacity:0;transition:opacity .3s ease;border-radius:0 0 16px 16px}.home-movie-title{font-size:1rem;font-weight:600;color:#fff;margin:0;line-height:1.3;text-align:left;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical}@media (max-width: 1024px){.home-poster-image{width:160px;height:240px}.home-carousel-track{gap:20px}}@media (max-width: 768px){.home-movie-carousel{padding:40px 0}.home-poster-image{width:120px;height:180px}.home-carousel-track{gap:15px;animation-duration:45s}.home-movie-title{font-size:.85rem}.home-movie-overlay{padding:1rem .75rem .75rem}}@media (max-width: 480px){.home-poster-image{width:100px;height:150px;border-radius:12px}.home-carousel-track{gap:10px}.home-movie-title{font-size:.75rem}.home-movie-overlay{padding:.75rem .5rem .5rem}}.error-modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#000000d9;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;justify-content:center;align-items:center;z-index:1000;animation:fadeIn .2s ease-out}.error-modal{background:linear-gradient(135deg,#2d1b1b,#3d1e1e);border-radius:20px;padding:40px;max-width:450px;width:90%;box-shadow:0 20px 60px #00000080;position:relative;animation:slideUp .3s ease-out;border:1px solid rgba(255,100,100,.2)}@keyframes slideUp{0%{transform:translateY(30px);opacity:0}to{transform:translateY(0);opacity:1}}.error-modal-close{position:absolute;top:15px;right:15px;background:#ffffff1a;border:none;color:#fff;font-size:28px;width:40px;height:40px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;line-height:1}.error-modal-close:hover{background:#fff3;transform:rotate(90deg)}.error-modal-content{text-align:center;color:#fff}.error-modal-icon{font-size:64px;margin-bottom:20px;animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.1);opacity:.8}}.error-modal-content h2{font-size:32px;margin:0 0 10px;background:linear-gradient(135deg,#ff6b6b,#ee5a6f);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;font-weight:700}.error-modal-content p{font-size:18px;color:#ffffffb3;margin:0 0 30px;line-height:1.6}.error-modal-button{display:flex;align-items:center;justify-content:center;gap:12px;width:100%;padding:16px 24px;background:linear-gradient(135deg,#ff6b6b,#ee5a6f);color:#fff;border:none;border-radius:12px;font-size:16px;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 15px #ee5a6f4d}.error-modal-button:hover{transform:translateY(-2px);box-shadow:0 6px 20px #ee5a6f66}.error-modal-button:active{transform:translateY(0)}@media (max-width: 768px){.error-modal{padding:30px 20px;max-width:90%}.error-modal-content h2{font-size:26px}.error-modal-content p{font-size:16px}.error-modal-icon{font-size:48px}.error-modal-button{font-size:14px;padding:14px 20px}}.movie-swiper-container{height:100vh;background:linear-gradient(135deg,#0f0f1e,#1a1a2e);display:flex;flex-direction:column;padding:.3rem .5rem;animation:fadeIn .5s ease-in;overflow:hidden;box-sizing:border-box;gap:.3rem}.movie-swiper-empty{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;background:linear-gradient(135deg,#0f0f1e,#1a1a2e);color:#fff}.movie-swiper-empty h2{font-size:2rem;margin-bottom:1rem}.movie-swiper-empty p{font-size:1.2rem;color:#a0a0a0}.swiper-header{text-align:center;margin:0;animation:slideDown .6s ease-out;flex-shrink:0;padding:.2rem 0}@keyframes slideDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.swiper-header h2{font-size:1.2rem;color:#fff;margin:0;line-height:1.2}.movie-counter{font-size:.8rem;color:#a0a0a0;margin:0;line-height:1.2}.swiper-main{flex:1;display:flex;align-items:center;justify-content:center;position:relative;max-width:100%;margin:0 auto;perspective:1000px;min-height:0;overflow:visible;max-height:-moz-fit-content;max-height:fit-content;padding:0 clamp(80px,12vw,110px)}.movie-card-swiper{width:340px;height:auto;max-height:85vh;background:#16213e;border-radius:20px;overflow:hidden;box-shadow:0 20px 60px #00000080;position:relative;z-index:10;display:flex;flex-direction:column;animation:cardAppear .5s ease-out;will-change:transform,opacity;margin:0 auto}.movie-card-swiper.dragging{-webkit-user-select:none;-moz-user-select:none;user-select:none}@keyframes cardAppear{0%{opacity:0;transform:scale(.8) translateY(50px)}to{opacity:1;transform:scale(1) translateY(0)}}.movie-card-swiper.swiping-right,.movie-card-swiper.swiping-left{pointer-events:none}.movie-card-preview{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%) scale(1.05);width:340px;height:auto;max-height:85vh;aspect-ratio:2/3;background:#0f0f1e;border-radius:20px;overflow:hidden;z-index:1;opacity:.5}.movie-card-preview img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;filter:blur(5px)}.movie-poster-swiper{position:relative;width:100%;aspect-ratio:2/3;overflow:hidden;flex-shrink:0;max-height:460px}.movie-poster-swiper img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;-webkit-user-select:none;-moz-user-select:none;user-select:none}.swipe-indicator{position:absolute;top:50%;transform:translateY(-50%);display:flex;flex-direction:column;align-items:center;gap:.5rem;font-weight:800;font-size:2rem;padding:1rem 2rem;border-radius:15px;pointer-events:none;transition:opacity .2s ease}.like-indicator{right:2rem;background:#4caf50e6;color:#fff;border:4px solid white}.dislike-indicator{left:2rem;background:#f44336e6;color:#fff;border:4px solid white}.watch-indicator{top:2rem;left:50%;transform:translate(-50%);background:#667eeae6;color:#fff;border:4px solid white}.indicator-icon{font-size:3rem}.indicator-text{font-size:1.5rem;letter-spacing:2px}.movie-info-swiper{padding:.8rem 1.1rem 1rem;color:#fff;flex:1;overflow:hidden;min-height:0;display:flex;flex-direction:column;gap:.5rem}.movie-title-swiper{font-size:1.15rem;font-weight:700;margin:0;line-height:1.25;flex-shrink:0}.movie-meta{display:flex;gap:.6rem;flex-wrap:wrap;margin:0;flex-shrink:0}.meta-item{font-size:.78rem;color:#a0a0a0;display:flex;align-items:center;gap:.25rem}.movie-genres{display:flex;gap:.4rem;flex-wrap:wrap;margin:0;flex-shrink:0}.genre-tag{background:#667eea4d;color:#a8b7ff;padding:.25rem .5rem;border-radius:16px;font-size:.68rem;font-weight:500}.movie-overview{font-size:.82rem;line-height:1.4;color:#d0d0d0;margin:0;display:-webkit-box;-webkit-line-clamp:4;line-clamp:4;-webkit-box-orient:vertical;overflow:hidden;flex:1 1 auto;min-height:0}.side-action-btn{position:absolute;top:50%;transform:translateY(-50%);display:flex;flex-direction:column;align-items:center;justify-content:center;width:clamp(60px,9vw,76px);height:clamp(150px,32vh,190px);border-radius:40px;border:none;cursor:pointer;color:#fff;gap:.35rem;text-transform:uppercase;font-weight:600;letter-spacing:.05em;box-shadow:0 12px 30px #00000059;transition:transform .25s ease,box-shadow .25s ease;z-index:5}.side-action-btn.dislike{left:0;background:linear-gradient(160deg,#f44336,#e91e63)}.side-action-btn.like{right:0;background:linear-gradient(160deg,#4caf50,#8bc34a)}.side-action-btn:hover{transform:translateY(-50%) scale(1.05);box-shadow:0 18px 40px #00000073}.side-action-btn:active{transform:translateY(-50%) scale(.95)}.btn-icon{font-size:clamp(2.5rem,2.8vw,2.1rem)}.btn-label{font-size:clamp(2.5rem,1.1vw,.75rem)}.watched-button{position:absolute;bottom:-90px;left:50%;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;justify-content:center;width:clamp(100px,15vw,140px);height:clamp(60px,8vh,75px);border-radius:20px;border:none;cursor:pointer;background:linear-gradient(160deg,#667eea,#764ba2);color:#fff;gap:.25rem;text-transform:uppercase;font-weight:600;letter-spacing:.05em;box-shadow:0 12px 30px #667eea59;transition:all .25s ease;z-index:15}.watched-button:hover{transform:translate(-50%) scale(1.05);box-shadow:0 18px 40px #667eea73}.watched-button:active{transform:translate(-50%) scale(.95)}.watched-button .watched-icon{font-size:2.5rem}.watched-label{font-size:clamp(.65rem,1vw,.8rem)}@media (max-width: 768px){.movie-swiper-container{padding:.4rem}.swiper-main{max-width:clamp(280px,80vw,360px)}.side-action-btn.dislike{left:clamp(-65px,-9vw,-80px)}.side-action-btn.like{right:clamp(-65px,-9vw,-80px)}.swiper-header h2{font-size:1.1rem}.movie-counter{font-size:.75rem}.movie-title-swiper{font-size:1rem}.action-btn{width:52px;height:52px}.btn-icon{font-size:1.35rem}.btn-label{font-size:.6rem}.side-action-btn{height:clamp(130px,34vh,160px)}.swipe-indicator{font-size:1.3rem;padding:.6rem 1.2rem}.indicator-icon{font-size:2.1rem}.indicator-text{font-size:1rem}.watched-button{position:absolute;bottom:-80px;left:50%;transform:translate(-50%);width:clamp(90px,20vw,120px);height:clamp(55px,8vh,70px)}.watched-button:hover{transform:translate(-50%) scale(1.05)}.watched-button:active{transform:translate(-50%) scale(.95)}}@media (max-width: 480px){.swiper-main{flex-direction:column;max-width:100%}.side-action-btn{position:static;flex-direction:row;width:100%;max-width:240px;height:58px;border-radius:29px;gap:.5rem}.side-action-btn.dislike{left:auto;order:-1}.side-action-btn.like{right:auto;order:1}.btn-icon{font-size:1.2rem}.movie-info-swiper{padding:.65rem .75rem}.movie-meta{gap:.5rem}.meta-item{font-size:.75rem}.genre-tag{font-size:.65rem;padding:.25rem .45rem}.movie-overview{font-size:.75rem;line-height:1.25;-webkit-line-clamp:2;line-clamp:2}.movie-overview{-webkit-line-clamp:2;line-clamp:2}.watched-button{position:absolute;bottom:-75px;left:50%;transform:translate(-50%);width:100%;max-width:240px;height:55px;border-radius:28px;flex-direction:row;gap:.5rem}.watched-button:hover{transform:translate(-50%) scale(1.05)}.watched-button:active{transform:translate(-50%) scale(.95)}.watched-icon{font-size:2.5rem}.watched-label{font-size:.7rem}}.game-rating-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background:#000000d9;display:flex;align-items:center;justify-content:center;z-index:10000;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);animation:fadeIn .3s ease-out}.game-rating-modal{background:linear-gradient(135deg,#1a1a2e,#16213e);border-radius:24px;padding:40px;max-width:600px;width:90%;max-height:85vh;display:flex;flex-direction:column;box-shadow:0 25px 50px #00000080;animation:slideUp .4s cubic-bezier(.4,0,.2,1)}@keyframes slideUp{0%{transform:translateY(50px);opacity:0}to{transform:translateY(0);opacity:1}}.rating-title{font-size:32px;font-weight:800;margin:0 0 8px;text-align:center;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.rating-subtitle{text-align:center;color:#a0a0b0;margin:0 0 35px;font-size:15px}.overall-rating-section{margin-bottom:35px;padding-bottom:30px;border-bottom:2px solid rgba(255,255,255,.1)}.rating-label{color:#e0e0e0;font-size:16px;font-weight:600;margin-bottom:15px;text-align:center}.star-rating-large{display:flex;justify-content:center;gap:12px}.star-btn{background:none;border:none;font-size:48px;cursor:pointer;transition:all .2s ease;opacity:.3;transform:scale(1);filter:grayscale(100%);padding:0}.star-btn.filled{opacity:1;filter:grayscale(0%);transform:scale(1.1)}.star-btn:hover{transform:scale(1.2)}.star-btn:active{transform:scale(1.05)}.movie-feedback-section{margin-bottom:30px;flex:1;min-height:0;display:flex;flex-direction:column}.movie-feedback-list{flex:1;overflow-y:auto;padding-right:10px;min-height:0}.movie-feedback-list::-webkit-scrollbar{width:8px}.movie-feedback-list::-webkit-scrollbar-track{background:#ffffff0d;border-radius:4px}.movie-feedback-list::-webkit-scrollbar-thumb{background:#fff3;border-radius:4px}.movie-feedback-list::-webkit-scrollbar-thumb:hover{background:#ffffff4d}.movie-feedback-item{display:flex;align-items:center;gap:15px;padding:12px;margin-bottom:10px;background:#ffffff0d;border-radius:12px;transition:all .2s ease;border:2px solid transparent}.movie-feedback-item:hover{background:#ffffff14;border-color:#667eea4d}.movie-feedback-poster{width:46px;height:69px;border-radius:6px;-o-object-fit:cover;object-fit:cover;box-shadow:0 4px 8px #0000004d;flex-shrink:0;transition:transform .2s ease}.movie-feedback-poster.clickable{cursor:pointer}.movie-feedback-poster.clickable:hover{transform:scale(1.15);box-shadow:0 6px 12px #667eea80}.movie-feedback-title{flex:1;color:#e0e0e0;font-size:15px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.movie-feedback-buttons{display:flex;gap:10px;flex-shrink:0}.feedback-btn{background:#ffffff14;border:2px solid rgba(255,255,255,.15);border-radius:8px;width:44px;height:44px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;font-size:20px;opacity:.6}.feedback-btn:hover{opacity:1;transform:scale(1.1)}.feedback-btn.thumbs-down:hover{background:#ef444433;border-color:#ef444480}.feedback-btn.thumbs-up:hover{background:#22c55e33;border-color:#22c55e80}.feedback-btn.thumbs-down.active{background:#ef44444d;border-color:#ef4444;opacity:1;transform:scale(1.05)}.feedback-btn.thumbs-up.active{background:#22c55e4d;border-color:#22c55e;opacity:1;transform:scale(1.05)}.rating-actions{display:flex;gap:15px;margin-top:25px}.rating-btn{flex:1;padding:16px 24px;border:none;border-radius:12px;font-size:16px;font-weight:700;cursor:pointer;transition:all .25s ease;text-transform:uppercase;letter-spacing:.5px}.skip-btn{background:#ffffff1a;color:#a0a0b0;border:2px solid rgba(255,255,255,.2)}.skip-btn:hover{background:#ffffff26;color:#e0e0e0;transform:translateY(-2px);box-shadow:0 4px 12px #0003}.submit-btn{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;box-shadow:0 4px 14px #667eea66}.submit-btn:hover:not(.disabled){transform:translateY(-2px);box-shadow:0 6px 20px #667eea99}.submit-btn.disabled{opacity:.4;cursor:not-allowed;background:#ffffff1a;box-shadow:none}.rating-btn:active:not(.disabled){transform:translateY(0)}.loading-screen-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000f2;display:flex;align-items:center;justify-content:center;z-index:9999;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.loading-screen{width:90%;max-width:1200px;padding:40px;text-align:center}.loading-content h2{font-size:2.5rem;margin-bottom:10px;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.loading-subtitle{font-size:1.1rem;color:#a0aec0;margin-bottom:40px}.loading-animation{margin:30px 0}.spinner{width:60px;height:60px;margin:0 auto;border:4px solid rgba(102,126,234,.1);border-top:4px solid #667eea;border-radius:50%;animation:spin 1s linear infinite;will-change:transform;transform:translateZ(0)}@keyframes spin{0%{transform:rotate(0) translateZ(0)}to{transform:rotate(360deg) translateZ(0)}}.loading-steps{display:flex;justify-content:center;gap:40px;margin:40px 0}.step{display:flex;flex-direction:column;align-items:center;gap:10px;opacity:.3;transition:opacity .4s cubic-bezier(.4,0,.2,1);will-change:opacity}.step.active{opacity:1}.step-icon{font-size:2.5rem;width:70px;height:70px;display:flex;align-items:center;justify-content:center;background:#667eea1a;border-radius:50%;border:2px solid rgba(102,126,234,.3);transition:all .4s cubic-bezier(.4,0,.2,1);will-change:transform,border-color,background;transform:translateZ(0)}.step.active .step-icon{background:#667eea33;border-color:#667eea;animation:pulse 2s cubic-bezier(.4,0,.2,1) infinite}@keyframes pulse{0%,to{transform:scale(1) translateZ(0)}50%{transform:scale(1.05) translateZ(0)}}.step p{font-size:.9rem;color:#a0aec0}.step.active p{color:#e2e8f0;font-weight:600}.movie-carousel{margin:50px 0 30px;overflow:hidden;padding:20px 0;position:relative;width:100%;mask-image:linear-gradient(to right,transparent,black 10%,black 90%,transparent);-webkit-mask-image:linear-gradient(to right,transparent,black 10%,black 90%,transparent)}.carousel-track{display:flex;gap:20px;align-items:center;animation:scroll 30s linear infinite;will-change:transform;width:-moz-max-content;width:max-content}@keyframes scroll{0%{transform:translate(0) translateZ(0)}to{transform:translate(-50%) translateZ(0)}}.carousel-track:hover{animation-play-state:paused}.carousel-item{position:relative;flex-shrink:0;transform:translateZ(0);backface-visibility:hidden;transition:transform .3s ease,opacity .3s ease;opacity:.7}.carousel-item:hover{opacity:1;transform:scale(1.1) translateZ(0);z-index:10}.poster-image{width:150px;height:225px;-o-object-fit:cover;object-fit:cover;border-radius:12px;box-shadow:0 10px 30px #00000080;transition:box-shadow .3s ease;transform:translateZ(0);backface-visibility:hidden;image-rendering:-webkit-optimize-contrast;image-rendering:crisp-edges}.carousel-item:hover .poster-image{box-shadow:0 20px 60px #667eea99;border:2px solid #667eea}.poster-title{position:absolute;bottom:-35px;left:50%;transform:translate(-50%) translateZ(0);background:#667eeaf2;padding:8px 16px;border-radius:20px;font-size:.9rem;font-weight:600;white-space:nowrap;max-width:200px;overflow:hidden;text-overflow:ellipsis;color:#fff;box-shadow:0 4px 12px #0000004d;animation:fadeInTitle .4s ease-out;will-change:transform,opacity;backface-visibility:hidden}@keyframes fadeInTitle{0%{opacity:0;transform:translate(-50%) translateY(10px) translateZ(0)}to{opacity:1;transform:translate(-50%) translateY(0) translateZ(0)}}.loading-tip{margin-top:30px;font-size:.95rem;color:#718096;font-style:italic}@media (max-width: 768px){.loading-content h2{font-size:1.8rem}.loading-steps{gap:20px}.step-icon{width:50px;height:50px;font-size:1.8rem}.poster-image{width:100px;height:150px}.carousel-track{gap:10px}}.liked-movies-view{min-height:100vh;background:linear-gradient(135deg,#1a1a2e,#16213e);display:flex;flex-direction:row;animation:fadeIn .5s ease-in;overflow-x:hidden}.filter-sidebar{width:280px;min-width:280px;flex-shrink:0;background:#0f0f1ef2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:2rem 1.5rem;overflow-y:auto;border-right:1px solid rgba(102,126,234,.2);align-self:stretch}.filter-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:2px solid rgba(102,126,234,.3)}.filter-header h3{font-size:1.5rem;font-weight:700;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin:0}.clear-filters-btn{padding:.4rem .8rem;font-size:.85rem;font-weight:600;background:#f4433633;color:#f44336;border:1px solid rgba(244,67,54,.4);border-radius:6px;cursor:pointer;transition:all .3s ease}.clear-filters-btn:hover{background:#f443364d;border-color:#f4433699;transform:scale(1.05)}.sort-select:hover{background:#ffffff14;border-color:#667eea66}.sort-select:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea33}.sort-select option:hover{background:#667eea;color:#fff}.filter-options::-webkit-scrollbar-thumb{background:#667eea80;border-radius:3px}.filter-options::-webkit-scrollbar-thumb:hover{background:#667eeab3}.filter-checkbox:hover{background:#667eea1a}.filter-checkbox input[type=checkbox]{width:18px;height:18px;cursor:pointer;accent-color:#667eea}.year-input:hover,.rating-input:hover{background:#ffffff14;border-color:#667eea66}.year-input:focus,.rating-input:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea33}.liked-movies-content{flex:1;padding:2rem;overflow-x:hidden;min-width:0}.favorites-section{margin-bottom:4rem}.liked-section{margin-bottom:3rem}.section-header{text-align:center;margin-bottom:2rem;animation:fadeInDown .6s ease-out}.section-title{font-size:2.5rem;font-weight:700;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:.5rem}.section-count{font-size:1.1rem;color:#a0a0a0;font-weight:300}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.liked-movies-header{text-align:center;margin-bottom:3rem;animation:fadeInDown .6s ease-out}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-30px)}to{opacity:1;transform:translateY(0)}}.liked-movies-title{font-size:3rem;font-weight:700;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:.5rem}.liked-movies-count{font-size:1.2rem;color:#a0a0a0;font-weight:300}.liked-movies-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:2rem;max-width:1400px;margin:0 auto 3rem;animation:fadeInUp .7s ease-out}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.movie-card{position:relative;transition:transform .3s ease,box-shadow .3s ease;animation:scaleIn .5s ease-out backwards}.movie-card:nth-child(1){animation-delay:.1s}.movie-card:nth-child(2){animation-delay:.15s}.movie-card:nth-child(3){animation-delay:.2s}.movie-card:nth-child(4){animation-delay:.25s}.movie-card:nth-child(5){animation-delay:.3s}.movie-card:nth-child(n+6){animation-delay:.35s}@keyframes scaleIn{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}.movie-card:hover{transform:translateY(-8px) scale(1.02);box-shadow:0 12px 30px #667eea66}.movie-poster-container{position:relative;border-radius:12px;overflow:hidden;background:#0f0f1e;aspect-ratio:2/3;box-shadow:0 4px 15px #0000004d}.movie-poster{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;display:block;transition:transform .3s ease}.movie-card:hover .movie-poster{transform:scale(1.05)}.movie-overlay{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(to top,rgba(0,0,0,.95) 0%,transparent 100%);padding:1.5rem 1rem 1rem;opacity:0;transition:opacity .3s ease}.movie-card:hover .movie-overlay{opacity:1}.movie-title{font-size:1rem;font-weight:600;color:#fff;margin:0 0 .25rem;line-height:1.3}.movie-year{font-size:.85rem;color:#a0a0a0;margin:0}.favorite-button{position:absolute;bottom:10px;right:10px;width:44px;height:44px;border-radius:50%;border:none;background:#000000b3;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s ease;z-index:10}.watched-movie-button:has(~.favorite-button){right:64px}.favorite-button:hover{background:#000000e6;transform:scale(1.15)}.favorite-button:active{transform:scale(.95)}.favorite-button.processing{background:linear-gradient(135deg,#667eea,#764ba2);animation:pulse .6s ease-in-out}.favorite-button.favorited{background:linear-gradient(135deg,#f093fb,#f5576c);box-shadow:0 4px 15px #f5576c80}.favorite-button.favorited:hover{background:linear-gradient(135deg,#ff9ff5,#ff6b7f);transform:scale(1.15);box-shadow:0 6px 20px #f5576cb3}.favorite-icon{font-size:1.5rem;transition:all .3s ease;display:block;color:#fff}.favorite-icon.processing{color:#fff;font-weight:700;animation:checkmark .6s ease-in-out}@keyframes checkmark{0%{opacity:0;transform:scale(0) rotate(0)}50%{opacity:1;transform:scale(1.3) rotate(180deg)}to{opacity:1;transform:scale(1) rotate(360deg)}}.favorite-icon.favorited{color:#fff;font-weight:900;font-size:1.6rem;text-shadow:0 0 10px rgba(255,255,255,.5);animation:heartBeat .6s ease-in-out}@keyframes heartBeat{0%,to{transform:scale(1)}25%{transform:scale(1.3)}50%{transform:scale(1.1)}75%{transform:scale(1.2)}}.move-to-disliked-button{position:absolute;top:10px;left:10px;width:44px;height:44px;border-radius:50%;border:none;background:linear-gradient(135deg,#f44336,#ef5350);color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:1.3rem;box-shadow:0 4px 12px #0006;transition:all .3s ease;z-index:10}.move-to-disliked-button:hover{transform:scale(1.15);background:linear-gradient(135deg,#ff5a4e,#ff6b65);box-shadow:0 6px 16px #f4433699}.move-to-disliked-button:active{transform:scale(.95)}.move-to-disliked-button.processing{background:linear-gradient(135deg,#ef5350,#e57373);animation:pulse .6s ease-in-out}.move-icon{font-weight:700;transform:rotate(225deg);display:inline-block}.disliked-section{margin-bottom:3rem}.move-to-liked-button{position:absolute;top:10px;right:10px;width:44px;height:44px;border-radius:50%;border:none;background:linear-gradient(135deg,#4caf50,#66bb6a);color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:1.3rem;box-shadow:0 4px 12px #0006;transition:all .3s ease;z-index:10}.move-to-liked-button:hover{transform:scale(1.15);background:linear-gradient(135deg,#5bc55f,#7ac97e);box-shadow:0 6px 16px #4caf5099}.move-to-liked-button .move-icon{transform:rotate(-45deg)}.liked-movies-actions{display:flex;gap:1.5rem;justify-content:center;align-items:center;margin-top:3rem;animation:fadeInUp .8s ease-out}.action-button{padding:1rem 2.5rem;font-size:1.1rem;font-weight:600;border:none;border-radius:50px;cursor:pointer;display:flex;align-items:center;gap:.75rem;transition:all .3s ease;box-shadow:0 4px 15px #0003}.action-button:hover{transform:translateY(-3px);box-shadow:0 8px 25px #0000004d}.action-button:active{transform:translateY(-1px)}.action-button.primary{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.action-button.primary:hover{background:linear-gradient(135deg,#7c8ef5,#8a5ab8);box-shadow:0 8px 25px #667eea80}.action-button.secondary{background:#ffffff1a;color:#fff;border:2px solid rgba(255,255,255,.2)}.action-button.secondary:hover{background:#ffffff26;border-color:#ffffff4d}.button-icon{font-size:1.3rem}@media (max-width: 1024px){.filter-sidebar{display:none}.liked-movies-view{flex-direction:column}.liked-movies-content{width:100%}}@media (max-width: 768px){.liked-movies-content{padding:1.5rem 1rem}.liked-movies-title{font-size:2rem}.liked-movies-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:1.5rem}.liked-movies-actions{flex-direction:column;width:100%;max-width:300px;margin:3rem auto 0}.action-button{width:100%;justify-content:center}}@media (max-width: 480px){.liked-movies-title{font-size:1.75rem}.liked-movies-count{font-size:1rem}.liked-movies-grid{grid-template-columns:repeat(2,1fr);gap:1rem}.action-button{padding:.875rem 2rem;font-size:1rem}.button-icon{font-size:1.1rem}}:root{--netflix-red: #E50914;--netflix-dark-red: #B20710;--netflix-soft-red: rgba(229, 9, 20, .6);--netflix-glow-red: rgba(229, 9, 20, .15);--netflix-black: #000000;--netflix-dark-grey: #141414;--netflix-medium-grey: #2F2F2F;--netflix-light-grey: #564D4D;--netflix-white: #FFFFFF;--netflix-light-white: #F3F3F3;--netflix-accent-grey: #808080;--netflix-hover-grey: #333333;--netflix-shadow: rgba(0, 0, 0, .4);--netflix-card-shadow: rgba(0, 0, 0, .25);--netflix-red-shadow: rgba(229, 9, 20, .3)}.App{min-height:100vh;background:linear-gradient(135deg,var(--netflix-black) 0%,var(--netflix-dark-grey) 50%,#1a1a1a 100%);color:var(--netflix-white);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;animation:fadeIn .8s ease-out}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.App-header{padding:1rem 2rem;text-align:center;background:linear-gradient(180deg,var(--netflix-black) 0%,#1a1a1a 100%);box-shadow:0 8px 32px var(--netflix-shadow),0 0 20px var(--netflix-glow-red);border-bottom:1px solid var(--netflix-soft-red);position:relative}.header-content{display:flex;justify-content:space-between;align-items:center;max-width:1400px;margin:0 auto;gap:2rem}.header-left{flex:1;text-align:left}.header-right{flex-shrink:0}.App-header:after{content:"";position:absolute;bottom:0;left:50%;transform:translate(-50%);width:60%;height:2px;background:linear-gradient(90deg,transparent,var(--netflix-red),transparent);box-shadow:0 0 10px var(--netflix-red)}.App h1{font-size:2rem;margin-bottom:.25rem;text-shadow:3px 3px 6px rgba(0,0,0,.8),0 0 20px rgba(229,9,20,.3);color:var(--netflix-red);font-weight:700;letter-spacing:-.02em;animation:slideInFromTop 1s ease-out .2s both}@keyframes slideInFromTop{0%{opacity:0;transform:translateY(-30px)}to{opacity:1;transform:translateY(0)}}.App-header p{font-size:1rem;margin-bottom:0;opacity:.95;color:var(--netflix-light-white);font-weight:500;animation:slideInFromTop 1s ease-out .4s both}.preferences-container{max-width:1800px;margin:0 auto;padding:1rem;animation:slideInFromBottom 1s ease-out .6s both;background:linear-gradient(135deg,#0a0a0a,#1a1a2e,#0a0a0a);min-height:100vh}@keyframes slideInFromBottom{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}.preferences-form{background:linear-gradient(145deg,#161621f2,#0f0f19fa);border-radius:16px;padding:1.4rem;box-shadow:0 8px 32px #e5091426,0 0 0 1px #e509141a,0 20px 60px #00000080;border:1px solid rgba(229,9,20,.2);position:relative;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);margin-top:1rem}.preferences-form:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,var(--netflix-red),transparent);border-radius:20px 20px 0 0;pointer-events:none}.preferences-form h2{color:var(--netflix-white);font-size:1.6rem;text-align:center;margin-bottom:1.2rem;text-shadow:0 2px 20px rgba(229,9,20,.4),2px 2px 8px rgba(0,0,0,.8);font-weight:700;letter-spacing:-.02em;background:linear-gradient(135deg,#fff,#e50914);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.form-section{margin-bottom:1.2rem;padding:1.2rem;background:linear-gradient(135deg,#1e1e2d99,#141423cc);border-radius:12px;border:1px solid rgba(229,9,20,.15);box-shadow:0 4px 20px #0000004d,inset 0 1px #ffffff0d;transition:all .4s cubic-bezier(.4,0,.2,1);animation:fadeInUp .6s ease-out both;position:relative;overflow:hidden}.form-section:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle,rgba(229,9,20,.05) 0%,transparent 70%);opacity:0;transition:opacity .4s ease;pointer-events:none;z-index:0}.form-section:hover:before{opacity:1}.form-section:nth-child(2){animation-delay:.1s}.form-section:nth-child(3){animation-delay:.2s}.form-section:nth-child(4){animation-delay:.3s}.form-section:nth-child(5){animation-delay:.4s}.form-section:nth-child(6){animation-delay:.5s}.form-section:nth-child(7){animation-delay:.6s}.slider-group:nth-child(1){animation-delay:.1s}.slider-group:nth-child(2){animation-delay:.2s}.slider-group:nth-child(3){animation-delay:.3s}.slider-group:nth-child(4){animation-delay:.4s}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.form-section:hover{transform:translateY(-2px) scale(1.01);box-shadow:0 8px 30px #0006,0 0 20px #e5091426,inset 0 1px #ffffff1a;border-color:#e509144d}.form-section h3{color:var(--netflix-red);font-size:1.2rem;margin-bottom:1.2rem;text-align:center;border-bottom:2px solid rgba(229,9,20,.3);padding-bottom:.6rem;font-weight:600;letter-spacing:-.01em;text-shadow:0 0 15px rgba(229,9,20,.4),0 2px 4px rgba(0,0,0,.5);position:relative}.form-section h3:after{content:"";position:absolute;bottom:-2px;left:50%;transform:translate(-50%);width:80px;height:2px;background:linear-gradient(90deg,transparent,var(--netflix-red),transparent)}.form-section label{display:block;color:#e0e0e0;font-weight:500;margin-bottom:.6rem;font-size:.85rem;transition:color .3s ease;letter-spacing:.01em;position:relative;z-index:1}.movie-description{width:100%;max-width:100%;min-height:120px;background:linear-gradient(135deg,#0f0f19e6,#0a0a14f2);border:2px solid rgba(229,9,20,.2);border-radius:10px;padding:.8rem;color:var(--netflix-white);font-size:.9rem;font-family:inherit;font-weight:400;resize:none;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:inset 0 2px 6px #0006,0 2px 8px #e509141a;box-sizing:border-box;overflow-y:hidden;line-height:1.6;position:relative;z-index:1}.movie-description:focus{outline:none;border-color:var(--netflix-red);box-shadow:inset 0 2px 6px #0006,0 0 20px #e509144d,0 4px 12px #e5091433;transform:scale(1.005);background:linear-gradient(135deg,#14141ef2,#0f0f19fa)}.movie-description::-moz-placeholder{color:#a0a0b499;opacity:1;font-weight:400}.movie-description::placeholder{color:#a0a0b499;opacity:1;font-weight:400}.sliders-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1rem;margin-top:.8rem}.genre-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:.8rem;margin-top:.8rem}.slider-group{background:linear-gradient(180deg,var(--netflix-black) 0%,#0a0a0a 100%);padding:.8rem;border-radius:8px;border:1px solid var(--netflix-soft-red);transition:all .3s ease;box-shadow:0 2px 8px #0003,0 0 5px var(--netflix-glow-red);animation:slideInScale .5s ease-out both}@keyframes slideInScale{0%{opacity:0;transform:translateY(15px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.slider-group:hover{border-color:var(--netflix-red);box-shadow:0 6px 20px #0000004d,0 0 15px var(--netflix-red-shadow);background:linear-gradient(180deg,var(--netflix-hover-grey) 0%,#1a1a1a 100%);transform:translateY(-2px) scale(1.02)}.range-slider-container{display:flex;gap:.5rem;margin-top:.5rem}.range-slider{width:100%;height:8px;border-radius:4px;background:linear-gradient(90deg,var(--netflix-medium-grey) 0%,var(--netflix-light-grey) 100%);outline:none;transition:all .3s ease;cursor:pointer;box-shadow:inset 0 2px 4px #0000004d}.range-slider.single{margin-top:.5rem}.range-slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:20px;height:20px;border-radius:50%;background:linear-gradient(45deg,var(--netflix-red),var(--netflix-dark-red));cursor:pointer;border:2px solid var(--netflix-white);box-shadow:0 2px 8px #0006,0 0 10px #e5091466;-webkit-transition:all .3s ease;transition:all .3s ease}.range-slider::-webkit-slider-thumb:hover{transform:scale(1.15);box-shadow:0 4px 15px #00000080,0 0 20px #e50914b3;border-color:var(--netflix-light-white)}.range-slider::-webkit-slider-thumb:active{transform:scale(1.1);box-shadow:0 2px 10px #0009,0 0 15px #e50914cc}.range-slider::-moz-range-thumb{width:20px;height:20px;border-radius:50%;background:linear-gradient(45deg,var(--netflix-red),var(--netflix-dark-red));cursor:pointer;border:2px solid var(--netflix-white);box-shadow:0 2px 8px #0006,0 0 10px #e5091466;-moz-transition:all .3s ease;transition:all .3s ease}.dropdown{width:100%;background:linear-gradient(180deg,var(--netflix-black) 0%,#0a0a0a 100%);border:1px solid var(--netflix-soft-red);border-radius:8px;padding:.6rem;color:var(--netflix-white);font-size:.9rem;font-weight:500;cursor:pointer;transition:all .3s ease;box-shadow:0 2px 8px #0003,0 0 5px var(--netflix-glow-red)}.dropdown:focus{outline:none;border-color:var(--netflix-red);box-shadow:0 4px 15px #0000004d,0 0 15px var(--netflix-red-shadow);transform:scale(1.01)}.dropdown:hover{border-color:var(--netflix-red);transform:translateY(-1px)}.dropdown option{background:var(--netflix-dark-grey);color:var(--netflix-white);padding:.5rem;font-weight:500}.form-actions{display:flex;justify-content:center;gap:1.5rem;margin-top:2rem;padding-top:2rem;border-top:2px solid rgba(229,9,20,.2);animation:fadeInUp .8s ease-out 1s both;flex-wrap:wrap}.clear-button,.submit-button,.dev-button{padding:1rem 2rem;border:none;border-radius:12px;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .4s cubic-bezier(.4,0,.2,1);text-transform:uppercase;letter-spacing:1px;min-width:150px;position:relative;overflow:hidden;box-shadow:0 4px 15px #0000004d}.clear-button{background:linear-gradient(135deg,#3c3c50cc,#28283ce6);color:#e0e0e0;border:2px solid rgba(229,9,20,.3)}.clear-button:hover{background:linear-gradient(135deg,#46465ae6,#323246);transform:translateY(-4px) scale(1.05);box-shadow:0 8px 25px #0006,0 0 15px #e5091433;border-color:#e5091480;color:var(--netflix-white)}.clear-button:active{transform:translateY(-2px) scale(1.02)}.submit-button{background:linear-gradient(135deg,#e50914,#b20710);color:var(--netflix-white);border:2px solid rgba(255,255,255,.3);box-shadow:0 4px 20px #e5091466,0 0 15px #e509144d;text-shadow:0 2px 4px rgba(0,0,0,.3)}.submit-button:hover{background:linear-gradient(135deg,#f5151f,#e50914);transform:translateY(-4px) scale(1.05);box-shadow:0 8px 35px #e5091499,0 0 30px #e5091466;border-color:#fff9}.submit-button:active{transform:translateY(-2px) scale(1.02)}.clear-button:before,.submit-button:before,.dev-button:before{content:"";position:absolute;top:50%;left:50%;width:0;height:0;background:radial-gradient(circle,rgba(255,255,255,.3) 0%,transparent 70%);transition:all .6s ease;transform:translate(-50%,-50%);border-radius:50%}.clear-button:hover:before,.submit-button:hover:before,.dev-button:hover:before{width:300px;height:300px}.dev-button{background:linear-gradient(45deg,#ff6b35,#f7931e);color:var(--netflix-white);border:1px solid #FFB84D;box-shadow:0 4px 15px #ff6b3566,0 0 10px #f7931e4d;text-transform:none;font-size:1rem}.dev-button:hover{background:linear-gradient(45deg,#f7931e,#ff6b35);transform:translateY(-3px) scale(1.03);box-shadow:0 8px 30px #ff6b3599,0 0 20px #f7931e80;border-color:gold}.dev-button:active{transform:translateY(-1px) scale(1.01)}.backend-status{background:linear-gradient(180deg,var(--netflix-black) 0%,#0a0a0a 100%);padding:1rem;margin-top:2rem;border-top:1px solid var(--netflix-soft-red);box-shadow:0 -4px 20px #0003}.connection-status{max-width:600px;margin:0 auto;text-align:center;background:linear-gradient(180deg,#1a1a1acc,#0e0e0ecc);border-radius:10px;padding:1rem;border:1px solid var(--netflix-soft-red);box-shadow:0 4px 15px #0003,0 0 10px var(--netflix-glow-red);transition:all .3s ease}.connection-status:hover{transform:translateY(-2px);box-shadow:0 6px 20px #0000004d,0 0 15px var(--netflix-glow-red)}.status-indicator{display:flex;align-items:center;justify-content:center;gap:.5rem;font-weight:500;font-size:1rem;margin-bottom:.5rem;color:var(--netflix-white);transition:all .3s ease}.status-dot{width:12px;height:12px;border-radius:50%;transition:all .3s ease}.status-indicator.connected .status-dot{background-color:#00d100;box-shadow:0 0 12px #00d10099,0 0 24px #00d1004d}.status-indicator.disconnected .status-dot{background-color:var(--netflix-red);box-shadow:0 0 12px #e5091499,0 0 24px #e509144d}.status-indicator.loading .status-dot{background-color:var(--netflix-accent-grey);animation:pulse 1.5s infinite}@keyframes pulse{0%,to{opacity:1;transform:scale(1);box-shadow:0 0 8px #80808099}50%{opacity:.6;transform:scale(1.3);box-shadow:0 0 16px #808080cc}}.retry-button{background:linear-gradient(45deg,#e509141a,#e509140d);border:1px solid var(--netflix-soft-red);color:var(--netflix-white);padding:.5rem 1rem;border-radius:6px;cursor:pointer;transition:all .3s ease;font-size:.9rem;font-weight:500;box-shadow:0 2px 8px #0003}.retry-button:hover{background:linear-gradient(45deg,#e5091433,#e509141a);border-color:var(--netflix-red);transform:translateY(-2px) scale(1.05);box-shadow:0 4px 15px #0000004d,0 0 10px #e5091466}@media (max-width: 768px){.App h1{font-size:2.2rem}.App-header{padding:1rem}.header-content{flex-direction:column;gap:1rem}.header-left{text-align:center}.preferences-container{padding:1rem}.preferences-form{padding:1.5rem}.preferences-form h2{font-size:1.8rem}.sliders-grid,.genre-grid{grid-template-columns:1fr;gap:1rem}.form-actions{flex-direction:column;gap:1rem}.clear-button,.submit-button{width:100%;min-width:unset}}@media (max-width: 480px){.App h1{font-size:1.8rem}.preferences-form h2{font-size:1.5rem}.form-section{padding:1rem}}.disliked-movies-view{min-height:100vh;background:linear-gradient(135deg,#0f0f1e,#1a1a2e);display:flex;flex-direction:row;overflow-x:hidden}.filter-sidebar{width:280px;min-width:280px;flex-shrink:0;background:#0f0f1ef2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:2rem 1.5rem;overflow-y:auto;border-right:1px solid rgba(244,67,54,.2);align-self:stretch}.filter-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:2px solid rgba(244,67,54,.3)}.filter-header h3{font-size:1.5rem;font-weight:700;background:linear-gradient(135deg,#f44336,#ef5350);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin:0}.clear-filters-btn{padding:.4rem .8rem;font-size:.85rem;font-weight:600;background:#667eea33;color:#667eea;border:1px solid rgba(102,126,234,.4);border-radius:6px;cursor:pointer;transition:all .3s ease}.clear-filters-btn:hover{background:#667eea4d;border-color:#667eea99;transform:scale(1.05)}.filter-section{margin-bottom:2rem}.filter-section h4{font-size:1rem;font-weight:600;color:#a0a0a0;margin-bottom:.75rem;text-transform:uppercase;letter-spacing:1px}.sort-select{width:100%;padding:.75rem;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:8px;color:#fff;font-size:.95rem;cursor:pointer;transition:all .3s ease}.sort-select:hover{background:#ffffff14;border-color:#f4433666}.sort-select:focus{outline:none;border-color:#f44336;box-shadow:0 0 0 3px #f4433633}.sort-select option{background:#1a1a2e;color:#fff;padding:.75rem;font-size:.95rem}.sort-select option:hover{background:#f44336;color:#fff}.filter-options{display:flex;flex-direction:column;gap:.5rem;max-height:200px;overflow-y:auto;padding-right:.5rem}.filter-options::-webkit-scrollbar{width:6px}.filter-options::-webkit-scrollbar-track{background:#ffffff0d;border-radius:3px}.filter-options::-webkit-scrollbar-thumb{background:#f4433680;border-radius:3px}.filter-options::-webkit-scrollbar-thumb:hover{background:#f44336b3}.filter-checkbox{display:flex;align-items:center;gap:.5rem;cursor:pointer;padding:.4rem .5rem;border-radius:6px;transition:background .2s ease}.filter-checkbox:hover{background:#f443361a}.filter-checkbox input[type=checkbox]{width:18px;height:18px;cursor:pointer;accent-color:#F44336}.filter-checkbox span{color:#e0e0e0;font-size:.95rem}.year-range-inputs,.rating-range-inputs{display:flex;align-items:center;gap:.5rem}.year-input,.rating-input{flex:1;padding:.6rem;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:6px;color:#fff;font-size:.9rem;transition:all .3s ease}.year-input:hover,.rating-input:hover{background:#ffffff14;border-color:#f4433666}.year-input:focus,.rating-input:focus{outline:none;border-color:#f44336;box-shadow:0 0 0 3px #f4433633}.year-range-inputs span,.rating-range-inputs span{color:#a0a0a0;font-weight:600}.disliked-movies-content{flex:1;padding:2rem;overflow-y:auto;overflow-x:hidden;min-width:0}.disliked-movies-header{text-align:center;margin-bottom:3rem;animation:fadeIn .6s ease-out}@keyframes fadeIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.disliked-movies-title{font-size:2.5rem;color:var(--netflix-red);margin:0 0 .5rem;text-shadow:2px 2px 4px rgba(0,0,0,.5)}.disliked-movies-count{font-size:1.1rem;color:#a0a0a0;margin:0}.disliked-movies-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:2rem;margin-bottom:3rem;animation:fadeIn .8s ease-out .2s both}.movie-card{position:relative;transition:transform .3s ease}.movie-card:hover{transform:translateY(-8px)}.movie-poster-container{position:relative;border-radius:12px;overflow:hidden;box-shadow:0 8px 24px #0006;background:#16213e}.movie-poster{width:100%;height:auto;display:block;aspect-ratio:2/3;-o-object-fit:cover;object-fit:cover;transition:transform .3s ease}.movie-poster.clickable{cursor:pointer}.movie-poster.clickable:hover{transform:scale(1.08)}.movie-overlay{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(to top,rgba(0,0,0,.95),transparent);padding:1.5rem 1rem 1rem;transform:translateY(100%);transition:transform .3s ease}.movie-card:hover .movie-overlay{transform:translateY(0)}.movie-title{color:#fff;font-size:1.1rem;font-weight:600;margin:0 0 .5rem;line-height:1.3}.movie-year{color:#a0a0a0;font-size:.9rem;margin:0}.move-to-liked-button{position:absolute;top:.75rem;right:.75rem;width:45px;height:45px;border-radius:50%;border:none;background:linear-gradient(135deg,#4caf50,#66bb6a);color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:1.5rem;box-shadow:0 4px 12px #0006;transition:all .3s ease;z-index:10}.watched-movie-button{position:absolute;bottom:10px;right:10px;display:flex;align-items:center;gap:4px;padding:6px 10px;border-radius:20px;border:none;background:#000000b3;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);cursor:pointer;transition:all .3s ease;z-index:10;overflow:hidden;white-space:nowrap}.watched-movie-button:hover{background:#000000e6;transform:scale(1.05)}.watched-movie-button.watched{background:linear-gradient(135deg,#667eea,#764ba2);box-shadow:0 4px 15px #667eea80}.watched-icon{font-size:16px;line-height:1;flex-shrink:0;transition:margin-right .3s ease}.watched-movie-button .rating-wrapper{max-width:0;opacity:0;overflow:hidden;transition:max-width .3s ease,opacity .3s ease;display:flex;align-items:center}.watched-movie-button .rating-wrapper.show{max-width:80px;opacity:1}.move-to-liked-button:hover{transform:scale(1.15);background:linear-gradient(135deg,#5bc55f,#7bd67f);box-shadow:0 6px 16px #4caf5099}.move-to-liked-button:active{transform:scale(.95)}.move-to-liked-button.processing{background:linear-gradient(135deg,#66bb6a,#81c784);animation:pulse .6s ease-in-out}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.2)}}.move-icon{font-weight:700;transform:rotate(-45deg);display:inline-block}.disliked-movies-actions{display:flex;gap:1.5rem;justify-content:center;margin-top:3rem}.action-button{padding:1rem 2rem;border:none;border-radius:12px;font-size:1rem;font-weight:600;cursor:pointer;display:flex;align-items:center;gap:.5rem;transition:all .3s ease;box-shadow:0 4px 12px #0000004d}.action-button.primary{background:linear-gradient(135deg,var(--netflix-red) 0%,var(--netflix-dark-red) 100%);color:#fff}.action-button.primary:hover{background:linear-gradient(135deg,#ff1a1a,#d10000);transform:translateY(-2px);box-shadow:0 6px 16px var(--netflix-red-shadow)}.action-button.secondary{background:linear-gradient(135deg,#16213e,#0f0f1e);color:#fff;border:2px solid var(--netflix-soft-red)}.action-button.secondary:hover{background:linear-gradient(135deg,#1e2a47,#14141f);transform:translateY(-2px);box-shadow:0 6px 16px #e5091433}.action-button:active{transform:translateY(0)}.button-icon{font-size:1.2rem}@media (max-width: 1200px){.disliked-movies-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:1.5rem}}@media (max-width: 1024px){.filter-sidebar{display:none}.disliked-movies-view{flex-direction:column}.disliked-movies-content{width:100%}}@media (max-width: 768px){.disliked-movies-content{padding:1.5rem}.disliked-movies-title{font-size:2rem}.disliked-movies-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:1rem}.disliked-movies-actions{flex-direction:column;gap:1rem}.action-button{width:100%;justify-content:center}}@media (max-width: 480px){.disliked-movies-grid{grid-template-columns:repeat(2,1fr)}.move-to-liked-button{width:40px;height:40px;font-size:1.3rem}}*{margin:0;padding:0;box-sizing:border-box}*{scrollbar-width:none;-ms-overflow-style:none}*::-webkit-scrollbar{display:none}html,body{margin:0;padding:0;width:100%;height:100%;overflow-x:hidden}#root{margin:0;padding:0;width:100%;min-height:100vh}
