*{box-sizing:border-box}
body{
 margin:0;min-height:100vh;
 font-family:"Segoe UI",Arial,sans-serif;
 color:#153b69;
 background:
 radial-gradient(circle at 12% 15%,#c9ebff 0,transparent 38%),
 radial-gradient(circle at 88% 85%,#d8e5ff 0,transparent 45%),
 linear-gradient(135deg,#fafdff,#e4f3ff);
 display:flex;flex-direction:column;
 align-items:center;justify-content:center;
 padding:32px 16px;
}
.glass{
 width:100%;max-width:490px;padding:38px;
 background:rgba(255,255,255,.82);
 backdrop-filter:blur(18px);
 border:1px solid rgba(102,195,245,.8);
 border-radius:26px;
 box-shadow:0 24px 65px #175b9430,inset 0 1px 0 #fff;
}
.brand{
 font-weight:850;font-size:28px;
 color:#1053a7;text-align:center;
}
.subtitle{
 text-align:center;letter-spacing:2px;
 font-size:11px;font-weight:700;color:#1680bc;
}
h1{font-size:23px;margin:28px 0 10px}
p{line-height:1.6}
label{display:block;font-weight:650;margin:18px 0 7px}
input{
 width:100%;padding:14px;border-radius:12px;
 border:1px solid #a1cde9;background:#f5faff;
}
button{
 width:100%;padding:15px;margin:22px 0 6px;
 border:0;border-radius:12px;
 background:linear-gradient(110deg,#1959ac,#05a9d5);
 color:white;font-weight:750;
}
button:disabled{opacity:.55;cursor:not-allowed}
.notice{font-size:13px;color:#697e94}
a{color:#086bb4;font-weight:650}
footer{
 margin-top:25px;text-align:center;
 font-size:13px;font-weight:650;
 background:linear-gradient(90deg,#1553a7,#00a6d8,#cba447,#1553a7);
 background-size:300% 100%;
 background-clip:text;
 -webkit-background-clip:text;
 color:transparent;
 animation:shine 8s linear infinite;
}
@keyframes shine{to{background-position:300% 0}}
@media(max-width:520px){.glass{padding:26px 20px}}
@media(prefers-reduced-motion:reduce){footer{animation:none}}
