:root{font-family:Inter,system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:dark;color:#e2e8f0;background-color:#1e1e2e;background-image:linear-gradient(to bottom right,#1e1e2e,#282a36,#1e1e2e);background-attachment:fixed;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;scroll-behavior:smooth}*{margin:0;padding:0;box-sizing:border-box}html,body{overflow-x:hidden}body{margin:0;width:100%;min-height:100vh;position:relative}#root{width:100%;min-height:100vh;display:flex;flex-direction:column}a{font-weight:500;color:#fff176;text-decoration:inherit;transition:color .3s ease,transform .2s ease;display:inline-block}a:hover{color:#fffde7;transform:translateY(-1px)}h1{font-size:clamp(2rem,5vw,3.2em);line-height:1.1;color:#fffde7;margin-bottom:.5em}h2{font-size:clamp(1.5rem,4vw,2.5rem);line-height:1.2}h3{font-size:clamp(1rem,3vw,1.5rem);line-height:1.3}p{margin-bottom:1rem;line-height:1.6}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#2d2d3f;color:#fff9c4;cursor:pointer;transition:all .25s ease;position:relative;overflow:hidden}button:hover{border-color:#fff176;background-color:#3a3a4f;transform:translateY(-2px);box-shadow:0 4px 12px #fff17633}button:active{transform:translateY(0);box-shadow:0 2px 5px #fff17633}button:focus,button:focus-visible{outline:3px solid rgba(255,241,118,.5)}button:after{content:"";position:absolute;width:100%;height:100%;top:0;left:0;pointer-events:none;background-image:radial-gradient(circle,#fff9c4 10%,transparent 10.01%);background-repeat:no-repeat;background-position:50%;transform:scale(10);opacity:0;transition:transform .5s,opacity .8s}button:active:after{transform:scale(0);opacity:.3;transition:0s}@media (max-width: 768px){button{padding:.5em 1em}}@media (max-width: 480px){:root{font-size:14px}}.navbar{background-color:#1e1e2ef2;padding:clamp(.75rem,3vw,1.25rem) clamp(1rem,5vw,2.5rem);display:flex;justify-content:space-between;align-items:center;box-shadow:0 2px 15px #0003;position:sticky;top:0;z-index:100;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:padding .3s ease,box-shadow .3s ease}.navbar-brand{font-size:clamp(1.2rem,4vw,1.5rem);font-weight:700;color:#fff176;position:relative;transition:transform .3s cubic-bezier(.34,1.56,.64,1)}.navbar-brand:hover{transform:scale(1.05)}.navbar-brand:after{content:"";position:absolute;bottom:-3px;left:0;width:0;height:2px;background:linear-gradient(to right,#fff176,#fffde7);transition:width .4s cubic-bezier(.22,1,.36,1)}.navbar-brand:hover:after{width:100%}.navbar-links{display:flex;gap:clamp(1rem,4vw,2rem);align-items:center}.nav-link{font-size:clamp(.9rem,2.5vw,1rem);padding:.5rem clamp(.75rem,2vw,1rem);border-radius:8px;color:#d1d5db;position:relative;overflow:hidden;z-index:1;transition:color .4s cubic-bezier(.22,1,.36,1),transform .5s cubic-bezier(.34,1.56,.64,1),text-shadow .4s cubic-bezier(.22,1,.36,1),letter-spacing .5s cubic-bezier(.22,1,.36,1)}.nav-link:before{content:"";position:absolute;bottom:0;left:0;width:100%;height:2px;background:linear-gradient(90deg,transparent,#fff176,transparent);transform:translate(-100%);transition:transform .6s cubic-bezier(.22,1,.36,1),opacity .4s cubic-bezier(.22,1,.36,1);z-index:-1;opacity:0}.nav-link:after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:radial-gradient(circle at center,rgba(255,241,118,.15) 0%,transparent 70%);border-radius:8px;z-index:-2;opacity:0;transform:scale(.8);transition:opacity .5s cubic-bezier(.22,1,.36,1),transform .6s cubic-bezier(.34,1.56,.64,1)}.nav-link:hover{color:#fff176;transform:translateY(-2px);text-shadow:0 0 8px rgba(255,241,118,.4);letter-spacing:.02em}.nav-link:hover:before{transform:translate(0);opacity:1}.nav-link:hover:after{opacity:1;transform:scale(1)}.nav-link:not(:hover){transform:translateY(0);transition:color .5s cubic-bezier(.22,1,.36,1),transform .4s cubic-bezier(.22,1,.36,1),text-shadow .3s cubic-bezier(.22,1,.36,1),letter-spacing .4s cubic-bezier(.22,1,.36,1)}.nav-link:not(:hover):before{transform:translate(-100%);opacity:0;transition:transform .5s cubic-bezier(.22,1,.36,1),opacity .3s cubic-bezier(.22,1,.36,1)}.nav-link:not(:hover):after{opacity:0;transform:scale(.8);transition:opacity .4s cubic-bezier(.22,1,.36,1),transform .5s cubic-bezier(.22,1,.36,1)}@media (max-width: 768px){.navbar{padding:.75rem 1rem}.navbar-brand{font-size:1.2rem}.navbar-links{gap:.75rem}.nav-link{padding:.4rem .75rem;font-size:.9rem}}@media (max-width: 480px){.navbar{padding:.6rem .75rem}.navbar-links{gap:.5rem}.nav-link{padding:.35rem .6rem;font-size:.85rem}}.favorites{padding:clamp(1rem,5vw,2.5rem);width:100%;box-sizing:border-box}.favorites h2{margin-bottom:clamp(1.5rem,5vw,2.5rem);text-align:center;font-size:clamp(1.8rem,5vw,2.5rem);color:#fff9c4;text-shadow:1px 1px 2px rgba(0,0,0,.2);position:relative;display:inline-block;width:100%}.favorites h2:after{content:"";position:absolute;bottom:-10px;left:50%;transform:translate(-50%);width:80px;height:3px;background:linear-gradient(to right,#fff9c4,#fff176,#fff9c4);border-radius:3px}.favorites-empty{text-align:center;padding:clamp(2rem,8vw,4rem) clamp(1rem,5vw,2rem);background-color:#2d2d3f;border-radius:16px;margin:2rem auto;max-width:600px;box-shadow:0 4px 20px #00000026;position:relative;overflow:hidden}.favorites-empty:before{content:"";position:absolute;top:0;left:0;right:0;height:6px;background:linear-gradient(to right,#fff9c4,#fff176,#fffde7);border-radius:6px 6px 0 0}.favorites-empty h2{margin-bottom:1rem;font-size:clamp(1.5rem,4vw,2rem);color:#fff176}.favorites-empty p{color:#d1d5db;font-size:clamp(1rem,3vw,1.2rem);line-height:1.6;max-width:90%;margin:0 auto}@keyframes fadeIn{0%{opacity:0;transform:translateY(30px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.movies-grid>*{animation:fadeIn .5s ease-out forwards}.movies-grid>*:nth-child(2){animation-delay:.1s}.movies-grid>*:nth-child(3){animation-delay:.2s}.movies-grid>*:nth-child(4){animation-delay:.3s}@media (max-width: 768px){.favorites{padding:1.5rem 1rem}.favorites-empty{padding:2rem 1rem}}@media (max-width: 480px){.favorites h2:after{width:60px}}.movie-card{background-color:#1a1a1a;border-radius:8px;overflow:hidden;box-shadow:0 4px 8px #0003;transition:transform .3s ease,box-shadow .3s ease;height:100%;display:flex;flex-direction:column;position:relative}.movie-card:hover{transform:translateY(-5px);box-shadow:0 8px 16px #0000004d}.movie-link{text-decoration:none;color:inherit;display:flex;flex-direction:column;height:100%}.movie-poster{position:relative;overflow:hidden}.movie-poster img{width:100%;display:block;aspect-ratio:2 / 3;object-fit:cover;transition:transform .5s ease}.movie-card:hover .movie-poster img{transform:scale(1.05)}.movie-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:#0009;display:flex;flex-direction:column;justify-content:center;align-items:center;opacity:0;transition:opacity .3s ease}.movie-card:hover .movie-overlay{opacity:1}.favorite-btn{position:absolute;top:10px;right:10px;background:#000000b3;border:none;border-radius:50%;width:40px;height:40px;display:flex;justify-content:center;align-items:center;cursor:pointer;color:#fff;transition:background-color .3s,transform .2s;z-index:2}.favorite-btn:hover{background-color:#000000e6;transform:scale(1.1);box-shadow:0 0 0 2px #ffc107}.favorite-btn.active{color:#ff6b6b}.heart-icon{transition:transform .2s ease,color .3s ease;width:24px;height:24px}.favorite-btn:hover .heart-icon{transform:scale(1.1)}.details-btn{background:linear-gradient(135deg,#fff176,#fffde7);color:#1e1e2e;border:none;padding:10px 20px;border-radius:5px;cursor:pointer;font-weight:700;transition:background-color .3s,transform .2s;text-transform:uppercase;letter-spacing:.5px;font-size:.9rem}.details-btn:hover{transform:scale(1.05)}.movie-info{padding:15px;flex-grow:1;display:flex;flex-direction:column;background-color:#1a1a1a}.movie-info h3{margin:0 0 10px;font-size:1rem;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:600}.movie-meta{display:flex;justify-content:space-between;margin-bottom:8px;align-items:center}.movie-rating,.movie-duration{display:flex;align-items:center;color:#aaa;font-size:.85rem}.star-icon{color:#ffc107;margin-right:4px}.clock-icon{color:#aaa;margin-right:4px}.release-date{margin:auto 0 0;color:#aaa;font-size:.85rem}.loading-runtime{color:#aaa;font-size:.85rem;display:inline-block;width:20px;text-align:center}.movie-genres{display:flex;flex-wrap:wrap;gap:5px;margin-top:8px;margin-bottom:8px}.genre-tag{background-color:#ffffff1a;color:#ddd;font-size:.7rem;padding:2px 6px;border-radius:10px;white-space:nowrap}@media (max-width: 768px){.movie-meta{flex-direction:column;align-items:flex-start;gap:5px}.movie-info h3{font-size:.9rem}.movie-rating,.movie-duration,.release-date{font-size:.8rem}}.lazy-load-image-background{width:100%;height:100%}.lazy-load-image-background img{width:100%;height:100%;object-fit:cover}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.movie-card:hover .movie-overlay{animation:fadeIn .3s forwards}.new-release-badge{position:absolute;top:10px;left:10px;background-color:#e50914;color:#fff;padding:3px 8px;border-radius:3px;font-size:.7rem;font-weight:700;z-index:2}.high-rating{color:#4caf50!important}.low-rating{color:#f44336!important}.favorite-btn.active .heart-icon{animation:heartBeat .8s ease}.lazy-load-image-background.blur{filter:blur(15px)}.lazy-load-image-background.blur.lazy-load-image-loaded{filter:blur(0);transition:filter .3s}.lazy-load-image-background.blur>img{opacity:0}.lazy-load-image-background.blur.lazy-load-image-loaded>img{opacity:1;transition:opacity .3s}.home{padding:clamp(1rem,5vw,3rem) 0;width:100%;display:flex;justify-content:center;flex-direction:column;box-sizing:border-box}.search-form{margin:0 auto clamp(1.5rem,5vw,2.5rem);display:flex;gap:.75rem;padding:0 clamp(1rem,3vw,2rem);box-sizing:border-box;max-width:800px;width:100%;position:relative;z-index:2}.search-input{flex:1;padding:.75rem 1.25rem;border:none;border-radius:12px;background-color:#2d2d3f;color:#e2e8f0;font-size:1rem;box-shadow:0 4px 15px #00000026;transition:all .3s ease}.search-input:focus{outline:none;box-shadow:0 0 0 3px #fff1764d,0 4px 15px #0003;transform:translateY(-2px)}.search-button{padding:.75rem clamp(1.25rem,4vw,1.75rem);background:linear-gradient(135deg,#fff176,#fffde7);color:#1e1e2e;border-radius:12px;font-weight:500;transition:all .3s ease;white-space:nowrap;box-shadow:0 4px 12px #fff1764d;border:none}.search-button:hover{background:linear-gradient(135deg,#fff59d,#fff9c4);transform:translateY(-2px);box-shadow:0 6px 15px #fff17666}.search-button:active{transform:translateY(0);box-shadow:0 2px 8px #fff1764d}.movies-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));gap:clamp(1rem,3vw,1.5rem);padding:clamp(.5rem,3vw,1.5rem);width:100%;box-sizing:border-box;margin:0 auto;max-width:1600px}@media (max-width: 768px){.home{padding:1rem 0}.search-form{margin-bottom:1rem;flex-direction:row;flex-wrap:nowrap}.search-input,.search-button{border-radius:10px;padding:.7rem 1rem}}@media (max-width: 480px){.search-form{gap:.5rem;padding:0 .75rem}.movies-grid{gap:.75rem;padding:.5rem}}@media (min-width: 1400px){.movies-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}}.movie-details-container{width:100%;max-width:100%;margin:0 auto;padding:10px;box-sizing:border-box;overflow-x:hidden}.back-button{background:none;border:none;color:#fff;font-size:clamp(14px,2vw,16px);cursor:pointer;padding:12px 18;margin-bottom:15px;display:inline-flex;align-items:center;transition:transform .2s}.back-button:hover{transform:translate(-5px)}.movie-details{display:flex;flex-direction:column;background-color:#0003;border-radius:8px;overflow:hidden;box-shadow:0 4px 15px #0003}.movie-details-poster{width:100%;position:relative;display:flex;flex-direction:column;align-items:center;padding:15px;box-sizing:border-box}.movie-details-poster img{width:100%;max-width:250px;height:auto;display:block;border-radius:8px;box-shadow:0 4px 8px #0000004d;aspect-ratio:2 / 3;object-fit:cover}.details-favorite{display:flex;align-items:center;justify-content:center;gap:6px;background-color:#000000b3;color:#fff;border:none;padding:10px 12px;border-radius:5px;cursor:pointer;font-size:13px;width:calc(100% - 30px);max-width:350px;margin:15px auto 0;transition:all .3s cubic-bezier(.4,0,.2,1);position:static;transform:none;outline:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.details-favorite:hover{background-color:#000000e6;transform:scale(1.03);box-shadow:0 0 0 2px #ffc107}.details-favorite.active{color:#ff6b6b;background-color:#000c}.details-favorite:focus{outline:none;box-shadow:0 0 0 2px #ffc107,0 0 0 4px #ffc1074d}.details-favorite.active{color:#ff6b6b}.details-favorite.active .heart-icon{animation:heartPulse .6s cubic-bezier(.34,1.56,.64,1)}@keyframes heartBeat{0%{transform:scale(1)}50%{transform:scale(1.2)}to{transform:scale(1)}}@keyframes heartPulse{0%{transform:scale(1)}35%{transform:scale(1.3)}50%{transform:scale(1.1)}75%{transform:scale(1.2)}to{transform:scale(1)}}@keyframes heartFadeOut{0%{transform:scale(1);color:#ff6b6b}15%{transform:scale(.9)}30%{transform:scale(1.1);color:#ff6b6bb3}to{transform:scale(1);color:#fff}}.heart-icon{transition:transform .4s cubic-bezier(.34,1.56,.64,1),color .3s ease;width:24px;height:24px}.details-favorite span{transition:all .3s ease}.details-favorite:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background-color:#ffc1071a;border-radius:5px;opacity:0;transition:opacity .3s ease;z-index:-1}.details-favorite:active:before{opacity:1}.movie-details-info{padding:15px;width:100%;box-sizing:border-box}h1{font-size:clamp(1.5rem,4vw,2.5rem);margin:0 0 10px;color:#fff;line-height:1.3;word-wrap:break-word}.year{font-weight:400;opacity:.8;font-size:clamp(.9em,2vw,1em)}.movie-meta{display:flex;flex-direction:column;gap:8px;margin-bottom:15px;color:#ccc;font-size:clamp(.9rem,2vw,1rem)}.genres{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:15px}.genre-tag{background-color:#ffffff1a;padding:4px 8px;border-radius:20px;font-size:clamp(12px,1.5vw,14px);margin-bottom:4px}.tagline{font-style:italic;color:#ccc;margin-bottom:15px;font-size:clamp(.95rem,2vw,1.1rem)}.section{margin-bottom:20px}.section h2{font-size:clamp(1.2rem,3vw,1.5rem);margin:0 0 8px;color:#fff}.section p{line-height:1.5;color:#ddd;font-size:clamp(.95rem,2vw,1rem);margin:0}.cast-list{display:flex;gap:10px;overflow-x:auto;padding-bottom:10px;margin:0 -15px;padding-left:15px;padding-right:15px;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.3) transparent;scroll-snap-type:x mandatory}.cast-list::-webkit-scrollbar{height:4px}.cast-list::-webkit-scrollbar-thumb{background-color:#ffffff4d;border-radius:2px}.cast-member{min-width:90px;width:90px;background-color:#ffffff0d;border-radius:6px;overflow:hidden;flex-shrink:0;scroll-snap-align:start}.cast-member img{width:100%;height:135px;object-fit:cover;aspect-ratio:2 / 3}.cast-member div{padding:6px}.actor-name{font-weight:700;margin-bottom:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:clamp(.8rem,1.5vw,.9rem)}.character-name{font-size:clamp(.75rem,1.5vw,.85rem);color:#ccc;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.additional-info{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px;margin-bottom:20px;background-color:#0003;padding:12px;border-radius:6px}.info-item{display:flex;flex-direction:column;margin-bottom:5px}.label{font-size:clamp(.8rem,1.5vw,.9rem);color:#aaa;margin-bottom:3px}.value{color:#fff;word-break:break-word;font-size:clamp(.9rem,1.5vw,1rem)}.trailers{margin-top:12px;width:100%}.trailer{position:relative;padding-bottom:56.25%;height:0;overflow:hidden;border-radius:6px}.trailer iframe{position:absolute;top:0;left:0;width:100%;height:100%;border:0}.loading,.error,.not-found{display:flex;justify-content:center;align-items:center;height:40vh;font-size:clamp(1.2rem,3vw,1.5rem);color:#fff;text-align:center;padding:20px}@media (min-width: 480px){.movie-details-container{padding:15px}.additional-info{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.cast-member{min-width:100px;width:100px}.cast-member img{height:150px}}@media (min-width: 768px){.movie-details-container{padding:20px;max-width:90%}.movie-details{flex-direction:row;align-items:flex-start}.movie-details-poster{flex:0 0 auto;width:230px;padding:20px}.details-favorite{width:100%;max-width:350px;font-size:14px}.details-favorite:hover{transform:scale(1.03)}.movie-details-info{flex:1;padding:20px;overflow:hidden}.movie-meta{flex-direction:row;flex-wrap:wrap;gap:15px}.cast-member{min-width:110px;width:110px}.cast-member img{height:165px}}@media (min-width: 992px){.movie-details-container{max-width:900px}.movie-details-poster{width:280px}.movie-details-poster img{max-width:100%}.additional-info{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.cast-member{min-width:120px;width:120px}.cast-member img{height:180px}}@media (min-width: 1200px){.movie-details-container{max-width:1100px}.movie-details-poster{width:300px}.additional-info{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}}@media (max-width: 320px){.movie-details-container{padding:8px}.movie-details-poster img{max-width:200px}.cast-member{min-width:80px;width:80px}.cast-member img{height:120px}}@media (max-width: 360px){.details-favorite{width:100%;max-width:200px;padding:8px 12px}}@media (min-width: 1600px){.movie-details-container{max-width:1400px}}@media (-webkit-min-device-pixel-ratio: 2),(min-resolution: 192dpi){.movie-details{box-shadow:0 4px 20px #00000040}}@media print{.movie-details-container{padding:0;color:#000;background:#fff}.back-button,.details-favorite{display:none}.movie-details{display:block;background:none;box-shadow:none}.movie-details-poster,.movie-details-info{width:100%;padding:0}.trailer{display:none}}.back-button:focus,.details-favorite:focus{outline:none;box-shadow:0 0 0 2px #ffc107,0 0 0 4px #ffc1074d}@media (prefers-reduced-motion: reduce){.details-favorite{transition:background-color .3s ease}.details-favorite:hover{transform:none}.heart-icon{transition:none}.details-favorite.active .heart-icon{animation:none}}@media (prefers-color-scheme: dark){.movie-details,.additional-info{background-color:#0000004d}}.main-content{flex:1;padding:clamp(1rem,5vw,2.5rem);box-sizing:border-box;width:100%;display:flex;flex-direction:column;background-color:transparent;position:relative}.main-content:before{content:"";position:fixed;top:0;left:0;width:100%;height:100%;background-image:radial-gradient(circle at 20% 30%,rgba(255,241,118,.08) 0%,transparent 300px),radial-gradient(circle at 80% 70%,rgba(255,249,196,.08) 0%,transparent 400px);z-index:-1}@media (max-width: 768px){.main-content{padding:1rem}}@media (max-width: 480px){.main-content{padding:.75rem}}
