.button{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-4);min-height:44px;height:44px;padding:var(--space-2) var(--space-4);border-radius:var(--radius-base);font-weight:var(--font-weight-semibold);font-size:var(--font-size-md);letter-spacing:.02em;line-height:var(--line-height-md);cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;white-space:nowrap;text-decoration:none;box-shadow:var(--shadow-button);border:var(--stroke-sm) solid transparent;transition:background-color var(--motion-fast) var(--easing-standard),border-color var(--motion-fast) var(--easing-standard),box-shadow var(--motion-fast) var(--easing-standard),opacity var(--motion-fast) var(--easing-standard)}.button.is-disabled{opacity:.6;cursor:default;pointer-events:none;box-shadow:none;transform:none}.button.is-full-width{width:100%}.button-sm{padding:0 var(--space-4)}.button-lg,.button-sm{min-height:44px;height:44px}.button-lg{padding:0 var(--space-5)}.button-primary{background-color:var(--primary);color:var(--primary-foreground);border-color:transparent}.button-primary:focus-visible,.button-primary:hover{background-color:var(--primary-hover)}.button-primary:active{background-color:var(--primary-active)}.button-secondary{background-color:var(--secondary);color:var(--secondary-foreground);border-color:transparent}.button-secondary:focus-visible,.button-secondary:hover{background-color:var(--secondary-hover);color:var(--secondary-foreground)}.button-secondary:active{background-color:var(--secondary-active);color:var(--secondary-foreground)}.button-accent{background-color:var(--accent);color:var(--accent-foreground);border-color:transparent}.button-accent:focus-visible,.button-accent:hover{background-color:var(--accent-hover);color:var(--accent-foreground)}.button-accent:active{background-color:var(--accent-active);color:var(--accent-foreground)}.button-muted{background-color:var(--muted);color:var(--muted-foreground);border-color:var(--muted-foreground)}.button-muted:focus-visible,.button-muted:hover{background-color:var(--muted-hover);color:var(--muted-foreground)}.button-muted:active{background-color:var(--muted-active);color:var(--muted-foreground)}.button-outlined{background-color:transparent;color:var(--secondary);border-color:var(--secondary)}.button-outlined:focus-visible,.button-outlined:hover{background-color:transparent;border-color:var(--secondary-hover);color:var(--secondary-hover)}.button-outlined:active{background-color:transparent;border-color:var(--secondary-active);color:var(--secondary-active)}.button-outline-secondary{background-color:transparent;color:var(--secondary);border-color:var(--secondary)}.button-outline-secondary:focus-visible,.button-outline-secondary:hover{background-color:transparent;border-color:var(--secondary-hover);color:var(--secondary-hover)}.button-outline-secondary:active{background-color:transparent;border-color:var(--secondary-active);color:var(--secondary-active)}.button-outline-primary,.button-outlined-primary{background-color:transparent;color:var(--primary);border-color:var(--primary)}.button-outline-primary:focus-visible,.button-outline-primary:hover,.button-outlined-primary:focus-visible,.button-outlined-primary:hover{background-color:transparent;border-color:var(--primary-hover);color:var(--primary-hover)}.button-outline-primary:active,.button-outlined-primary:active{background-color:transparent;border-color:var(--primary-active);color:var(--primary-active)}.button-ghost{background-color:transparent;color:var(--accent-foreground);border-color:transparent;box-shadow:none}.button-ghost:focus-visible,.button-ghost:hover{background-color:var(--accent-hover);color:var(--accent-foreground)}.button-ghost:active{background-color:var(--accent-active);color:var(--accent-foreground)}.button .button-icon,.button .button-icon>svg,.button .button-label,.button:active .button-icon,.button:active .button-icon>svg,.button:active .button-label,.button:focus-visible .button-icon,.button:focus-visible .button-icon>svg,.button:focus-visible .button-label,.button:hover .button-icon,.button:hover .button-icon>svg,.button:hover .button-label{color:inherit;fill:currentColor}.button-icon{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.button-icon>svg{width:20px;height:20px;display:block}.button-sm .button-icon>svg{width:18px;height:18px}.button-lg .button-icon>svg{width:24px;height:24px}.button-label{display:inline-block}@media (max-width:639px){.button{width:100%}}