blob: 00fb5d7082eb2faa3ecb4bb3ba3e8f48f109c3d2 [file] [log] [blame] [edit]
.auth-container {
display: flex;
align-items: center;
justify-content: space-between;
min-height: 100vh;
font-family: 'PingFang SC', 'Microsoft YaHei', sans-serif;
/* background: linear-gradient(135deg, #be8e9d 0%, #c48d74 100%); */
background: url('a.jpg') no-repeat center center fixed;
background-size: cover;
padding: 0 5%;
position: relative;
overflow: hidden;
}
.auth-container::before {
content: '';
position: absolute;
top: -50%;
left: -50%;
width: 200%;
height: 200%;
background: radial-gradient(circle, rgba(255,255,255,0.1) 0%, rgba(255,255,255,0) 70%);
transform: rotate(30deg);
}
.logo-container {
flex: 1;
display: flex;
justify-content: center;
align-items: center;
padding: 2rem;
z-index: 1;
}
.site-logo {
width: 350px;
margin-left: -15%;
height: auto;
filter: drop-shadow(0 0 10px rgba(255, 255, 255, 0.3));
}
.glass-card {
width: 35%;
margin-right: 10%;
background: rgba(255, 255, 255, 0.15);
backdrop-filter: blur(12px);
-webkit-backdrop-filter: blur(12px);
border-radius: 16px;
box-shadow: 0 8px 32px rgba(0, 0, 0, 0.18);
border: 1px solid rgba(255, 255, 255, 0.18);
overflow: hidden;
z-index: 2;
transition: all 0.3s ease;
}
.glass-card:hover {
transform: translateY(-5px);
box-shadow: 0 12px 40px rgba(0, 0, 0, 0.25);
}
.auth-header {
display: flex;
background: rgba(255, 255, 255, 0.1);
}
.auth-tab {
flex: 1;
padding: 20px;
text-align: center;
font-size: 18px;
font-weight: 500;
cursor: pointer;
transition: all 0.3s ease;
color: rgba(255, 255, 255, 0.7);
position: relative;
}
.auth-tab.active {
color: white;
font-weight: 600;
}
.auth-tab.active::after {
content: '';
position: absolute;
bottom: 0;
left: 50%;
transform: translateX(-50%);
width: 60%;
height: 3px;
background: white;
border-radius: 3px;
}
.auth-tab:not(.active):hover {
background: rgba(255, 255, 255, 0.05);
}
.auth-content {
padding: 30px;
}
.auth-form {
display: flex;
flex-direction: column;
gap: 20px;
}
.form-group {
display: flex;
flex-direction: column;
gap: 8px;
}
.form-group label {
font-weight: 500;
color: rgba(255, 255, 255, 0.9);
text-align: left;
align-self: flex-start;
}
.form-group input[type="text"],
.form-group input[type="email"],
.form-group input[type="password"] {
padding: 14px 16px;
background: rgba(255, 255, 255, 0.1);
border: 1px solid rgba(255, 255, 255, 0.2);
border-radius: 8px;
font-size: 16px;
color: white;
transition: all 0.3s ease;
}
.form-group input::placeholder {
color: rgba(255, 255, 255, 0.5);
}
.form-group input:focus {
background: rgba(255, 255, 255, 0.2);
border-color: rgba(255, 255, 255, 0.4);
outline: none;
box-shadow: 0 0 0 3px rgba(255, 255, 255, 0.1);
}
.auth-button {
background: rgba(255, 255, 255, 0.2);
color: white;
border: none;
border-radius: 8px;
padding: 16px;
font-size: 16px;
font-weight: 500;
cursor: pointer;
transition: all 0.3s ease;
margin-top: 10px;
backdrop-filter: blur(5px);
border: 1px solid rgba(255, 255, 255, 0.2);
}
.auth-button:hover {
background: rgba(255, 255, 255, 0.3);
transform: translateY(-2px);
}
.forgot-password {
color: rgba(255, 255, 255, 0.7);
text-decoration: none;
font-size: 14px;
transition: all 0.3s ease;
}
.forgot-password:hover {
color: white;
text-decoration: underline;
}
.error-message {
color: #ff6b6b;
font-size: 14px;
margin-top: 4px;
text-shadow: 0 1px 1px rgba(0, 0, 0, 0.1);
}
/* 响应式调整 */
@media (max-width: 768px) {
.auth-container {
flex-direction: column;
padding: 40px 20px;
justify-content: flex-start;
}
.logo-container {
margin-bottom: 40px;
}
.glass-card {
max-width: 100%;
}
}
@media (max-width: 480px) {
.auth-content {
padding: 20px;
}
.auth-tab {
padding: 16px;
font-size: 16px;
}
}