*{box-sizing:border-box}
html,body{height:100%}
body{margin:0;background:radial-gradient(1200px 600px at 10% 10%, var(--bg-grad-1) 0%, var(--bg) 70%), radial-gradient(1200px 600px at 90% 90%, var(--bg-grad-2) 0%, var(--bg) 70%);color:var(--text);font-family:ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans","Apple Color Emoji","Segoe UI Emoji";display:grid;place-items:center}
.page{width:min(550px,92vw);display:grid;grid-template-columns:1fr;gap:0;border:1px solid var(--border);border-radius:16px;overflow:hidden;background:linear-gradient(180deg,rgba(255,255,255,0.02),rgba(255,255,255,0.01));box-shadow:0 20px 50px rgba(0,0,0,0.35)}
.left{display:none;position:relative;padding:40px;background:radial-gradient(800px 400px at 20% 20%, rgba(124,91,255,0.18), transparent 60%), radial-gradient(800px 400px at 80% 80%, rgba(91,124,255,0.18), transparent 60%), linear-gradient(135deg, #0e1330, #0a0f24)}
.left .brand{font-size:32px;font-weight:700;letter-spacing:.5px}
.left .tag{margin-top:12px;color:var(--muted)}
.left .art{position:absolute;inset:auto 24px 24px auto;width:280px;height:220px;border:1px solid var(--border);border-radius:16px;background:conic-gradient(from 180deg at 50% 50%, rgba(91,124,255,0.55), rgba(124,91,255,0.55), rgba(91,124,255,0.55));filter:blur(28px) saturate(140%);opacity:.55}
.right{padding:40px;background:linear-gradient(180deg,rgba(255,255,255,0.03),rgba(255,255,255,0.02))}
.logo{display:flex;align-items:center;gap:12px}
.logo .dot{width:32px;height:32px;border-radius:10px;background:url('/static/logo.png') center/cover;box-shadow:0 0 24px rgba(123,92,255,0.65)}
.title{margin-top:18px;font-size:24px;font-weight:600}
.subtitle{margin-top:8px;color:var(--muted);font-size:14px}
.form{margin-top:28px;display:grid;gap:18px}
.field{display:grid;gap:8px}
.label-row{display:flex;align-items:center;justify-content:space-between;color:var(--muted);font-size:13px}
.input{display:flex;align-items:center;gap:10px;background:var(--input);border:1px solid var(--border);border-radius:12px;padding:12px 14px}
.input input{flex:1;background:transparent;border:0;outline:none;color:var(--text);font-size:14px}
.input .toggle{cursor:pointer;color:var(--muted);font-size:12px;padding:6px 8px;border-radius:8px;border:1px solid transparent}
.input .toggle:hover{color:var(--text);border-color:var(--border)}
.input .btn-inline{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:8px 10px;border-radius:10px;border:1px solid transparent;font-weight:600;background:linear-gradient(135deg,var(--primary),var(--primary-2));color:#fff;cursor:pointer;white-space:nowrap}
.input .btn-inline:hover{filter:brightness(1.05)}
.input .btn-inline[disabled]{cursor:not-allowed;filter:brightness(0.85);opacity:0.9}
.row{display:flex;align-items:center;justify-content:space-between}
.checkbox{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:13px}
.checkbox .box{width:16px;height:16px;border-radius:4px;border:1px solid var(--border);background:var(--input);display:grid;place-items:center;cursor:pointer}
.checkbox .box.active{border-color:var(--primary);background:linear-gradient(135deg,rgba(91,124,255,0.15),rgba(124,91,255,0.15))}
.checkbox .tick{width:10px;height:10px;border-radius:2px;background:linear-gradient(135deg,var(--primary),var(--primary-2));opacity:0}
.checkbox .box.active .tick{opacity:1}
.row .link{color:#8fb0ff;text-decoration:none;font-size:13px}
.btn{margin-top:6px;display:inline-flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:12px 14px;border-radius:12px;border:1px solid transparent;font-weight:600;background:linear-gradient(135deg,var(--primary),var(--primary-2));color:#fff;cursor:pointer}
.btn:hover{filter:brightness(1.05)}
.sep{margin:18px 0;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:10px;color:var(--muted);font-size:12px}
.sep .line{height:1px;background:var(--border)}
.btn-ghost{display:inline-flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:12px 14px;border-radius:12px;border:1px solid var(--border);background:var(--input);color:var(--text);cursor:pointer}
.btn-ghost:hover{border-color:#3a4a77}
.foot{margin-top:22px;text-align:center;color:var(--muted);font-size:13px}
.foot a{color:#8fb0ff;text-decoration:none}
.hint{margin-top:10px;font-size:12px;color:var(--danger);min-height:18px}

@media (min-width: 900px){.page{grid-template-columns:1fr}.right{padding:48px 56px}}
