.promo-root{z-index:9999;height:100dvh;padding:max(20px, env(safe-area-inset-top)) max(16px, env(safe-area-inset-right)) max(20px, env(safe-area-inset-bottom)) max(16px, env(safe-area-inset-left));--rank:#e9b949;--rank2:#b07e1a;--rankInk:#3a2c08;justify-content:center;align-items:center;display:flex;position:fixed;inset:0;overflow:hidden}.promo-root.bg-OBSIDIAN{background:radial-gradient(120% 90% at 50% 38%,#2a2418 0%,#14110b 48%,#060504 100%)}.promo-root.bg-MIDNIGHT{background:radial-gradient(120% 90% at 50% 38%,#182036 0%,#0b1020 48%,#04060d 100%)}.promo-root.bg-PARCHMENT{background:radial-gradient(120% 90% at 50% 38%,#efe2c4 0%,#d8c39a 55%,#b89b6a 100%)}.promo-root.bg-PARCHMENT .promo-sub{color:#5a4a2a}.promo-root.bg-PARCHMENT .promo-old{color:#8a7650}.promo-root.exiting{animation:.4s forwards promoFadeOut}.promo-veil{-webkit-backdrop-filter:blur(3px);opacity:0;animation:.35s forwards veilIn;position:absolute;inset:0}.promo-rays{background:repeating-conic-gradient(from 0deg, transparent 0deg 7deg, color-mix(in srgb, var(--rank) 55%, transparent) 7deg 8deg);opacity:0;will-change:transform;width:200vmax;height:200vmax;animation:34s linear infinite promoSpin,1.1s .25s forwards rayFade;position:absolute;top:38%;left:50%;transform:translate(-50%,-50%);-webkit-mask:radial-gradient(circle,#0000 60px,#000 130px,#0000 44%);mask:radial-gradient(circle,#0000 60px,#000 130px,#0000 44%)}.promo-aura{aspect-ratio:1;background:radial-gradient(circle, color-mix(in srgb, var(--rank) 40%, transparent) 0%, transparent 62%);opacity:0;border-radius:50%;width:clamp(220px,78vw,360px);animation:.9s .2s forwards auraIn,4s ease-in-out 1.3s infinite auraBreathe;position:absolute;top:38%;left:50%;transform:translate(-50%,-50%)}.promo-center{text-align:center;flex-direction:column;align-items:center;width:100%;max-width:520px;display:flex;position:relative}.promo-crest{aspect-ratio:1;opacity:0;justify-content:center;align-items:center;width:clamp(110px,34vw,150px);animation:.7s cubic-bezier(.2,1.3,.4,1) .5s forwards crestIn;display:flex;position:relative}.promo-ring{position:absolute;inset:0}.promo-ring circle{stroke:var(--rank);stroke-width:2.5px;fill:none;stroke-dasharray:402;stroke-dashoffset:402px;animation:1s .7s forwards ringDraw}.promo-emblem{aspect-ratio:1;background:linear-gradient(160deg, color-mix(in srgb, var(--rank) 88%, #fff) 0%, var(--rank) 42%, var(--rank2) 100%);width:70%;box-shadow:0 0 34px color-mix(in srgb, var(--rank) 60%, transparent), inset 0 2px 6px #ffffff80;justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.shape-SHIELD{border-radius:24px 24px 30px 30px/24px 24px 46px 46px}.shape-CREST{clip-path:polygon(50% 0,100% 18%,100% 70%,50% 100%,0 70%,0 18%);border-radius:16px}.shape-MEDALLION{border-radius:50%}.promo-emblem .ti{color:var(--rankInk);font-size:clamp(34px,11vw,48px)}.promo-emblem img{-o-object-fit:contain;object-fit:contain;width:78%;height:78%}.promo-shine{opacity:0;background:linear-gradient(105deg,#0000,#ffffffd9,#0000);width:50%;height:100%;animation:1.1s 1.5s promoSweep;position:absolute;top:0;left:-60%;transform:skew(-18deg)}.promo-kicker{letter-spacing:.4em;color:var(--rank);text-transform:uppercase;opacity:0;margin-top:clamp(16px,5vw,24px);font-size:11px;font-weight:500;animation:.6s 1.4s forwards promoFadeUp}.promo-banner{color:var(--rankInk);background:linear-gradient(180deg, color-mix(in srgb, var(--rank) 92%, #fff), var(--rank));clip-path:polygon(0 0,100% 0,calc(100% - 14px) 50%,100% 100%,0 100%,14px 50%);opacity:0;font-family:var(--t-font,inherit);font-weight:var(--t-weight,600);font-style:var(--t-style,normal);text-transform:var(--t-transform,none);letter-spacing:var(--t-ls,.04em);word-break:break-word;max-width:90vw;margin-top:10px;padding:clamp(8px,2.5vw,12px) clamp(26px,8vw,42px);font-size:clamp(18px,6vw,24px);line-height:1.15;animation:.55s cubic-bezier(.2,1.1,.3,1) 1.55s forwards promoUnfurl;position:relative;transform:scaleX(0)}.promo-flow{opacity:0;flex-wrap:wrap;justify-content:center;align-items:center;gap:clamp(10px,3vw,16px);margin-top:clamp(16px,5vw,22px);animation:.6s 1.9s forwards promoFadeUp;display:flex}.promo-old{color:#9a8f78;font-size:clamp(13px,4vw,15px);-webkit-text-decoration:line-through #6b6049;text-decoration:line-through #6b6049}.promo-arrow{color:var(--rank);font-size:20px}.promo-new{color:#fff;text-shadow:0 0 18px color-mix(in srgb, var(--rank) 70%, transparent);font-size:clamp(20px,7vw,28px);font-weight:500;font-family:var(--t-font,inherit)}.promo-root.bg-PARCHMENT .promo-new{color:#3a2c08;text-shadow:none}.promo-xp{font-variant-numeric:tabular-nums;color:#cdbf9e;letter-spacing:.06em;opacity:0;margin-top:14px;font-size:13px;animation:.6s 2.15s forwards promoFadeUp}.promo-xp b{color:var(--rank);font-weight:500}.promo-cta{border:1.5px solid var(--rank);min-height:46px;color:var(--rank);cursor:pointer;opacity:0;-webkit-tap-highlight-color:transparent;background:0 0;border-radius:10px;margin-top:clamp(20px,6vw,28px);padding:12px 30px;font-size:15px;font-weight:500;animation:.6s 2.5s forwards promoFadeUp}.promo-cta:active{transform:scale(.97)}.promo-ember{background:var(--rank);opacity:0;width:5px;height:5px;animation:promoRise var(--d,5s) linear var(--dl,0s) infinite;border-radius:50%;position:absolute;bottom:-14px}.particle-SNOW .promo-ember{background:#fff}.particle-SPARKS .promo-ember{border-radius:2px;width:3px;height:8px}.particle-GOLD_DUST .promo-ember{width:4px;height:4px}.preset-HERALDIC .promo-rays{animation:none;opacity:0!important}.preset-HERALDIC .promo-crest{animation-duration:.5s;animation-delay:.3s}.preset-HERALDIC .promo-ring circle{animation-duration:.7s;animation-delay:.45s}.preset-HERALDIC .promo-shine{animation-delay:1s}.preset-HERALDIC .promo-kicker{animation-delay:.9s}.preset-HERALDIC .promo-banner{animation-delay:1.05s}.preset-HERALDIC .promo-flow{animation-delay:1.25s}.preset-HERALDIC .promo-xp{animation-delay:1.45s}.preset-HERALDIC .promo-cta{animation-delay:1.65s}.preset-HERALDIC .promo-ember:nth-child(n+4){display:none}.preset-EPIC .promo-center{animation:.5s 1.15s epicShake}.preset-EPIC .promo-crest{animation:.8s cubic-bezier(.2,1.5,.3,1) .6s forwards crestSlam}.preset-EPIC .promo-aura{animation:1.1s .5s forwards auraBurst,4s ease-in-out 1.6s infinite auraBreathe}.preset-EPIC .promo-banner{animation-delay:1.9s}.preset-EPIC .promo-flow{animation-delay:2.3s}.preset-EPIC .promo-xp{animation-delay:2.6s}.preset-EPIC .promo-cta{animation-delay:2.95s}@keyframes promoSpin{to{transform:translate(-50%,-50%)rotate(360deg)}}@keyframes rayFade{to{opacity:.5}}@keyframes veilIn{to{opacity:1}}@keyframes auraIn{to{opacity:1}}@keyframes auraBurst{0%{opacity:0;transform:translate(-50%,-50%)scale(.3)}55%{opacity:1;transform:translate(-50%,-50%)scale(1.25)}to{opacity:1;transform:translate(-50%,-50%)scale(1)}}@keyframes auraBreathe{0%,to{transform:translate(-50%,-50%)scale(1)}50%{transform:translate(-50%,-50%)scale(1.08)}}@keyframes crestIn{0%{opacity:0;transform:translateY(-28px)scale(.6)}70%{opacity:1}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes crestSlam{0%{opacity:0;transform:translateY(-120px)scale(1.5)}60%{opacity:1;transform:translateY(0)scale(.9)}80%{transform:scale(1.08)}to{opacity:1;transform:scale(1)}}@keyframes ringDraw{to{stroke-dashoffset:0}}@keyframes promoSweep{0%{opacity:1;left:-60%}to{opacity:1;left:120%}}@keyframes promoUnfurl{to{opacity:1;transform:scaleX(1)}}@keyframes promoFadeUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes promoRise{0%{opacity:0;transform:translateY(0)}12%{opacity:.9}to{opacity:0;transform:translateY(-46vh) translateX(var(--x,0))}}@keyframes epicShake{0%,to{transform:translate(0)}20%{transform:translate(-6px,3px)}40%{transform:translate(6px,-2px)}60%{transform:translate(-4px,2px)}80%{transform:translate(3px,-1px)}}@keyframes promoFadeOut{to{opacity:0}}@media (prefers-reduced-motion:reduce){.promo-root *{animation-duration:.01ms!important;animation-iteration-count:1!important}.promo-rays,.promo-ember,.promo-shine{display:none!important}}@media (width<=360px){.promo-ember:nth-child(n+4){display:none}.promo-rays{background:repeating-conic-gradient(from 0deg, transparent 0deg 9deg, color-mix(in srgb, var(--rank) 50%, transparent) 9deg 10deg)}}
