.dp-celebration-banner{--celebration-ink:var(--dp-accent-base);animation:dp-celebration-banner-in .42s cubic-bezier(.2,.8,.2,1) both;will-change:transform,opacity}.dp-celebration-banner[data-leaving=true]{animation:dp-celebration-banner-out .22s cubic-bezier(.4,0,1,1) both}.dp-celebration-banner-card{position:relative;overflow:hidden;border-color:var(--celebration-ink);box-shadow:var(--dp-elevation-3),0 0 0 1px color-mix(in srgb,var(--celebration-ink) 35%,transparent),0 8px 32px -8px color-mix(in srgb,var(--celebration-ink) 55%,transparent)}.dp-celebration-banner-card:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(105deg,transparent 30%,color-mix(in srgb,var(--dp-text-on-media) 22%,transparent) 50%,transparent 70%);transform:translateX(-120%);animation:dp-celebration-sweep 1.1s cubic-bezier(.4,0,.2,1) .26s forwards}.dp-celebration-medal{position:relative;background:var(--celebration-ink);box-shadow:0 0 0 0 color-mix(in srgb,var(--celebration-ink) 55%,transparent);animation:dp-celebration-halo .9s ease-out .2s both}.dp-celebration-dialog{--celebration-ink:var(--dp-accent-base)}.dp-celebration-dialog::backdrop{background:var(--dp-surface-scrim)}.dp-celebration-stage{animation:dp-celebration-fade-in .26s ease-out both}.dp-celebration-burst{position:absolute;inset:0;border-radius:50%;pointer-events:none;background:radial-gradient(circle,color-mix(in srgb,var(--celebration-ink) 55%,transparent) 0,color-mix(in srgb,var(--celebration-ink) 18%,transparent) 38%,transparent 68%),repeating-conic-gradient(from 0deg,color-mix(in srgb,var(--celebration-ink) 42%,transparent) 0deg 5deg,transparent 5deg 22.5deg);-webkit-mask-image:radial-gradient(circle,#000 0,rgba(0,0,0,.7) 45%,transparent 72%);mask-image:radial-gradient(circle,#000 0,rgba(0,0,0,.7) 45%,transparent 72%);animation:dp-celebration-spin 9s linear infinite;will-change:transform}.dp-celebration-medal-lg{position:relative;background:var(--celebration-ink);border:3px solid var(--dp-text-on-media);box-shadow:var(--dp-elevation-4),0 0 48px -8px color-mix(in srgb,var(--celebration-ink) 80%,transparent);animation:dp-celebration-pop .64s cubic-bezier(.34,1.56,.64,1) .14s both}.dp-celebration-medal-lg:after{content:"";position:absolute;inset:-3px;border-radius:inherit;border:2px solid var(--dp-text-on-media);opacity:0;animation:dp-celebration-ring .9s ease-out .52s both}.dp-celebration-copy>*{animation:dp-celebration-rise .42s cubic-bezier(.2,.8,.2,1) both}.dp-celebration-copy>:first-child{animation-delay:.38s}.dp-celebration-copy>:nth-child(2){animation-delay:.46s}.dp-celebration-copy>:nth-child(3){animation-delay:.54s}.dp-celebration-actions{animation:dp-celebration-rise .42s cubic-bezier(.2,.8,.2,1) .68s both}@keyframes dp-celebration-banner-in{0%{opacity:0;transform:translateY(-24px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes dp-celebration-banner-out{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-16px)}}@keyframes dp-celebration-sweep{to{transform:translateX(120%)}}@keyframes dp-celebration-halo{0%{box-shadow:0 0 0 0 color-mix(in srgb,var(--celebration-ink) 55%,transparent)}to{box-shadow:0 0 0 14px color-mix(in srgb,var(--celebration-ink) 0%,transparent)}}@keyframes dp-celebration-fade-in{0%{opacity:0}to{opacity:1}}@keyframes dp-celebration-spin{to{transform:rotate(22.5deg)}}@keyframes dp-celebration-pop{0%{opacity:0;transform:scale(.55)}to{opacity:1;transform:scale(1)}}@keyframes dp-celebration-ring{0%{opacity:.9;transform:scale(1)}to{opacity:0;transform:scale(1.7)}}@keyframes dp-celebration-rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.dp-celebration-actions,.dp-celebration-banner,.dp-celebration-banner[data-leaving=true],.dp-celebration-copy>*,.dp-celebration-medal-lg,.dp-celebration-stage{animation:dp-celebration-fade-in .15s ease-out both}.dp-celebration-banner[data-leaving=true]{animation-direction:reverse}.dp-celebration-banner-card:after,.dp-celebration-burst,.dp-celebration-medal,.dp-celebration-medal-lg:after{animation:none}}