.tvxsl { max-width: 34rem; }
.tvxsl-field,
.tvxsl #tvxsl-code-wrap,
.tvxsl #tvxsl-password-wrap { margin-block: 1rem; }
.tvxsl label { display: block; font-weight: 600; margin-bottom: .35rem; }
.tvxsl input { box-sizing: border-box; width: 100%; min-height: 2.75rem; font: inherit; padding: .55rem .7rem; }
.tvxsl button { font: inherit; min-height: 2.75rem; padding: .55rem .9rem; cursor: pointer; }
.tvxsl button:focus-visible,
.tvxsl input:focus-visible,
.tvxsl a:focus-visible { outline: 3px solid currentColor; outline-offset: 3px; }
.tvxsl-primary,
.tvxsl-secondary { display: block; width: 100%; margin-block: .65rem; text-align: center; }
.tvxsl-help { font-size: .95em; }
.tvxsl-status:not(:empty),
.tvxsl-error:not(:empty) { padding: .75rem; border: 2px solid currentColor; margin-block: .75rem; }
.tvxsl-link { background: none; border: 0; text-decoration: underline; padding-inline: 0; }
.tvxsl-passkey-choice { border: 2px solid currentColor; border-radius: .35rem; padding: 1rem; margin-block: 1rem; }
.tvxsl-passkey-choice h3 { margin-top: 0; }
.tvxsl-passkey-choice button { display: block; width: 100%; text-align: center; }
.tvxsl .screen-reader-text { border: 0; clip: rect(1px, 1px, 1px, 1px); clip-path: inset(50%); height: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute; width: 1px; word-wrap: normal !important; }
.tvxsl [hidden] { display: none !important; }
@media (prefers-reduced-motion: reduce) {
    .tvxsl * { scroll-behavior: auto !important; transition: none !important; }
}
