:root{--accent:#36b5d8;--on-accent:#08131a;--accent-hover:color-mix(in srgb, var(--accent) 86%, #fff);--fg:#e1e1e1;--muted:rgba(207, 207, 207, 0.62);--bg:#121212;--bg-panel:#1a1a1a;--steel:#272727;--steel-fg:#efefef;--steel-hover:color-mix(in srgb, #272727 92%, #fff);--loss:#e04848;--loss-text:#e04848;--discord:#5865f2;--line:rgba(255, 255, 255, 0.1);--ui:"Segoe UI",system-ui,-apple-system,sans-serif;color-scheme:dark}@media (prefers-color-scheme:light){:root:not([data-theme=dark]){--fg:#14171a;--muted:rgba(50, 55, 60, 0.7);--bg:#f2f3f5;--bg-panel:#ffffff;--steel:#d8d8d8;--steel-fg:#161616;--steel-hover:color-mix(in srgb, #d8d8d8 94%, #000);--loss-text:#b83a3a;--line:rgba(0, 0, 0, 0.1);color-scheme:light}}:root[data-theme=light]{--fg:#14171a;--muted:rgba(50, 55, 60, 0.7);--bg:#f2f3f5;--bg-panel:#ffffff;--steel:#d8d8d8;--steel-fg:#161616;--steel-hover:color-mix(in srgb, #d8d8d8 94%, #000);--loss-text:#b83a3a;--line:rgba(0, 0, 0, 0.1);color-scheme:light}:root[data-theme=dark]{--fg:#e1e1e1;--muted:rgba(207, 207, 207, 0.62);--bg:#121212;--bg-panel:#1a1a1a;--steel:#272727;--steel-fg:#efefef;--steel-hover:color-mix(in srgb, #272727 92%, #fff);--loss-text:#e04848;--line:rgba(255, 255, 255, 0.1);color-scheme:dark}*{box-sizing:border-box}body,html{height:100%}body{margin:0;background:var(--bg);color:var(--fg);font:14px/1.5 var(--ui)}.login-light{position:fixed;left:50%;transform:translateX(-50%);pointer-events:none;z-index:0}.login-light-outer{top:-30%;width:120%;height:90%;background:radial-gradient(ellipse 55% 65% at 50% 0,color-mix(in srgb,var(--accent) 22%,transparent) 0,color-mix(in srgb,var(--accent) 9%,transparent) 40%,transparent 70%)}.login-light-inner{top:-5%;width:50%;height:70%;background:radial-gradient(ellipse 40% 60% at 50% 0,color-mix(in srgb,color-mix(in srgb,var(--accent) 60%,#fff) 28%,transparent) 0,color-mix(in srgb,var(--accent) 10%,transparent) 35%,transparent 65%)}.login{position:relative;z-index:1}.login{min-height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:clamp(20px,4vh,36px);padding-inline:16px;padding-block:40px}.stage{display:block;width:min(520px,100%);height:auto}.stage{--node-bg:var(--bg);position:relative;z-index:2}.login-panel{position:relative;z-index:1}.stage .ink{fill:var(--fg)}.stage .acc{fill:var(--accent)}.stage .streak{stroke:var(--accent);stroke-linecap:butt;stroke-linejoin:round;fill:none}.ak-panel{background:var(--bg-panel)}.login-panel{width:min(400px,100%);padding:24px;display:flex;flex-direction:column;gap:16px}.login-panel h1{margin:0;font-size:17px;font-weight:700;letter-spacing:.01em}.login-panel p{margin:0;color:var(--muted);font-size:13.5px}.login-error{background:color-mix(in srgb,var(--loss) 13%,var(--bg-panel));color:var(--loss-text);padding:10px 12px;font-size:13px}.btn{border:none;border-radius:0;cursor:pointer;text-decoration:none;font:700 11px/1 var(--ui);letter-spacing:1.8px;text-transform:uppercase;padding:14px 22px;transition:background .14s ease,color .14s ease,transform .14s cubic-bezier(.2, 0, 0, 1)}.btn:active{transform:scale(.96)}.btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.btn-primary{background:var(--accent);color:var(--on-accent)}.btn-primary:hover{background:var(--accent-hover)}.btn-secondary{background:var(--steel);color:var(--steel-fg)}.btn-secondary:hover{background:var(--steel-hover)}.btn-block{display:flex;align-items:center;justify-content:center;gap:10px;width:100%}.login-discord{position:relative;overflow:hidden;isolation:isolate;background:var(--discord);color:#fff;padding-block:16px}.login-discord:hover{background:color-mix(in srgb,var(--discord) 88%,#fff)}.login-discord-icon{width:18px;height:18px;flex:none}.login-discord-mark{position:absolute;z-index:-1;right:-8px;top:50%;width:50px;height:50px;pointer-events:none;color:color-mix(in srgb,#fff 14%,var(--discord));transform:translateY(-50%);transition:color .2s ease 80ms,transform .2s cubic-bezier(.2, 0, 0, 1)}.login-discord:hover .login-discord-mark{transform:translateY(-50%) scale(1.08);color:color-mix(in srgb,#fff 22%,var(--discord))}.btn.is-busy{pointer-events:none}.btn.is-busy::after{content:'';display:inline-block;width:9px;height:9px;border:1.5px solid currentColor;border-top-color:transparent;border-radius:50%;animation:spin .6s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.play .login-panel{animation:rise .42s cubic-bezier(.2,0,0,1) .7s both}.play .login-panel>h1{animation:slide .3s cubic-bezier(.2,0,0,1) .8s both}.play .login-panel>.login-error,.play .login-panel>p{animation:slide .3s cubic-bezier(.2,0,0,1) .86s both}.play .login-discord{animation:wipe .36s cubic-bezier(.2,0,0,1) .94s both}.play .login-discord>.login-discord-icon{animation:slide .26s cubic-bezier(.2,0,0,1) 1.12s both}.play .login-discord>.login-discord-mark{animation:mark-in .5s cubic-bezier(.2,0,0,1) 1.02s both}.play .login-discord>span{animation:slide .26s cubic-bezier(.2,0,0,1) 1.18s both}@keyframes rise{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}@keyframes slide{from{opacity:0;transform:translateX(-12px)}to{opacity:1;transform:none}}@keyframes mark-in{from{opacity:0;transform:translate(24px,-50%)}to{opacity:1;transform:translate(0,-50%)}}@keyframes wipe{from{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0 0 0 0)}}@media (prefers-reduced-motion:reduce){.play .login-discord>*,.play .login-panel,.play .login-panel>*{animation:none}.login-discord-mark{transition:none}}.login-note{background:color-mix(in srgb,var(--accent) 12%,var(--bg-panel));color:var(--fg);padding:10px 12px;font-size:13px}.login-privacy{position:relative;z-index:1;color:var(--muted);text-decoration:none;font:600 10.5px/1 var(--ui);letter-spacing:.16em;text-transform:uppercase;padding:6px;transition:color .14s ease}.login-privacy:hover{color:var(--accent)}.login-privacy:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.play .login-panel>.login-note{animation:slide .3s cubic-bezier(.2,0,0,1) .86s both}.play .login-privacy{animation:rise .42s cubic-bezier(.2,0,0,1) 1.2s both}@media (prefers-reduced-motion:reduce){.play .login-privacy{animation:none}}.js .login:not(.play) .login-panel,.js .login:not(.play) .login-privacy{opacity:0;animation:login-failsafe .3s ease 3s forwards}@keyframes login-failsafe{to{opacity:1}}