masks-server 0.8.0 → 0.9.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/app/controllers/concerns/masks/server/client_authentication.rb +1 -1
- data/app/controllers/concerns/masks/server/resource_token.rb +12 -3
- data/app/controllers/masks/server/application_controller.rb +8 -6
- data/app/controllers/masks/server/authorize_controller.rb +1 -1
- data/app/controllers/masks/server/logins_controller.rb +2 -1
- data/app/controllers/masks/server/registrations_controller.rb +9 -1
- data/app/controllers/masks/server/scim/metadata_controller.rb +1 -1
- data/app/controllers/masks/server/tokens_controller.rb +1 -1
- data/app/graphql/masks/server/manage/mutations/add_app.rb +1 -1
- data/app/helpers/masks/server/account_helper.rb +1 -1
- data/app/models/masks/server/actor.rb +3 -3
- data/app/models/masks/server/client.rb +46 -6
- data/app/models/masks/server/handshake.rb +12 -6
- data/app/models/masks/server/login.rb +3 -6
- data/app/models/masks/server/pending_handshake.rb +2 -1
- data/app/models/masks/server/session.rb +7 -5
- data/app/policies/masks/server/exchange_policy.rb +1 -1
- data/app/policies/masks/server/grant_checks.rb +1 -1
- data/app/views/masks/server/account/_info.html.erb +1 -1
- data/app/views/masks/server/account/_organizations.html.erb +4 -4
- data/app/views/masks/server/application/_actor.html.erb +27 -0
- data/app/views/masks/server/handshakes/refused.html.erb +1 -1
- data/app/views/masks/server/handshakes/show.html.erb +1 -1
- data/app/views/masks/server/logins/_choose_organization.html.erb +1 -1
- data/app/views/masks/server/logins/_consent.html.erb +1 -1
- data/app/views/masks/server/sessions/confirm.html.erb +1 -1
- data/config/locales/de/account.yml +2 -2
- data/config/locales/de/application.yml +1 -1
- data/config/locales/de/events.yml +5 -5
- data/config/locales/de/manage/groups.yml +1 -1
- data/config/locales/de/manage/organization.yml +1 -1
- data/config/locales/en/account.yml +2 -2
- data/config/locales/en/application.yml +1 -1
- data/config/locales/en/events.yml +5 -5
- data/config/locales/en/manage/groups.yml +1 -1
- data/config/locales/en/manage/organization.yml +1 -1
- data/config/locales/es/account.yml +2 -2
- data/config/locales/es/application.yml +1 -1
- data/config/locales/es/events.yml +5 -5
- data/config/locales/es/manage/groups.yml +1 -1
- data/config/locales/es/manage/organization.yml +1 -1
- data/config/locales/fr/account.yml +2 -2
- data/config/locales/fr/application.yml +1 -1
- data/config/locales/fr/events.yml +5 -5
- data/config/locales/fr/manage/groups.yml +1 -1
- data/config/locales/fr/manage/organization.yml +1 -1
- data/db/migrate/20261013010000_add_handshake_return_to_to_clients.rb +5 -0
- data/lib/generators/masks/server/install/install_generator.rb +2 -2
- data/lib/masks/server/browser_access.rb +35 -0
- data/lib/masks/server/configuration.rb +3 -3
- data/lib/masks/server/engine.rb +1 -0
- data/lib/masks/server/schema_reference.rb +17 -4
- data/lib/masks/server.rb +1 -0
- data/public/masks-assets/.vite/manifest.json +7 -7
- data/public/masks-assets/assets/app-B27oPUll.css +2 -0
- data/public/masks-assets/assets/{initial-D99AzFOd.js → initial-C1GpCiEh.js} +2 -2
- data/public/masks-assets/assets/{initial-D99AzFOd.js.map → initial-C1GpCiEh.js.map} +1 -1
- data/public/masks-assets/assets/login-C_6igRZ3.js +4 -0
- data/public/masks-assets/assets/login-C_6igRZ3.js.map +1 -0
- data/public/masks-assets/assets/manage-Dbfiy3Mj.js +567 -0
- data/public/masks-assets/assets/manage-Dbfiy3Mj.js.map +1 -0
- data/version.txt +1 -1
- metadata +11 -9
- data/app/views/masks/server/application/_person.html.erb +0 -27
- data/public/masks-assets/assets/app-DoQZrM_J.css +0 -2
- data/public/masks-assets/assets/login-CNs1UpxJ.js +0 -4
- data/public/masks-assets/assets/login-CNs1UpxJ.js.map +0 -1
- data/public/masks-assets/assets/manage-isLCrWiU.js +0 -567
- data/public/masks-assets/assets/manage-isLCrWiU.js.map +0 -1
data/version.txt
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
0.
|
|
1
|
+
0.9.0
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: masks-server
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.
|
|
4
|
+
version: 0.9.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- the masks authors
|
|
@@ -706,8 +706,8 @@ files:
|
|
|
706
706
|
- app/views/masks/server/actor_mailer/password_reset.text.erb
|
|
707
707
|
- app/views/masks/server/actor_mailer/recovery_requested.html.erb
|
|
708
708
|
- app/views/masks/server/actor_mailer/recovery_requested.text.erb
|
|
709
|
+
- app/views/masks/server/application/_actor.html.erb
|
|
709
710
|
- app/views/masks/server/application/_flashes.html.erb
|
|
710
|
-
- app/views/masks/server/application/_person.html.erb
|
|
711
711
|
- app/views/masks/server/authorize/error.html.erb
|
|
712
712
|
- app/views/masks/server/device_verifications/approved.html.erb
|
|
713
713
|
- app/views/masks/server/device_verifications/show.html.erb
|
|
@@ -1034,10 +1034,12 @@ files:
|
|
|
1034
1034
|
- db/migrate/20261011180000_rename_adapters_to_senders.rb
|
|
1035
1035
|
- db/migrate/20261011190000_add_enrolled_by_to_clients.rb
|
|
1036
1036
|
- db/migrate/20261012100000_create_replays.rb
|
|
1037
|
+
- db/migrate/20261013010000_add_handshake_return_to_to_clients.rb
|
|
1037
1038
|
- lib/generators/masks/server/install/install_generator.rb
|
|
1038
1039
|
- lib/generators/masks/server/install/templates/masks_server.rb.tt
|
|
1039
1040
|
- lib/masks-server.rb
|
|
1040
1041
|
- lib/masks/server.rb
|
|
1042
|
+
- lib/masks/server/browser_access.rb
|
|
1041
1043
|
- lib/masks/server/configuration.rb
|
|
1042
1044
|
- lib/masks/server/engine.rb
|
|
1043
1045
|
- lib/masks/server/forwarded_app.rb
|
|
@@ -1059,16 +1061,16 @@ files:
|
|
|
1059
1061
|
- public/masks-assets/.vite/manifest.json
|
|
1060
1062
|
- public/masks-assets/assets/account-D46qDQCo.js
|
|
1061
1063
|
- public/masks-assets/assets/account-D46qDQCo.js.map
|
|
1062
|
-
- public/masks-assets/assets/app-
|
|
1064
|
+
- public/masks-assets/assets/app-B27oPUll.css
|
|
1063
1065
|
- public/masks-assets/assets/console-DoyNbIw3.css
|
|
1064
1066
|
- public/masks-assets/assets/handshake-DIFZPSAK.js
|
|
1065
1067
|
- public/masks-assets/assets/handshake-DIFZPSAK.js.map
|
|
1066
|
-
- public/masks-assets/assets/initial-
|
|
1067
|
-
- public/masks-assets/assets/initial-
|
|
1068
|
-
- public/masks-assets/assets/login-
|
|
1069
|
-
- public/masks-assets/assets/login-
|
|
1070
|
-
- public/masks-assets/assets/manage-
|
|
1071
|
-
- public/masks-assets/assets/manage-
|
|
1068
|
+
- public/masks-assets/assets/initial-C1GpCiEh.js
|
|
1069
|
+
- public/masks-assets/assets/initial-C1GpCiEh.js.map
|
|
1070
|
+
- public/masks-assets/assets/login-C_6igRZ3.js
|
|
1071
|
+
- public/masks-assets/assets/login-C_6igRZ3.js.map
|
|
1072
|
+
- public/masks-assets/assets/manage-Dbfiy3Mj.js
|
|
1073
|
+
- public/masks-assets/assets/manage-Dbfiy3Mj.js.map
|
|
1072
1074
|
- public/masks-assets/assets/passkey-DIj_5LCY.js
|
|
1073
1075
|
- public/masks-assets/assets/passkey-DIj_5LCY.js.map
|
|
1074
1076
|
- public/masks-public/favicon.svg
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
<% sign_out = local_assigns.fetch(:sign_out, false) %>
|
|
2
|
-
<% details = actor.display_details %>
|
|
3
|
-
|
|
4
|
-
<div class="person">
|
|
5
|
-
<%= avatar_tag actor, size: 44, class: "person-avatar" %>
|
|
6
|
-
|
|
7
|
-
<div class="person-who">
|
|
8
|
-
<span class="person-name"><%= actor.display_name %></span>
|
|
9
|
-
|
|
10
|
-
<% if details.any? || actor.email_unconfirmed? %>
|
|
11
|
-
<span class="person-sub">
|
|
12
|
-
<%= details.join(" · ") %>
|
|
13
|
-
<% if actor.email_unconfirmed? %>
|
|
14
|
-
<span class="person-note"><%= local_assigns[:unconfirmed] || t("application.person.unconfirmed") %></span>
|
|
15
|
-
<% end %>
|
|
16
|
-
</span>
|
|
17
|
-
<% end %>
|
|
18
|
-
|
|
19
|
-
<% if actor.manages? %>
|
|
20
|
-
<span class="person-role"><%= t("application.person.manager") %></span>
|
|
21
|
-
<% end %>
|
|
22
|
-
</div>
|
|
23
|
-
|
|
24
|
-
<% if sign_out %>
|
|
25
|
-
<%= button_to t("application.person.sign_out"), logout_path, class: "textlink", form_class: "signout" %>
|
|
26
|
-
<% end %>
|
|
27
|
-
</div>
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */
|
|
2
|
-
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-border-style:solid;--tw-font-weight:initial}}}@layer theme{:root,:host{--font-sans:system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-mono:ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;--spacing:.25rem;--container-xs:20rem;--container-sm:24rem;--container-xl:36rem;--container-6xl:72rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-xl:1.25rem;--text-xl--line-height:calc(1.75 / 1.25);--font-weight-medium:500;--font-weight-semibold:600;--radius-lg:.5rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--color-base-100:#fff;--color-base-200:#fcf9f7;--color-base-300:#e5ded9;--color-base-content:#211c18;--color-primary:#b04000;--color-primary-content:#fff;--color-secondary:#87611e;--color-accent:#6d4702;--color-neutral:#211c18;--color-neutral-content:#fcf9f7;--color-info:#0077b2;--color-success:#008450;--color-warning:#8b6200;--color-error:#b53530;--color-error-content:#fff;--radius-box:5px;--radius-field:3px}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components{.btn{border-radius:var(--radius-box);border:1px solid var(--edge);background:var(--color-base-100);color:inherit;font:inherit;white-space:nowrap;cursor:pointer;justify-content:center;align-items:center;gap:.4375rem;padding:.5625rem .9375rem;font-size:.875rem;font-weight:500;line-height:1.2;text-decoration:none;transition:border-color .15s,background-color .15s,color .15s;display:inline-flex}.btn:hover:not(:disabled){border-color:#211c18}@supports (color:color-mix(in lab, red, red)){.btn:hover:not(:disabled){border-color:color-mix(in oklab, var(--color-base-content) 30%, var(--edge))}}.btn:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.btn:disabled,.btn[aria-disabled=true]{opacity:.45;cursor:not-allowed}.btn-sm{padding:.375rem .75rem;font-size:.8125rem}.btn-xs{padding:.25rem .5rem;font-size:.75rem}.btn-primary{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-primary-content)}.btn-primary:hover:not(:disabled){background:#973700}@supports (color:color-mix(in lab, red, red)){.btn-primary:hover:not(:disabled){background:color-mix(in oklab, var(--color-primary) 86%, black)}}.btn-primary:hover:not(:disabled){border-color:#973700}@supports (color:color-mix(in lab, red, red)){.btn-primary:hover:not(:disabled){border-color:color-mix(in oklab, var(--color-primary) 86%, black)}}.btn-error{background:var(--color-error);border-color:var(--color-error);color:var(--color-error-content)}.btn-error:hover:not(:disabled){background:#9c2e29}@supports (color:color-mix(in lab, red, red)){.btn-error:hover:not(:disabled){background:color-mix(in oklab, var(--color-error) 86%, black)}}.btn-error:hover:not(:disabled){border-color:#9c2e29}@supports (color:color-mix(in lab, red, red)){.btn-error:hover:not(:disabled){border-color:color-mix(in oklab, var(--color-error) 86%, black)}}.btn-ghost{background:0 0;border-color:#0000}.btn-ghost:hover:not(:disabled){background:var(--sunk);border-color:#0000}.btn-outline{background:0 0}.btn-error.btn-outline{color:var(--color-error);border-color:#b5353073}@supports (color:color-mix(in lab, red, red)){.btn-error.btn-outline{border-color:color-mix(in oklab, var(--color-error) 45%, transparent)}}.btn-error.btn-outline:hover:not(:disabled){background:#b535301f}@supports (color:color-mix(in lab, red, red)){.btn-error.btn-outline:hover:not(:disabled){background:color-mix(in oklab, var(--color-error) 12%, transparent)}}.btn-error.btn-outline:hover:not(:disabled){border-color:var(--color-error)}.link{color:inherit;text-underline-offset:2px;cursor:pointer;text-decoration:underline;text-decoration-thickness:1px}.link-hover{text-decoration:none}.link-hover:hover,.link:hover{text-decoration:underline}.badge{border:1px solid var(--edge);background:var(--color-base-100);white-space:nowrap;border-radius:999px;align-items:center;gap:.25rem;padding:.125rem .4375rem;font-size:.75rem;font-weight:500;line-height:1.5;display:inline-flex}.badge-sm{padding:.0625rem .375rem;font-size:.6875rem}.badge-xs{padding:0 .3125rem;font-size:.625rem}.badge-ghost{background:var(--sunk);border-color:#0000}.badge-success{color:var(--color-success);border-color:#00845066}@supports (color:color-mix(in lab, red, red)){.badge-success{border-color:color-mix(in oklab, var(--color-success) 40%, transparent)}}.badge-success{background:#0084501f}@supports (color:color-mix(in lab, red, red)){.badge-success{background:color-mix(in oklab, var(--color-success) 12%, transparent)}}.badge-warning{color:var(--color-warning);border-color:#8b620066}@supports (color:color-mix(in lab, red, red)){.badge-warning{border-color:color-mix(in oklab, var(--color-warning) 40%, transparent)}}.badge-warning{background:#8b62001f}@supports (color:color-mix(in lab, red, red)){.badge-warning{background:color-mix(in oklab, var(--color-warning) 12%, transparent)}}.badge-error{color:var(--color-error);border-color:#b5353066}@supports (color:color-mix(in lab, red, red)){.badge-error{border-color:color-mix(in oklab, var(--color-error) 40%, transparent)}}.badge-error{background:#b535301f}@supports (color:color-mix(in lab, red, red)){.badge-error{background:color-mix(in oklab, var(--color-error) 12%, transparent)}}.badge-info{color:var(--color-info);border-color:#0077b266}@supports (color:color-mix(in lab, red, red)){.badge-info{border-color:color-mix(in oklab, var(--color-info) 40%, transparent)}}.badge-info{background:#0077b21f}@supports (color:color-mix(in lab, red, red)){.badge-info{background:color-mix(in oklab, var(--color-info) 12%, transparent)}}.alert{border-radius:var(--radius-box);border:1px solid var(--edge);background:var(--color-base-100);align-items:flex-start;gap:.625rem;padding:.75rem .875rem;font-size:.875rem;line-height:1.45;display:flex}.alert-soft{background:var(--sunk);border-color:#0000}.alert-error{color:var(--color-error);border-color:#b5353059}@supports (color:color-mix(in lab, red, red)){.alert-error{border-color:color-mix(in oklab, var(--color-error) 35%, transparent)}}.alert-error{background:#b535301a}@supports (color:color-mix(in lab, red, red)){.alert-error{background:color-mix(in oklab, var(--color-error) 10%, transparent)}}.alert-warning{color:var(--color-warning);border-color:#8b620059}@supports (color:color-mix(in lab, red, red)){.alert-warning{border-color:color-mix(in oklab, var(--color-warning) 35%, transparent)}}.alert-warning{background:#8b62001a}@supports (color:color-mix(in lab, red, red)){.alert-warning{background:color-mix(in oklab, var(--color-warning) 10%, transparent)}}.alert-success{color:var(--color-success);border-color:#00845059}@supports (color:color-mix(in lab, red, red)){.alert-success{border-color:color-mix(in oklab, var(--color-success) 35%, transparent)}}.alert-success{background:#0084501a}@supports (color:color-mix(in lab, red, red)){.alert-success{background:color-mix(in oklab, var(--color-success) 10%, transparent)}}.alert-info{color:var(--color-info);border-color:#0077b259}@supports (color:color-mix(in lab, red, red)){.alert-info{border-color:color-mix(in oklab, var(--color-info) 35%, transparent)}}.alert-info{background:#0077b21a}@supports (color:color-mix(in lab, red, red)){.alert-info{background:color-mix(in oklab, var(--color-info) 10%, transparent)}}.input,.select,.textarea{border-radius:var(--radius-box);border:1px solid var(--edge);background:var(--color-base-100);width:100%;color:inherit;font:inherit;padding:.5625rem .75rem;font-size:.875rem;line-height:1.4}.input:focus,.select:focus,.textarea:focus{outline:2px solid var(--color-primary);outline-offset:-1px}.input-sm,.select-sm,.textarea-sm{padding:.375rem .5625rem;font-size:.8125rem}.textarea{resize:vertical;min-height:5rem}.select{appearance:none;background-image:linear-gradient(45deg,#0000 50%,currentColor 50%),linear-gradient(135deg,currentColor 50%,#0000 50%);background-position:calc(100% - .9375rem) 55%,calc(100% - .625rem) 55%;background-repeat:no-repeat;background-size:.3125rem .3125rem,.3125rem .3125rem;padding-right:1.75rem}.checkbox{width:1rem;height:1rem;accent-color:var(--color-primary);cursor:pointer;flex:none;margin:0}.toggle{appearance:none;border:1px solid var(--edge);background:var(--sunk);cursor:pointer;border-radius:999px;flex:none;width:2.25rem;height:1.3125rem;transition:background-color .15s;position:relative}.toggle:after{content:"";background:var(--color-base-content);border-radius:50%;width:.9375rem;height:.9375rem;transition:transform .15s;position:absolute;top:50%;left:.125rem;transform:translateY(-50%)}.toggle:checked{background:var(--color-primary);border-color:var(--color-primary)}.toggle:checked:after{background:var(--color-primary-content);transform:translate(.9375rem,-50%)}.toggle-sm{width:1.875rem;height:1.125rem}.toggle-sm:after{width:.75rem;height:.75rem}.toggle-sm:checked:after{transform:translate(.75rem,-50%)}.range{width:100%;accent-color:var(--color-primary)}.join{display:inline-flex}.join-item:not(:first-child){border-start-start-radius:0;border-end-start-radius:0;margin-inline-start:-1px}.join-item:not(:last-child){border-start-end-radius:0;border-end-end-radius:0}.card{border-radius:var(--radius-box);border:1px solid var(--edge);background:var(--color-base-100);flex-direction:column;display:flex}.table{border-collapse:collapse;text-align:left;width:100%;font-size:.875rem}.table :where(th){color:#211c1899;padding:.625rem .75rem;font-size:.75rem;font-weight:500}@supports (color:color-mix(in lab, red, red)){.table :where(th){color:color-mix(in oklab, var(--color-base-content) 60%, transparent)}}.table :where(th){border-bottom:1px solid var(--edge)}.table :where(td){border-bottom:1px solid var(--edge);vertical-align:top;padding:.6875rem .75rem}.table :where(tbody tr:last-child td){border-bottom:0}.table-sm :where(th,td){padding:.4375rem .625rem}.loading{border:2px solid;border-top-color:#0000;border-radius:50%;width:1.125rem;height:1.125rem;animation:.62s linear infinite spin;display:inline-block}.loading-spinner{border-style:solid}.auth-page{--ground:#ececed;--surface:#f7f7f8;--line:#d9d9dc;--line-firm:#c4c4c8;--ink:#18181b;--ink-soft:#5c5c63;--brass:#8a5a1c;--brass-lit:#9b6a26;--signal:#b3380f;--signal-ink:#fff;--ring:#b3380f4d;--bad:#b0183f;--bad-field:#fbeef1;--warn:#8b6200;--warn-field:#fbf5e8;--info:#0077b2;--info-field:#edf5fa;--glow:#b3380f0d;--window:url(/masks-public/icon.svg);--window-strength:.2;--pane:var(--surface)}@supports (color:color-mix(in lab, red, red)){.auth-page{--pane:color-mix(in oklab, var(--surface) 58%, transparent)}}.auth-page{--pane-rim:var(--brass)}@supports (color:color-mix(in lab, red, red)){.auth-page{--pane-rim:color-mix(in oklab, var(--brass) 30%, var(--line))}}.auth-page{--pane-shine:#ffffffb3;--pane-sheen:#ffffff73;--pane-shadow:0 1px 1px #14141812, 0 18px 40px -24px #14141866;--bend:8px;--swing:cubic-bezier(.2, .8, .2, 1)}@media (prefers-color-scheme:dark){.auth-page{--ground:#0b0b0c;--surface:#1c1c1f;--line:#2a2a2e;--line-firm:#3e3e44;--ink:#ededef;--ink-soft:#9a9a9f;--brass:#c9a14a;--brass-lit:#e8c27a;--signal:#ff7a4a;--signal-ink:#1f0c06;--ring:#ff7a4a66;--bad:#ff7396;--bad-field:#ff73961a;--warn:#d4ad03;--warn-field:#d4ad031a;--info:#00c2fe;--info-field:#00c2fe1a;--glow:#ff7a4a0f;--window-strength:.36;--pane:var(--surface)}@supports (color:color-mix(in lab, red, red)){.auth-page{--pane:color-mix(in oklab, var(--surface) 52%, transparent)}}.auth-page{--pane-shine:#ffffff1a;--pane-sheen:#ffffff0b;--pane-shadow:0 1px 0 #0009, 0 22px 50px -24px #000c}}.auth-page{background:var(--ground);min-height:100svh;color:var(--ink);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;padding:2.5rem 1.25rem 3rem;display:flex}.auth-page:before{--window-size:min(64rem, 150vw);content:"";top:calc(var(--window-size) * -.42);right:calc(var(--window-size) * -.2);width:var(--window-size);aspect-ratio:1;pointer-events:none;background:var(--window) center / contain no-repeat;filter:blur(56px)saturate(1.2);opacity:var(--window-strength);position:fixed}.auth-col{flex-direction:column;gap:1.5rem;width:100%;max-width:24rem;margin:auto;display:flex;position:relative}.surface-grant{max-width:30rem}.setup-ready{--signal:var(--glass-emerald);--signal-ink:#fff;--ring:var(--glass-emerald)}@supports (color:color-mix(in lab, red, red)){.setup-ready{--ring:color-mix(in oklab, var(--glass-emerald) 26%, transparent)}}@media (prefers-color-scheme:dark){.setup-ready{--signal-ink:#06231a}}.surface-terminus{max-width:21rem}.disclosure{flex-direction:column;gap:.5rem;display:flex}.disclosure>summary{cursor:pointer;width:fit-content;color:var(--signal);text-underline-offset:3px;font-size:.9375rem;text-decoration:underline;list-style:none}.disclosure>summary::-webkit-details-marker{display:none}.surface-terminus .prompt-head{text-align:left;align-items:flex-start}.surface-terminus .prompt-title{letter-spacing:-.012em;font-size:1.125rem;font-weight:500;line-height:1.4}.surface-terminus .prompt-lede{max-width:none;font-size:.9375rem}.state{letter-spacing:.14em;text-transform:uppercase;color:var(--brass);align-items:center;gap:.5rem;font-size:.6875rem;font-weight:700;display:flex}.state:before{content:"";background:currentColor;border-radius:1px;flex:none;width:1.5rem;height:2px}.state-bad{color:var(--bad)}.state-done{color:var(--signal)}.said{border-radius:var(--bend);background:var(--surface);border:1px solid var(--line);font-family:var(--font-mono);color:var(--ink-soft);overflow-wrap:anywhere;margin:0;padding:.6875rem .8125rem;font-size:.75rem;line-height:1.5}.auth-id{text-align:center;flex-direction:column;align-items:center;gap:.75rem;display:flex}.auth-mark{border-radius:var(--bend);background:var(--surface);border:1px solid var(--brass);place-items:center;width:2.75rem;height:2.75rem;display:grid}@supports (color:color-mix(in lab, red, red)){.auth-mark{border:1px solid color-mix(in oklab, var(--brass) 55%, var(--line))}}.auth-mark{color:var(--signal);letter-spacing:-.02em;font-size:1.0625rem;font-weight:700}.avatar{border-radius:var(--bend);border:1px solid var(--line);background:var(--surface);object-fit:cover;display:block}.avatar-photo{border-radius:50%}.avatar-identicon,.avatar-initials{border-radius:22%}.auth-tenant{letter-spacing:.12em;text-transform:uppercase;color:var(--brass);overflow-wrap:anywhere;font-size:.75rem;font-weight:700}.auth-pair{justify-content:center;align-items:center;gap:.875rem;display:flex}.auth-pair .auth-mark{width:2.5rem;height:2.5rem;font-size:1rem}.auth-mark-client{color:var(--ink);border-color:var(--line-firm)}.auth-mark-logo{object-fit:cover;background:var(--surface)}.item-logo{border-radius:.3rem}.app-tiles{grid-template-columns:repeat(auto-fill,minmax(7rem,1fr));gap:.5rem;margin:0;padding:0;list-style:none;display:grid}.app-tile{border:1px solid var(--pane-rim);background:var(--pane);box-shadow:var(--pane-shadow);color:inherit;text-align:center;border-radius:1rem;flex-direction:column;align-items:center;gap:.5rem;padding:1rem .5rem .875rem;text-decoration:none;display:flex}.app-tile:hover,.app-tile:focus-visible{border-color:var(--brass)}.app-tile-logo{border-radius:.45rem;width:2rem;height:2rem}.app-tile-initial{background:var(--brass);place-items:center;display:grid}@supports (color:color-mix(in lab, red, red)){.app-tile-initial{background:color-mix(in oklab, var(--brass) 14%, transparent)}}.app-tile-initial{color:var(--brass);font-weight:600}.app-tile-name{overflow-wrap:anywhere;font-size:.875rem;font-weight:500}.client-links{flex-wrap:wrap;gap:.25rem 1rem;display:flex}.auth-mark-pending{color:var(--brass);border-style:dashed}.auth-mark-rose{background:0 0;border:0;border-radius:50%}.auth-wire{background:var(--line-firm);flex:0 0 3.5rem;height:1px;position:relative}.auth-wire:after{content:"";border-top:1px solid var(--line-firm);border-right:1px solid var(--line-firm);width:5px;height:5px;position:absolute;top:50%;right:0;transform:translateY(-50%)rotate(45deg)}.auth-wire-live{background:var(--signal)}.auth-wire-live:after{background:var(--signal);border:0;border-radius:50%;width:6px;height:6px;transform:translate(50%,-50%)}.slab,.entry,.person{background:linear-gradient(160deg, var(--pane-sheen), transparent 45%), var(--pane);border:1px solid var(--pane-rim);box-shadow:inset 0 1px 0 var(--pane-shine), var(--pane-shadow);-webkit-backdrop-filter:blur(22px)saturate(1.5);backdrop-filter:blur(22px)saturate(1.5)}.slab{border-radius:var(--bend);flex-direction:column;gap:1rem;padding:1.125rem;display:flex}.grant-scope-hot,.grant-scope-hot .chip-key{color:var(--warn)}.grant-scope-split{background:var(--line-firm);height:1px;margin:.25rem 0;list-style:none}.record-cap{letter-spacing:.16em;text-transform:uppercase;color:var(--brass);font-size:.6875rem;font-weight:700}.place{--accent:var(--glass-gold);flex-direction:column;gap:1.75rem;display:flex}.plaque{isolation:isolate;text-align:center;flex-direction:column;align-items:center;gap:.25rem;padding:0 1rem .5rem;display:flex;position:relative}.plaque-top{text-align:left;align-self:stretch;align-items:center;gap:.5rem;display:flex}.plaque-top .auth-mark{width:1.75rem;height:1.75rem;font-size:.75rem}.plaque-title{border-bottom:1px solid var(--line);letter-spacing:-.02em;text-align:left;align-self:stretch;margin:.5rem 0 1.75rem;padding-bottom:1rem;font-size:1.25rem;font-weight:600}.plaque-notes{text-align:left;flex-direction:column;align-self:stretch;gap:.5rem;margin:-.75rem 0 1.75rem;display:flex}.plaque:before{content:"";z-index:-1;pointer-events:none;background:radial-gradient(44% 58% at 50% 0%, var(--glass-amber), transparent 72%);height:18rem;position:absolute;inset:-3rem 0 auto}@supports (color:color-mix(in lab, red, red)){.plaque:before{background:radial-gradient(44% 58% at 50% 0%, color-mix(in oklab, var(--glass-amber) 20%, transparent), transparent 72%)}}.plaque-shot{display:inline-block;position:relative}.plaque-pick{cursor:pointer;display:block}.plaque-badge-form{z-index:1;position:absolute;bottom:-.1875rem;right:-.1875rem}.plaque-badge{background:var(--surface);border:1px solid var(--line-firm);width:1.75rem;height:1.75rem;color:var(--ink-soft);cursor:pointer;border-radius:50%;place-items:center;padding:0;display:grid}.plaque-badge svg{width:.875rem;height:.875rem}.plaque-badge:hover{border-color:var(--bad);color:var(--bad)}.plaque-done{z-index:2;background:var(--glass-emerald);width:1.75rem;height:1.75rem;color:var(--surface);pointer-events:none;opacity:0;border-radius:50%;place-items:center;animation:2.4s ease-out plaque-done;display:grid;position:absolute;bottom:-.1875rem;right:-.1875rem}.plaque-done svg{stroke-width:2.2px;width:.875rem;height:.875rem}.plaque-shot-done .plaque-avatar{animation:2.4s ease-out plaque-ring}@keyframes plaque-done{0%,65%{opacity:1}to{opacity:0}}@keyframes plaque-ring{0%,65%{box-shadow:0 0 0 2px var(--glass-emerald), 0 16px 34px -18px color-mix(in oklab, var(--glass-amber) 55%, transparent)}}.plaque-file{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.plaque-file-label{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;margin:-1px;position:absolute;overflow:hidden}.plaque-pick:focus-within .plaque-avatar{outline:2px solid var(--accent);outline-offset:3px}.plaque-avatar{object-fit:cover;width:5.5rem;height:5.5rem;box-shadow:0 0 0 1px var(--line-firm), 0 16px 34px -18px var(--glass-amber);flex:none;display:block}@supports (color:color-mix(in lab, red, red)){.plaque-avatar{box-shadow:0 0 0 1px var(--line-firm), 0 16px 34px -18px color-mix(in oklab, var(--glass-amber) 55%, transparent)}}.plaque-name{letter-spacing:-.03em;margin:.75rem 0 0;font-size:1.625rem;font-weight:700;line-height:1.15}.plaque-sub{color:var(--ink-soft);margin:0;font-size:1rem}.plaque-pills{flex-wrap:wrap;justify-content:center;align-items:flex-start;gap:.5rem;margin-top:1rem;display:flex}.signout{display:contents}.pill{border:1px solid var(--line-firm);background:var(--glow);color:var(--ink-soft);cursor:pointer;border-radius:999px;align-items:center;gap:.4375rem;padding:.5rem 1rem;font-family:inherit;font-size:.875rem;font-weight:600;text-decoration:none;display:inline-flex}.pill:hover{border-color:var(--brass);color:var(--ink)}.pill-accent{color:var(--accent);border-color:var(--accent)}@supports (color:color-mix(in lab, red, red)){.pill-accent{border-color:color-mix(in oklab, var(--accent) 40%, var(--line))}}.pill-accent:hover{color:var(--accent);border-color:var(--accent)}.pill svg{width:1rem;height:1rem}.group{flex-direction:column;gap:.5rem;scroll-margin-top:1.25rem;display:flex}.group>h2{color:var(--brass);margin:0 0 .125rem .25rem;font-size:.875rem;font-weight:500}.entries{flex-direction:column;gap:.5rem;display:flex}.entry{border-radius:1rem;scroll-margin-top:1.25rem}.entry[open]{border-color:var(--brass)}@supports (color:color-mix(in lab, red, red)){.entry[open]{border-color:color-mix(in oklab, var(--brass) 45%, var(--line-firm))}}.entry>summary{cursor:pointer;align-items:center;gap:.875rem;padding:.9375rem 1rem;list-style:none;display:flex}.entry>summary::-webkit-details-marker{display:none}.entry-icon{border:1px solid var(--line-firm);width:2.25rem;height:2.25rem;color:var(--ink-soft);border-radius:50%;flex:none;place-items:center;display:grid}.entry-icon svg{width:1.125rem;height:1.125rem}.entry-label{overflow-wrap:anywhere;letter-spacing:-.012em;min-width:0;font-size:1rem;font-weight:500}.entry-state{color:var(--brass);text-align:right;flex:none;margin-left:auto;font-size:.875rem}.entry-state-warn{color:var(--accent)}.entry-state-bad{color:var(--bad)}.entry-mark{border-right:1.5px solid var(--line-firm);border-bottom:1.5px solid var(--line-firm);width:.4375rem;height:.4375rem;transition:transform .2s var(--swing);flex:none;transform:rotate(-45deg)}.entry[open] .entry-mark{transform:rotate(45deg)}@media (prefers-reduced-motion:reduce){.entry-mark{transition:none}}.entry-body{flex-direction:column;gap:.875rem;padding:0 1rem 1.125rem;display:flex}.entry-body>.aside{max-width:52ch}.items{flex-direction:column;display:flex}.item{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:.375rem 1rem;padding:.875rem 0;display:grid}.item+.item{border-top:1px solid var(--line)}.item:first-child{padding-top:.25rem}.item:last-child{padding-bottom:.25rem}.item-name{overflow-wrap:anywhere;letter-spacing:-.01em;flex-wrap:wrap;grid-column:1;align-items:center;gap:.5rem;min-width:0;font-size:.9375rem;font-weight:600;display:flex}.item-meta{color:var(--ink-soft);grid-column:1;font-size:.8125rem;line-height:1.5}.item-list{color:var(--ink-soft);flex-direction:column;grid-column:1;gap:.1875rem;margin:0;padding:0;font-size:.8125rem;line-height:1.4;list-style:none;display:flex}.item-more{color:var(--brass)}.item-delegations{color:var(--ink-soft);flex-direction:column;grid-column:1/-1;gap:.375rem;margin:.25rem 0 0;padding:0;font-size:.8125rem;list-style:none;display:flex}.item-delegations li{border-left:2px solid var(--line);justify-content:space-between;align-items:center;gap:1rem;padding-left:.75rem;display:flex}.item-act{grid-area:1/2;justify-self:end}.item-act .action{white-space:nowrap}.item-acts{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.5rem;display:flex}.item-acts .control{width:auto}.item-member .item-act{grid-row:1/span 2;align-self:center}@media (width<=34rem){.item-member{grid-template-columns:minmax(0,1fr)}.item-member .item-act{grid-area:auto/1;justify-self:start}.item-member .item-acts{justify-content:flex-start}}.entry-invited{border-color:var(--warn)}@supports (color:color-mix(in lab, red, red)){.entry-invited{border-color:color-mix(in oklab, var(--warn) 55%, var(--line-firm))}}.member-add{border-top:1px solid var(--line);grid-template-columns:minmax(0,1fr) minmax(7rem,auto) auto;align-items:end;gap:.625rem .75rem;padding-top:1rem;display:grid}.member-add-hint{grid-column:1/-1}.member-add .control{height:3.25rem;padding-block:0}.member-add .member-add-go{height:3.25rem}@media (width<=34rem){.member-add{grid-template-columns:minmax(0,1fr) auto}.member-add-email{grid-column:1/-1}}.member-leave{border-top:1px solid var(--line);padding-top:1rem;display:flex}.switches{flex-direction:column;display:flex}.switch{cursor:pointer;justify-content:space-between;align-items:center;gap:1rem;padding:.6875rem 0;font-size:.9375rem;display:flex}.switch+.switch{border-top:1px solid var(--line)}.switch input[type=checkbox]{width:1.0625rem;height:1.0625rem;accent-color:var(--accent);flex:none;margin:0}.switch-set{flex-direction:column;gap:.25rem;display:flex}.switch-set>legend{color:var(--brass);padding:0;font-size:.75rem;font-weight:500}.flow{flex-direction:column;gap:1.25rem;display:flex}.flow-tight{flex-direction:column;gap:.625rem;display:flex}.prompt-head{text-align:center;flex-direction:column;align-items:center;gap:.4375rem;display:flex}.prompt-title{letter-spacing:-.03em;text-wrap:balance;margin:0;font-size:clamp(1.75rem,1.4rem + 1.5vw,2.125rem);font-weight:700;line-height:1.06}.prompt-lede{color:var(--ink-soft);max-width:38ch;margin:0;font-size:1rem;line-height:1.5}.prompt-lede strong{color:var(--ink);font-weight:500}.pulse{background:var(--brass);border-radius:1px;width:2.75rem;height:2px;margin-bottom:.625rem;position:relative}@supports (color:color-mix(in lab, red, red)){.pulse{background:color-mix(in oklab, var(--brass) 60%, transparent)}}.pulse{overflow:hidden}.pulse:after{content:"";background:var(--signal);inset-block:0;border-radius:1px;width:55%;position:absolute;left:0;translate:-100%}.pulse-on:after{animation:1.15s cubic-bezier(.66,0,.34,1) infinite sweep}.pulse-done{background:var(--signal)}.pulse-bad{background:var(--bad)}.ledger-row{border-top:1px solid var(--line);flex-direction:column;gap:.5rem;padding:.9375rem 0;display:flex}.ledger-row:first-child{border-top:0;padding-top:0}.ledger-row:last-child{padding-bottom:0}.ledger-step+.ledger-step{border-top:0}.setup .prompt-head{margin-bottom:.75rem}.tabset{gap:.25rem;display:flex}.tabset-tab{border-bottom:2px solid var(--line);letter-spacing:.06em;text-transform:uppercase;text-align:center;color:var(--ink-soft);flex:1;padding:0 0 .5rem;font-size:.6875rem;font-weight:700;transition:color .2s,border-color .2s}.tabset-done{border-bottom-color:var(--glass-emerald);color:var(--brass)}.tabset-now{border-bottom-color:var(--signal);color:var(--ink)}.ledger-row-aside{grid-template-rows:auto auto;grid-template-columns:1fr auto;align-items:center;column-gap:.75rem;display:grid}.ledger-aside{grid-area:1/2/span 2;justify-self:end}.ledger-label{letter-spacing:.08em;text-transform:uppercase;color:var(--brass);font-size:.75rem;font-weight:700}.ledger-value{overflow-wrap:anywhere;font-size:.9375rem;line-height:1.5}.ledger-row-tight{gap:.25rem;padding:.625rem 0}.ledger-row-tight .ledger-value{font-size:.8125rem}.ledger-step{--step:var(--line-firm)}.ledger-step-done{--step:var(--glass-emerald)}.ledger-step .ledger-label{color:var(--ink-soft);align-items:center;gap:.5rem;transition:color .2s;display:flex}.ledger-step .ledger-label:before{content:"";background:var(--step);border-radius:50%;width:.4375rem;height:.4375rem;transition:background-color .2s}.ledger-step-done .ledger-label{color:var(--step)}.ledger-step-done .control:not(:focus){border-color:var(--step)}@supports (color:color-mix(in lab, red, red)){.ledger-step-done .control:not(:focus){border-color:color-mix(in oklab, var(--step) 45%, var(--line))}}.enrol{flex-wrap:wrap;align-items:center;gap:1rem;display:flex}.enrol-qr{aspect-ratio:1;border-radius:var(--bend);border:1px solid var(--line);background:#fff;flex:none;width:10rem;max-width:100%;overflow:hidden}.enrol-qr svg{width:100%;height:100%;display:block}.enrol-key{flex-direction:column;flex:10rem;gap:.375rem;min-width:0;display:flex}.enrol-secret{overflow-wrap:anywhere;letter-spacing:.06em;-webkit-user-select:all;user-select:all}.codes{font-variant-numeric:tabular-nums;grid-template-columns:repeat(auto-fill,minmax(10rem,1fr));gap:.375rem 1rem;margin:0;padding:0;list-style:none;display:grid}.codes li{-webkit-user-select:all;user-select:all}.codes-actions{flex-wrap:wrap;align-self:flex-start;gap:.5rem 1.25rem;display:flex}.grant-scopes{flex-direction:column;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.grant-fields{color:var(--ink-soft);flex-basis:100%;grid-template-columns:auto 1fr;gap:.125rem .75rem;margin:.25rem 0 0;font-size:.8125rem;display:grid}.grant-fields dt{font-weight:600}.grant-fields dd{overflow-wrap:anywhere;margin:0}.grant-scope{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.1875rem .875rem;font-size:.9375rem;line-height:1.45;display:flex}.field{flex-direction:column;gap:.4375rem;display:flex}.field-label{letter-spacing:-.002em;font-size:.875rem;font-weight:500}.field-line{justify-content:space-between;align-items:baseline;gap:1rem;display:flex}.field-line .textlink{font-size:.875rem}.field-hint{color:var(--ink-soft);font-size:.8125rem;line-height:1.45}.field-hint-bad{color:var(--bad);font-weight:500}.control{width:100%;font:inherit;border-radius:var(--bend);border:1px solid var(--line);background:var(--surface);padding:.9375rem 1rem;font-size:1rem}@supports (color:color-mix(in lab, red, red)){.control{background:color-mix(in oklab, var(--surface) 72%, transparent)}}.control{color:var(--ink);caret-color:var(--signal);transition:border-color .15s,box-shadow .15s,background-color .15s}.control:autofill{-webkit-text-fill-color:var(--ink);caret-color:var(--signal);box-shadow:inset 0 0 0 100vmax var(--surface)}.control:autofill:focus{box-shadow:inset 0 0 0 1px var(--brass-lit), inset 0 0 0 100vmax var(--surface)}.control::placeholder{color:var(--ink-soft)}@supports (color:color-mix(in lab, red, red)){.control::placeholder{color:color-mix(in oklab, var(--ink-soft) 78%, transparent)}}.control:hover:not(:disabled):not([readonly]){border-color:var(--line-firm)}.control:focus{border-color:var(--brass-lit);box-shadow:inset 0 0 0 1px var(--brass-lit);outline:none}.control[readonly]{background:var(--ground);color:var(--ink-soft);border-color:var(--line)}.control-sm{padding:.5625rem .75rem;font-size:.9375rem}.control-mono{font-family:var(--font-mono);letter-spacing:.14em;font-size:1rem}.control-code{font-family:var(--font-mono);text-align:center;letter-spacing:.4em;text-indent:.4em;font-variant-numeric:tabular-nums;padding:.875rem .5rem;font-size:1.5rem;font-weight:500}.check{color:var(--ink-soft);cursor:pointer;align-items:center;gap:.625rem;font-size:.875rem;line-height:1.4;display:flex}.check input[type=checkbox],.check input[type=radio]{width:1rem;height:1rem;accent-color:var(--signal);flex:none;margin:0}.check input[type=checkbox]:focus-visible,.check input[type=radio]:focus-visible{outline:2px solid var(--signal);outline-offset:2px}.action{width:100%;font:inherit;letter-spacing:-.014em;text-align:center;border-radius:var(--bend);border:1px solid var(--signal);justify-content:center;align-items:center;gap:.5rem;padding:.9375rem 1.125rem;font-size:1rem;font-weight:500;display:inline-flex;position:relative}@supports (color:color-mix(in lab, red, red)){.action{border:1px solid color-mix(in oklab, var(--signal) 60%, transparent)}}.action{background:var(--signal)}@supports (color:color-mix(in lab, red, red)){.action{background:color-mix(in oklab, var(--signal) 14%, var(--ground))}}.action{color:var(--signal);cursor:pointer;transition:background-color .15s,color .15s,border-color .15s}.action:hover:not(:disabled){border-color:var(--signal);background:var(--signal)}@supports (color:color-mix(in lab, red, red)){.action:hover:not(:disabled){background:color-mix(in oklab, var(--signal) 24%, var(--ground))}}.action:focus-visible{outline:2px solid var(--brass-lit);outline-offset:2px}.action:disabled{border-color:var(--line-firm);color:var(--ink-soft);background:0 0}@supports (color:color-mix(in lab, red, red)){.action:disabled{color:color-mix(in oklab, var(--ink-soft) 66%, transparent)}}.action:disabled{cursor:not-allowed}.action-busy,.action-busy:disabled{background:var(--surface);border-color:var(--line-firm);color:var(--ink-soft);cursor:progress}.action-mark{position:absolute;top:50%;left:1.0625rem;translate:0 -50%}.action-quiet{background:var(--surface);color:var(--ink);border-color:var(--line)}.action-quiet:hover:not(:disabled){background:var(--surface);border-color:var(--line-firm)}.action-plain{color:var(--ink-soft);background:0 0;padding:.6875rem 1rem;font-size:.9375rem;font-weight:400}.action-plain:hover:not(:disabled){background:var(--surface);color:var(--ink)}.action-sm{align-self:flex-start;width:auto;padding:.5625rem .9375rem;font-size:.9375rem}.providers{flex-direction:column;gap:.625rem;display:flex}.providers>form{display:contents}.org-picks{flex-direction:column;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.org-pick{border:1px solid var(--line);border-radius:var(--bend);background:var(--surface);width:100%;color:var(--ink);font:inherit;text-align:left;cursor:pointer;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.875rem;padding:.75rem 1rem .75rem .75rem;transition:border-color .15s,background-color .15s;display:grid}.org-pick:hover:not(:disabled){border-color:var(--signal)}@supports (color:color-mix(in lab, red, red)){.org-pick:hover:not(:disabled){border-color:color-mix(in oklab, var(--signal) 60%, var(--line-firm))}}.org-pick:focus-visible{outline:2px solid var(--brass-lit);outline-offset:2px}.org-pick:disabled{cursor:not-allowed;opacity:.6}.org-pick[aria-busy=true]{opacity:1;cursor:progress;border-color:var(--signal)}.org-pick-mark{border-radius:calc(var(--bend) * .75);border:1px solid var(--line-firm);background:var(--ground);width:2.25rem;height:2.25rem;color:var(--signal);letter-spacing:.02em;place-items:center;font-size:.8125rem;font-weight:700;display:grid}.org-pick-name{overflow-wrap:anywhere;letter-spacing:-.014em;min-width:0;font-size:1rem;font-weight:600}.org-pick-role{color:var(--ink-soft);font-size:.8125rem}.credential-ways{grid-template-columns:1fr 1fr;gap:.5rem;display:grid}.credential-way{font:inherit;border-radius:var(--bend);border:1px solid var(--line);background:var(--surface);padding:.75rem 1rem;font-size:.9375rem}@supports (color:color-mix(in lab, red, red)){.credential-way{background:color-mix(in oklab, var(--surface) 72%, transparent)}}.credential-way{color:var(--ink-soft);cursor:pointer;transition:border-color .15s,color .15s}.credential-way[aria-checked=true]{border-color:var(--signal);color:var(--ink);font-weight:600}.credential-way:focus-visible{outline:2px solid var(--signal);outline-offset:2px}.providers-rule{color:var(--ink-soft);text-transform:lowercase;align-items:center;gap:.75rem;font-size:.8125rem;display:flex}.providers-rule:before,.providers-rule:after{content:"";background:var(--line);flex:auto;height:1px}.otherwise{flex-direction:column;gap:.625rem;display:flex}.otherwise>.providers-rule{margin-bottom:.3125rem}.otherwise .providers{gap:.625rem}.action-row{align-items:stretch;gap:.625rem;display:flex}.action-row>form{display:flex}.action-countdown{font-variant-numeric:tabular-nums}.action-grow{flex:auto}.action-row .action-sm{align-self:auto}.action-fit{flex:none;width:auto}.textlink{font:inherit;color:var(--signal);cursor:pointer;text-underline-offset:3px;text-decoration:underline;text-decoration-thickness:1px;-webkit-text-decoration-color:var(--signal);-webkit-text-decoration-color:var(--signal);-webkit-text-decoration-color:var(--signal);text-decoration-color:var(--signal);background:0 0;border:0;padding:0;font-size:.9375rem;font-weight:400}@supports (color:color-mix(in lab, red, red)){.textlink{-webkit-text-decoration-color:color-mix(in oklab, var(--signal) 38%, transparent);-webkit-text-decoration-color:color-mix(in oklab, var(--signal) 38%, transparent);-webkit-text-decoration-color:color-mix(in oklab, var(--signal) 38%, transparent);text-decoration-color:color-mix(in oklab, var(--signal) 38%, transparent)}}.textlink{transition:text-decoration-color .15s}.textlink:hover{text-decoration-color:currentColor}.textlink:focus-visible{outline:2px solid var(--signal);outline-offset:3px;border-radius:3px}.textlink:disabled{opacity:.5;cursor:not-allowed}.whom{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.25rem 1rem;padding-bottom:.8125rem;display:flex}.whom-name{font-family:var(--font-mono);color:var(--ink-soft);overflow-wrap:anywhere;font-size:.8125rem;line-height:1.5}.whom .textlink{flex:none;font-size:.875rem}.handshake-warn{color:var(--warn)}.handshake-more>summary{color:var(--ink-soft);-webkit-text-decoration-color:var(--line-firm);-webkit-text-decoration-color:var(--line-firm);-webkit-text-decoration-color:var(--line-firm);text-decoration-color:var(--line-firm);align-self:center;font-size:.8125rem}.handshake-more[open]>summary{margin-bottom:.25rem}.handshake-origin{border:1px solid var(--line-firm);background:var(--surface);border-radius:999px;flex-wrap:wrap;justify-content:center;align-items:baseline;gap:.25rem .5rem;max-width:100%;margin:.375rem 0 .25rem;padding:.375rem .875rem;display:flex}.handshake-origin-label{color:var(--ink-soft);font-size:.75rem}.handshake-origin-value{font-family:var(--font-mono);color:var(--ink);overflow-wrap:anywhere;font-size:.875rem;font-weight:600}.handshake-replacing strong{font-weight:600}.handshake-replacing span{color:var(--ink-soft);font-size:.875rem}.handshake-as{flex-direction:column;gap:.4375rem;display:flex}.handshake-caption{color:var(--ink-soft);padding-inline:.125rem;font-size:.8125rem}.handshake-as .person{box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;border-color:var(--line);background:0 0}.handshake-as .person-note{color:var(--ink-soft);font-style:italic}.handshake-as .person-role{color:var(--brass);letter-spacing:.06em}.handshake-heeds{flex-direction:column;gap:.625rem;margin:0;padding:0;list-style:none;display:flex}.handshake-heed{border-left:2px solid var(--warn);flex-direction:column;gap:.1875rem;padding:.125rem 0 .125rem .75rem;display:flex}.handshake-heed-what{color:var(--warn);font-size:.9375rem;font-weight:600;line-height:1.4}.handshake-heed-why{color:var(--ink-soft);font-size:.875rem;line-height:1.45}.handshake-heed-alarm{border-left-color:var(--bad)}.handshake-heed-alarm .handshake-heed-what,.handshake-heed-alarm .handshake-heed-why{color:var(--bad)}.handshake-sees{flex-wrap:wrap;gap:.375rem;margin:0;padding:0;list-style:none;display:flex}.handshake-sees li{border:1px solid var(--line);background:var(--surface);border-radius:999px;padding:.25rem .625rem;font-size:.875rem;line-height:1.4}.handshake-say{margin:0;font-size:.9375rem;line-height:1.5}.handshake-say .chip-key{color:var(--ink);font-size:.8125rem}.person{border-radius:.75rem;grid-template-columns:auto 1fr auto;align-items:center;gap:.875rem;padding:.75rem .875rem;display:grid}.person-avatar{object-fit:cover;border-radius:999px;width:2.75rem;height:2.75rem}.person-who{flex-direction:column;gap:.125rem;min-width:0;display:flex}.person-name{overflow-wrap:anywhere;font-weight:600;line-height:1.3}.person-sub{color:var(--ink-soft);overflow-wrap:anywhere;font-size:.8125rem;line-height:1.4}.person-note{color:var(--brass)}.person-role{letter-spacing:.08em;text-transform:uppercase;width:fit-content;color:var(--signal);margin-top:.25rem;font-size:.6875rem;font-weight:700}.person .textlink{font-size:.875rem}.chip-key{font-family:var(--font-mono);color:var(--ink-soft);flex:none;font-size:.75rem}.tag{border:1px solid var(--line-firm);background:var(--ground);color:var(--ink-soft);border-radius:999px;flex:none;padding:.0625rem .4375rem;font-size:.75rem;font-weight:500;line-height:1.6}.tag-bad{background:var(--bad-field);color:var(--bad);border-color:currentColor}.aside{color:var(--ink-soft);overflow-wrap:anywhere;margin:0;font-size:.875rem;line-height:1.5}.aside-mono{font-family:var(--font-mono);font-size:.8125rem}.aside-bad{color:var(--bad)}.approval-code{letter-spacing:.12em;color:var(--ink);text-align:center;font-size:2rem}.note{border-radius:var(--bend);color:var(--info);background:var(--info-field);border:1px solid;flex-direction:column;gap:.1875rem;padding:.8125rem .875rem;font-size:.9375rem;line-height:1.45;display:flex}.note-bad{color:var(--bad);background:var(--bad-field)}.note-plain{color:var(--ink);background:var(--glow);border-color:var(--line-firm)}.note-warn{color:var(--warn);background:var(--warn-field)}.spinner{border:2px solid;border-top-color:#0000;border-radius:50%;flex:none;width:1.05em;height:1.05em;animation:.62s linear infinite spin}.waiting{color:var(--ink-soft);align-items:center;gap:.625rem;margin:0;font-size:1rem;display:flex}.over{text-align:center;flex-direction:column;align-items:center;gap:1.5rem;display:flex}.over .prompt-lede{max-width:30ch}.over .action{width:auto;min-width:11rem}.empty{color:var(--ink-soft);margin:0;padding:.375rem 0;font-size:.9375rem;line-height:1.5}.recover{flex-flow:wrap;justify-content:space-between;align-items:baseline;gap:.375rem 1rem;display:flex}.recover>span{flex:14rem}.recover .textlink{color:inherit;flex:none;font-size:.9375rem}.recover .textlink:focus-visible{outline-color:currentColor}}@layer utilities{.collapse{visibility:collapse}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.fixed{position:fixed}.relative{position:relative}.sticky{position:sticky}.top-0{top:0}.z-20{z-index:20}.m-0{margin:0}.mx-auto{margin-inline:auto}.ms-auto{margin-inline-start:auto}.-me-3{margin-inline-end:calc(var(--spacing) * -3)}.mt-0\.5{margin-top:calc(var(--spacing) * .5)}.mt-2{margin-top:calc(var(--spacing) * 2)}.-mr-1{margin-right:calc(var(--spacing) * -1)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.ml-auto{margin-left:auto}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.table{display:table}.size-8{width:calc(var(--spacing) * 8);height:calc(var(--spacing) * 8)}.size-14{width:calc(var(--spacing) * 14);height:calc(var(--spacing) * 14)}.size-16{width:calc(var(--spacing) * 16);height:calc(var(--spacing) * 16)}.min-h-screen{min-height:100vh}.w-0{width:0}.w-16{width:calc(var(--spacing) * 16)}.w-44{width:calc(var(--spacing) * 44)}.w-auto{width:auto}.w-full{width:100%}.max-w-0{max-width:0}.max-w-6xl{max-width:var(--container-6xl)}.max-w-48{max-width:calc(var(--spacing) * 48)}.max-w-60{max-width:calc(var(--spacing) * 60)}.max-w-64{max-width:calc(var(--spacing) * 64)}.max-w-\[16rem\]{max-width:16rem}.max-w-\[18rem\]{max-width:18rem}.max-w-full{max-width:100%}.max-w-sm{max-width:var(--container-sm)}.max-w-xl{max-width:var(--container-xl)}.max-w-xs{max-width:var(--container-xs)}.min-w-0{min-width:0}.min-w-28{min-width:calc(var(--spacing) * 28)}.min-w-44{min-width:calc(var(--spacing) * 44)}.flex-1{flex:1}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.basis-28{flex-basis:calc(var(--spacing) * 28)}.cursor-pointer{cursor:pointer}.scroll-mt-20{scroll-margin-top:calc(var(--spacing) * 20)}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-\[auto_1fr\]{grid-template-columns:auto 1fr}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.place-items-center{place-items:center}.items-baseline{align-items:baseline}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.gap-0\.5{gap:calc(var(--spacing) * .5)}.gap-1{gap:var(--spacing)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-2\.5{gap:calc(var(--spacing) * 2.5)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-5{gap:calc(var(--spacing) * 5)}.gap-x-2{column-gap:calc(var(--spacing) * 2)}.gap-x-3{column-gap:calc(var(--spacing) * 3)}.gap-x-4{column-gap:calc(var(--spacing) * 4)}.gap-x-5{column-gap:calc(var(--spacing) * 5)}.gap-x-6{column-gap:calc(var(--spacing) * 6)}.gap-y-0\.5{row-gap:calc(var(--spacing) * .5)}.gap-y-1{row-gap:var(--spacing)}.gap-y-2{row-gap:calc(var(--spacing) * 2)}.gap-y-4{row-gap:calc(var(--spacing) * 4)}.self-start{align-self:flex-start}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-x-auto{overflow-x:auto}.rounded{border-radius:.25rem}.rounded-lg{border-radius:var(--radius-lg)}.border{border-style:var(--tw-border-style);border-width:1px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-l-2{border-left-style:var(--tw-border-style);border-left-width:2px}.border-\[var\(--line\)\]{border-color:var(--line)}.border-base-300{border-color:var(--color-base-300)}.bg-base-200{background-color:var(--color-base-200)}.object-cover{object-fit:cover}.p-3{padding:calc(var(--spacing) * 3)}.px-1{padding-inline:var(--spacing)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-6{padding-inline:calc(var(--spacing) * 6)}.py-1{padding-block:var(--spacing)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-14{padding-block:calc(var(--spacing) * 14)}.py-16{padding-block:calc(var(--spacing) * 16)}.pt-1{padding-top:var(--spacing)}.pt-2{padding-top:calc(var(--spacing) * 2)}.pt-3{padding-top:calc(var(--spacing) * 3)}.pt-5{padding-top:calc(var(--spacing) * 5)}.pb-1{padding-bottom:var(--spacing)}.pb-2{padding-bottom:calc(var(--spacing) * 2)}.pb-3{padding-bottom:calc(var(--spacing) * 3)}.pl-2{padding-left:calc(var(--spacing) * 2)}.text-center{text-align:center}.text-right{text-align:right}.font-mono{font-family:var(--font-mono)}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.break-words{overflow-wrap:break-word}.break-all{word-break:break-all}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.text-error{color:var(--color-error)}.text-warning{color:var(--color-warning)}.line-through{text-decoration-line:line-through}.no-underline{text-decoration-line:none}.opacity-60{opacity:.6}.opacity-70{opacity:.7}.opacity-75{opacity:.75}.opacity-80{opacity:.8}.opacity-85{opacity:.85}.outline-none{--tw-outline-style:none;outline-style:none}.last\:border-0:last-child{border-style:var(--tw-border-style);border-width:0}.last\:pb-0:last-child{padding-bottom:0}@media (hover:hover){.hover\:opacity-100:hover{opacity:1}}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-30:disabled{opacity:.3}@media (width>=40rem){.sm\:col-span-2{grid-column:span 2/span 2}.sm\:size-16{width:calc(var(--spacing) * 16);height:calc(var(--spacing) * 16)}.sm\:w-48{width:calc(var(--spacing) * 48)}.sm\:w-auto{width:auto}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.sm\:grid-cols-\[2fr_1fr\]{grid-template-columns:2fr 1fr}.sm\:grid-cols-\[minmax\(0\,1fr\)_10rem_auto\]{grid-template-columns:minmax(0,1fr) 10rem auto}.sm\:items-end{align-items:flex-end}.sm\:gap-y-2{row-gap:calc(var(--spacing) * 2)}.sm\:pb-0{padding-bottom:0}}@media (width>=48rem){.md\:ml-auto{margin-left:auto}.md\:hidden{display:none}.md\:table-cell{display:table-cell}.md\:w-56{width:calc(var(--spacing) * 56)}.md\:w-auto{width:auto}.md\:max-w-none{max-width:none}.md\:flex-1{flex:1}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.md\:grid-cols-\[auto_1fr\]{grid-template-columns:auto 1fr}}@media (width>=64rem){.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}}@media (prefers-color-scheme:dark){:root{--color-base-100:#15110e;--color-base-200:#1e1915;--color-base-300:#3d352f;--color-base-content:#f3efec;--color-primary:#ff8f53;--color-primary-content:#1a1614;--color-secondary:#b58a41;--color-secondary-content:#000;--color-accent:#deaf56;--color-accent-content:#000;--color-neutral:#1a1614;--color-neutral-content:#e9e5e2;--color-info:#00c2fe;--color-info-content:#000;--color-success:#1dcf98;--color-success-content:#000;--color-warning:#d4ad03;--color-warning-content:#000;--color-error:#ff867a;--color-error-content:#1a1614}}:root{--glass-ruby:#b53530;--glass-ember:#b04000;--glass-amber:#a44f00;--glass-gold:#8b6200;--glass-verdant:#267e05;--glass-emerald:#008450;--glass-cyan:#008386;--glass-sky:#0077b2;--glass-cobalt:#2065c5;--glass-violet:#6e50be}@media (prefers-color-scheme:dark){:root{--glass-ruby:#ff867a;--glass-ember:#ff8f53;--glass-amber:#f19c29;--glass-gold:#d4ad03;--glass-verdant:#78c966;--glass-emerald:#1dcf98;--glass-cyan:#00cecf;--glass-sky:#00c2fe;--glass-cobalt:#70b1ff;--glass-violet:#b49dff}}@keyframes rise{0%{opacity:0;translate:0 4px}to{opacity:1;translate:none}}@keyframes sweep{0%{translate:-100%}to{translate:240%}}@keyframes spin{to{transform:rotate(360deg)}}.gate{flex-direction:column;gap:1.25rem;display:flex}.gate-moving{overflow-clip-margin:8px;overflow:visible clip}.gate-enter>*{animation:rise .34s var(--swing) both}.gate-enter>:nth-child(2){animation-delay:40ms}.gate-enter>:nth-child(3){animation-delay:80ms}.gate-enter>:nth-child(4){animation-delay:.11s}.gate-enter>:nth-child(n+5){animation-delay:.13s}@media (prefers-reduced-motion:reduce){.gate-enter>*{animation:none}.pulse-on:after{animation-duration:2.4s}.spinner{animation-duration:2s}}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-font-weight{syntax:"*";inherits:false}
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
import{a as e,i as t,n,o as r,r as i,s as a,t as o}from"./passkey-DIj_5LCY.js";import{A as s,B as c,C as l,D as u,E as d,G as f,H as p,I as m,J as h,K as g,L as _,M as v,O as y,R as b,T as x,U as S,V as C,W as w,X as T,Y as E,Z as D,at as O,b as k,d as A,dt as j,et as M,f as N,ft as P,i as F,it as I,j as L,k as R,l as z,lt as B,m as V,n as ee,o as H,q as U,r as W,s as G,t as K,tt as q,w as J,x as Y,y as X}from"./initial-D99AzFOd.js";var te=/%\{(\w+)\}/g;function Z(e,t){return t?e.replace(te,(e,n)=>Object.hasOwn(t,n)?String(t[n]):e):e}function ne(e){return(t,n)=>{let r=e()?.[t];return typeof r==`string`?Z(r,n):``}}var re=document.querySelector(`meta[name="masks-root"]`)?.content??``,ie=new Set([`javascript:`,`data:`,`vbscript:`,`file:`,`blob:`]),ae=e=>{if(typeof e!=`string`||e===``)return!1;try{return!ie.has(new URL(e,window.location.href).protocol)}catch{return!1}},oe=()=>document.querySelector(`meta[name="csrf-token"]`)?.content??``;async function se(e,t,n){let r=await fetch(e,{method:t,credentials:`same-origin`,headers:{"Content-Type":`application/json`,Accept:`application/json`,"X-CSRF-Token":oe()},body:n?JSON.stringify(n):void 0});if(!r.ok&&r.status!==422&&r.status!==429)throw Error(`login failed: ${r.status}`);return r.json()}function ce(e,t={}){let n=t.url??`${re}/login`,r=D(E(e)),i=D(!1),a=D(!1),o=null;async function s(e,t,{quiet:s=!1}={}){if(s&&c(i))return c(r);s||(T(i,!0),T(a,!1),o=[e,t]);try{let a=await se(n,e,c(r).rid?{rid:c(r).rid,...t}:t);return s&&c(i)?c(r):(T(r,a,!0),ae(c(r).redirectTo)&&window.location.assign(c(r).redirectTo),c(r))}catch{return s||T(a,!0),c(r)}finally{s||T(i,!1)}}return{t:ne(()=>c(r).copy),get auth(){return c(r)},get loading(){return c(i)},get failed(){return c(a)},get prompt(){return c(r).prompt},get backupCodes(){return c(r).backupCodes},get rememberable(){return c(r).rememberable},get consent(){return c(r).consent},get client(){return c(r).client},get actor(){return c(r).actor},warns(e){return(c(r).warnings??[]).includes(e)},submit(e,t={}){return s(`POST`,{event:e,...t})},startOver(){return s(`DELETE`)},poll(e,t={}){return s(`POST`,{event:e,...t},{quiet:!0})},retry(){return o?s(...o):Promise.resolve(c(r))}}}var le=v(`<span class="spinner action-mark"></span>`),ue=v(`<button><!> </button>`);function Q(e,t){O(t,!0);let n=F(t,`busy`,3,!1),r=F(t,`ready`,3,!0),i=F(t,`working`,3,null),a=F(t,`quiet`,3,!1),o=F(t,`plain`,3,!1),l=F(t,`fit`,3,!1),d=F(t,`grow`,3,!1),m=F(t,`onclick`,3,null),g=F(t,`type`,3,`button`),v=M(()=>n()||t.login.loading),y=M(()=>n()&&i()?i():t.label),b=M(()=>[`action`,a()&&`action-quiet`,o()&&`action-plain`,l()&&`action-fit`,d()&&`action-grow`,n()&&`action-busy`].filter(Boolean).join(` `));var x=ue(),S=f(x),C=e=>{var t=le();s(e,t)};u(S,e=>{n()&&e(C)});var w=h(S);B(x),p(()=>{N(x,`type`,g()),X(x,1,k(c(b))),x.disabled=!r()||c(v),N(x,`aria-busy`,n()||void 0),R(w,` ${c(y)??``}`)}),_(`click`,x,function(...e){m()?.apply(this,e)}),s(e,x),I()}m([`click`]);var de=v(`<span class="record-cap"> </span>`),fe=v(` <em> </em>`,1),pe=v(`<p class="prompt-lede"> </p>`),me=v(`<div class="prompt-head"><span aria-hidden="true"></span> <!> <h1 class="prompt-title"> <!></h1> <!></div>`);function $(e,t){O(t,!0);let n=F(t,`name`,3,null),r=F(t,`lede`,3,null),i=F(t,`cap`,3,null),a=F(t,`tone`,3,null),o=F(t,`busy`,3,!1),l=M(()=>a()===null&&(o()||t.login.loading));var d=me(),m=f(d);let _;var v=h(m,2),y=e=>{var t=de(),n=U(t,!0);p(()=>R(n,i())),s(e,t)};u(v,e=>{i()&&e(y)});var b=h(v,2),x=f(b,!0),S=h(x),C=e=>{var t=fe(),r=h(g(t)),i=U(r,!0);p(()=>R(i,n())),s(e,t)};u(S,e=>{n()&&e(C)}),B(b);var w=h(b,2),T=e=>{var t=pe(),n=U(t,!0);p(()=>R(n,r())),s(e,t)};u(w,e=>{r()&&e(T)}),B(d),p(()=>{_=X(m,1,`pulse`,null,_,{"pulse-on":c(l),"pulse-done":a()===`done`,"pulse-bad":a()===`bad`}),R(x,t.title)}),s(e,d),I()}var he=v(`<div role="alert"> </div>`),ge=v(`<div class="note note-warn recover" role="alert"><span> </span> <button type="button" class="textlink"> </button></div>`),_e=v(`<!> <!>`,1);function ve(e,t){O(t,!0);let n=M(()=>(t.login.auth.messages??[]).filter(e=>!e.field));var r=_e(),i=g(r);J(i,17,()=>c(n),e=>e.key,(e,t)=>{var n=he(),r=U(n,!0);p(()=>{X(n,1,k(c(t).tone)),R(r,c(t).text)}),s(e,n)});var a=h(i,2),o=e=>{var n=ge(),r=f(n),i=U(r,!0),a=h(r,2),o=U(a,!0);B(n),p((e,n)=>{R(i,e),a.disabled=t.login.loading,R(o,n)},[()=>t.login.t(`unreachable`),()=>t.login.loading?t.login.t(`checking`):t.login.t(`try_again`)]),_(`click`,a,()=>t.login.retry()),s(e,n)};u(a,e=>{t.login.failed&&e(o)}),s(e,r),I()}m([`click`]);var ye=v(`<span class="field-hint field-hint-bad" role="alert"> </span>`),be=v(`<span class="field-hint"> </span>`);function xe(e,t){O(t,!0);let n=F(t,`hint`,3,null),r=M(()=>(t.login.auth.messages??[]).find(e=>e.field===t.field));var i=L(),a=g(i),o=e=>{var t=ye(),n=U(t,!0);p(()=>R(n,c(r).text)),s(e,t)},l=e=>{var t=be(),r=U(t,!0);p(()=>R(r,n())),s(e,t)};u(a,e=>{c(r)?e(o):n()&&e(l,1)}),s(e,i),I()}var Se=v(`<label class="field"><span class="field-label"> </span> <input type="email" class="control" readonly=""/></label>`),Ce=v(`<!> <form class="flow"><label class="field"><span class="field-label"> </span> <input type="text" class="control" autocomplete="username" readonly=""/></label> <!> <label class="field"><span class="field-label"> </span> <input type="password" name="password" class="control" autocomplete="new-password"/> <!></label> <!></form>`,1);function we(e,t){O(t,!0);let n=D(``),r=M(()=>t.login.auth.invitation??{}),i=M(()=>c(r).minimum??8),a=M(()=>c(n).length>=c(i));function o(e){e.preventDefault(),c(a)&&!t.login.loading&&t.login.submit(`accept-invitation`,{password:c(n)})}var l=Ce(),d=g(l);{let e=M(()=>t.login.t(`title`)),n=M(()=>c(r).invitedBy?t.login.t(`invited_by`,{nickname:c(r).invitedBy}):null);$(d,{get login(){return t.login},get title(){return c(e)},get lede(){return c(n)}})}var m=h(d,2),_=f(m),v=f(_),y=U(v,!0),x=h(v,2);A(x),B(_);var S=h(_,2),C=e=>{var n=Se(),i=f(n),a=U(i,!0),o=h(i,2);A(o),B(n),p(e=>{R(a,e),V(o,c(r).email)},[()=>t.login.t(`email`)]),s(e,n)};u(S,e=>{c(r).email&&e(C)});var w=h(S,2),E=f(w),k=U(E,!0),j=h(E,2);A(j),q(j,!0);var P=h(j,2);{let e=M(()=>t.login.t(`hint`,{minimum:c(i)}));xe(P,{get login(){return t.login},field:`password`,get hint(){return c(e)}})}B(w);var F=h(w,2);{let e=M(()=>t.login.t(`continue`)),n=M(()=>t.login.t(`working`));Q(F,{get login(){return t.login},type:`submit`,get ready(){return c(a)},get busy(){return t.login.loading},get label(){return c(e)},get working(){return c(n)}})}B(m),p((e,n)=>{N(m,`aria-busy`,t.login.loading||void 0),R(y,e),V(x,c(r).nickname??``),R(k,n)},[()=>t.login.t(`account`),()=>t.login.t(`password`)]),b(`submit`,m,o),z(j,()=>c(n),e=>T(n,e)),s(e,l),I()}var Te=v(`<div class="whom"><span class="whom-name"> </span> <button type="button" class="textlink"> </button></div>`);function Ee(e,t){O(t,!0);var n=Te(),r=f(n),i=U(r,!0),a=h(r,2),o=U(a,!0);B(n),p(e=>{R(i,t.login.auth.identifier),a.disabled=t.login.loading,R(o,e)},[()=>t.login.t(`not_you`)]),_(`click`,a,()=>t.login.startOver()),s(e,n),I()}m([`click`]);var De=v(`<img alt="" class="auth-mark auth-mark-logo"/>`),Oe=v(`<span class="auth-mark" aria-hidden="true"> </span>`);function ke(e,t){O(t,!0);var n=L(),r=g(n),i=e=>{var n=De();p(()=>N(n,`src`,t.tenant.logo)),s(e,n)},a=e=>{var n=Oe(),r=U(n,!0);p(e=>R(r,e),[()=>K(t.tenant?.name??``)]),s(e,n)};u(r,e=>{t.tenant?.logo?e(i):e(a,-1)}),s(e,n),I()}var Ae=v(`<span> </span>`),je=v(`<nav class="tabset"></nav>`);function Me(e,t){O(t,!0);let n=F(t,`steps`,19,()=>[]);var r=je();J(r,22,n,e=>e,(e,n,r)=>{let i=M(()=>c(r)+1);var a=Ae();let o;var l=U(a,!0);p(e=>{o=X(a,1,`tabset-tab`,null,o,{"tabset-done":c(i)<t.at,"tabset-now":c(i)===t.at}),N(a,`aria-current`,c(i)===t.at?`step`:void 0),R(l,e)},[()=>t.login.t(`tab_${n}`)]),s(e,a)}),B(r),p(e=>N(r,`aria-label`,e),[()=>t.login.t(`tabs`)]),s(e,r),I()}var Ne=v(`<img src="/masks-public/icon.svg" alt="" class="auth-mark auth-mark-rose"/>`),Pe=v(`<div class="auth-pair"><span aria-hidden="true"> </span> <span class="auth-wire"></span> <!></div> <!> <!>`,1);function Fe(e,t){O(t,!0);let n=F(t,`mark`,3,``),r=M(()=>t.login.auth.tenant?.name??``),i=M(()=>t.login.auth.signingUp??{steps:[]});var a=Pe(),o=g(a),l=f(o);let d;var m=U(l,!0),_=h(l,4),v=e=>{var t=Ne();s(e,t)},y=e=>{ke(e,{get tenant(){return t.login.auth.tenant}})};u(_,e=>{c(i).firstRun?e(v):e(y,-1)}),B(o);var b=h(o,2),x=e=>{{let n=M(()=>t.login.t(`setup_title`)),i=M(()=>t.login.t(`setup_cap`));$(e,{get login(){return t.login},get title(){return c(n)},get name(){return c(r)},get cap(){return c(i)}})}},S=e=>{{let n=M(()=>t.login.t(`signup_title`));$(e,{get login(){return t.login},get title(){return c(n)},get name(){return c(r)}})}};u(b,e=>{c(i).firstRun?e(x):e(S,-1)});var C=h(b,2);{let e=M(()=>t.at??c(i).steps.length);Me(C,{get login(){return t.login},get steps(){return c(i).steps},get at(){return c(e)}})}p((e,t)=>{d=X(l,1,`auth-mark auth-mark-client`,null,d,{"auth-mark-pending":e}),R(m,t)},[()=>!n().trim(),()=>K(n())]),s(e,a),I()}var Ie=v(`<p class="aside"> </p>`),Le=v(`<p class="aside aside-bad" role="alert"> </p>`),Re=v(`<div class="flow-tight"><!> <!> <!></div>`);function ze(n,i){O(i,!0);let a=F(i,`enrolling`,3,!1),l=F(i,`label`,3,null),d=F(i,`params`,19,()=>({})),m=D(!1),_=D(null),v=M(()=>(a()||!!i.login.auth.passkey?.offered)&&t());async function y(){T(m,!0),T(_,null);let t=null;try{let n=await i.login.submit(a()?`enrol:passkey-challenge`:`passkey:challenge`,{}),r=a()?n.enrolment?.passkeys?.options:n.passkey?.options;if(!r){T(_,i.login.t(`passkey_unoffered`),!0);return}t=performance.now();let s=a()?await e(r):await o(r);await i.login.submit(a()?`enrol:passkey`:`passkey:verify`,{...d(),passkey:s})}catch(e){(!r(e)||t!==null&&performance.now()-t<500)&&T(_,i.login.t(`passkey_unusable`),!0)}finally{T(m,!1)}}var b=L(),x=g(b),S=e=>{var t=Re(),n=f(t);{let e=M(()=>l()??i.login.t(`use_passkey`)),t=M(()=>i.login.t(`waiting_for_passkey`));Q(n,{get login(){return i.login},quiet:!0,get busy(){return c(m)},get label(){return c(e)},get working(){return c(t)},onclick:y})}var r=h(n,2),a=e=>{var t=Ie(),n=U(t,!0);p(e=>R(n,e),[()=>i.login.t(`passkey_hint`)]),s(e,t)};u(r,e=>{c(m)&&e(a)});var o=h(r,2),d=e=>{var t=Le(),n=U(t,!0);p(()=>R(n,c(_))),s(e,t)};u(o,e=>{c(_)&&e(d)}),B(t),s(e,t)};u(x,e=>{c(v)&&e(S)}),s(n,b),I()}var Be=v(`<form class="flow-tight"><input type="text" name="code" class="control control-code" inputmode="numeric" pattern="[0-9 ]*" autocomplete="one-time-code" maxlength="7" spellcheck="false"/> <!></form>`),Ve=v(`<!> <p class="aside"> </p>`,1),He=v(`<!> <!>`,1),Ue=v(`<span class="ledger-value"> </span>`),We=v(`<div class="enrol"><a class="enrol-qr"></a> <div class="enrol-key"><span class="field-hint"> </span> <span class="aside-mono enrol-secret"> </span></div></div> <!>`,1),Ge=v(`<div><span class="ledger-label"> </span> <!></div>`),Ke=v(`<div><span class="ledger-label"> </span> <span class="field-hint"> </span> <!></div>`),qe=v(`<span class="field-hint"> </span> <!>`,1),Je=v(`<li class="aside-mono"> </li>`),Ye=v(`<ol class="codes"></ol> <span class="field-hint"> </span> <div class="codes-actions"><button type="button" class="textlink"> </button> <a class="textlink"> </a></div>`,1),Xe=v(`<span class="field-hint"> </span>`),Ze=v(`<label class="check"><input type="checkbox" name="kept" required=""/> <span> </span></label>`),Qe=v(`<div><!> <div class="slab"><!> <!> <!> <!></div> <form class="flow"><!> <!></form></div>`);function $e(e,n){O(n,!0);let r=(e,t=j)=>{var r=Be(),i=f(r);A(i);var a=h(i,2);{let e=M(()=>H(t())),r=M(()=>n.login.t(`turn_on`));Q(a,{get login(){return n.login},type:`submit`,quiet:!0,get ready(){return c(e)},get label(){return c(r)}})}B(r),p((e,t)=>{N(r,`aria-busy`,n.login.loading||void 0),N(i,`aria-label`,e),N(i,`placeholder`,t)},[()=>n.login.t(`code`),()=>n.login.t(`code`)]),b(`submit`,r,e=>W(e,t())),z(i,()=>w[t()],e=>w[t()]=e),s(e,r)},i=M(()=>n.login.auth.enrolment??{}),a=M(()=>c(i).otp??{}),o=M(()=>c(i).passkeys??{count:0}),d=M(()=>c(i).backupCodes??{}),m=M(()=>!!n.login.auth.signingUp),v=M(()=>c(i).offers??{otp:!0,passkey:!0,backupCodes:!0}),y=M(()=>!c(i).required),x=M(()=>c(d).issued??[]),S=M(()=>Object.entries(c(i).codes??{})),C=M(()=>c(v).passkey&&t()),w=E({"enrol:otp":``,"enrol:code":``}),k=D(!1),F=D(!1),L=M(()=>c(y)&&(c(x).length===0||c(k))),V=M(()=>!!(c(a).enabled||c(o).count>0||c(S).some(([,e])=>e.enabled))),ee=M(()=>c(i).required?n.login.t(`lede`):n.login.t(`lede_optional`)),H=e=>w[e].replace(/\D/g,``).length===6;function W(e,t){if(e.preventDefault(),!H(t)||n.login.loading)return;let r=w[t];w[t]=``,n.login.submit(t,{code:r})}let K=typeof location>`u`?``:location.origin,q=typeof location>`u`?`masks`:location.hostname,Y=M(()=>{let e=[n.login.t(`backup_codes_file`,{account:n.login.actor?.identifier??``,origin:K}),n.login.t(`backup_codes_hint`),``,...c(x),``];return`data:text/plain;charset=utf-8,${encodeURIComponent(e.join(`
|
|
2
|
-
`))}`});async function te(){try{await navigator.clipboard.writeText(c(x).join(`
|
|
3
|
-
`)),T(F,!0)}catch{T(F,!1)}}function Z(e){e.preventDefault(),c(L)&&!n.login.loading&&n.login.submit(`enrol:done`,{kept:c(k)})}var ne=Qe();let re;var ie=f(ne),ae=e=>{var t=Ve(),r=g(t);{let e=M(()=>n.login.actor?.identifier??``);Fe(r,{get login(){return n.login},at:2,get mark(){return c(e)}})}var i=h(r,2),a=U(i,!0);p(()=>R(a,c(ee))),s(e,t)},oe=e=>{var t=He(),r=g(t);{let e=M(()=>n.login.t(`title`));$(r,{get login(){return n.login},get title(){return c(e)},get lede(){return c(ee)}})}Ee(h(r,2),{get login(){return n.login}}),s(e,t)};u(ie,e=>{c(m)?e(ae):e(oe,-1)});var se=h(ie,2),ce=f(se),le=e=>{var t=Ge();let i;var o=f(t),d=U(o,!0),m=h(o,2),_=e=>{var t=Ue(),r=U(t,!0);p(e=>R(r,e),[()=>n.login.t(`otp_on`)]),s(e,t)},v=e=>{var t=We(),i=g(t),o=f(i);l(o,()=>c(a).qr,!0),B(o);var u=h(o,2),d=f(u),m=U(d,!0),_=h(d,2),v=U(_,!0);B(u),B(i);var y=h(i,2);r(y,()=>`enrol:otp`),p((e,t)=>{N(o,`href`,c(a).uri),N(o,`aria-label`,e),R(m,t),R(v,c(a).secret)},[()=>n.login.t(`open`),()=>n.login.t(`scan_hint`)]),s(e,t)};u(m,e=>{c(a).enabled?e(_):e(v,-1)}),B(t),p(e=>{i=X(t,1,`ledger-row ledger-step`,null,i,{"ledger-step-done":c(a).enabled}),R(d,e)},[()=>n.login.t(`otp`)]),s(e,t)};u(ce,e=>{c(v).otp&&e(le)});var ue=h(ce,2),de=e=>{var t=Ke();let r;var i=f(t),a=U(i,!0),l=h(i,2),u=U(l,!0),d=h(l,2);{let e=M(()=>c(o).count>0?n.login.t(`add_another_passkey`):n.login.t(`add_passkey`));ze(d,{get login(){return n.login},enrolling:!0,get label(){return c(e)}})}B(t),p((e,n)=>{r=X(t,1,`ledger-row ledger-step`,null,r,{"ledger-step-done":c(o).verified}),R(a,e),R(u,n)},[()=>n.login.t(`passkeys`),()=>c(o).count>0?n.login.t(`passkeys_some`,{count:c(o).count}):n.login.t(`passkeys_none`)]),s(e,t)};u(ue,e=>{c(C)&&e(de)});var fe=h(ue,2);J(fe,17,()=>c(S),([e,t])=>e,(e,t)=>{var i=M(()=>P(c(t),2));let a=()=>c(i)[0],o=()=>c(i)[1];var l=Ge();let d;var m=f(l),_=U(m,!0),v=h(m,2),y=e=>{var t=Ue(),r=U(t,!0);p(e=>R(r,e),[()=>n.login.t(`otp_on`)]),s(e,t)},b=e=>{var t=qe(),i=g(t),a=U(i,!0),c=h(i,2);r(c,()=>`enrol:code`),p(e=>R(a,e),[()=>n.login.t(`sent_to`,{to:o().to})]),s(e,t)},x=e=>{var t=qe(),r=g(t),i=U(r,!0),l=h(r,2);{let e=M(()=>n.login.t(`send_code`));Q(l,{get login(){return n.login},quiet:!0,get label(){return c(e)},onclick:()=>n.login.submit(`enrol:code-send`,{factor:a()})})}p(e=>R(i,e),[()=>n.login.t(`codes_${a()}_hint`,{to:o().to})]),s(e,t)};u(v,e=>{o().enabled?e(y):o().sent?e(b,1):e(x,-1)}),B(l),p(e=>{d=X(l,1,`ledger-row ledger-step`,null,d,{"ledger-step-done":o().enabled}),R(_,e)},[()=>n.login.t(`codes_${a()}`)]),s(e,l)});var pe=h(fe,2),me=e=>{var t=Ge();let r;var i=f(t),a=U(i,!0),o=h(i,2),l=e=>{var t=Ye(),r=g(t);J(r,20,()=>c(x),e=>e,(e,t)=>{var n=Je(),r=U(n,!0);p(()=>R(r,t)),s(e,n)}),B(r);var i=h(r,2),a=U(i,!0),o=h(i,2),l=f(o),u=U(l,!0),d=h(l,2),m=U(d,!0);B(o),p((e,t,n)=>{R(a,e),R(u,t),N(d,`href`,c(Y)),N(d,`download`,`backup-codes-${q??``}.txt`),R(m,n)},[()=>n.login.t(`backup_codes_hint`),()=>c(F)?n.login.t(`copied`):n.login.t(`copy`),()=>n.login.t(`download`)]),_(`click`,l,te),s(e,t)},m=e=>{var t=Xe(),r=U(t,!0);p(e=>R(r,e),[()=>n.login.t(`backup_codes_left`,{count:c(d).remaining})]),s(e,t)},v=e=>{var t=Xe(),r=U(t,!0);p(e=>R(r,e),[()=>n.login.t(`backup_codes_waiting`)]),s(e,t)};u(o,e=>{c(x).length>0?e(l):c(d).remaining>0?e(m,1):e(v,-1)}),B(t),p(e=>{r=X(t,1,`ledger-row ledger-step`,null,r,{"ledger-step-done":c(x).length>0||c(d).remaining>0}),R(a,e)},[()=>n.login.t(`backup_codes`)]),s(e,t)};u(pe,e=>{c(v).backupCodes&&e(me)}),B(se);var he=h(se,2),ge=f(he),_e=e=>{var t=Ze(),r=f(t);A(r);var i=h(r,2),a=U(i,!0);B(t),p(e=>R(a,e),[()=>n.login.t(`kept`)]),G(r,()=>c(k),e=>T(k,e)),s(e,t)};u(ge,e=>{c(x).length>0&&e(_e)});var ve=h(ge,2);{let e=M(()=>c(V)||c(i).required?n.login.t(`done`):n.login.t(`skip`)),t=M(()=>n.login.t(`working`));Q(ve,{get login(){return n.login},type:`submit`,get ready(){return c(L)},get busy(){return n.login.loading},get label(){return c(e)},get working(){return c(t)}})}B(he),B(ne),p(()=>re=X(ne,1,`flow`,null,re,{setup:c(m),"setup-ready":c(m)&&c(L)})),b(`submit`,he,Z),s(e,ne),I()}m([`click`]);var et=v(`<!> <!> <form class="flow"><label class="field"><span class="field-label"> </span> <input type="text" name="backup_code" class="control control-mono" autocomplete="one-time-code" spellcheck="false" autocapitalize="off"/> <span class="field-hint"> </span></label> <!></form> <!>`,1);function tt(e,t){O(t,!0);let n=D(``),r=M(()=>c(n).trim().length>=8);function i(e){if(e.preventDefault(),!c(r)||t.login.loading)return;let i=c(n);T(n,``),t.login.submit(`backup`,{backup_code:i})}var a=et(),o=g(a);{let e=M(()=>t.login.t(`title`));$(o,{get login(){return t.login},get title(){return c(e)}})}var l=h(o,2);Ee(l,{get login(){return t.login}});var u=h(l,2),d=f(u),m=f(d),_=U(m,!0),v=h(m,2);A(v),q(v,!0);var y=h(v,2),x=U(y,!0);B(d);var S=h(d,2);{let e=M(()=>t.login.t(`continue`)),n=M(()=>t.login.t(`checking`));Q(S,{get login(){return t.login},type:`submit`,get ready(){return c(r)},get busy(){return t.login.loading},get label(){return c(e)},get working(){return c(n)}})}B(u);var C=h(u,2);{let e=M(()=>t.login.t(`use_authenticator`));Q(C,{get login(){return t.login},plain:!0,get label(){return c(e)},onclick:()=>t.login.submit(`use-authenticator`,{})})}p((e,n)=>{N(u,`aria-busy`,t.login.loading||void 0),R(_,e),R(x,n)},[()=>t.login.t(`code`),()=>t.login.t(`hint`)]),b(`submit`,u,i),z(v,()=>c(n),e=>T(n,e)),s(e,a),I()}var nt=document.querySelector(`meta[name="csrf-token"]`)?.content??``,rt=v(`<span class="person-note"> </span>`),it=v(`<span class="person-sub"> <!></span>`),at=v(`<span class="person-role"> </span>`),ot=v(`<form class="signout" method="post"><input type="hidden" name="authenticity_token"/> <button type="submit" class="textlink"> </button></form>`),st=v(`<div class="person"><img width="44" height="44" alt="" class="avatar person-avatar"/> <div class="person-who"><span class="person-name"> </span> <!> <!></div> <!></div>`);function ct(e,t){O(t,!0);let n=F(t,`signOut`,3,null);var r=st(),i=f(r),a=h(i,2),o=f(a),c=U(o,!0),l=h(o,2),d=e=>{var n=it(),r=f(n),i=h(r),a=e=>{var n=rt(),r=U(n,!0);p(()=>R(r,t.person.note)),s(e,n)};u(i,e=>{t.person.note&&e(a)}),B(n),p(e=>R(r,`${e??``} `),[()=>t.person.details.join(` · `)]),s(e,n)};u(l,e=>{(t.person.details.length||t.person.note)&&e(d)});var m=h(l,2),g=e=>{var n=at(),r=U(n,!0);p(()=>R(r,t.person.role)),s(e,n)};u(m,e=>{t.person.role&&e(g)}),B(a);var _=h(a,2),v=e=>{var t=ot(),r=f(t);A(r);var i=h(r,2),a=U(i,!0);B(t),p(()=>{N(t,`action`,`${re}/logout`),V(r,nt),R(a,n())}),s(e,t)};u(_,e=>{n()&&e(v)}),B(r),p(()=>{N(i,`src`,t.person.avatar),R(c,t.person.name)}),s(e,r),I()}var lt=v(`<li><button type="button" class="org-pick"><span class="org-pick-mark" aria-hidden="true"> </span> <span class="org-pick-name"> </span> <span class="org-pick-role"> </span></button></li>`),ut=v(`<!> <!> <ul class="org-picks"></ul>`,1);function dt(e,t){O(t,!0);let n=D(null),r=M(()=>t.login.auth.organizations??[]),i=M(()=>t.login.client?.name??``);async function a(e){T(n,e.key,!0);try{await t.login.submit(`organization`,{organization:e.key})}finally{T(n,null)}}var o=ut(),l=g(o);{let e=M(()=>c(i)?t.login.t(`title_to`,{client:c(i)}):t.login.t(`title`)),n=M(()=>t.login.t(`lede`));$(l,{get login(){return t.login},get title(){return c(e)},get lede(){return c(n)}})}var d=h(l,2),m=e=>{{let n=M(()=>t.login.t(`sign_out`));ct(e,{get person(){return t.login.auth.person},get signOut(){return c(n)}})}};u(d,e=>{t.login.auth.person&&e(m)});var v=h(d,2);J(v,21,()=>c(r),e=>e.key,(e,r)=>{var i=lt(),o=f(i),l=f(o),u=U(l,!0),d=h(l,2),m=U(d,!0),g=h(d,2),v=U(g,!0);B(o),B(i),p((e,i,a)=>{o.disabled=t.login.loading,N(o,`aria-busy`,c(n)===c(r).key||void 0),N(o,`aria-label`,e),R(u,i),R(m,c(r).name),R(v,a)},[()=>t.login.t(`as`,{organization:c(r).name,role:c(r).role}),()=>ee(c(r).name),()=>c(n)===c(r).key?t.login.t(`working`):c(r).role]),_(`click`,o,()=>a(c(r))),s(e,i)}),B(v),p(e=>N(v,`aria-label`,e),[()=>t.login.t(`title`)]),s(e,o),I()}m([`click`]);var ft=v(`<img alt="" class="auth-mark auth-mark-client auth-mark-logo" referrerpolicy="no-referrer"/>`),pt=v(`<span class="auth-mark auth-mark-client" aria-hidden="true"> </span>`);function mt(e,t){O(t,!0);var n=L(),r=g(n),i=e=>{var n=ft();p(()=>N(n,`src`,t.client.logo)),s(e,n)},a=e=>{var n=pt(),r=U(n,!0);p(e=>R(r,e),[()=>K(t.client?.name)]),s(e,n)};u(r,e=>{t.client?.logo?e(i):e(a,-1)}),s(e,n),I()}var ht=/(:write|:command|:exec|:delete|:admin)$|^offline_access$|^masks:delegate:./;function gt(e){return ht.test(String(e))}function _t(e){let t=[],n=[];for(let r of e??[])(gt(r[0])?t:n).push(r);return{hot:t,rest:n}}var vt=v(`<p class="empty"> </p>`),yt=v(`<li class="grant-scope grant-scope-hot"><span> </span> <span class="chip-key"> </span></li>`),bt=v(`<li class="grant-scope-split"></li>`),xt=v(`<li class="grant-scope"><span> </span> <span class="chip-key"> </span></li>`),St=v(`<span class="ledger-value aside-mono"> </span>`),Ct=v(`<div class="ledger-row"><span class="ledger-label"> </span> <!></div>`),wt=v(`<dt> </dt> <dd class="aside-mono"> </dd>`,1),Tt=v(`<dl class="grant-fields"></dl>`),Et=v(`<li class="grant-scope grant-scope-hot grant-detail"><span> </span> <span class="chip-key"> </span> <!></li>`),Dt=v(`<div class="ledger-row"><span class="ledger-label"> </span> <ul class="grant-scopes"></ul></div>`),Ot=v(`<div class="ledger-row"><span class="ledger-label"> </span> <span class="ledger-value aside-mono"> </span></div>`),kt=v(`<a class="textlink" rel="noopener noreferrer" target="_blank"> </a>`),At=v(`<p class="aside client-links"></p>`),jt=v(`<div class="auth-pair"><!> <span class="auth-wire"></span> <!></div> <!> <!> <div class="slab"><div class="ledger-row"><span class="ledger-label"> </span> <!> <ul class="grant-scopes"><!> <!> <!></ul></div> <!> <!> <!></div> <!> <div class="action-row"><!> <!></div>`,1);function Mt(e,t){O(t,!0);let n=M(()=>_t(t.login.consent?.scopes??[])),r=M(()=>t.login.consent?.audience??[]),i=M(()=>t.login.consent?.details??[]),a=M(()=>t.login.client?.name??``),o=M(()=>[[`site`,t.login.t(`site`,{client:c(a)})],[`terms`,t.login.t(`terms`)],[`privacy`,t.login.t(`privacy`)]].filter(([e])=>t.login.client?.[e]));var l=jt(),d=g(l),m=f(d);mt(m,{get client(){return t.login.client}}),ke(h(m,4),{get tenant(){return t.login.auth.tenant}}),B(d);var _=h(d,2);{let e=M(()=>t.login.t(`title`,{client:c(a)}));$(_,{get login(){return t.login},get title(){return c(e)}})}var v=h(_,2),y=e=>{{let n=M(()=>t.login.t(`sign_out`));ct(e,{get person(){return t.login.auth.person},get signOut(){return c(n)}})}};u(v,e=>{t.login.auth.person&&e(y)});var b=h(v,2),S=f(b),C=f(S),w=U(C,!0),T=h(C,2),E=e=>{var n=vt(),r=U(n,!0);p(e=>R(r,e),[()=>t.login.t(`no_access`)]),s(e,n)};u(T,e=>{!c(n).hot.length&&!c(n).rest.length&&e(E)});var D=h(T,2),k=f(D);J(k,17,()=>c(n).hot,([e,t])=>e,(e,t)=>{var n=M(()=>P(c(t),2));let r=()=>c(n)[0],i=()=>c(n)[1];var a=yt(),o=f(a),l=U(o,!0),u=h(o,2),d=U(u,!0);B(a),p(()=>{R(l,i()),R(d,r())}),s(e,a)});var A=h(k,2),j=e=>{var t=bt();s(e,t)};u(A,e=>{c(n).hot.length&&c(n).rest.length&&e(j)});var F=h(A,2);J(F,17,()=>c(n).rest,([e,t])=>e,(e,t)=>{var n=M(()=>P(c(t),2));let r=()=>c(n)[0],i=()=>c(n)[1];var a=xt(),o=f(a),l=U(o,!0),u=h(o,2),d=U(u,!0);B(a),p(()=>{R(l,i()),R(d,r())}),s(e,a)}),B(D),B(S);var L=h(S,2),z=e=>{var n=Ct(),i=f(n),a=U(i,!0),o=h(i,2);J(o,16,()=>c(r),e=>e,(e,t)=>{var n=St(),r=U(n,!0);p(()=>R(r,t)),s(e,n)}),B(n),p(e=>R(a,e),[()=>t.login.t(`audience`)]),s(e,n)};u(L,e=>{c(r).length&&e(z)});var V=h(L,2),ee=e=>{var n=Dt(),r=f(n),a=U(r,!0),o=h(r,2);J(o,21,()=>c(i),x,(e,t)=>{var n=Et(),r=f(n),i=U(r,!0),a=h(r,2),o=U(a,!0),l=h(a,2),d=e=>{var n=Tt();J(n,21,()=>c(t).fields,([e,t])=>e,(e,t)=>{var n=M(()=>P(c(t),2));let r=()=>c(n)[0],i=()=>c(n)[1];var a=wt(),o=g(a),l=U(o,!0),u=h(o,2),d=U(u,!0);p(()=>{R(l,r()),R(d,i())}),s(e,a)}),B(n),s(e,n)};u(l,e=>{c(t).fields.length&&e(d)}),B(n),p(()=>{R(i,c(t).label),R(o,c(t).type)}),s(e,n)}),B(o),B(n),p(e=>R(a,e),[()=>t.login.t(`details`)]),s(e,n)};u(V,e=>{c(i).length&&e(ee)});var H=h(V,2),W=e=>{var n=Ot(),r=f(n),i=U(r,!0),a=h(r,2),o=U(a,!0);B(n),p(e=>{R(i,e),R(o,t.login.client.returnsTo)},[()=>t.login.t(`returns_to`)]),s(e,n)};u(H,e=>{t.login.client?.returnsTo&&e(W)}),B(b);var G=h(b,2),K=e=>{var n=At();J(n,21,()=>c(o),([e,t])=>e,(e,n)=>{var r=M(()=>P(c(n),2));let i=()=>c(r)[0],a=()=>c(r)[1];var o=kt(),l=U(o,!0);p(()=>{N(o,`href`,t.login.client[i()]),R(l,a())}),s(e,o)}),B(n),s(e,n)};u(G,e=>{c(o).length&&e(K)});var q=h(G,2),Y=f(q);{let e=M(()=>t.login.t(`allow`)),n=M(()=>t.login.t(`working`));Q(Y,{get login(){return t.login},grow:!0,get busy(){return t.login.loading},get label(){return c(e)},get working(){return c(n)},onclick:()=>t.login.submit(`consent`,{approve:`yes`})})}var X=h(Y,2);{let e=M(()=>t.login.t(`deny`));Q(X,{get login(){return t.login},quiet:!0,fit:!0,get label(){return c(e)},onclick:()=>t.login.submit(`decline`,{})})}B(q),p(e=>R(w,e),[()=>t.login.t(`access`)]),s(e,l),I()}var Nt=v(`<form class="flow"><label class="field"><span class="field-label"> </span> <input type="text" name="code" class="control control-code" inputmode="numeric" pattern="[0-9]*" autocomplete="one-time-code" maxlength="6" spellcheck="false"/></label> <!></form>`);function Pt(e,t){O(t,!0);let n=D(``),r=M(()=>c(n).replace(/\D/g,``).length===6);function i(){if(!c(r)||t.login.loading)return;let e=c(n);T(n,``),t.login.submit(t.event,{code:e})}function a(e){e.preventDefault(),i()}S(()=>{c(r)&&i()});var o=Nt(),l=f(o),u=f(l),d=U(u,!0),m=h(u,2);A(m),q(m,!0),B(l);var g=h(l,2);{let e=M(()=>t.login.t(`continue`)),n=M(()=>t.login.t(`checking`));Q(g,{get login(){return t.login},type:`submit`,get ready(){return c(r)},get busy(){return t.login.loading},get label(){return c(e)},get working(){return c(n)}})}B(o),p(e=>{N(o,`aria-busy`,t.login.loading||void 0),R(d,e)},[()=>t.login.t(`code`)]),b(`submit`,o,a),z(m,()=>c(n),e=>T(n,e)),s(e,o),I()}function Ft(e,t){O(t,!0);let n=F(t,`event`,3,`confirm:resend`),r=F(t,`ready`,3,null),i=D(!1);async function a(){await t.login.submit(n(),{}),T(i,!0)}{let n=M(()=>r()??t.login.auth.confirmation?.resendable!==!1),o=M(()=>c(i)?t.login.t(`sent_again`):t.login.t(`send_again`));Q(e,{get login(){return t.login},plain:!0,get ready(){return c(n)},get label(){return c(o)},onclick:a})}I()}var It=v(`<!> <!> <!> <!>`,1);function Lt(e,t){O(t,!0);var n=It(),r=g(n);{let e=M(()=>t.login.t(`title`)),n=M(()=>t.login.t(`lede`,{identifier:t.login.identifier??``}));$(r,{get login(){return t.login},get title(){return c(e)},get lede(){return c(n)}})}var i=h(r,2);Ee(i,{get login(){return t.login}});var a=h(i,2);Pt(a,{get login(){return t.login},event:`email-code:verify`});var o=h(a,2);{let e=M(()=>t.login.auth.emailCode?.resendable!==!1);Ft(o,{get login(){return t.login},event:`email-code:send`,get ready(){return c(e)}})}s(e,n),I()}var Rt=v(`<div class="providers"></div>`);function zt(e,t){O(t,!0);let n=M(()=>t.login.auth.providers??[]);var r=L(),i=g(r),a=e=>{var r=Rt();J(r,21,()=>c(n),e=>e.key,(e,n)=>{{let r=M(()=>t.login.t(`continue_with`,{provider:c(n).name}));Q(e,{get login(){return t.login},quiet:!0,get label(){return c(r)},onclick:()=>t.login.submit(`provider`,{provider:c(n).key})})}}),B(r),s(e,r)};u(i,e=>{c(n).length&&e(a)}),s(e,r),I()}var Bt=v(`<div class="otherwise"><span class="providers-rule"> </span> <!> <!></div>`);function Vt(e,n){O(n,!0);let r=M(()=>!!n.login.auth.passkey?.offered&&t()),i=M(()=>(n.login.auth.providers??[]).length>0);var a=L(),o=g(a),l=e=>{var t=Bt(),r=f(t),i=U(r,!0),a=h(r,2);ze(a,{get login(){return n.login}}),zt(h(a,2),{get login(){return n.login}}),B(t),p(e=>R(i,e),[()=>n.login.t(`or`)]),s(e,t)};u(o,e=>{(c(r)||c(i))&&e(l)}),s(e,a),I()}var Ht=v(`<form class="flow"><div class="field"><div class="field-line"><label class="field-label" for="password"> </label> <button type="button" class="textlink"> </button></div> <input id="password" type="password" name="password" class="control" autocomplete="current-password"/></div> <!></form>`),Ut=v(`<!> <!> <!> <!> <!>`,1);function Wt(e,t){O(t,!0);let n=D(``),r=M(()=>c(n).length>0),i=M(()=>!!t.login.auth.password?.offered),a=M(()=>!!t.login.auth.emailCode);function o(e){e.preventDefault(),c(r)&&!t.login.loading&&t.login.submit(`password`,{password:c(n)}).then(()=>{T(n,``)})}var l=Ut(),d=g(l);{let e=M(()=>c(i)||!c(a)?t.login.t(`title`):t.login.t(`title_code`));$(d,{get login(){return t.login},get title(){return c(e)}})}var m=h(d,2);Ee(m,{get login(){return t.login}});var v=h(m,2),y=e=>{var i=Ht(),a=f(i),l=f(a),u=f(l),d=U(u,!0),m=h(u,2),g=U(m,!0);B(l);var v=h(l,2);A(v),q(v,!0),B(a);var y=h(a,2);{let e=M(()=>t.login.t(`continue`)),n=M(()=>t.login.t(`checking`));Q(y,{get login(){return t.login},type:`submit`,get ready(){return c(r)},get busy(){return t.login.loading},get label(){return c(e)},get working(){return c(n)}})}B(i),p((e,n)=>{N(i,`aria-busy`,t.login.loading||void 0),R(d,e),m.disabled=t.login.loading,R(g,n)},[()=>t.login.t(`password`),()=>t.login.t(`forgot`)]),b(`submit`,i,o),_(`click`,m,()=>t.login.submit(`forgot-password`,{})),z(v,()=>c(n),e=>T(n,e)),s(e,i)};u(v,e=>{c(i)&&e(y)});var x=h(v,2),S=e=>{{let n=M(()=>c(i)?t.login.t(`email_me`):t.login.t(`email_only`));Q(e,{get login(){return t.login},get quiet(){return c(i)},get label(){return c(n)},onclick:()=>t.login.submit(`email-code:send`,{})})}};u(x,e=>{c(a)&&e(S)}),Vt(h(x,2),{get login(){return t.login}}),s(e,l),I()}m([`click`]);function Gt(e,t){O(t,!0);let n=F(t,`tone`,3,null),r=M(()=>t.login.auth.client),i=M(()=>c(r)?.name?t.login.t(`heading_to`,{client:c(r).name}):t.login.t(`heading`));$(e,{get login(){return t.login},get title(){return c(i)},get tone(){return n()}}),I()}var Kt=v(`<span class="field-hint"> </span>`),qt=v(`<form class="flow"><label class="field"><span class="field-label"> </span> <input type="text" name="identifier" class="control" autocomplete="username webauthn" autocapitalize="none" autocorrect="off" spellcheck="false"/> <!></label> <!></form> <!>`,1),Jt=v(`<!> <!>`,1);function Yt(e,t){O(t,!0);let r=D(``),o=M(()=>c(r).trim().length>0);W(()=>{let e=!0;return(async()=>{if(!t.login.auth.passkey?.offered||!await i()||!e)return;let r=(await t.login.poll(`passkey:challenge`)).passkey?.options;if(!r||!e)return;let a=await n(r);e&&await t.login.submit(`passkey:verify`,{passkey:a})})().catch(()=>{}),()=>{e=!1,a()}});function l(e){e.preventDefault(),c(o)&&!t.login.loading&&t.login.submit(`identify`,{identifier:c(r)})}var d=Jt(),m=g(d);Gt(m,{get login(){return t.login}});var _=h(m,2),v=e=>{var n=qt(),i=g(n),a=f(i),d=f(a),m=U(d,!0),_=h(d,2);A(_),q(_,!0);var v=h(_,2),y=e=>{var n=Kt(),r=U(n,!0);p(e=>R(r,e),[()=>t.login.t(`signup_hint`)]),s(e,n)};u(v,e=>{t.login.auth.signupOpen&&e(y)}),B(a);var x=h(a,2);{let e=M(()=>t.login.t(`continue`)),n=M(()=>t.login.t(`checking`));Q(x,{get login(){return t.login},type:`submit`,get ready(){return c(o)},get busy(){return t.login.loading},get label(){return c(e)},get working(){return c(n)}})}B(i),Vt(h(i,2),{get login(){return t.login}}),p(e=>{N(i,`aria-busy`,t.login.loading||void 0),R(m,e)},[()=>t.login.t(`identifier`)]),b(`submit`,i,l),z(_,()=>c(r),e=>T(r,e)),s(e,n)},y=e=>{zt(e,{get login(){return t.login}})};u(_,e=>{t.login.auth.identifies===!1?e(y,-1):e(v)}),s(e,d),I()}var Xt=v(`<!> <!>`,1),Zt=v(`<p class="note note-warn" role="alert"> </p>`),Qt=v(`<!> <!> <!>`,1);function $t(e,t){O(t,!0);let n=M(()=>t.login.auth.inbox??{});var r=Qt(),i=g(r);{let e=M(()=>t.login.t(`title`)),r=M(()=>c(n).mails?t.login.t(`lede`,{email:c(n).email}):null);$(i,{get login(){return t.login},get title(){return c(e)},get lede(){return c(r)}})}var a=h(i,2);Ee(a,{get login(){return t.login}});var o=h(a,2),l=e=>{var r=Xt(),i=g(r);Pt(i,{get login(){return t.login},event:`inbox:verify`});var a=h(i,2);{let e=M(()=>c(n).resendable!==!1);Ft(a,{get login(){return t.login},event:`inbox:resend`,get ready(){return c(e)}})}s(e,r)},d=e=>{var n=Zt(),r=U(n,!0);p(e=>R(r,e),[()=>t.login.t(`no_mailer`)]),s(e,n)};u(o,e=>{c(n).mails?e(l):e(d,-1)}),s(e,r),I()}var en=v(`<!> <form class="flow"><label class="field"><span class="field-label"> </span> <input type="text" class="control" autocomplete="username" readonly=""/></label> <label class="field"><span class="field-label"> </span> <input type="password" name="password" class="control" autocomplete="new-password"/> <!></label> <!></form>`,1);function tn(e,t){O(t,!0);let n=D(``),r=M(()=>t.login.auth.reset??{}),i=M(()=>c(r).minimum??8),a=M(()=>c(n).length>=c(i));function o(e){e.preventDefault(),c(a)&&!t.login.loading&&t.login.submit(`reset-password`,{password:c(n)})}var l=en(),u=g(l);{let e=M(()=>t.login.t(`title`));$(u,{get login(){return t.login},get title(){return c(e)}})}var d=h(u,2),m=f(d),_=f(m),v=U(_,!0),y=h(_,2);A(y),B(m);var x=h(m,2),S=f(x),C=U(S,!0),w=h(S,2);A(w),q(w,!0);var E=h(w,2);{let e=M(()=>t.login.t(`hint`,{minimum:c(i)}));xe(E,{get login(){return t.login},field:`password`,get hint(){return c(e)}})}B(x);var k=h(x,2);{let e=M(()=>t.login.t(`continue`)),n=M(()=>t.login.t(`working`));Q(k,{get login(){return t.login},type:`submit`,get ready(){return c(a)},get busy(){return t.login.loading},get label(){return c(e)},get working(){return c(n)}})}B(d),p((e,n)=>{N(d,`aria-busy`,t.login.loading||void 0),R(v,e),V(y,c(r).nickname??``),R(C,n)},[()=>t.login.t(`account`),()=>t.login.t(`password`)]),b(`submit`,d,o),z(w,()=>c(n),e=>T(n,e)),s(e,l),I()}var nn=v(`<p class="aside" role="status"> </p>`),rn=v(`<label class="check"><input type="checkbox"/> <span> </span></label>`),an=v(`<!> <!> <!> <!>`,1),on=v(`<form class="flow"><label class="field"><span class="field-label"> </span> <input type="text" name="code" class="control control-code" inputmode="numeric" pattern="[0-9 ]*" autocomplete="one-time-code" maxlength="7" spellcheck="false"/></label> <!> <!></form>`),sn=v(`<!> <!>`,1),cn=v(`<div class="slab flow-tight" aria-live="polite"><span class="aside-mono approval-code"> </span> <span class="field-hint"> </span> <span class="aside"> </span></div>`),ln=v(`<p class="aside aside-bad" role="alert"> </p>`),un=v(`<!> <!> <!> <!> <!> <!> <!> <!> <!> <!>`,1);function dn(e,n){O(n,!0);let r=e=>{var t=L(),r=g(t),i=e=>{var t=nn(),r=U(t,!0);p(e=>R(r,e),[()=>n.login.t(`recovery_requested`)]),s(e,t)},a=e=>{{let t=M(()=>n.login.t(c(k)?`recovery_ask`:`recovery_request`));Q(e,{get login(){return n.login},plain:!0,get label(){return c(t)},onclick:()=>n.login.submit(`recovery:request`,{})})}};u(r,e=>{c(j).requested?e(i):e(a,-1)}),s(e,t)},i=e=>{var t=L(),r=g(t),i=e=>{var t=rn(),r=f(t);A(r);var i=h(r,2),a=U(i,!0);B(t),p(e=>R(a,e),[()=>n.login.t(`trust`,{duration:n.login.auth.trustFor})]),G(r,()=>c(o),e=>T(o,e)),s(e,t)};u(r,e=>{n.login.rememberable&&e(i)}),s(e,t)},a=D(``),o=D(!1),l=D(!1),d=M(()=>n.login.auth.secondFactors??{otp:!0}),m=M(()=>n.login.auth.codeFactors??{}),_=M(()=>Object.keys(c(m)).length>0),v=M(()=>n.login.auth.approval),y=M(()=>c(v)?.state===`waiting`),x=M(()=>c(l)?null:n.login.auth.codeSent),C=M(()=>c(a).replace(/\D/g,``).length===6),w=M(()=>!!(c(d).passkey&&n.login.auth.passkey?.offered)&&t()),E=M(()=>!!c(x)||c(d).otp),k=M(()=>!c(E)&&!c(w)&&!n.login.backupCodes&&!c(d).trustedDevice&&!c(_)),j=M(()=>n.login.auth.recovery??{}),F=M(()=>n.login.auth.codesWithheld?.includes(`email`)?`stuck_inbox`:c(d).passkey?globalThis.isSecureContext?`stuck_unsupported`:`stuck_insecure`:`stuck_nothing`);function V(){if(!c(C)||n.login.loading)return;let e=c(a);T(a,``),n.login.submit(c(x)?`code:verify`:`otp`,{code:e,remember:c(o)})}function ee(e){e.preventDefault(),V()}function H(e){T(l,!1),n.login.submit(`code:send`,{factor:e})}S(()=>{c(C)&&V()}),S(()=>{if(!c(y))return;let e=c(o),t,r=!1,i=async()=>{document.hidden||await n.login.poll(`approval:check`,{remember:e}),r||(t=setTimeout(i,2e3))};return t=setTimeout(i,2e3),()=>{r=!0,clearTimeout(t)}});var W=L(),K=g(W),Y=e=>{var t=an(),i=g(t);{let e=M(()=>n.login.t(`halted`)),t=M(()=>n.login.t(c(F)));$(i,{get login(){return n.login},tone:`bad`,get title(){return c(e)},get lede(){return c(t)}})}var a=h(i,2);Ee(a,{get login(){return n.login}});var o=h(a,2);r(o);var l=h(o,2);{let e=M(()=>n.login.t(`start_over`)),t=M(()=>n.login.t(`working`));Q(l,{get login(){return n.login},quiet:!0,get label(){return c(e)},get working(){return c(t)},get busy(){return n.login.loading},onclick:()=>n.login.startOver()})}s(e,t)},X=e=>{var t=un(),S=g(t);{let e=M(()=>n.login.t(c(E)?`title`:`title_passkey`)),t=M(()=>c(x)?n.login.t(`sent_to`,{to:c(x).to}):null);$(S,{get login(){return n.login},get title(){return c(e)},get lede(){return c(t)}})}var D=h(S,2);Ee(D,{get login(){return n.login}});var O=h(D,2),k=e=>{var t=on(),r=f(t),o=f(r),l=U(o,!0),u=h(o,2);A(u),q(u,!0),B(r);var d=h(r,2);i(d);var m=h(d,2);{let e=M(()=>n.login.t(`continue`)),t=M(()=>n.login.t(`checking`));Q(m,{get login(){return n.login},type:`submit`,get ready(){return c(C)},get busy(){return n.login.loading},get label(){return c(e)},get working(){return c(t)}})}B(t),p(e=>{N(t,`aria-busy`,n.login.loading||void 0),R(l,e)},[()=>n.login.t(`code`)]),b(`submit`,t,ee),z(u,()=>c(a),e=>T(a,e)),s(e,t)};u(O,e=>{c(E)&&e(k)});var j=h(O,2),F=e=>{var t=sn(),r=g(t),a=e=>{i(e)};u(r,e=>{c(E)||e(a)});var l=h(r,2);{let e=M(()=>({remember:c(o)}));ze(l,{get login(){return n.login},get params(){return c(e)}})}s(e,t)};u(j,e=>{c(w)&&e(F)});var I=h(j,2),V=e=>{i(e)};u(I,e=>{!c(E)&&!c(w)&&(c(y)||c(_))&&e(V)});var W=h(I,2),G=e=>{var t=cn(),r=f(t),i=U(r,!0),a=h(r,2),o=U(a,!0),l=h(a,2),u=U(l,!0);B(t),p((e,t)=>{R(i,c(v).code),R(o,e),R(u,t)},[()=>n.login.t(`approval_code`),()=>n.login.t(`approval_waiting`)]),s(e,t)},K=e=>{var t=sn(),r=g(t),i=e=>{var t=ln(),r=U(t,!0);p(e=>R(r,e),[()=>n.login.t(`approval_expired`)]),s(e,t)};u(r,e=>{c(v)?.state===`expired`&&e(i)});var a=h(r,2);{let e=M(()=>c(v)?n.login.t(`approval_again`):n.login.t(`use_trusted_device`));Q(a,{get login(){return n.login},plain:!0,get label(){return c(e)},onclick:()=>n.login.submit(`approval:request`,{})})}s(e,t)};u(W,e=>{c(y)?e(G):c(d).trustedDevice&&e(K,1)});var Y=h(W,2);J(Y,17,()=>Object.entries(c(m)),([e,t])=>e,(e,t)=>{var r=M(()=>P(c(t),2));let i=()=>c(r)[0],a=()=>c(r)[1];var o=L(),l=g(o),d=e=>{var t=L(),r=g(t),a=e=>{{let t=M(()=>n.login.t(`send_again`));Q(e,{get login(){return n.login},plain:!0,get label(){return c(t)},onclick:()=>H(i())})}};u(r,e=>{c(x).resendable&&e(a)}),s(e,t)},f=e=>{{let t=M(()=>n.login.t(`send_${i()}`,{to:a()}));Q(e,{get login(){return n.login},plain:!0,get label(){return c(t)},onclick:()=>H(i())})}};u(l,e=>{c(x)?.factor===i()?e(d):e(f,-1)}),s(e,o)});var X=h(Y,2),te=e=>{{let t=M(()=>n.login.t(`use_app`));Q(e,{get login(){return n.login},plain:!0,get label(){return c(t)},onclick:()=>T(l,!0)})}};u(X,e=>{c(x)&&c(d).otp&&e(te)});var Z=h(X,2),ne=e=>{{let t=M(()=>n.login.t(`use_backup_code`));Q(e,{get login(){return n.login},plain:!0,get label(){return c(t)},onclick:()=>n.login.submit(`use-backup-code`,{})})}};u(Z,e=>{n.login.backupCodes&&e(ne)});var re=h(Z,2);r(re),s(e,t)};u(K,e=>{c(k)?e(Y):e(X,-1)}),s(e,W),I()}var fn=v(`<div class="auth-pair"><!> <span class="auth-wire auth-wire-live"></span> <!></div>`),pn=v(`<div class="over"><!> <!></div>`);function mn(e,t){O(t,!0);let n=M(()=>t.login.client?.name??``),r=M(()=>c(n)?t.login.t(`heading_to`,{client:c(n)}):t.login.t(`heading`));var i=pn(),a=f(i),o=e=>{var n=fn(),r=f(n);ke(r,{get tenant(){return t.login.auth.tenant}}),mt(h(r,4),{get client(){return t.login.client}}),B(n),s(e,n)};u(a,e=>{c(n)&&e(o)});var l=h(a,2);{let e=M(()=>t.login.t(`waiting`));$(l,{get login(){return t.login},get title(){return c(r)},busy:!0,get lede(){return c(e)}})}B(i),s(e,i),I()}var hn=v(`<p class="prompt-lede"> </p>`),gn=v(`<!> <div class="prompt-head"><h2 class="prompt-title"> </h2> <!></div>`,1),_n=v(`<!> <!>`,1);function vn(e,t){O(t,!0);let n=F(t,`lede`,3,null),r=F(t,`tone`,3,null);var i=L(),a=g(i),o=e=>{var r=gn(),i=g(r);{let e=M(()=>t.login.actor?.identifier??``);Fe(i,{get login(){return t.login},get mark(){return c(e)}})}var a=h(i,2),o=f(a),l=U(o,!0),d=h(o,2),m=e=>{var t=hn(),r=U(t,!0);p(()=>R(r,n())),s(e,t)};u(d,e=>{n()&&e(m)}),B(a),p(()=>R(l,t.title)),s(e,r)},l=e=>{var i=_n(),a=g(i);$(a,{get login(){return t.login},get title(){return t.title},get lede(){return n()},get tone(){return r()}}),Ee(h(a,2),{get login(){return t.login}}),s(e,i)};u(a,e=>{t.login.auth.signingUp?e(o):e(l,-1)}),s(e,i),I()}var yn=v(`<!> <form class="flow"><label class="field"><span class="field-label"> </span> <input type="tel" name="phone" class="control" autocomplete="tel" placeholder="+15551234567"/> <span class="field-hint"> </span></label> <!></form>`,1);function bn(e,t){O(t,!0);let n=D(``),r=M(()=>/^\+?[\d\s().-]{7,}$/.test(c(n).trim()));function i(e){e.preventDefault(),c(r)&&!t.login.loading&&t.login.submit(`confirm:add-phone`,{phone:c(n)})}var a=yn(),o=g(a);{let e=M(()=>t.login.t(`title`)),n=M(()=>t.login.t(`lede`));vn(o,{get login(){return t.login},get title(){return c(e)},get lede(){return c(n)}})}var l=h(o,2),u=f(l),d=f(u),m=U(d,!0),_=h(d,2);A(_),q(_,!0);var v=h(_,2),y=U(v,!0);B(u);var x=h(u,2);{let e=M(()=>t.login.t(`continue`)),n=M(()=>t.login.t(`working`));Q(x,{get login(){return t.login},type:`submit`,get ready(){return c(r)},get busy(){return t.login.loading},get label(){return c(e)},get working(){return c(n)}})}B(l),p((e,n)=>{N(l,`aria-busy`,t.login.loading||void 0),R(m,e),R(y,n)},[()=>t.login.t(`phone`),()=>t.login.t(`hint`)]),b(`submit`,l,i),z(_,()=>c(n),e=>T(n,e)),s(e,a),I()}var xn=v(`<!> <p class="waiting aside"> </p> <!>`,1);function Sn(e,t){O(t,!0),S(()=>{let e=setInterval(()=>{t.login.loading||t.login.submit(`confirm:check`,{})},15e3);return()=>clearInterval(e)});var n=xn(),r=g(n);{let e=M(()=>t.login.t(`title`)),n=M(()=>t.login.t(`lede`));vn(r,{get login(){return t.login},get title(){return c(e)},get lede(){return c(n)}})}var i=h(r,2),a=U(i,!0),o=h(i,2);{let e=M(()=>t.login.t(`check`));Q(o,{get login(){return t.login},quiet:!0,get label(){return c(e)},get busy(){return t.login.loading},onclick:()=>t.login.submit(`confirm:check`,{})})}p(e=>R(a,e),[()=>t.login.t(`waiting`)]),s(e,n),I()}var Cn=v(`<p class="note note-warn" role="alert"> </p>`),wn=v(`<p class="waiting aside"> </p>`),Tn=v(`<!> <!> <!>`,1);function En(e,t){O(t,!0);let n=M(()=>t.login.auth.confirmation??{}),r=M(()=>c(n).mode===`link`);S(()=>{if(!c(r))return;let e=setInterval(()=>{t.login.loading||t.login.submit(`confirm:check`,{})},5e3);return()=>clearInterval(e)});var i=Tn(),a=g(i);{let e=M(()=>t.login.t(`title`)),i=M(()=>t.login.t(c(r)?`lede_link`:`lede`,{email:c(n).email}));vn(a,{get login(){return t.login},get title(){return c(e)},get lede(){return c(i)}})}var o=h(a,2),l=e=>{var n=Cn(),r=U(n,!0);p(e=>R(r,e),[()=>t.login.t(`no_mailer`)]),s(e,n)},d=e=>{var n=wn(),r=U(n,!0);p(e=>R(r,e),[()=>t.login.t(`waiting`)]),s(e,n)},f=e=>{Pt(e,{get login(){return t.login},event:`confirm:email`})};u(o,e=>{c(n).mails?c(r)?e(d,1):e(f,-1):e(l)});var m=h(o,2),_=e=>{Ft(e,{get login(){return t.login}})};u(m,e=>{c(n).mails&&e(_)}),s(e,i),I()}var Dn=v(`<!> <!>`,1),On=v(`<p class="note note-warn" role="alert"> </p>`),kn=v(`<!> <!> <!>`,1);function An(e,t){O(t,!0);let n=M(()=>t.login.auth.confirmation??{});var r=kn(),i=g(r);{let e=M(()=>t.login.t(`title`)),r=M(()=>t.login.t(`lede`,{phone:c(n).phone}));vn(i,{get login(){return t.login},get title(){return c(e)},get lede(){return c(r)}})}var a=h(i,2),o=e=>{var n=Dn(),r=g(n);Pt(r,{get login(){return t.login},event:`confirm:phone`}),Ft(h(r,2),{get login(){return t.login}}),s(e,n)},l=e=>{var n=On(),r=U(n,!0);p(e=>R(r,e),[()=>t.login.t(`no_texts`)]),s(e,n)};u(a,e=>{c(n).texts?e(o):e(l,-1)});var d=h(a,2);{let e=M(()=>t.login.t(`change_phone`));Q(d,{get login(){return t.login},plain:!0,get label(){return c(e)},onclick:()=>t.login.submit(`confirm:change-phone`,{})})}s(e,r),I()}var jn=512,Mn=new TextEncoder,Nn=new Map;function Pn(e){let t=new Uint8Array(e),n=0;for(let e of t){if(e===0){n+=8;continue}return n+Math.clz32(e)-24}return n}async function Fn({nonce:e,bits:t}){for(let n=0;;n+=jn){let r=(await Promise.all(Array.from({length:jn},(t,r)=>crypto.subtle.digest(`SHA-256`,Mn.encode(`${e}${n+r}`))))).findIndex(e=>Pn(e)>=t);if(r>=0)return String(n+r)}}function In(e){return e?(Nn.has(e.token)||Nn.set(e.token,Fn(e).then(t=>({work:e.token,work_counter:t}))),Nn.get(e.token)):Promise.resolve(null)}var Ln=v(`<label><span class="ledger-label"> </span> <input type="password" name="token" class="control" autocomplete="off"/> <!></label>`),Rn=v(`<label><span class="ledger-label"> </span> <input type="text" name="nickname" class="control" autocomplete="username" autocapitalize="none" autocorrect="off" spellcheck="false"/> <!></label>`),zn=v(`<label><span class="ledger-label"> </span> <input type="email" name="email" class="control" autocomplete="email"/> <!></label>`),Bn=v(`<label><span class="ledger-label"> </span> <input type="tel" name="phone" class="control" autocomplete="tel" placeholder="+15551234567"/> <!></label>`),Vn=v(`<div class="ledger-row"><span class="ledger-label"> </span> <span class="ledger-value aside-mono"> </span></div>`),Hn=v(`<a class="textlink" rel="noopener" target="_blank"> </a>`),Un=v(`<p class="aside"> <!></p>`),Wn=v(`<p class="aside"> <button type="button" class="textlink"> </button></p>`),Gn=v(`<div><!> <form class="flow"><div class="slab"><!> <label><span class="ledger-label"> </span> <input type="text" name="name" class="control" autocomplete="name"/></label> <!> <!> <!> <!></div> <!></form> <!></div>`);function Kn(e,t){O(t,!0);let n=M(()=>t.login.auth.signup??{}),r=M(()=>c(n).asks??{}),i=M(()=>new Set(c(n).fixed??[])),a=M(()=>!!t.login.auth.signingUp?.firstRun),o=M(()=>t.login.auth.docs),l=typeof location>`u`?``:location.origin,d=C(()=>t.login.auth.signup??{}),m=D(``),g=D(E(d.nickname??``)),v=D(E(d.email??``)),y=D(E(d.name??``)),x=D(E(d.phone??``)),w=D(!1),k=e=>e.trim().length>0,j=(e,t)=>c(r)[e]!==`required`||k(t),P=M(()=>(!c(n).token||k(c(m)))&&j(`nickname`,c(g))&&j(`email`,c(v))&&j(`phone`,c(x))&&(k(c(g))||k(c(v))));S(()=>{In(c(n).work).catch(()=>null)});async function F(){T(w,!0);try{return await In(c(n).work)??{}}catch{return{}}finally{T(w,!1)}}async function L(e){if(e.preventDefault(),c(P)&&!t.login.loading&&!c(w)){let e=await F();t.login.submit(`signup`,{token:c(m),nickname:c(g),email:c(v),name:c(y),phone:c(x),...e})}}var V=Gn();let ee;var H=f(V);{let e=M(()=>c(g)||c(v));Fe(H,{get login(){return t.login},at:1,get mark(){return c(e)}})}var W=h(H,2),G=f(W),K=f(G),J=e=>{var n=Ln();let r;var i=f(n),a=U(i,!0),o=h(i,2);A(o),q(o,!0);var l=h(o,2);{let e=M(()=>t.login.t(`token_hint`));xe(l,{get login(){return t.login},field:`token`,get hint(){return c(e)}})}B(n),p((e,t)=>{r=X(n,1,`ledger-row ledger-step`,null,r,{"ledger-step-done":e}),R(a,t)},[()=>k(c(m)),()=>t.login.t(`token`)]),z(o,()=>c(m),e=>T(m,e)),s(e,n)};u(K,e=>{c(n).token&&e(J)});var Y=h(K,2);let te;var Z=f(Y),ne=U(Z,!0),re=h(Z,2);A(re),q(re,!c(n).token),B(Y);var ie=h(Y,2),ae=e=>{var n=Rn();let r;var i=f(n),a=U(i,!0),o=h(i,2);A(o),xe(h(o,2),{get login(){return t.login},field:`nickname`}),B(n),p((e,t)=>{r=X(n,1,`ledger-row ledger-step`,null,r,{"ledger-step-done":e}),R(a,t)},[()=>k(c(g)),()=>t.login.t(`nickname`)]),z(o,()=>c(g),e=>T(g,e)),s(e,n)};u(ie,e=>{c(r).nickname!==`off`&&e(ae)});var oe=h(ie,2),se=e=>{var n=zn();let r;var a=f(n),o=U(a,!0),l=h(a,2);A(l),xe(h(l,2),{get login(){return t.login},field:`email`}),B(n),p((e,t,i)=>{r=X(n,1,`ledger-row ledger-step`,null,r,{"ledger-step-done":e}),R(o,t),l.readOnly=i},[()=>k(c(v)),()=>t.login.t(`email`),()=>c(i).has(`email`)]),z(l,()=>c(v),e=>T(v,e)),s(e,n)};u(oe,e=>{c(r).email!==`off`&&e(se)});var ce=h(oe,2),le=e=>{var n=Bn();let r;var i=f(n),a=U(i,!0),o=h(i,2);A(o),xe(h(o,2),{get login(){return t.login},field:`phone`}),B(n),p((e,t)=>{r=X(n,1,`ledger-row ledger-step`,null,r,{"ledger-step-done":e}),R(a,t)},[()=>k(c(x)),()=>t.login.t(`phone`)]),z(o,()=>c(x),e=>T(x,e)),s(e,n)};u(ce,e=>{c(r).phone!==`off`&&e(le)});var ue=h(ce,2),de=e=>{var n=Vn(),r=f(n),i=U(r,!0),a=h(r,2),o=U(a,!0);B(n),p(e=>{R(i,e),R(o,l)},[()=>t.login.t(`origin`)]),s(e,n)};u(ue,e=>{c(a)&&e(de)}),B(G);var fe=h(G,2);{let e=M(()=>t.login.loading||c(w)),n=M(()=>t.login.t(`continue`)),r=M(()=>c(w)?t.login.t(`proving`):t.login.t(`working`));Q(fe,{get login(){return t.login},type:`submit`,get ready(){return c(P)},get busy(){return c(e)},get label(){return c(n)},get working(){return c(r)}})}B(W);var pe=h(W,2),me=e=>{var n=Un(),r=f(n),i=h(r),a=e=>{var n=Hn(),r=U(n,!0);p(e=>{N(n,`href`,c(o)),R(r,e)},[()=>t.login.t(`docs`)]),s(e,n)};u(i,e=>{c(o)&&e(a)}),B(n),p(e=>R(r,`${e??``} `),[()=>t.login.t(`once`)]),s(e,n)},$=e=>{var n=Wn(),r=f(n),i=h(r),a=U(i,!0);B(n),p((e,n)=>{R(r,`${e??``} `),i.disabled=t.login.loading,R(a,n)},[()=>t.login.t(`have_account`),()=>t.login.t(`sign_in_instead`)]),_(`click`,i,()=>t.login.startOver()),s(e,n)};u(pe,e=>{c(a)?e(me):e($,-1)}),B(V),p((e,n)=>{ee=X(V,1,`setup flow`,null,ee,{"setup-ready":c(P)}),N(W,`aria-busy`,t.login.loading||void 0),te=X(Y,1,`ledger-row ledger-step`,null,te,{"ledger-step-done":e}),R(ne,n)},[()=>k(c(y)),()=>t.login.t(`name`)]),b(`submit`,W,L),z(re,()=>c(y),e=>T(y,e)),s(e,V),I()}m([`click`]);var qn=v(`<div class="ledger-row ledger-row-aside"><span class="ledger-label"> </span> <span class="ledger-value"> </span> <button type="button" class="textlink ledger-aside"> </button></div>`),Jn=v(`<button type="button" role="radio" class="credential-way"> </button>`),Yn=v(`<div class="ledger-row"><span class="ledger-label" id="credential-way"> </span> <div class="credential-ways" role="radiogroup" aria-labelledby="credential-way"></div></div>`),Xn=v(`<label><span class="ledger-label"> </span> <input type="password" name="password" class="control" autocomplete="new-password"/> <!></label> <label><span class="ledger-label"> </span> <input type="password" name="password_confirmation" class="control" autocomplete="new-password"/> <!></label>`,1),Zn=v(`<p class="aside"> </p>`),Qn=v(`<p class="aside aside-bad" role="alert"> </p>`),$n=v(`<div class="flow-tight"><p class="aside"> </p> <!> <!> <!></div>`),er=v(`<p class="note note-warn" role="alert"> </p>`),tr=v(`<a class="textlink" rel="noopener" target="_blank"> </a>`),nr=v(`<p class="aside"> <!></p>`),rr=v(`<div><!> <form class="flow"><div class="slab"><!> <!> <!></div> <!></form> <!> <!></div>`);function ir(n,i){O(i,!0);let a=M(()=>i.login.auth.signup??{}),o=M(()=>c(a).credentials??{password:!0,passkey:!1}),l=M(()=>!!i.login.auth.signingUp?.firstRun),d=M(()=>c(a).minimum??8),m=M(()=>i.login.auth.docs),v=M(()=>!!c(o).passkey&&t()),y=M(()=>c(l)?i.login.t(`submit_first_run`):i.login.t(`submit_signup`)),x=M(()=>[[`name`,c(a).name],[`nickname`,c(a).nickname],[`email`,c(a).email],[`phone`,c(a).phone]].filter(([,e])=>e)),S=D(null),C=M(()=>c(S)??(c(v)?`passkey`:`password`)),w=M(()=>!!c(o).password&&c(v)),E=M(()=>!!c(o).password&&(!c(v)||c(C)===`password`)),k=M(()=>c(v)&&(!c(o).password||c(C)===`passkey`)),j=D(``),F=D(``),L=D(!1),V=D(null),ee=M(()=>c(j).length>=c(d)),H=M(()=>c(ee)&&c(F)===c(j));function W(e){e.preventDefault(),c(H)&&!i.login.loading&&i.login.submit(`signup`,{password:c(j),password_confirmation:c(F)})}async function G(){T(L,!0),T(V,null);try{let t=(await i.login.submit(`signup:passkey-challenge`,{})).signup?.passkeyOptions;if(!t){T(V,i.login.t(`passkey_unoffered`),!0);return}await i.login.submit(`signup:passkey`,{passkey:await e(t)})}catch(e){r(e)||T(V,i.login.t(`passkey_unusable`),!0)}finally{T(L,!1)}}var K=rr();let Y;var te=f(K);{let e=M(()=>c(a).nickname||c(a).email||``);Fe(te,{get login(){return i.login},at:2,get mark(){return c(e)}})}var Z=h(te,2),ne=f(Z),re=f(ne);J(re,17,()=>c(x),([e,t])=>e,(e,t)=>{var n=M(()=>P(c(t),2));let r=()=>c(n)[0],a=()=>c(n)[1];var o=qn(),l=f(o),u=U(l,!0),d=h(l,2),m=U(d,!0),g=h(d,2),v=U(g,!0);B(o),p((e,t)=>{R(u,e),R(m,a()),g.disabled=i.login.loading,R(v,t)},[()=>i.login.t(r()),()=>i.login.t(`edit`)]),_(`click`,g,()=>i.login.submit(`signup-edit`)),s(e,o)});var ie=h(re,2),ae=e=>{var t=Yn(),n=f(t),r=U(n,!0),a=h(n,2);J(a,21,()=>[[`passkey`,i.login.t(`way_passkey`)],[`password`,i.login.t(`way_password`)]],([e,t])=>e,(e,t)=>{var n=M(()=>P(c(t),2));let r=()=>c(n)[0],a=()=>c(n)[1];var o=Jn(),l=U(o,!0);p(()=>{N(o,`aria-checked`,c(C)===r()),o.disabled=i.login.loading||c(L),R(l,a())}),_(`click`,o,()=>T(S,r(),!0)),s(e,o)}),B(a),B(t),p(e=>R(r,e),[()=>i.login.t(`way`)]),s(e,t)};u(ie,e=>{c(w)&&e(ae)});var oe=h(ie,2),se=e=>{var t=Xn(),n=g(t);let r;var a=f(n),o=U(a,!0),l=h(a,2);A(l),q(l,!c(w));var u=h(l,2);{let e=M(()=>i.login.t(`password_hint`,{minimum:c(d)}));xe(u,{get login(){return i.login},field:`password`,get hint(){return c(e)}})}B(n);var m=h(n,2);let _;var v=f(m),y=U(v,!0),b=h(v,2);A(b),xe(h(b,2),{get login(){return i.login},field:`password_confirmation`}),B(m),p((e,t)=>{r=X(n,1,`ledger-row ledger-step`,null,r,{"ledger-step-done":c(ee)}),R(o,e),_=X(m,1,`ledger-row ledger-step`,null,_,{"ledger-step-done":c(H)}),R(y,t)},[()=>i.login.t(`password`),()=>i.login.t(`confirm`)]),z(l,()=>c(j),e=>T(j,e)),z(b,()=>c(F),e=>T(F,e)),s(e,t)};u(oe,e=>{c(E)&&e(se)}),B(ne);var ce=h(ne,2),le=e=>{{let t=M(()=>i.login.loading&&!c(L)),n=M(()=>i.login.t(`working`));Q(e,{get login(){return i.login},type:`submit`,get ready(){return c(H)},get busy(){return c(t)},get label(){return c(y)},get working(){return c(n)}})}};u(ce,e=>{c(E)&&e(le)}),B(Z);var ue=h(Z,2),de=e=>{var t=$n(),n=f(t),r=U(n),a=h(n,2);{let e=M(()=>i.login.t(`create_passkey`)),t=M(()=>i.login.t(`waiting_for_passkey`));Q(a,{get login(){return i.login},get busy(){return c(L)},get label(){return c(e)},get working(){return c(t)},onclick:G})}var o=h(a,2),l=e=>{var t=Zn(),n=U(t,!0);p(e=>R(n,e),[()=>i.login.t(`passkey_hint`)]),s(e,t)};u(o,e=>{c(L)&&e(l)});var d=h(o,2),m=e=>{var t=Qn(),n=U(t,!0);p(()=>R(n,c(V))),s(e,t)};u(d,e=>{c(V)&&e(m)}),B(t),p((e,t)=>R(r,`${e??``} ${t??``}`),[()=>i.login.t(`passkey_lede`),()=>i.login.t(`passkey_later`)]),s(e,t)},fe=e=>{var t=er(),n=U(t,!0);p(e=>R(n,e),[()=>i.login.t(`no_passkeys`)]),s(e,t)};u(ue,e=>{c(k)?e(de):c(o).password||e(fe,1)});var pe=h(ue,2),me=e=>{var t=nr(),n=f(t),r=h(n),a=e=>{var t=tr(),n=U(t,!0);p(e=>{N(t,`href`,c(m)),R(n,e)},[()=>i.login.t(`docs`)]),s(e,t)};u(r,e=>{c(m)&&e(a)}),B(t),p(e=>R(n,`${e??``} `),[()=>i.login.t(`once`)]),s(e,t)};u(pe,e=>{c(l)&&e(me)}),B(K),p(()=>{Y=X(K,1,`setup flow`,null,Y,{"setup-ready":c(E)?c(H):c(k)}),N(Z,`aria-busy`,i.login.loading||void 0)}),b(`submit`,Z,W),s(n,K),I()}m([`click`]);var ar=v(`<a class="textlink" rel="noopener" target="_blank"> </a>`),or=v(`<div><!> <form class="flow"><div class="slab"><label><span class="ledger-label"> </span> <input type="text" name="called" class="control"/> <span class="field-hint"> </span></label> <div class="ledger-row"><span class="ledger-label"> </span> <span class="ledger-value aside-mono"> </span></div></div> <!></form> <p class="aside"> <!></p></div>`);function sr(e,t){O(t,!0);let n=M(()=>t.login.auth.docs),r=typeof location>`u`?``:location.origin,i=D(E(C(()=>t.login.auth.configure?.called??``))),a=M(()=>c(i).trim().length>0);function o(e){e.preventDefault(),c(a)&&!t.login.loading&&t.login.submit(`setup-configure`,{called:c(i)})}var l=or();let d;var m=f(l);{let e=M(()=>t.login.actor?.identifier??``);Fe(m,{get login(){return t.login},at:3,get mark(){return c(e)}})}var g=h(m,2),_=f(g),v=f(_);let y;var x=f(v),S=U(x,!0),w=h(x,2);A(w),q(w,!0);var k=h(w,2),j=U(k,!0);B(v);var P=h(v,2),F=f(P),L=U(F,!0),V=h(F,2),ee=U(V,!0);B(P),B(_);var H=h(_,2);{let e=M(()=>t.login.t(`submit`)),n=M(()=>t.login.t(`working`));Q(H,{get login(){return t.login},type:`submit`,get ready(){return c(a)},get busy(){return t.login.loading},get label(){return c(e)},get working(){return c(n)}})}B(g);var W=h(g,2),G=f(W),K=h(G),J=e=>{var r=ar(),i=U(r,!0);p(e=>{N(r,`href`,c(n)),R(i,e)},[()=>t.login.t(`docs`)]),s(e,r)};u(K,e=>{c(n)&&e(J)}),B(W),B(l),p((e,n,i,o)=>{d=X(l,1,`setup flow`,null,d,{"setup-ready":c(a)}),N(g,`aria-busy`,t.login.loading||void 0),y=X(v,1,`ledger-row ledger-step`,null,y,{"ledger-step-done":c(a)}),R(S,e),R(j,n),R(L,i),R(ee,r),R(G,`${o??``} `)},[()=>t.login.t(`called`),()=>t.login.t(`called_hint`),()=>t.login.t(`origin`),()=>t.login.t(`once`)]),b(`submit`,g,o),z(w,()=>c(i),e=>T(i,e)),s(e,l),I()}var cr=v(`<div class="over"><!> <!></div>`),lr=v(`<!> <div><!></div>`,1);function ur(e,t){O(t,!0);let n={signup:Kn,"signup-credentials":ir,"setup-configure":sr,"accept-invitation":we,identify:Yt,"prove-email":$t,"reset-password":tn,"first-factor":Wt,"email-code":Lt,"second-factor":dn,"backup-code":tt,enrol:$e,"confirm-email":En,"confirm-phone":An,"add-phone":bn,"awaiting-approval":Sn,"choose-organization":dt,consent:Mt,settled:mn},r=ce(C(()=>t.auth)),i=M(()=>n[r.prompt]),a=D(null),o=D(!1),l=D(0),m=()=>typeof matchMedia==`function`&&matchMedia(`(prefers-reduced-motion: reduce)`).matches;w(()=>{r.prompt;let e=C(()=>m()?0:c(a)?.offsetHeight??0);T(l,e,!0),T(o,e>0)}),S(()=>{let e=r.auth.surface??`challenge`,t=r.prompt===`settled`&&!!r.client?.name,n=document.querySelector(`.auth-col`);if(n){for(let t of[`challenge`,`grant`])n.classList.toggle(`surface-${t}`,t===e);document.querySelector(`.auth-id`)?.toggleAttribute(`hidden`,e!==`challenge`||t)}}),S(()=>{r.prompt;let e=c(a),t=C(()=>c(l));if(!e||!t)return;let n=e.offsetHeight;n!==t&&(e.classList.add(`gate-moving`),e.animate([{height:`${t}px`},{height:`${n}px`}],{duration:300,easing:`cubic-bezier(0.2, 0.8, 0.2, 1)`}).finished.catch(()=>{}).then(()=>e.classList.remove(`gate-moving`)));let i=setTimeout(()=>{T(o,!1)},500);return()=>clearTimeout(i)});var _=lr(),v=g(_);ve(v,{get login(){return r}});var y=h(v,2);let b;var x=f(y);d(x,()=>r.prompt,e=>{var t=L(),n=g(t),a=e=>{var t=L(),n=g(t);Y(n,()=>c(i),(e,t)=>{t(e,{get login(){return r}})}),s(e,t)},o=e=>{var t=cr(),n=f(t);{let e=M(()=>r.t(`halted`)),t=M(()=>r.t(`halted_lede`));$(n,{get login(){return r},tone:`bad`,get title(){return c(e)},get lede(){return c(t)}})}var i=h(n,2);{let e=M(()=>r.t(`start_over`)),t=M(()=>r.t(`working`));Q(i,{get login(){return r},quiet:!0,get label(){return c(e)},get working(){return c(t)},get busy(){return r.loading},onclick:()=>r.startOver()})}B(t),s(e,t)};u(n,e=>{c(i)?e(a):e(o,-1)}),s(e,t)}),B(y),H(y,e=>T(a,e),()=>c(a)),p(()=>b=X(y,1,`gate`,null,b,{"gate-enter":c(o)})),s(e,_),I()}var dr=document.getElementById(`login`);if(dr){let e=JSON.parse(dr.dataset.auth);dr.replaceChildren(),y(ur,{target:dr,props:{auth:e}})}
|
|
4
|
-
//# sourceMappingURL=login-CNs1UpxJ.js.map
|