html:has(#award-celebration[open]){overflow:hidden}
#award-celebration{position:fixed;inset:0;width:100%;max-width:none;height:100%;height:100dvh;max-height:none;margin:0;padding:0;border:0;border-radius:0;background:var(--bg,#f5f6f0);color:var(--ink,#052746);overflow:auto;overscroll-behavior:contain}
#award-celebration::backdrop{background:#052746b3;backdrop-filter:blur(8px)}
.celebration-card{position:relative;isolation:isolate;display:flex;flex-direction:column;align-items:center;text-align:center;box-sizing:border-box;min-height:100%;max-width:680px;margin:auto;padding:max(30px,env(safe-area-inset-top)) 24px max(20px,env(safe-area-inset-bottom));background:radial-gradient(ellipse at 50% 35%,#cafa0524,transparent 52%)}
.celebration-card:before{content:"";position:absolute;inset:16px 12px;border:1px solid #a0ad8e35;border-radius:36px;pointer-events:none;z-index:-1}
.celebration-close{position:absolute;right:24px;top:max(24px,env(safe-area-inset-top));width:44px;height:44px;border-radius:50%;background:var(--surface,#fff);z-index:2;display:grid;place-items:center}
.celebration-eyebrow{font-size:11px;font-weight:750;letter-spacing:.2em;text-transform:uppercase;margin:34px 30px 8px;line-height:1.6}
.celebration-art{position:relative;width:min(100%,390px);flex:1;min-height:180px;display:grid;place-items:center}
.celebration-art img{display:block;width:100%;max-height:42dvh;object-fit:contain;filter:drop-shadow(0 18px 20px #05274616)}
.celebration-spark{position:absolute;color:#aacd00;font-size:34px}.spark-one{left:8%;top:24%}.spark-two{right:9%;bottom:19%;font-size:24px}
.celebration-copy{width:100%;max-width:480px}.celebration-copy h1{font-size:clamp(30px,7.6vw,46px);line-height:1.08;letter-spacing:-.045em;margin:8px 0 16px;overflow-wrap:anywhere}.celebration-copy>p{font-size:17px;line-height:1.5;margin:0 auto 12px;max-width:420px}.celebration-copy .celebration-condition{font-size:13px;opacity:.72;margin:12px auto}.celebration-rarity{font-size:11px;letter-spacing:.12em;text-transform:uppercase;font-weight:700;color:var(--muted,#64736c)}
.celebration-copy .celebration-gift{font-size:12px;opacity:.85;margin-top:15px}.celebration-gift strong{display:block;font-size:19px;margin-top:4px}
.celebration-footer{width:100%;max-width:420px;margin-top:16px;display:grid;gap:14px;justify-items:center}.celebration-seal{padding:11px 20px;background:#e9fbb2;color:#052746;border:1px solid #cafa0570;border-radius:999px;font-size:11px;letter-spacing:.13em;font-weight:750;text-transform:uppercase}.celebration-next{width:100%;min-height:50px;display:flex;align-items:center;justify-content:center;gap:10px}.celebration-count{font-size:12px;opacity:.65;min-height:18px}
.award-open{border:0;padding:0;background:none;color:inherit;width:100%;cursor:pointer;display:block}.award-open:focus-visible{outline:3px solid #a4ca00;border-radius:20px;outline-offset:3px}
[data-theme=dark] .celebration-card{background:radial-gradient(ellipse at 50% 35%,#cafa0518,transparent 55%)}
@media(min-width:700px){.celebration-card{padding-top:36px;padding-bottom:30px}.celebration-art img{max-height:46dvh}.celebration-eyebrow{margin-top:18px}}
@media(max-height:650px){.celebration-eyebrow{margin-top:24px}.celebration-art{min-height:130px}.celebration-art img{max-height:24dvh}.celebration-copy h1{font-size:26px;margin-bottom:10px}.celebration-copy>p{font-size:13px}.celebration-footer{gap:9px;margin-top:10px}}
@media(prefers-reduced-motion:reduce){#award-celebration *,#award-celebration *:before{animation:none!important;transition:none!important}}

.award-card>.award-open{flex:0 0 72px;width:72px;min-width:0;padding:0;align-self:flex-start}
.award-card>.award-open .achievement-art{width:100%;height:auto;aspect-ratio:1}
@media(max-width:480px){.award-card>.award-open{flex-basis:56px;width:56px}}

.celebration-art picture{display:block;width:100%}
