.login-root{min-height:100vh;display:flex;align-items:flex-start;justify-content:center;background:var(--bg-primary);background-image:radial-gradient(ellipse at 50% 0,rgba(29,29,31,.035) 0,transparent 60%);padding:calc(40vh - 200px) 24px 24px}.login-card{width:100%;max-width:380px;background:var(--bg-secondary);border:1px solid var(--border);border-radius:16px;padding:48px 40px 40px;box-shadow:0 1px 2px rgba(0,0,0,.04),0 8px 24px rgba(0,0,0,.06),0 24px 48px rgba(0,0,0,.04);opacity:0;transform:translateY(12px);transition:opacity .5s cubic-bezier(.16,1,.3,1),transform .5s cubic-bezier(.16,1,.3,1)}.login-card--visible{opacity:1;transform:translateY(0)}.login-logo{font-family:Silkscreen,monospace;font-size:22px;color:#000;text-align:center;margin-bottom:24px;opacity:0;transform:scale(.9);transition:opacity .4s ease .05s,transform .4s ease .05s}.login-card--visible .login-logo{opacity:1;transform:scale(1)}.login-title{font-size:15px;font-weight:400;color:var(--text-secondary);text-align:center;letter-spacing:.06em;margin-bottom:28px;opacity:0;transform:translateY(6px);transition:opacity .4s ease .1s,transform .4s ease .1s}.login-card--visible .login-title{opacity:1;transform:translateY(0)}.login-form{display:flex;flex-direction:column;gap:16px;opacity:0;transform:translateY(8px);transition:opacity .4s ease .2s,transform .4s ease .2s}.login-card--visible .login-form{opacity:1;transform:translateY(0);transition-delay:.15s}.login-field{position:relative}.login-input{width:100%;padding:18px 16px 6px;font-size:16px;font-family:inherit;color:var(--text-primary);background:var(--bg-tertiary);border:1.5px solid transparent;border-radius:10px;outline:none;transition:border-color .2s ease,box-shadow .2s ease,background .2s ease;box-sizing:border-box}.login-input::placeholder{color:transparent}.login-input:focus{background:var(--bg-secondary);border-color:var(--accent);box-shadow:0 0 0 4px var(--accent-glow)}.login-input:disabled{opacity:.6;cursor:not-allowed}.login-label{position:absolute;left:16px;top:50%;transform:translateY(-50%);font-size:16px;color:var(--text-muted);pointer-events:none;transition:all .18s ease;transform-origin:left center}.login-input:focus~.login-label,.login-input:not(:placeholder-shown)~.login-label{top:2px;transform:translateY(0) scale(.75);color:var(--text-secondary)}.login-input:focus~.login-label{color:var(--accent)}.login-error{font-size:13px;color:var(--error);text-align:center;margin:0;padding:10px 12px;background:rgba(239,68,68,.06);border-radius:8px;border:1px solid rgba(239,68,68,.15);animation:login-shake .4s ease}.login-btn{margin-top:8px;padding:13px 20px;font-size:15px;font-weight:500;font-family:inherit;color:var(--bg-secondary);background:var(--accent);border:none;border-radius:10px;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease,opacity .15s ease;box-shadow:0 2px 8px rgba(29,29,31,.2),0 1px 2px rgba(29,29,31,.1)}.login-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 16px rgba(29,29,31,.25),0 2px 4px rgba(29,29,31,.12)}.login-btn:active:not(:disabled){transform:translateY(0);box-shadow:0 1px 4px rgba(29,29,31,.15),0 1px 2px rgba(29,29,31,.08)}.login-btn:disabled{opacity:.6;cursor:not-allowed}.login-btn-loading{display:flex;align-items:center;justify-content:center;gap:8px}.login-spinner{width:14px;height:14px;border:2px solid hsla(0,0%,100%,.3);border-top-color:#fff;border-radius:50%;animation:login-spin .7s linear infinite}@keyframes login-spin{to{transform:rotate(1turn)}}@keyframes login-shake{0%,to{transform:translateX(0)}20%{transform:translateX(-4px)}40%{transform:translateX(4px)}60%{transform:translateX(-3px)}80%{transform:translateX(3px)}}