/* hysocial-signup-v11.css — hySocial Signup v1.1 Design System */
*{margin:0;padding:0;box-sizing:border-box}
body{background:var(--bg,#070a12);color:var(--text,#e8ecf5);font-family:system-ui,-apple-system,"Segoe UI",sans-serif;font-size:13px;min-height:100vh;min-height:100dvh}
iconify-icon{vertical-align:-2px}
.shell{max-width:480px;margin:0 auto;padding:calc(40px + var(--safe-top,env(safe-area-inset-top,0px))) calc(18px + var(--safe-right,env(safe-area-inset-right,0px))) calc(40px + var(--safe-bottom,env(safe-area-inset-bottom,0px))) calc(18px + var(--safe-left,env(safe-area-inset-left,0px)))}
.brand{display:flex;align-items:center;gap:10px;justify-content:center;margin-bottom:6px}
.brand-mark{width:40px;height:40px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:900;color:var(--bg,#070a12);background:linear-gradient(135deg,var(--accent),var(--info))}
.brand-name{font-size:20px;font-weight:800;letter-spacing:.02em}
.brand-name .b1{color:var(--info)}.brand-name .b2{color:var(--accent)}
.tagline{text-align:center;font-size:11px;color:var(--muted);margin-bottom:22px}
.card{background:var(--bg-card,rgba(255,255,255,.04));border:1px solid var(--border,rgba(255,255,255,.1));border-radius:16px;padding:22px;margin-bottom:14px}
.view{display:none}.view.active{display:block}
.v-title{font-size:18px;font-weight:800;letter-spacing:.01em;color:var(--text);margin-bottom:4px}
.v-desc{font-size:11px;color:var(--muted);margin-bottom:18px;line-height:1.6}
.field{margin-bottom:13px}
.field label{display:block;font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin-bottom:5px}
.field input{width:100%;padding:11px 12px;border-radius:10px;border:1px solid var(--border);background:var(--bg,rgba(0,0,0,.25));color:var(--text);font-family:inherit;font-size:13px;outline:none;min-height:44px}
.field input:focus{border-color:var(--info);box-shadow:0 0 8px color-mix(in srgb,var(--info) 12%,transparent)}
.field-hint{font-size:9px;color:var(--muted);margin-top:4px}
.field-hint.ok{color:var(--green)}
.field-hint.bad{color:var(--danger)}
.username-wrap{position:relative}
.username-wrap .at{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--muted);font-weight:700;pointer-events:none}
.username-wrap input{padding-left:26px}
.captcha-row{display:flex;gap:8px;align-items:flex-end}
.captcha-row .field{flex:1;margin-bottom:0}
.captcha-q{font-weight:800;color:var(--info);font-size:13px}
.icon-btn{width:44px;height:44px;border-radius:10px;border:1px solid var(--border);background:transparent;color:var(--muted);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:18px;flex-shrink:0}
.icon-btn:hover{color:var(--text);border-color:var(--info)}
.tos{display:flex;align-items:flex-start;gap:9px;margin:6px 0 16px;font-size:11px;color:var(--muted);line-height:1.5}
.tos input{width:18px;height:18px;margin-top:1px;accent-color:var(--accent);flex-shrink:0}
.tos a{color:var(--info);text-decoration:none}
.tos a:hover{text-decoration:underline}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;width:100%;padding:13px 20px;border-radius:11px;border:1px solid;cursor:pointer;font-size:13px;font-weight:800;letter-spacing:.02em;font-family:inherit;transition:.15s;min-height:48px}
.btn:hover{filter:brightness(1.15)}
.btn:disabled{opacity:.55;cursor:not-allowed;filter:none}
.btn-primary{border-color:var(--accent);color:var(--bg,#070a12);background:linear-gradient(135deg,var(--accent),var(--info))}
.btn-ghost{border-color:var(--border);color:var(--muted);background:transparent;margin-top:8px}
.msg{display:none;padding:10px 13px;border-radius:10px;font-size:11px;font-weight:600;margin-bottom:14px;line-height:1.5}
.msg.show{display:block}
.msg.err{background:color-mix(in srgb,var(--danger) 12%,transparent);border:1px solid var(--danger);color:var(--danger)}
.msg.ok{background:color-mix(in srgb,var(--green) 12%,transparent);border:1px solid var(--green);color:var(--green)}
.alt{text-align:center;font-size:11px;color:var(--muted);margin-top:6px}
.alt a{color:var(--info);text-decoration:none;font-weight:700}
.alt a:hover{text-decoration:underline}
.foot{text-align:center;font-size:10px;color:var(--muted);margin-top:18px;line-height:1.7}
.foot a{color:var(--muted);text-decoration:none}.foot a:hover{color:var(--text)}
.hero{text-align:center;padding:8px 0 4px}
.hero-icon{font-size:52px;color:var(--accent)}
.spin{display:inline-block;animation:sp 1s linear infinite}
@keyframes sp{to{transform:rotate(360deg)}}
