:root{color-scheme:dark;font-family:'DM Sans',Arial,sans-serif;background:#1d1d1d;color:#f5f3f0}
*{box-sizing:border-box}
body{margin:0;min-height:100vh;background:#1d1d1d}
a{color:inherit}
.login-shell{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:44px 20px;gap:28px}
.login-brand{display:block;width:min(220px,65vw);height:auto;align-self:center}
.login-card{width:min(100%,540px);padding:clamp(28px,6vw,62px);background:#272727;border:1px solid #444}
.eyebrow{margin:0 0 30px;font-size:.72rem;letter-spacing:.2em;color:#f36333;font-weight:700}
h1{margin:0;font-size:clamp(3rem,9vw,5rem);line-height:.98;letter-spacing:-.07em;font-weight:600}
h1 em{font-family:'DM Serif Display',Georgia,serif;font-weight:400;color:#f36333}
.intro{margin:28px 0 26px;color:#cac7c4;line-height:1.6;font-size:1rem}
.message{padding:14px 16px;margin:0 0 22px;border-left:3px solid #f36333;background:#333;line-height:1.5}
.message.error{border-color:#e59683}
form{margin:0}
.button{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:58px;padding:14px 19px;font:600 1rem 'DM Sans',Arial,sans-serif;cursor:pointer;border:1px solid #777;transition:background .25s ease,color .25s ease,border-color .25s ease}
.button:focus-visible,input:focus-visible,a:focus-visible{outline:2px solid #fff;outline-offset:4px}
.primary{background:#f36333;color:#fff;border-color:#f36333}
.primary:hover{background:#d84f21;border-color:#d84f21}
.secondary{background:transparent;color:#fff}
.secondary:hover{background:#fff;color:#1d1d1d}
.code-form{display:grid;gap:12px;margin-top:26px}
.code-form label{font-size:.85rem;font-weight:600}
.code-form input{width:100%;height:60px;padding:14px 18px;background:#1d1d1d;border:1px solid #888;color:#fff;font:600 1.5rem 'DM Sans',Arial,sans-serif;letter-spacing:.25em}
.code-form input::placeholder{color:#666}
.help{font-size:.79rem;line-height:1.5;color:#aaa;margin:22px 0 0}
.back{font-size:.85rem;text-decoration:none;color:#bdbab7}
.back:hover{text-decoration:underline}
.trap{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
