:root {
  color-scheme: dark;
  font-family: -apple-system, BlinkMacSystemFont, "Apple SD Gothic Neo", "Noto Sans KR", sans-serif;
  background: #101318;
  color: #ebedf1;
}
* { box-sizing: border-box; }
body { margin: 0; min-height: 100vh; background: radial-gradient(circle at 50% 15%, #232832 0, #101318 46%); }
.login-shell { min-height: 100vh; display: grid; place-items: center; padding: 24px; }
.login-card { width: min(100%, 400px); padding: 42px 36px 34px; border: 1px solid #303743; border-radius: 18px; background: rgba(23, 27, 34, .97); box-shadow: 0 28px 70px rgba(0, 0, 0, .38); }
.brand-icon { color: #e5b85b; font-size: 34px; }
.eyebrow { margin: 20px 0 8px; color: #8e97a6; font-size: 10px; letter-spacing: 2px; }
h1 { margin: 0; font-size: 38px; letter-spacing: 3px; }
h1 span { color: #e5b85b; }
.description { margin: 12px 0 30px; color: #aab1bd; }
label { display: block; margin-bottom: 8px; color: #c6cbd3; font-size: 12px; }
input { width: 100%; height: 52px; padding: 0 15px; border: 1px solid #3b4451; border-radius: 10px; outline: none; background: #101318; color: #fff; font: inherit; font-size: 18px; letter-spacing: 3px; }
input:focus { border-color: #e5b85b; box-shadow: 0 0 0 3px rgba(229, 184, 91, .14); }
button { width: 100%; height: 50px; margin-top: 18px; border: 0; border-radius: 10px; background: #e5b85b; color: #171b22; font: inherit; font-weight: 750; cursor: pointer; }
button:hover { background: #f0c66e; }
.error { margin: 10px 0 -4px; color: #ff8795; font-size: 12px; }
.remember { margin: 20px 0 0; color: #747e8d; font-size: 11px; text-align: center; }
@media (max-width: 480px) { .login-card { padding: 34px 24px 28px; } }
