/* Registration only. Native form/audio controls remain usable without JavaScript. */
.registration-challenge { min-inline-size: 0; margin: .25rem 0; padding: 1.1rem; border: 1px solid rgba(168,85,247,.28); border-radius: 1rem; background: rgba(22,16,37,.6); }
.registration-challenge legend { padding-inline: .45rem; color: #f8f5ff; font-weight: 700; font-size: .9rem; }
.registration-challenge > .field-hint { margin: 0 0 .9rem; line-height: 1.9; }
.challenge-image { display: block; inline-size: 100%; max-inline-size: 288px; block-size: auto; margin: .2rem auto 1rem; border: 1px solid rgba(255,216,77,.2); border-radius: .6rem; }
.challenge-answer { font-variant-numeric: tabular-nums; letter-spacing: .35em; font-size: 1.3rem; text-align: center; }
.challenge-audio { margin-block: .85rem; }
.challenge-audio summary { cursor: pointer; color: #ded0fc; font-size: .85rem; padding-block: .35rem; }
.challenge-audio audio { display: block; inline-size: 100%; block-size: 42px; margin-block-start: .6rem; }
.challenge-refresh { margin-block: .2rem .7rem; }
.challenge-support { display: block; font-size: .75rem; line-height: 1.9; color: #beb2cf; }
.registration-trap { position: absolute; inline-size: 1px; block-size: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.registration-challenge :is(summary,a,button,input):focus-visible { outline: 2px solid #ffd84d; outline-offset: 4px; }
@media (max-width: 430px) { .registration-challenge { padding: .85rem; } }
