:root{--pink:#e23e8b;--pink2:#ff8cc8;--txt:#f4eaf2}
*{box-sizing:border-box}
html,body{margin:0;height:100%;overflow:hidden;background:#09060c;color:var(--txt);font-family:"Microsoft YaHei UI","Segoe UI",sans-serif}
.stage{position:fixed;inset:0;overflow:hidden;background:#09060c}
.stage video{
  position:absolute;inset:0;width:100%;height:100%;
  object-fit:cover;object-position:42% center;
  filter:saturate(1.15) contrast(1.08);
}
.veil{
  position:absolute;inset:0;pointer-events:none;
  background:
    linear-gradient(90deg, rgba(8,3,8,.08) 0%, rgba(8,3,8,.18) 42%, rgba(10,5,12,.55) 68%, rgba(8,4,10,.82) 100%),
    radial-gradient(900px 520px at 28% 70%, transparent 0%, rgba(8,4,10,.22) 70%);
}
.glow{
  position:absolute;left:18%;bottom:8%;width:280px;height:120px;pointer-events:none;
  background:radial-gradient(circle, rgba(226,62,139,.28), transparent 70%);
  filter:blur(12px);
}
.panel{
  position:fixed;right:6vw;top:50%;transform:translateY(-50%);width:min(380px,90vw);padding:28px 26px 24px;
  background:rgba(18,10,18,.62);border:1px solid rgba(255,140,200,.28);border-radius:22px;
  backdrop-filter:blur(16px);box-shadow:0 20px 80px rgba(226,62,139,.22)
}
h1{margin:0 0 6px;font-size:26px;letter-spacing:1px}
.sub{color:#c9a8bc;margin:0 0 18px;font-size:13px}
label{display:block;font-size:12px;color:#d7b4c8;margin:10px 0 6px}
input{width:100%;padding:12px 12px;border-radius:12px;border:1px solid #4a3144;background:#140c14;color:#fff;font-size:15px}
input:focus{outline:none;border-color:var(--pink)}
button{width:100%;margin-top:16px;border:none;border-radius:12px;padding:12px;background:linear-gradient(90deg,#e23e8b,#ff6aa8);
  color:#fff;font-size:16px;font-weight:800;cursor:pointer}
button:hover{filter:brightness(1.08)}
.msg{min-height:20px;margin-top:10px;font-size:13px;color:#fb7185}
.hint{margin-top:12px;color:#8b7384;font-size:12px;text-align:center}
