.mButton{--mButton-from:var(--m-primary);--mButton-to:var(--m-primary-deep);--mButton-depth:5px;--mButton-shade:color-mix(in srgb, var(--mButton-to) 55%, #000);position:relative;z-index:0;display:flex;align-items:center;justify-content:center;gap:8px;width:100%;border:0;background:transparent;color:var(--m-on-primary);font-family:inherit;font-weight:var(--m-weight-bold);cursor:pointer;margin-bottom:var(--mButton-depth);transition:transform .08s ease,filter .15s ease}.mButton:before{content:"";position:absolute;inset:0;z-index:-1;border-radius:10px;background:linear-gradient(97deg,var(--mButton-from) 36%,var(--mButton-to) 118%);box-shadow:0 var(--mButton-depth) 0 var(--mButton-shade);transform:skew(-20deg);transition:box-shadow .08s ease}.mButton--s{padding:9px 14px;font-size:var(--m-font-md)}.mButton--m{padding:13px 16px;font-size:var(--m-font-lg)}.mButton--l{padding:16px 20px;font-size:var(--m-font-xl)}.mButton--success{--mButton-from:var(--m-success);--mButton-to:var(--m-success-deep);color:var(--m-bg-app)}.mButton--gold{--mButton-from:var(--m-gold);--mButton-to:var(--m-gold-deep);color:var(--m-surface)}.mButton--danger{--mButton-from:var(--m-error);--mButton-to:var(--m-error-deep)}.mButton--ghost{margin-bottom:0;color:var(--m-text-muted);font-weight:var(--m-weight-bold)}.mButton--ghost:before{content:none}.mButton--ghost:active:not(:disabled){transform:none}.mButton.is-inline{width:auto}.mButton.is-uppercase{text-transform:uppercase;letter-spacing:.02em}.mButton:hover:not(:disabled){filter:brightness(1.1)}.mButton.is-pressed,.mButton:active:not(:disabled){transform:translateY(calc(var(--mButton-depth) - 1px))}.mButton.is-pressed:before,.mButton:active:not(:disabled):before{box-shadow:0 1px 0 var(--mButton-shade)}.mButton:disabled{cursor:not-allowed;filter:grayscale(.6);opacity:.55}.mButton:disabled:before{box-shadow:0 2px 0 var(--mButton-shade)}.mButton.is-shining:after{content:"";position:absolute;inset:0;border-radius:10px;transform:skew(-20deg);background:linear-gradient(100deg,transparent 30%,hsla(0,0%,100%,.5) 50%,transparent 70%);background-size:250% 100%;background-position:250% 0;animation:mButton-shine 3.2s ease-in-out infinite;pointer-events:none}.mButton-spinner{width:18px;height:18px;border:2px solid var(--m-overlay-4);border-top-color:currentcolor;border-radius:50%;animation:mButton-spin .7s linear infinite}@media(prefers-reduced-motion:reduce){.mButton.is-shining:after{animation:none}}@keyframes mButton-shine{0%,45%{background-position:250% 0}70%,to{background-position:-60% 0}}@keyframes mButton-spin{to{transform:rotate(1turn)}}
