:export{surfacePrimary:var(--surface-primary);surfaceSecondary:var(--surface-secondary);surfaceInteractive:var(--surface-interactive)}.button{display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-sm);white-space:nowrap;border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);transition:all .15s ease-in-out;border:var(--border-width-thin) solid rgba(0,0,0,0);cursor:pointer;text-decoration:none}.button:focus-visible{outline:var(--border-width-thick) solid hsl(var(--ring));outline-offset:var(--border-width-thick);box-shadow:0 0 0 2px hsl(var(--ring)/.2)}.button:disabled,.button[aria-disabled=true]{pointer-events:none;opacity:.5;cursor:not-allowed;transform:none!important;box-shadow:none!important}.button svg{pointer-events:none;width:var(--spacing-md);height:var(--spacing-md);flex-shrink:0}.button--default{background-color:hsl(var(--primary));color:hsl(var(--primary-foreground));box-shadow:var(--shadow-sm)}.button--default:hover:not(:disabled){background-color:hsl(var(--primary)/.9);transform:translateY(-1px);box-shadow:0 4px 8px rgba(0,0,0,.1)}.button--destructive{background-color:hsl(var(--destructive));color:hsl(var(--destructive-foreground));box-shadow:var(--shadow-sm)}.button--destructive:hover:not(:disabled){background-color:hsl(var(--destructive)/.9);transform:translateY(-1px);box-shadow:0 4px 8px rgba(0,0,0,.1)}.button--outline{border:var(--border-width-thin) solid hsl(var(--surface-interactive));background-color:hsl(var(--background));color:hsl(var(--surface-interactive));box-shadow:var(--shadow-sm)}.button--outline:hover:not(:disabled){background-color:hsl(var(--accent));color:hsl(var(--accent-foreground));transform:translateY(-1px);box-shadow:0 4px 8px rgba(0,0,0,.1)}.button--secondary{background-color:hsl(var(--secondary));color:hsl(var(--secondary-foreground));border:var(--border-width-thin) solid hsl(var(--border-default));box-shadow:var(--shadow-sm)}.button--secondary:hover:not(:disabled){background-color:hsl(var(--secondary)/.7);border-color:hsl(var(--border-interactive)/.5);transform:translateY(-1px);box-shadow:0 4px 8px rgba(0,0,0,.1)}.button--ghost{color:hsl(var(--surface-interactive))}.button--ghost:hover:not(:disabled){background-color:hsl(var(--accent));color:hsl(var(--accent-foreground));transform:translateY(-1px);box-shadow:0 4px 8px rgba(0,0,0,.1)}.button--link{color:hsl(var(--primary));text-decoration:underline;text-underline-offset:4px}.button--link:hover:not(:disabled){text-decoration:underline}.button--default-size{height:var(--spacing-9);padding:var(--spacing-sm) var(--spacing-md)}.button--sm{height:var(--spacing-xl);padding:0 var(--spacing-sm);font-size:var(--font-size-xs)}.button--lg,.button--sm{border-radius:var(--radius-md)}.button--lg{height:var(--spacing-10);padding:0 var(--spacing-xl)}.button--icon{height:var(--spacing-9);width:var(--spacing-9);padding:0}.button--loading{position:relative;opacity:.8;cursor:wait;padding-right:calc(var(--spacing-sm) + 20px)!important}.button--loading:after{content:"";position:absolute;width:16px;height:16px;top:50%;right:var(--spacing-sm);margin-top:-8px;border:var(--border-width-thick) solid;border-radius:50%;border-color:currentColor rgba(0,0,0,0) currentColor currentColor;animation:spin 1s linear infinite}.button--loading.button--sm{padding-right:calc(var(--spacing-sm) + 16px)!important}.button--loading.button--sm:after{width:12px;height:12px;margin-top:-6px;border-width:1.5px;right:var(--spacing-sm)}.button--loading.button--lg{padding-right:calc(var(--spacing-md) + 24px)!important}.button--loading.button--lg:after{width:18px;height:18px;margin-top:-9px;border-width:2.5px;right:var(--spacing-md)}.button--loading.button--icon:after{right:50%;margin-right:-8px}[data-theme=dark] .button:hover:not(:disabled){box-shadow:0 4px 12px rgba(0,0,0,.3)}@media(max-width:640px){.button{min-height:44px;min-width:44px}}@media(prefers-reduced-motion:reduce){.button{transition:none;animation:none}.button:hover:not(:disabled){transform:none}.button--loading:after{animation:none;border-top-color:currentcolor;border:var(--border-width-thick) solid;border-top:var(--border-width-thick) solid rgba(0,0,0,0)}}@media(prefers-contrast:high){.button{border:var(--border-width-thick) solid}.button:hover:not(:disabled){border-width:3px}}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.button-group{display:flex;gap:var(--spacing-sm);flex-wrap:wrap}.button-group--connected{gap:0}.button-group--connected .button{border-radius:0;margin-left:-1px}.button-group--connected .button:first-child{border-top-left-radius:var(--radius-md);border-bottom-left-radius:var(--radius-md);margin-left:0}.button-group--connected .button:last-child{border-top-right-radius:var(--radius-md);border-bottom-right-radius:var(--radius-md)}.button-group--connected .button:only-child{border-radius:var(--radius-md);margin-left:0}.button-group--connected .button:focus-visible{z-index:1}