/* Floating lobby-level tile: progress follows the player's real saved XP. */
#menu .lobby-level-widget{position:fixed;left:clamp(18px,3vw,54px);bottom:clamp(145px,17vh,188px);top:auto;transform:none;z-index:4;width:142px;height:142px;pointer-events:auto;background:linear-gradient(145deg,#142f4845,#0d243a38);border:1px solid #c4edff3d;border-radius:19px;box-shadow:0 8px 28px #06172620,inset 0 1px rgba(220,246,255,.08);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}
#menu #lobbyXPBar{position:relative;display:grid;place-items:center;width:100%;height:100%;overflow:visible;border:0;border-radius:50%;background:transparent;box-shadow:none;font-variant-numeric:tabular-nums}
#menu #lobbyXPBar::before{display:none}
#menu .lobby-level-ring{position:absolute;inset:4px;width:calc(100% - 8px);height:calc(100% - 8px);overflow:visible;transform:rotate(-90deg);pointer-events:none}
#menu .lobby-level-track,#menu .lobby-level-progress{fill:none;stroke-width:10}
#menu .lobby-level-track{stroke:#38465f}
#menu .lobby-level-progress{stroke:#f8fbff;stroke-linecap:round;transition:stroke-dashoffset .5s ease-out}
#menu .lobby-level-center{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1;min-width:0;color:#fff;text-shadow:0 2px 6px #001124}
#menu .lobby-level-center span{font-size:22px;font-weight:950;letter-spacing:-.6px;color:#aebeda}
#menu .lobby-level-center strong{display:block;margin-top:2px;font-family:'Arial Black',Arial,system-ui,sans-serif;font-size:clamp(30px,3vw,39px);line-height:1;font-weight:1000;letter-spacing:-1.4px;color:#fff;max-width:108px;overflow:hidden;text-overflow:clip;white-space:nowrap}
@media(min-width:761px){#menu .lobby-loadout{bottom:200px}}
#xpSplash{position:fixed;left:calc(50% + 38px);top:calc(50% - 8px);width:min(205px,calc(50vw - 50px));z-index:12;pointer-events:none;opacity:0;transform:translateY(-50%);text-shadow:0 2px 5px #061724,0 0 15px #061724;transition:opacity .2s}
#xpAmount{--damage-glow:#ffffff66;display:block;font-size:clamp(14px,1.6vw,18px);font-weight:950;letter-spacing:-.3px;line-height:1.1;color:#fff;font-variant-numeric:tabular-nums;white-space:nowrap;transform-origin:left center;-webkit-text-stroke:.7px #05090d;paint-order:stroke fill}
#xpReason{display:block;margin-top:4px;font-size:7px;font-weight:800;letter-spacing:.6px;color:#fff;line-height:1.4}
#xpSplash.show{opacity:1}
#xpSplash.show #xpAmount{animation:damage-body-pop .42s cubic-bezier(.18,.75,.28,1) both}
#levelUpSplash{position:absolute;left:50%;top:25%;transform:translate(-50%,-50%);z-index:13;display:grid;gap:6px;justify-items:center;padding:16px 38px;min-width:230px;max-width:90vw;border:1px solid #e2ffb67a;border-radius:10px;background:linear-gradient(120deg,#122b38ef,#234c48ef);box-shadow:0 0 35px #bbffc326;pointer-events:none;opacity:0;transition:opacity .2s;text-align:center}
#levelUpSplash>span{font-size:9px;font-weight:900;letter-spacing:4px;color:#d9ffa2}
#levelUpNumber{font-size:34px;line-height:1.05;font-weight:950;font-style:italic;color:#efffe5;text-shadow:0 0 22px #9bffbf55}
#levelUpDetail{font-size:8px;letter-spacing:1px;color:#c4e8dd}
#levelUpSplash.show{opacity:1;animation:xp-level-entry .5s cubic-bezier(.16,.8,.3,1) both}
@keyframes xp-level-entry{from{transform:translate(-50%,calc(-50% + 12px)) scale(.93);opacity:0}to{transform:translate(-50%,-50%) scale(1);opacity:1}}
@media(max-width:760px){#menu .lobby-level-widget{width:110px;height:110px;top:auto;bottom:calc(132px + env(safe-area-inset-bottom));left:12px;border-radius:15px}#menu .lobby-level-center span{font-size:16px}#menu .lobby-level-center strong{font-size:28px;letter-spacing:-1px;max-width:85px}#xpSplash{left:calc(50% + 27px);width:calc(50vw - 37px)}#xpReason{font-size:7px;letter-spacing:.3px}}
@media(max-height:590px) and (orientation:landscape){#menu .lobby-level-widget{width:98px;height:98px;top:auto;bottom:76px;border-radius:13px}#menu .lobby-level-center span{font-size:15px}#menu .lobby-level-center strong{font-size:25px}#levelUpSplash{top:24%;padding:10px 24px;gap:4px}#levelUpNumber{font-size:26px}}
@media(prefers-reduced-motion:reduce){#xpSplash.show #xpAmount,#levelUpSplash.show{animation:none}#xpSplash,#levelUpSplash,#lobbyXPFill{transition:none}}

/* Lobby progress previews: original widget dimensions, seamlessly blending slide-out panels. */
#menu .lobby-level-widget{width:142px;height:142px;border-radius:19px;background:linear-gradient(145deg,#143f695e,#142f5352);border-color:#a4ddff43;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
#menu .lobby-level-center span{font-size:22px}
#menu .lobby-level-center strong{font-size:clamp(30px,3vw,39px);max-width:108px}
#menu .lobby-progress-tile{--lobby-panel-width:min(362px,calc(100vw - 200px));--lobby-panel-surface:linear-gradient(110deg,#255f91d9,#183f70d9 50%,#12294fde);--lobby-panel-border:#acdfff85;overflow:visible;cursor:help;outline-offset:3px;transition:border-color .2s,box-shadow .2s,transform .24s}
#menu .lobby-progress-tile::before{content:"";position:absolute;left:0;top:0;box-sizing:border-box;width:calc(100% + var(--lobby-panel-width) - 16px);height:100%;z-index:-1;border:1px solid var(--lobby-panel-border);border-radius:19px;background:var(--lobby-panel-surface);box-shadow:0 15px 35px #051b366e,inset 0 1px #ffffff18;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);pointer-events:none;opacity:0;transform:scaleX(.65);transform-origin:left center;transition:opacity .18s,transform .4s cubic-bezier(.16,.9,.22,1)}
#menu .lobby-progress-tile:is(:hover,:focus-visible,:focus-within){z-index:60;border-color:transparent;box-shadow:none;background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none;transform:translateX(2px)}
#menu .lobby-progress-tile:is(:hover,:focus-visible,:focus-within)::before{opacity:1;transform:scaleX(1)}
#menu .lobby-progress-tile:focus-visible{outline:2px solid #b1eaff}
#menu .lobby-progress-flyout{position:absolute;box-sizing:border-box;left:calc(100% - 16px);top:50%;width:var(--lobby-panel-width);min-height:128px;padding:17px 22px 16px 29px;display:flex;flex-direction:column;justify-content:center;gap:8px;z-index:1;border:0;border-radius:0 18px 18px 0;background:transparent;color:#f7fbff;text-align:left;box-shadow:none;visibility:hidden;opacity:0;pointer-events:none;transform:translate(-18px,-50%) scale(.94);transform-origin:left center;transition:opacity .18s ease,transform .38s cubic-bezier(.16,.9,.22,1),visibility 0s linear .38s}
#menu .lobby-progress-tile:is(:hover,:focus-visible,:focus-within) .lobby-progress-flyout{visibility:visible;opacity:1;pointer-events:auto;transform:translate(0,-50%) scale(1);border:0;background:transparent;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none;transition:opacity .24s ease,transform .38s cubic-bezier(.16,.9,.22,1),visibility 0s}
#menu .lobby-progress-flyout-heading{display:flex;align-items:baseline;justify-content:space-between;gap:12px;font:900 10px/1.2 system-ui,Arial,sans-serif;letter-spacing:1.4px;color:#a7d9ff}
#menu .lobby-progress-flyout-heading strong{font:950 14px/1 system-ui,Arial,sans-serif;color:#effcff;letter-spacing:.3px}
#menu .lobby-progress-next{font:950 17px/1.15 system-ui,Arial,sans-serif;letter-spacing:.3px;color:#fff;text-shadow:0 0 12px #97c9ff40}
#menu .lobby-progress-track{width:100%;height:9px;border:1px solid #d7f9ff35;border-radius:999px;overflow:hidden;background:#08192eaf;box-shadow:inset 0 1px 5px #061326bb}
#menu .lobby-progress-track>span{display:block;height:100%;width:0%;border-radius:inherit;background:linear-gradient(90deg,#47bdff,#b9f1ff,#fff);box-shadow:0 0 13px #82edff70;transform:scaleX(.26);transform-origin:left center;transition:width .35s,transform .7s cubic-bezier(.15,.8,.22,1)}
#menu .lobby-progress-tile:is(:hover,:focus-visible,:focus-within) .lobby-progress-track>span{transform:scaleX(1)}
#menu .lobby-progress-count{font:900 12px/1.15 system-ui,Arial,sans-serif;color:#eaf8ff;letter-spacing:.3px}
#menu .lobby-progress-caption{font:750 10px/1.2 system-ui,Arial,sans-serif;color:#9cc8e9;letter-spacing:.2px}
@media(max-width:760px){#menu .lobby-level-widget{width:110px;height:110px;border-radius:15px}#menu .lobby-progress-tile{--lobby-panel-width:min(268px,calc(100vw - 142px))}#menu .lobby-progress-tile::before{border-radius:15px}#menu .lobby-level-center span{font-size:16px}#menu .lobby-level-center strong{font-size:28px;max-width:85px}#menu .lobby-progress-flyout{min-height:105px;padding:11px 12px 11px 23px;gap:6px}#menu .lobby-progress-next{font-size:14px}#menu .lobby-progress-count{font-size:10px}#menu .lobby-progress-flyout-heading{font-size:9px}#menu .lobby-progress-caption{font-size:9px}}
@media(max-height:590px) and (orientation:landscape){#menu .lobby-level-widget{width:98px;height:98px;border-radius:13px}#menu .lobby-progress-tile{--lobby-panel-width:min(252px,calc(100vw - 120px))}#menu .lobby-progress-tile::before{border-radius:13px}#menu .lobby-level-center span{font-size:15px}#menu .lobby-level-center strong{font-size:25px}#menu .lobby-progress-flyout{min-height:94px}}
@media(prefers-reduced-motion:reduce){#menu .lobby-progress-tile,#menu .lobby-progress-tile::before,#menu .lobby-progress-flyout,#menu .lobby-progress-track>span{transition:none}}

/* Double XP Weekends: small gold, white and icy-blue particles drift outward
   from the level ring. Only opacity and transforms animate, with no canvas work. */
#menu .lobby-double-xp-particles{position:absolute;inset:-9px;z-index:2;visibility:hidden;opacity:0;pointer-events:none;transition:opacity .3s}
#menu .lobby-double-xp-particles span{position:absolute;left:var(--x);top:var(--y);display:block;width:var(--size,3px);height:var(--size,3px);border-radius:50%;background:radial-gradient(circle at 35% 30%,#fff9d4,#ffda60 58%,#f7a82d);box-shadow:0 0 6px 2px #ffdc6b94,0 0 13px #fbbd4288;opacity:0;transform:translate3d(0,0,0) scale(.3)}
#menu .lobby-double-xp-particles span:nth-child(4n){background:#c5f2ff;box-shadow:0 0 7px 2px #90e7ffc0,0 0 12px #70c5ff70}
#menu .lobby-double-xp-particles span:nth-child(5n){background:#fffef1;box-shadow:0 0 7px 2px #fff3caa8,0 0 12px #ffe27f88}
#menu .lobby-double-xp-particles span:nth-child(5n)::before,#menu .lobby-double-xp-particles span:nth-child(5n)::after{content:"";position:absolute;left:50%;top:50%;background:#fffde8;border-radius:999px;transform:translate(-50%,-50%)}
#menu .lobby-double-xp-particles span:nth-child(5n)::before{width:10px;height:1px}
#menu .lobby-double-xp-particles span:nth-child(5n)::after{width:1px;height:10px}
#menu .lobby-double-xp-badge[hidden],#menu .lobby-double-xp-note[hidden]{display:none!important}
#menu .lobby-double-xp-badge{position:absolute;bottom:-9px;left:50%;z-index:4;transform:translateX(-50%);padding:3px 8px 4px;border-radius:999px;border:1px solid #fff0aa99;background:linear-gradient(120deg,#6d4411,#a46d16 48%,#51370f);box-shadow:0 2px 14px #ffc72f70;color:#fff5b7;font:950 9px/1 system-ui,Arial,sans-serif;letter-spacing:.6px;white-space:nowrap;pointer-events:none}
#menu .lobby-level-widget.double-xp-active{--lobby-panel-surface:linear-gradient(110deg,#5b461ded,#253856ee 52%,#332f30f0);--lobby-panel-border:#ffe390a8;border-color:#ffe46f9c;background:linear-gradient(145deg,#5a441650,#253044b0 55%,#4b381446);box-shadow:0 0 0 1px #ffd85429,0 0 24px #ffc52648,inset 0 0 23px #ffcb2730,0 8px 27px #06172640}
#menu .lobby-level-widget.double-xp-active:is(:hover,:focus-visible,:focus-within){border-color:transparent;background:transparent;box-shadow:none}
#menu .lobby-level-widget.double-xp-active .lobby-double-xp-particles{visibility:visible;opacity:1}
#menu .lobby-level-widget.double-xp-active .lobby-double-xp-particles span{animation:xp-weekend-particles var(--duration,2.8s) var(--delay,0s) ease-out infinite}
#menu .lobby-level-widget.double-xp-active .lobby-level-track{stroke:#705c3a}
#menu .lobby-level-widget.double-xp-active .lobby-level-progress{stroke:#ffdc3d;filter:drop-shadow(0 0 4px #ffde50) drop-shadow(0 0 4px #ffba23)}
#menu .lobby-level-widget.double-xp-active .lobby-level-center span{color:#ffdc71;text-shadow:0 0 10px #ffd44c55}
#menu .lobby-level-widget.double-xp-active .lobby-level-center strong{color:#fff3a5;text-shadow:0 2px 5px #231600,0 0 17px #ffdf4c98}
#menu .lobby-level-widget.double-xp-active .lobby-progress-flyout-heading{color:#ffe18f}
#menu .lobby-level-widget.double-xp-active .lobby-progress-track>span{background:linear-gradient(90deg,#ffaa25,#ffe059,#fff6b8);box-shadow:0 0 13px #ffe36a8c}
#menu .lobby-level-widget.double-xp-active .lobby-progress-caption{color:#d7c796}
#menu .lobby-double-xp-note{font:900 9px/1.1 system-ui,Arial,sans-serif;letter-spacing:1px;color:#ffdf62;text-shadow:0 0 8px #e5a72a66}
@keyframes xp-weekend-particles{0%{opacity:0;transform:translate3d(0,0,0) scale(.25)}18%{opacity:.95;transform:translate3d(0,-3px,0) scale(1)}65%{opacity:.8}100%{opacity:0;transform:translate3d(var(--dx),var(--dy),0) scale(.2)}}
@media(prefers-reduced-motion:reduce){#menu .lobby-level-widget.double-xp-active .lobby-double-xp-particles span{animation:none}#menu .lobby-double-xp-particles{visibility:hidden!important;opacity:0!important;transition:none}}
