/* Pin Vault 2.1 magical transitions */
.pv-firework{position:fixed;z-index:10050;width:7px;height:7px;border-radius:50%;background:var(--fc,#d8ad2f);box-shadow:0 0 12px var(--fc,#d8ad2f);pointer-events:none;transform:translate(-50%,-50%);animation:pvFirework var(--fd,800ms) cubic-bezier(.12,.72,.24,1) forwards}
@keyframes pvFirework{0%{opacity:1;transform:translate(-50%,-50%) scale(1)}72%{opacity:1}100%{opacity:0;transform:translate(calc(-50% + var(--fx)),calc(-50% + var(--fy))) scale(.15)}}
.pv-sound-toggle{appearance:none;border:1px solid rgba(216,173,47,.55);background:rgba(8,8,8,.72);color:var(--pv-gold);border-radius:999px;padding:.48rem .72rem;font-size:.72rem;font-weight:800;letter-spacing:.04em;cursor:pointer;white-space:nowrap;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}
.pv-sound-toggle:hover,.pv-sound-toggle:focus-visible{transform:translateY(-2px);border-color:var(--pv-gold);box-shadow:0 0 22px rgba(216,173,47,.24);outline:none}
body{transition:opacity .2s ease,transform .2s ease,filter .2s ease}
body.pv-page-exit{opacity:.08;transform:scale(.992);filter:blur(3px)}
.page-transition{animation:pvPageArrive .6s cubic-bezier(.2,.75,.2,1) both}
@keyframes pvPageArrive{0%{opacity:0;transform:translateY(16px) scale(.995);filter:blur(5px)}100%{opacity:1;transform:none;filter:none}}
.vault-overlay.opening:after{content:'';position:absolute;inset:0;background:radial-gradient(circle at 50% 50%,rgba(255,244,184,.62),rgba(216,173,47,.22) 18%,transparent 58%);animation:pvVaultFlash .75s ease-out forwards;pointer-events:none}
@keyframes pvVaultFlash{0%{opacity:0;transform:scale(.5)}28%{opacity:1}100%{opacity:0;transform:scale(1.25)}}
.vault-room-card,.wave-card,.product-card{will-change:transform;transition:transform .28s cubic-bezier(.2,.8,.2,1),box-shadow .28s ease,border-color .28s ease}
.vault-room-card:hover,.wave-card:hover,.product-card:hover{transform:translateY(-6px);box-shadow:0 18px 55px rgba(0,0,0,.42),0 0 28px rgba(216,173,47,.08)}
@media(max-width:720px){.pv-sound-toggle{font-size:.66rem;padding:.42rem .58rem}.pv-firework{width:6px;height:6px}}
@media(prefers-reduced-motion:reduce){.pv-firework{display:none!important}.page-transition,body,.vault-overlay.opening:after,.vault-room-card,.wave-card,.product-card{animation:none!important;transition:none!important;transform:none!important;filter:none!important}}
