/*! @license Custom Non-Commercial | (c) 2026 Nekolive.net | contact@nekolive.net */.login-footer a,.oauth-btn{text-decoration:none}.login-loading.show,.oauth-btn,body{display:flex}body{align-items:center;justify-content:center;min-height:100vh;padding:24px}.login-wrap{width:100%;max-width:400px}.login-brand{text-align:center;margin-bottom:40px}.login-brand h1{font-family:var(--font-mono);font-size:26px;font-weight:700;color:var(--accent);letter-spacing:1px;margin-bottom:8px}.login-brand p{font-size:13px;color:var(--text-muted)}.login-footer a,.oauth-btn:hover .oauth-arrow{color:var(--accent)}.login-card{background-color:var(--bg-secondary);border:1px solid var(--border);padding:36px 32px}.login-section-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:12px}.oauth-btn{align-items:center;gap:12px;width:100%;padding:12px 16px;background-color:var(--bg-tertiary);border:1px solid var(--border-strong);color:var(--text-primary);font-family:var(--font-sans);font-size:13px;font-weight:500;cursor:pointer;transition:background-color .15s,border-color .15s,color .15s;margin-bottom:10px}.oauth-btn:last-of-type{margin-bottom:0}.oauth-btn:hover{background-color:#222;border-color:var(--accent)}.oauth-icon{width:18px;height:18px;flex-shrink:0}.oauth-label{flex:1}.oauth-arrow{color:var(--text-muted);font-size:15px;transition:color .15s}.login-footer{margin-top:24px;padding-top:20px;border-top:1px solid var(--border);font-size:11px;color:var(--text-muted);text-align:center;line-height:1.7}.login-footer a:hover{text-decoration:underline}.login-loading{display:none;position:fixed;inset:0;background-color:rgba(0,0,0,.7);z-index:99;align-items:center;justify-content:center;flex-direction:column;gap:16px}.loading-spinner{width:32px;height:32px;border:2px solid var(--border-strong);border-top-color:var(--accent);border-radius:50%;animation:.7s linear infinite spin}.loading-text{font-size:13px;color:var(--text-secondary)}@keyframes spin{to{transform:rotate(360deg)}}