@import"https://fonts.googleapis.com/css2?family=Bangers&family=Luckiest+Guy&display=swap";:root{--u: clamp(.55px, .0926vmin, 1.6px)}body{margin:0;font-family:system-ui,-apple-system,sans-serif;background:#0a0a14;color:#e8e8f0;overflow:hidden}#lobby{position:fixed;inset:0;z-index:10;box-sizing:border-box}.lobby-preview-panel{position:relative;z-index:1;width:100%;background:radial-gradient(circle at 50% 25%,#273154,#141424 55%,#0a0a14);border:calc(1 * var(--u)) solid rgba(120,80,220,.25);border-radius:calc(16 * var(--u));padding:calc(18 * var(--u));box-shadow:0 calc(8 * var(--u)) calc(32 * var(--u)) #0000008c;box-sizing:border-box}.lobby-preview-title{color:#c8b5f5;font-size:calc(12 * var(--u));text-transform:uppercase;letter-spacing:.1em;margin-bottom:calc(10 * var(--u))}.lobby-preview{height:calc(300 * var(--u));border-radius:calc(12 * var(--u));background:linear-gradient(180deg,#ffffff0a,#00000024);overflow:hidden}.lobby-preview canvas{display:block;width:100%;height:100%}.cosmetic-row{display:grid;grid-template-columns:calc(44 * var(--u)) 1fr calc(44 * var(--u));align-items:center;gap:calc(10 * var(--u));margin-top:calc(12 * var(--u))}.cosmetic-row button{width:calc(44 * var(--u));height:calc(38 * var(--u));margin:0;padding:0;font-size:calc(28 * var(--u));line-height:1}.cosmetic-row>div{min-width:0;text-align:center}.cosmetic-label{display:block;color:#8a8aa0;font-size:calc(10 * var(--u));text-transform:uppercase;letter-spacing:.08em}.cosmetic-row strong{display:block;color:#fff;font-size:calc(15 * var(--u));margin-top:calc(2 * var(--u))}.lobby-menu{position:fixed;z-index:5;top:50%;left:4vw;transform:translateY(-50%);display:flex;flex-direction:column;gap:calc(18 * var(--u));width:clamp(calc(280 * var(--u)),26vw,calc(420 * var(--u)))}.lobby-menu-btn{display:block}.sa-btn.lobby-menu-btn-impl{width:100%;min-height:calc(96 * var(--u));padding:calc(22 * var(--u)) calc(36 * var(--u));justify-content:flex-start;background:url(/menu-button.png) no-repeat center;background-size:100% 100%;border:0;border-radius:0;font-family:Bangers,Luckiest Guy,system-ui,sans-serif;font-weight:400;font-size:calc(38 * var(--u));letter-spacing:.08em;text-transform:uppercase;color:#f6f3df;text-shadow:calc(-2 * var(--u)) 0 0 #1c2c0e,calc(2 * var(--u)) 0 0 #1c2c0e,0 calc(-2 * var(--u)) 0 #1c2c0e,0 calc(2 * var(--u)) 0 #1c2c0e,calc(-2 * var(--u)) calc(-2 * var(--u)) 0 #1c2c0e,calc(2 * var(--u)) calc(-2 * var(--u)) 0 #1c2c0e,calc(-2 * var(--u)) calc(2 * var(--u)) 0 #1c2c0e,calc(2 * var(--u)) calc(2 * var(--u)) 0 #1c2c0e,0 calc(4 * var(--u)) 0 rgba(0,0,0,.45);box-shadow:none;text-indent:0;line-height:.9;transform:translateY(calc(-3 * var(--u)));transition:filter .15s,transform .08s}.sa-btn.lobby-menu-btn-impl:hover:not(:disabled){filter:brightness(1.08);background:url(/menu-button.png) no-repeat center;background-size:100% 100%;box-shadow:none;border:0}.sa-btn.lobby-menu-btn-impl:not(:disabled):active{transform:translateY(calc(-1 * var(--u)))}.sa-btn.lobby-menu-btn-impl:focus-visible{outline:0;filter:brightness(1.12) drop-shadow(0 0 calc(8 * var(--u)) #b6ff5a)}.sa-btn.lobby-play-btn{width:clamp(calc(320 * var(--u)),60%,calc(440 * var(--u)));margin:0 auto}.lobby-profile-card{position:fixed;z-index:5;top:calc(18 * var(--u));right:calc(18 * var(--u));display:flex;align-items:center;gap:calc(12 * var(--u));padding:calc(10 * var(--u)) calc(16 * var(--u));background:#0a1408c7;border:calc(2 * var(--u)) solid #2d4a1e;border-radius:calc(14 * var(--u));box-shadow:0 calc(8 * var(--u)) calc(22 * var(--u)) #0000008c,inset 0 calc(1 * var(--u)) 0 #ffffff0d;color:#d8f0b8;min-width:calc(240 * var(--u))}.lobby-profile-avatar{width:calc(44 * var(--u));height:calc(44 * var(--u));border-radius:calc(8 * var(--u));background:linear-gradient(135deg,#4a3320,#6b4a2c);border:calc(1 * var(--u)) solid rgba(255,255,255,.08)}.lobby-profile-info{flex:1;min-width:0}.lobby-profile-name{font:700 calc(14 * var(--u)) ui-monospace,monospace;letter-spacing:.08em;color:#fff}.lobby-profile-level{font:600 calc(11 * var(--u)) ui-monospace,monospace;letter-spacing:.1em;color:#b9d68a;margin-top:calc(2 * var(--u))}.lobby-profile-xp{margin-top:calc(6 * var(--u));height:calc(6 * var(--u));background:#ffffff14;border-radius:calc(3 * var(--u));overflow:hidden}.lobby-profile-xp-fill{width:0%;height:100%;background:linear-gradient(90deg,#8ddc4f,#c5ff7a)}.lobby-profile-xp-label{font-size:calc(10 * var(--u));color:#8aa86a;margin-top:calc(4 * var(--u));letter-spacing:.06em}.lobby-season{position:fixed;z-index:5;bottom:calc(84 * var(--u));right:calc(18 * var(--u));text-align:center;padding:calc(10 * var(--u)) calc(18 * var(--u));background:#0a1408c7;border:calc(2 * var(--u)) solid #2d4a1e;border-radius:calc(14 * var(--u));color:#d8f0b8;min-width:calc(160 * var(--u));box-shadow:0 calc(8 * var(--u)) calc(22 * var(--u)) #0000008c}.lobby-season-tag{font:700 calc(10 * var(--u)) ui-monospace,monospace;letter-spacing:.18em;color:#b9d68a}.lobby-season-name{font-family:Bangers,Luckiest Guy,system-ui,sans-serif;font-size:calc(22 * var(--u));color:#ffd84a;letter-spacing:.04em;margin:calc(2 * var(--u)) 0 calc(4 * var(--u));text-shadow:0 calc(2 * var(--u)) 0 rgba(0,0,0,.5)}.lobby-season-progress{font:600 calc(11 * var(--u)) ui-monospace,monospace;color:#b9d68a}.lobby-bottom-bar{position:fixed;z-index:5;left:calc(18 * var(--u));right:calc(220 * var(--u));bottom:calc(18 * var(--u));display:flex;align-items:center;gap:calc(24 * var(--u));padding:calc(10 * var(--u)) calc(16 * var(--u));background:#0a1408c7;border:calc(2 * var(--u)) solid #2d4a1e;border-radius:calc(14 * var(--u));box-shadow:0 calc(8 * var(--u)) calc(22 * var(--u)) #0000008c}.lobby-coins{display:flex;align-items:center;gap:calc(10 * var(--u));padding-right:calc(18 * var(--u));border-right:calc(2 * var(--u)) solid rgba(255,255,255,.08)}.lobby-coins-icon{height:calc(36 * var(--u));width:auto;display:block;filter:drop-shadow(0 calc(2 * var(--u)) calc(3 * var(--u)) rgba(0,0,0,.55))}.lobby-coins-icon.is-missing{display:none}.lobby-coins-value{font-family:Bangers,Luckiest Guy,system-ui,sans-serif;font-size:calc(24 * var(--u));color:#ffd84a;letter-spacing:.04em;text-shadow:0 calc(2 * var(--u)) 0 rgba(0,0,0,.55);transform:translateY(calc(2 * var(--u)))}.lobby-coins-add{display:inline-flex}.lobby-coins-add .sa-btn{width:calc(34 * var(--u));height:calc(34 * var(--u));padding:0;font-family:Bangers,Luckiest Guy,system-ui,sans-serif;font-size:calc(26 * var(--u));line-height:1;color:#fff;background:linear-gradient(180deg,#8ddc4f,#4ea832);border:calc(2 * var(--u)) solid #2d4a1e;border-radius:calc(8 * var(--u));box-shadow:0 calc(2 * var(--u)) 0 #2d4a1e,inset 0 calc(2 * var(--u)) 0 #ffffff40}.lobby-coins-add .sa-btn:hover:not(:disabled){background:linear-gradient(180deg,#9eea5f,#5cba3a)}.lobby-bottom-actions{display:flex;align-items:stretch;flex:1}.lobby-bottom-actions>.sa-button-bar{flex:1;display:flex}.lobby-bottom-actions>.sa-button-bar>.sa-button-bar__item{flex:1;justify-content:center}.lobby-modal-backdrop{position:fixed;inset:0;z-index:50;background:#050a05a6;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);opacity:0;pointer-events:none;transition:opacity .22s ease}#lobby:not([data-view=menu]) .lobby-modal-backdrop{opacity:1;pointer-events:auto}.lobby-modal{position:fixed;inset:0;z-index:60;display:flex;align-items:center;justify-content:center;padding:calc(24 * var(--u));box-sizing:border-box;opacity:0;pointer-events:none;transform:translateY(calc(12 * var(--u))) scale(.98);transition:opacity .22s ease,transform .26s cubic-bezier(.2,.8,.2,1)}#lobby[data-view=create] .lobby-modal[data-modal=create],#lobby[data-view=join] .lobby-modal[data-modal=join],#lobby[data-view=customize] .lobby-modal[data-modal=customize]{opacity:1;pointer-events:auto;transform:none}.lobby-modal-card{width:min(calc(560 * var(--u)),92vw);max-height:88vh;display:flex;flex-direction:column;background:#1a1a28;border:calc(1 * var(--u)) solid rgba(120,80,220,.4);border-radius:calc(16 * var(--u));box-shadow:0 calc(24 * var(--u)) calc(80 * var(--u)) #000c;overflow:hidden}.lobby-modal-card--wide{width:min(calc(680 * var(--u)),94vw)}.lobby-modal-header{display:flex;align-items:center;justify-content:space-between;padding:calc(18 * var(--u)) calc(22 * var(--u));border-bottom:calc(1 * var(--u)) solid rgba(120,80,220,.2)}.lobby-modal-header h2{margin:0;font-family:Bangers,Luckiest Guy,system-ui,sans-serif;font-size:calc(28 * var(--u));letter-spacing:.06em;text-transform:uppercase;color:#f6f3df}.lobby-modal-close-mount{display:flex}.sa-btn.lobby-modal-close{width:calc(36 * var(--u));height:calc(36 * var(--u));padding:0;font-size:calc(22 * var(--u));line-height:1;border-radius:calc(8 * var(--u))}.lobby-modal-body{padding:calc(22 * var(--u));overflow-y:auto}@media (max-width: 860px){.lobby-menu{left:50%;transform:translate(-50%,-50%);width:min(86vw,380px)}.lobby-profile-card{min-width:180px;padding:8px 12px}.lobby-season{bottom:96px;min-width:130px;padding:8px 12px}.lobby-bottom-bar{right:18px;flex-wrap:wrap}.lobby-preview{height:230px}}.lobby-section-title{color:#8a8aa0;font-size:calc(11 * var(--u));text-transform:uppercase;letter-spacing:.08em;margin:calc(18 * var(--u)) 0 calc(8 * var(--u))}.lobby-rooms{background:#0a0a14;border:calc(1 * var(--u)) solid #333;border-radius:calc(6 * var(--u));padding:calc(6 * var(--u));min-height:calc(48 * var(--u));max-height:calc(200 * var(--u));overflow-y:auto}.lobby-rooms .muted{display:block;padding:calc(8 * var(--u));color:#8a8aa0;font-size:calc(12 * var(--u));text-align:center}.lobby-room-row{display:flex;align-items:center;justify-content:space-between;padding:calc(6 * var(--u)) calc(8 * var(--u));border-radius:calc(4 * var(--u))}.lobby-room-row:hover{background:#171725}.lobby-room-info{flex:1}.lobby-room-id{font:calc(12 * var(--u)) ui-monospace,monospace;color:#cfcfe0}.lobby-room-meta{font-size:calc(11 * var(--u));color:#8a8aa0;margin-top:calc(2 * var(--u))}.lobby-room-meta strong{color:#c8b5f5;font-weight:500}.lobby-room-join{background:#3a2a5a;color:#cfcfe0;border:1px solid rgba(120,80,220,.4);padding:4px 12px;border-radius:4px;font:12px ui-monospace,monospace;cursor:pointer}.lobby-room-join:hover:not(:disabled){background:#5a3a8a}.lobby-room-join:disabled{opacity:.4;cursor:not-allowed}.lobby-modal-card select{display:block;width:100%;margin-top:calc(4 * var(--u));padding:calc(9 * var(--u)) calc(10 * var(--u));background:#0a0a14;border:calc(1 * var(--u)) solid #333;border-radius:calc(6 * var(--u));color:#fff;font-size:calc(15 * var(--u));box-sizing:border-box;appearance:none;-webkit-appearance:none;cursor:pointer;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'><path fill='%23c8b5f5' d='M0 0h12L6 8z'/></svg>");background-repeat:no-repeat;background-position:right calc(12 * var(--u)) center;background-size:calc(10 * var(--u)) calc(7 * var(--u));padding-right:calc(32 * var(--u))}.lobby-modal-card select:focus{outline:none;border-color:#6a4acc}.lobby-room-row{cursor:pointer}.lobby-room-row.is-selected{background:#2a1f4a;outline:1px solid rgba(120,80,220,.5)}.lobby-modal-card label{display:block;margin-bottom:calc(14 * var(--u));font-size:calc(12 * var(--u));color:#aaa;text-transform:uppercase;letter-spacing:.05em}.lobby-modal-card input{display:block;width:100%;margin-top:calc(4 * var(--u));padding:calc(9 * var(--u)) calc(10 * var(--u));background:#0a0a14;border:calc(1 * var(--u)) solid #333;border-radius:calc(6 * var(--u));color:#fff;font-size:calc(15 * var(--u));box-sizing:border-box;text-transform:none;letter-spacing:0}.lobby-modal-card input:focus{outline:none;border-color:#6a4acc}.lobby-cta-mount{margin-top:calc(4 * var(--u))}#l-error{color:#ff6a7a;font-size:calc(13 * var(--u));margin-top:calc(12 * var(--u));min-height:1em}.lobby-bg{position:fixed;inset:0;z-index:0;background-position:center;background-size:cover;background-repeat:no-repeat;background-color:#0a0a14;pointer-events:none}.lobby-bg:after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 50% 60%,#0a0a1400,#0a0a148c 80%,#0a0a14d9)}.lobby-flickers{position:fixed;inset:0;z-index:0;pointer-events:none;mix-blend-mode:screen}.lobby-flicker{position:absolute;left:var(--x);top:var(--y);width:calc(var(--r) * 2);height:calc(var(--r) * 2);margin-left:calc(var(--r) * -1);margin-top:calc(var(--r) * -1);background:radial-gradient(circle at 50% 50%,hsla(var(--hue),95%,60%,.85),hsla(var(--hue),95%,50%,.45) 35%,hsla(var(--hue),95%,45%,.12) 65%,hsla(var(--hue),95%,45%,0));filter:blur(calc(var(--r) * .08));animation:lobby-flicker-pulse 2.6s ease-in-out infinite;animation-delay:var(--delay, 0s);will-change:opacity}.lobby-flicker:before{content:"";position:absolute;inset:25%;border-radius:50%;background:radial-gradient(circle at 50% 50%,hsla(var(--hue),100%,78%,.95),hsla(var(--hue),100%,60%,.35),hsla(var(--hue),100%,50%,0));animation:lobby-flicker-jitter .37s steps(1,end) infinite;animation-delay:var(--delay, 0s)}@keyframes lobby-flicker-pulse{0%,to{opacity:.55}20%{opacity:.95}35%{opacity:.3}55%{opacity:.85}72%{opacity:.45}88%{opacity:.75}}@keyframes lobby-flicker-jitter{0%{opacity:.85}10%{opacity:.4}25%{opacity:1}45%{opacity:.55}60%{opacity:.9}80%{opacity:.3}to{opacity:.8}}@media (prefers-reduced-motion: reduce){.lobby-flicker,.lobby-flicker:before{animation:none;opacity:.6}}.lobby-podium-kart{position:fixed;inset:0;z-index:1;pointer-events:none}.lobby-podium-kart>canvas{width:100%!important;height:100%!important;display:block}.lobby-loading-overlay{position:fixed;inset:0;z-index:100;display:flex;align-items:flex-end;justify-content:center;background:#0a0a14;padding:0 0 6vh;box-sizing:border-box;opacity:1;transition:opacity .42s ease,transform .52s cubic-bezier(.4,0,.2,1)}.lobby-loading-bg{position:absolute;inset:0;z-index:0;background-position:center;background-size:cover;background-repeat:no-repeat}.lobby-loading-bg:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#0a0a1400 40%,#0a0a148c 80%,#0a0a14d9)}.lobby-loading-overlay.is-done{opacity:0;transform:scale(1.04);pointer-events:none}@keyframes lobby-loading-card-in{0%{opacity:0;transform:translateY(calc(14 * var(--u)))}to{opacity:1;transform:translateY(0)}}.lobby-loading-card{position:relative;z-index:1;width:min(calc(560 * var(--u)),90vw);text-align:center;padding:calc(22 * var(--u)) calc(28 * var(--u));background:#0a0a148c;border:calc(1 * var(--u)) solid rgba(120,80,220,.25);border-radius:calc(14 * var(--u));backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);box-shadow:0 calc(10 * var(--u)) calc(40 * var(--u)) #0009;animation:lobby-loading-card-in .6s cubic-bezier(.2,.8,.2,1) both}.lobby-logo{position:fixed;z-index:110;top:calc(24 * var(--u));left:100%;transform:translate(calc(-100% - calc(28 * var(--u))));width:clamp(calc(420 * var(--u)),48vw,calc(780 * var(--u)));height:auto;pointer-events:none;user-select:none;filter:drop-shadow(0 calc(6 * var(--u)) calc(18 * var(--u)) rgba(0,0,0,.55));transition:top .62s cubic-bezier(.4,0,.2,1),left .62s cubic-bezier(.4,0,.2,1),transform .62s cubic-bezier(.4,0,.2,1),width .62s cubic-bezier(.4,0,.2,1)}#lobby.is-ready .lobby-logo{top:calc(12 * var(--u));left:0;transform:translate(calc(16 * var(--u)));width:clamp(calc(240 * var(--u)),27vw,calc(360 * var(--u)))}.lobby-menu,.lobby-profile-card,.lobby-season,.lobby-bottom-bar{opacity:0;transition:opacity .52s ease,transform .52s cubic-bezier(.2,.8,.2,1)}.lobby-menu{transform:translateY(calc(-50% + calc(16 * var(--u))))}.lobby-profile-card,.lobby-bottom-bar,.lobby-season{transform:translateY(calc(16 * var(--u)))}#lobby.is-ready .lobby-menu{opacity:1;transform:translateY(-50%);transition-delay:.12s}#lobby.is-ready .lobby-profile-card{opacity:1;transform:none;transition-delay:.2s}#lobby.is-ready .lobby-season{opacity:1;transform:none;transition-delay:.28s}#lobby.is-ready .lobby-bottom-bar{opacity:1;transform:none;transition-delay:.22s}@media (prefers-reduced-motion: reduce){.lobby-loading-overlay,.lobby-loading-card,.lobby-menu,.lobby-profile-card,.lobby-season,.lobby-bottom-bar{animation:none!important;transition:opacity .12s linear!important;transform:none!important}}.lobby-loading-label{font-family:Bangers,Luckiest Guy,system-ui,sans-serif;font-size:calc(20 * var(--u));color:#d8f0b8;letter-spacing:.06em;margin-bottom:calc(14 * var(--u));text-shadow:0 calc(2 * var(--u)) 0 rgba(0,0,0,.55)}.lobby-loading-label #l-preload-text{color:#ffd84a}.lobby-preload-bar{height:calc(20 * var(--u));background:#0a1408d9;border:calc(2 * var(--u)) solid #2d4a1e;border-radius:calc(10 * var(--u));overflow:hidden;box-shadow:inset 0 calc(2 * var(--u)) calc(4 * var(--u)) #0009}.lobby-preload-fill{width:0%;height:100%;background:linear-gradient(180deg,#b6ff5a,#8ddc4f 35%,#5cba3a 75%,#4ea832);box-shadow:inset 0 calc(2 * var(--u)) 0 #ffffff59,inset 0 calc(-2 * var(--u)) 0 #00000040,0 0 calc(8 * var(--u)) #8cdc5099;transition:width .12s linear}.lobby-loading-actions{margin-top:calc(24 * var(--u));display:flex;justify-content:center}canvas#game-canvas{display:block;position:fixed;inset:0}.lobby-overlay-carousel{display:flex;gap:calc(8 * var(--u));margin-top:calc(4 * var(--u));overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:thin;padding-bottom:calc(4 * var(--u))}.lobby-overlay-carousel::-webkit-scrollbar{height:calc(6 * var(--u))}.lobby-overlay-carousel::-webkit-scrollbar-thumb{background:#333;border-radius:calc(3 * var(--u))}.lobby-overlay-empty{color:#888;font-size:calc(13 * var(--u));padding:calc(24 * var(--u)) calc(8 * var(--u))}.lobby-overlay-card{flex:0 0 auto;width:calc(144 * var(--u));background:#0a0a14;border:calc(2 * var(--u)) solid #333;border-radius:calc(6 * var(--u));cursor:pointer;scroll-snap-align:start;text-align:center;font-family:inherit;color:#ddd;padding:0;display:flex;flex-direction:column;overflow:hidden}.lobby-overlay-card:hover{border-color:#6a4acc}.lobby-overlay-card.is-selected{border-color:#6a4acc;background:#1a1230}.lobby-overlay-card-thumb{width:100%;height:calc(81 * var(--u));background:#1a1a24;display:block;object-fit:cover}.lobby-overlay-card-thumb.is-placeholder{display:flex;align-items:center;justify-content:center;font-size:calc(11 * var(--u));color:#555}.lobby-overlay-card-name{padding:calc(6 * var(--u)) calc(8 * var(--u));font-size:calc(12 * var(--u));text-transform:none;letter-spacing:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
