.filters{justify-content:flex-start}.card{cursor:pointer;border-radius:14px}.card:focus-visible{outline:2px solid var(--violet);outline-offset:7px}.modal[hidden]{display:none}.modal{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:24px}.modal-shade{position:absolute;inset:0;background:rgba(3,4,10,.82);backdrop-filter:blur(12px)}.modal-open{overflow:hidden}.detail{position:relative;width:min(980px,96vw);max-height:min(820px,92vh);overflow:auto;background:#10131f;border:1px solid rgba(255,255,255,.14);border-radius:24px;box-shadow:0 35px 100px rgba(0,0,0,.65)}.modal-close{position:absolute;right:18px;top:18px;z-index:4;width:40px;height:40px;border:1px solid rgba(255,255,255,.2);border-radius:50%;background:rgba(7,9,16,.78);color:#fff;font-size:26px;line-height:1;cursor:pointer}.detail-backdrop{height:310px;background:radial-gradient(circle at 25% 30%,rgba(155,108,255,.4),transparent 52%),linear-gradient(135deg,#20263a,#11131d);background-position:center;background-size:cover;position:relative}.detail-backdrop:after{content:"";position:absolute;inset:50% 0 0;background:linear-gradient(transparent,#10131f)}.detail-content{position:relative;display:grid;grid-template-columns:220px 1fr;gap:32px;margin-top:-145px;padding:0 38px 42px;z-index:2}.detail-poster{aspect-ratio:2/3;border-radius:16px;overflow:hidden;background:#202537;box-shadow:0 24px 55px rgba(0,0,0,.48)}.detail-poster img{width:100%;height:100%;object-fit:cover}.detail-fallback{display:none;width:100%;height:100%;place-items:center;font-size:38px;font-weight:900;color:rgba(255,255,255,.3)}.detail-poster.missing img{display:none}.detail-poster.missing .detail-fallback{display:grid}.detail-info{align-self:end;min-width:0;padding-top:38px}.detail-badges{display:flex;gap:8px;flex-wrap:wrap}.detail-badges span{padding:6px 9px;border:1px solid rgba(255,255,255,.14);background:rgba(9,11,19,.65);border-radius:7px;color:#dedfea;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.detail-badges span:first-child{color:#c4aaff;border-color:rgba(155,108,255,.45)}.detail h2{font-size:clamp(30px,4vw,48px);line-height:1.02;letter-spacing:-.045em;margin:17px 0 12px}.detail-meta{color:#e4e5ec;font-size:13px;font-weight:650}.detail-synopsis{max-width:680px;color:#b8bbca;font-size:14px;line-height:1.7;margin:22px 0}.season-area{margin-top:24px}.season-area h3{font-size:15px;margin:0 0 12px}.season-list{display:flex;gap:9px;overflow-x:auto;padding:2px 0 8px}.season-chip{flex:0 0 auto;min-width:128px;padding:11px 13px;border:1px solid var(--line);background:#171b2b;border-radius:11px}.season-chip strong,.season-chip span{display:block}.season-chip strong{font-size:12px}.season-chip span{font-size:10px;color:var(--muted);margin-top:3px}.tmdb-note{font-size:9px;color:#6f7486;margin:17px 0 0}@media(max-width:680px){.modal{padding:0}.detail{width:100vw;max-height:100vh;height:100vh;border:0;border-radius:0}.detail-backdrop{height:260px}.detail-content{grid-template-columns:110px 1fr;gap:17px;margin-top:-80px;padding:0 18px 34px}.detail-info{padding-top:92px}.detail h2{font-size:28px}.detail-poster{align-self:start}.detail-synopsis{grid-column:1/-1;margin-top:16px}.season-area{grid-column:1/-1}.detail-badges span:nth-child(2){display:none}}
