.rank-celebration-overlay{z-index:15500;pointer-events:none;background:#03081457;place-items:center;padding:16px;animation:.32s ease-out both rank-celebration-backdrop-in;display:grid;position:fixed;inset:0;overflow:hidden}.rank-celebration-overlay[data-phase=outro]{animation:.42s ease-in both rank-celebration-backdrop-out}.rank-celebration-card{color:#f7f9ff;text-align:center;background:radial-gradient(at 50% 0,#426fb157,#0000 52%),linear-gradient(145deg,#0c1932fa,#1b1b3ffa 58%,#301e4ef7);border:1px solid #a4d0ff6b;border-radius:24px;width:calc(100% - 32px);max-width:370px;padding:20px 24px 18px;animation:.48s cubic-bezier(.18,.78,.22,1) both rank-celebration-card-in;position:relative;overflow:hidden;box-shadow:0 24px 80px #00000080,inset 0 1px #ffffff1f,0 0 34px #5baeff2e}.rank-celebration-card:before{content:"";background:linear-gradient(90deg,#0000,#b9e7ffd1,#d7b1ffad,#0000);height:1px;position:absolute;inset:0 14% auto}.rank-celebration-card[data-phase=outro]{animation:.42s ease-in both rank-celebration-card-out}.rank-celebration-card__eyebrow{color:#a9dbff;letter-spacing:.2em;justify-content:center;align-items:center;gap:9px;font-size:10px;font-weight:900;display:flex}.rank-celebration-card__eyebrow svg{color:#ffe39a;width:14px;height:14px}.rank-celebration-card__title{letter-spacing:.07em;text-shadow:0 2px 16px #6fc0ff47;margin:10px 0 0;font-size:clamp(16px,4.5vw,19px);font-weight:950}.rank-celebration-stage{justify-content:center;align-items:center;gap:24px;height:122px;display:flex;position:relative}.rank-celebration-stage__glow{z-index:-1;opacity:.14;background:radial-gradient(#80cfffd9,#916fff33 48%,#0000 72%);border-radius:50%;width:144px;height:100px;transition:opacity .35s,transform .55s;position:absolute;transform:scale(.8)}.rank-celebration-card[data-phase=reveal] .rank-celebration-stage__glow{opacity:.82;animation:.9s ease-out both rank-celebration-glow;transform:scale(1.18)}.rank-celebration-badge{filter:drop-shadow(0 8px 12px #00000061);place-items:center;width:76px;height:76px;display:grid}.rank-celebration-badge--old{transform-origin:50%;animation:.42s cubic-bezier(.18,.8,.3,1) both rank-badge-arrive}.rank-celebration-badge--new{opacity:0;transform:perspective(360px)rotateY(88deg)scale(.62)}.rank-celebration-card[data-phase=transform] .rank-celebration-badge--old{animation:1.18s cubic-bezier(.45,.02,.62,.99) both rank-badge-transform}.rank-celebration-card[data-phase=reveal] .rank-celebration-badge--old,.rank-celebration-card[data-phase=outro] .rank-celebration-badge--old{opacity:0;transform:perspective(360px)rotateY(88deg)scale(.62)}.rank-celebration-card[data-phase=reveal] .rank-celebration-badge--new{animation:.72s cubic-bezier(.16,.88,.25,1.18) both rank-badge-reveal}.rank-celebration-stage__arrow{color:#d5e5ffb3;width:17px;height:17px;animation:.7s ease-in-out 2 alternate rank-arrow-pulse}.rank-celebration-card[data-phase=reveal] .rank-celebration-stage__arrow,.rank-celebration-card[data-phase=outro] .rank-celebration-stage__arrow{opacity:0}.rank-celebration-card__rankline{justify-content:center;align-items:center;gap:10px;min-height:28px;font-size:18px;display:flex}.rank-celebration-card__old-name{color:#dce6f78f;font-size:12px;font-weight:700;transition:opacity .24s}.rank-celebration-card[data-phase=reveal] .rank-celebration-card__old-name,.rank-celebration-card[data-phase=outro] .rank-celebration-card__old-name{opacity:.45}.rank-celebration-card__separator{color:#b1d0ffa3;font-size:14px}.rank-celebration-card__rankline strong{color:#ffe7a7;text-shadow:0 0 18px #ffd2743d;opacity:.24;transition:opacity .42s,transform .42s;transform:translateY(5px)}.rank-celebration-card[data-phase=reveal] .rank-celebration-card__rankline strong,.rank-celebration-card[data-phase=outro] .rank-celebration-card__rankline strong{opacity:1;transform:translateY(0)}.rank-celebration-card__caption{color:#d6e1f6b3;letter-spacing:.035em;opacity:.38;margin:5px 0 0;font-size:11px;transition:opacity .3s .12s}.rank-celebration-card[data-phase=reveal] .rank-celebration-card__caption{opacity:1}.rank-celebration-confetti{position:absolute;inset:0;overflow:hidden}.rank-celebration-confetti__piece{opacity:0;border-radius:2px;width:5px;height:9px;position:absolute;transform:translate(0,0)rotate(0)}.rank-celebration-overlay[data-phase=reveal] .rank-celebration-confetti__piece{animation:rank-confetti-burst 1.9s cubic-bezier(.18,.62,.36,1) var(--confetti-delay) both}.rank-celebration-firework{opacity:0;width:1px;height:1px;position:absolute}.rank-celebration-firework--1{top:calc(50% - 72px);left:calc(50% - 172px)}.rank-celebration-firework--2{top:calc(50% + 56px);left:calc(50% + 171px)}.rank-celebration-firework i{width:4px;height:4px;transform:rotate(var(--firework-angle)) translateX(4px) scale(.4);opacity:0;background:#c4eeff;border-radius:50%;position:absolute;top:0;left:0;box-shadow:0 0 7px #87daffe6}.rank-celebration-overlay[data-phase=reveal] .rank-celebration-firework{animation:.84s ease-out both rank-firework-flash}.rank-celebration-overlay[data-phase=reveal] .rank-celebration-firework--2{animation-delay:.36s}.rank-celebration-overlay[data-phase=reveal] .rank-celebration-firework i{animation:.68s cubic-bezier(.14,.72,.32,1) both rank-firework-particle}.rank-celebration-overlay[data-phase=reveal] .rank-celebration-firework--2 i{animation-delay:.36s}.rank-celebration-stage__spark{opacity:0;background:#fff4bd;border-radius:50%;width:5px;height:5px;position:absolute;box-shadow:0 0 10px 3px #ffe18ead}.rank-celebration-stage__spark--one{top:24px;left:calc(50% - 72px)}.rank-celebration-stage__spark--two{top:36px;right:calc(50% - 75px)}.rank-celebration-stage__spark--three{bottom:19px;left:calc(50% + 31px)}.rank-celebration-card[data-phase=reveal] .rank-celebration-stage__spark{animation:.85s ease-out both rank-spark-pop}.rank-celebration-card[data-phase=reveal] .rank-celebration-stage__spark--two{animation-delay:.12s}.rank-celebration-card[data-phase=reveal] .rank-celebration-stage__spark--three{animation-delay:.22s}@keyframes rank-celebration-backdrop-in{0%{opacity:0}to{opacity:1}}@keyframes rank-celebration-backdrop-out{to{opacity:0}}@keyframes rank-celebration-card-in{0%{opacity:0;transform:translateY(13px)scale(.94)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes rank-celebration-card-out{to{opacity:0;transform:translateY(-7px)scale(.97)}}@keyframes rank-badge-arrive{0%{opacity:0;transform:scale(.65)rotate(-12deg)}to{opacity:1;transform:scale(1)rotate(0)}}@keyframes rank-badge-transform{0%{opacity:1;transform:perspective(360px)rotateY(0)rotate(0)scale(1)}48%{opacity:.92;transform:perspective(360px)rotateY(70deg)rotate(165deg)scale(.84)}to{opacity:0;transform:perspective(360px)rotateY(100deg)rotate(285deg)scale(.54)}}@keyframes rank-badge-reveal{0%{opacity:0;transform:perspective(360px)rotateY(-88deg)scale(.55)}65%{opacity:1;transform:perspective(360px)rotateY(12deg)scale(1.12)}to{opacity:1;transform:perspective(360px)rotateY(0)scale(1)}}@keyframes rank-celebration-glow{0%{filter:brightness(.8);opacity:.18;transform:scale(.72)}55%{filter:brightness(1.35);opacity:.9;transform:scale(1.24)}to{filter:brightness();opacity:.72;transform:scale(1.08)}}@keyframes rank-arrow-pulse{0%{opacity:.4;transform:translate(0)}to{opacity:1;transform:translate(3px)}}@keyframes rank-confetti-burst{0%{opacity:0;transform:translate(0,0)rotate(0)}13%{opacity:.95}to{opacity:0;transform:translate3d(var(--confetti-drift),72px,0) rotate(var(--confetti-spin))}}@keyframes rank-firework-flash{0%{opacity:0;transform:scale(.4)}18%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(1.35)}}@keyframes rank-firework-particle{0%{opacity:0;transform:rotate(var(--firework-angle)) translateX(3px) scale(.4)}22%{opacity:1}to{opacity:0;transform:rotate(var(--firework-angle)) translateX(31px) scale(.2)}}@keyframes rank-spark-pop{0%{opacity:0;transform:scale(.2)}30%{opacity:1;transform:scale(1.25)}to{opacity:0;transform:scale(.5)}}@media (max-width:420px){.rank-celebration-overlay{padding:12px}.rank-celebration-card{border-radius:21px;width:calc(100% - 24px);max-width:340px;padding:18px 17px 16px}.rank-celebration-firework--1{left:calc(50% - 148px)}.rank-celebration-firework--2{left:calc(50% + 147px)}}@media (prefers-reduced-motion:reduce){.rank-celebration-overlay,.rank-celebration-card,.rank-celebration-badge,.rank-celebration-stage__arrow,.rank-celebration-confetti__piece,.rank-celebration-firework,.rank-celebration-firework i,.rank-celebration-stage__spark{transition:none!important;animation:none!important}.rank-celebration-badge--old{opacity:0!important}.rank-celebration-badge--new,.rank-celebration-card__rankline strong{opacity:1!important;transform:none!important}.rank-celebration-stage__glow{opacity:.65}}
