:root { color-scheme: dark; --bg:#0d0d0f; --panel:#18181b; --line:#2a2a2f; --text:#e7e7ea; --dim:#8b8b93; --accent:#ff5a3c; }
* { box-sizing: border-box; }
html, body { margin: 0; height: 100%; background: var(--bg); color: var(--text); font: 16px/1.4 -apple-system, BlinkMacSystemFont, "SF Pro Text", "Inter", "Segoe UI", system-ui, sans-serif; -webkit-font-smoothing: antialiased; }
.gate { min-height: 100%; display: grid; place-items: center; padding: 24px 16px env(safe-area-inset-bottom); }
form { width: min(340px, 100%); display: grid; gap: 14px; justify-items: center; }
.mark { color: var(--dim); }
h1 { font-size: 17px; font-weight: 600; letter-spacing: .02em; margin: 0 0 6px; color: var(--text); }
input[type=password] { width: 100%; height: 48px; border-radius: 12px; border: 1px solid var(--line); background: var(--panel); color: var(--text); padding: 0 16px; font-size: 17px; outline: none; }
input[type=password]:focus { border-color: #4a4a52; box-shadow: 0 0 0 3px rgba(255,255,255,.06); }
button { width: 100%; height: 48px; border-radius: 12px; border: 0; background: #e7e7ea; color: #111; font-size: 16px; font-weight: 600; cursor: pointer; }
button:disabled { opacity: .5; }
#msg { min-height: 1.4em; margin: 0; font-size: 14px; color: var(--accent); text-align: center; }
.sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
