.album-loader{position:fixed;inset:0;z-index:9999;overflow:hidden;color:#f3eee5;background:#12100f;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;clip-path:circle(150vmax at 50% 50%);transition:clip-path .9s cubic-bezier(.76,0,.24,1),visibility .9s}
.album-loader[hidden]{display:none}.album-loader.is-leaving{visibility:hidden;clip-path:circle(0 at 50% 54%)}
.album-loader::before{content:"";position:absolute;inset:0;opacity:.3;background-image:radial-gradient(rgba(243,238,229,.2) .8px,transparent .8px);background-size:26px 26px}
.album-loader__meta{position:absolute;z-index:8;inset:24px 28px auto;display:flex;justify-content:space-between;color:rgba(243,238,229,.48);font-size:9px;letter-spacing:.2em;text-transform:uppercase}
.album-loader__stage{position:absolute;inset:0;display:grid;place-items:center;perspective:1000px}
.album-loader__camera-wrap{position:relative;z-index:5;width:clamp(230px,26vw,370px);aspect-ratio:1.45;opacity:0;transform:translate3d(0,28vh,0) rotate(-4deg) scale(.76);animation:camera-arrive .8s cubic-bezier(.16,1,.3,1) .08s forwards;transition:transform .85s cubic-bezier(.22,1,.36,1),opacity .4s ease}
.album-loader.is-developing .album-loader__camera-wrap{transform:translate3d(0,-22vh,0) rotate(2deg) scale(.72)}
.album-loader__camera{position:absolute;inset:15% 0 0;border:2px solid rgba(243,238,229,.72);border-radius:24px 24px 36px 36px;background:linear-gradient(145deg,#302b28,#171412 64%);box-shadow:0 30px 80px rgba(0,0,0,.48),inset 0 1px rgba(255,255,255,.16)}
.album-loader__camera::before{content:"";position:absolute;top:-17%;left:12%;width:34%;height:19%;border:2px solid rgba(243,238,229,.72);border-bottom:0;border-radius:10px 10px 0 0;background:#292522}
.album-loader__camera::after{content:"BYTEJAY  /  11";position:absolute;right:18px;bottom:13px;color:rgba(243,238,229,.45);font-size:7px;letter-spacing:.16em}
.album-loader__button{position:absolute;z-index:2;top:5%;right:18%;width:13%;height:11%;border:2px solid rgba(243,238,229,.72);border-radius:8px 8px 2px 2px;background:#365bd6;transform-origin:bottom}
.album-loader.is-shooting .album-loader__button{animation:shutter-button .18s ease-in-out}
.album-loader__viewfinder{position:absolute;top:12%;right:10%;width:13%;aspect-ratio:1.45;border:2px solid rgba(243,238,229,.72);border-radius:4px;background:#090808}
.album-loader__lens{position:absolute;z-index:2;top:50%;left:50%;width:46%;aspect-ratio:1;border:clamp(9px,1.2vw,16px) solid #47413d;border-radius:50%;background:radial-gradient(circle,#070707 0 17%,#293136 18% 29%,#0b0c0d 30% 45%,#303a3e 46% 49%,#080909 50%);box-shadow:0 0 0 3px #111,0 0 0 5px rgba(243,238,229,.3),0 15px 26px rgba(0,0,0,.48);transform:translate(-50%,-45%)}
.album-loader__iris{position:absolute;inset:29%;border-radius:50%;background:#050505;box-shadow:0 0 10px rgba(110,188,210,.3)}
.album-loader.is-shooting .album-loader__iris{animation:iris-click .32s cubic-bezier(.7,0,.3,1)}
.album-loader__click{position:absolute;top:24%;left:calc(50% + clamp(120px,18vw,260px));color:#6f8cff;font-size:clamp(11px,1.2vw,16px);font-weight:700;letter-spacing:.18em;opacity:0;transform:rotate(8deg) scale(.7)}
.album-loader.is-shooting .album-loader__click{animation:click-pop .5s cubic-bezier(.16,1,.3,1) forwards}
.album-loader__flash{position:absolute;z-index:20;inset:0;pointer-events:none;background:#fffdf7;opacity:0}.album-loader.is-shooting .album-loader__flash{animation:camera-flash .5s ease-out}
.album-loader__reel{position:absolute;z-index:3;top:53%;left:50%;display:grid;width:clamp(132px,15vw,210px);gap:7px;padding:22px 10px;background:radial-gradient(circle,#12100f 0 3px,transparent 3.5px) 2px 5px/14px 18px repeat-y,radial-gradient(circle,#12100f 0 3px,transparent 3.5px) calc(100% - 2px) 5px/14px 18px repeat-y,#e9e2d7;box-shadow:0 24px 60px rgba(0,0,0,.45);transform:translate3d(-50%,-55%,-100px) scaleY(.04);transform-origin:50% 0;opacity:0;transition:transform 1.05s cubic-bezier(.16,1,.3,1),opacity .15s ease}
.album-loader.is-developing .album-loader__reel{opacity:1;transform:translate3d(-50%,-1%,0) scaleY(1)}
.album-loader__negative{position:relative;aspect-ratio:4/3;overflow:hidden;background:#827c74}.album-loader__negative img{width:100%;height:100%;object-fit:cover;filter:grayscale(1) contrast(1.16);opacity:0;transform:scale(1.08);transition:opacity .65s ease,transform .8s ease}
.album-loader.is-developing .album-loader__negative img{opacity:.88;transform:scale(1)}.album-loader.is-developing .album-loader__negative:nth-child(2) img{transition-delay:.18s}.album-loader.is-developing .album-loader__negative:nth-child(3) img{transition-delay:.34s}
.album-loader__footer{position:absolute;z-index:8;inset:auto 28px 24px;display:flex;align-items:end;justify-content:space-between;gap:24px;color:rgba(243,238,229,.48);font-size:9px;letter-spacing:.18em;text-transform:uppercase}.album-loader__status{color:#f3eee5;font-variant-numeric:tabular-nums}
@keyframes camera-arrive{to{opacity:1;transform:translate3d(0,0,0) rotate(0) scale(1)}}@keyframes shutter-button{50%{transform:scaleY(.35)}}@keyframes iris-click{45%{inset:44%}}@keyframes camera-flash{0%,12%{opacity:0}17%{opacity:1}100%{opacity:0}}@keyframes click-pop{35%{opacity:1;transform:rotate(8deg) scale(1.08)}100%{opacity:0;transform:rotate(8deg) translateY(-18px) scale(1)}}
@media(max-width:600px){.album-loader__meta{inset:18px}.album-loader__camera-wrap{width:min(270px,76vw)}.album-loader.is-developing .album-loader__camera-wrap{transform:translate3d(0,-26vh,0) rotate(2deg) scale(.68)}.album-loader__reel{width:138px}.album-loader__click{top:22%;left:auto;right:8%}.album-loader__footer{inset:auto 18px 18px}.album-loader__footer>span:first-child{display:none}}
@media(prefers-reduced-motion:reduce){.album-loader,.album-loader__camera-wrap,.album-loader__reel,.album-loader__negative img{transition-duration:.01ms;animation-duration:.01ms}}
.album-loader__focus{position:absolute;z-index:7;top:50%;left:50%;width:clamp(270px,32vw,460px);aspect-ratio:1.35;transform:translate(-50%,-50%) scale(.82);opacity:0;transition:opacity .25s ease,transform .5s cubic-bezier(.16,1,.3,1)}
.album-loader__focus i{position:absolute;width:34px;height:34px;border-color:#6f8cff}.album-loader__focus i:nth-child(1){top:0;left:0;border-top:2px solid;border-left:2px solid}.album-loader__focus i:nth-child(2){top:0;right:0;border-top:2px solid;border-right:2px solid}.album-loader__focus i:nth-child(3){bottom:0;right:0;border-right:2px solid;border-bottom:2px solid}.album-loader__focus i:nth-child(4){bottom:0;left:0;border-bottom:2px solid;border-left:2px solid}
.album-loader__focus span{position:absolute;right:0;bottom:-22px;color:#6f8cff;font-size:8px;letter-spacing:.16em}.album-loader:not(.is-shooting) .album-loader__focus{animation:focus-lock .65s ease .35s forwards}.album-loader.is-shooting .album-loader__focus{opacity:0;transform:translate(-50%,-50%) scale(.96)}
@keyframes focus-lock{45%{opacity:.8;transform:translate(-50%,-50%) scale(1.05)}100%{opacity:1;transform:translate(-50%,-50%) scale(1)}}
@media(max-width:600px){.album-loader__focus{width:82vw}}
@media(prefers-reduced-motion:reduce){.album-loader__focus{transition-duration:.01ms;animation-duration:.01ms}}
