.vmai-button{--_px:var(--space-4);--_y:0;--_s:1;--_shadow:none;justify-content:center;align-items:center;gap:var(--space-2);box-sizing:border-box;min-block-size:var(--control-height);max-inline-size:100%;padding-block:var(--space-1);padding-inline:var(--_px);border:var(--border-width) solid transparent;border-radius:var(--radius-md);box-shadow:var(--_shadow);font-family:var(--font-ui);font-size:var(--text-sm);font-weight:500;line-height:var(--leading-title);color:var(--color-text);text-align:center;white-space:nowrap;cursor:pointer;-webkit-user-select:none;user-select:none;isolation:isolate;-webkit-tap-highlight-color:transparent;touch-action:manipulation;outline:var(--focus-width) solid transparent;outline-offset:var(--focus-width);transform:translateY(var(--_y)) scale(var(--_s));transition-property:transform,background-color,background-position,border-color,color,box-shadow,opacity;transition-duration:var(--duration-press);transition-timing-function:var(--ease-out);text-decoration:none;display:inline-flex;position:relative}.vmai-button--lead{padding-inline-start:calc(var(--_px) - var(--space-1))}.vmai-button--trail{padding-inline-end:calc(var(--_px) - var(--space-1))}.vmai-button--phone{min-block-size:max(var(--control-height-phone), var(--hit-min));font-size:var(--text-md)}.vmai-button[data-size=sm]{--_px:var(--space-3);min-block-size:var(--control-height-sm);gap:calc(var(--space-1) * 1.5);border-radius:var(--control-radius-sm);font-size:var(--text-xs)}.vmai-button[data-size=md]{--_px:var(--space-5);min-block-size:var(--control-height-md);border-radius:var(--control-radius-md);font-size:var(--text-sm)}.vmai-button[data-size=lg]{--_px:var(--space-6);min-block-size:var(--control-height-lg);gap:calc(var(--space-1) * 2.5);border-radius:var(--control-radius-lg);font-size:var(--text-md)}.vmai-button--phone[data-size=sm]{min-block-size:max(var(--hit-min), var(--control-height-sm));font-size:var(--text-md)}.vmai-button--phone[data-size=md]{min-block-size:max(var(--hit-min), var(--control-height-md));font-size:var(--text-md)}.vmai-button--phone[data-size=lg]{min-block-size:max(var(--hit-min), var(--control-height-lg));font-size:var(--text-md)}@media (pointer:coarse){.vmai-button[data-size=sm]:before{content:"";inset:calc(var(--space-1) * -1.5) calc(var(--space-1) * -.5);position:absolute}}.vmai-button--phone[data-variant=primary]:not([data-size]){inline-size:100%}.vmai-button--block{inline-size:100%;display:flex}.vmai-button:focus-visible{box-shadow:var(--v-ring), var(--_shadow);outline-color:#0000}.vmai-button__label{align-items:center;gap:var(--space-1);min-inline-size:0;padding-block-start:var(--border-width);display:inline-flex}.vmai-button[data-variant=primary]{--_shadow:inset 0 var(--border-width) 0 color-mix(in srgb, var(--color-on-scrim) 28%, transparent), var(--shadow-btn-glow);background-image:linear-gradient(180deg, color-mix(in srgb, var(--color-on-scrim) 22%, transparent) 0%, transparent 42%, color-mix(in srgb, var(--color-bg) 12%, transparent) 100%), linear-gradient(118deg, var(--color-brand-from) 0%, var(--color-accent) 46%, var(--color-brand-to) 100%);color:var(--color-on-scrim);border-color:color-mix(in srgb, var(--color-on-scrim) 18%, var(--color-brand-to));transition-duration:var(--duration-press), var(--duration-press), var(--duration-lock), var(--duration-press), var(--duration-press), var(--duration-press), var(--duration-press);background-position:0 0,0%;background-repeat:no-repeat;background-size:100% 100%,180% 100%;font-weight:700}.vmai-button[data-variant=primary]:after{z-index:1;background-image:linear-gradient(105deg, transparent 32%, color-mix(in srgb, var(--color-on-scrim) 28%, transparent) 50%, transparent 68%);content:"";pointer-events:none;position:absolute;inset:0;transform:translate(-120%)}@media (hover:hover) and (pointer:fine){.vmai-button[data-variant=primary]:hover:not(:disabled):after{animation-name:vmai-button-sheen;animation-duration:var(--duration-fly);animation-timing-function:var(--ease-out);animation-iteration-count:1;animation-fill-mode:forwards}}@keyframes vmai-button-sheen{0%{transform:translate(-120%)}to{transform:translate(120%)}}.vmai-button[data-variant=secondary],.vmai-button[data-variant=ghost]{background-color:var(--color-field);border-color:var(--color-line);color:var(--color-text)}.vmai-button[data-variant=upload]{--_px:var(--space-6);min-block-size:var(--control-height-lg);gap:var(--space-2);border-color:var(--color-accent);border-radius:var(--radius-full);background-color:color-mix(in srgb, var(--color-accent) 12%, var(--color-surface));color:var(--color-accent);font-size:var(--text-md);font-weight:700}.vmai-button[data-variant=upload] .vmai-button__icon{transition-property:transform;transition-duration:var(--duration-pop);transition-timing-function:var(--ease-spring)}.vmai-button[data-variant=text]{--_px:var(--space-2);color:var(--color-accent);background-color:#0000;border-color:#0000}.vmai-button[data-variant=text][data-size]{--_px:var(--space-3)}.vmai-button[data-variant=danger]{--_shadow:inset 0 var(--border-width) 0 color-mix(in srgb, var(--color-on-scrim) 14%, transparent);background-color:var(--color-danger);border-color:var(--color-danger);color:var(--color-on-danger)}@media (hover:hover) and (pointer:fine){.vmai-button:hover:not(:disabled){--_y:calc(var(--space-1) * -.25)}.vmai-button:hover:not(:disabled) .vmai-button__icon--trail{transform:translateX(calc(var(--space-1) / 2))}.vmai-button[data-variant=primary]:hover:not(:disabled){--_y:calc(var(--space-1) * -.25);--_shadow:inset 0 var(--border-width) 0 color-mix(in srgb, var(--color-on-scrim) 36%, transparent), var(--shadow-btn-glow);background-position:0 0,100%}.vmai-button[data-variant=primary]:hover:not(:disabled) .vmai-button__icon{transform:rotate(18deg)}.vmai-button[data-variant=upload]:hover:not(:disabled){background-color:color-mix(in srgb, var(--color-accent) 22%, var(--color-surface));border-color:var(--color-accent);color:var(--color-accent)}.vmai-button[data-variant=upload]:hover:not(:disabled) .vmai-button__icon{transform:translateY(calc(var(--space-1) * -.75))}.vmai-button[data-variant=danger]:hover:not(:disabled){background-color:color-mix(in srgb, var(--color-danger) 88%, var(--color-text));--_shadow:inset 0 var(--border-width) 0 color-mix(in srgb, var(--color-on-scrim) 18%, transparent), 0 calc(var(--space-1) * 1.5) calc(var(--space-1) * 4) color-mix(in srgb, var(--color-danger) 38%, transparent)}.vmai-button[data-variant=secondary]:hover:not(:disabled),.vmai-button[data-variant=ghost]:hover:not(:disabled){background-color:color-mix(in srgb, var(--color-accent) 14%, transparent);border-color:var(--color-accent);color:var(--color-accent)}.vmai-button[data-variant=text]:hover:not(:disabled){background-color:color-mix(in srgb, var(--color-accent) 14%, transparent);color:var(--color-accent)}}.vmai-button[data-pressed=true]:not(:disabled){--_y:0;--_s:var(--scale-press)}.vmai-button__icon{inline-size:var(--icon-sm);block-size:var(--icon-sm);opacity:.92;transition-property:transform;transition-duration:var(--duration-pop);transition-timing-function:var(--ease-out);flex:none;justify-content:center;align-items:center;display:inline-flex}.vmai-button__icon--trail{transition:transform var(--duration-press) var(--ease-out)}.vmai-button[data-size=lg] .vmai-button__icon{inline-size:var(--icon-md);block-size:var(--icon-md)}.vmai-button__icon>svg{block-size:100%;inline-size:100%}.vmai-button:disabled{opacity:var(--opacity-disabled);cursor:not-allowed;--_y:0;--_s:1}.vmai-button[data-variant=primary]:disabled{opacity:.62;filter:saturate(.72)}.vmai-button[data-loading=true]:disabled{opacity:1;cursor:progress}.vmai-button__loading{align-items:center;gap:calc(var(--space-1) / 2);flex:none;display:inline-flex}.vmai-button__dot{inline-size:calc(var(--space-1) * 1.25);block-size:calc(var(--space-1) * 1.25);border-radius:var(--radius-full);animation:v-breathe var(--duration-skeleton) var(--ease-in-out) infinite;background-color:currentColor;display:block}.vmai-button__dot:nth-child(2){animation-delay:calc(var(--duration-stagger) * 3)}.vmai-button__dot:nth-child(3){animation-delay:calc(var(--duration-stagger) * 6)}@media (prefers-reduced-motion:reduce){.vmai-button{transition:none}.vmai-button[data-pressed=true]:not(:disabled){--_s:1}.vmai-button[data-variant=primary]:after,.vmai-button[data-variant=primary]:hover:not(:disabled) .vmai-button__icon,.vmai-button[data-variant=upload]:hover:not(:disabled) .vmai-button__icon{animation:none;transform:none}.vmai-button__dot{animation:none}}.vmai-link{min-block-size:var(--hit-min);padding-inline:var(--space-1);border-radius:var(--control-radius-sm);color:var(--color-accent);font-family:var(--font-ui);font-size:var(--text-sm);font-weight:500;line-height:var(--leading-title);text-decoration-line:underline;text-decoration-thickness:var(--border-width);-webkit-text-decoration-color:color-mix(in srgb, currentColor 45%, transparent);text-decoration-color:color-mix(in srgb, currentColor 45%, transparent);text-underline-offset:var(--space-1);cursor:pointer;outline:var(--focus-width) solid transparent;outline-offset:var(--focus-width);-webkit-tap-highlight-color:transparent;transition-property:color,text-decoration-color,text-underline-offset,box-shadow;transition-duration:var(--duration-press);transition-timing-function:var(--ease-out);align-items:center;display:inline-flex}.vmai-link:focus-visible{box-shadow:var(--v-ring)}.vmai-link:active{color:color-mix(in srgb, var(--color-accent) 80%, var(--color-text))}@media (hover:hover) and (pointer:fine){.vmai-link:hover{color:var(--color-text);text-underline-offset:calc(var(--space-1) * 1.25);text-decoration-color:currentColor}}@media (prefers-reduced-motion:reduce){.vmai-link{transition:none}}
