[data-rank=trainee]{--rank-1:251 146 60;--rank-2:194 65 12;--rank-3:253 186 116;--rank-grad:linear-gradient(100deg, #c2410c, #fb923c, #c2410c);--rank-size:100% 100%}[data-rank=contributor]{--rank-1:148 163 184;--rank-2:100 116 139;--rank-3:226 232 240;--rank-grad:linear-gradient(100deg, #94a3b8, #f1f5f9, #94a3b8);--rank-size:100% 100%}[data-rank=supporter]{--rank-1:251 191 36;--rank-2:217 119 6;--rank-3:253 230 138;--rank-grad:linear-gradient(100deg, #f59e0b, #fde047, #f59e0b);--rank-size:100% 100%}[data-rank=honorary]{--rank-1:56 189 248;--rank-2:168 85 247;--rank-3:165 243 252;--rank-grad:linear-gradient(100deg, #38bdf8, #a5f3fc, #c4b5fd, #f0abfc, #a5f3fc, #38bdf8);--rank-size:300% 100%}html:not(.dark) [data-rank=trainee]{--rank-1:234 88 12;--rank-2:154 52 18;--rank-grad:linear-gradient(100deg, #9a3412, #ea580c, #9a3412)}html:not(.dark) [data-rank=contributor]{--rank-1:100 116 139;--rank-2:51 65 85;--rank-grad:linear-gradient(100deg, #334155, #64748b, #334155)}html:not(.dark) [data-rank=supporter]{--rank-1:217 119 6;--rank-2:146 64 14;--rank-grad:linear-gradient(100deg, #92400e, #d97706, #92400e)}html:not(.dark) [data-rank=honorary]{--rank-1:2 132 199;--rank-2:147 51 234;--rank-grad:linear-gradient(100deg, #0369a1, #0ea5e9, #7c3aed, #c026d3, #0ea5e9, #0369a1)}.rank-name{background:radial-gradient(circle at center, #ffffffd9 0%, transparent 50%) -200% 50% / 200% 100% no-repeat, var(--rank-grad,linear-gradient(100deg, currentColor, currentColor)) 0 50% / var(--rank-size,100% 100%) repeat-x;color:#0000;-webkit-background-clip:text;background-clip:text;font-weight:900;display:inline-block}.rank-name--inline{text-overflow:ellipsis;white-space:nowrap;vertical-align:bottom;max-width:100%;padding-bottom:.08em;overflow:hidden}[data-fx=quality] .rank-name.is-sweeping[data-rank=contributor],[data-fx=quality] .rank-name.is-sweeping[data-rank=supporter]{animation:1.8s steps(36,end) rank-sheen}[data-fx=quality] .rank-name.is-sweeping[data-rank=honorary]{animation:3.4s steps(85,end) rank-prism}@keyframes rank-sheen{0%{background-position:-200%,0}to{background-position:200%,0}}@keyframes rank-prism{to{background-position-x:-200%,150%}}.rank-scope{isolation:isolate}.rank-scope .avatar-glow{background:linear-gradient(135deg, rgb(var(--rank-1,var(--a-500))), rgb(var(--rank-2,var(--b-500))))}[data-fx=quality] .rank-scope[data-rank=supporter] .avatar-ring,[data-fx=quality] .rank-scope[data-rank=honorary] .avatar-ring{opacity:.8}[data-fx=quality] .rank-scope[data-rank=supporter] .avatar-ring:before,[data-fx=quality] .rank-scope[data-rank=honorary] .avatar-ring:before{animation:8s linear infinite ring-rotate}.rank-badge{border:1px solid rgb(var(--rank-1) / .35);background:linear-gradient(135deg, rgb(var(--rank-1) / .14), rgb(var(--rank-2) / .06));box-shadow:0 0 0 1px rgb(var(--rank-1) / .06), 0 8px 22px -12px rgb(var(--rank-1) / .5);cursor:pointer;transition:transform .35s var(--ease-spring), box-shadow .3s ease;border-radius:999px;align-items:center;gap:.45rem;padding:.3rem .95rem .3rem .55rem;display:inline-flex;position:relative}.rank-badge:hover{box-shadow:0 0 0 1px rgb(var(--rank-1) / .15), 0 14px 30px -12px rgb(var(--rank-1) / .65);transform:translateY(-2px)scale(1.04)}.rank-badge:active{transform:scale(.97)}.rank-badge .rank-icon{color:rgb(var(--rank-1));font-size:22px}.rank-badge .rank-name{text-transform:uppercase;letter-spacing:.07em;font-size:1.1rem}.rank-twinkles{pointer-events:none;position:absolute;top:-8px;bottom:-8px;left:-8px;right:-8px}.twinkle,.sparkle--star{clip-path:polygon(50% 0,62% 38%,100% 50%,62% 62%,50% 100%,38% 62%,0 50%,38% 38%)}.twinkle{animation:1.2s ease-out forwards twinkle;position:absolute;transform:translate(-50%,-50%)scale(0)}@keyframes twinkle{0%{opacity:0;transform:translate(-50%,-50%)scale(0)rotate(0)}35%{opacity:1;transform:translate(-50%,-50%)scale(1)rotate(45deg)}to{opacity:0;transform:translate(-50%,-62%)scale(0)rotate(90deg)}}.sparkle{pointer-events:none;z-index:100;background:#fff;border-radius:50%;animation:.8s ease-out forwards sparkle-anim;position:absolute}.sparkle--star{border-radius:0}[data-fx=quality] .rank-badge[data-rank=contributor]:after{content:"";border-radius:inherit;pointer-events:none;background:linear-gradient(110deg,#0000 35%,#ffffff59 50%,#0000 65%) -150% 0/250% 100% no-repeat;position:absolute;top:0;bottom:0;left:0;right:0}[data-fx=quality] .rank-badge.is-sweeping[data-rank=contributor]:after{animation:2s steps(50,end) badge-glint}[data-fx=quality] .rank-badge[data-rank=honorary] .rank-ring:before{animation:5s linear infinite ring-rotate}[data-fx=quality] .rank-badge[data-rank=supporter] .rank-icon,[data-fx=quality] .rank-badge[data-rank=honorary] .rank-icon{filter:drop-shadow(0 0 6px rgb(var(--rank-1) / .6));animation:3.2s ease-in-out infinite rank-float}@keyframes badge-glint{0%{background-position:-150% 0}to{background-position:150% 0}}@keyframes rank-float{0%,to{transform:translateY(0)rotate(0)}50%{transform:translateY(-2px)rotate(8deg)}}.rank-progress{max-width:20rem;margin-top:.8rem}.rank-progress__bar{background:rgb(var(--muted) / .2);border-radius:999px;height:6px;overflow:hidden}.rank-progress__fill{border-radius:inherit;background:linear-gradient(90deg, rgb(var(--rank-2)), rgb(var(--rank-1)), rgb(var(--rank-3)));transform-origin:0;height:100%;animation:progress-grow 1.1s var(--ease-out) both;display:block;position:relative}[data-fx=quality] .rank-progress__fill:after{content:"";background:linear-gradient(100deg,#0000 0%,#ffffff8c 50%,#0000 100%);width:60%;animation:2.8s ease-in-out 1.2s infinite progress-shimmer;position:absolute;top:0;bottom:0;left:0;transform:translate(-100%)}@keyframes progress-grow{0%{transform:scaleX(0)}}@keyframes progress-shimmer{0%{transform:translate(-100%)}60%,to{transform:translate(170%)}}.rank-progress__label{color:rgb(var(--muted));margin-top:.4rem;font-size:.75rem}.rank-progress__label strong{color:rgb(var(--ink))}[data-fx=quality] .rank-name--inline.is-sweeping[data-rank=honorary]{animation:3.4s steps(85,end) rank-prism}
