.sign-in .app { height:auto; min-height:100vh }
.sign-in .mast { display:flex; align-items:center; gap:16px; height:46px }
.sign-in .mast .meta { display:block; font-size:11.5px }
.sign-in .reading { display:grid; place-items:center; padding:24px; overflow:visible }
.sign-in .body { width:min(320px,100%); padding:0 0 46px }
.sign-in h1 { font:650 25px/1.25 var(--sans); letter-spacing:-.015em }
.sign-in .sub { margin:6px 0 0; color:var(--muted); font-size:12.5px }
.sign-in form { margin-top:22px }
.sign-in .field { margin-top:16px }
.sign-in .label { display:block; color:var(--muted); font-size:12.5px; font-weight:400; letter-spacing:0;
  text-transform:none }
.sign-in input { display:block; width:100%; border:0; border-bottom:1px solid var(--line); border-radius:0;
  background:transparent; outline:0; padding:5px 0 6px; color:var(--ink); font-size:15px }
.sign-in input:focus { border-bottom-color:var(--rule) }
.sign-in input:-webkit-autofill { -webkit-box-shadow:0 0 0 1000px var(--page) inset; -webkit-text-fill-color:var(--ink) }
.sign-in .hint { max-width:none; margin:5px 0 0 }
.sign-in .hint code { font:12px/1 var(--mono) }
.sign-in .foot { margin-top:24px }
.sign-in .primary:hover { background:color-mix(in srgb,var(--accent) 88%,var(--ink)) }
.sign-in #message { margin:14px 0 0; white-space:pre-wrap; color:var(--bad); font-size:12.5px }
.sign-in #message:empty { display:none }
