.base-button[data-v-e438c30a]{align-items:center;border:2px solid transparent;border-radius:var(--radius-full);cursor:pointer;display:inline-flex;font-family:var(--font-body);font-weight:var(--weight-semibold);gap:var(--space-2);justify-content:center;line-height:1;position:relative;text-decoration:none;transition:background-color var(--transition-fast),color var(--transition-fast),border-color var(--transition-fast),box-shadow var(--transition-fast);white-space:nowrap}.base-button[data-v-e438c30a]:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.base-button--sm[data-v-e438c30a]{font-size:var(--text-sm);padding:var(--space-2) var(--space-4)}.base-button--md[data-v-e438c30a]{font-size:var(--text-base);padding:var(--space-3) var(--space-6)}.base-button--lg[data-v-e438c30a]{font-size:var(--text-lg);padding:var(--space-4) var(--space-8)}.base-button--primary[data-v-e438c30a]{background-color:var(--color-primary);border-color:var(--color-primary);color:var(--color-text-on-primary)}.base-button--primary[data-v-e438c30a]:hover:not(.base-button--disabled):not(.base-button--loading){background-color:var(--color-primary-dark);border-color:var(--color-primary-dark);box-shadow:var(--shadow-md)}.base-button--secondary[data-v-e438c30a]{background-color:var(--color-secondary-50,var(--color-bg-alt));border-color:var(--color-secondary-50,var(--color-bg-alt));color:var(--color-text)}.base-button--secondary[data-v-e438c30a]:hover:not(.base-button--disabled):not(.base-button--loading){background-color:var(--color-secondary-100,var(--color-border-light));box-shadow:var(--shadow-md)}.base-button--outline[data-v-e438c30a]{background-color:transparent;border-color:var(--color-primary);color:var(--color-primary)}.base-button--outline[data-v-e438c30a]:hover:not(.base-button--disabled):not(.base-button--loading){background-color:var(--color-primary-50,rgba(0,0,0,.05));border-color:var(--color-primary-dark);color:var(--color-primary-dark)}.base-button--ghost[data-v-e438c30a]{background-color:transparent;border-color:transparent;color:var(--color-primary)}.base-button--ghost[data-v-e438c30a]:hover:not(.base-button--disabled):not(.base-button--loading){background-color:var(--color-primary-50,rgba(0,0,0,.05));color:var(--color-primary-dark)}.base-button--danger[data-v-e438c30a]{background-color:var(--color-error);border-color:var(--color-error);color:var(--color-white)}.base-button--danger[data-v-e438c30a]:hover:not(.base-button--disabled):not(.base-button--loading){background-color:#a8483b;border-color:#a8483b;box-shadow:var(--shadow-md)}.base-button--danger[data-v-e438c30a]:focus-visible{outline-color:var(--color-error)}.base-button--full-width[data-v-e438c30a]{width:100%}.base-button--disabled[data-v-e438c30a]{cursor:not-allowed;opacity:.5;pointer-events:none}.base-button--loading[data-v-e438c30a]{cursor:wait;pointer-events:none}.button-spinner[data-v-e438c30a]{align-items:center;display:flex;justify-content:center;position:absolute}.spinner-icon[data-v-e438c30a]{animation:button-spin-e438c30a .8s linear infinite;height:1.2em;width:1.2em}.button-content[data-v-e438c30a]{align-items:center;display:inline-flex;gap:var(--space-2);transition:opacity var(--transition-fast)}.button-content--hidden[data-v-e438c30a]{opacity:0}@keyframes button-spin-e438c30a{0%{transform:rotate(0)}to{transform:rotate(1turn)}}.scroll-reveal[data-v-ba199365]{opacity:0;transform:translateY(var(--reveal-distance));transition:opacity var(--reveal-duration) cubic-bezier(.16,1,.3,1) var(--reveal-delay),transform var(--reveal-duration) cubic-bezier(.16,1,.3,1) var(--reveal-delay);will-change:opacity,transform}.scroll-reveal.is-visible[data-v-ba199365]{opacity:1;transform:translate(0)}
