:root {
  color-scheme: dark;
  font-family: Inter, system-ui, sans-serif;
  background: #000;
  color: #fff;
  font-synthesis: none;
}

* { box-sizing: border-box; }

body {
  display: grid;
  min-height: 100vh;
  min-height: 100svh;
  margin: 0;
  padding: clamp(32px, 8vh, 80px) 24px;
  place-items: center;
}

main { width: 100%; }
header { text-align: center; }

.brand {
  margin: 0 0 20px;
  font-size: 0.8rem;
  font-weight: 700;
  letter-spacing: 0.22em;
  text-transform: uppercase;
}

h1 {
  margin: 0;
  font-size: max(2.3rem, 9.3vw);
  text-wrap: balance;
  font-weight: 650;
  letter-spacing: -0.07em;
  line-height: 1.05;
}

.intro {
  max-width: 43ch;
  margin: 24px auto 0;
  color: #ccc;
  font-size: 0.96rem;
  line-height: 1.7;
}

section { max-width: 340px; margin: 36px auto 0; }
.field { margin-bottom: 16px; }

label {
  display: block;
  margin-bottom: 8px;
  font-size: 0.9rem;
  font-weight: 550;
}

input, button {
  width: 100%;
  min-height: 48px;
  padding: 10px 14px;
  border: 1px solid #686868;
  border-radius: 9px;
  font: inherit;
}

input { background: #111; color: #fff; }
button { background: #fff; color: #000; font-weight: 650; }
button:disabled { background: #d0d0d0; border-color: #d0d0d0; }
input:disabled, button:disabled { cursor: not-allowed; opacity: 1; }

#login-status {
  margin: 14px 0 0;
  color: #bdbdbd;
  text-align: center;
  font-size: 0.83rem;
  line-height: 1.5;
}
