:root{--bg:#07060c; --panel:#0f0d18; --line:#2a2740; --text:#ececf1; --muted:#8a8898; --accent:#9b7bff; --err:#e07a6b}
*{box-sizing:border-box}
html,body{min-height:100%}
body{
  margin:0; background:var(--bg); color:var(--text);
  font-family:system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
  -webkit-font-smoothing:antialiased; display:flex; flex-direction:column; min-height:100vh;
}
a{color:var(--accent)}
.top{
  display:flex; align-items:center; justify-content:space-between; gap:1rem;
  padding:1rem 1.5rem; border-bottom:1px solid var(--line);
}
.brand{color:var(--text); text-decoration:none; font-weight:800; letter-spacing:.14em; font-size:1rem}
.top nav{display:flex; gap:1.4rem}
.top nav a{color:var(--muted); text-decoration:none; font-size:.9rem; padding:.4rem 0; border-bottom:1px solid transparent}
.top nav a:hover,.top nav a[aria-current]{color:var(--text); border-bottom-color:var(--accent)}
.main{flex:1; display:flex; align-items:center; justify-content:center; padding:2rem; text-align:center}
.wrap{max-width:620px; width:100%}
.wordmark{font-weight:800; font-size:clamp(2.4rem,9vw,4.2rem); letter-spacing:.14em; margin:0; text-indent:.14em}
.rule{width:64px; height:1px; background:var(--accent); margin:1.6rem auto; border:0}
.note{color:var(--muted); font-size:.9rem; margin:0; line-height:1.6}
h1.title{font-size:1.6rem; margin:0}
form{text-align:left; margin-top:1.5rem}
.field{margin-bottom:1.1rem}
.field label{display:block; font-size:.75rem; letter-spacing:.1em; text-transform:uppercase; color:var(--muted); margin-bottom:.4rem}
.field input,.field textarea{
  width:100%; background:var(--panel); border:1px solid var(--line); color:var(--text);
  font:inherit; padding:.8rem .9rem; border-radius:0; min-height:44px;
}
.field textarea{min-height:130px; resize:vertical}
.field input:focus,.field textarea:focus{outline:none; border-color:var(--accent)}
.field input[aria-invalid],.field textarea[aria-invalid]{border-color:var(--err)}
.field-error{color:var(--err); font-size:.85rem; margin:.4rem 0 0}
.field-error[hidden]{display:none}
form > .field-error{margin:1rem 0 0}
.btn{background:var(--accent); color:#0a0814; border:0; font:inherit; font-weight:700; padding:.8rem 1.6rem; cursor:pointer; min-height:44px}
.btn:disabled{opacity:.6; cursor:wait}
.hp{position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden}
