.mn-btn { display: inline-flex; align-items: center; justify-content: center; gap: var(--mn-space-2); padding: var(--mn-space-3) var(--mn-space-6); cursor: pointer; text-decoration: none; touch-action: manipulation; font: var(--mn-weight-semibold) var(--mn-text-sm)/var(--mn-leading-10) var(--mn-font-body); border: var(--mn-border-1) solid transparent; border-radius: var(--mn-radius-sm); transition: background var(--mn-dur-xs) ease, color var(--mn-dur-xs) ease, transform var(--mn-dur-xs) ease, opacity var(--mn-dur-xs) ease; }
.mn-btn--primary { background: var(--mn-violet); color: var(--mn-white); }
@media (hover: hover) {
  .mn-btn--primary:hover { background: var(--mn-violet-strong); color: var(--mn-white); }
}
.mn-btn--primary:active { background: var(--mn-violet-strong); transform: scale(var(--mn-scale-95)); }
.mn-btn:focus-visible { box-shadow: 0 0 0 var(--mn-space-1) var(--mn-dark-fg); outline: var(--mn-border-2) solid var(--mn-ink); outline-offset: var(--mn-space-1); }
.mn-btn:disabled:hover, .mn-btn[aria-disabled="true"]:hover { background: var(--mn-violet); color: var(--mn-white); }
.mn-btn--on-violet { background: var(--mn-white); color: var(--mn-violet); }
.mn-btn--on-violet:active { background: var(--mn-violet-tint); transform: scale(var(--mn-scale-95)); }
@media (hover: hover) {
  .mn-btn--on-violet:hover { background: var(--mn-violet-tint); color: var(--mn-violet-strong); }
}
.mn-btn--on-violet:disabled:hover, .mn-btn--on-violet[aria-disabled="true"]:hover { background: var(--mn-white); color: var(--mn-violet); }
.mn-btn:disabled, .mn-btn[aria-disabled="true"] { opacity: var(--mn-opacity-50); cursor: not-allowed; transform: none; }
.mn-btn[data-busy] { opacity: var(--mn-opacity-70); cursor: progress; }
@media (prefers-reduced-motion: reduce) {
  .mn-btn--primary:active, .mn-btn--on-violet:active { transform: none; }
}

.mn-field { display: flex; flex-direction: column; text-align: left; }
.mn-label { font: var(--mn-weight-medium) var(--mn-text-sm)/var(--mn-leading-14) var(--mn-font-body); color: var(--mn-dark-fg); margin-bottom: var(--mn-space-1); }
.mn-label-req, .mn-label-opt { font-weight: var(--mn-weight-regular); color: var(--mn-on-violet-muted); }
.mn-input { padding: var(--mn-space-3) var(--mn-space-4); font: var(--mn-weight-regular) var(--mn-text-body)/var(--mn-leading-10) var(--mn-font-body); color: var(--mn-ink); background-color: var(--mn-surface); border: var(--mn-border-1) solid var(--mn-faint); border-radius: var(--mn-radius-sm); transition: border-color var(--mn-dur-xs) ease, box-shadow var(--mn-dur-xs) ease, background var(--mn-dur-xs) ease; }
.mn-input::placeholder { color: var(--mn-faint); opacity: 1; }
@media (hover: hover) {
  .mn-input:hover:not(:focus):not(:disabled):not(:user-invalid):not([aria-invalid="true"]) { border-color: var(--mn-muted); }
}
.mn-input:focus { outline: none; border-color: var(--mn-violet); box-shadow: 0 0 0 var(--mn-effect-1) var(--mn-violet-tint); }
.mn-input:user-invalid { border-color: var(--mn-coral-ink); box-shadow: 0 0 0 var(--mn-effect-1) var(--mn-coral-tint); }
.mn-input:disabled { opacity: var(--mn-opacity-60); cursor: not-allowed; background: var(--mn-hairline); }
.mn-input:read-only:not(:disabled) { background: var(--mn-hairline); }
.mn-input:-webkit-autofill, .mn-input:-webkit-autofill:hover, .mn-input:-webkit-autofill:focus { -webkit-text-fill-color: var(--mn-ink); -webkit-box-shadow: 0 0 0 var(--mn-effect-26) var(--mn-surface) inset; caret-color: var(--mn-ink); }
.mn-input:user-valid:not(:focus):not(:placeholder-shown) { border-color: var(--mn-teal-ink); }
.mn-form-note { margin: 0; font: var(--mn-weight-regular) var(--mn-text-xs)/var(--mn-leading-15) var(--mn-font-body); color: var(--mn-dark-fg); }
.mn-form-note a { color: inherit; text-decoration: underline; }
.mn-form-error { margin: 0; font: var(--mn-weight-medium) var(--mn-text-xs)/var(--mn-leading-15) var(--mn-font-body); color: var(--mn-white); display: flex; gap: var(--mn-space-2); align-items: flex-start; text-align: left; width: 100%; }
.mn-form-error::before { content: ""; flex: none; width: var(--mn-size-4); height: var(--mn-size-4); margin-top: 1px; background: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A//www.w3.org/2000/svg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27%23fff%27%20stroke-width%3D%272.4%27%20stroke-linecap%3D%27round%27%3E%3Ccircle%20cx%3D%2712%27%20cy%3D%2712%27%20r%3D%2710%27/%3E%3Cpath%20d%3D%27M12%208v5M12%2016.5v.01%27/%3E%3C/svg%3E") center / contain no-repeat; }
.mn-form-error[hidden] { display: none; }

:where(a, button, summary, input, select, textarea, [tabindex="0"]):focus-visible { outline: var(--mn-border-2) solid var(--mn-focus-ring); outline-offset: var(--mn-space-1); }
.skip-link { position: absolute; left: -999px; top: 0; background: var(--mn-ink); color: var(--mn-white); padding: var(--mn-space-2) var(--mn-space-4); border-radius: 0 0 var(--mn-radius-sm) 0; z-index: var(--mn-layer-skip); }
.skip-link:focus { left: 0; }

.mn-prose a { color: var(--bl-link); text-decoration: underline; text-underline-offset: var(--mn-space-1); text-decoration-thickness: var(--mn-border-1); text-decoration-color: var(--mn-link-underline); transition: color var(--mn-dur-xs) ease, text-decoration-color var(--mn-dur-xs) ease; }
.mn-prose a:visited { color: var(--bl-link-visited); }
.mn-prose a:hover { color: var(--bl-link-hover); text-decoration-color: currentColor; }
.mn-prose a:active { color: var(--bl-link-active); text-decoration-color: currentColor; }
.mn-faq-a a, .mn-privacy-body a { text-decoration: underline; text-underline-offset: var(--mn-space-1); text-decoration-thickness: var(--mn-border-1); text-decoration-color: var(--mn-link-underline); }
.mn-faq-a a:hover, .mn-privacy-body a:hover { text-decoration-color: currentColor; }

.visually-hidden { position: absolute !important; width: 1px !important; height: 1px !important; margin: -1px !important; padding: 0 !important; overflow: hidden !important; clip: rect(0 0 0 0) !important; white-space: nowrap !important; border: 0 !important; }

.mn-h1 { color: var(--mn-violet-ink); font: var(--mn-weight-semibold) var(--mn-text-display)/var(--mn-leading-11) var(--mn-font-display); letter-spacing: var(--mn-tracking-minus-3); text-wrap: balance; margin: 0; }
.mn-h2 { margin: 0; font: var(--mn-weight-semibold) var(--mn-text-h2)/var(--mn-leading-11) var(--mn-font-display); letter-spacing: var(--mn-tracking-minus-3); color: var(--mn-violet-ink); }
.mn-h2--on-dark { color: var(--mn-white); }
.mn-h3 { margin: 0; font: var(--mn-weight-semibold) var(--mn-text-h3)/var(--mn-leading-12) var(--mn-font-display); letter-spacing: var(--mn-tracking-minus-2); color: var(--mn-ink); }
.mn-lead { margin: 0; font: var(--mn-weight-regular) var(--mn-text-lead)/var(--mn-leading-16) var(--mn-font-body); color: var(--mn-muted); max-width: var(--mn-measure-56); }
.mn-eyebrow { font-weight: var(--mn-weight-semibold); font-size: var(--mn-text-xs); font-family: var(--mn-font-body); text-transform: uppercase; }
.mn-prose { font-size: var(--bl-text); line-height: var(--bl-lh); color: var(--mn-ink); }

.mn-container { width: 100%; max-width: var(--mn-container-max); margin-inline: auto; padding-inline: var(--mn-gutter); }
.mn-container--narrow { max-width: var(--mn-size-225); }
.mn-section { padding: var(--mn-section-y) 0; }
.mn-section--surface { background: var(--mn-surface); }
.mn-section-head { position: relative; z-index: 1; display: flex; flex-direction: column; gap: var(--mn-space-4); margin-block-end: var(--mn-space-6); }
.mn-section-head:has(.mn-lead) { margin-block-end: var(--mn-space-12); }
.mn-toc { margin: 0 0 var(--mn-space-10); }
.mn-toc-head { margin: 0 0 var(--mn-space-3); line-height: var(--mn-leading-10); letter-spacing: var(--mn-tracking-8); color: var(--mn-faint); }
.mn-toc-list { margin: 0; padding: 0; list-style: none; display: flex; flex-direction: column; gap: var(--mn-space-3); }
.mn-toc-list a { display: block; padding-inline-start: var(--mn-space-3); font: var(--mn-weight-medium) var(--mn-text-sm)/var(--mn-leading-14) var(--mn-font-body); color: var(--mn-muted); text-decoration: none; border-left: var(--mn-border-2) solid var(--mn-hairline); }
.mn-toc-list a:hover, .mn-toc-list a:focus-visible { color: var(--mn-violet); border-left-color: var(--mn-violet); }
.mn-toc-split { display: block; }
@media (min-width: 861px) {
  .mn-toc-split { display: grid; grid-template-columns: var(--mn-size-50) minmax(0, 1fr); gap: var(--mn-space-14); align-items: start; }
  .mn-toc-split > .mn-toc { position: sticky; top: calc(var(--mn-nav-h) + var(--mn-space-6)); margin: 0; }
}
