/* A receipt-only ceremony. Artwork and rewards are the existing pet catalogue. */
.wish-overlay{--wish-color:#ffdb8b;position:fixed;inset:0;z-index:400;isolation:isolate;display:flex;flex-direction:column;overflow:hidden;overscroll-behavior:contain;touch-action:pan-y;background:radial-gradient(ellipse at 50% 44%,#25394b 0,#121f34 42%,#080f21 83%);color:#fff2d6;font-family:inherit;padding:max(18px,env(safe-area-inset-top)) max(20px,env(safe-area-inset-right)) max(20px,env(safe-area-inset-bottom)) max(20px,env(safe-area-inset-left))}
.wish-overlay *{box-sizing:border-box}.wish-overlay [hidden]{display:none!important}.wish-overlay button{font-family:inherit;cursor:pointer;touch-action:manipulation}.wish-overlay button:focus-visible{outline:3px solid #f9e8b1;outline-offset:4px}.wish-overlay:before{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;background:repeating-conic-gradient(from 0deg at 50% 48%,transparent 0deg 20deg,#89b4bf07 21deg 24deg,transparent 25deg 40deg)}
.wish-frame{position:absolute;inset:10px;border:1px solid #c1a3664d;pointer-events:none;border-radius:4px}.wish-frame:before,.wish-frame:after{content:'✦';position:absolute;left:50%;transform:translateX(-50%);color:#bfb086;font-size:14px;background:#111b2e;padding:0 22px;line-height:14px}.wish-frame:before{top:-8px}.wish-frame:after{bottom:-8px}
.wish-header{z-index:3;display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;max-width:1040px;margin:0 auto;padding:14px 4px 16px;border-bottom:1px solid #a3956d3b;flex-shrink:0}.wish-header small,.wish-collection-title>small{font:9px Georgia,serif;letter-spacing:.2em;color:#b6b29b}.wish-header h2{margin:7px 0 0;font-size:22px;font-weight:600;letter-spacing:.18em;color:#f9e9bf}.wish-tools{display:flex;gap:6px;align-items:center}.wish-tools button{min-height:44px;border:1px solid #bca47755;background:#1423379e;color:#d7d8c7;font-size:12px;border-radius:24px;padding:8px 13px}.wish-tools [data-wish-mute]{font-size:17px;min-width:44px;padding:6px}.wish-tools span{font-size:19px;margin-left:3px}
.wish-theatre{position:relative;flex:1;min-height:0;max-width:1040px;width:100%;margin:auto}.wish-canvas{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.wish-gate{position:absolute;left:50%;top:48%;width:min(68vw,310px,47vh);aspect-ratio:1;transform:translate(-50%,-50%);transition:opacity .4s ease;pointer-events:none;color:#efd8a0}.wish-gate-ring{position:absolute;inset:0;border:1px solid #dac68c6e;border-radius:50%;outline:1px solid #b6dbea40;outline-offset:13px;box-shadow:0 0 65px #87c5eb24,inset 0 0 50px #76b3e42e;animation:wish-orbit 14s linear infinite}.wish-gate-ring:before{content:'';position:absolute;inset:12%;border:1px solid #d3dcb0a0;transform:rotate(45deg);box-shadow:0 0 20px #cfbf8240}.wish-gate-ring:after{content:'✧';font:26px Georgia;position:absolute;top:-19px;left:calc(50% - 11px);text-shadow:0 0 18px #efffc4}.wish-gate-ring.inner{inset:18%;animation-direction:reverse;animation-duration:9s;border-style:dashed;outline:0;box-shadow:none}.wish-gate-ring.inner:before{inset:14%;border-color:#d6bf7470}.wish-sigil{position:absolute;inset:29%;filter:drop-shadow(0 0 13px #eff6cba0);animation:wish-heart 1.7s ease-in-out infinite}.wish-sigil svg{width:100%;height:100%}
.wish-overlay[data-phase=opening] .wish-gate{animation:wish-gate-open .7s ease-in both}.wish-overlay:is([data-phase=reveal],[data-phase=results],[data-phase=complete]) .wish-gate{opacity:0;visibility:hidden}
.wish-feature{height:100%;position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;opacity:0;pointer-events:none}.wish-overlay:is([data-phase=reveal],[data-phase=complete]) .wish-feature{opacity:1;animation:wish-arrive .7s cubic-bezier(.16,.85,.33,1) both}.wish-rarity{color:var(--wish-color);border:1px solid color-mix(in srgb,var(--wish-color) 45%,transparent);border-radius:20px;font-size:12px;letter-spacing:.22em;padding:7px 17px;background:#111e3699;margin-bottom:4px}.wish-rarity:before,.wish-rarity:after{content:'✦';font-size:9px;margin:0 9px}.wish-pet-art{position:relative;display:grid;place-items:center;width:min(75vw,340px,40vh);height:min(75vw,340px,40vh);filter:drop-shadow(0 0 18px color-mix(in srgb,var(--wish-color) 27%,transparent));animation:wish-float 3.8s ease-in-out infinite}.wish-pet-art img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 15px 10px #0004)}.wish-pet-copy{z-index:1;max-width:370px;padding:0 12px}.wish-pet-copy>small{font:9px Georgia;letter-spacing:.26em;color:var(--wish-color)}.wish-pet-copy h3{font-size:clamp(28px,7vw,38px);letter-spacing:.15em;margin:10px 0 8px;color:#fff1d1;text-shadow:0 2px 8px #071222}.wish-bond{display:inline-block;font-size:12px;padding:6px 18px;margin:0;color:var(--wish-color);background:#15283b;border:1px solid #83909b4d;border-radius:4px}.wish-description{font-size:12px;line-height:1.8;letter-spacing:.04em;color:#b1c3d1;margin:12px 0 0}
.wish-footer{position:relative;z-index:3;flex-shrink:0;text-align:center;width:100%;max-width:400px;margin:auto;min-height:100px;display:flex;flex-direction:column;justify-content:center;padding:10px 0 4px}.wish-footer p{font-size:13px;letter-spacing:.1em;line-height:1.6;margin:0 0 13px;color:#deceb0}.wish-footer>small{font-size:10px;letter-spacing:.12em;color:#8096aa}.wish-continue{width:100%;min-height:50px;border:1px solid #f4d89a;border-bottom:3px solid #9a783d;border-radius:6px;background:linear-gradient(#f6e1ae,#cba866);box-shadow:inset 0 0 0 3px #fff2c84d,0 3px 14px #0003;color:#473d2a;font-weight:bold;font-size:14px;letter-spacing:.12em;padding:12px 24px}.wish-continue span{margin-left:12px;color:#826638}
.wish-collection{position:relative;height:100%;overflow-y:auto;overscroll-behavior:contain;padding:16px 5px 24px;scrollbar-width:thin;scrollbar-color:#ac92654d transparent}.wish-collection-title{text-align:center;padding:1px 0 16px}.wish-collection-title h3{font-size:22px;letter-spacing:.12em;margin:9px 0;color:#f5dfaa}.wish-collection-title p{font-size:11px;color:#b5c5cf;margin:8px 0 0}.wish-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;max-width:860px;margin:auto}.wish-card{position:relative;isolation:isolate;margin:0;min-width:0;text-align:center;border:1px solid color-mix(in srgb,var(--card-color) 60%,transparent);border-radius:9px;padding:14px 6px 10px;background:radial-gradient(ellipse at 50% 28%,color-mix(in srgb,var(--card-color) 18%,#142436),#101c30 78%);box-shadow:inset 0 0 0 3px #a4cce309,0 4px 10px #0002;opacity:0;transform:translateY(12px)}.wish-card:after{content:'';position:absolute;inset:4px;border:1px solid #dac7951c;border-radius:5px;pointer-events:none}.wish-card.is-revealed{opacity:1;transform:none;animation:wish-card-arrive .35s ease-out both}.wish-card-tag{position:absolute;top:7px;left:9px;font:8px Georgia,serif;letter-spacing:.14em;color:var(--card-color)}.wish-card-art{width:100%;height:85px;display:grid;place-items:center}.wish-card-art img{width:100%;height:85px;object-fit:contain;filter:drop-shadow(0 5px 4px #060e2270)}.wish-card figcaption{display:flex;flex-direction:column;gap:4px}.wish-card figcaption small{font-size:9px;letter-spacing:.12em;color:var(--card-color)}.wish-card figcaption b{font-size:13px;color:#eee6d7;letter-spacing:.04em}.wish-card figcaption span{font-size:10px;color:#b8c5cf}.wish-art-fallback{color:var(--wish-color);width:50%;aspect-ratio:1}.wish-art-fallback svg{width:100%;height:100%}
.wish-overlay.is-paused *{animation-play-state:paused!important}.wish-overlay[data-reduced=true] *{animation:none!important;transition:none!important}
@keyframes wish-orbit{to{transform:rotate(360deg)}}@keyframes wish-heart{50%{transform:scale(1.12);filter:drop-shadow(0 0 23px #f8f4bac9)}}@keyframes wish-gate-open{0%{transform:translate(-50%,-50%) scale(1)}65%{transform:translate(-50%,-50%) scale(.75);filter:brightness(1.35)}100%{transform:translate(-50%,-50%) scale(1.65);opacity:0}}@keyframes wish-arrive{from{opacity:0;transform:translateY(28px) scale(.86)}to{opacity:1;transform:none}}@keyframes wish-float{50%{transform:translateY(-8px) rotate(1deg)}}@keyframes wish-card-arrive{from{opacity:0;transform:translateY(14px) scale(.92)}to{opacity:1;transform:none}}
@media(min-width:650px){.wish-overlay{padding:28px 40px}.wish-header h2{font-size:25px}.wish-cards{grid-template-columns:repeat(5,minmax(0,1fr));gap:14px}.wish-card{padding:24px 10px 15px}.wish-card-art,.wish-card-art img{height:125px}.wish-collection{display:flex;flex-direction:column;justify-content:center}.wish-cards{width:100%;margin:0 auto}.wish-collection-title{padding-bottom:24px}.wish-collection-title h3{font-size:28px}.wish-card figcaption b{font-size:15px}.wish-card-tag{font-size:10px}}
@media(max-height:670px){.wish-header{padding:5px 0 10px}.wish-header small{font-size:7px}.wish-header h2{font-size:18px;margin-top:4px}.wish-footer{min-height:86px}.wish-pet-art{width:min(57vw,30vh);height:min(57vw,30vh)}.wish-description{display:none}.wish-pet-copy h3{font-size:26px;margin:7px 0}.wish-rarity{font-size:10px;padding:5px 12px}.wish-collection{justify-content:flex-start}.wish-collection-title h3{font-size:19px}.wish-card-art,.wish-card-art img{height:72px}}
@media(prefers-reduced-motion:reduce){.wish-overlay *{animation:none!important;transition:none!important}}
