.mff-form{--mff-accent: #1f6feb;--mff-accent-ink: #fff;--mff-ink: #16202c;--mff-muted: #5b6b7b;--mff-line: #d7dee6;--mff-bg: #fff;--mff-radius: 14px;position:relative;box-sizing:border-box;max-width:680px;margin:0 auto;padding:28px 20px 24px;min-height:420px;display:flex;flex-direction:column;background:var(--mff-bg);color:var(--mff-ink);font-family:inherit;border-radius:var(--mff-radius);overflow:hidden}.mff-form *,.mff-form *:before,.mff-form *:after{box-sizing:border-box}.mff-progress{height:6px;border-radius:99px;background:var(--mff-line);overflow:hidden;margin-bottom:28px}.mff-progress__bar{height:100%;width:100%;transform:scaleX(0);transform-origin:left center;background:var(--mff-accent);border-radius:99px}.mff-hp{position:absolute!important;left:-9999px!important;top:-9999px!important;width:1px;height:1px;opacity:0;pointer-events:none}.mff-host{flex:1 1 auto;display:flex;align-items:flex-start}.mff-step{width:100%}.mff-step__label{display:block;font-size:1.45rem;line-height:1.25;font-weight:700;margin:0 0 6px}.mff-step__desc{margin:0 0 18px;color:var(--mff-muted);font-size:.98rem}.mff-step__field{margin-top:14px}.mff-intro{font-size:1.12rem;line-height:1.55;color:var(--mff-muted)}.mff-intro strong{color:var(--mff-ink)}.mff-intro p{margin:0 0 12px}.mff-input{width:100%;padding:20px;font-size:1.25rem;line-height:1.3;color:var(--mff-ink);background:#fff;border:2px solid var(--mff-line);border-radius:12px;outline:none;transition:border-color .15s ease}.mff-input:focus{border-color:var(--mff-accent)}.mff-input--textarea{resize:vertical;min-height:120px}.mff-name-grid{display:grid;grid-template-columns:1fr;gap:12px}.mff-options{display:flex;flex-direction:column;gap:10px}.mff-option{display:flex;align-items:center;gap:12px;width:100%;padding:15px 16px;font-size:1.08rem;text-align:left;color:var(--mff-ink);background:#fff;border:2px solid var(--mff-line);border-radius:12px;cursor:pointer;transition:border-color .12s ease,background .12s ease,transform .05s ease}.mff-option:hover{border-color:var(--mff-accent)}.mff-option:active{transform:translateY(1px)}.mff-option.is-selected{border-color:var(--mff-accent);background:#1f6feb14}.mff-option:focus-visible{outline:3px solid rgba(31,111,235,.35);outline-offset:2px}.mff-option__key{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;flex:0 0 auto;font-size:.85rem;font-weight:700;color:var(--mff-muted);background:var(--mff-line);border-radius:7px}.mff-option.is-selected .mff-option__key{color:var(--mff-accent-ink);background:var(--mff-accent)}.mff-hint{margin:12px 2px 0;font-size:.85rem;color:var(--mff-muted)}.mff-group__item+.mff-group__item{margin-top:22px}.mff-group__item .mff-step__label{font-size:1.05rem;font-weight:600}.mff-group__item .mff-step__desc{margin-bottom:10px}.mff-group__item .mff-step__field{margin-top:8px}.mff-consent{display:flex;align-items:flex-start;gap:12px;cursor:pointer;font-size:1.05rem;line-height:1.4}.mff-consent__box{width:24px;height:24px;margin-top:2px;flex:0 0 auto;accent-color:var(--mff-accent)}.mff-consent__text a{color:var(--mff-accent);text-decoration:underline}.mff-error{min-height:22px;margin:14px 2px 0;font-size:.95rem;color:#b32d2e;opacity:0;transition:opacity .15s ease}.mff-error.is-visible{opacity:1}.mff-nav{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:24px}.mff-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;border-radius:12px;padding:14px 26px;font-size:1.05rem;font-weight:600;cursor:pointer;font-family:inherit;transition:background .15s ease,opacity .15s ease}.mff-btn--primary{background:var(--mff-accent);color:var(--mff-accent-ink);margin-left:auto}.mff-btn--primary:hover{background:#1a5fd0}.mff-btn--primary:disabled{opacity:.6;cursor:default}.mff-btn--ghost{background:transparent;color:var(--mff-muted);padding-left:8px;padding-right:8px}.mff-btn--ghost:hover{color:var(--mff-ink)}.mff-success{margin:auto;text-align:center;padding:40px 10px}.mff-success__check{width:72px;height:72px;margin:0 auto 18px;display:flex;align-items:center;justify-content:center;font-size:2.2rem;color:#fff;background:#2e9e5b;border-radius:50%}.mff-success__text{font-size:1.3rem;font-weight:600;margin:0}@media (max-width: 540px){.mff-form{padding:20px 16px;border-radius:0}.mff-step__label{font-size:1.25rem}}
