body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:radial-gradient(circle at top left,#191d30 0,#090a0f 42%,#090a0f 100%);color:#f4f6fb;font-family:Inter,Segoe UI,Roboto,Helvetica Neue,sans-serif;font-family:var(--font-body,"Inter","Segoe UI","Roboto","Helvetica Neue",sans-serif);margin:0}*{box-sizing:border-box}#root{min-height:100vh}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}:root{--bg:#090a0f;--surface:#11131c;--surface-alt:#171a26;--text:#f4f6fb;--text-muted:#b2b9cc;--primary:#7c5cff;--primary-strong:#6447df;--accent:#35d0a1;--danger:#ff5d7e;--border:#2a2f44;--rating:#ffd166;--shadow:0 12px 28px #00000059;--font-body:"Inter","Segoe UI","Roboto","Helvetica Neue",sans-serif;--font-display:"Outfit","Inter","Segoe UI",sans-serif}h1,h2,h3{font-family:Outfit,Inter,Segoe UI,sans-serif;font-family:var(--font-display);letter-spacing:-.01em}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.001ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.001ms!important}}.glass-panel{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:linear-gradient(180deg,#ffffff0a,#ffffff05);border:1px solid #2a2f44;border:1px solid var(--border);border-radius:18px;box-shadow:0 12px 28px #00000059;box-shadow:var(--shadow)}.content-panel{padding:1rem}.section-heading{align-items:baseline;display:flex;justify-content:space-between;margin-bottom:.8rem}.section-heading h2{font-size:1.2rem;margin:0}.section-heading p{color:#b2b9cc;color:var(--text-muted);font-size:.85rem;margin:0}.movie-grid{grid-gap:.8rem;display:grid;gap:.8rem;grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}.btn{align-items:center;border:none;border-radius:12px;color:#f4f6fb;color:var(--text);cursor:pointer;display:inline-flex;font-weight:600;gap:.4rem;height:44px;justify-content:center;padding:0 1rem;transition:transform .2s ease,filter .2s ease,opacity .2s ease}.btn:hover{filter:brightness(1.07);transform:translateY(-1px)}.btn:active{transform:translateY(1px)}.btn:disabled{cursor:not-allowed;opacity:.55}.btn-primary{background:linear-gradient(90deg,#7c5cff,#6447df);background:linear-gradient(90deg,var(--primary),var(--primary-strong))}.btn-secondary{background:#35d0a133;border:1px solid #35d0a173}.btn-danger{background:#ff5d7e33;border:1px solid #ff5d7e73}.btn-ghost{background:#ffffff14;border:1px solid #ffffff1f}.btn-spinner{animation:spin .7s linear infinite;border:2px solid #ffffff59;border-radius:50%;border-top-color:#fff;height:14px;width:14px}@keyframes spin{to{transform:rotate(1turn)}}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@keyframes countPop{0%{opacity:0;transform:scale(.7)}to{opacity:1;transform:scale(1)}}@keyframes emptyStateIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media (max-width:768px){.movie-grid{grid-template-columns:repeat(auto-fill,minmax(130px,1fr))}}@media (max-width:480px){.btn{width:100%}}.app-shell{color:var(--text);min-height:100vh;padding:1.2rem clamp(1rem,3vw,2rem) 2rem}.main-layout{grid-gap:1rem;display:grid;gap:1rem}.status-message{color:var(--text-muted);margin:0 0 1rem;padding:.8rem 1rem}.catalog-layout{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:minmax(0,1.6fr) minmax(300px,.9fr)}@media (max-width:1024px){.catalog-layout{grid-template-columns:1fr}}@media (max-width:480px){.app-shell{padding:.8rem}}.app-header{align-items:center;animation:headerEnter .6s cubic-bezier(.22,1,.36,1) both;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);display:flex;gap:1rem;justify-content:space-between;margin-bottom:1.2rem;padding:1rem 1.2rem;position:sticky;top:.75rem;z-index:50}.app-header:after{background:linear-gradient(90deg,#0000,var(--primary),var(--accent),#0000);bottom:0;content:"";height:2px;left:1.5rem;opacity:.55;position:absolute;right:1.5rem}.brand{align-items:center;background:#0000;border:0;border-radius:14px;color:inherit;cursor:pointer;display:flex;gap:.9rem;padding:.2rem;text-align:left;transition:transform .25s ease}.brand:hover{transform:translateY(-1px)}.brand:focus-visible{outline:2px solid var(--primary);outline-offset:4px}.brand:hover .brand-logo{filter:drop-shadow(0 0 14px rgba(124,92,255,.55));transform:scale(1.06) rotate(-2deg)}.brand-logo{animation:float 4s ease-in-out infinite;height:68px;object-fit:contain;transition:transform .35s cubic-bezier(.34,1.56,.64,1),filter .35s ease;width:68px}.brand-title{animation:gradientShift 6s ease infinite;background:linear-gradient(90deg,var(--text) 10%,var(--primary) 55%,var(--accent) 100%);-webkit-background-clip:text;background-clip:text;background-size:200% auto;color:#0000;font-size:1.4rem;font-weight:700;margin:0}.brand p{color:var(--text-muted);font-size:.88rem;margin:.15rem 0 0}.search-form{display:flex;gap:.6rem;width:min(560px,100%)}.search-input-wrapper{flex:1 1;position:relative}.search-input-wrapper input{background:var(--surface-alt);border:1px solid var(--border);border-radius:999px;color:var(--text);font-size:.95rem;height:46px;outline:none;padding:0 .95rem 0 2.6rem;transition:border-color .25s ease,box-shadow .25s ease,background-color .25s ease;width:100%}.search-input-wrapper.has-value input{padding-right:2.6rem}.search-input-wrapper input::placeholder{color:var(--text-muted)}.search-input-wrapper input:focus{background:var(--surface);border-color:var(--primary);box-shadow:0 0 0 4px #7c5cff2e}.search-icon{color:var(--text-muted);left:.95rem;pointer-events:none;position:absolute;top:50%;transform:translateY(-50%);transition:color .25s ease}.search-input-wrapper:focus-within .search-icon{color:var(--primary)}.search-clear{animation:popIn .18s ease both;background:#ffffff14;border:none;border-radius:50%;color:var(--text-muted);cursor:pointer;display:grid;height:26px;place-items:center;position:absolute;right:.5rem;top:50%;transform:translateY(-50%);transition:background-color .2s ease,color .2s ease,transform .2s ease;width:26px}.search-clear:hover{background:#ff5d7e40;color:var(--text);transform:translateY(-50%) scale(1.08)}@keyframes headerEnter{0%{opacity:0;transform:translateY(-14px)}to{opacity:1;transform:translateY(0)}}@keyframes gradientShift{0%,to{background-position:0 50%}50%{background-position:100% 50%}}@keyframes popIn{0%{opacity:0;transform:translateY(-50%) scale(.6)}to{opacity:1;transform:translateY(-50%) scale(1)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}@media (max-width:768px){.app-header{align-items:stretch;flex-direction:column;position:static}.brand{justify-content:center}.search-form{width:100%}}@media (max-width:480px){.search-form{flex-direction:column}}.favorites-panel{align-self:start;max-height:calc(100vh - 7.5rem);overflow-y:auto;position:sticky;top:6rem}.favorites-panel .section-heading h2{align-items:center;display:flex;gap:.4rem}.favorites-heading-icon{color:var(--danger)}.favorites-count-badge{align-items:center;animation:countPop .35s cubic-bezier(.34,1.56,.64,1) both;background:#7c5cff26;border:1px solid #7c5cff4d;border-radius:999px;color:var(--text);display:inline-flex;font-size:.78rem;font-weight:600;padding:.2rem .6rem}.favorites-grid{grid-template-columns:repeat(auto-fill,minmax(130px,1fr))}.favorites-empty{align-items:center;animation:emptyStateIn .4s ease both;border:1px dashed var(--border);border-radius:12px;color:var(--text-muted);display:flex;flex-direction:column;gap:.4rem;justify-content:center;padding:2rem 1rem;text-align:center}.favorites-empty svg{opacity:.45}.favorites-empty p{color:var(--text);font-size:.95rem;font-weight:600;margin:0}.favorites-empty span{font-size:.82rem}@media (max-width:1024px){.favorites-panel{max-height:none;order:-1;overflow:visible;position:static}}.movie-card{animation:fadeIn .45s ease both;background:#ffffff05;border:1px solid #0000;border-radius:14px;cursor:pointer;padding:.55rem;transition:transform .24s ease,border-color .24s ease,background-color .24s ease}.movie-card:focus-visible,.movie-card:hover{background:#7c5cff1a;border-color:#7c5cff80;transform:translateY(-4px)}.movie-card:focus-visible{outline:2px solid var(--primary);outline-offset:3px}.movie-card.active{border-color:var(--primary);box-shadow:0 0 0 2px #7c5cff40}.movie-poster-wrapper{background:#1f2331;border-radius:10px;overflow:hidden;position:relative}.movie-poster-wrapper.is-loading:before{animation:shimmer 1.4s ease-in-out infinite;background:linear-gradient(100deg,#ffffff05 30%,#ffffff14 50%,#ffffff05 70%);background-size:200% 100%;content:"";inset:0;position:absolute}.movie-poster{aspect-ratio:2/3;display:block;object-fit:cover;opacity:0;transition:transform .35s ease,opacity .35s ease;width:100%}.movie-poster.is-loaded{opacity:1}.movie-card:hover .movie-poster{transform:scale(1.05)}.movie-rating-badge{align-items:center;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#090a0fb8;border:1px solid #ffd16659;border-radius:999px;color:var(--rating);display:inline-flex;font-size:.7rem;gap:.22rem;padding:.15rem .4rem;right:.4rem}.movie-active-badge,.movie-rating-badge{font-weight:700;position:absolute;top:.4rem}.movie-active-badge{animation:activePulse 2s ease-in-out infinite;background:#7c5cffd9;border-radius:999px;color:#fff;font-size:.62rem;left:.4rem;letter-spacing:.03em;padding:.15rem .45rem;text-transform:uppercase}.movie-hover-overlay{align-items:flex-end;background:linear-gradient(0deg,#090a0fd9 0,#0000 55%);display:flex;inset:0;justify-content:center;opacity:0;padding-bottom:.6rem;position:absolute;transition:opacity .25s ease}.movie-card:focus-visible .movie-hover-overlay,.movie-card:hover .movie-hover-overlay{opacity:1}.movie-hover-label{color:var(--text);font-size:.72rem;font-weight:600;letter-spacing:.02em}.movie-card h3{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;font-size:.9rem;line-height:1.35;margin:.5rem 0 .1rem;overflow:hidden}.movie-year{color:var(--text-muted);font-size:.78rem;margin:0}.fallback-poster{align-items:center;aspect-ratio:2/3;color:var(--text-muted);display:flex;flex-direction:column;gap:.3rem;justify-content:center;opacity:1}.fallback-poster span{font-size:.75rem}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes activePulse{0%,to{box-shadow:0 0 0 0 #7c5cff66}50%{box-shadow:0 0 0 5px #7c5cff00}}.movie-card:first-child{animation-delay:.02s}.movie-card:nth-child(2){animation-delay:.06s}.movie-card:nth-child(3){animation-delay:.1s}.movie-card:nth-child(4){animation-delay:.14s}.movie-card:nth-child(5){animation-delay:.18s}.movie-card:nth-child(6){animation-delay:.22s}.movie-card:nth-child(7){animation-delay:.26s}.movie-card:nth-child(8){animation-delay:.3s}.hero{animation:heroReveal .7s cubic-bezier(.22,1,.36,1) both;aspect-ratio:2/1;background-position:50%;background-size:cover;border:1px solid var(--border);border-radius:20px;max-height:640px;min-height:460px;overflow:hidden;position:relative;width:100%}.hero-overlay{background:linear-gradient(0deg,#090a0ff2 8%,#090a0f8c 52%,#090a0f40),linear-gradient(90deg,#090a0f8c 0,#090a0f1a 55%,#0000 80%);inset:0;position:absolute}.hero-content{align-items:flex-end;display:flex;inset:0;padding:clamp(1rem,3vw,2rem);position:absolute;z-index:1}.hero-info{max-width:780px}.hero-info>*{animation:heroRise .55s cubic-bezier(.22,1,.36,1) both}.hero-info>:first-child{animation-delay:.04s}.hero-info>:nth-child(2){animation-delay:.1s}.hero-info>:nth-child(3){animation-delay:.16s}.hero-info>:nth-child(4){animation-delay:.22s}.hero-info>:nth-child(5){animation-delay:.28s}.hero-tag{align-items:center;color:var(--accent);display:inline-flex;font-size:.8rem;gap:.35rem;margin-bottom:.6rem}.hero-meta{align-items:center;display:flex;gap:.6rem;margin-bottom:.7rem}.hero-rating{align-items:center;background:#ffd16626;border:1px solid #ffd16659;border-radius:999px;color:var(--rating);display:inline-flex;font-size:.8rem;font-weight:600;gap:.3rem;padding:.2rem .55rem}.hero-year{color:var(--text-muted);font-size:.85rem}.hero-info h2{font-size:clamp(1.5rem,3.4vw,2.6rem);letter-spacing:-.02em;margin:0 0 .6rem;text-shadow:0 2px 18px #00000073}.hero-overview{-webkit-line-clamp:3;-webkit-box-orient:vertical;color:var(--text-muted);display:-webkit-box;line-height:1.55;margin:0 0 1.1rem;overflow:hidden}.hero-actions{display:flex;flex-wrap:wrap;gap:.6rem}.hero-play.has-trailer{animation:playPulse 2.6s ease-in-out 1s infinite}.btn-favorite{background:#35d0a133;border:1px solid #35d0a173}.btn-favorite.is-active{animation:heartPop .4s cubic-bezier(.34,1.56,.64,1);background:#ff5d7e33;border:1px solid #ff5d7e73}.hero-placeholder{align-items:center;border:1px dashed var(--border);color:var(--text-muted);display:flex;flex-direction:column;gap:.5rem;justify-content:center;min-height:260px;padding:2rem;text-align:center}.hero-placeholder svg{opacity:.5}.hero-placeholder p{color:var(--text);font-size:1.05rem;font-weight:600;margin:0}.hero-placeholder span{font-size:.88rem}@keyframes heroReveal{0%{opacity:0;transform:scale(1.04)}to{opacity:1;transform:scale(1)}}@keyframes heroRise{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@keyframes playPulse{0%,to{box-shadow:0 0 0 0 #7c5cff73}50%{box-shadow:0 0 0 8px #7c5cff00}}@keyframes heartPop{0%{transform:scale(1)}40%{transform:scale(1.12)}to{transform:scale(1)}}@media (max-width:768px){.hero{aspect-ratio:auto;max-height:none;min-height:370px}}@media (max-width:480px){.hero-actions{display:grid;grid-template-columns:1fr}}.movie-grid-heading h2{align-items:center;display:flex;gap:.4rem}.movie-grid-heading-icon{color:var(--primary)}.movie-grid-count-badge{align-items:center;animation:countPop .35s cubic-bezier(.34,1.56,.64,1) both;background:#35d0a126;border:1px solid #35d0a14d;border-radius:999px;color:var(--text);display:inline-flex;font-size:.78rem;font-weight:600;padding:.2rem .6rem}.movie-card-skeleton{background:#ffffff05;border:1px solid #0000;border-radius:14px;padding:.55rem}.movie-card-skeleton-poster{animation:shimmer 1.4s ease-in-out infinite;aspect-ratio:2/3;background:linear-gradient(100deg,#ffffff08 30%,#ffffff17 50%,#ffffff08 70%);background-size:200% 100%;border-radius:10px}.movie-card-skeleton-line{background:#ffffff0f;border-radius:6px;height:10px;margin-top:.55rem}.movie-card-skeleton-line.short{height:8px;margin-top:.35rem;width:50%}.movie-grid-empty{align-items:center;animation:emptyStateIn .4s ease both;border:1px dashed var(--border);border-radius:12px;color:var(--text-muted);display:flex;flex-direction:column;gap:.4rem;justify-content:center;padding:2.5rem 1rem;text-align:center}.movie-grid-empty svg{opacity:.45}.movie-grid-empty p{color:var(--text);font-size:.95rem;font-weight:600;margin:0}.movie-grid-empty span{font-size:.82rem}.trailer-modal{animation:modalFadeIn .3s ease forwards;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);background:#04060edb;display:grid;inset:0;padding:clamp(.8rem,2vw,1.4rem);place-items:center;position:fixed;z-index:1400}.trailer-modal.closing{animation:modalFadeOut .22s ease forwards}.trailer-modal-content{animation:modalZoomIn .32s cubic-bezier(.34,1.56,.64,1) forwards;background:#0a0c14eb;border:1px solid var(--border);border-radius:16px;box-shadow:0 20px 60px #0009;display:flex;flex-direction:column;height:500px;padding:.85rem .85rem 1rem;position:relative;width:min(1280px,100%)}.trailer-modal.closing .trailer-modal-content{animation:modalZoomOut .2s ease forwards}.trailer-modal-header{align-items:flex-start;display:flex;gap:1rem;justify-content:space-between;padding:.15rem .15rem .85rem}.trailer-eyebrow{color:var(--accent);font-size:.72rem;font-weight:600;letter-spacing:.08em;margin:0 0 .15rem;text-transform:uppercase}.trailer-modal-header h3{color:var(--text);font-size:1.15rem;margin:0}.trailer-close{background:#ffffff0f;border:1px solid #ffffff29;border-radius:50%;color:var(--text-muted);cursor:pointer;display:grid;flex-shrink:0;height:38px;place-items:center;transition:background-color .2s ease,color .2s ease,transform .25s ease,border-color .2s ease;width:38px}.trailer-close:hover{background:#ff5d7e33;border-color:#ff5d7e73;color:var(--text);transform:rotate(90deg)}.trailer-close:focus-visible{outline:2px solid var(--primary);outline-offset:3px}.video-modal-container{background:#000;border-radius:12px;height:min(80vh,920px);max-height:calc(100vh - 130px);overflow:hidden;position:relative}.video-frame,.video-frame-container{height:100%;width:100%}.video-frame{opacity:0;transition:opacity .4s ease}.video-frame.is-ready{opacity:1}.video-loading{background:#000;display:grid;inset:0;place-items:center;position:absolute}.video-spinner{animation:spin .8s linear infinite;border:3px solid #ffffff26;border-radius:50%;border-top:3px solid var(--primary);height:40px;width:40px}@keyframes modalFadeIn{0%{opacity:0}to{opacity:1}}@keyframes modalFadeOut{0%{opacity:1}to{opacity:0}}@keyframes modalZoomIn{0%{opacity:0;transform:translateY(14px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes modalZoomOut{0%{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(8px) scale(.99)}}@media (max-width:480px){.trailer-modal-content{padding:.65rem .65rem .75rem;width:100%}.trailer-modal-header h3{font-size:1rem}.trailer-close{height:34px;width:34px}.video-modal-container{height:min(72vh,560px);max-height:calc(100vh - 160px)}}
/*# sourceMappingURL=main.c53e43db.css.map*/