:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:#ffffffde;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#242424;font-family:Inter,system-ui,Avenir,Helvetica,Arial,sans-serif;font-weight:400;line-height:1.5}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}*{box-sizing:border-box;margin:0;padding:0}html,body{overflow-x:hidden}body{width:100%;min-height:100vh;margin:0;position:relative}#root{flex-direction:column;width:100%;min-height:100vh;display:flex}a{color:#646cff;-webkit-text-decoration:inherit;text-decoration:inherit;font-weight:500}a:hover{color:#535bf2}h1{font-size:3.2em;line-height:1.1}button{cursor:pointer;background-color:#1a1a1a;border:1px solid #0000;border-radius:8px;padding:.6em 1.2em;font-family:inherit;font-size:1em;font-weight:500;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media (prefers-color-scheme:light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}.main-content{box-sizing:border-box;flex-direction:column;flex:1;width:100%;padding:2rem;display:flex}.movie-card{background-color:#1a1a1a;border-radius:8px;flex-direction:column;height:100%;transition:transform .2s;display:flex;position:relative;overflow:hidden}.movie-card:hover{transform:translateY(-5px)}.movie-poster{aspect-ratio:2/3;width:100%;position:relative}.movie-poster img{object-fit:cover;width:100%;height:100%}.movie-overlay{opacity:0;background:linear-gradient(#0000001a,#000c);flex-direction:column;justify-content:flex-end;padding:1rem;transition:opacity .2s;display:flex;position:absolute;inset:0}.movie-card:hover .movie-overlay{opacity:1}.favorite-btn{color:#fff;background-color:#00000080;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;padding:.5rem;font-size:1.5rem;transition:background-color .2s;display:flex;position:absolute;top:1rem;right:1rem}.favorite-btn:hover{background-color:#000c}.favorite-btn.active{color:#ff4757}.rating-select{color:#fff;cursor:pointer;background-color:#000000b3;border:none;border-radius:4px;margin-top:.5rem;padding:.5rem}.movie-info{flex-direction:column;flex:1;gap:.5rem;padding:1rem;display:flex}.movie-info h3{margin:0;font-size:1rem}.movie-info p{color:#999;font-size:.9rem}.user-rating{color:gold;margin-top:auto;font-size:.9rem}@media (max-width:768px){.movie-card{font-size:.9rem}.movie-info{padding:.75rem}.favorite-btn{width:32px;height:32px;font-size:1.2rem}}.home{box-sizing:border-box;width:100%;padding:2rem 0}.search-form{box-sizing:border-box;gap:1rem;max-width:600px;margin:0 auto 2rem;padding:0 1rem;display:flex}.search-input{color:#fff;background-color:#333;border:none;border-radius:4px;flex:1;padding:.75rem 1rem;font-size:1rem}.search-input:focus{outline:none;box-shadow:0 0 0 2px #666}.search-button{color:#fff;white-space:nowrap;background-color:#e50914;border-radius:4px;padding:.75rem 1.5rem;font-weight:500;transition:background-color .2s}.search-button:hover{background-color:#f40612}@media (max-width:639px){.home{padding:1rem 0}.search-form{margin-bottom:1rem}}.movies-grid{box-sizing:border-box;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem;width:100%;padding:1rem;display:grid}.navbar{background-color:#000;justify-content:space-between;align-items:center;padding:1rem 2rem;display:flex;box-shadow:0 2px 4px #0000001a}.navbar-brand{font-size:1.5rem;font-weight:700}.navbar-links{gap:2rem;display:flex}.nav-link{border-radius:4px;padding:.5rem 1rem;font-size:1rem;transition:background-color .2s}.nav-link:hover{background-color:#ffffff1a}@media (max-width:768px){.navbar{padding:1rem}.navbar-brand{font-size:1.2rem}.navbar-links{gap:1rem}.nav-link{padding:.5rem}}.favorites{box-sizing:border-box;width:100%;padding:2rem}.favorites h2{text-align:center;color:#fff;text-shadow:2px 2px 4px #0000004d;margin-bottom:2rem;font-size:2.5rem}.favorites-empty{text-align:center;background-color:#ffffff0d;border-radius:12px;max-width:600px;margin:2rem auto;padding:4rem 2rem}.favorites-empty h2{color:#e50914;margin-bottom:1rem;font-size:2rem}.favorites-empty p{color:#999;font-size:1.2rem;line-height:1.6}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.movies-grid>*{animation:.3s ease-out forwards fadeIn}
