.movie-card-link{display:block;text-decoration:none;color:inherit}.movie-card{position:relative;background-position:50%;background-repeat:no-repeat;background-size:cover;background-color:#141414;padding-top:150%;border-radius:6px;margin-bottom:.5rem;overflow:hidden;transition:transform .4s cubic-bezier(.4,0,.2,1),box-shadow .4s cubic-bezier(.4,0,.2,1)}.movie-card--no-poster{background:linear-gradient(135deg,rgba(99,102,241,.22),rgba(168,85,247,.12) 60%,rgba(0,0,0,.5))}.movie-card__placeholder{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:86%;text-align:center;font-family:var(--font-sora),"Sora",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:.85rem;font-weight:600;line-height:1.3;color:rgba(255,255,255,.78);letter-spacing:-.01em;padding:0 .5rem;z-index:2;pointer-events:none;display:-webkit-box;-webkit-line-clamp:4;line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}.movie-card:before{box-shadow:inset 0 0 0 1px rgba(255,255,255,.05);z-index:4;pointer-events:none}.movie-card:after,.movie-card:before{content:"";position:absolute;inset:0;border-radius:6px}.movie-card:after{background:rgba(0,0,0,0);transition:background .4s ease;z-index:1}.movie-card:hover{transform:scale(1.05);box-shadow:0 16px 40px rgba(0,0,0,.6);z-index:10}.movie-card:hover:after{background:rgba(0,0,0,.3)}.movie-card__media-badge{position:absolute;top:.5rem;left:.5rem;z-index:5;background:rgba(20,20,20,.75);backdrop-filter:blur(24px) saturate(160%);-webkit-backdrop-filter:blur(24px) saturate(160%);border:1px solid rgba(255,255,255,.1);box-shadow:inset 0 1px 0 0 rgba(255,255,255,.05),0 4px 16px rgba(0,0,0,.4);padding:.2rem .5rem;border-radius:4px;font-size:.6rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:#fff}.movie-card__media-badge--tv{background:rgba(99,102,241,.22);border-color:rgba(99,102,241,.4);color:#c7d2fe}.movie-card__media-badge--movie{background:rgba(245,197,24,.15);border-color:rgba(245,197,24,.3);color:#fde68a}.movie-card__info{position:absolute;top:.5rem;right:.5rem;z-index:5}.movie-card__rating{display:flex;align-items:center;gap:3px;background:rgba(20,20,20,.75);backdrop-filter:blur(24px) saturate(160%);-webkit-backdrop-filter:blur(24px) saturate(160%);border:1px solid rgba(255,255,255,.1);box-shadow:inset 0 1px 0 0 rgba(255,255,255,.05),0 4px 16px rgba(0,0,0,.4);padding:3px 8px;border-radius:4px;font-size:.7rem;font-weight:600;color:#fff}.movie-card__rating i{color:#f5c518;font-size:.65rem}.movie-card .btn{position:absolute;top:50%;left:50%;width:2.8rem;height:2.8rem;border-radius:50%;transform:translate(-50%,-50%) scale(0);transition:transform .3s cubic-bezier(.34,1.56,.64,1),opacity .2s ease;z-index:5;background:#fff;color:#000;padding:0;border:none;opacity:0;box-shadow:0 4px 20px rgba(0,0,0,.4)}.movie-card .btn i{font-size:1.2rem;margin-left:2px}@media(hover:hover)and (pointer:fine){.movie-card:hover .btn{transform:translate(-50%,-50%) scale(1);opacity:1}}.movie-card__title{padding:.25rem 0 0}.movie-card__title h3{font-size:.8rem;font-weight:500;margin-bottom:2px;line-height:1.3;color:#e5e5e5;display:-webkit-box;-webkit-line-clamp:1;line-clamp:1;-webkit-box-orient:vertical;overflow:hidden;transition:color .2s ease}.movie-card__title .movie-card__year{font-size:.7rem;color:#666;margin:0;font-weight:400;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.movie-card__title .movie-card__year--accent{color:#a5b4fc;font-weight:500;letter-spacing:.01em}.movie-card-link:hover .movie-card__title h3{color:#fff}button{cursor:pointer;font-family:var(--font-sora),"Sora",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}.btn{border:none;background:#fff;color:#0a0a0a;border-radius:6px;padding:.75rem 1.5rem;font-size:.85rem;font-weight:600;letter-spacing:.02em;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;display:flex;align-items:center;justify-content:center}.btn:hover{background:#ccc;transform:scale(1.02)}.btn:active{transform:scale(.98)}.btn .button-icon{margin-right:.5rem;display:flex}.btn-outline{border:1px solid rgba(255,255,255,.2);background:rgba(255,255,255,.08);color:#fff;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:none;border-radius:6px}.btn-outline:hover{background:rgba(255,255,255,.15);border-color:rgba(255,255,255,.3)}.btn-outline .button-icon{margin-right:.5rem;display:flex}.btn.small{padding:.5rem 1rem;font-size:.8rem}.btn.subtle{background:#6366f1;color:#fff;border:none}.btn.subtle:hover{background:#4f46e5}