.guest-discovery { margin: 0 0 20px; max-width: 540px; }
.guest-discovery__mode { display: block; min-height: 44px; margin: 0 0 8px; padding: 0; border: 0; background: transparent; color: inherit; font: inherit; font-size: 14px; text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
.guest-discovery__manual { margin: 0; padding: 0; border: 0; min-width: 0; }
.guest-discovery__manual label { display: block; margin: 0 0 8px; font-size: 14px; }
.guest-discovery__manual input, .guest-discovery__manual textarea { box-sizing: border-box; display: block; width: 100%; min-width: 0; margin: 0 0 14px; padding: 12px 14px; border: 1px solid #a5b3a6; border-radius: 6px; background: var(--white); color: var(--ink); font: inherit; font-size: 16px; }
.guest-discovery__manual textarea { resize: vertical; }
.guest-discovery__manual :is(input, textarea):focus-visible, .guest-discovery__mode:focus-visible { outline: 3px solid #b4d3bd; outline-offset: 3px; }
.guest-discovery > label { display: block; font-size: 14px; margin-bottom: 8px; }
.guest-discovery__entry { display: flex; flex-wrap: wrap; gap: 10px; }
.guest-discovery__entry input { flex: 1 1 210px; min-width: 0; width: 100%; border: 1px solid #a5b3a6; border-radius: 6px; background: var(--white); color: var(--ink); padding: 14px; font: inherit; font-size: 16px; }
.guest-discovery__entry input:focus-visible { outline: 3px solid #b4d3bd; outline-offset: 3px; }
.guest-discovery__entry input[aria-invalid="true"] { border-color: #ffe2bd; }
.guest-discovery__error { margin: 8px 0 0; color: #ffe2bd; font-size: 14px; }
.guest-discovery__error:empty { display: none; }
.guest-discovery__entry button { flex: 1 0 auto; min-width: 0; max-width: 100%; }
.guest-discovery__entry button:disabled { opacity: .7; cursor: not-allowed; }
.guest-discovery__next { margin: 10px 0 0; font-size: 14px; color: #dce1d5; }
.guest-discovery [data-discovery-challenge] { margin-top: 14px; min-height: 65px; }
.guest-discovery__status, .guest-discovery__recovery { margin: 8px 0 0; font-size: 14px; }
.guest-discovery__status:empty { display: none; }
.guest-discovery__status[data-error="true"] { color: #ffe2bd; }
.guest-discovery__resume { display: inline-block; margin-top: 12px; font-size: 14px; }

.guest-discovery :is([data-discovery-retry], [data-discovery-cancel])[hidden] { display: none; }
