:root{
  color-scheme:dark;
  font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  background:#020202;
  color:#f3f3ef;
  --nx-yellow:#ffc629;
  --nx-yellow-soft:#ffe07b;
  --nx-panel:rgba(9,9,9,.88);
  --nx-border:rgba(255,198,41,.20);
  --nx-text:#f3f3ef;
  --nx-muted:#9d9d94;
  --nx-danger:#ffbd73;
}

*{box-sizing:border-box}
html,body{min-height:100%}
body{
  margin:0;
  min-height:100vh;
  background:#020202;
  overflow-x:hidden;
}

body::before{
  content:"";
  position:fixed;
  inset:-8%;
  z-index:-2;
  background:
    linear-gradient(180deg,rgba(0,0,0,.36),rgba(0,0,0,.78)),
    url('/assets/img/black-hole.png') center/cover no-repeat;
  filter:saturate(.75) contrast(1.08) brightness(.70);
  transform:scale(1.04);
}

body::after{
  content:"";
  position:fixed;
  inset:0;
  z-index:-1;
  pointer-events:none;
  background:
    radial-gradient(circle at 50% 38%,rgba(255,198,41,.10),transparent 23%),
    radial-gradient(circle at 50% 50%,transparent 0 34%,rgba(0,0,0,.30) 60%,rgba(0,0,0,.82) 100%);
}

.shell{
  min-height:100vh;
  display:grid;
  place-items:center;
  padding:26px 18px;
}

.card{
  width:min(440px,100%);
  background:var(--nx-panel);
  border:1px solid var(--nx-border);
  border-radius:22px;
  padding:30px;
  box-shadow:0 28px 90px rgba(0,0,0,.72),0 0 45px rgba(255,198,41,.04);
  backdrop-filter:blur(16px);
  -webkit-backdrop-filter:blur(16px);
}

.auth-card{padding:34px 32px 30px}

.brand{
  display:inline-block;
  color:var(--nx-text);
  text-decoration:none;
  font-size:22px;
  font-weight:850;
  letter-spacing:.02em;
}
.brand span{color:var(--nx-yellow)}
.brand small{
  display:block;
  margin-top:5px;
  font-size:10px;
  font-weight:700;
  letter-spacing:.30em;
  color:#8f8f87;
}

.auth-heading{margin:32px 0 24px}
h1{margin:0 0 8px;font-size:30px;line-height:1.12;letter-spacing:-.025em}
.muted{margin:0;color:var(--nx-muted);line-height:1.55}

form{display:grid;gap:15px}
label{display:grid;gap:7px;color:#c7c7be;font-size:13px;font-weight:650}
input{
  width:100%;
  background:rgba(4,4,4,.86);
  border:1px solid rgba(255,255,255,.14);
  border-radius:12px;
  color:#fff;
  padding:13px 14px;
  outline:none;
  transition:border-color .15s ease,box-shadow .15s ease,background .15s ease;
}
input:hover{border-color:rgba(255,198,41,.30)}
input:focus{
  border-color:var(--nx-yellow);
  box-shadow:0 0 0 3px rgba(255,198,41,.10);
  background:#070707;
}

button{
  border:1px solid var(--nx-yellow);
  border-radius:12px;
  background:var(--nx-yellow);
  color:#111;
  padding:13px 16px;
  font-weight:850;
  cursor:pointer;
  transition:transform .12s ease,background .12s ease,opacity .12s ease;
}
button:hover{background:var(--nx-yellow-soft);transform:translateY(-1px)}
button:active{transform:translateY(0)}
button:disabled{opacity:.52;cursor:default;transform:none}

.auth-links{
  display:grid;
  grid-template-columns:1fr auto 1fr;
  gap:12px;
  align-items:center;
  margin-top:20px;
  font-size:13px;
}
.auth-links span{width:1px;height:16px;background:rgba(255,255,255,.15)}
.auth-links a{color:#bbbbae;text-decoration:none}
.auth-links a:last-child{text-align:right}
.auth-links a:hover{color:var(--nx-yellow)}
.auth-links-single{display:block;text-align:center}
.auth-links-single a:last-child{text-align:center}

.message{
  min-height:22px;
  color:var(--nx-danger);
  margin:17px 0 0;
  font-size:13px;
  line-height:1.5;
}

dl{display:grid;grid-template-columns:110px 1fr;gap:10px;margin:24px 0}
dt{color:#8f8f87}
dd{margin:0;word-break:break-word}

@media (max-width:520px){
  .shell{padding:18px 14px}
  .card,.auth-card{padding:25px 20px;border-radius:18px}
  h1{font-size:27px}
  .auth-links{grid-template-columns:1fr;gap:10px;text-align:center}
  .auth-links span{display:none}
  .auth-links a:last-child{text-align:center}
}
