/* Standalone rank congratulations: independent of older bundled stylesheet versions. */
.rank-celebration-veil[hidden]{display:none!important}
.rank-celebration-veil{position:fixed;inset:0;z-index:20000;display:flex;align-items:center;justify-content:center;padding:16px;box-sizing:border-box;overflow:auto;overscroll-behavior:contain;background:radial-gradient(ellipse at center,#48503be0,#071712f5);isolation:isolate}
.rank-celebration-veil .rank-celebration-card{position:relative;box-sizing:border-box;width:520px;max-width:100%;max-height:calc(100dvh - 32px);overflow:auto;border:2px solid #d5b76e;border-radius:20px;background:radial-gradient(ellipse at top,#fff1c7,#fff9ed 55%);color:#29443b;text-align:center;box-shadow:0 20px 80px #0008,0 0 40px #dfbc6440;overscroll-behavior:contain;line-height:1.6}
.rank-celebration-veil .rank-celebration-card>*{box-sizing:border-box;max-width:100%}
.rank-celebration-veil .rank-celebration-close{position:sticky;top:0;z-index:3;cursor:pointer}
.rank-celebration-veil .rank-celebration-seal{display:grid;place-items:center;margin:0 auto 8px;width:54px;height:54px;border:1px solid #b68a38;border-radius:50%;background:linear-gradient(135deg,#fff1bd,#d6af5a);color:#72521d;font-size:27px;font-family:serif;box-shadow:0 0 24px #deba6555}
.rank-celebration-veil .rank-celebration-eyebrow{font-size:10px;letter-spacing:.15em;color:#8e6a2b;margin:8px 0}
.rank-celebration-veil .rank-celebration-heading{font-size:clamp(21px,5vw,30px);line-height:1.4;color:#29443b;margin:8px 0;font-family:serif;font-weight:700;overflow-wrap:anywhere}
.rank-celebration-veil .rank-celebration-congrats{font-size:16px;color:#99662b;margin:6px 0}
.rank-celebration-veil .rank-celebration-milestone{font-size:14px;color:#526148;margin:8px 0}
.rank-celebration-veil .rank-celebration-art-frame{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:14px;margin:10px auto;max-width:100%;height:auto;aspect-ratio:auto;background:radial-gradient(ellipse,#ead08b66,transparent 70%)}
.rank-celebration-veil .rank-celebration-art{object-fit:contain;filter:drop-shadow(0 9px 10px #42351330)}
.rank-celebration-veil .rank-celebration-ribbon{position:static;display:inline-block;background:linear-gradient(120deg,#ebce88,#c39845);color:#3d3019;font-size:12px;line-height:1.7;border-radius:3px;padding:3px 16px;transform:none}
.rank-celebration-veil .rank-celebration-title{font-weight:700;font-size:18px;line-height:1.6;overflow-wrap:anywhere;color:#29443b;margin:8px 0}
.rank-celebration-veil .rank-celebration-note{font-size:12px;color:#64715a;line-height:1.7;margin:8px 0}
.rank-celebration-veil .rank-celebration-next{display:block;box-sizing:border-box;width:100%;min-height:48px;padding:12px 16px;margin:14px 0 0;border:1px solid #a38b52;border-radius:9px;background:linear-gradient(120deg,#3f624f,#203e31);color:#fff6df;font:inherit;font-size:14px;font-weight:600;white-space:normal;cursor:pointer;line-height:1.6}
.rank-celebration-veil .rank-celebration-next:disabled{opacity:.6;cursor:wait}
.rank-celebration-veil button:focus-visible{outline:3px solid #aa7832;outline-offset:3px}
.rank-celebration-veil .rank-celebration-sparks{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:-1}
.rank-celebration-veil .rank-celebration-confetti{position:absolute;left:var(--x);top:-10%;width:7px;height:15px;background:#eacd80;opacity:.8;animation:iroha-rank-confetti-fall 4s linear infinite;animation-delay:var(--delay)}
.rank-celebration-veil .rank-celebration-confetti:nth-child(3n){background:#fff3c6;width:5px;height:5px;border-radius:50%}
.rank-celebration-veil .rank-celebration-card.is-entering{animation:iroha-rank-card-enter .65s cubic-bezier(.2,.8,.2,1) both}
@keyframes iroha-rank-confetti-fall{from{transform:translateY(-5vh) rotate(0)}to{transform:translateY(115vh) rotate(var(--spin))}}
@keyframes iroha-rank-card-enter{from{opacity:0;transform:translateY(22px) scale(.95)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.rank-celebration-veil .rank-celebration-card.is-entering,.rank-celebration-veil .rank-celebration-confetti{animation:none}.rank-celebration-veil .rank-celebration-sparks{display:none}}
