:root { color-scheme: dark; }
* { box-sizing: border-box; }
body { margin: 0; min-height: 100vh; display: grid; place-items: center; background: #14161a; color: #e8e9eb; font: 16px/1.5 system-ui, sans-serif; }
.gate { width: min(92vw, 340px); }
h1 { font-size: 1.4rem; font-weight: 600; margin: 0 0 1rem; }
label { display: block; font-size: .85rem; color: #9aa0a8; margin-bottom: .3rem; }
input { width: 100%; padding: .7rem .8rem; font-size: 1rem; background: #1d2026; color: inherit; border: 1px solid #343944; border-radius: 6px; }
input:focus { outline: 2px solid #6d9eeb; outline-offset: 1px; }
button { width: 100%; margin-top: .8rem; padding: .7rem; font-size: 1rem; background: #e8e9eb; color: #14161a; border: 0; border-radius: 6px; cursor: pointer; font-weight: 600; }
.msg { margin: 0 0 1rem; padding: .6rem .8rem; background: #2a1d1f; border: 1px solid #5b3338; border-radius: 6px; color: #f0b4b9; }
