.kf-magic{max-width:420px;margin:1rem auto;box-sizing:border-box}
section.kf-magic{padding:1.5rem;border:1px solid #dcdcde;border-radius:8px;background:#fff}
.kf-magic__title{margin:0 0 .75rem;font-size:1.4rem}
.kf-magic--compact{border-top:1px solid #dcdcde;padding-top:.75rem}
.kf-magic__summary{cursor:pointer;color:#2271b1;font-size:.95em;min-height:44px;display:flex;align-items:center}
.kf-magic__summary:focus-visible{outline:3px solid #72aee6;outline-offset:2px}
.kf-magic__intro{color:#50575e;font-size:.9em}
.kf-magic__field{display:flex;flex-direction:column;gap:.35rem;margin:0 0 1rem}
.kf-magic__field input{min-height:44px;padding:.5em .75em;border:1px solid #8c8f94;border-radius:6px;font:inherit;width:100%;box-sizing:border-box}
.kf-magic__field input[aria-invalid=true]{border-color:#d63638;box-shadow:0 0 0 1px #d63638}
.kf-magic__field input:focus-visible{outline:3px solid #72aee6;outline-offset:1px}
.kf-magic__actions{display:flex;flex-wrap:wrap;gap:.5rem}
.kf-magic__actions .kf-button{flex:1 1 auto}
.kf-magic__message{margin:0 0 1rem;padding:.6em .9em;border-radius:6px;border-left:4px solid}
.kf-magic__message[data-type=error]{background:#fcf0f1;border-color:#d63638;color:#8a2424}
.kf-magic__message[data-type=success]{background:#edfaef;border-color:#00a32a;color:#1e4620}
.kf-magic__message[data-type=info]{background:#f0f6fc;border-color:#2271b1;color:#0a4b78}
.kf-magic__countdown{font-variant-numeric:tabular-nums}
