.auth-wrap {
    max-width: 28rem;
    margin: 2rem auto;
    padding: 1.5rem;
}

.auth-wrap h1 {
    font-size: 160%;
    text-align: center;
    margin-bottom: 0.5rem;
}

.auth-wrap .subtitle {
    text-align: center;
    font-size: 90%;
    color: #00cc66;
    margin-bottom: 1.5rem;
}

.auth-form label {
    display: block;
    margin-top: 0.75rem;
    margin-bottom: 0.25rem;
}

.auth-form input[type="text"],
.auth-form input[type="email"],
.auth-form input[type="password"] {
    width: 100%;
    box-sizing: border-box;
    padding: 0.5rem 0.65rem;
    font-family: inherit;
    font-size: 90%;
    background: #0a0a0a;
    color: #00ff00;
    border: 2px solid #00aa44;
    border-radius: 8px;
}

.auth-form input:focus {
    outline: none;
    border-color: #00ff00;
    box-shadow: 0 0 8px #00ff0044;
}

.auth-form input[type="submit"] {
    margin-top: 1.25rem;
    cursor: pointer;
    width: 100%;
    font-family: inherit;
    font-size: 100%;
}

.auth-hint {
    margin: 0 0 1rem;
    font-size: 88%;
    color: #00aa00;
    line-height: 1.4;
}

.auth-links {
    text-align: center;
    margin-top: 1.25rem;
    font-size: 95%;
}

.auth-links a {
    color: #00ff88;
}

.status-msg {
    min-height: 1.25rem;
    margin-top: 0.75rem;
    font-size: 90%;
    text-align: center;
}

.status-msg.error {
    color: #ff4444;
}

.status-msg.ok {
    color: #00ff88;
}