@import url('https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Manrope:wght@400;600;700;800&display=swap');
:root { --ink:#eef2f4; --muted:#9eafb7; --line:#33474f; --panel:#17232b; --deep:#0c151a; --gold:#d3a35a; --mint:#73d2ad; font-family:Manrope,system-ui,sans-serif; color-scheme:dark; }
* { box-sizing:border-box; }
body { margin:0; min-height:100vh; background:#0d171c; color:var(--ink); }
a { color:inherit; text-decoration:none; }
.site-header { width:min(1180px,calc(100% - 40px)); margin:auto; padding:25px 0; display:flex; align-items:center; justify-content:space-between; }
.brand { display:flex; align-items:center; gap:12px; font-weight:800; letter-spacing:.01em; }
.mark { display:grid; place-items:center; width:32px; height:32px; border:1px solid #927143; color:#f4d295; font-family:serif; font-size:20px; }
.back-link { color:var(--muted); font-size:14px; }
.form-page { min-height:calc(100vh - 82px); display:grid; place-items:center; padding:30px 20px 80px; }
.form-shell { width:min(500px,100%); padding:38px; background:var(--panel); border:1px solid var(--line); border-radius:8px; box-shadow:0 20px 80px #071014; }
.eyebrow { color:var(--gold); font:500 12px 'DM Mono',monospace; text-transform:uppercase; letter-spacing:.08em; }
h1 { margin:12px 0 8px; font-size:clamp(30px,7vw,48px); line-height:1.1; }
.lead { color:var(--muted); line-height:1.7; margin:0 0 28px; }
label { display:block; margin:18px 0 7px; color:#dce7ea; font-size:14px; font-weight:700; }
input { width:100%; padding:13px 14px; border:1px solid #526a73; border-radius:5px; background:var(--deep); color:#fff; font:16px 'DM Mono',monospace; outline:none; }
input:focus { border-color:var(--gold); box-shadow:0 0 0 3px #d3a35a20; }
small { display:block; margin-top:7px; color:#82959d; font-size:12px; }
button { width:100%; margin-top:26px; padding:14px 16px; border:0; border-radius:5px; background:var(--gold); color:#101820; font-weight:800; font-size:15px; cursor:pointer; }
button:hover { background:#e0b56b; }
.notice { margin-top:22px; padding:13px 15px; border-left:3px solid #d98b72; background:var(--deep); line-height:1.6; }
.notice.success { border-color:var(--mint); }
@media (max-width:560px) { .site-header { width:calc(100% - 32px); padding:18px 0; } .form-shell { padding:28px 22px; } }
