:root{
  --bg:#070809;
  --panel:#0f1115;
  --panel-border:#1c2027;
  --text:#e6eaf2;
  --muted:#7b8290;
  --accent:#7cc4ff;
  --accent-dim:#3a6fa0;
  --danger:#ff7a7a;
}
*{box-sizing:border-box;margin:0;padding:0}
html,body{height:100%}
body{
  font-family:'Inter',-apple-system,system-ui,sans-serif;
  background:var(--bg);
  color:var(--text);
  display:flex;align-items:center;justify-content:center;
  min-height:100vh;
  position:relative;overflow:hidden;
}
/* aura arcana di fondo */
body::before{
  content:"";position:fixed;inset:0;z-index:0;
  background:
    radial-gradient(900px 600px at 50% -10%, rgba(124,196,255,.08), transparent 60%),
    radial-gradient(700px 500px at 80% 110%, rgba(124,196,255,.05), transparent 60%);
  pointer-events:none;
}
body::after{
  content:"";position:fixed;inset:0;z-index:0;opacity:.4;pointer-events:none;
  background-image:radial-gradient(rgba(255,255,255,.035) 1px, transparent 1px);
  background-size:42px 42px;
}

.wrap{position:relative;z-index:1;width:100%;max-width:380px;padding:24px;text-align:center}

.mark{
  width:64px;height:64px;margin:0 auto 22px;
  display:flex;align-items:center;justify-content:center;
}
.mark svg{width:100%;height:100%;filter:drop-shadow(0 0 14px rgba(124,196,255,.35))}

.brand{
  font-family:Georgia,'Times New Roman',serif;
  font-size:30px;font-weight:600;letter-spacing:.42em;
  text-indent:.42em;color:#eef3fb;
}
.tagline{
  margin-top:10px;font-size:10.5px;letter-spacing:.34em;text-transform:uppercase;
  color:var(--muted);
}
.claim{
  margin-top:14px;font-family:Georgia,'Times New Roman',serif;font-style:italic;
  font-size:13.5px;letter-spacing:.02em;color:#c9d6e6;opacity:.85;
}
.hr{
  width:46px;height:1px;margin:26px auto 30px;
  background:linear-gradient(90deg,transparent,var(--accent-dim),transparent);
}

form{text-align:left}
.field{margin-bottom:16px}
.field label{
  display:block;font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;
  color:var(--muted);margin-bottom:8px;
}
.field input{
  width:100%;padding:13px 14px;
  background:var(--panel);
  border:1px solid var(--panel-border);
  border-radius:9px;
  color:var(--text);font-size:14px;
  transition:border-color .2s, box-shadow .2s, background .2s;
}
.field input::placeholder{color:#4a505b}
.field input:focus{
  outline:none;
  border-color:var(--accent-dim);
  box-shadow:0 0 0 3px rgba(124,196,255,.08), 0 0 18px rgba(124,196,255,.06);
  background:#11141a;
}

.err{
  min-height:16px;font-size:12px;color:var(--danger);
  margin:2px 2px 14px;letter-spacing:.01em;
}

.btn{
  width:100%;padding:13px;
  background:linear-gradient(180deg,#1a2330,#11161f);
  border:1px solid #2a3848;
  border-radius:9px;
  color:#dbe9fb;font-size:13px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;
  cursor:pointer;
  transition:border-color .2s, box-shadow .2s, transform .05s, color .2s;
}
.btn:hover:not(:disabled){
  border-color:var(--accent-dim);
  box-shadow:0 0 22px rgba(124,196,255,.14);
  color:#fff;
}
.btn:active:not(:disabled){transform:translateY(1px)}
.btn:disabled{opacity:.55;cursor:default}

.foot{
  margin-top:34px;font-size:10px;letter-spacing:.22em;text-transform:uppercase;
  color:#444b56;
}
