rastrillo / fiesta Public

Clone
git clone https://amadan.net/rastrillo/fiesta

Plain git — no account needed to clone.

Download

Download this file

1<div id="case-0-false" title="ask"><section rst-signin aria-labelledby="rst-signin-heading">
2<div rst-signin-brand><p rst-signin-name>Harbour</p><p rst-signin-pitch>Moorings and berths, booked in a minute.</p></div>
3<div rst-signin-door>
4<h1 id="rst-signin-heading">Sign in to Harbour</h1>
5<form rst-signin-form method="post" action="/signin">
6<div rst-field><label rst-field-label for="rst-signin-email">Email</label>
7<input rst-input type="email" id="rst-signin-email" name="address" required autofocus autocomplete="email">
8</div>
9<button rst-btn="primary block" type="submit">Continue</button>
10</form>
11</div>
12</section></div><div id="case-0-true" title="ask"><section rst-signin aria-labelledby="rst-signin-heading">
13<div rst-signin-brand><p rst-signin-name>Harbour</p><p rst-signin-pitch>Moorings and berths, booked in a minute.</p></div>
14<div rst-signin-door>
15<h1 id="rst-signin-heading">Sign in to Harbour</h1>
16<form rst-signin-form method="post" action="/signin">
17<div rst-field><label rst-field-label for="rst-signin-email">Email</label>
18<input rst-input type="email" id="rst-signin-email" name="address" required autofocus autocomplete="email">
19</div>
20<button rst-btn="primary block" type="submit">Continue</button>
21</form>
22</div>
23</section></div><div id="case-1-false" title="ask with a passkey door"><section rst-signin aria-labelledby="rst-signin-heading">
24<div rst-signin-brand><p rst-signin-name>Harbour</p><p rst-signin-pitch>Moorings and berths, booked in a minute.</p></div>
25<div rst-signin-door>
26<h1 id="rst-signin-heading">Sign in to Harbour</h1>
27<form rst-signin-form method="post" action="/signin">
28<div rst-field><label rst-field-label for="rst-signin-email">Email</label>
29<input rst-input type="email" id="rst-signin-email" name="address" required autofocus autocomplete="email">
30</div>
31<button rst-btn="primary block" type="submit">Continue</button>
32</form>
33<p rst-signin-or>or</p>
34<div rst-signin-passkey><button rst-btn="block" type="button" hidden data-rst-passkey data-rst-passkey-begin="/passkey/discover/begin" data-rst-passkey-finish="/passkey/discover/finish" data-rst-passkey-module="/static/webauthn.mjs" data-rst-passkey-cancelled="No passkey was used. Try again, or use your email." data-rst-passkey-failed="That didn&#39;t work. Try again, or use your email." aria-describedby="rst-signin-passkey-msg">Sign in with a passkey</button>
35<p rst-signin-passkey-msg id="rst-signin-passkey-msg" aria-live="polite"></p>
36</div>
37<script type="module" src="/static/passkey-signin.mjs"></script>
38</div>
39</section></div><div id="case-1-true" title="ask with a passkey door"><section rst-signin aria-labelledby="rst-signin-heading">
40<div rst-signin-brand><p rst-signin-name>Harbour</p><p rst-signin-pitch>Moorings and berths, booked in a minute.</p></div>
41<div rst-signin-door>
42<h1 id="rst-signin-heading">Sign in to Harbour</h1>
43<form rst-signin-form method="post" action="/signin">
44<div rst-field><label rst-field-label for="rst-signin-email">Email</label>
45<input rst-input type="email" id="rst-signin-email" name="address" required autofocus autocomplete="email">
46</div>
47<button rst-btn="primary block" type="submit">Continue</button>
48</form>
49<p rst-signin-or>or</p>
50<div rst-signin-passkey><button rst-btn="block" type="button" aria-describedby="rst-signin-passkey-msg">Sign in with a passkey</button>
51<p rst-signin-passkey-msg id="rst-signin-passkey-msg" aria-live="polite"></p>
52</div>
53</div>
54</section></div><div id="case-2-false" title="returning keymail"><section rst-signin aria-labelledby="rst-signin-heading">
55<div rst-signin-brand><p rst-signin-name>Harbour</p><p rst-signin-pitch>Moorings and berths, booked in a minute.</p></div>
56<div rst-signin-door>
57<h1 id="rst-signin-heading">Sign in to Harbour</h1>
58<form rst-signin-form method="post" action="/signin">
59<input type="hidden" name="address" value="kay@example.org">
60<input type="hidden" name="expect" value="keymail">
61<button rst-btn="primary block" type="submit" aria-describedby="rst-signin-remembered" autofocus>Continue to Keymail</button>
62<p rst-signin-remembered id="rst-signin-remembered">as <bdi>kay@example.org</bdi></p>
63</form>
64<form rst-signin-form method="post" action="/signin/forget"><button rst-btn="ghost block" type="submit">Use a different email</button></form>
65</div>
66</section></div><div id="case-2-true" title="returning keymail"><section rst-signin aria-labelledby="rst-signin-heading">
67<div rst-signin-brand><p rst-signin-name>Harbour</p><p rst-signin-pitch>Moorings and berths, booked in a minute.</p></div>
68<div rst-signin-door>
69<h1 id="rst-signin-heading">Sign in to Harbour</h1>
70<form rst-signin-form method="post" action="/signin">
71<input type="hidden" name="address" value="kay@example.org">
72<input type="hidden" name="expect" value="keymail">
73<button rst-btn="primary block" type="submit" aria-describedby="rst-signin-remembered" autofocus>Continue to Keymail</button>
74<p rst-signin-remembered id="rst-signin-remembered">as <bdi>kay@example.org</bdi></p>
75</form>
76<form rst-signin-form method="post" action="/signin/forget"><button rst-btn="ghost block" type="submit">Use a different email</button></form>
77</div>
78</section></div><div id="case-3-false" title="returning magic link"><section rst-signin aria-labelledby="rst-signin-heading">
79<div rst-signin-brand><p rst-signin-name>Harbour</p><p rst-signin-pitch>Moorings and berths, booked in a minute.</p></div>
80<div rst-signin-door>
81<h1 id="rst-signin-heading">Sign in to Harbour</h1>
82<form rst-signin-form method="post" action="/signin">
83<input type="hidden" name="address" value="ada@example.com">
84<button rst-btn="primary block" type="submit" autofocus><span>Continue as <bdi>ada@example.com</bdi></span></button>
85</form>
86<form rst-signin-form method="post" action="/signin/forget"><button rst-btn="ghost block" type="submit">Use a different email</button></form>
87</div>
88</section></div><div id="case-3-true" title="returning magic link"><section rst-signin aria-labelledby="rst-signin-heading">
89<div rst-signin-brand><p rst-signin-name>Harbour</p><p rst-signin-pitch>Moorings and berths, booked in a minute.</p></div>
90<div rst-signin-door>
91<h1 id="rst-signin-heading">Sign in to Harbour</h1>
92<form rst-signin-form method="post" action="/signin">
93<input type="hidden" name="address" value="ada@example.com">
94<button rst-btn="primary block" type="submit" autofocus><span>Continue as <bdi>ada@example.com</bdi></span></button>
95</form>
96<form rst-signin-form method="post" action="/signin/forget"><button rst-btn="ghost block" type="submit">Use a different email</button></form>
97</div>
98</section></div><div id="case-4-false" title="returning passkey"><section rst-signin aria-labelledby="rst-signin-heading">
99<div rst-signin-brand><p rst-signin-name>Harbour</p><p rst-signin-pitch>Moorings and berths, booked in a minute.</p></div>
100<div rst-signin-door>
101<h1 id="rst-signin-heading">Sign in to Harbour</h1>
102<div rst-signin-passkey><button rst-btn="primary block" type="button" hidden data-rst-passkey data-rst-passkey-begin="/passkey/discover/begin" data-rst-passkey-finish="/passkey/discover/finish" data-rst-passkey-module="/static/webauthn.mjs" data-rst-passkey-cancelled="No passkey was used. Try again, or use your email." data-rst-passkey-failed="That didn&#39;t work. Try again, or use your email." aria-describedby="rst-signin-passkey-msg">Sign in with your passkey</button>
103<p rst-signin-passkey-msg id="rst-signin-passkey-msg" aria-live="polite"></p>
104</div>
105<p rst-signin-or>or</p>
106<script type="module" src="/static/passkey-signin.mjs"></script>
107<form rst-signin-form method="post" action="/signin">
108<div rst-field><label rst-field-label for="rst-signin-email">Email</label>
109<input rst-input type="email" id="rst-signin-email" name="address" required autocomplete="email">
110</div>
111<button rst-btn="primary block" type="submit">Continue</button>
112</form>
113<form rst-signin-form method="post" action="/signin/forget"><button rst-btn="ghost block" type="submit">Use a different email</button></form>
114</div>
115</section></div><div id="case-4-true" title="returning passkey"><section rst-signin aria-labelledby="rst-signin-heading">
116<div rst-signin-brand><p rst-signin-name>Harbour</p><p rst-signin-pitch>Moorings and berths, booked in a minute.</p></div>
117<div rst-signin-door>
118<h1 id="rst-signin-heading">Sign in to Harbour</h1>
119<div rst-signin-passkey><button rst-btn="primary block" type="button" aria-describedby="rst-signin-passkey-msg">Sign in with your passkey</button>
120<p rst-signin-passkey-msg id="rst-signin-passkey-msg" aria-live="polite"></p>
121</div>
122<p rst-signin-or>or</p>
123<form rst-signin-form method="post" action="/signin">
124<div rst-field><label rst-field-label for="rst-signin-email">Email</label>
125<input rst-input type="email" id="rst-signin-email" name="address" required autocomplete="email">
126</div>
127<button rst-btn="primary block" type="submit">Continue</button>
128</form>
129<form rst-signin-form method="post" action="/signin/forget"><button rst-btn="ghost block" type="submit">Use a different email</button></form>
130</div>
131</section></div><div id="case-5-false" title="returning passkey, no door"><section rst-signin aria-labelledby="rst-signin-heading">
132<div rst-signin-brand><p rst-signin-name>Harbour</p><p rst-signin-pitch>Moorings and berths, booked in a minute.</p></div>
133<div rst-signin-door>
134<h1 id="rst-signin-heading">Sign in to Harbour</h1>
135<form rst-signin-form method="post" action="/signin">
136<div rst-field><label rst-field-label for="rst-signin-email">Email</label>
137<input rst-input type="email" id="rst-signin-email" name="address" required autofocus autocomplete="email">
138</div>
139<button rst-btn="primary block" type="submit">Continue</button>
140</form>
141</div>
142</section></div><div id="case-5-true" title="returning passkey, no door"><section rst-signin aria-labelledby="rst-signin-heading">
143<div rst-signin-brand><p rst-signin-name>Harbour</p><p rst-signin-pitch>Moorings and berths, booked in a minute.</p></div>
144<div rst-signin-door>
145<h1 id="rst-signin-heading">Sign in to Harbour</h1>
146<form rst-signin-form method="post" action="/signin">
147<div rst-field><label rst-field-label for="rst-signin-email">Email</label>
148<input rst-input type="email" id="rst-signin-email" name="address" required autofocus autocomplete="email">
149</div>
150<button rst-btn="primary block" type="submit">Continue</button>
151</form>
152</div>
153</section></div><div id="case-6-false" title="sent, bound"><section rst-signin aria-labelledby="rst-signin-heading">
154<div rst-signin-brand><p rst-signin-name>Harbour</p><p rst-signin-pitch>Moorings and berths, booked in a minute.</p></div>
155<div rst-signin-door>
156<h1 id="rst-signin-heading">Check your email</h1>
157<p>We sent a link to <bdi>ada@example.com</bdi>. The link works once and expires soon.</p>
158<form rst-signin-form method="post" action="/signin/forget"><button rst-btn="ghost block" type="submit">Use a different email</button></form>
159</div>
160</section></div><div id="case-6-true" title="sent, bound"><section rst-signin aria-labelledby="rst-signin-heading">
161<div rst-signin-brand><p rst-signin-name>Harbour</p><p rst-signin-pitch>Moorings and berths, booked in a minute.</p></div>
162<div rst-signin-door>
163<h1 id="rst-signin-heading">Check your email</h1>
164<p>We sent a link to <bdi>ada@example.com</bdi>. The link works once and expires soon.</p>
165<form rst-signin-form method="post" action="/signin/forget"><button rst-btn="ghost block" type="submit">Use a different email</button></form>
166</div>
167</section></div><div id="case-7-false" title="sent, unbound"><section rst-signin aria-labelledby="rst-signin-heading">
168<div rst-signin-brand><p rst-signin-name>Harbour</p><p rst-signin-pitch>Moorings and berths, booked in a minute.</p></div>
169<div rst-signin-door>
170<h1 id="rst-signin-heading">Check your email</h1>
171<p>We sent a link to your inbox. The link works once and expires soon.</p>
172<form rst-signin-form method="post" action="/signin/forget"><button rst-btn="ghost block" type="submit">Use a different email</button></form>
173</div>
174</section></div><div id="case-7-true" title="sent, unbound"><section rst-signin aria-labelledby="rst-signin-heading">
175<div rst-signin-brand><p rst-signin-name>Harbour</p><p rst-signin-pitch>Moorings and berths, booked in a minute.</p></div>
176<div rst-signin-door>
177<h1 id="rst-signin-heading">Check your email</h1>
178<p>We sent a link to your inbox. The link works once and expires soon.</p>
179<form rst-signin-form method="post" action="/signin/forget"><button rst-btn="ghost block" type="submit">Use a different email</button></form>
180</div>
181</section></div><div id="case-8-false" title="sent instead of keymail"><section rst-signin aria-labelledby="rst-signin-heading">
182<div rst-signin-brand><p rst-signin-name>Harbour</p><p rst-signin-pitch>Moorings and berths, booked in a minute.</p></div>
183<div rst-signin-door>
184<h1 id="rst-signin-heading">Check your email</h1>
185<p>We sent you a sign-in link this time.</p>
186<p>We sent a link to <bdi>kay@example.org</bdi>. The link works once and expires soon.</p>
187<form rst-signin-form method="post" action="/signin/forget"><button rst-btn="ghost block" type="submit">Use a different email</button></form>
188</div>
189</section></div><div id="case-8-true" title="sent instead of keymail"><section rst-signin aria-labelledby="rst-signin-heading">
190<div rst-signin-brand><p rst-signin-name>Harbour</p><p rst-signin-pitch>Moorings and berths, booked in a minute.</p></div>
191<div rst-signin-door>
192<h1 id="rst-signin-heading">Check your email</h1>
193<p>We sent you a sign-in link this time.</p>
194<p>We sent a link to <bdi>kay@example.org</bdi>. The link works once and expires soon.</p>
195<form rst-signin-form method="post" action="/signin/forget"><button rst-btn="ghost block" type="submit">Use a different email</button></form>
196</div>
197</section></div><div id="case-9-true" title="continue"><section rst-signin aria-labelledby="rst-signin-heading">
198<div rst-signin-brand><p rst-signin-name>Harbour</p><p rst-signin-pitch>Moorings and berths, booked in a minute.</p></div>
199<div rst-signin-door>
200
201<h1 id="rst-signin-heading">Taking you to Keymail</h1>
202<p>Taking you to Keymail to confirm it&#39;s you.</p>
203<a rst-btn="primary block" href="#">Continue to Keymail</a>
204</div>
205</section></div><div id="case-10-false" title="confirm"><section rst-signin aria-labelledby="rst-signin-heading">
206<div rst-signin-brand><p rst-signin-name>Harbour</p><p rst-signin-pitch>Moorings and berths, booked in a minute.</p></div>
207<div rst-signin-door>
208<h1 id="rst-signin-heading">Sign in to Harbour</h1>
209<form rst-signin-form method="post" action="/auth/verify">
210<input type="hidden" name="token" value="tok">
211<button rst-btn="primary block" type="submit" autofocus>Sign in</button>
212</form>
213</div>
214</section></div><div id="case-10-true" title="confirm"><section rst-signin aria-labelledby="rst-signin-heading">
215<div rst-signin-brand><p rst-signin-name>Harbour</p><p rst-signin-pitch>Moorings and berths, booked in a minute.</p></div>
216<div rst-signin-door>
217<h1 id="rst-signin-heading">Sign in to Harbour</h1>
218<form rst-signin-form method="post" action="/auth/verify">
219<input type="hidden" name="token" value="tok">
220<button rst-btn="primary block" type="submit" autofocus>Sign in</button>
221</form>
222</div>
223</section></div><div id="case-11-false" title="rate"><section rst-signin aria-labelledby="rst-signin-heading">
224<div rst-signin-brand><p rst-signin-name>Harbour</p><p rst-signin-pitch>Moorings and berths, booked in a minute.</p></div>
225<div rst-signin-door>
226<h1 id="rst-signin-heading">Sign in to Harbour</h1>
227<div rst-callout id="rst-signin-problem" rst-tone="negative" tabindex="-1" autofocus><span rst-callout-ic aria-hidden="true"><svg class="icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><circle cx="12" cy="12" r="10"/><path d="m15 9-6 6"/><path d="m9 9 6 6"/></svg></span><div rst-callout-body><p>Too many tries. Try again in a few minutes.</p></div></div>
228<form rst-signin-form method="post" action="/signin">
229<div rst-field><label rst-field-label for="rst-signin-email">Email</label>
230<input rst-input type="email" id="rst-signin-email" name="address" value="ada@example.com" required autocomplete="email">
231</div>
232<button rst-btn="primary block" type="submit">Continue</button>
233</form>
234</div>
235</section></div><div id="case-11-true" title="rate"><section rst-signin aria-labelledby="rst-signin-heading">
236<div rst-signin-brand><p rst-signin-name>Harbour</p><p rst-signin-pitch>Moorings and berths, booked in a minute.</p></div>
237<div rst-signin-door>
238<h1 id="rst-signin-heading">Sign in to Harbour</h1>
239<div rst-callout id="rst-signin-problem" rst-tone="negative" tabindex="-1" autofocus><span rst-callout-ic aria-hidden="true"><svg class="icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><circle cx="12" cy="12" r="10"/><path d="m15 9-6 6"/><path d="m9 9 6 6"/></svg></span><div rst-callout-body><p>Too many tries. Try again in a few minutes.</p></div></div>
240<form rst-signin-form method="post" action="/signin">
241<div rst-field><label rst-field-label for="rst-signin-email">Email</label>
242<input rst-input type="email" id="rst-signin-email" name="address" value="ada@example.com" required autocomplete="email">
243</div>
244<button rst-btn="primary block" type="submit">Continue</button>
245</form>
246</div>
247</section></div><div id="case-12-false" title="address"><section rst-signin aria-labelledby="rst-signin-heading">
248<div rst-signin-brand><p rst-signin-name>Harbour</p><p rst-signin-pitch>Moorings and berths, booked in a minute.</p></div>
249<div rst-signin-door>
250<h1 id="rst-signin-heading">Sign in to Harbour</h1>
251<form rst-signin-form method="post" action="/signin">
252<div rst-field><label rst-field-label for="rst-signin-email">Email</label>
253<input rst-input type="email" id="rst-signin-email" name="address" value="ada@example" required autofocus autocomplete="email" aria-invalid="true" aria-describedby="rst-signin-email-error">
254<p rst-field-error id="rst-signin-email-error">That doesn&#39;t look like an email address.</p>
255</div>
256<button rst-btn="primary block" type="submit">Continue</button>
257</form>
258</div>
259</section></div><div id="case-12-true" title="address"><section rst-signin aria-labelledby="rst-signin-heading">
260<div rst-signin-brand><p rst-signin-name>Harbour</p><p rst-signin-pitch>Moorings and berths, booked in a minute.</p></div>
261<div rst-signin-door>
262<h1 id="rst-signin-heading">Sign in to Harbour</h1>
263<form rst-signin-form method="post" action="/signin">
264<div rst-field><label rst-field-label for="rst-signin-email">Email</label>
265<input rst-input type="email" id="rst-signin-email" name="address" value="ada@example" required autofocus autocomplete="email" aria-invalid="true" aria-describedby="rst-signin-email-error">
266<p rst-field-error id="rst-signin-email-error">That doesn&#39;t look like an email address.</p>
267</div>
268<button rst-btn="primary block" type="submit">Continue</button>
269</form>
270</div>
271</section></div><div id="case-13-false" title="expired"><section rst-signin aria-labelledby="rst-signin-heading">
272<div rst-signin-brand><p rst-signin-name>Harbour</p><p rst-signin-pitch>Moorings and berths, booked in a minute.</p></div>
273<div rst-signin-door>
274<h1 id="rst-signin-heading">Sign in to Harbour</h1>
275<div rst-callout id="rst-signin-problem" rst-tone="negative" tabindex="-1" autofocus><span rst-callout-ic aria-hidden="true"><svg class="icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><circle cx="12" cy="12" r="10"/><path d="m15 9-6 6"/><path d="m9 9 6 6"/></svg></span><div rst-callout-body><p>That link has expired or was already used. Send a new one.</p></div></div>
276<form rst-signin-form method="post" action="/signin">
277<div rst-field><label rst-field-label for="rst-signin-email">Email</label>
278<input rst-input type="email" id="rst-signin-email" name="address" required autocomplete="email">
279</div>
280<button rst-btn="primary block" type="submit">Continue</button>
281</form>
282</div>
283</section></div><div id="case-13-true" title="expired"><section rst-signin aria-labelledby="rst-signin-heading">
284<div rst-signin-brand><p rst-signin-name>Harbour</p><p rst-signin-pitch>Moorings and berths, booked in a minute.</p></div>
285<div rst-signin-door>
286<h1 id="rst-signin-heading">Sign in to Harbour</h1>
287<div rst-callout id="rst-signin-problem" rst-tone="negative" tabindex="-1" autofocus><span rst-callout-ic aria-hidden="true"><svg class="icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><circle cx="12" cy="12" r="10"/><path d="m15 9-6 6"/><path d="m9 9 6 6"/></svg></span><div rst-callout-body><p>That link has expired or was already used. Send a new one.</p></div></div>
288<form rst-signin-form method="post" action="/signin">
289<div rst-field><label rst-field-label for="rst-signin-email">Email</label>
290<input rst-input type="email" id="rst-signin-email" name="address" required autocomplete="email">
291</div>
292<button rst-btn="primary block" type="submit">Continue</button>
293</form>
294</div>
295</section></div><div id="case-14-false" title="keymail"><section rst-signin aria-labelledby="rst-signin-heading">
296<div rst-signin-brand><p rst-signin-name>Harbour</p><p rst-signin-pitch>Moorings and berths, booked in a minute.</p></div>
297<div rst-signin-door>
298<h1 id="rst-signin-heading">Sign in to Harbour</h1>
299<div rst-callout id="rst-signin-problem" rst-tone="negative" tabindex="-1" autofocus><span rst-callout-ic aria-hidden="true"><svg class="icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><circle cx="12" cy="12" r="10"/><path d="m15 9-6 6"/><path d="m9 9 6 6"/></svg></span><div rst-callout-body><p>Keymail couldn&#39;t confirm it&#39;s you.</p></div></div>
300<form rst-signin-form method="post" action="/signin">
301<div rst-field><label rst-field-label for="rst-signin-email">Email</label>
302<input rst-input type="email" id="rst-signin-email" name="address" value="kay@example.org" required autocomplete="email">
303</div>
304<input type="hidden" name="force" value="1">
305<button rst-btn="primary block" type="submit">Send me a link instead</button>
306</form>
307</div>
308</section></div><div id="case-14-true" title="keymail"><section rst-signin aria-labelledby="rst-signin-heading">
309<div rst-signin-brand><p rst-signin-name>Harbour</p><p rst-signin-pitch>Moorings and berths, booked in a minute.</p></div>
310<div rst-signin-door>
311<h1 id="rst-signin-heading">Sign in to Harbour</h1>
312<div rst-callout id="rst-signin-problem" rst-tone="negative" tabindex="-1" autofocus><span rst-callout-ic aria-hidden="true"><svg class="icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><circle cx="12" cy="12" r="10"/><path d="m15 9-6 6"/><path d="m9 9 6 6"/></svg></span><div rst-callout-body><p>Keymail couldn&#39;t confirm it&#39;s you.</p></div></div>
313<form rst-signin-form method="post" action="/signin">
314<div rst-field><label rst-field-label for="rst-signin-email">Email</label>
315<input rst-input type="email" id="rst-signin-email" name="address" value="kay@example.org" required autocomplete="email">
316</div>
317<input type="hidden" name="force" value="1">
318<button rst-btn="primary block" type="submit">Send me a link instead</button>
319</form>
320</div>
321</section></div><div id="case-15-false" title="generic"><section rst-signin aria-labelledby="rst-signin-heading">
322<div rst-signin-brand><p rst-signin-name>Harbour</p><p rst-signin-pitch>Moorings and berths, booked in a minute.</p></div>
323<div rst-signin-door>
324<h1 id="rst-signin-heading">Sign in to Harbour</h1>
325<div rst-callout id="rst-signin-problem" rst-tone="negative" tabindex="-1" autofocus><span rst-callout-ic aria-hidden="true"><svg class="icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><circle cx="12" cy="12" r="10"/><path d="m15 9-6 6"/><path d="m9 9 6 6"/></svg></span><div rst-callout-body><p>Something went wrong. Try again.</p></div></div>
326<form rst-signin-form method="post" action="/signin">
327<div rst-field><label rst-field-label for="rst-signin-email">Email</label>
328<input rst-input type="email" id="rst-signin-email" name="address" required autocomplete="email">
329</div>
330<button rst-btn="primary block" type="submit">Continue</button>
331</form>
332</div>
333</section></div><div id="case-15-true" title="generic"><section rst-signin aria-labelledby="rst-signin-heading">
334<div rst-signin-brand><p rst-signin-name>Harbour</p><p rst-signin-pitch>Moorings and berths, booked in a minute.</p></div>
335<div rst-signin-door>
336<h1 id="rst-signin-heading">Sign in to Harbour</h1>
337<div rst-callout id="rst-signin-problem" rst-tone="negative" tabindex="-1" autofocus><span rst-callout-ic aria-hidden="true"><svg class="icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><circle cx="12" cy="12" r="10"/><path d="m15 9-6 6"/><path d="m9 9 6 6"/></svg></span><div rst-callout-body><p>Something went wrong. Try again.</p></div></div>
338<form rst-signin-form method="post" action="/signin">
339<div rst-field><label rst-field-label for="rst-signin-email">Email</label>
340<input rst-input type="email" id="rst-signin-email" name="address" required autocomplete="email">
341</div>
342<button rst-btn="primary block" type="submit">Continue</button>
343</form>
344</div>
345</section></div><div id="case-16-false" title="reauth, ask"><section rst-signin aria-labelledby="rst-signin-heading">
346<div rst-signin-brand><p rst-signin-name>Harbour</p><p rst-signin-pitch>Moorings and berths, booked in a minute.</p></div>
347<div rst-signin-door>
348<h1 id="rst-signin-heading">Sign in to Harbour</h1>
349<div rst-callout id="rst-signin-problem" rst-tone="info"><span rst-callout-ic aria-hidden="true"><svg class="icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><circle cx="12" cy="12" r="10"/><path d="M12 16v-4"/><path d="M12 8h.01"/></svg></span><div rst-callout-body><p>Sign in again to continue.</p></div></div>
350<form rst-signin-form method="post" action="/signin">
351<div rst-field><label rst-field-label for="rst-signin-email">Email</label>
352<input rst-input type="email" id="rst-signin-email" name="address" required autofocus autocomplete="email">
353</div>
354<button rst-btn="primary block" type="submit">Continue</button>
355</form>
356</div>
357</section></div><div id="case-16-true" title="reauth, ask"><section rst-signin aria-labelledby="rst-signin-heading">
358<div rst-signin-brand><p rst-signin-name>Harbour</p><p rst-signin-pitch>Moorings and berths, booked in a minute.</p></div>
359<div rst-signin-door>
360<h1 id="rst-signin-heading">Sign in to Harbour</h1>
361<div rst-callout id="rst-signin-problem" rst-tone="info"><span rst-callout-ic aria-hidden="true"><svg class="icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><circle cx="12" cy="12" r="10"/><path d="M12 16v-4"/><path d="M12 8h.01"/></svg></span><div rst-callout-body><p>Sign in again to continue.</p></div></div>
362<form rst-signin-form method="post" action="/signin">
363<div rst-field><label rst-field-label for="rst-signin-email">Email</label>
364<input rst-input type="email" id="rst-signin-email" name="address" required autofocus autocomplete="email">
365</div>
366<button rst-btn="primary block" type="submit">Continue</button>
367</form>
368</div>
369</section></div><div id="case-17-false" title="reauth, returning keymail"><section rst-signin aria-labelledby="rst-signin-heading">
370<div rst-signin-brand><p rst-signin-name>Harbour</p><p rst-signin-pitch>Moorings and berths, booked in a minute.</p></div>
371<div rst-signin-door>
372<h1 id="rst-signin-heading">Sign in to Harbour</h1>
373<div rst-callout id="rst-signin-problem" rst-tone="info"><span rst-callout-ic aria-hidden="true"><svg class="icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><circle cx="12" cy="12" r="10"/><path d="M12 16v-4"/><path d="M12 8h.01"/></svg></span><div rst-callout-body><p>Sign in again to continue.</p></div></div>
374<form rst-signin-form method="post" action="/signin">
375<input type="hidden" name="address" value="kay@example.org">
376<input type="hidden" name="expect" value="keymail">
377<button rst-btn="primary block" type="submit" aria-describedby="rst-signin-remembered" autofocus>Continue to Keymail</button>
378<p rst-signin-remembered id="rst-signin-remembered">as <bdi>kay@example.org</bdi></p>
379</form>
380<form rst-signin-form method="post" action="/signin/forget"><button rst-btn="ghost block" type="submit">Use a different email</button></form>
381</div>
382</section></div><div id="case-17-true" title="reauth, returning keymail"><section rst-signin aria-labelledby="rst-signin-heading">
383<div rst-signin-brand><p rst-signin-name>Harbour</p><p rst-signin-pitch>Moorings and berths, booked in a minute.</p></div>
384<div rst-signin-door>
385<h1 id="rst-signin-heading">Sign in to Harbour</h1>
386<div rst-callout id="rst-signin-problem" rst-tone="info"><span rst-callout-ic aria-hidden="true"><svg class="icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><circle cx="12" cy="12" r="10"/><path d="M12 16v-4"/><path d="M12 8h.01"/></svg></span><div rst-callout-body><p>Sign in again to continue.</p></div></div>
387<form rst-signin-form method="post" action="/signin">
388<input type="hidden" name="address" value="kay@example.org">
389<input type="hidden" name="expect" value="keymail">
390<button rst-btn="primary block" type="submit" aria-describedby="rst-signin-remembered" autofocus>Continue to Keymail</button>
391<p rst-signin-remembered id="rst-signin-remembered">as <bdi>kay@example.org</bdi></p>
392</form>
393<form rst-signin-form method="post" action="/signin/forget"><button rst-btn="ghost block" type="submit">Use a different email</button></form>
394</div>
395</section></div>