:root{
  --bg:#140a3a;
  --panel:#22115a;
  --panel-soft:#2c1670;
  --text:#f7f2ff;
  --muted:#c9bce8;
  --cyan:#54e0ff;
  --violet:#c43cff;
  --pink:#ff4fcf;
  --magenta:#d22fff;
  --deep-blue:#1c1450;
  --line:rgba(84,224,255,.24);
  --white-line:rgba(255,255,255,.16);
}
*{box-sizing:border-box}
body{
  margin:0;
  min-height:100vh;
  background:
    radial-gradient(circle at 18% 8%,rgba(196,60,255,.28),transparent 34%),
    radial-gradient(circle at 82% 16%,rgba(84,224,255,.20),transparent 32%),
    radial-gradient(circle at 50% 100%,rgba(255,79,207,.16),transparent 38%),
    linear-gradient(135deg,#0b0628 0%,#140a3a 44%,#24115d 100%);
  color:var(--text);
  font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
body:before{
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  background:
    linear-gradient(90deg,transparent 0 96%,rgba(84,224,255,.055) 97% 100%),
    linear-gradient(0deg,transparent 0 96%,rgba(255,79,207,.045) 97% 100%);
  background-size:64px 64px;
  mask-image:linear-gradient(to bottom,rgba(0,0,0,.55),transparent 72%);
}
.wrap{
  width:min(1180px,calc(100% - 40px));
  margin:0 auto;
  padding:42px 0 76px;
}
.kicker{
  color:var(--cyan);
  text-transform:uppercase;
  letter-spacing:.24em;
  font-weight:950;
  font-size:.78rem;
  margin-bottom:14px;
  text-shadow:0 0 18px rgba(84,224,255,.42);
}
.top{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:32px;
  margin-bottom:34px;
  padding-bottom:28px;
  border-bottom:1px solid var(--line);
}
h1{
  font-size:clamp(2.5rem,5vw,4.6rem);
  line-height:.98;
  margin:0;
  font-weight:1000;
  letter-spacing:-.055em;
  color:var(--text);
  text-wrap:balance;
  text-shadow:0 0 34px rgba(196,60,255,.26);
}
h2{margin-top:0;color:#fff;text-shadow:0 0 22px rgba(84,224,255,.12)}
.lead{
  max-width:720px;
  color:var(--muted);
  font-size:1.08rem;
  line-height:1.45;
  margin:16px 0 0;
}
.userbox{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:flex-end;
  gap:10px;
  color:#efe8ff;
  font-weight:850;
  max-width:520px;
}
.userbox [data-user-email]{
  width:100%;
  text-align:right;
  color:var(--muted);
  font-size:.9rem;
  overflow:hidden;
  text-overflow:ellipsis;
}
.btn,.pillbtn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:0;
  border-radius:999px;
  padding:14px 22px;
  font-weight:950;
  text-decoration:none;
  cursor:pointer;
  font-family:inherit;
  transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease,background .18s ease;
}
.btn{
  background:linear-gradient(135deg,var(--cyan),var(--magenta) 58%,var(--pink));
  color:#12072e;
  box-shadow:0 16px 36px rgba(196,60,255,.30),0 0 22px rgba(84,224,255,.20);
}
.btn:hover,.pillbtn:hover{transform:translateY(-1px)}
.btn:disabled{opacity:.55;cursor:not-allowed;transform:none}
.pillbtn{
  background:rgba(255,255,255,.08);
  color:#f7f2ff;
  border:1px solid var(--white-line);
  backdrop-filter:blur(10px);
}
.pillbtn:hover{border-color:rgba(84,224,255,.42);box-shadow:0 0 20px rgba(84,224,255,.12)}
.pillbtn.danger{
  background:rgba(255,79,207,.10);
  border-color:rgba(255,79,207,.45);
  color:#ffd7f5;
}
.card{
  position:relative;
  border:1px solid var(--line);
  background:
    linear-gradient(145deg,rgba(44,22,112,.88),rgba(20,10,58,.94) 58%,rgba(12,7,40,.96)),
    radial-gradient(circle at 12% 0%,rgba(84,224,255,.16),transparent 35%);
  border-radius:30px;
  padding:34px;
  box-shadow:0 28px 80px rgba(0,0,0,.34),inset 0 1px 0 rgba(255,255,255,.08);
  overflow:hidden;
}
.card:before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  border-radius:inherit;
  background:linear-gradient(135deg,rgba(84,224,255,.16),transparent 28%,rgba(255,79,207,.13));
  opacity:.55;
}
.card>*{position:relative}
.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.formgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:26px 22px}
.full{grid-column:1/-1}
label{
  display:block;
  color:#f0eaff;
  font-size:1rem;
  font-weight:950;
  margin:0 0 9px;
}
input,textarea,select{
  width:100%;
  border:1px solid rgba(255,255,255,.18);
  border-radius:20px;
  background:rgba(255,255,255,.075);
  color:#fff;
  padding:15px 18px;
  font-size:1rem;
  outline:none;
  font-family:inherit;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.05);
}
input:focus,textarea:focus,select:focus{
  border-color:rgba(84,224,255,.68);
  box-shadow:0 0 0 4px rgba(84,224,255,.10),0 0 26px rgba(196,60,255,.12);
}
input[readonly]{color:#eadfff;background:rgba(255,255,255,.05)}
textarea{min-height:170px;resize:vertical}
select option{color:#140a3a;background:#fff}
.hint{color:#bfaee7;font-size:.92rem;margin-top:18px;line-height:1.45}
.hidden{display:none!important}
.login{min-height:100vh;display:grid;place-items:center;padding:24px}
.login .card{width:min(560px,100%)}
.preview{
  margin-top:12px;
  border:1px dashed rgba(84,224,255,.36);
  border-radius:24px;
  min-height:260px;
  display:grid;
  place-items:center;
  overflow:hidden;
  background:rgba(255,255,255,.055);
  color:#bfaee7;
}
.preview img{width:100%;height:100%;max-height:430px;object-fit:contain;display:block}
@media (max-width:820px){
  .grid,.formgrid{grid-template-columns:1fr}
  .top{display:block;padding-bottom:22px}
  .userbox{justify-content:flex-start;margin-top:22px}
  .userbox [data-user-email]{text-align:left}
  .wrap{width:min(100% - 28px,1180px);padding-top:28px}
  .card{padding:24px;border-radius:24px}
}
