1<!DOCTYPE html> 2<html lang="en"> 3<head> 4 <meta charset="UTF-8"> 5 <meta name="viewport" content="width=device-width, initial-scale=1.0"> 6 <title>afterSpark | B2B Intelligence Platform</title> 7 <meta name="description" content="afterSpark reveals companies and turns intent signals into action with APIs, IP address unmasking, and firmographic data to power smarter workflows."> <meta name="robots" content="noindex, nofollow"> 8 9 <!-- Inter font --> 10 <link rel="preconnect" href="https://fonts.googleapis.com"> 11 <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin> 12 <link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap" rel="stylesheet"> 13 14 <!-- Lucide icons (CDN) --> 15
15<script src="https://unpkg.com/lucide@latest/dist/umd/lucide.min.js"></script>
15 16 17 <!-- Auth styles --> 18 <link rel="stylesheet" href="/css/auth.css?v=1785541930"> 19 <link rel="icon" type="image/x-icon" href="/img/favicon.ico"> 20 <link rel="icon" type="image/png" sizes="32x32" href="/img/favicon-32.png"> 21 <link rel="apple-touch-icon" href="/img/apple-touch-icon.png"> 22</head> 23<body>
24<script>(function(){var t=localStorage.getItem('as_theme');if(t)document.body.dataset.theme=t;})();</script>
24 25 26<main class="auth-page"> 27 28 <!-- Logo --> 29 <header class="auth-header"> 30 <a href="/login" class="auth-logo"> 31 <img 32 src="/img/afterSpark-logo-long-black.png" 33 alt="afterSpark" 34 class="auth-logo-img" 35 > 36 </a> 37 </header> 38 39 <!-- Pass signup session state to JS --> 40
40<script> 41 window.__signupState = { 42 verifiedReturn: false, 43 emailVerified: false, 44 email: "", 45 step: 0, 46 suggestedDomain: "" }; 47 </script>
47 48 49 <div class="auth-card" data-redirect=""> 50 51 <!-- Step progress indicator --> 52 <div class="step-indicator" aria-label="Signup progress"> 53 <div class="step-dot active" data-step="1" aria-label="Step 1: Email">1</div> 54 <div class="step-line"></div> 55 <div class="step-dot" data-step="2" aria-label="Step 2: Profile">2</div> 56 </div> 57 58 <!-- ââ Step 1: Email âââââââââââââââââââââââââââââââââââ --> 59 <div class="step-panel active" id="step-1"> 60 <h1 class="auth-title">Create your account</h1> 61 <p class="auth-subtitle">Start with your work email â it only takes a minute.</p> 62 63 <div id="alert-step1" class="alert"></div> 64 65 <div class="form-group"> 66 <label for="email">Work email</label> 67 <input 68 type="email" 69 id="email" 70 name="email" 71 placeholder="[email protected]" 72 autocomplete="email" 73 required 74 > 75 <div class="field-error" id="email-error"></div> 76 </div> 77 78 <div class="terms-row"> 79 <input type="checkbox" id="terms" name="terms"> 80 <label for="terms"> 81 I agree to the <a href="https://afterspark.ai/terms" target="_blank" rel="noopener">Terms of Use</a> 82 and <a href="https://afterspark.ai/privacy" target="_blank" rel="noopener">Privacy Policy</a> 83 </label> 84 </div> 85 86 <button class="btn btn-primary-glow" id="btn-step1" type="button"> 87 <span class="btn-text">Create Account</span> 88 <span class="spinner" aria-hidden="true"></span> 89 </button> 90 91 <p class="auth-footer"> 92 Already have an account? <a href="/login">Sign in</a> 93 </p> 94 </div> 95 96 <!-- ââ Step Verify: Check inbox âââââââââââââââââââââââââ --> 97 <div class="step-panel" id="step-verify"> 98 <div class="verify-screen"> 99 <div class="verify-icon-wrap"> 100 <i data-lucide="mail" style="color:#ff9933;width:28px;height:28px;"></i> 101 </div> 102 <h2 class="auth-title">Check your inbox</h2> 103 <p class="auth-subtitle"> 104 We sent a verification link to<br> 105 <strong class="verify-email-address" id="verify-email-display"></strong> 106 </p> 107 108 <div style="height:52px;" aria-hidden="true"></div> 109 110 <p class="text-muted mt-12"> 111 Didn't receive it? Check your spam folder or 112 <button class="btn-link" onclick="authShowPanel('step-1', true)">go back</button>. 113 </p> 114 </div> 115 </div> 116 117 <!-- ââ Step 2: Profile ââââââââââââââââââââââââââââââââââ --> 118 <div class="step-panel" id="step-2"> 119 <h2 class="auth-title">Tell us about yourself</h2> 120 <p class="auth-subtitle">We'll personalize your experience based on these details.</p> 121 122 <div id="alert-step2" class="alert"></div> 123 124 <!-- 125 Hidden username hint: tells password managers (Google, 1Password, etc.) 126 that the email address is the account username â not the phone number below. 127 Visually hidden but present in the DOM so password managers read it. 128 --> 129 <input 130 type="email" 131 name="_username_hint" 132 autocomplete="username" 133 value="" 134 style="opacity:0;position:absolute;height:0;width:0;pointer-events:none;border:0;padding:0;" 135 aria-hidden="true" 136 tabindex="-1" 137 > 138 139 <div class="form-row"> 140 <div class="form-group"> 141 <label for="firstName">First name</label> 142 <input type="text" id="firstName" name="firstName" placeholder="Jane" autocomplete="given-name" required> 143 <div class="field-error"></div> 144 </div> 145 <div class="form-group"> 146 <label for="lastName">Last name</label> 147 <input type="text" id="lastName" name="lastName" placeholder="Smith" autocomplete="family-name" required> 148 <div class="field-error"></div> 149 </div> 150 </div> 151 152 <div class="form-group"> 153 <label for="companyDomain">Company domain <span class="optional">(optional)</span></label> 154 <input type="text" id="companyDomain" name="companyDomain" placeholder="company.com" autocomplete="organization" 155 value=""> 156 <div class="field-error"></div> 157 </div> 158 159 <div class="form-group"> 160 <label for="phone">Phone <span class="optional">(optional)</span></label> 161 <input type="tel" id="phone" name="phone" placeholder="+1 (555) 000-0000" autocomplete="off"> 162 <div class="field-error"></div> 163 </div> 164 165 <div class="form-group"> 166 <label for="password">Password</label> 167 <div class="password-wrap"> 168 <input type="password" id="password" name="password" placeholder="8+ characters" autocomplete="new-password" required> 169 <button type="button" class="password-toggle" data-target="password" aria-label="Show password"> 170 <i data-lucide="eye" style="width:17px;height:17px;"></i> 171 </button> 172 </div> 173 <div class="field-error"></div> 174 </div> 175 176 <div class="form-group"> 177 <label for="confirm_password">Confirm password</label> 178 <div class="password-wrap"> 179 <input type="password" id="confirm_password" name="confirm_password" placeholder="Repeat password" autocomplete="new-password" required> 180 <button type="button" class="password-toggle" data-target="confirm_password" aria-label="Show password"> 181 <i data-lucide="eye" style="width:17px;height:17px;"></i> 182 </button> 183 </div> 184 <div class="field-error"></div> 185 </div> 186 187 <button class="btn btn-primary-glow" id="btn-step2" type="button">
188 <span class="btn-text">Continue</span> 189 <span class="spinner" aria-hidden="true"></span> 190 </button> 191 </div> 192 193 <!-- 194 Step 3 is intentionally dormant while product interests are hidden. 195 Keep the markup for easy restoration, but exclude it from normal display. 196 --> 197 <div class="step-panel" id="step-3" hidden> 198 <h2 class="auth-title">What are you interested in?</h2> 199 <p class="auth-subtitle">Select all that apply â we'll tailor your onboarding.</p> 200 201 <div id="alert-step3" class="alert"></div> 202 203 <div class="interest-grid"> 204 <!-- 1: API â Teal --> 205 <div class="interest-card api" data-value="1" role="checkbox" aria-checked="false" tabindex="0"> 206 <div class="card-icon"> 207 <i data-lucide="zap" style="color:#1faaaa;width:22px;height:22px;"></i> 208 </div> 209 <div class="interest-card-body"> 210 <span class="card-label">API</span> 211 <span class="card-desc">Build faster with plug-and-play company intelligence APIs designed for developers, workflows, and AI-powered vibe coding.</span> 212 </div> 213 </div> 214 215 <!-- 2: Tag â Orange --> 216 <div class="interest-card tag" data-value="2" role="checkbox" aria-checked="false" tabindex="0"> 217 <div class="card-icon"> 218 <i data-lucide="tag" style="color:#ff9933;width:22px;height:22px;"></i> 219 </div> 220 <div class="interest-card-body"> 221 <span class="card-label">Tag</span> 222 <span class="card-desc">Turn anonymous website traffic into actionable company insights, signals, and pipeline opportunities.</span> 223 </div> 224 </div> 225 226 <!-- 3: Extension â Purple --> 227 <div class="interest-card ext" data-value="3" role="checkbox" aria-checked="false" tabindex="0"> 228 <div class="card-icon"> 229 <i data-lucide="puzzle" style="color:#8b5cf6;width:22px;height:22px;"></i> 230 </div> 231 <div class="interest-card-body"> 232 <span class="card-label">Extension</span> 233 <span class="card-desc">Instantly reveal company details, ICP fit, and lookalike accounts from any website right in your browser.</span> 234 </div> 235 </div> 236 </div> 237 238 <button class="btn btn-primary-glow" id="btn-step3" type="button"> 239 <span class="btn-text">Complete Setup</span> 240 <span class="spinner" aria-hidden="true"></span> 241 </button> 242 243 <p class="text-muted text-center mt-8">You can update these anytime in your settings.</p> 244 </div> 245 246 <!-- ââ Step Complete: Success âââââââââââââââââââââââââââ --> 247 <div class="step-panel" id="step-complete"> 248 <div class="success-screen"> 249 <div class="success-icon-wrap"> 250 <i data-lucide="check-circle-2" style="color:#34d399;width:28px;height:28px;"></i> 251 </div> 252 <h2 class="auth-title">You're all set!</h2> 253 <p class="auth-subtitle">Your afterSpark account is ready.<br>Let's get you started.</p> 254 <a id="btn-goto-dashboard" href="/" class="btn btn-primary-glow mt-16"> 255 <span class="btn-text">Get Started</span> 256 </a> 257 </div> 258 </div> 259 260 </div><!-- /.auth-card --> 261 262 263</main><!-- /.auth-page --> 264
265<script src="/js/auth.js?v=1789065724"></script>
265 266 267</body> 268</html>
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.