@font-face { font-family: "Source Sans 3"; src: url('/static/SourceSans3-Regular.woff2') format('woff2'); font-weight: 400; font-display: swap; }
* { box-sizing: border-box; } [hidden] { display:none !important; }
body { margin:0; min-height:100vh; min-height:100dvh; background:#f6f3eb; color:#252920; font-family:"Source Sans 3",sans-serif; font-size:16px; line-height:1.45; padding:20px 16px; }
body[data-authenticated="false"] { display:grid; align-content:center; }
body[data-authenticated="false"] main { width:100%; max-width:360px; margin:0 auto; }
body[data-design="old"] { background:#f2f6f3; color:#15251d; }
@media(prefers-color-scheme:dark) { body[data-design="old"] { background:#0e1713; color:#e6efe9; } }
form { margin:0; } input { font:inherit; padding:12px; width:100%; border:1px solid #cecec1; border-radius:2px; background:#fffdf7; color:#252920; }
input:focus-visible,button:focus-visible { outline:3px solid #943c2d; outline-offset:2px; }
#message { padding:12px 14px; border:1px solid #675326; margin:0 0 18px; }
.me { display:flex; flex-direction:column; gap:16px; } label { display:flex; flex-direction:column; gap:6px; }
button { font:inherit; padding:11px 14px; border:1px solid #cecec1; border-radius:2px; cursor:pointer; min-height:44px; }
.primary { background:#943c2d; color:#fffdf7; } .ghost { background:transparent; color:inherit; } .hint { font-size:.88rem; }
