.button{justify-content:center;align-items:center;gap:var(--space-2);font-family:var(--font-family);border-radius:var(--radius-md);white-space:nowrap;transition:background var(--transition-fast), border-color var(--transition-fast), color var(--transition-fast), opacity var(--transition-fast), box-shadow var(--transition-fast), transform var(--transition-fast);border:1px solid #0000;min-height:40px;font-weight:500;display:inline-flex}.button:disabled{opacity:.6;cursor:not-allowed}.button--sm{min-height:34px;padding:0 var(--space-3);font-size:13px}.button--md{min-height:40px;padding:0 var(--space-4);font-size:14px}.button--lg{min-height:46px;padding:0 var(--space-6);font-size:15px}.button--full{width:100%}.button--primary{color:var(--text-primary);-webkit-backdrop-filter:blur(10px)saturate(160%);background:#ffffff1f;border-color:#fff3;box-shadow:inset 0 1px #ffffff4d}.button--primary:hover:not(:disabled){background:#fff3;border-color:#ffffff47;transform:translateY(-1px)}.button--primary:active:not(:disabled){background:#ffffff29;transform:translateY(0)}.button--secondary{color:var(--text-primary);-webkit-backdrop-filter:blur(10px)saturate(160%);background:#ffffff12;border-color:#ffffff29;box-shadow:inset 0 1px #fff3}.button--secondary:hover:not(:disabled){background:#ffffff24;border-color:#ffffff3d;transform:translateY(-1px)}.button--secondary:active:not(:disabled){background:#ffffff1a;transform:translateY(0)}.button--outline{color:var(--text-primary);border-color:var(--border-color-strong);background:0 0}.button--outline:hover:not(:disabled){background:var(--surface-hover)}.button--ghost{color:var(--text-secondary);background:0 0}.button--ghost:hover:not(:disabled){background:var(--surface-hover);color:var(--text-primary)}.button--danger{color:#fff;-webkit-backdrop-filter:blur(10px)saturate(160%);background:#f8717129;border-color:#f8717159;box-shadow:inset 0 1px #ffffff29}.button--danger:hover:not(:disabled){background:#f8717142;border-color:#f8717180;transform:translateY(-1px)}.button--danger:active:not(:disabled){background:#f8717133;transform:translateY(0)}.button__spinner{animation:.8s linear infinite button-spin}@keyframes button-spin{to{transform:rotate(360deg)}}
