:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;color:#f3f4f8;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#0a0a12;font-family:Inter,system-ui,Avenir,Helvetica,Arial,sans-serif;font-weight:400;line-height:1.5}*{box-sizing:border-box;margin:0;padding:0}html,body{overflow-x:hidden}body{background:radial-gradient(circle at top,#6064ff33,#0000 30%),radial-gradient(circle at 100% 100%,#ff487a2e,#0000 25%),#0a0a12;width:100%;min-height:100vh;margin:0;position:relative}#root{flex-direction:column;width:100%;min-height:100vh;display:flex}a{color:#a2b4ff;font-weight:600;text-decoration:none}a:hover{color:#d4e2ff}h1,h2,h3,h4,h5,h6{letter-spacing:-.03em}button{color:#f4f5ff;cursor:pointer;background-color:#1c1e30f2;border:1px solid #ffffff14;border-radius:999px;padding:.75em 1.4em;font-family:inherit;font-size:1rem;font-weight:600;transition:transform .2s,box-shadow .2s,background-color .2s;box-shadow:0 10px 30px #0000001f}button:hover{background-color:#4348b6f2;transform:translateY(-1px);box-shadow:0 14px 32px #0000002e}button:focus,button:focus-visible{outline:none;box-shadow:0 0 0 4px #646fff47}::selection{color:#f4f5ff;background:#626eff66}.main-content{box-sizing:border-box;flex-direction:column;flex:1;gap:1.5rem;width:100%;min-height:calc(100vh - 90px);padding:2rem;display:flex}.favorites{box-sizing:border-box;width:100%;padding:2rem 1rem}.favorites h2{text-align:center;color:#f7f7ff;text-shadow:0 8px 30px #222c5840;margin-bottom:1.5rem;font-size:clamp(2rem,2.5vw,3rem)}.movies-grid{grid-template-columns:repeat(auto-fit,minmax(280px,320px));justify-content:center;justify-items:center;gap:1.5rem;width:min(100%,1040px);margin:0 auto;padding:.5rem 0;display:grid}.movies-grid.single-grid{grid-template-columns:minmax(280px,360px);width:100%;max-width:380px}.favorites-empty{text-align:center;background:#ffffff0d;border:1px solid #ffffff14;border-radius:24px;max-width:680px;margin:2rem auto;padding:3rem 2rem;box-shadow:0 30px 90px #0508142e}.favorites-empty h2{color:#ff7c9b;margin-bottom:1rem;font-size:2rem}.favorites-empty p{color:#c7c9e6;font-size:1.15rem;line-height:1.75}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.movies-grid>*{animation:.35s ease-out forwards fadeIn}.movie-card{background:linear-gradient(#121428f5,#0d0f1cf2);border:1px solid #ffffff14;border-radius:24px;flex-direction:column;min-width:280px;max-width:360px;height:100%;transition:transform .25s,border-color .25s,box-shadow .25s;display:flex;position:relative;overflow:hidden;box-shadow:0 30px 90px #0000003d}.movie-card:hover{border-color:#7b5cff66;transform:translateY(-10px);box-shadow:0 40px 110px #10183a52}.movie-poster{aspect-ratio:2/3;width:100%;position:relative;overflow:hidden}.movie-poster img{object-fit:cover;width:100%;height:100%;transition:transform .4s}.movie-card:hover .movie-poster img{transform:scale(1.04)}.movie-overlay{opacity:0;background:linear-gradient(#0a0c1414,#070a16e0);flex-direction:column;justify-content:space-between;padding:1rem;transition:opacity .25s;display:flex;position:absolute;inset:0}.movie-card:hover .movie-overlay{opacity:1}.favorite-btn{color:#e7e9ff;background-color:#0f1224d9;border:1px solid #ffffff14;border-radius:50%;justify-content:center;align-items:center;width:44px;height:44px;padding:.65rem;font-size:1.4rem;transition:transform .2s,background-color .2s,color .2s;display:flex;position:absolute;top:1rem;right:1rem}.favorite-btn:hover{background-color:#7b5cfff2;transform:scale(1.08)}.favorite-btn.active{color:#ff8aa2;background-color:#ff466ff2}.movie-info{flex-direction:column;flex:1;gap:.75rem;padding:1.25rem;display:flex}.movie-info h3{color:#f8f9ff;margin:0;font-size:1.1rem}.movie-info p{color:#bbc3e2;font-size:.95rem}.user-rating{color:gold;margin-top:auto;font-size:.95rem}@media (width<=768px){.movie-card{font-size:.95rem}.movie-info{padding:1rem}.favorite-btn{width:38px;height:38px;font-size:1.2rem}}.home{box-sizing:border-box;width:100%;padding:2rem 0}.search-form{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#0f1222e6;border:1px solid #ffffff12;border-radius:24px;gap:1rem;max-width:760px;margin:0 auto 2.25rem;padding:1rem;display:flex;box-shadow:0 24px 80px #0d112038}.search-input{color:#f3f4f8;background-color:#0a0c17f2;border:1px solid #ffffff14;border-radius:999px;flex:1;padding:1rem 1.2rem;font-size:1rem;transition:border-color .2s,box-shadow .2s}.search-input:focus{border-color:#6a7cffb3;outline:none;box-shadow:0 0 0 4px #6a7cff24}.search-button{color:#fff;text-transform:uppercase;letter-spacing:.02em;background:linear-gradient(135deg,#7b5cff,#ff6188);border-radius:999px;padding:0 1.8rem;font-weight:700;transition:transform .2s,filter .2s;box-shadow:0 14px 32px #7b5cff3d}.search-button:hover{filter:brightness(1.05);transform:translateY(-1px)}.loading,.empty-state,.error-message{text-align:center;color:#d6d9ff;margin-top:2rem;font-weight:500}.error-message{color:#ff8aa2}@media (width<=639px){.home{padding:1rem 0}.search-form{flex-direction:column;gap:.85rem;padding:.85rem}}.movies-grid{box-sizing:border-box;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem;width:100%;padding:0 1rem 1rem;display:grid}.navbar{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#080a12f0;border-bottom:1px solid #ffffff0f;justify-content:space-between;align-items:center;padding:1rem 2rem;display:flex;box-shadow:0 20px 80px #00000040}.navbar-brand{letter-spacing:.05em;text-transform:uppercase;color:#f7f7ff;font-size:1.5rem;font-weight:700}.navbar-links{gap:1rem;display:flex}.nav-link{color:#d8daf8;border-radius:999px;padding:.65rem 1rem;font-size:.98rem;transition:transform .2s,background-color .2s,color .2s}.nav-link:hover{color:#f7f7ff;background-color:#6860ff24;transform:translateY(-2px)}.nav-link.active,.nav-link:focus-visible{color:#f3f4ff;background-color:#7b5cff2e}@media (width<=768px){.navbar{flex-wrap:wrap;gap:.75rem;padding:1rem}.navbar-brand{font-size:1.2rem}.navbar-links{gap:.85rem}.nav-link{padding:.55rem .85rem}}
