···3333 <div class="auth-card-desc">already have a handle like <code>you.bsky.social</code> or any ATProto PDS? Go this way.</div>
3434 <div class="auth-card-cta">▸ continue <span class="shortcut">↵</span></div>
3535 </a>
3636- <a href="https://bsky.app/notifications" target="_blank" rel="noreferrer" class="auth-card">
3636+ <a href="/auth/local/continue" class="auth-card">
3737 <div class="auth-card-tag">option b</div>
3838- <div class="auth-card-title">create an <span class="kw2">Atmosphere</span> account</div>
3939- <div class="auth-card-desc">new to the open social web? We'll help you pick a host and get a handle.</div>
4040- <div class="auth-card-cta">▸ continue ↗</div>
3838+ <div class="auth-card-title">Continue without an <span class="kw2">Atmosphere</span> account</div>
3939+ <div class="auth-card-desc">use atmo.quest locally — link an Atmosphere account later in Settings to claim your data.</div>
4040+ <div class="auth-card-cta">▸ continue</div>
4141 </a>
4242- </div>
4343- <div class="auth-local-continue">
4444- <a href="/auth/local/continue" class="btn-ghost">continue without atmosphere account</a>
4542 </div>
4643 </div>
4744 <div class="statusbar">
+1-1
features/auth/pages/signin_templ.go
···5858 if templ_7745c5c3_Err != nil {
5959 return templ_7745c5c3_Err
6060 }
6161- templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 2, "</span><span class=\"path\">atmo.quest</span><span class=\"sep\">:~$</span> <span class=\"cmd\">auth --pick</span></div><div class=\"output indent\">choose how to start your quest.</div><div class=\"hero-block\"><span class=\"hero-tag\">step 1 of 1 · pick a path</span><h1>sign <span class=\"quest\">in</span></h1><p class=\"lede\">atmo.quest is built on <span class=\"kw\">ATProto</span>. Your records live in <span class=\"kw2\">your repo</span>, not ours. You'll sign in with the same identity you use anywhere on the open social web.</p></div><div class=\"auth-choices\"><a href=\"/signin/atproto\" class=\"auth-card\"><div class=\"auth-card-tag\">option a</div><div class=\"auth-card-title\">sign in with your <span class=\"kw2\">Atmosphere</span> account</div><div class=\"auth-card-desc\">already have a handle like <code>you.bsky.social</code> or any ATProto PDS? Go this way.</div><div class=\"auth-card-cta\">▸ continue <span class=\"shortcut\">↵</span></div></a> <a href=\"https://bsky.app/notifications\" target=\"_blank\" rel=\"noreferrer\" class=\"auth-card\"><div class=\"auth-card-tag\">option b</div><div class=\"auth-card-title\">create an <span class=\"kw2\">Atmosphere</span> account</div><div class=\"auth-card-desc\">new to the open social web? We'll help you pick a host and get a handle.</div><div class=\"auth-card-cta\">▸ continue ↗</div></a></div><div class=\"auth-local-continue\"><a href=\"/auth/local/continue\" class=\"btn-ghost\">continue without atmosphere account</a></div></div><div class=\"statusbar\"><a href=\"/\" class=\"statusbar-brand\">atmo.quest</a></div></div>")
6161+ templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 2, "</span><span class=\"path\">atmo.quest</span><span class=\"sep\">:~$</span> <span class=\"cmd\">auth --pick</span></div><div class=\"output indent\">choose how to start your quest.</div><div class=\"hero-block\"><span class=\"hero-tag\">step 1 of 1 · pick a path</span><h1>sign <span class=\"quest\">in</span></h1><p class=\"lede\">atmo.quest is built on <span class=\"kw\">ATProto</span>. Your records live in <span class=\"kw2\">your repo</span>, not ours. You'll sign in with the same identity you use anywhere on the open social web.</p></div><div class=\"auth-choices\"><a href=\"/signin/atproto\" class=\"auth-card\"><div class=\"auth-card-tag\">option a</div><div class=\"auth-card-title\">sign in with your <span class=\"kw2\">Atmosphere</span> account</div><div class=\"auth-card-desc\">already have a handle like <code>you.bsky.social</code> or any ATProto PDS? Go this way.</div><div class=\"auth-card-cta\">▸ continue <span class=\"shortcut\">↵</span></div></a> <a href=\"/auth/local/continue\" class=\"auth-card\"><div class=\"auth-card-tag\">option b</div><div class=\"auth-card-title\">Continue without an <span class=\"kw2\">Atmosphere</span> account</div><div class=\"auth-card-desc\">use atmo.quest locally — link an Atmosphere account later in Settings to claim your data.</div><div class=\"auth-card-cta\">▸ continue</div></a></div></div><div class=\"statusbar\"><a href=\"/\" class=\"statusbar-brand\">atmo.quest</a></div></div>")
6262 if templ_7745c5c3_Err != nil {
6363 return templ_7745c5c3_Err
6464 }
···4141 ConnectedDID string
4242 // Badges earned by this user (from local cache).
4343 Badges []ProfileBadge
4444+ // IsLocal is true when this is a local-only account.
4545+ IsLocal bool
4446}
45474648// ProfileBadge is a badge to display on the profile.
···6769 <div class="window-title">profile</div>
6870 @layouts.TopNav("home")
6971 </div>
7272+ if v.IsLocal {
7373+ <div class="local-banner" role="status">
7474+ <span class="local-banner-icon">ℹ</span>
7575+ <span class="local-banner-text">This account is unclaimed. Link your <a href="https://atmosphereaccount.com" target="_blank" rel="noopener noreferrer">Atmosphere account</a> in <a href="/settings">Settings</a>!</span>
7676+ </div>
7777+ }
7078 <div class="window-body">
7179 <div class="prompt-line">
7280 <span class="user">you</span><span class="at">{ "@" }</span><span class="path">atmo.quest</span><span class="sep">:~$</span>