.vui-btn{--vui-btn-h:var(--vui-control-h-md);--vui-btn-pad-x:var(--vui-space-5);--vui-btn-radius:var(--vui-radius-action,var(--vui-radius-md));justify-content:center;align-items:center;gap:var(--vui-space-2);min-height:var(--vui-btn-h);padding:0 var(--vui-btn-pad-x);border-radius:var(--vui-btn-radius);font-weight:var(--vui-weight-semibold);line-height:var(--vui-leading-none);white-space:nowrap;cursor:pointer;transition:background-color var(--vui-duration-fast) var(--vui-ease-out), border-color var(--vui-duration-fast) var(--vui-ease-out), color var(--vui-duration-fast) var(--vui-ease-out), box-shadow var(--vui-duration-base) var(--vui-ease-out), transform var(--vui-duration-base) var(--vui-ease-spring);border:1px solid #0000;text-decoration:none;display:inline-flex;position:relative}.vui-btn[hidden]{display:none}.vui-btn:active{transition-duration:0s;transform:scale(.98)}.vui-btn--sm{--vui-btn-h:var(--vui-control-h-sm);--vui-btn-pad-x:var(--vui-space-4);font-size:var(--vui-text-caption)}.vui-btn--md{--vui-btn-h:var(--vui-control-h-md);--vui-btn-pad-x:var(--vui-space-5);font-size:var(--vui-text-small)}.vui-btn--lg{--vui-btn-h:var(--vui-control-h-lg);--vui-btn-pad-x:var(--vui-space-6);font-size:var(--vui-text-body)}.vui-btn--full{width:100%}.vui-btn--secondary{background:var(--vui-surface-elevated);border-color:var(--vui-border-strong);color:var(--vui-text-primary)}.vui-btn--secondary:hover{background:oklch(from var(--vui-surface-elevated) calc(l + .02) c h)}.vui-btn--filled{background:var(--vui-surface-elevated);color:var(--vui-text-primary);transition:border-color var(--vui-duration-fast) var(--vui-ease-out), background-color var(--vui-duration-fast) var(--vui-ease-out);border-color:#0000}.vui-btn--filled:hover{border-color:var(--vui-card-state-edge,color-mix(in oklab, var(--vui-text-primary) 40%, var(--vui-surface-elevated)));background:color-mix(in oklch, var(--vui-surface-elevated), var(--vui-text-primary) var(--vui-card-state-deepen,0%))}.vui-btn--ghost{color:var(--vui-text-secondary);background:0 0}.vui-btn--ghost:hover{background:var(--vui-alpha-hover);color:var(--vui-text-primary)}.vui-btn--danger.vui-btn--secondary:hover,.vui-btn--danger.vui-btn--filled:hover,.vui-btn--danger.vui-btn--ghost:hover{color:var(--vui-danger-fg)}.vui-btn--elev-sm{--vui-btn-elev:var(--vui-shadow-xs);box-shadow:var(--vui-btn-elev)}.vui-btn--elev-sm:hover{--vui-btn-elev:var(--vui-shadow-xs-hover)}.vui-btn--elev-md{--vui-btn-elev:var(--vui-shadow-md);box-shadow:var(--vui-btn-elev)}.vui-btn--primary{background:var(--vui-btn-primary-fill);color:var(--vui-accent-contrast);box-shadow:var(--vui-btn-elev,var(--vui-btn-primary-cast))}.vui-btn--primary:hover{--vui-btn-elev:var(--vui-btn-primary-cast-hover);background:var(--vui-btn-primary-fill-hover)}.vui-btn--inverted{background:var(--vui-text-primary);color:var(--vui-surface-page)}.vui-btn--inverted:hover{background:color-mix(in oklab, var(--vui-text-primary) 86%, var(--vui-surface-page))}.vui-btn__icon{display:inline-flex}.vui-btn__icon svg{width:1.15em;max-width:none;height:1.15em;transition:transform var(--vui-duration-fast) var(--vui-ease-out)}.vui-btn:not(.vui-btn--icon):not(.vui-btn--collapse):hover .vui-btn__icon:last-child svg{transform:translate(2px)}.vui-btn--icon{width:var(--vui-btn-h);aspect-ratio:1;padding:0}.vui-btn--icon .vui-btn__label{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.vui-btn:disabled,.vui-btn[aria-disabled=true]{opacity:.45;pointer-events:none}.vui-btn.is-loading{cursor:progress}.vui-btn.is-loading .vui-btn__label,.vui-btn.is-loading .vui-btn__icon{opacity:0}.vui-btn__spinner{justify-content:center;align-items:center;display:inline-flex;position:absolute;inset:0}.vui-btn--collapse .vui-btn__icon{display:none}@media (max-width:639.98px){.vui-btn--collapse{width:var(--vui-btn-h);aspect-ratio:1;padding:0}.vui-btn--collapse .vui-btn__icon{display:inline-flex}.vui-btn--collapse .vui-btn__icon svg{width:calc(var(--vui-btn-h) / 2);height:calc(var(--vui-btn-h) / 2)}.vui-btn--collapse .vui-btn__label{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}}@media print{.vui-btn:not([data-print=keep]){display:none}}@media (pointer:coarse){.vui-btn:after{content:"";inset-inline:0;height:max(100%, var(--vui-tap-min));position:absolute;top:50%;translate:0 -50%}}
