.murelle-otp{max-width:28rem;margin:2rem auto;padding:clamp(1.5rem,5vw,2.5rem);border:1px solid var(--color-border);border-radius:var(--radius-tile,1.5rem);background:var(--color-surface)}
.murelle-otp__mark{color:var(--color-ink);font-size:1.75rem;font-weight:900;margin-bottom:1.25rem}
.murelle-otp h2{font-size:1.5rem;margin-bottom:.75rem}.murelle-otp p{line-height:1.9}
.murelle-otp form{margin-top:1.5rem}.murelle-otp [hidden]{display:none!important}
.murelle-otp .field{display:block;margin-bottom:1rem}.murelle-otp input{width:100%;min-height:3rem;margin-top:.5rem;font-size:1.125rem;letter-spacing:.05em;border:1px solid var(--color-border);border-radius:var(--radius-button);padding:.75rem;background:var(--color-canvas);color:var(--color-ink)}
.murelle-otp .btn{width:100%;min-height:3rem}.murelle-otp__actions{display:flex;justify-content:space-between;gap:.5rem;margin-top:.75rem}
.murelle-otp__actions button{min-height:44px;color:var(--color-ink);font-size:.85rem;text-decoration:underline}
.murelle-otp button:disabled{opacity:.55;cursor:wait}.murelle-otp__status{min-height:1.75rem;color:var(--color-danger);margin-top:1rem;font-size:.875rem}
.murelle-otp__note,[data-otp-timer]{font-size:.8rem;color:var(--color-muted)}

.murelle-otp input:focus-visible{outline:2px solid var(--color-ink);outline-offset:2px}
