:root{--bg:#05020f;--bg-2:#0a041d;--text-h:#fbf8ff;--text:#ece4ffb8;--text-dim:#ece4ff7a;--gold-1:#ffe38a;--gold-2:#ffb629;--gold-3:#f08a00;--magenta:#ff3dbb;--violet:#8b5cff;--cyan:#29e0ff;--accent:#b18cff;--accent-ring:#b18cff73;--danger:#ff5b7f;--ok:#3cf0a4;--idle:#ffffff47;--glass-fill:linear-gradient(150deg, #ffffff29 0%, #ffffff0f 45%, #ffffff08 100%);--glass-fill-strong:linear-gradient(150deg, #fff3 0%, #ffffff17 50%, #ffffff0d 100%);--glass-blur:blur(22px) saturate(170%);--glass-edge:#ffffff38;--glass-shadow:inset 0 1px 0 #ffffff73, inset 0 -1px 0 #ffffff0f, inset 0 0 22px #ffffff0d, 0 18px 50px -12px #050019a6;--surface-2:#ffffff12;--border:#ffffff24;--code-bg:#ffffff14;--radius:14px;--radius-lg:24px;--radius-pill:999px;--shadow:0 24px 60px -16px #050019cc;--sans:"Outfit", ui-rounded, system-ui, -apple-system, "Segoe UI", sans-serif;--heading:var(--sans);--mono:ui-monospace, "SF Mono", Menlo, Consolas, monospace;font:16px / 1.5 var(--sans);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;color:var(--text-h);background:radial-gradient(120% 80% at 50% -10%, #1a0a47 0%, transparent 60%), linear-gradient(180deg, var(--bg-2) 0%, var(--bg) 60%);background-color:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-attachment:fixed;min-height:100%}*{box-sizing:border-box}body{background:0 0;min-height:100svh;margin:0}.bg{z-index:-1;pointer-events:none;position:fixed;inset:0;overflow:hidden}.bg>*{will-change:transform, opacity;position:absolute}.bg:after{content:"";background:radial-gradient(90% 80% at 50% 45%,#0000 35%,#020008b3 100%);position:absolute;inset:0}.bg__aurora{filter:blur(90px);opacity:.2;background:conic-gradient(#ff3dbb59,#8b5cff4d,#29e0ff47,#ffb62938,#ff3dbb59);animation:70s linear infinite bg-spin;inset:-50vmax}.bg__orb{filter:blur(70px);opacity:.36;border-radius:50%;width:42vmax;height:42vmax}.bg__orb--magenta{background:radial-gradient(circle,#ff3dbb 0%,#0000 68%);animation:19s ease-in-out infinite alternate orb-1;top:-12vmax;left:-8vmax}.bg__orb--cyan{opacity:.26;background:radial-gradient(circle,#29e0ff 0%,#0000 68%);width:36vmax;height:36vmax;animation:23s ease-in-out infinite alternate orb-2;top:5vh;right:-14vmax}.bg__orb--violet{background:radial-gradient(circle,#8b5cff 0%,#0000 68%);width:50vmax;height:50vmax;animation:27s ease-in-out infinite alternate orb-3;bottom:-16vmax;right:10vw}.bg__orb--gold{opacity:.2;background:radial-gradient(circle,#ffb629 0%,#0000 68%);width:30vmax;height:30vmax;animation:21s ease-in-out infinite alternate orb-4;bottom:-6vmax;left:-10vmax}.bg__orb--pink{opacity:.18;background:radial-gradient(circle,#ff7ad9 0%,#0000 68%);width:26vmax;height:26vmax;animation:17s ease-in-out infinite alternate orb-5;top:35vh;left:35vw}@keyframes orb-1{50%{transform:translate(22vw,14vh)scale(1.15)}to{transform:translate(8vw,32vh)scale(.95)}}@keyframes orb-2{50%{transform:translate(-18vw,22vh)scale(1.2)}to{transform:translate(-30vw,-4vh)scale(1)}}@keyframes orb-3{50%{transform:translate(-24vw,-18vh)scale(.9)}to{transform:translate(12vw,-26vh)scale(1.1)}}@keyframes orb-4{50%{transform:translate(26vw,-20vh)scale(1.25)}to{transform:translate(40vw,4vh)scale(1)}}@keyframes orb-5{50%{transform:translate(-20vw,16vh)scale(1.3)}to{transform:translate(18vw,-14vh)scale(.85)}}@keyframes bg-spin{to{transform:rotate(1turn)}}.bg__stars{height:calc(100% + var(--tile));background-repeat:repeat;background-size:var(--tile) var(--tile);top:0;left:0;right:0}.bg__stars--near{--tile:360px;background-image:radial-gradient(1.6px 1.6px at 40px 60px,#fff,#0000),radial-gradient(1.2px 1.2px at 160px 30px,#ffe9b0,#0000),radial-gradient(1.8px 1.8px at 280px 140px,#fff,#0000),radial-gradient(1.2px 1.2px at 90px 220px,#c9f6ff,#0000),radial-gradient(1.5px 1.5px at 230px 300px,#fff,#0000),radial-gradient(1.1px 1.1px at 330px 250px,#ffd1f0,#0000);animation:60s linear infinite stars-rise,3.2s ease-in-out infinite alternate twinkle}.bg__stars--far{--tile:220px;opacity:.5;background-image:radial-gradient(1px 1px at 20px 40px,#fff,#0000),radial-gradient(.9px .9px at 120px 90px,#fff,#0000),radial-gradient(1px 1px at 190px 170px,#d9ccff,#0000),radial-gradient(.8px .8px at 70px 150px,#fff,#0000);animation:110s linear infinite stars-rise,4.6s ease-in-out -2s infinite alternate twinkle}@keyframes stars-rise{to{transform:translate3d(0, calc(-1 * var(--tile)), 0)}}@keyframes twinkle{0%{opacity:.35}to{opacity:.95}}@media (prefers-reduced-motion:reduce){.bg>*{animation:none!important}}#root{flex-direction:column;min-height:100svh;display:flex}h1,h2{font-family:var(--heading);color:var(--text-h);letter-spacing:-.02em;font-weight:800}h1{margin:0 0 8px;font-size:clamp(30px,5vw,42px);line-height:1.1}h2{margin:0 0 8px;font-size:21px;line-height:1.2}p{margin:0}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}code{font-family:var(--mono);background:var(--code-bg);color:var(--text-h);border-radius:6px;padding:2px 6px;font-size:.9em}button{font-family:inherit}::selection{background:#b18cff66}#root{width:100%;text-align:initial}.wallet-bar,.auth-panel,.wallet-modal__panel{background:var(--glass-fill);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border:1px solid var(--glass-edge);box-shadow:var(--glass-shadow);position:relative}.auth-panel:before,.wallet-modal__panel:before{content:"";border-radius:inherit;pointer-events:none;background:radial-gradient(120% 60% at 15% -10%,#ffffff38,#0000 55%),radial-gradient(80% 40% at 100% 110%,#b18cff2e,#0000 60%);position:absolute;inset:0}@supports not ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){.wallet-bar,.auth-panel,.wallet-modal__panel{background:#1e1046eb}}.launcher{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:14px;min-height:100svh;padding:32px 16px;display:flex}.launcher>p{color:var(--text);max-width:42ch;font-size:17px}.launcher .error{color:var(--danger);max-width:46ch;font-size:14px;line-height:1.5}.wallet-bar__btn{font:inherit;border-radius:var(--radius-pill);color:var(--text-h);cursor:pointer;white-space:nowrap;background:linear-gradient(#ffffff29,#ffffff0d);border:1px solid #ffffff2e;justify-content:center;align-items:center;gap:6px;padding:10px 18px;font-size:14px;font-weight:600;line-height:1;text-decoration:none;transition:transform .12s,box-shadow .2s,background .2s,opacity .2s;display:inline-flex;position:relative;overflow:hidden;box-shadow:inset 0 1px #ffffff59,0 6px 16px -8px #0009}a.wallet-bar__btn:hover{text-decoration:none}.wallet-bar__btn:hover:not(:disabled){background:linear-gradient(#ffffff3d,#ffffff14)}.wallet-bar__btn:active:not(:disabled){transform:scale(.96)}.wallet-bar__btn:focus-visible{box-shadow:inset 0 1px 0 #ffffff59, 0 0 0 4px var(--accent-ring);outline:none}.wallet-bar__btn:disabled{opacity:.45;cursor:default}.wallet-bar__btn--primary{background:linear-gradient(180deg, var(--gold-1) 0%, var(--gold-2) 55%, var(--gold-3) 100%);color:#3a1d00;text-shadow:0 1px #ffffff59;border-color:#ffecaab3;box-shadow:inset 0 1px #fffc,inset 0 -2px #a0460059,0 8px 24px -6px #ffaa1ea6}.wallet-bar__btn--primary:hover:not(:disabled){background:linear-gradient(#fff0b3 0%,#ffc440 55%,#ff9a0f 100%);box-shadow:inset 0 1px #ffffffd9,inset 0 -2px #a0460059,0 10px 30px -6px #ffaa1ed9}.wallet-bar__btn--accent{background:linear-gradient(180deg, #c3a2ff 0%, var(--violet) 55%, #6a2cf0 100%);color:#fff;border-color:#d6beff99;box-shadow:inset 0 1px #ffffff8c,inset 0 -2px #3c0a8c66,0 8px 24px -6px #8b5cffb3}.wallet-bar__btn--accent:hover:not(:disabled){background:linear-gradient(#d4bbff 0%,#9b72ff 55%,#7a3dff 100%);box-shadow:inset 0 1px #fff9,inset 0 -2px #3c0a8c66,0 10px 30px -6px #8b5cffe6}.wallet-bar__btn--primary:after{content:"";opacity:0;pointer-events:none;background:linear-gradient(90deg,#0000,#ffffffb3,#0000);width:40%;position:absolute;inset:-40% auto -40% -60%;transform:skew(-20deg)}.wallet-bar__btn--primary:hover:not(:disabled):after{opacity:1;animation:.8s shine}@keyframes shine{0%{left:-60%}to{left:130%}}.game-frame{flex-direction:column;gap:10px;width:100%;height:100svh;padding:10px;display:flex}.game-frame iframe{border-radius:var(--radius-lg);width:100%;box-shadow:0 0 0 1px var(--glass-edge), var(--shadow);background:#000;border:0;flex:1;display:block}.wallet-bar{border-radius:var(--radius-pill);align-items:center;gap:12px;padding:8px 10px 8px 16px;font-size:14px;display:flex}.lobby .wallet-bar{z-index:10;width:min(calc(var(--lobby-max) - 2 * var(--lobby-gutter)), calc(100% - 2 * var(--lobby-gutter)));margin:10px auto 0;position:sticky;top:10px}.wallet-bar__title{letter-spacing:.01em;color:var(--text-h);text-overflow:ellipsis;white-space:nowrap;max-width:22ch;font-weight:700;overflow:hidden}.wallet-bar__message{color:var(--text);font-size:13px}.wallet-bar__balance{font-variant-numeric:tabular-nums;color:var(--gold-1);border-radius:var(--radius-pill);background:#0a041e73;align-items:center;gap:8px;padding:5px 14px 5px 6px;font-size:15px;font-weight:700;display:inline-flex;box-shadow:inset 0 1px 2px #00000080,inset 0 -1px #ffffff1f}.wallet-bar__balance:before{content:"";background:radial-gradient(circle at 35% 30%, #fff6c9 0 18%, transparent 19%), radial-gradient(circle, var(--gold-2) 0 52%, var(--gold-3) 53% 60%, var(--gold-1) 61% 100%);border-radius:50%;flex:none;width:22px;height:22px;box-shadow:0 0 10px #ffb6298c,inset 0 -1px 2px #78320080}.wallet-bar__live{background:var(--idle);border-radius:50%;flex:none;order:2;width:7px;height:7px;transition:background .2s}.wallet-bar__live.is-live{background:var(--ok);box-shadow:0 0 8px var(--ok)}.wallet-bar__retry{font:inherit;color:var(--danger);cursor:pointer;background:0 0;border:0;padding:0}.wallet-bar__retry:hover{text-decoration:underline}.wallet-bar__actions{gap:8px;margin-left:auto;display:flex}.auth-panel{text-align:left;border-radius:32px;flex-direction:column;gap:14px;width:400px;max-width:100%;padding:30px 26px 26px;display:flex}.auth-panel>*{position:relative}.auth-panel h1{margin:0;font-size:34px}.brand{align-items:center;gap:12px;display:flex}.brand__mark{color:#3a1d00;background:linear-gradient(160deg, var(--gold-1), var(--gold-2) 55%, var(--gold-3));border-radius:14px;flex:none;place-items:center;width:44px;height:44px;font-size:22px;font-weight:800;display:grid;box-shadow:inset 0 1px #fffc,0 8px 24px -6px #ffaa1eb3}.brand__name{background:linear-gradient(95deg, #fff 0%, #ffd9f3 40%, var(--gold-1) 100%);color:#0000;-webkit-background-clip:text;background-clip:text}.auth-panel__tabs{border-radius:var(--radius-pill);background:#0a041e66;gap:4px;padding:4px;display:flex;box-shadow:inset 0 1px 3px #00000073}.auth-panel__tab{font:inherit;border-radius:var(--radius-pill);color:var(--text);cursor:pointer;background:0 0;border:1px solid #0000;flex:1;padding:9px 12px;font-size:14px;font-weight:600;transition:background .2s,color .2s}.auth-panel__tab.is-active{color:var(--text-h);background:linear-gradient(#ffffff38,#ffffff14);border-color:#fff3;box-shadow:inset 0 1px #fff6,0 4px 12px -4px #00000080}.auth-panel__submit{width:100%;padding:13px 18px;font-size:15px}.auth-panel__divider{color:var(--text-dim);text-transform:uppercase;letter-spacing:.08em;align-items:center;gap:10px;font-size:12px;display:flex}.auth-panel__divider:before,.auth-panel__divider:after{content:"";background:linear-gradient(90deg, transparent, var(--border), transparent);flex:1;height:1px}.auth-panel__note{text-align:center;margin-top:-4px}.email-form{flex-direction:column;gap:12px;display:flex}.wallet-modal__hint{color:var(--text);font-size:13px;line-height:1.5}.wallet-modal__field{color:var(--text);flex-direction:column;gap:6px;font-size:13px;font-weight:500;display:flex}.wallet-modal__field input{font:inherit;color:var(--text-h);border-radius:var(--radius);background:#0a041e73;border:1px solid #ffffff1f;padding:12px 16px;font-size:15px;transition:border-color .15s,box-shadow .15s;box-shadow:inset 0 1px 3px #00000073}.wallet-modal__field input:-webkit-autofill{-webkit-text-fill-color:var(--text-h);caret-color:var(--text-h);transition:background-color 9999s ease-out;-webkit-box-shadow:inset 0 0 0 1000px #1c1040}.wallet-modal__field input:-webkit-autofill:hover{-webkit-text-fill-color:var(--text-h);caret-color:var(--text-h);transition:background-color 9999s ease-out;-webkit-box-shadow:inset 0 0 0 1000px #1c1040}.wallet-modal__field input:-webkit-autofill:focus{-webkit-text-fill-color:var(--text-h);caret-color:var(--text-h);transition:background-color 9999s ease-out;-webkit-box-shadow:inset 0 0 0 1000px #1c1040}.wallet-modal__field input:focus{border-color:var(--accent);box-shadow:inset 0 1px 3px #00000073, 0 0 0 4px var(--accent-ring), 0 0 24px -4px var(--violet);outline:none}.wallet-modal__error{color:var(--danger);margin:0;font-size:13px;line-height:1.4}.wallet-modal__success{color:var(--ok);margin:0;font-size:13px;line-height:1.4}.provider-buttons{flex-direction:column;align-items:stretch;gap:10px;display:flex}.provider-buttons[aria-disabled=true]{opacity:.6;pointer-events:none}.provider-buttons__google{justify-content:center;min-height:44px;display:flex}.provider-buttons__apple{border-radius:var(--radius-pill);color:#000;height:40px;font:inherit;cursor:pointer;background:#fff;border:0;justify-content:center;align-items:center;gap:8px;font-size:14px;font-weight:600;display:inline-flex;box-shadow:0 6px 18px -8px #0009}.provider-buttons__apple:disabled{opacity:.6;cursor:default}.wallet-modal{z-index:1000;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0803198c;justify-content:center;align-items:center;padding:16px;animation:.18s ease-out fade-in;display:flex;position:fixed;inset:0}@keyframes fade-in{0%{opacity:0}}.wallet-modal__panel{background:var(--glass-fill-strong);text-align:left;border-radius:28px;flex-direction:column;gap:14px;width:400px;max-width:100%;max-height:calc(100svh - 32px);padding:26px;animation:.24s cubic-bezier(.2,.9,.3,1.2) pop-in;display:flex;overflow-y:auto}.wallet-modal__panel>*{position:relative}@keyframes pop-in{0%{opacity:0;transform:translateY(8px)scale(.96)}}.wallet-modal__title{margin:0;font-size:22px;font-weight:800}.wallet-modal__kv{border-radius:var(--radius);background:#0a041e66;grid-template-columns:auto 1fr;gap:8px 14px;margin:0;padding:14px 16px;font-size:13px;display:grid;box-shadow:inset 0 1px 3px #0006}.wallet-modal__kv dt{color:var(--text-dim)}.wallet-modal__kv dd{color:var(--text-h);word-break:break-all;margin:0}.wallet-modal__actions{justify-content:flex-end;gap:8px;display:flex}.account-dialog__email summary{cursor:pointer;color:var(--accent);margin-bottom:12px;font-size:14px;font-weight:600}.account-dialog__danger{border-radius:var(--radius);color:var(--text-h);background:#ff5b7f1f;border:1px solid #ff5b7f59;flex-direction:column;gap:10px;padding:14px 16px;font-size:13px;line-height:1.45;display:flex}.account-dialog__danger-btn{color:#fff;background:linear-gradient(#ff7d98,#e8335d);border-color:#ff96aa99;align-self:flex-start}.account-dialog__danger-btn:hover:not(:disabled){background:linear-gradient(#ff93a9,#f04068)}.lobby{--lobby-max:1240px;--lobby-gutter:16px;min-height:100svh}.lobby__content{max-width:var(--lobby-max);padding:28px var(--lobby-gutter) 56px;margin:0 auto}.lobby__title{background:linear-gradient(95deg, #fff 0%, #ffd0f0 45%, var(--gold-1) 100%);color:#0000;-webkit-background-clip:text;background-clip:text;margin:0 0 4px;font-size:clamp(30px,4.5vw,44px)}.lobby__subtitle{color:var(--text);margin:0 0 22px;font-size:15px}.lobby__grid{grid-template-columns:repeat(auto-fill,minmax(330px,1fr));gap:28px;margin:0;padding:0;list-style:none;display:grid}.lobby__status{min-height:80px;color:var(--text);text-align:center;flex-direction:column;align-items:center;gap:12px;padding:28px 0;display:flex}.lobby__status .error{color:var(--danger);font-size:14px}.lobby__end{color:var(--text-dim);font-size:13px}.lobby__spinner{background:conic-gradient(from 0deg, transparent, var(--gold-2), var(--magenta), transparent 75%);border-radius:50%;width:30px;height:30px;animation:.9s linear infinite spin;-webkit-mask:radial-gradient(farthest-side,#0000 calc(100% - 4px),#000 calc(100% - 3px));mask:radial-gradient(farthest-side,#0000 calc(100% - 4px),#000 calc(100% - 3px))}@keyframes spin{to{transform:rotate(360deg)}}.game-card{--hue:280;height:100%;color:inherit;-webkit-backdrop-filter:blur(18px)saturate(160%);backdrop-filter:blur(18px)saturate(160%);background:linear-gradient(160deg,#ffffff21,#ffffff08 60%);border:1px solid #ffffff29;border-radius:32px;flex-direction:column;padding:12px;text-decoration:none;transition:transform .2s cubic-bezier(.2,.9,.3,1.2),box-shadow .25s,border-color .25s;display:flex;position:relative;box-shadow:inset 0 1px #ffffff59,0 12px 30px -14px #000000b3}.game-card:hover{box-shadow:inset 0 1px 0 #ffffff80, 0 0 0 1px hsla(var(--hue), 100%, 70%, .35), 0 18px 40px -12px hsla(var(--hue), 100%, 55%, .55);border-color:#ffffff59;text-decoration:none;transform:translateY(-5px)scale(1.02)}.game-card:focus-visible{box-shadow:inset 0 1px 0 #ffffff80, 0 0 0 4px var(--accent-ring);outline:none}.game-card__art{aspect-ratio:4/3;background:radial-gradient(90% 80% at 20% 10%, hsla(calc(var(--hue) + 40), 100%, 70%, .9), transparent 60%), radial-gradient(90% 90% at 90% 100%, hsla(calc(var(--hue) - 40), 100%, 45%, .95), transparent 65%), hsl(var(--hue), 70%, 30%);border-radius:22px;justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden;box-shadow:inset 0 0 0 1px #ffffff1f}.game-card__art img{object-fit:cover;width:100%;height:100%;transition:transform .4s;display:block}.game-card:hover .game-card__art img{transform:scale(1.06)}.game-card__art:after{content:"";pointer-events:none;background:linear-gradient(115deg,#0000 30%,#ffffff59 45%,#0000 60%);transition:transform .7s;position:absolute;inset:0;transform:translate(-120%)}.game-card:hover .game-card__art:after{transform:translate(120%)}.game-card__placeholder{letter-spacing:.02em;color:#ffffffeb;text-shadow:0 4px 18px #00000059;font-size:76px;font-weight:800}.game-card__play{opacity:0;pointer-events:none;padding:13px 34px;font-size:17px;transition:opacity .2s,transform .25s cubic-bezier(.2,.9,.3,1.2);position:absolute;bottom:20px;left:50%;transform:translate(-50%,8px)}.game-card:hover .game-card__play,.game-card:focus-visible .game-card__play{opacity:1;transform:translate(-50%)}.game-card__meta{flex-direction:column;gap:3px;min-width:0;padding:16px 10px 8px;display:flex}.game-card__title{color:var(--text-h);white-space:nowrap;text-overflow:ellipsis;font-size:21px;font-weight:700;overflow:hidden}.game-card__provider{color:var(--text-dim);white-space:nowrap;text-overflow:ellipsis;text-transform:uppercase;letter-spacing:.06em;font-size:13px;overflow:hidden}@media (hover:none){.game-card__play{opacity:1;transform:translate(-50%)}}@media (prefers-reduced-motion:reduce){.game-card,.game-card__art img,.game-card__art:after,.wallet-bar__btn--primary:after{transition:none;animation:none}.game-card:hover{transform:none}}@media (width<=560px){.lobby__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.wallet-bar{border-radius:22px;flex-wrap:wrap;padding:8px 10px}.wallet-bar__actions{justify-content:flex-end;width:100%}.wallet-bar__btn{padding:9px 14px}.game-card__placeholder{font-size:34px}.game-card{border-radius:22px;padding:8px}.game-card__title{font-size:15px}}
