.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--btn-gap,var(--spacing-2,.5rem));font-family:var(
    --btn-font-family,var(--a11y-font-sans,var(--font-family-sans,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif))
  );font-weight:var(--btn-font-weight,var(--font-weight-medium,500));line-height:var(--line-height-normal,1.5);border:var(--btn-border-width,1px) solid transparent;border-radius:var(--btn-radius,var(--a11y-radius,.375rem));cursor:pointer;transition:all var(--motion-duration-normal,.2s) var(--motion-easing-ease-out,cubic-bezier(0,0,.2,1));text-decoration:none;white-space:nowrap}@media (prefers-reduced-motion:reduce){.btn{transition:none}}.btn:focus-visible{outline:var(--a11y-focus-width,2px) solid var(--btn-focus-color,var(--a11y-color-focus,var(--color-border-focus,#0ea5e9)));outline-offset:var(--a11y-focus-offset,2px)}.btn:focus:not(:focus-visible){outline:none}@media (prefers-contrast:high){.btn{border-width:2px}.btn:focus-visible{outline-width:3px}}.btn:disabled:not(.btn--loading),.btn[aria-disabled=true]:not(.btn--loading){cursor:not-allowed;pointer-events:none;opacity:1}.btn--primary:disabled:not(.btn--loading),.btn--primary[aria-disabled=true]:not(.btn--loading){background-color:var(--color-neutral-300,#d4d4d4);color:var(--color-neutral-500,#737373)}.btn--secondary:disabled:not(.btn--loading),.btn--secondary[aria-disabled=true]:not(.btn--loading){background-color:var(--color-neutral-100,#f5f5f5);color:var(--color-neutral-400,#a3a3a3);border-color:var(--color-neutral-200,#e5e5e5)}.btn--ghost:disabled:not(.btn--loading),.btn--ghost[aria-disabled=true]:not(.btn--loading){background-color:transparent;color:var(--color-neutral-400,#a3a3a3)}.btn--danger:disabled:not(.btn--loading),.btn--danger[aria-disabled=true]:not(.btn--loading){background-color:var(--color-neutral-300,#d4d4d4);color:var(--color-neutral-500,#737373)}.btn--sm{padding:var(--spacing-2,.5rem) var(--spacing-3,.75rem);font-size:var(--font-size-sm,.875rem)}.btn--md{padding:var(--spacing-3,.75rem) var(--spacing-4,1rem);font-size:var(--font-size-base,1rem)}.btn--lg{padding:var(--spacing-4,1rem) var(--spacing-6,1.5rem);font-size:var(--font-size-lg,1.125rem)}.btn--primary{background-color:var(--btn-primary-bg,var(--a11y-color-primary,var(--color-primary-700,#0369a1)));color:var(--btn-primary-fg,var(--a11y-color-primary-fg,var(--color-white,#ffffff)))}.btn--primary:hover:not(:disabled){background-color:var(--btn-primary-hover-bg,var(--a11y-color-primary-hover,var(--color-primary-800,#075985)))}.btn--primary:active:not(:disabled){background-color:var(--btn-primary-active-bg,var(--a11y-color-primary-active,var(--color-primary-900,#0c4a6e)))}.btn--secondary{background-color:var(--btn-secondary-bg,var(--a11y-color-surface,var(--color-neutral-100,#f5f5f5)));color:var(--btn-secondary-fg,var(--a11y-color-text,var(--color-secondary-text-inverse,#525252)));border-color:var(--btn-secondary-border,var(--a11y-color-border,var(--color-border-default,#767676)))}.btn--secondary:hover:not(:disabled){background-color:var(--btn-secondary-hover-bg,var(--a11y-color-surface-hover,var(--color-neutral-200,#e5e5e5)))}.btn--secondary:active:not(:disabled){background-color:var(--btn-secondary-active-bg,var(--color-neutral-300,#d4d4d4))}.btn--ghost{background-color:transparent;color:var(--btn-ghost-fg,var(--a11y-color-text,var(--color-text-primary,#171717)))}.btn--ghost:hover:not(:disabled){background-color:var(--btn-ghost-hover-bg,var(--a11y-color-surface-hover,var(--color-neutral-100,#f5f5f5)));color:var(--btn-ghost-hover-fg,var(--a11y-color-text,var(--color-text-primary-gray,#171717)))}.btn--ghost:active:not(:disabled){background-color:var(--btn-ghost-active-bg,var(--color-neutral-200,#e5e5e5))}.btn--danger{background-color:var(--btn-danger-bg,var(--a11y-color-error,var(--color-error-600,#dc2626)));color:var(--btn-danger-fg,var(--color-white,#ffffff))}.btn--danger:hover:not(:disabled){background-color:var(--btn-danger-hover-bg,var(--color-error-700,#b91c1c))}.btn--danger:active:not(:disabled){background-color:var(--btn-danger-active-bg,var(--color-error-700,#b91c1c))}.btn--loading{position:relative;cursor:wait;pointer-events:none}.btn--loading .btn__content{color:transparent}.btn--loading.btn--primary{background-color:var(--color-primary-600,#0284c7)}.btn--loading.btn--ghost,.btn--loading.btn--secondary{background-color:var(--color-neutral-50,#fafafa)}.btn--loading.btn--danger{background-color:var(--color-error-500,#ef4444)}.btn__spinner{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:inline-flex;align-items:center;justify-content:center;pointer-events:none}.btn--danger .btn__spinner,.btn--primary .btn__spinner{color:var(--color-text-inverse,#ffffff)}.btn--ghost .btn__spinner,.btn--secondary .btn__spinner{color:var(--color-text-primary,#171717)}.btn__spinner-icon{width:1em;height:1em;color:inherit;animation:btn-spin .8s linear infinite}.btn__spinner-circle{opacity:1;stroke-width:2.5;animation:btn-spinner-dash 1.5s ease-in-out infinite}@keyframes btn-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@keyframes btn-spinner-dash{0%{stroke-dasharray:1,31.416;stroke-dashoffset:0}50%{stroke-dasharray:18.85,31.416;stroke-dashoffset:-9.425}to{stroke-dasharray:1,31.416;stroke-dashoffset:-31.416}}@media (prefers-reduced-motion:reduce){.btn__spinner-circle,.btn__spinner-icon{animation:none}.btn__spinner-circle{stroke-dasharray:31.416;stroke-dashoffset:0;opacity:.5}}.btn__content{display:inline-flex;align-items:center;gap:inherit}