.auth-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:flex;align-items:center;justify-content:center;padding:24px;background:#06080ab8;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);animation:auth-fade .18s ease}@keyframes auth-fade{0%{opacity:0}}.auth-card{position:relative;width:min(400px,100%);max-height:92vh;overflow-y:auto;background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:32px 28px 24px;display:flex;flex-direction:column;gap:14px;box-shadow:0 30px 80px -30px #000000e6}.auth-card h2{font-size:26px}.auth-close{position:absolute;top:10px;right:14px;background:none;border:none;color:var(--dim);font-size:26px;line-height:1;cursor:pointer}.auth-close:hover{color:var(--ink)}.auth-intro{margin:0;color:var(--muted);font-size:14.5px}.auth-card form{display:flex;flex-direction:column;gap:12px}.auth-card label{display:flex;flex-direction:column;gap:6px;font-size:13px;color:var(--muted)}.auth-card input{background:var(--bg-2);border:1px solid var(--line);border-radius:9px;padding:11px 13px;color:var(--ink);font-family:inherit;font-size:15px}.auth-card input:focus{outline:none;border-color:var(--red)}.auth-card .btn{justify-content:center}.auth-sep{display:flex;align-items:center;gap:12px;color:var(--dim);font-size:12.5px;text-transform:uppercase;letter-spacing:.12em}.auth-sep:before,.auth-sep:after{content:"";flex:1;height:1px;background:var(--line)}.auth-link{background:none;border:none;padding:0;color:var(--muted);font:inherit;font-size:13.5px;text-decoration:underline;text-underline-offset:3px;cursor:pointer}.auth-link:hover{color:var(--ink)}.auth-switch{align-self:center}.auth-error,.auth-notice{margin:0;font-size:14px;border-radius:9px;padding:9px 12px}.auth-error{color:#ffb4a4;background:#ff5a3c1a;border:1px solid rgba(255,90,60,.28)}.auth-notice{color:var(--green);background:#3ddc9717;border:1px solid rgba(61,220,151,.26)}.auth-foot{margin:4px 0 0;color:var(--dim);font-size:12.5px;line-height:1.5}.account-slot{display:inline-block;width:36px;height:36px}.account-wrap{position:relative}.account-avatar{width:36px;height:36px;border-radius:50%;border:1px solid var(--line);background:var(--panel-2);color:var(--ink);font-weight:700;font-size:15px;cursor:pointer}.account-avatar:hover{border-color:var(--red)}.account-menu{position:absolute;top:46px;right:0;min-width:210px;display:flex;flex-direction:column;gap:10px;padding:14px;background:var(--panel);border:1px solid var(--line);border-radius:12px;box-shadow:0 20px 50px -20px #000000e6}.account-email{font-size:13px;color:var(--muted);word-break:break-all}.account-link{display:block;width:100%;padding:9px 12px;border-radius:9px;border:1px solid var(--line);font-size:13.5px;color:var(--ink);text-align:center;transition:border-color .2s ease,background .2s ease}.account-link:hover{border-color:#ffffff38;background:#ffffff0a}.discord-btn{display:flex;align-items:center;justify-content:center;gap:9px;width:100%;padding:9px 12px;border:none;border-radius:9px;background:#5865f2;color:#fff;font:inherit;font-size:13.5px;font-weight:600;cursor:pointer;transition:background .14s ease,transform .14s ease}.discord-btn:hover{background:#4752c4}.discord-btn:active{transform:translateY(1px)}.discord-btn svg{width:20px;height:20px;flex-shrink:0;fill:currentColor}.discord-btn.is-linked{background:#3ddc971f;color:var(--green);border:1px solid rgba(61,220,151,.32);cursor:default}.discord-btn.is-linked:hover{background:#3ddc971f}.discord-btn.is-linked:active{transform:none}.account-menu .auth-link{align-self:center}.signout-btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:8px 12px;border:1px solid var(--line);border-radius:9px;background:transparent;color:var(--muted);font:inherit;font-size:13px;font-weight:500;cursor:pointer;transition:border-color .14s ease,color .14s ease,background .14s ease}.signout-btn:hover{border-color:#ff5a3c80;color:#ffb4a4;background:#ff5a3c12}.signout-btn:active{transform:translateY(1px)}.signout-btn svg{width:16px;height:16px;flex-shrink:0;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
