/* A quiet cinema field, with one moving light instead of a shimmer per bar.
   Adapts the app's organic shimmer/reveal vocabulary without full-screen SVG
   distortion, animated blur, or a separate clock for every placeholder. */
.dl-host{position:relative;isolation:isolate}
.dl-host > :not(.dl-shell){z-index:1}
.dl-host.dl-pending > :not(.dl-shell){visibility:hidden}
.dl-host.dl-pending > :not(.dl-shell),.dl-host.dl-pending > :not(.dl-shell) *{animation-play-state:paused!important}
.dl-host.dl-pending .body > *, .dl-host.dl-pending .btns,
.dl-host.dl-pending .epstill{animation:none!important}
.dl-shell{position:absolute;inset:0;z-index:0;overflow:hidden;pointer-events:none;
  background:linear-gradient(145deg,#111117,#0c0c10 55%,#070709);opacity:1;
  transition:opacity .42s var(--ease,cubic-bezier(.2,.8,.2,1))}
.dl-atmosphere{position:absolute;inset:-15%;background:
  radial-gradient(ellipse at 78% 28%,#b3a0f421,transparent 42%),
  radial-gradient(ellipse at 40% 80%,#dcc6a510,transparent 48%);
  animation:dl-breathe 4.5s ease-in-out infinite alternate}
.dl-shell::after{content:'';position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(0deg,#000 0%,transparent 24%,transparent 80%,#0005)}
.dl-copy{position:absolute;left:var(--pad,24px);bottom:2.7rem;width:min(38rem,51%);
  z-index:2;transition:opacity .2s ease,transform .35s var(--ease);overflow:hidden}
.dl-kicker{display:flex;gap:.6rem;align-items:center;font-size:.65rem;font-weight:650;
  letter-spacing:.18em;text-transform:uppercase;color:#a8a4b6;margin-bottom:1.7rem}
.dl-kicker span{width:1.6rem;height:1px;background:linear-gradient(90deg,#cbbcdc,transparent)}
.dl-title,.dl-lines{display:grid;gap:.65rem}
.dl-title i,.dl-meta i,.dl-lines i,.dl-buttons i,.dl-section-head i,.dl-body-card i{
  display:block;background:linear-gradient(105deg,#d5d1e319,#d5d1e309);border:1px solid #ffffff05;border-radius:6px}
.dl-title i{height:clamp(1.9rem,4.3vw,4rem);width:87%;border-radius:9px}
.dl-title i+ i{width:59%;height:clamp(1.6rem,3.5vw,3.1rem)}
.dl-meta{display:flex;gap:.7rem;margin:1.3rem 0 1.65rem}
.dl-meta i{width:3.5rem;height:.65rem;border-radius:4px}.dl-meta i:nth-child(2){width:5.5rem}
.dl-lines{gap:.5rem;max-width:31rem}.dl-lines i{height:.55rem;width:96%;background:#d5d1e311}
.dl-lines i:nth-child(2){width:88%}.dl-lines i:nth-child(3){width:62%}
.dl-faces{display:flex;margin-top:1.45rem;padding-left:3px}
.dl-faces i{width:1.65rem;height:1.65rem;border:3px solid #101014;border-radius:50%;background:#24232c;margin-left:-3px}
.dl-buttons{display:flex;gap:.6rem;margin-top:1.4rem}
.dl-buttons i{height:3rem;width:8.5rem;border-radius:12px;background:#dad4e921;border-color:#ffffff0a}
.dl-buttons i+ i{width:6.5rem;background:#dad4e90b}
.dl-art{position:absolute;right:7%;bottom:20%;width:32%;max-width:31rem;aspect-ratio:1.5;
  transform:perspective(900px) rotateY(-9deg) rotateZ(3deg);animation:dl-float 5s ease-in-out infinite alternate}
.dl-art>i{position:absolute;inset:0;border:1px solid #c8bdd81c;border-radius:clamp(12px,2vw,24px);
  background:linear-gradient(135deg,#302a3d,#16161e 60%,#1e1b24);box-shadow:0 20px 65px #0004}
.dl-art>i:first-child{transform:translate(16px,-16px) rotate(5deg);opacity:.28}
.dl-art>i:nth-child(2){transform:translate(8px,-8px) rotate(2.5deg);opacity:.5}
.dl-art>i:last-child{overflow:hidden;background:
  radial-gradient(ellipse at 25% 25%,#b2a0d41b,transparent 65%),linear-gradient(135deg,#24222f,#15151d)}
.dl-art>i:last-child::after{content:'';position:absolute;inset:-60%;
  background:linear-gradient(115deg,transparent 40%,#f2e8ff0d 49%,#f2e8ff14 50%,transparent 60%);
  transform:translateX(-50%);animation:dl-light 3.8s ease-in-out infinite}
.dl-frame-mark{position:absolute;inset:18%;border:1px solid #f5efff0d;border-radius:8px}
.dl-frame-mark::after{content:'';position:absolute;inset:40%;border:1px solid #f5efff13;border-radius:50%}
.dl-copy::after{content:'';position:absolute;inset:-20% -80%;pointer-events:none;
  background:linear-gradient(110deg,transparent 45%,#f3edff06 50%,transparent 55%);
  animation:dl-light 3.8s ease-in-out infinite}
.dl-copy-ready .dl-copy,.dl-copy-ready .dl-profile-extra{opacity:0;transform:translateY(-6px)}
.dl-copy-ready .dl-art{transition:opacity .3s ease;opacity:.45}
.dl-gone{opacity:0}
.dl-image-reveal{animation:dl-image-in .65s var(--ease) both}
@keyframes dl-image-in{from{opacity:0}to{opacity:1}}
.dl-revealing .body > *, .dl-revealing .pinfo > *{animation:heroIn .6s var(--ease) both}
.dl-revealing .body > :nth-child(2), .dl-revealing .pinfo > :nth-child(2){animation-delay:.045s}
.dl-revealing .body > :nth-child(3), .dl-revealing .pinfo > :nth-child(3){animation-delay:.09s}
.dl-revealing .body > :nth-child(n+4), .dl-revealing .pinfo > :nth-child(n+4){animation-delay:.13s}
.dl-body{padding:1.4rem 0 2rem;overflow:hidden}
.dl-section-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.4rem}
.dl-section-head i{width:9rem;height:1.05rem}.dl-section-head i+ i{width:3rem;height:.5rem}
.dl-body-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;max-width:54rem}
.dl-body-card{display:grid;gap:.7rem;padding:1.3rem;border:1px solid #ffffff0b;border-radius:14px;background:#ffffff02}
.dl-body-card i{width:43%;height:.55rem}.dl-body-card i+ i{width:76%;height:.9rem}
.dl-posters .dl-body-grid{max-width:none;grid-template-columns:repeat(6,minmax(0,1fr))}
.dl-posters .dl-body-card{padding:0;border:0;background:none}
.dl-posters .dl-body-card span{display:block;aspect-ratio:2/3;border:1px solid #ffffff0b;border-radius:12px;background:linear-gradient(140deg,#24212d,#111116)}
.dl-body{animation:dl-breathe 3.2s ease-in-out infinite alternate}
.dl-settling > .sheet > :not(:empty){animation:arrive .4s var(--ease) both}
.dl-status{position:absolute;width:1px;height:1px;clip-path:inset(50%);overflow:hidden;white-space:nowrap}
.personhead.dl-pending{min-height:21rem}
.dl-profile-extra{position:absolute;left:calc(var(--pad,24px) + 11.6rem);right:var(--pad,24px);top:8.5rem;max-width:38rem;transition:opacity .2s ease,transform .35s var(--ease)}
.dl-profile-stats{display:flex;gap:2rem;margin-bottom:1.8rem}
.dl-profile-stats i{width:4.5rem;height:2.5rem;border-radius:7px;background:#d5d1e31c}
.dl-credit{display:flex;gap:1.1rem;align-items:center;margin:0 0 1rem 1.5rem;position:relative}
.dl-credit::before{content:'';position:absolute;left:-1.5rem;top:0;bottom:-1rem;width:1px;background:#ffffff0c}
.dl-credit>span{width:3.8rem;aspect-ratio:2/3;border-radius:8px;background:linear-gradient(140deg,#292532,#131318)}
.dl-credit-copy{display:grid;gap:.7rem;flex:1;max-width:20rem}
.dl-credit-copy i{height:.75rem;width:90%;background:#d5d1e319;border-radius:5px}.dl-credit-copy i+ i{height:.5rem;width:50%}
.results > .dl-posters{padding:1.4rem var(--pad) 2rem}
.dl-person .dl-art{left:var(--pad,24px);right:auto;top:1.6rem;bottom:auto;width:10rem;aspect-ratio:2/3;transform:none;animation:none}
.dl-person .dl-art>i{transform:none;opacity:1}
.dl-person .dl-copy{left:calc(var(--pad,24px) + 11.6rem);right:var(--pad,24px);top:1.7rem;bottom:auto;width:auto;max-width:43rem}
.dl-person .dl-title i{height:2.15rem;width:62%}.dl-person .dl-title i+ i,.dl-person .dl-buttons,.dl-person .dl-faces{display:none}
.dl-person .dl-kicker{margin-bottom:.9rem}.dl-person .dl-meta{margin:1rem 0 1.4rem}
.dl-person .dl-lines{max-width:38rem}.dl-shell.dl-person::after{background:linear-gradient(0deg,#000,transparent 35%)}
.dl-episode .dl-art{width:30%;bottom:16%;aspect-ratio:16/9}
.dl-episode .dl-title i{height:2.3rem}.dl-episode .dl-title i+ i{height:1.8rem;width:48%}
.dl-paused .dl-shell *, .dl-paused .dl-shell *::after, .dl-paused .dl-body{animation-play-state:paused!important}
@keyframes dl-light{0%,12%{transform:translateX(-40%)}85%,100%{transform:translateX(40%)}}
@keyframes dl-breathe{from{opacity:.55}to{opacity:1}}
@keyframes dl-float{from{translate:0 0}to{translate:0 -7px}}
@media(max-width:700px){
  .dl-copy{width:calc(100% - var(--pad,24px)*2);bottom:2.2rem}
  .dl-art{right:9%;top:15%;bottom:auto;width:45%;opacity:.55}
  .dl-title{gap:.55rem}.dl-title i{width:76%;height:2.5rem}.dl-title i+ i{width:54%;height:2rem}
  .dl-kicker{margin-bottom:1rem}.dl-meta{margin:1rem 0 1.25rem}
  .dl-lines{max-width:26rem}.dl-faces{margin-top:1rem}.dl-buttons{margin-top:1rem}
  .dl-body-grid{gap:.6rem}.dl-body-card{padding:.9rem}.dl-posters .dl-body-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .dl-posters .dl-body-card:nth-child(n+4){display:none}
  .dl-episode .dl-art{top:17%;bottom:auto;width:48%;opacity:.4}
}
@media(max-width:640px){
  .personhead.dl-pending{min-height:25rem}
  .dl-profile-extra{left:var(--pad,24px);top:13.2rem}
  .dl-person .dl-art{width:6.5rem;opacity:1;top:1.6rem}
  .dl-person .dl-copy{left:calc(var(--pad,24px) + 7.5rem);top:1.8rem}
  .dl-person .dl-title i{width:91%;height:1.8rem}.dl-person .dl-meta{flex-wrap:wrap;gap:.4rem}
  .dl-person .dl-lines{margin-top:1.8rem}.dl-person .dl-kicker{font-size:.55rem}
}
@media(prefers-reduced-motion:reduce){
  .dl-image-reveal,.dl-shell,.dl-shell *,.dl-shell *::after,.dl-body,.dl-revealing .body > *,
  .dl-revealing .pinfo > *,.dl-settling > .sheet > :not(:empty){animation:none!important;transition:none!important}
}

/* Home reserves its carousel rather than the detail page's action buttons. */
.dl-home .dl-copy{bottom:var(--dots-clear,2.8rem)}
.dl-home .dl-art{aspect-ratio:16/9}
.dl-carousel{position:absolute;right:var(--pad);bottom:var(--dots-y,1.6rem);display:flex;gap:.4rem;transition:opacity .2s ease}
.dl-carousel i{width:.42rem;height:.42rem;background:#d5d1e32b;border-radius:50%}
.dl-carousel i:first-child{width:1.7rem;border-radius:8px}
.dl-copy-ready .dl-carousel{opacity:0}
.heroSlot .dl-image-reveal{animation-fill-mode:backwards}
@media(max-height:500px){
  .dl-home .dl-copy{top:calc(var(--topH) + .7rem);display:flex;flex-direction:column;justify-content:flex-end}
  .dl-home .dl-kicker{margin-bottom:.65rem}
  .dl-home .dl-title i{height:1.7rem}.dl-home .dl-title i+ i{display:none}
  .dl-home .dl-meta{margin:.8rem 0}.dl-home .dl-faces{display:none}
}
