:root {
  color-scheme: light;
  font: 16px/1.5 "Segoe UI", system-ui, sans-serif;
  color: #202c45;
  background: #eef1f7;
}
*, *::before, *::after { box-sizing: border-box; }
body { margin: 0; }
main {
  min-height: 100vh;
  min-height: 100svh;
  display: grid;
  align-content: center;
  justify-items: center;
  padding: 28px 16px;
}
.window {
  width: min(100%, 402px);
  padding: clamp(24px, 6vw, 40px);
  background: #fff;
  border: 1px solid #d6dce8;
  border-radius: 14px;
  box-shadow: 0 8px 32px #2333540a;
}
.brand { display: flex; align-items: center; gap: 10px; font-size: 1.08rem; font-weight: 650; letter-spacing: -.035em; }
h1 { margin: 28px 0 22px; font-size: clamp(1.85rem, 6vw, 2.15rem); line-height: 1.18; letter-spacing: -.045em; font-weight: 630; }
label { display: block; margin-bottom: 5px; font-size: .93rem; font-weight: 550; }
input, button { display: block; width: 100%; border-radius: 6px; font: inherit; min-height: 46px; }
input { margin: 0 0 16px; padding: 8px 12px; border: 1px solid #a9b5cc; background: #fcfdff; color: #202c45; }
button { margin-top: 24px; border: 1px solid #334d82; background: #334d82; color: white; font-weight: 600; cursor: pointer; }
button:hover { background: #293e69; }
button:disabled { cursor: default; }
:focus-visible { outline: 3px solid #5b7eb6; outline-offset: 2px; }
#notice:not(:empty), noscript p { margin: 14px 0 0; color: #883848; font-size: .92rem; }
#notice:empty { margin: 0; }
