.photo-album{padding-block:22px 48px;min-width:0}
.album-heading{text-align:center;margin:0 0 27px;font-weight:500}
.album-heading>span{display:block;font-family:'Segoe Script','Brush Script MT',Georgia,cursive;font-size:clamp(38px,5.6vw,62px);font-style:italic;font-weight:700;letter-spacing:-2px;line-height:1.4;background:linear-gradient(165deg,#fff1c9 12%,#f2ce83 48%,#ba8235 80%,#eed8a1);background-clip:text;-webkit-background-clip:text;color:transparent;filter:drop-shadow(0 3px 14px #b3863524)}
.album-heading>small{display:flex;align-items:center;justify-content:center;gap:15px;margin-top:0;color:#c9b487;font-size:11px;font-weight:500;letter-spacing:3px;text-transform:uppercase}
.album-heading>small:before,.album-heading>small:after{content:'';width:47px;height:1px;background:linear-gradient(90deg,transparent,#bb914d)}
.album-heading>small:after{transform:rotate(180deg)}
.album-frame{overflow:hidden;isolation:isolate;border:1px solid #cba45a48;border-radius:18px;background:#0b0d15;box-shadow:0 16px 45px #0004,0 0 28px #956d2510}
.album-track{position:relative;display:flex;width:100%;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;outline-offset:-5px;direction:ltr}
.album-track::-webkit-scrollbar{display:none}
.album-track:focus-visible{outline:2px solid #eccc8c;outline-offset:-4px}
.album-slide{position:relative;isolation:isolate;flex:0 0 100%;min-width:0;aspect-ratio:16/7;overflow:hidden;margin:0;scroll-snap-align:start;scroll-snap-stop:always}
.album-slide>img{display:block;width:100%;height:100%;object-fit:contain;user-select:none;-webkit-user-drag:none}
.album-slide>.album-neon{position:absolute;inset:0;pointer-events:none;clip-path:var(--neon-mask);opacity:0;mix-blend-mode:screen;filter:contrast(2.5) brightness(1.35) saturate(1.5);will-change:opacity}
.album-slide>.album-neon-halo{filter:contrast(2.5) brightness(1.45) saturate(1.5) blur(4px)}
.album-neon-shade{position:absolute;inset:0;pointer-events:none;clip-path:var(--neon-mask);background:#000;opacity:0}
.album-slide.is-active .album-neon{animation:album-neon-light 4.8s ease-in-out infinite}
.album-slide.is-active .album-neon-shade{animation:album-neon-dim 4.8s ease-in-out infinite}
.photo-album:not(.is-in-view) .album-neon,.photo-album:not(.is-in-view) .album-neon-shade{animation-play-state:paused}
@keyframes album-neon-light{0%,100%{opacity:.03}24%,38%{opacity:.65}56%{opacity:.12}76%,84%{opacity:.75}}
@keyframes album-neon-dim{0%,100%{opacity:.38}24%,38%,76%,84%{opacity:0}56%{opacity:.24}}
.album-controls{display:flex;align-items:center;justify-content:center;gap:13px;margin-top:16px}
.album-controls[hidden]{display:none}
.album-controls button[hidden]{display:none}
.album-controls button{width:42px;height:42px;display:grid;place-items:center;border:1px solid #d1aa5d36;border-radius:50%;background:#161520;color:#eacb8a;cursor:pointer;transition:background .2s,border-color .2s}
.album-controls button:hover{background:#2b2330;border-color:#d1aa5d80}
.album-controls svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.album-count{min-width:58px;text-align:center;font-size:11px;font-variant-numeric:tabular-nums;letter-spacing:1px;color:#777d91}
.album-count b{font-size:14px;font-weight:600;color:#ebcc8a}
.album-play-icon,.album-play.is-paused .album-pause-icon{display:none!important}
.album-play.is-paused .album-play-icon{display:block!important}
.album-dots{display:flex;align-items:center;justify-content:center;margin-top:2px;max-width:100%;gap:0}
.album-dot{display:grid;place-items:center;flex:0 0 28px;width:28px;height:32px;padding:0;border:0;background:transparent;cursor:pointer}
.album-dot:before{content:'';display:block;width:5px;height:5px;border-radius:10px;background:#575166;transition:width .25s,background .25s,box-shadow .25s}
.album-dot[aria-current=true]:before{width:18px;background:#e6bc66;box-shadow:0 0 11px #d8a64555}
@media(max-width:700px){.photo-album{padding-top:14px;padding-bottom:32px}.album-heading{margin-bottom:20px}.album-heading>span{font-size:43px}.album-heading>small{font-size:9px;letter-spacing:2px;gap:11px}.album-heading>small:before,.album-heading>small:after{width:30px}.album-frame{border-radius:12px}.album-controls{margin-top:12px;gap:10px}}
@media(max-width:350px){.album-heading>span{font-size:36px}}
@media(prefers-reduced-motion:reduce){.photo-album .album-neon,.photo-album .album-neon-shade{animation:none!important;opacity:0}.photo-album *{scroll-behavior:auto!important;transition:none!important}}
