:root {
  color-scheme: light;
  --paper: #fcfbfd;
  --surface: #ffffff;
  --ink: #17131c;
  --muted: #6d6671;
  --line: #d9d2dc;
  --purple: #6b238e;
  --red: #b42336;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Microsoft YaHei", sans-serif;
}

* { box-sizing: border-box; }
html, body { min-width: 320px; min-height: 100%; background: var(--paper); color: var(--ink); }
body { margin: 0; }
button, input { font: inherit; }
:focus-visible { outline: 3px solid rgba(122, 63, 160, .35); outline-offset: 2px; }

.login-screen {
  display: grid;
  width: min(100% - 40px, 360px);
  min-height: 100dvh;
  margin: 0 auto;
  align-content: center;
  gap: 24px;
  padding: 48px 0;
}

.login-screen > img { width: 52px; height: 28px; object-fit: contain; }
.login-title p { margin: 0 0 5px; color: var(--purple); font-size: 13px; font-weight: 750; }
.login-title h1 { margin: 0; font-size: 32px; line-height: 1.2; }
.login-form { display: grid; gap: 10px; }
.login-form label { color: var(--muted); font-size: 14px; font-weight: 650; }
.login-form input {
  width: 100%;
  min-height: 48px;
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 0 13px;
  color: var(--ink);
  background: var(--surface);
}
.login-form button {
  min-height: 48px;
  border: 1px solid var(--purple);
  border-radius: 8px;
  background: var(--purple);
  color: #fff;
  font-weight: 750;
  cursor: pointer;
}
.login-form button:hover { background: #571b75; }
.login-form button:disabled { opacity: .6; cursor: wait; }
.login-message { min-height: 22px; margin: 0; color: var(--red); font-size: 14px; }

@media (max-width: 390px) {
  .login-screen { width: min(100% - 40px, 340px); }
}
