.nb-button{font-family:var(--font-family);font-size:var(--btn-font-size,var(--font-size-body-sm));font-weight:var(--btn-font-weight,var(--font-weight-medium));letter-spacing:var(--btn-letter-spacing,var(--letter-spacing-snug));padding:var(--btn-padding,var(--spacing-space-xl) var(--spacing-space-4xl));border-radius:var(--btn-radius,var(--spacing-radius-md));cursor:pointer;transition:opacity var(--btn-transition,var(--motion-duration-normal)), transform var(--btn-transition,var(--motion-duration-normal));border:none;justify-content:center;align-items:center;display:inline-flex}.nb-button:hover{opacity:var(--btn-hover-opacity,var(--motion-opacity-high))}.nb-button:active{transform:scale(var(--btn-active-scale,var(--motion-scale-sm)))}.nb-button--sm{font-size:var(--btn-sm-font-size,var(--font-size-caption));font-weight:var(--btn-sm-font-weight,var(--font-weight-medium));letter-spacing:var(--btn-sm-letter-spacing,var(--letter-spacing-wide));padding:var(--btn-sm-padding,var(--spacing-space-sm) var(--spacing-space-2xl));border-radius:var(--btn-sm-radius,var(--btn-radius,var(--spacing-radius-md)))}.nb-button--lg{font-size:var(--btn-lg-font-size,var(--font-size-body));font-weight:var(--btn-lg-font-weight,var(--font-weight-medium));letter-spacing:var(--btn-lg-letter-spacing,var(--letter-spacing-snug));padding:var(--btn-lg-padding,var(--spacing-space-2xl) var(--spacing-space-6xl));border-radius:var(--btn-lg-radius,var(--btn-radius,var(--spacing-radius-md)))}.nb-button--wide{width:75%}.nb-button--full{width:100%;font-size:var(--btn-full-font-size,var(--font-size-body-sm));font-weight:var(--btn-full-font-weight,var(--font-weight-medium));letter-spacing:var(--btn-full-letter-spacing,var(--letter-spacing-snug));border-radius:var(--btn-full-radius,var(--btn-radius,var(--spacing-radius-md)))}.nb-button--primary{background:var(--color-foreground);color:var(--color-background)}.nb-button--secondary{background:var(--color-surface-elevated);color:var(--color-background)}.nb-button--ghost{color:var(--color-foreground);background:0 0}.nb-button--outline{color:var(--color-foreground);box-shadow:inset 0 0 0 var(--spacing-border-width) var(--color-foreground);background:0 0}.nb-button__label{align-items:center;transition:transform .25s;display:inline-flex;position:relative}.nb-button__icon{opacity:0;pointer-events:none;align-items:center;width:1em;height:1em;margin-right:.35em;transition:opacity .25s,transform .25s;display:inline-flex;position:absolute;right:100%;transform:translate(.5em)}.nb-button--has-icon:hover .nb-button__icon{opacity:1;transform:translate(0)}.nb-button--has-icon:hover .nb-button__label{transform:translate(.65em)}.nb-button__icon svg{width:100%;height:100%}.nb-button:disabled{opacity:var(--motion-opacity-tertiary);cursor:not-allowed;pointer-events:none}.nb-button--loading{pointer-events:none;position:relative}.nb-button--loading .nb-button__content{visibility:hidden}.nb-button__spinner{justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.nb-button__spinner:after{content:"";border:2px solid;border-right-color:#0000;border-radius:50%;width:1.125em;height:1.125em;animation:.6s linear infinite nb-spin}@keyframes nb-spin{to{transform:rotate(360deg)}}
